COmpletata prima revisione sw x RobotService
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
;Configurazione IOB-WIN
|
||||
[IOB]
|
||||
;Macchina transfer COSMAP per Donati
|
||||
CNCTYPE=SIEMENS_ROBOTSERVICE
|
||||
PING_MS_TIMEOUT=500
|
||||
|
||||
[MACHINE]
|
||||
VENDOR=RobotService
|
||||
MODEL=SMER12
|
||||
|
||||
[CNC]
|
||||
IP=192.168.51.138
|
||||
CPUTYPE=S71500
|
||||
RACK=0
|
||||
SLOT=0
|
||||
|
||||
[SERVER]
|
||||
MPIP=http://192.168.51.79
|
||||
MPURL=/MP/IO
|
||||
CMDBASE=/IOB/input/
|
||||
CMDFLOG=/IOB/flog/
|
||||
CMDALIVE=/IOB
|
||||
CMDENABLED=/IOB/enabled/
|
||||
CMDADV1=?valore=
|
||||
CMDREBO=/sendReboot.aspx?idxMacchina=
|
||||
|
||||
[MEMORY]
|
||||
ADDR_READ=DB15.DBB0
|
||||
ADDR_WRITE=DB14.DBB0
|
||||
SIZE_READ=10
|
||||
SIZE_WRITE=517
|
||||
|
||||
|
||||
[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
|
||||
PZCOUNT_MODE=STD.DB15.DBDW2
|
||||
DISABLE_PZCOUNT=FALSE
|
||||
ENABLE_SEND_PZC_BLOCK=TRUE
|
||||
MIN_SEND_PZC_BLOCK=0
|
||||
MAX_SEND_PZC_BLOCK=100
|
||||
; gestione custom timer
|
||||
timerIntMs=30
|
||||
; GEST DATI DYN
|
||||
ENABLE_DYN_DATA=TRUE
|
||||
FORCE_DYN_DATA=TRUE
|
||||
; gestione scrittura string/char[]: true = string / false = char[]
|
||||
WRITE_PRE=TRUE
|
||||
|
||||
; conf parametri memoria READ/WRITE
|
||||
PARAM_CONF=1033.json
|
||||
|
||||
[BRANCH]
|
||||
NAME=master
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"mMapWrite": {
|
||||
"setComm": {
|
||||
"name": "setComm",
|
||||
"description": "Commessa",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "DB14.DBB0",
|
||||
"index": 0,
|
||||
"size": 50
|
||||
},
|
||||
"setArt": {
|
||||
"name": "setArt",
|
||||
"description": "Articolo",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "DB14.DBB256",
|
||||
"index": 256,
|
||||
"size": 50
|
||||
},
|
||||
"setPzComm": {
|
||||
"name": "setPzComm",
|
||||
"description": "Qty",
|
||||
"memAddr": "DB14.DBB512",
|
||||
"tipoMem": "DInt",
|
||||
"index": 512,
|
||||
"size": 4
|
||||
}
|
||||
},
|
||||
"mMapRead": {
|
||||
"Contatore01": {
|
||||
"name": "PezziFineCiclo",
|
||||
"description": "Mancanti programmati",
|
||||
"memAddr": "DB15.DBB6",
|
||||
"tipoMem": "DInt",
|
||||
"index": 6,
|
||||
"size": 4,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1
|
||||
},
|
||||
"ContatoreParziale": {
|
||||
"name": "ContaPezzi",
|
||||
"description": "Contapezzi MES DBB2",
|
||||
"memAddr": "DB15.DBB2",
|
||||
"tipoMem": "DInt",
|
||||
"index": 2,
|
||||
"size": 4,
|
||||
"func": "MAX",
|
||||
"period": 60,
|
||||
"factor": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -178,6 +178,7 @@
|
||||
<Compile Include="IobOpcUaEwon.cs" />
|
||||
<Compile Include="IobSiemensAt2001.cs" />
|
||||
<Compile Include="IobSiemensComeca.cs" />
|
||||
<Compile Include="IobSiemensRobotService.cs" />
|
||||
<Compile Include="IobSiemensCosmap.cs" />
|
||||
<Compile Include="IobSiemensSimec.cs" />
|
||||
<Compile Include="IobSiemensLasco.cs" />
|
||||
@@ -223,6 +224,12 @@
|
||||
</Compile>
|
||||
<Compile Include="UAClient.cs" />
|
||||
<Compile Include="utils.cs" />
|
||||
<None Include="DATA\CONF\1033.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="DATA\CONF\1033.ini">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="DATA\CONF\IobOpcUaClient.Config.xml">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
|
||||
@@ -76,66 +76,28 @@ namespace IOB_WIN_NEXT
|
||||
* B2: pzCount
|
||||
* B3: allarme
|
||||
* B4: manuale
|
||||
* B5: emergenza (1=attiva/premuta, 0=armed)
|
||||
* B5: MagOutPieno
|
||||
* B6: MagInVuoto
|
||||
*
|
||||
----------------------------------------------------- */
|
||||
|
||||
bool fatto = false;
|
||||
ushort currStatus = 0;
|
||||
ushort allarme = 0;
|
||||
ushort valW = 0;
|
||||
byte mainData = RawInput[0];
|
||||
|
||||
var MemInt = new byte[2];
|
||||
|
||||
// recupero
|
||||
//fatto = S7ReadBB(ref MemInt, "DB6.DBW204", 2);
|
||||
//valW = S7.Net.Types.Word.FromByteArray(MemInt.ToArray());
|
||||
//var testalW = S7.Net.Types.Word.FromByteArray(RawInput.Skip(204).Take(2).ToArray());
|
||||
currStatus = S7.Net.Types.Word.FromByteArray(RawInput.Skip(204).Take(2).ToArray());
|
||||
|
||||
//fatto = S7ReadBB(ref MemInt, "DB6.DBW206", 2);
|
||||
//valW = S7.Net.Types.Word.FromByteArray(MemInt.ToArray());
|
||||
//allarme = valW;
|
||||
allarme = S7.Net.Types.Word.FromByteArray(RawInput.Skip(206).Take(2).ToArray());
|
||||
|
||||
int byteSignals = 0;
|
||||
// copio il primo byte
|
||||
int byteSignals = RawInput[0];
|
||||
// bit 0 (poweron) imposto a 1 SE connected...
|
||||
if (currPLC.IsConnected)
|
||||
{
|
||||
byteSignals += (1 << 0);
|
||||
}
|
||||
|
||||
// processo dagli stati + gravi...
|
||||
if (allarme > 0)
|
||||
{
|
||||
byteSignals += (1 << 3);
|
||||
}
|
||||
|
||||
switch (currStatus)
|
||||
{
|
||||
case 1:
|
||||
byteSignals += (1 << 1);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
byteSignals += (1 << 4);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
byteSignals += (1 << 5);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// salvo!
|
||||
B_input = byteSignals;
|
||||
|
||||
// log opzionale!
|
||||
if (verboseLog)
|
||||
{
|
||||
lgInfo($"Trasformazione dati: Status:{currStatus} | alarm:{allarme} --> B_input: {B_input}");
|
||||
lgInfo($"Trasformazione dati: B0: {mainData} --> B_input: {B_input}");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -216,24 +178,24 @@ namespace IOB_WIN_NEXT
|
||||
break;
|
||||
|
||||
case taskType.forceResetPzCount:
|
||||
// processo scrittura BIT su DB6.DBDW216
|
||||
MemBlock = new byte[4];
|
||||
MemBlock = S7.Net.Types.DInt.ToByteArray(1);
|
||||
memAddrWrite = "DB6.DBDW216";
|
||||
// processo scrittura BIT su DB6.DBB516
|
||||
MemBlock = new byte[1];
|
||||
MemBlock = S7.Net.Types.Byte.ToByteArray(1);
|
||||
memAddrWrite = "DB14.DBB516";
|
||||
break;
|
||||
|
||||
case taskType.startSetup:
|
||||
// processo scrittura BIT su DB6.DBDW216
|
||||
MemBlock = new byte[4];
|
||||
MemBlock = S7.Net.Types.DInt.ToByteArray(1);
|
||||
memAddrWrite = "DB6.DBDW216";
|
||||
// processo scrittura BIT su DB6.DBB516
|
||||
MemBlock = new byte[1];
|
||||
MemBlock = S7.Net.Types.Byte.ToByteArray(1);
|
||||
memAddrWrite = "DB14.DBB516";
|
||||
break;
|
||||
|
||||
case taskType.stopSetup:
|
||||
// processo scrittura BIT su DB6.DBDW216
|
||||
MemBlock = new byte[4];
|
||||
MemBlock = S7.Net.Types.DInt.ToByteArray(0);
|
||||
memAddrWrite = "DB6.DBDW216";
|
||||
// processo scrittura BIT su DB6.DBB516
|
||||
MemBlock = new byte[1];
|
||||
MemBlock = S7.Net.Types.Byte.ToByteArray(0);
|
||||
memAddrWrite = "DB14.DBB516";
|
||||
break;
|
||||
|
||||
case taskType.setParameter:
|
||||
|
||||
Reference in New Issue
Block a user