From 24f42160da7d3894db13f2381f34263e311db978 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Mon, 16 May 2016 18:31:32 +0200 Subject: [PATCH] Refresh ma ancora lettura assi NON funziona se leggo molti assi (vanno letti 1 alla volta?!?) --- MTC_Sim/.vs/MTC_Sim/v14/.suo | Bin 256000 -> 262144 bytes MTC_Sim/CMSCncLib/CNC/CNC.FANUC/CNC.FANUC.vb | 181 ++++++++++++++++++- MTC_Sim/MTC_Sim/AdapterFanuc.cs | 13 +- MTC_Sim/MTC_Sim/AdapterGeneric.cs | 2 +- MTC_Sim/MTC_Sim/Analisi tempi.txt | 14 +- MTC_Sim/MTC_Sim/App.config | 2 +- MTC_Sim/MTC_Sim/CMS_MachineSim.Designer.cs | 45 ++++- MTC_Sim/MTC_Sim/CMS_MachineSim.cs | 9 + MTC_Sim/MTC_Sim/CMS_MachineSim.resx | 18 -- 9 files changed, 243 insertions(+), 41 deletions(-) diff --git a/MTC_Sim/.vs/MTC_Sim/v14/.suo b/MTC_Sim/.vs/MTC_Sim/v14/.suo index 4f0d1c21a8cf4a0128ca14c60b6c445932795568..1783a27f200e74e8dc8d49d17e4e0abf6f5dcd80 100644 GIT binary patch delta 15492 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 diff --git a/MTC_Sim/CMSCncLib/CNC/CNC.FANUC/CNC.FANUC.vb b/MTC_Sim/CMSCncLib/CNC/CNC.FANUC/CNC.FANUC.vb index b2a9f5d..0a2198e 100644 --- a/MTC_Sim/CMSCncLib/CNC/CNC.FANUC/CNC.FANUC.vb +++ b/MTC_Sim/CMSCncLib/CNC/CNC.FANUC/CNC.FANUC.vb @@ -107,7 +107,7 @@ Namespace CNC End Set End Property - Public Sub New(ByRef connectionType As ConnectionType, Optional ByRef szIp As String = "192.168.1.1", _ + Public Sub New(ByRef connectionType As ConnectionType, Optional ByRef szIp As String = "192.168.1.1", Optional ByRef nPortIp As Integer = 8193, Optional ByRef CncScreenHssb As ConnectionType = FANUC.ConnectionType.Ethernet) MyBase.New() _Type = NcType.FANUC @@ -130,11 +130,11 @@ Namespace CNC Me._Descrizione = "NC FANUC" & vbNewLine Select Case _connectionType Case FANUC.ConnectionType.Ethernet - Me._Descrizione = Me._Descrizione & "Connection type: Ethernet" & vbNewLine & _ - "Ip address: " & _szIp & vbNewLine & _ + Me._Descrizione = Me._Descrizione & "Connection type: Ethernet" & vbNewLine & + "Ip address: " & _szIp & vbNewLine & "Port: " & _nPortIp Case FANUC.ConnectionType.Hssb - Me._Descrizione = Me._Descrizione & "Connection type: HSSB" & vbNewLine & _ + Me._Descrizione = Me._Descrizione & "Connection type: HSSB" & vbNewLine & "Hssb node: " & Hssb_node.ToString Case Else Me._Descrizione = Me._Descrizione & "Connection type: " & _connectionType.ToString & " !!!" @@ -405,8 +405,8 @@ Namespace CNC _ManineMagazzino(i) = CInt(cValueB(i)) End If Next - Case MemoryMapping.ToolManager, _ - MemoryMapping.ToolTable, _ + Case MemoryMapping.ToolManager, + MemoryMapping.ToolTable, MemoryMapping.Default Dim cValue(20 - 1) As Byte F_RW_Byte(False, MemType.D, 3040, cValue) @@ -434,8 +434,8 @@ Namespace CNC Select Case Settings.MemoryMapping Case MemoryMapping.ElsManager F_RW_Byte(R, MemType.D, 6792, cVal) - Case MemoryMapping.ToolManager, _ - MemoryMapping.ToolTable, _ + Case MemoryMapping.ToolManager, + MemoryMapping.ToolTable, MemoryMapping.Default F_RW_Byte(R, MemType.D, 3330, cVal) End Select @@ -610,6 +610,167 @@ Namespace CNC Return True End Function + Public Function getAllAxisPos() As Focas1.ODBAXIS + + Dim nPathIdx As Integer + Dim nNumAxisRead As Integer + Dim nReturn As Integer + 'Dim sOdbExAxisName As New Focas1.ODBEXAXISNAME + Dim szAssi() As String = {String.Empty} + 'Dim szAsse As String + + Dim sOdbAxPos As New Focas1.ODBAXIS + + + 'leggo il numero del processo attivo + nPathIdx = GetActivePath() + + 'serie 16 + If Is16Series Then + Dim sbAxis(0) + 'Dim ucAxisName() + Dim ucAssi, nMaxAxis As Byte + + 'leggo il parametro 1010 per sapere quanti assi + F_RW_Param_Integer(R, 0, 1010, 2, sbAxis) + ucAssi = sbAxis(0) + + 'leggo il parametro 9900 per sapere il numero massimo di assi + F_RW_Param_Integer(R, 0, 9900, 2, sbAxis) + nMaxAxis = sbAxis(0) + + 'leggo il 1020 per sapere i nomi degli assi + Dim sByteAxis As Focas1.IODBPSD_3 + focas.cnc_rdparam(nLibHandle(1), 1020, -1, 4 + (1 * nMaxAxis), sByteAxis) + + ReDim szAssi(ucAssi - 1) + For i = 0 To ucAssi - 1 + szAssi(i) = Chr(sByteAxis.cdatas(i)) + Next i + + + 'serie 30 + ElseIf Is30Series Then + + 'leggo num max assi dal cn + nNumAxisRead = Focas1.MAX_AXIS + + + 'Focas1.cnc_rdaxisdata(nLibHandle(nPathIdx), 0, Short * Type, Short num, Short * Len(), ODBAXDT * axdata); + 'nReturn = Focas1.cnc_absolute2(nLibHandle(nPathIdx), -1, 4 + 4 * nNumAxisRead, sOdbAxPos) + + 'nNumAxisRead = 4 + 'nReturn = Focas1.cnc_absolute2(nLibHandle(nPathIdx), 1, 8, sOdbAxPos) + + ' tento con ciclo diindovinare quanto deve essere lunga la struttura di memoria (teoria: 4 + 32*4 byte) + For index = 1 To 128 + nReturn = Focas1.cnc_absolute2(nLibHandle(nPathIdx), -1, index, sOdbAxPos) + If (nReturn = 0) Then + Throw New CmsNcException(String.Format("TROVATO! era {0}", nReturn)) + End If + Next + + + 'nReturn = Focas1.cnc_exaxisname(nLibHandle(nPathIdx), 0, nNumAxisRead, sOdbExAxisName) + If F_CheckRetError_Cnc(nReturn, "cnc_absolute2 RefreshAxisPosition CNC.FANUC.CMS_CncLib") Then + 'Throw New CmsNcException("ERR cnc_absolute2 RefreshAxisPosition CNC.FANUC.CMS_CncLib") + Else + ' 'vettorizzo il risultato dell'interrigazione + ' ReDim szAssi(nNumAxisRead - 1) + ' With sOdbExAxisName + ' If nNumAxisRead >= 1 Then szAssi(1 - 1) = .axname1 + ' If nNumAxisRead >= 2 Then szAssi(2 - 1) = .axname2 + ' If nNumAxisRead >= 3 Then szAssi(3 - 1) = .axname3 + ' If nNumAxisRead >= 4 Then szAssi(4 - 1) = .axname4 + ' If nNumAxisRead >= 5 Then szAssi(5 - 1) = .axname5 + ' If nNumAxisRead >= 6 Then szAssi(6 - 1) = .axname6 + ' If nNumAxisRead >= 7 Then szAssi(7 - 1) = .axname7 + ' If nNumAxisRead >= 8 Then szAssi(8 - 1) = .axname8 + ' If nNumAxisRead >= 9 Then szAssi(9 - 1) = .axname9 + ' If nNumAxisRead >= 10 Then szAssi(10 - 1) = .axname10 + ' If nNumAxisRead >= 11 Then szAssi(11 - 1) = .axname11 + ' If nNumAxisRead >= 12 Then szAssi(12 - 1) = .axname12 + ' If nNumAxisRead >= 13 Then szAssi(13 - 1) = .axname13 + ' If nNumAxisRead >= 14 Then szAssi(14 - 1) = .axname14 + ' If nNumAxisRead >= 15 Then szAssi(15 - 1) = .axname15 + ' If nNumAxisRead >= 16 Then szAssi(16 - 1) = .axname16 + ' If nNumAxisRead >= 17 Then szAssi(17 - 1) = .axname17 + ' If nNumAxisRead >= 18 Then szAssi(18 - 1) = .axname18 + ' If nNumAxisRead >= 19 Then szAssi(19 - 1) = .axname19 + ' If nNumAxisRead >= 20 Then szAssi(20 - 1) = .axname20 + ' If nNumAxisRead >= 21 Then szAssi(21 - 1) = .axname21 + ' If nNumAxisRead >= 22 Then szAssi(22 - 1) = .axname22 + ' If nNumAxisRead >= 23 Then szAssi(23 - 1) = .axname23 + ' If nNumAxisRead >= 24 Then szAssi(24 - 1) = .axname24 + ' If nNumAxisRead >= 25 Then szAssi(25 - 1) = .axname25 + ' If nNumAxisRead >= 26 Then szAssi(26 - 1) = .axname26 + ' If nNumAxisRead >= 27 Then szAssi(27 - 1) = .axname27 + ' If nNumAxisRead >= 28 Then szAssi(28 - 1) = .axname28 + ' If nNumAxisRead >= 29 Then szAssi(29 - 1) = .axname29 + ' If nNumAxisRead >= 30 Then szAssi(30 - 1) = .axname30 + ' If nNumAxisRead >= 31 Then szAssi(31 - 1) = .axname31 + ' If nNumAxisRead >= 32 Then szAssi(32 - 1) = .axname32 + ' End With + + ''leggo il parametro con l'ordine degli assi e riordono gli assi + 'Static bParameterReaded As Boolean + 'Static bParameterUsed As Boolean + 'Static nValue(nNumAxisRead - 1) As Integer + 'Try + ' Dim oValue(0) As Object + ' If Not bParameterReaded Then 'leggo solo una volta il parametro + ' bParameterReaded = True + ' For a = 0 To nNumAxisRead - 1 + ' F_RW_Param_Integer(R, a + 1, 3130, 1, oValue) + ' nValue(a) = oValue(0) + ' If nValue(a) <> 0 Then bParameterUsed = True 'se almeno un valore รจ diverso da 0 + ' Next + ' End If + + ' If bParameterUsed Then + ' Dim szAssi_Copy(szAssi.Length - 1) As String + ' Array.Copy(szAssi, szAssi_Copy, szAssi.Length) + ' Array.Clear(szAssi, 0, szAssi.Length) + ' For i = 0 To nNumAxisRead - 1 + ' If nValue(i) > 0 Then + ' szAssi(nValue(i) - 1) = szAssi_Copy(i) + ' End If + ' Next + ' End If + 'Catch ex As Exception + ' Debug.Print("RefreshAxisName: Error on reading Fanuc parameter 3130 dor Axis Order") + ' bParameterReaded = True + ' bParameterUsed = False + 'End Try + + + + ''pulisco le stringhe dei nomi assi letti + 'Dim j As Integer + 'For i = 0 To nNumAxisRead - 1 + ' For j = 1 To Len(szAssi(i)) + ' If Asc(Mid(szAssi(i), j, 1)) = 0 Or Asc(Mid(szAssi(i), j, 1)) = 12 Then Exit For + ' Next j + ' szAssi(i) = Mid(szAssi(i), 1, j - 1) + 'Next i + End If + End If + + ''scrivo i nomi assi sui pulsanti + 'For i = 0 To 11 + ' If szAssi.Length > i Then + ' szAsse = szAssi(i) + ' Else + ' szAsse = String.Empty + ' End If + ' If OpPanel_ref.NCPanel.OpPanelButtons(i + 33).Text <> szAsse Then OpPanel_ref.NCPanel.OpPanelButtons(i + 33).Text = szAsse + 'Next + + Return sOdbAxPos + + End Function + + ''' ''' Legge o scrive Byte da MEMORIE PLC ''' @@ -1541,7 +1702,9 @@ Namespace CNC End Select 'Stampo il messaggio - If Config.Settings.Settings.Debug > 0 Then + 'If Config.Settings.Settings.Debug > 0 Then + ' impostato a true x mostrare errore + If False Then 'If nReturn <> Focas1.EW_SOCKET Then 'tranne su errore di connessione 'CMSCncLib.App.Runtime.Log.WW("ERR pmc_wrpmcrng on F_RW_DWord CNC.FANUC", "Return=" & nReturn, True) MsgBox(szErrorDesc & vbLf & "Occurred in: " & Position, MsgBoxStyle.Exclamation + MsgBoxStyle.ApplicationModal, "Error on Fanuc CNC Data Window") diff --git a/MTC_Sim/MTC_Sim/AdapterFanuc.cs b/MTC_Sim/MTC_Sim/AdapterFanuc.cs index 59895a7..487d8cc 100644 --- a/MTC_Sim/MTC_Sim/AdapterFanuc.cs +++ b/MTC_Sim/MTC_Sim/AdapterFanuc.cs @@ -592,7 +592,18 @@ namespace MTC_Sim public override void getAxis() { - base.getAxis(); + string answ = ""; + //// Area di memoria x test... 84 byte (20 assi + intestazione) + //byte[] MemBlockTestData = new byte[84]; + + CMSCncLib.Focas1.ODBAXIS posAssi = FANUC_ref.getAllAxisPos(); + + string outMess = ""; + outMess += string.Format("AX1:{0:N3}{1}", (decimal)(posAssi.data[0]) / 1000, Environment.NewLine); + outMess += string.Format("AX2:{0:N3}{1}", (decimal)(posAssi.data[1]) / 1000, Environment.NewLine); + outMess += string.Format("AX3:{0:N3}{1}", (decimal)(posAssi.data[2]) / 1000, Environment.NewLine); + outMess += string.Format("AX4:{0:N3}{1}", (decimal)(posAssi.data[3]) / 1000, Environment.NewLine); + parentForm.showMessage(posAssi.data[0].ToString()); } } diff --git a/MTC_Sim/MTC_Sim/AdapterGeneric.cs b/MTC_Sim/MTC_Sim/AdapterGeneric.cs index c35a941..65e69ca 100644 --- a/MTC_Sim/MTC_Sim/AdapterGeneric.cs +++ b/MTC_Sim/MTC_Sim/AdapterGeneric.cs @@ -851,7 +851,6 @@ namespace MTC_Sim mAdapter.AddDataItem(vettPath[i].mPathAlarmCNC); mAdapter.AddDataItem(vettPath[i].mPathAlarmPLC); // altre aggiunte - } // UnOp vettUnOp = new UnOp[adpConf.nUnOp]; @@ -1066,6 +1065,7 @@ namespace MTC_Sim processStatus(); // processing degli strobes processStrobe(); + } else if (ciclo == gatherCycle.MF) { diff --git a/MTC_Sim/MTC_Sim/Analisi tempi.txt b/MTC_Sim/MTC_Sim/Analisi tempi.txt index 02c46d1..f4f7421 100644 --- a/MTC_Sim/MTC_Sim/Analisi tempi.txt +++ b/MTC_Sim/MTC_Sim/Analisi tempi.txt @@ -35,7 +35,19 @@ ---------------------------------------------------------------- - ciclo 5ms ---------------------------------------------------------------- - +---------------------------------------------------------------- +- ANALISI TEMPI MTConnect | IN MACCHINA +---------------------------------------------------------------- +--------------- START TIMING DATA --------------- +2016-05-16 18:08:32.4414 INFO Chiamate R128-STRB_DW0: effettuate 20, tempo medio 31,54 msec +2016-05-16 18:08:32.4414 INFO Chiamate R32-STROBES: effettuate 5400, tempo medio 7,63 msec +2016-05-16 18:08:32.4414 INFO Chiamate R4-STRB_DW0: effettuate 58, tempo medio 1,61 msec +2016-05-16 18:08:32.4544 INFO Chiamate W4-ACK_DW0: effettuate 86, tempo medio 1,98 msec +2016-05-16 18:08:32.4544 INFO Chiamate R46-STRB_DW1: effettuate 55, tempo medio 11,96 msec +2016-05-16 18:08:32.4544 INFO Chiamate W4-DW1: effettuate 101, tempo medio 2,02 msec +2016-05-16 18:08:32.4544 INFO Chiamate GLOBALI: 5720, periodo: 28,25 minuti.cent, tempo medio 7,51 msec, impegno MEDIO del canale 2,534% +2016-05-16 18:08:32.4734 INFO +--------------- STOP TIMING DATA --------------- ---------------------------------------------------------------- - ANALISI TEMPI MTConnect | SIM diff --git a/MTC_Sim/MTC_Sim/App.config b/MTC_Sim/MTC_Sim/App.config index c59537a..3d17587 100644 --- a/MTC_Sim/MTC_Sim/App.config +++ b/MTC_Sim/MTC_Sim/App.config @@ -7,7 +7,7 @@ - + diff --git a/MTC_Sim/MTC_Sim/CMS_MachineSim.Designer.cs b/MTC_Sim/MTC_Sim/CMS_MachineSim.Designer.cs index 9f6969f..8392a97 100644 --- a/MTC_Sim/MTC_Sim/CMS_MachineSim.Designer.cs +++ b/MTC_Sim/MTC_Sim/CMS_MachineSim.Designer.cs @@ -57,6 +57,7 @@ this.PlcErr_03 = new System.Windows.Forms.CheckBox(); this.PlcErr_01 = new System.Windows.Forms.CheckBox(); this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.ErrRT_03 = new System.Windows.Forms.CheckBox(); this.ErrRT_02 = new System.Windows.Forms.CheckBox(); this.CncErr_02 = new System.Windows.Forms.CheckBox(); this.CncErr_03 = new System.Windows.Forms.CheckBox(); @@ -208,7 +209,8 @@ this.lblCodaM = new System.Windows.Forms.Label(); this.addCodM = new System.Windows.Forms.TextBox(); this.label20 = new System.Windows.Forms.Label(); - this.ErrRT_03 = new System.Windows.Forms.CheckBox(); + this.label53 = new System.Windows.Forms.Label(); + this.lblOutMessage = new System.Windows.Forms.Label(); this.groupBox4.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.PosAct)).BeginInit(); this.groupBox3.SuspendLayout(); @@ -489,6 +491,17 @@ this.groupBox3.TabStop = false; this.groupBox3.Text = "Alarms"; // + // ErrRT_03 + // + this.ErrRT_03.AutoSize = true; + this.ErrRT_03.Location = new System.Drawing.Point(268, 66); + this.ErrRT_03.Name = "ErrRT_03"; + this.ErrRT_03.Size = new System.Drawing.Size(67, 17); + this.ErrRT_03.TabIndex = 11; + this.ErrRT_03.Text = "ERR_12"; + this.ErrRT_03.UseVisualStyleBackColor = true; + this.ErrRT_03.CheckedChanged += new System.EventHandler(this.SysErr_01_CheckedChanged); + // // ErrRT_02 // this.ErrRT_02.AutoSize = true; @@ -1249,6 +1262,8 @@ // tpStatus // this.tpStatus.BackColor = System.Drawing.Color.WhiteSmoke; + this.tpStatus.Controls.Add(this.lblOutMessage); + this.tpStatus.Controls.Add(this.label53); this.tpStatus.Controls.Add(this.groupBox6); this.tpStatus.Controls.Add(this.groupBox1); this.tpStatus.Controls.Add(this.groupBox11); @@ -1981,16 +1996,23 @@ this.label20.TabIndex = 52; this.label20.Text = "AddM"; // - // ErrRT_03 + // label53 // - this.ErrRT_03.AutoSize = true; - this.ErrRT_03.Location = new System.Drawing.Point(268, 66); - this.ErrRT_03.Name = "ErrRT_03"; - this.ErrRT_03.Size = new System.Drawing.Size(67, 17); - this.ErrRT_03.TabIndex = 11; - this.ErrRT_03.Text = "ERR_12"; - this.ErrRT_03.UseVisualStyleBackColor = true; - this.ErrRT_03.CheckedChanged += new System.EventHandler(this.SysErr_01_CheckedChanged); + this.label53.AutoSize = true; + this.label53.Location = new System.Drawing.Point(18, 281); + this.label53.Name = "label53"; + this.label53.Size = new System.Drawing.Size(52, 13); + this.label53.TabIndex = 59; + this.label53.Text = "LBL OUT"; + // + // lblOutMessage + // + this.lblOutMessage.AutoSize = true; + this.lblOutMessage.Location = new System.Drawing.Point(95, 281); + this.lblOutMessage.Name = "lblOutMessage"; + this.lblOutMessage.Size = new System.Drawing.Size(16, 13); + this.lblOutMessage.TabIndex = 60; + this.lblOutMessage.Text = "..."; // // CMS_MachineSim // @@ -2025,6 +2047,7 @@ this.menuStrip1.PerformLayout(); this.tabCtrlMain.ResumeLayout(false); this.tpStatus.ResumeLayout(false); + this.tpStatus.PerformLayout(); this.groupBox6.ResumeLayout(false); this.groupBox6.PerformLayout(); this.groupBox1.ResumeLayout(false); @@ -2232,6 +2255,8 @@ private System.Windows.Forms.TextBox STATUS_ACK_DW1; private System.Windows.Forms.Label label50; private System.Windows.Forms.CheckBox ErrRT_03; + private System.Windows.Forms.Label lblOutMessage; + private System.Windows.Forms.Label label53; } } diff --git a/MTC_Sim/MTC_Sim/CMS_MachineSim.cs b/MTC_Sim/MTC_Sim/CMS_MachineSim.cs index ddd2686..e2b58a7 100644 --- a/MTC_Sim/MTC_Sim/CMS_MachineSim.cs +++ b/MTC_Sim/MTC_Sim/CMS_MachineSim.cs @@ -1152,6 +1152,15 @@ namespace MTC_Sim #endregion + /// + /// mostra il messaggio richiesto... + /// + /// + public void showMessage(string messaggio) + { + lblOutMessage.Text = messaggio; + } + private void CMS_MachineSim_FormClosing(object sender, FormClosingEventArgs e) { diff --git a/MTC_Sim/MTC_Sim/CMS_MachineSim.resx b/MTC_Sim/MTC_Sim/CMS_MachineSim.resx index 707fc60..d24e7d7 100644 --- a/MTC_Sim/MTC_Sim/CMS_MachineSim.resx +++ b/MTC_Sim/MTC_Sim/CMS_MachineSim.resx @@ -138,24 +138,6 @@ True - - True - - - True - - - True - - - True - - - True - - - True - 104, 17