From 0759cbcda9e017a39d7a69d904ed533c5d2e930f Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Mon, 19 Nov 2018 18:33:07 +0100 Subject: [PATCH] Add conf x avviare OSAI --- CncLib/CNC/CNC.Runtime.vb | 9 ++- CncLib/CNC/CNC/CNC.CNC.vb | 1 + CncLib/Modules/General.vb | 131 +++++++++++++++++++------------------ IOB-WIN/DATA/CONF/MAIN.ini | 10 ++- IOB-WIN/DATA/CONF/OSAI.ini | 57 ++++++++++++++++ IOB-WIN/IOB-WIN.csproj | 3 + IOB-WIN/IobOSAI.cs | 12 +++- 7 files changed, 150 insertions(+), 73 deletions(-) create mode 100644 IOB-WIN/DATA/CONF/OSAI.ini diff --git a/CncLib/CNC/CNC.Runtime.vb b/CncLib/CNC/CNC.Runtime.vb index 506dcd12..d79499ca 100644 --- a/CncLib/CNC/CNC.Runtime.vb +++ b/CncLib/CNC/CNC.Runtime.vb @@ -1,7 +1,7 @@ Namespace CNC - Public Class Runtime - Public Shared NC As CncLib.CNC.CNC + Public Class Runtime + Public Shared NC As CncLib.CNC.CNC Public Shared Sub CreateNC(tipoNC As CNC.NcType, ipTarget As String, ipPort As String) @@ -25,9 +25,12 @@ NC = New FANUC(0, ipFanuc, portIpFanuc, CncScreenHssb) Case NC_OSAI - 'If Config.Settings.Settings.OsaiCommType = 1 Then 'SOAP NC = New OSAI_OPEN(ipTarget) + + Case NC_OSAI_cndex + NC = New OSAI(ipTarget) + Case NC_SIEMENS 'Try ' NC = New SIEMENS diff --git a/CncLib/CNC/CNC/CNC.CNC.vb b/CncLib/CNC/CNC/CNC.CNC.vb index 0a3c5883..0bf1f86e 100644 --- a/CncLib/CNC/CNC/CNC.CNC.vb +++ b/CncLib/CNC/CNC/CNC.CNC.vb @@ -16,6 +16,7 @@ Namespace CNC FANUC = 1 OSAI = 2 SIEMENS = 3 + OSAI_cndex = 4 End Enum Public Enum Memo diff --git a/CncLib/Modules/General.vb b/CncLib/Modules/General.vb index 2cc30ad6..f5a10a83 100644 --- a/CncLib/Modules/General.vb +++ b/CncLib/Modules/General.vb @@ -1,83 +1,84 @@ Module General - Public Const MASK_BIT0 = &H1& - Public Const MASK_BIT1 = &H2& - Public Const MASK_BIT2 = &H4& - Public Const MASK_BIT3 = &H8& - Public Const MASK_BIT4 = &H10& - Public Const MASK_BIT5 = &H20& - Public Const MASK_BIT6 = &H40& - Public Const MASK_BIT7 = &H80& - Public Const MASK_BIT8 = &H100& - Public Const MASK_BIT9 = &H200& - Public Const MASK_BIT10 = &H400& - Public Const MASK_BIT11 = &H800& - Public Const MASK_BIT12 = &H1000& - Public Const MASK_BIT13 = &H2000& - Public Const MASK_BIT14 = &H4000& - Public Const MASK_BIT15 = &H8000& + Public Const MASK_BIT0 = &H1& + Public Const MASK_BIT1 = &H2& + Public Const MASK_BIT2 = &H4& + Public Const MASK_BIT3 = &H8& + Public Const MASK_BIT4 = &H10& + Public Const MASK_BIT5 = &H20& + Public Const MASK_BIT6 = &H40& + Public Const MASK_BIT7 = &H80& + Public Const MASK_BIT8 = &H100& + Public Const MASK_BIT9 = &H200& + Public Const MASK_BIT10 = &H400& + Public Const MASK_BIT11 = &H800& + Public Const MASK_BIT12 = &H1000& + Public Const MASK_BIT13 = &H2000& + Public Const MASK_BIT14 = &H4000& + Public Const MASK_BIT15 = &H8000& - Public Const LOW_ORDER = 0 - Public Const HIGH_ORDER = 1 + Public Const LOW_ORDER = 0 + Public Const HIGH_ORDER = 1 - 'Costanti globali - Public Const NC_DEMO = 0 - Public Const NC_FANUC = 1 - Public Const NC_OSAI = 2 - Public Const NC_SIEMENS = 3 + 'Costanti globali + Public Const NC_DEMO = 0 + Public Const NC_FANUC = 1 + Public Const NC_OSAI = 2 + Public Const NC_SIEMENS = 3 + Public Const NC_OSAI_cndex = 4 - Public Const HSSB_DEFAULT_NODE = 0 + Public Const HSSB_DEFAULT_NODE = 0 - Public Const MEM_BOOL = 1 - Public Const MEM_BYTE = 2 - Public Const MEM_WORD = 3 - Public Const MEM_INT = 4 - Public Const MEM_DWORD = 5 - Public Const MEM_DINT = 6 - Public Const MEM_SINGLE = 7 - Public Const MEM_DOUBLE = 8 + Public Const MEM_BOOL = 1 + Public Const MEM_BYTE = 2 + Public Const MEM_WORD = 3 + Public Const MEM_INT = 4 + Public Const MEM_DWORD = 5 + Public Const MEM_DINT = 6 + Public Const MEM_SINGLE = 7 + Public Const MEM_DOUBLE = 8 - Public Const MEM_F_R = 5 - Public Const MEM_F_D = 9 + Public Const MEM_F_R = 5 + Public Const MEM_F_D = 9 - Public Const MEM_S_DB = 0 - Public Const MEM_S_M = -1 - Public Const MEM_S_R = -2 - Public Const MEM_S_E = -3 - Public Const MEM_S_A = -4 + Public Const MEM_S_DB = 0 + Public Const MEM_S_M = -1 + Public Const MEM_S_R = -2 + Public Const MEM_S_E = -3 + Public Const MEM_S_A = -4 - 'Variabili globali - 'Public nDebug As Integer - 'Public szLanguage As String - 'Public nTypeNC As Integer + 'Variabili globali + 'Public nDebug As Integer + 'Public szLanguage As String + 'Public nTypeNC As Integer - 'Fanuc - 'Public bHssb As Boolean - Public Hssb_node As Long - 'Public szIpFanuc As String - 'Public nPortIpFanuc As Integer - ''Public nReturn As Integer - 'Public bSerie30 As Boolean - 'Public bMultiProcess As Boolean + 'Fanuc + 'Public bHssb As Boolean + Public Hssb_node As Long + 'Public szIpFanuc As String + 'Public nPortIpFanuc As Integer + ''Public nReturn As Integer + 'Public bSerie30 As Boolean + 'Public bMultiProcess As Boolean - 'Osai - 'Public szNcName As String 'Nome del CN in rete + 'Osai + 'Public szNcName As String 'Nome del CN in rete - Public nTop As Integer - Public nLeft As Integer - Public nHeight As Integer - Public nWidth As Integer + Public nTop As Integer + Public nLeft As Integer + Public nHeight As Integer + Public nWidth As Integer - ''' - ''' Sostituisce il carattere | con un carattere speciale di ritorno a capo - ''' - Public Function ReplaceNewLine(ByVal strWord As String) As String - Dim strModifiedWord As String = strWord + ''' + ''' Sostituisce il carattere | con un carattere speciale di ritorno a capo + ''' + Public Function ReplaceNewLine(ByVal strWord As String) As String + Dim strModifiedWord As String = strWord - strModifiedWord = strModifiedWord.Replace("|", vbNewLine) + strModifiedWord = strModifiedWord.Replace("|", vbNewLine) - Return strModifiedWord - End Function + Return strModifiedWord + End Function End Module diff --git a/IOB-WIN/DATA/CONF/MAIN.ini b/IOB-WIN/DATA/CONF/MAIN.ini index 313045c6..6552c52f 100644 --- a/IOB-WIN/DATA/CONF/MAIN.ini +++ b/IOB-WIN/DATA/CONF/MAIN.ini @@ -10,8 +10,14 @@ MPURL=/MP/IO CMDREBO=/IOB/sendRebootGateway?GWIP= CMDIOB2CALL=/IOB/getIob2call?GWIP= -[IOB] -STARTLIST=4000 +[IOB] +; OSAI +STARTLIST=OSAI +; KAWASAKI +;STARTLIST=4000 + +; SIEMENS TORRI ;STARTLIST=3013 + MAXCNC=4 ;STARTLIST=3001,3002,3003,3004,3005 \ No newline at end of file diff --git a/IOB-WIN/DATA/CONF/OSAI.ini b/IOB-WIN/DATA/CONF/OSAI.ini new file mode 100644 index 00000000..ab87d53e --- /dev/null +++ b/IOB-WIN/DATA/CONF/OSAI.ini @@ -0,0 +1,57 @@ +;Configurazione IOB-WIN +[IOB] +CNCTYPE=KAWASAKI + +[MACHINE] +VENDOR=KAWASAKI +MODEL=E-CONTROLLER + +[CNC] +; TEST OSAI su VirtSAM +IP=192.168.157.2 +;PORT=8193 + +[SERVER] +MPIP=SRV-MAPO +MPURL=/MP/IO +CMDBASE=/IOB/input/ +CMDFLOG=/IOB/flog/ +CMDALIVE=/IOB +CMDENABLED=/IOB/enabled/ +CMDADV1=?valore= +CMDREBO=/sendReboot.aspx?idxMacchina= + +[MEMORY] +BITRED=Y8.4 +BITYELLOW=Y8.5 +BITGREEN=Y8.6 +AREAD_START=0 +AREAD_SIZE=9999 +AREAY_START=0 +AREAY_SIZE=64 + +[BLINK] +;MAX_COUNTER_BLINK = 30 +MAX_COUNTER_BLINK = 15 +;bit0 = 0 +;bit1 = 0 +;bit2 = 1 +;bit3 = 1 +;bit4 = 1 +;bit5 = 0 +;bit6 = 0 +;bit7 = 0 +BLINK_FILT=0 +;BLINK_FILT=28 + +[OPTPAR] +;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice +; attenzione memoria sempre base BYTE (1604 DW --> 6416...) +PZCOUNT_MODE=BIT +PZ_CAD_MADDR=1602 +PZ_REQ_MADDR=1603 +PZ_DONE_MADDR=1604 +PZ_GTOT_MADDR=1605 + +[BRANCH] +NAME=master \ No newline at end of file diff --git a/IOB-WIN/IOB-WIN.csproj b/IOB-WIN/IOB-WIN.csproj index 52a48b49..1d4a5d0f 100644 --- a/IOB-WIN/IOB-WIN.csproj +++ b/IOB-WIN/IOB-WIN.csproj @@ -205,6 +205,9 @@ Always + + Always + Always diff --git a/IOB-WIN/IobOSAI.cs b/IOB-WIN/IobOSAI.cs index bf37f41e..3867da30 100644 --- a/IOB-WIN/IobOSAI.cs +++ b/IOB-WIN/IobOSAI.cs @@ -343,10 +343,10 @@ namespace IOB_WIN // Creo oggetto connessione NC parentForm.commPlcActive = true; - Runtime.CreateNC(CNC.NcType.FANUC, IOBConf.cncIpAddr, IOBConf.cncPort); + Runtime.CreateNC(CNC.NcType.OSAI, IOBConf.cncIpAddr, IOBConf.cncPort); parentForm.commPlcActive = false; - // aggiungo referenza obj FANUC + // aggiungo referenza obj OSAI OSAI_ref = (OSAI)Runtime.NC; if (utils.CRB("verbose")) { @@ -362,6 +362,12 @@ namespace IOB_WIN tryDisconnect(); lgInfo("OSAI: tryConnect"); tryConnect(); + + // provo a leggere la GetNcInfo + CncLib.OPENcontrol.GETINFO1DATA outData = new CncLib.OPENcontrol.GETINFO1DATA(); + bool fatto = OSAI_ref.O_GetNcInfo1(ref outData); + + if (utils.CRB("enableContapezzi")) { lgInfo("OSAI: inizio gestione contapezzi"); @@ -746,7 +752,7 @@ namespace IOB_WIN B_input += 1 << i; } } - } + } } } // log opzionale!