Merge branch 'release/OpcSiemensEmco01'
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
;Configurazione IOB-WIN
|
||||
[IOB]
|
||||
;Centro di lavoro OpcUa
|
||||
CNCTYPE=OpcUaSiemensEMCO
|
||||
CNCTYPE=OpcUaSiemens
|
||||
;CNCTYPE=OpcUa
|
||||
PING_MS_TIMEOUT=500
|
||||
|
||||
@@ -14,7 +14,7 @@ IP=192.168.51.214
|
||||
PORT=4840
|
||||
GETPRGNAME=true
|
||||
|
||||
[SERVER]
|
||||
[SERVER]
|
||||
MPIP=http://192.168.51.77
|
||||
MPURL=/MP/IO
|
||||
CMDBASE=/IOB/input/
|
||||
@@ -65,6 +65,7 @@ ENABLE_DYN_DATA=FALSE
|
||||
FORCE_DYN_DATA=TRUE
|
||||
ENABLE_DATA_FILTER=TRUE
|
||||
ENABLE_CLI_RESTART=TRUE
|
||||
DISABLE_SEND_WDST=TRUE
|
||||
; conf parametri memoria READ/WRITE
|
||||
OPC_PARAM_CONF=2014.json
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
"BrowseFullVal": "ns=2;s=Sinumerik",
|
||||
"BrowseNSIndex": 4,
|
||||
"BrowseValue": 5001,
|
||||
"keyPartCount": "ns=2;s=/Channel/State/actParts",
|
||||
"keyPartCount": "QUANTITA_PRODOTTA",
|
||||
"keyPartReq": "",
|
||||
"keyPartId": "",
|
||||
"keyProgName": "",
|
||||
"keyRunMode": "ns=2;s=/Channel/State/acProg",
|
||||
"keyRunMode": "acProg",
|
||||
"pingAsPowerOn": true,
|
||||
"Identity": {
|
||||
"UserName": "DONATI_1",
|
||||
@@ -14,24 +14,17 @@
|
||||
},
|
||||
"condWork": [
|
||||
{
|
||||
"keyName": "ns=2;s=/Channel/State/acProg",
|
||||
"keyName": "acProg",
|
||||
"targetValue": "2"
|
||||
}
|
||||
],
|
||||
"condPowerOn": {
|
||||
"checkMode": "AND",
|
||||
"checkList": [
|
||||
{
|
||||
"keyName": "ns=2;s=/Channel/State/acProg",
|
||||
"targetValue": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"condReady": {
|
||||
"checkMode": "AND",
|
||||
"checkList": [
|
||||
{
|
||||
"keyName": "ns=2;s=/Channel/State/acProg",
|
||||
"keyName": "acProg",
|
||||
"targetValue": "3"
|
||||
}
|
||||
]
|
||||
@@ -40,7 +33,7 @@
|
||||
"checkMode": "AND",
|
||||
"checkList": [
|
||||
{
|
||||
"keyName": "ns=2;s=/Channel/State/acProg",
|
||||
"keyName": "acProg",
|
||||
"targetValue": "4"
|
||||
}
|
||||
]
|
||||
@@ -49,7 +42,7 @@
|
||||
"checkMode": "AND",
|
||||
"checkList": [
|
||||
{
|
||||
"keyName": "ns=2;s=/Nck/State/aStopesi",
|
||||
"keyName": "aStopesi",
|
||||
"targetValue": "0"
|
||||
}
|
||||
]
|
||||
@@ -58,7 +51,7 @@
|
||||
"checkMode": "AND",
|
||||
"checkList": [
|
||||
{
|
||||
"keyName": "ns=2;s=/Channel/State/acProg",
|
||||
"keyName": "acProg",
|
||||
"targetValue": "1"
|
||||
}
|
||||
]
|
||||
@@ -69,6 +62,7 @@
|
||||
},
|
||||
"condWarmUpCoolDown": {
|
||||
"checkMode": "OR",
|
||||
"negateValue": true,
|
||||
"checkList": [
|
||||
]
|
||||
},
|
||||
@@ -86,11 +80,16 @@
|
||||
"rovrd": "PATH RAPID OVERRIDE"
|
||||
},
|
||||
"paramsEndThresh": {
|
||||
"InvDDone": 50
|
||||
"actFeedRateIpo": 100,
|
||||
"actFeedRateIpoOvr": 10,
|
||||
"feedRateIpoOvr": 10
|
||||
},
|
||||
"paramsContainsThresh": {
|
||||
},
|
||||
"filterItemsNodeId": [
|
||||
"ns=2;s=/Axis",
|
||||
"ns=2;s=/Bag",
|
||||
"ns=2;s=/Channel/State/actProgNetTime",
|
||||
"ns=2;s=/Channel/AuxiliaryFunctions",
|
||||
"ns=2;s=/Channel/GenericCoupling",
|
||||
"ns=2;s=/Channel/Diagnose",
|
||||
@@ -122,9 +121,8 @@
|
||||
"ns=2;s=/Channel/Spindle",
|
||||
"ns=2;s=/DriveVsa",
|
||||
"ns=2;s=Sinumerik/FileSystem",
|
||||
"ns=2;s=/Methods/",
|
||||
"ns=2;s=/Nck/",
|
||||
"ns=2;s=/NC/",
|
||||
"ns=2;s=/Methods",
|
||||
"ns=2;s=/NC",
|
||||
"ns=2;s=/NC/_N_NC_GD1_ACX",
|
||||
"ns=2;s=/NC/_N_NC_GD4_ACX",
|
||||
"ns=2;s=/NC/_N_CH_GD1_ACX",
|
||||
@@ -195,15 +193,55 @@
|
||||
"subscribedItems": [
|
||||
"ns=2;s=/Channel/State/actParts",
|
||||
"ns=2;s=/Channel/State/acProg",
|
||||
"ns=2;s=/Channel/State/actProgNetTime",
|
||||
"ns=2;s=/Channel/State/oldProgNetTime",
|
||||
"ns=2;s=/Channel/State/oldProgNetTimeCounter",
|
||||
"ns=2;s=/Channel/State/chanAlarm",
|
||||
"ns=2;s=/Channel/State/actTNumber",
|
||||
"ns=2;s=/Channel/ProgramInfo/selectedWorkPProg",
|
||||
"ns=2;s=/Channel/ProgramInfo/progName",
|
||||
"ns=2;s=/Channel/State/actFeedRateIpo",
|
||||
"ns=2;s=/Channel/State/actFeedRateIpoOvr",
|
||||
"ns=2;s=/Channel/State/feedRateIpoOvr"
|
||||
"ns=2;s=/Channel/State/feedRateIpoOvr",
|
||||
"ns=2;s=/Nck/State/aStopesi",
|
||||
"ns=2;s=/NC/_N_CH_GD2_ACX/CODICE_ARTICOLO",
|
||||
"ns=2;s=/NC/_N_CH_GD2_ACX/CODICE_COMMESSA",
|
||||
"ns=2;s=/NC/_N_CH_GD2_ACX/QUANTITA_PRODOTTA",
|
||||
"ns=2;s=/NC/_N_CH_GD2_ACX/QUANTITA_RICHIESTA"
|
||||
],
|
||||
"mMapWrite": {
|
||||
"setComm": {
|
||||
"name": "setComm",
|
||||
"description": "Commessa",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "ns=2;s=/NC/_N_CH_GD2_ACX/CODICE_COMMESSA",
|
||||
"index": 0,
|
||||
"size": 20
|
||||
},
|
||||
"setArt": {
|
||||
"name": "setArt",
|
||||
"description": "Articolo",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "ns=2;s=/NC/_N_CH_GD2_ACX/CODICE_ARTICOLO",
|
||||
"index": 0,
|
||||
"size": 20
|
||||
},
|
||||
"setPzComm": {
|
||||
"name": "setPzComm",
|
||||
"description": "Qty",
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/NC/_N_CH_GD2_ACX/QUANTITA_RICHIESTA",
|
||||
"index": 0,
|
||||
"size": 4
|
||||
},
|
||||
"forceSetPzCount": {
|
||||
"name": "forceSetPzCount",
|
||||
"description": "Qta prodotta",
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/NC/_N_CH_GD2_ACX/QUANTITA_PRODOTTA",
|
||||
"index": 0,
|
||||
"size": 4
|
||||
}
|
||||
},
|
||||
"mMapRead": {
|
||||
"OPC_Status": {
|
||||
"name": "OPC_Status",
|
||||
@@ -269,6 +307,5 @@
|
||||
"index": 0,
|
||||
"size": 1
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
;Configurazione IOB-WIN
|
||||
[IOB]
|
||||
[IOB]
|
||||
;Tornio Biglia 438 controllo Mitsubishi MTConnect
|
||||
CNCTYPE=MTConnect
|
||||
PING_MS_TIMEOUT=500
|
||||
|
||||
@@ -124,6 +124,9 @@
|
||||
"ServiceLevel",
|
||||
"SoftwareCertificates"
|
||||
],
|
||||
"paramsContainsThresh": {
|
||||
"Decompressione": 5.0
|
||||
},
|
||||
"itemTranslation": {
|
||||
"fdovrd": "PATH FEED OVERRIDE",
|
||||
"rovrd": "PATH RAPID OVERRIDE",
|
||||
|
||||
@@ -48,7 +48,7 @@ CLI_INST=SteamWareSim
|
||||
;STARTLIST=VL27
|
||||
|
||||
;NB: mettere copy always ai file di conf x fare test...
|
||||
STARTLIST=SIMUL_01
|
||||
STARTLIST=2014
|
||||
;STARTLIST=Tend_RAMA_10_47
|
||||
|
||||
|
||||
|
||||
@@ -515,8 +515,12 @@
|
||||
</Compile>
|
||||
<Compile Include="UAClient.cs" />
|
||||
<Compile Include="utils.cs" />
|
||||
<None Include="DATA\CONF\2014.ini" />
|
||||
<None Include="DATA\CONF\2014.json" />
|
||||
<None Include="DATA\CONF\2014.ini">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="DATA\CONF\2014.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="DATA\CONF\3010_alarm.json" />
|
||||
<None Include="DATA\CONF\3028.json" />
|
||||
<None Include="DATA\CONF\3028.ini" />
|
||||
|
||||
+14
-14
@@ -1586,6 +1586,7 @@ namespace IOB_WIN_NEXT.Iob
|
||||
case taskType.setComm:
|
||||
case taskType.setProg:
|
||||
case taskType.setPzComm:
|
||||
case taskType.forceSetPzCount:
|
||||
// recupero dati da memMap...
|
||||
if (memMap != null && memMap.mMapWrite != null)
|
||||
{
|
||||
@@ -2787,6 +2788,8 @@ namespace IOB_WIN_NEXT.Iob
|
||||
}
|
||||
else if (CHANGE_ODL_MODE == "TIME" || CHANGE_ODL_MODE == "SIMUL")
|
||||
{
|
||||
// imposto x prox controllo veto a 1 min
|
||||
VetoProcessAutoOdl = adesso.AddMinutes(1);
|
||||
// carico i parametri di configurazione x reset ODL...
|
||||
string CHANGE_ODL_HOURS = getOptPar("CHANGE_ODL_HOURS");
|
||||
string CHANGE_ODL_IDLE_MIN = getOptPar("CHANGE_ODL_IDLE_MIN");
|
||||
@@ -7252,24 +7255,21 @@ namespace IOB_WIN_NEXT.Iob
|
||||
}
|
||||
}
|
||||
// invio su cloud parametri SE sono connesso alla macchina... in pratica reset parametri...
|
||||
string tipoCall = urlSaveAllParams;
|
||||
rawData = JsonConvert.SerializeObject(allParam, Formatting.Indented);
|
||||
if (serverOk)
|
||||
{
|
||||
string tipoCall = urlSaveAllParams;
|
||||
rawData = JsonConvert.SerializeObject(allParam, Formatting.Indented);
|
||||
if (serverOk)
|
||||
// verifica se sia un IOB "parziale")
|
||||
if (cIobConf.disableExeTask || cIobConf.disableStateCh)
|
||||
{
|
||||
// verifica se sia un IOB "parziale")
|
||||
if (cIobConf.disableExeTask || cIobConf.disableStateCh)
|
||||
{
|
||||
// versione upsert
|
||||
tipoCall = urlUpdateWriteParams;
|
||||
}
|
||||
var resp = utils.callUrl($"{tipoCall}", rawData);
|
||||
}
|
||||
else
|
||||
{
|
||||
lgInfo($"Mancata risposta ping server, non effettuata chiamata {tipoCall}");
|
||||
// versione upsert
|
||||
tipoCall = urlUpdateWriteParams;
|
||||
}
|
||||
var resp = utils.callUrl($"{tipoCall}", rawData);
|
||||
}
|
||||
else
|
||||
{
|
||||
lgInfo($"Mancata risposta ping server, non effettuata chiamata {tipoCall}");
|
||||
}
|
||||
lgDebug($"setupMemMap | salvata conf memoria R/W");
|
||||
}
|
||||
|
||||
@@ -320,6 +320,9 @@ namespace IOB_WIN_NEXT.Iob
|
||||
/// <returns></returns>
|
||||
public override bool resetContapezziPLC()
|
||||
{
|
||||
// impiego override metodo set...
|
||||
bool answ = setcontapezziPLC(0);
|
||||
#if false
|
||||
bool answ = false;
|
||||
// ...SE abilitato da conf IOB
|
||||
if (cIobConf.optPar.Count > 0 && getOptPar("ENABLE_PZ_RESET") == "TRUE")
|
||||
@@ -339,7 +342,8 @@ namespace IOB_WIN_NEXT.Iob
|
||||
else
|
||||
{
|
||||
lgError("Impossibile effettuare RESET contapezzi KAWASAKI, mancanza parametro OPT:ENABLE_PZ_RESET");
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return answ;
|
||||
}
|
||||
|
||||
|
||||
@@ -174,9 +174,47 @@ namespace IOB_WIN_NEXT.IobOpc
|
||||
/// <returns></returns>
|
||||
public override bool resetContapezziPLC()
|
||||
{
|
||||
lgInfo("Chiamata resetContapezziPLC");
|
||||
bool answ = false;
|
||||
// imposto un veto in lettura cmq x evitare problemi
|
||||
dtVetoReadPzCount = DateTime.Now.AddMinutes(delayMinReadPzCount);
|
||||
// ...SE abilitato da conf IOB
|
||||
if (cIobConf.optPar.Count > 0 && getOptPar("ENABLE_PZ_RESET") == "TRUE")
|
||||
{
|
||||
// imposto un veto in lettura cmq x evitare problemi
|
||||
dtVetoReadPzCount = DateTime.Now.AddMinutes(delayMinReadPzCount);
|
||||
if (opcUaParams.actResetCounter != null && opcUaParams.actResetCounter.Count > 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
List<WriteValue> nodes2Write = new List<WriteValue>();
|
||||
foreach (var item in opcUaParams.actResetCounter)
|
||||
{
|
||||
WriteValue commWriteVal = new WriteValue();
|
||||
commWriteVal.NodeId = new NodeId(item.Key);
|
||||
commWriteVal.AttributeId = Attributes.Value;
|
||||
commWriteVal.Value = new DataValue();
|
||||
commWriteVal.Value.Value = item.Value;
|
||||
|
||||
nodes2Write.Add(commWriteVal);
|
||||
lgInfo($"Accodo nodo per scrittura OPC-UA:{Environment.NewLine}{JsonConvert.SerializeObject(commWriteVal)}");
|
||||
}
|
||||
// vera scrittura
|
||||
UA_ref.WriteNodes(nodes2Write);
|
||||
answ = true;
|
||||
lgInfo($"Eseguito scrittura OPC-UA su nodo actResetCounter");
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
else
|
||||
{
|
||||
// imposto a zero (SE gestito)
|
||||
setcontapezziPLC(0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lgError("Impossibile effettuare RESET contapezzi, mancanza parametro OPT:ENABLE_PZ_RESET");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
@@ -187,6 +225,21 @@ namespace IOB_WIN_NEXT.IobOpc
|
||||
public override bool setcontapezziPLC(int newPzCount)
|
||||
{
|
||||
bool answ = false;
|
||||
// ...SE abilitato da conf IOB
|
||||
if (cIobConf.optPar.Count > 0 && getOptPar("ENABLE_PZ_RESET") == "TRUE")
|
||||
{
|
||||
if (memMap != null)
|
||||
{
|
||||
// provare x Donati EMCO e Siemens Rama Tenditalia
|
||||
Dictionary<string, string> task2add = new Dictionary<string, string>();
|
||||
task2add.Add("forceSetPzCount", $"{newPzCount}");
|
||||
executeTasks(task2add);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lgError("Impossibile effettuare SET contapezzi, mancanza parametro OPT:ENABLE_PZ_RESET");
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
|
||||
@@ -70,9 +70,11 @@ REM IOB-WIN-SIM
|
||||
REM ROBOCOPY . \\IOB-WIN-SIMULA\Steamware\IOB-WIN-NEXT-DEB /MIR
|
||||
|
||||
REM IOBVPN4MACHINE
|
||||
ROBOCOPY . \\10.51.90.5\Steamware\IOB-WIN-NEXT-DEB /MIR
|
||||
REM ROBOCOPY . \\10.51.90.5\Steamware\IOB-WIN-NEXT-DEB /MIR
|
||||
REM ROBOCOPY . \\10.51.90.5\Steamware\IOB-WIN-NEXT-DEB /MIR /log:RobocopyTransfer.log
|
||||
REM ROBOCOPY . \\10.51.90.9\Steamware\IOB-WIN-NEXT-DEB /MIR
|
||||
REM ROBOCOPY . \\10.51.90.10\Steamware\IOB-WIN-NEXT-DEB /MIR
|
||||
ROBOCOPY . Z:\IOB-WIN-NEXT-DEB /MIR
|
||||
|
||||
goto END
|
||||
|
||||
|
||||
Reference in New Issue
Block a user