Merge branch 'release/SiemensSW_01'
This commit is contained in:
@@ -51,9 +51,9 @@ namespace IOB_UT_NEXT.Config.Base
|
||||
public string MultiIobList { get; set; } = "";
|
||||
|
||||
/// <summary>
|
||||
/// Tempo di attesa (in minuti) x lettura contapezzi standard
|
||||
/// Tempo di attesa (in minuti) x lettura contapezzi standard (default 30 sec)
|
||||
/// </summary>
|
||||
public double DelayReadPzCount { get; set; } = 0;
|
||||
public double DelayReadPzCount { get; set; } = 0.5;
|
||||
|
||||
/// <summary>
|
||||
/// Disabilitazione invio DynData di WDST (WatchDogStateTransfer)
|
||||
|
||||
@@ -581,6 +581,11 @@ namespace IOB_UT_NEXT
|
||||
/// </summary>
|
||||
OpcUaSiemensRama,
|
||||
|
||||
/// <summary>
|
||||
/// Adapter OPC-UA macchne SW
|
||||
/// </summary>
|
||||
OpcUaSiemensSW,
|
||||
|
||||
/// <summary>
|
||||
/// Adapter OPC-UA Ulma (packaging, Giacovelli)
|
||||
/// </summary>
|
||||
|
||||
@@ -401,6 +401,18 @@ namespace IOB_UT_NEXT
|
||||
/// </summary>
|
||||
public string keyPartCount { get; set; } = "";
|
||||
|
||||
#if true
|
||||
/// <summary>
|
||||
/// Indica se sia una macchina MULTI (con varie Tavole/Pallet)
|
||||
/// </summary>
|
||||
public bool isMulti { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Dizionario variabili x pezzi FATTI se multi tavola
|
||||
/// </summary>
|
||||
public Dictionary<string, string> keyPartCountTav { get; set; } = null;
|
||||
#endif
|
||||
|
||||
/// <summary>
|
||||
/// Nome variabile x Codice Articolo
|
||||
/// </summary>
|
||||
@@ -804,6 +816,16 @@ namespace IOB_UT_NEXT
|
||||
/// </summary>
|
||||
public diCheckCondSetup condSetup { get; set; } = new diCheckCondSetup();
|
||||
|
||||
/// <summary>
|
||||
/// Struttura dati x check condizione Tavola 1 attiva
|
||||
/// </summary>
|
||||
public diCheckCondSetup condActTav1 { get; set; } = new diCheckCondSetup();
|
||||
|
||||
/// <summary>
|
||||
/// Struttura dati x check condizione Tavola 2 attiva
|
||||
/// </summary>
|
||||
public diCheckCondSetup condActTav2 { get; set; } = new diCheckCondSetup();
|
||||
|
||||
/// <summary>
|
||||
/// Struttura dati x check condizione WarmUp - CoolDown
|
||||
/// </summary>
|
||||
|
||||
+569
-569
File diff suppressed because it is too large
Load Diff
@@ -119,6 +119,11 @@ namespace IOB_WIN_OPC_UA
|
||||
btnStart.Enabled = true;
|
||||
break;
|
||||
|
||||
case tipoAdapter.OpcUaSiemensSW:
|
||||
iobObj = new IobOpc.OpcUaSiemensSW(this, IOBConfFull);
|
||||
btnStart.Enabled = true;
|
||||
break;
|
||||
|
||||
case tipoAdapter.OpcUaUlma:
|
||||
iobObj = new IobOpc.OpcUaUlma(this, IOBConfFull);
|
||||
btnStart.Enabled = true;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"BrowseFullVal": "ns=4;s=NxController.GlobalVars",
|
||||
"BrowseNSIndex": 4,
|
||||
"BrowseValue": 5001,
|
||||
"keyPartCount": "ext_prod_parziale_robot4",
|
||||
"keyPartCount": "ext_prod_parziale_mes_robot4",
|
||||
"keyPartReq": "",
|
||||
"keyPartId": "",
|
||||
"keyProgName": "",
|
||||
@@ -168,7 +168,7 @@
|
||||
"ns=4;s=ext_prod_parziale_robot1",
|
||||
"ns=4;s=ext_prod_parziale_robot2",
|
||||
"ns=4;s=ext_prod_parziale_robot3",
|
||||
"ns=4;s=ext_prod_parziale_robot4",
|
||||
"ns=4;s=ext_prod_parziale_mes_robot4",
|
||||
"ns=4;s=ext_prod_totale_robot1",
|
||||
"ns=4;s=ext_prod_totale_robot2",
|
||||
"ns=4;s=ext_prod_totale_robot3",
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
;Configurazione IOB-WIN
|
||||
[IOB]
|
||||
;Centro di lavoro OpcUa
|
||||
CNCTYPE=OpcUaSiemens
|
||||
[IOB]
|
||||
;Centro di lavoro OpcUa Siemens SW
|
||||
CNCTYPE=OpcUaSiemensSW
|
||||
;CNCTYPE=OpcUa
|
||||
PING_MS_TIMEOUT=500
|
||||
|
||||
[MACHINE]
|
||||
VENDOR=EMCO
|
||||
MODEL=750
|
||||
VENDOR=SW Machines
|
||||
MODEL=1169
|
||||
|
||||
[CNC]
|
||||
IP=192.168.51.216
|
||||
PORT=4840
|
||||
IP=192.168.51.219
|
||||
PORT=51210
|
||||
GETPRGNAME=true
|
||||
|
||||
[SERVER]
|
||||
[SERVER]
|
||||
MPIP=http://192.168.51.77
|
||||
MPURL=/MP/IO
|
||||
CMDBASE=/IOB/input/
|
||||
@@ -71,12 +71,9 @@ ENABLE_CLI_RESTART=TRUE
|
||||
SEND_PZCNT_MODE=DIRECT
|
||||
;SEND_PZCNT_MODE=TASK
|
||||
VETO_SIG_IN=false
|
||||
BASE_SAMPLE_PERIOD=600
|
||||
|
||||
DISABLE_SEND_WDST=TRUE
|
||||
|
||||
; conf parametri memoria READ/WRITE
|
||||
OPC_PARAM_CONF=2015.json
|
||||
OPC_PARAM_CONF=2016.json
|
||||
|
||||
[BRANCH]
|
||||
NAME=master
|
||||
|
||||
+160
-320
@@ -1,31 +1,60 @@
|
||||
{
|
||||
"BrowseFullVal": "ns=2;s=Sinumerik",
|
||||
"BrowseNSIndex": 4,
|
||||
"BrowseFullVal": "ns=1;s=/swcp-assets",
|
||||
"BrowseNSIndex": 1,
|
||||
"BrowseValue": 5001,
|
||||
"keyPartCount": "QUANTITA_PRODOTTA",
|
||||
"keyPartCount": "",
|
||||
"isMulti": true,
|
||||
"keyPartCountTav": {
|
||||
"TAV1": "MES A PIECE COUNTER",
|
||||
"TAV2": "MES U PIECE COUNTER"
|
||||
},
|
||||
"keyPartReq": "",
|
||||
"keyPartId": "",
|
||||
"keyProgName": "progName",
|
||||
"keyRunMode": "acProg",
|
||||
"keyProgName": "",
|
||||
"keyRunMode": "",
|
||||
"pingAsPowerOn": true,
|
||||
"Identity": {
|
||||
"UserName": "DONATI_1",
|
||||
"Passwd": "DONATI_1"
|
||||
},
|
||||
"Identity": {},
|
||||
"condWork": [
|
||||
{
|
||||
"keyName": "acProg",
|
||||
"targetValue": "2"
|
||||
"keyName": "WarningLight Green",
|
||||
"targetValue": "True"
|
||||
}
|
||||
],
|
||||
"condWorkOpc": {
|
||||
"checkMode": "AND",
|
||||
"checkList": [
|
||||
{
|
||||
"keyName": "WarningLight Green",
|
||||
"targetValue": "True"
|
||||
}
|
||||
]
|
||||
},
|
||||
"condAreaTav1": {
|
||||
"checkMode": "AND",
|
||||
"checkList": [
|
||||
{
|
||||
"keyName": "T1 WorkingArea",
|
||||
"targetValue": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
"condAreaTav2": {
|
||||
"checkMode": "AND",
|
||||
"checkList": [
|
||||
{
|
||||
"keyName": "T2 WorkingArea",
|
||||
"targetValue": "true"
|
||||
}
|
||||
]
|
||||
},
|
||||
"condPowerOn": {
|
||||
},
|
||||
"condReady": {
|
||||
"checkMode": "AND",
|
||||
"checkList": [
|
||||
{
|
||||
"keyName": "acProg",
|
||||
"targetValue": "3"
|
||||
"keyName": "WarningLight Blue",
|
||||
"targetValue": "True"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -33,8 +62,8 @@
|
||||
"checkMode": "AND",
|
||||
"checkList": [
|
||||
{
|
||||
"keyName": "acProg",
|
||||
"targetValue": "4"
|
||||
"keyName": "WarningLight Yellow",
|
||||
"targetValue": "True"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -42,8 +71,8 @@
|
||||
"checkMode": "AND",
|
||||
"checkList": [
|
||||
{
|
||||
"keyName": "aStopesi",
|
||||
"targetValue": "0"
|
||||
"keyName": "Emergency Stop",
|
||||
"targetValue": "False"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -51,8 +80,8 @@
|
||||
"checkMode": "AND",
|
||||
"checkList": [
|
||||
{
|
||||
"keyName": "acProg",
|
||||
"targetValue": "1"
|
||||
"keyName": "WarningLight Red",
|
||||
"targetValue": "True"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -86,336 +115,147 @@
|
||||
"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",
|
||||
"ns=2;s=/Channel/ChannelDiagnose",
|
||||
"ns=2;s=/Channel/ProtocolEvent",
|
||||
"ns=2;s=/Channel/ActualFrame",
|
||||
"ns=2;s=/Channel/BaseFrame",
|
||||
"ns=2;s=/Channel/ExternFrame",
|
||||
"ns=2;s=/Channel/GrindingFrame",
|
||||
"ns=2;s=/Channel/SystemFrame",
|
||||
"ns=2;s=/Channel/UserFrame",
|
||||
"ns=2;s=/Channel/Drive",
|
||||
"ns=2;s=/Channel/Nibbling",
|
||||
"ns=2;s=/Channel/Parameter",
|
||||
"ns=2;s=/Channel/ProtectedArea",
|
||||
"ns=2;s=/Channel/Settings",
|
||||
"ns=2;s=/Channel/GeometricAxis",
|
||||
"ns=2;s=/Channel/MachineAxis",
|
||||
"ns=2;s=/Channel/ProgramModification",
|
||||
"ns=2;s=/Channel/SelectedFunctions",
|
||||
"ns=2;s=/Channel/Search",
|
||||
"ns=2;s=/Channel/InterruptionSearch",
|
||||
"ns=2;s=/Channel/ProgramPointer",
|
||||
"ns=2;s=/Channel/LogicalSpindle",
|
||||
"ns=2;s=/Channel/Compensation",
|
||||
"ns=2;s=/Channel/SelectedFunctionData",
|
||||
"ns=2;s=/Channel/CoordSysWorkAreaLimits",
|
||||
"ns=2;s=/Channel/Configuration",
|
||||
"ns=2;s=/Channel/Spindle",
|
||||
"ns=2;s=/DriveVsa",
|
||||
"ns=2;s=Sinumerik/FileSystem",
|
||||
"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",
|
||||
"ns=2;s=/NC/_N_CH_GD4_ACX",
|
||||
"ns=2;s=/HMI",
|
||||
"ns=2;s=/Random",
|
||||
"ns=2;s=/SEA",
|
||||
"ns=2;s=/TEA",
|
||||
"ns=2;s=/Tool",
|
||||
"ns=2;s=/Plc/Clock",
|
||||
"ns=2;s=/Plc/C",
|
||||
"ns=2;s=/Plc/T",
|
||||
"ns=2;s=/Plc/I",
|
||||
"ns=2;s=/Plc/IB",
|
||||
"ns=2;s=/Plc/IW",
|
||||
"ns=2;s=/Plc/ID",
|
||||
"ns=2;s=/Plc/M",
|
||||
"ns=2;s=/Plc/MB",
|
||||
"ns=2;s=/Plc/MW",
|
||||
"ns=2;s=/Plc/MD",
|
||||
"ns=2;s=/Plc/Q",
|
||||
"ns=2;s=/Plc/QB",
|
||||
"ns=2;s=/Plc/QW",
|
||||
"ns=2;s=/Plc/QD",
|
||||
"ns=2;s=/Plc/ID",
|
||||
"ns=2;s=/Plc/ID",
|
||||
"ns=2;s=IArea",
|
||||
"ns=2;s=QArea",
|
||||
"ns=2;s=MArea",
|
||||
"ns=2;s=/Plc/DB1",
|
||||
"ns=2;s=/Plc/DB2",
|
||||
"ns=2;s=/Plc/DB3",
|
||||
"ns=2;s=/Plc/DB4",
|
||||
"ns=2;s=/Plc/DB5",
|
||||
"ns=2;s=/Plc/DB6",
|
||||
"ns=2;s=/Plc/DB7",
|
||||
"ns=2;s=/Plc/DB8",
|
||||
"ns=2;s=/Plc/DB9",
|
||||
"ns=2;s=/Plc/DB10",
|
||||
"ns=2;s=/Plc/DB11",
|
||||
"ns=2;s=/Plc/DB15",
|
||||
"ns=2;s=/Plc/DB16",
|
||||
"ns=2;s=/Plc/DB17",
|
||||
"ns=2;s=/Plc/DB18",
|
||||
"ns=2;s=/Plc/DB19",
|
||||
"ns=2;s=/Plc/DB20",
|
||||
"ns=2;s=/Plc/DB21",
|
||||
"ns=2;s=/Plc/DB31",
|
||||
"ns=2;s=/Plc/DB32",
|
||||
"ns=2;s=/Plc/DB33",
|
||||
"ns=2;s=/Plc/DB34",
|
||||
"ns=2;s=/Plc/DB35",
|
||||
"ns=2;s=/Plc/DB36",
|
||||
"ns=2;s=/Plc/DB53",
|
||||
"ns=2;s=/Plc/DB62",
|
||||
"ns=2;s=/Plc/DB63",
|
||||
"ns=2;s=/Plc/DB64",
|
||||
"ns=2;s=/Plc/DB65",
|
||||
"ns=2;s=/Plc/DB66",
|
||||
"ns=2;s=/Plc/DB71",
|
||||
"ns=2;s=/Plc/DB72",
|
||||
"ns=2;s=/Plc/DB74",
|
||||
"ns=2;s=/Plc/DB75",
|
||||
"ns=2;s=/Plc/DB76",
|
||||
"ns=2;s=/Plc/DB77",
|
||||
"ns=2;s=/Plc/DB78",
|
||||
"ns=2;s=/Plc/DB92",
|
||||
"ns=2;s=/Plc/DB93",
|
||||
"ns=2;s=/Plc/DB100",
|
||||
"ns=2;s=/Plc/DB101",
|
||||
"ns=2;s=/Plc/DB102",
|
||||
"ns=2;s=/Plc/DB103",
|
||||
"ns=2;s=/Plc/DB104",
|
||||
"ns=2;s=/Plc/DB105",
|
||||
"ns=2;s=/Plc/DB111",
|
||||
"ns=2;s=/Plc/DB114",
|
||||
"ns=2;s=/Plc/DB115",
|
||||
"ns=2;s=/Plc/DB116",
|
||||
"ns=2;s=/Plc/DB120",
|
||||
"ns=2;s=/Plc/DB121",
|
||||
"ns=2;s=/Plc/DB140",
|
||||
"ns=2;s=/Plc/DB154",
|
||||
"ns=2;s=/Plc/DB170",
|
||||
"ns=2;s=/Plc/DB171",
|
||||
"ns=2;s=/Plc/DB172",
|
||||
"ns=2;s=/Plc/DB173",
|
||||
"ns=2;s=/Plc/DB174",
|
||||
"ns=2;s=/Plc/DB200",
|
||||
"ns=2;s=/Plc/DB201",
|
||||
"ns=2;s=/Plc/DB202",
|
||||
"ns=2;s=/Plc/DB203",
|
||||
"ns=2;s=/Plc/DB204",
|
||||
"ns=2;s=/Plc/DB213",
|
||||
"ns=2;s=/Plc/DB272",
|
||||
"ns=2;s=/Plc/DB283",
|
||||
"ns=2;s=/Plc/DB284",
|
||||
"ns=2;s=/Plc/DB310",
|
||||
"ns=2;s=/Plc/DB325",
|
||||
"ns=2;s=/Plc/DB326",
|
||||
"ns=2;s=/Plc/DB332",
|
||||
"ns=2;s=/Plc/DB333",
|
||||
"ns=2;s=/Plc/DB334",
|
||||
"ns=2;s=/Plc/DB335",
|
||||
"ns=2;s=/Plc/DB336",
|
||||
"ns=2;s=/Plc/DB505",
|
||||
"ns=2;s=/Plc/DB506",
|
||||
"ns=2;s=/Plc/DB507",
|
||||
"ns=2;s=/Plc/DB508",
|
||||
"ns=2;s=/Plc/DB509",
|
||||
"ns=2;s=/Plc/DB510",
|
||||
"ns=2;s=/Plc/DB650",
|
||||
"ns=2;s=/Plc/DB651",
|
||||
"ns=2;s=/Plc/DB1000",
|
||||
"ns=2;s=/Plc/DB1001",
|
||||
"ns=2;s=/Plc/DB1002",
|
||||
"ns=2;s=/Plc/DB1071",
|
||||
"ns=2;s=/Plc/DB1072"
|
||||
"ns=2;s=/Axis"
|
||||
],
|
||||
"subscribedItems": [
|
||||
"ns=2;s=/Channel/State/actParts",
|
||||
"ns=2;s=/Channel/State/acProg",
|
||||
"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/acTotalOvr",
|
||||
"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"
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/Actual_CycleTime_T1",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/Actual_CycleTime_T2",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/AXIS_X_LOAD",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/AXIS_Y1_LOAD",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/AXIS_Z_LOAD",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/Emergency_Stop",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/FEEDRATE_OVERRIDE",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_A_PIECE_COUNTER",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_A_PIECE_TARGET",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_A_RESET_COUNTER_TRIGGER",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_A_STRING1",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_A_STRING2",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_A_STRING3",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_OPTIONAL_STRING_NAME1",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_OPTIONAL_STRING_NAME2",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_OPTIONAL_STRING_NAME3",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_ORDER_A",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_ORDER_U",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_U_PIECE_TARGET",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_U_RESET_COUNTER_TRIGGER",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_U_STRING1",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_U_STRING2",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_U_STRING3",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_U_PIECE_COUNTER",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/NC_PROGRAM_PATH",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/NUMBER_ALARMS",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/OM_AUTO_Activ",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/OM_JOG_Activ",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/OM_MDA_Activ",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/OPERATION_MODE",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/PART_NUMBER",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/Producing_Machine",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/Producing_Machine_Auto",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/SPINDLE_1_LOAD",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/SPINDLE_2_LOAD",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/SPINDLE_OVERRIDE",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/SYSTEM_OPERATION_TIME",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/T1_WorkingArea",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/T2_WorkingArea",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/TEMPERATURE_ELECTRIC_CABINET",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/TEMPERATURE_HYDRAULIC_OIL",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/TEMPERATURE_SURROUNDING",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/Tot_Parts_Counter_NOK",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/Tot_Parts_Counter_OK",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/WORKING_TIME",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/WarningLight_Blue",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/WarningLight_Green",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/WarningLight_Red",
|
||||
"ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/WarningLight_Yellow"
|
||||
],
|
||||
"mMapWrite": {
|
||||
"setComm": {
|
||||
"name": "setComm",
|
||||
"description": "Commessa",
|
||||
"setComm#TAV1": {
|
||||
"name": "setComm#TAV1",
|
||||
"description": "Commessa TAV1 (A)",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "ns=2;s=/NC/_N_CH_GD2_ACX/CODICE_COMMESSA",
|
||||
"memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_ORDER_A",
|
||||
"index": 0,
|
||||
"size": 20
|
||||
},
|
||||
"setArt": {
|
||||
"name": "setArt",
|
||||
"description": "Articolo",
|
||||
"setArt#TAV1": {
|
||||
"name": "setArt#TAV1",
|
||||
"description": "Articolo TAV1 (A)",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "ns=2;s=/NC/_N_CH_GD2_ACX/CODICE_ARTICOLO",
|
||||
"memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_A_STRING1",
|
||||
"index": 0,
|
||||
"size": 20
|
||||
},
|
||||
"setPzComm": {
|
||||
"name": "setPzComm",
|
||||
"description": "Qty",
|
||||
"setPzComm#TAV1": {
|
||||
"name": "setPzComm#TAV1",
|
||||
"description": "Qty TAV1 (A)",
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/NC/_N_CH_GD2_ACX/QUANTITA_RICHIESTA",
|
||||
"memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_A_STRING2",
|
||||
"index": 0,
|
||||
"size": 4
|
||||
},
|
||||
"forceResetPzCount": {
|
||||
"name": "forceResetPzCount",
|
||||
"description": "Set Contapezzi",
|
||||
"forceResetPzCount#TAV1": {
|
||||
"name": "forceResetPzCount#TAV1",
|
||||
"description": "Reset Contapezzi TAV1 (A)",
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/NC/_N_CH_GD2_ACX/QUANTITA_PRODOTTA",
|
||||
"memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_A_RESET_COUNTER_TRIGGER",
|
||||
"index": 0,
|
||||
"size": 4
|
||||
},
|
||||
"forceSetPzCount": {
|
||||
"name": "forceSetPzCount",
|
||||
"description": "Set Contapezzi",
|
||||
"setComm#TAV2": {
|
||||
"name": "setComm#TAV2",
|
||||
"description": "Commessa TAV2 (U)",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_ORDER_U",
|
||||
"index": 0,
|
||||
"size": 20
|
||||
},
|
||||
"setArt#TAV2": {
|
||||
"name": "setArt#TAV2",
|
||||
"description": "Articolo TAV2 (U)",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_U_STRING1",
|
||||
"index": 0,
|
||||
"size": 20
|
||||
},
|
||||
"setPzComm#TAV2": {
|
||||
"name": "setPzComm#TAV2",
|
||||
"description": "Qty TAV2 (U)",
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/NC/_N_CH_GD2_ACX/QUANTITA_PRODOTTA",
|
||||
"memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_U_STRING2",
|
||||
"index": 0,
|
||||
"size": 4
|
||||
},
|
||||
"forceResetPzCount#TAV2": {
|
||||
"name": "forceResetPzCount#TAV2",
|
||||
"description": "Reset Contapezzi TAV2 (U)",
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_U_RESET_COUNTER_TRIGGER",
|
||||
"index": 0,
|
||||
"size": 4
|
||||
}
|
||||
},
|
||||
"mMapRead": {
|
||||
"OPC_Status": {
|
||||
"name": "OPC_Status",
|
||||
"description": "Stato",
|
||||
"OPC_MES_A_PIECE_COUNTER": {
|
||||
"name": "OPC_MES_A_PIECE_COUNTER",
|
||||
"description": "Contatore Tavola 1 (A)",
|
||||
"memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_A_PIECE_COUNTER",
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/Channel/State/acProg",
|
||||
"index": 0,
|
||||
"size": 1
|
||||
"func": "POINT",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"unit": "#",
|
||||
"displOrdinal": 1
|
||||
},
|
||||
"OPC_Alarm": {
|
||||
"name": "OPC_Alarm",
|
||||
"description": "Allarme",
|
||||
"OPC_MES_U_PIECE_COUNTER": {
|
||||
"name": "OPC_MES_U_PIECE_COUNTER",
|
||||
"description": "Contatore Tavola 1 (U)",
|
||||
"memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_U_PIECE_COUNTER",
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/Channel/State/chanAlarm",
|
||||
"index": 0,
|
||||
"size": 1
|
||||
},
|
||||
"OPC_ToolNum": {
|
||||
"name": "OPC_ToolNum",
|
||||
"description": "Tool Number",
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/Channel/State/actTNumber",
|
||||
"index": 0,
|
||||
"size": 1
|
||||
},
|
||||
"OPC_SelProg": {
|
||||
"name": "OPC_SelProg",
|
||||
"description": "Prog Selezionato",
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/Channel/ProgramInfo/selectedWorkPProg",
|
||||
"index": 0,
|
||||
"size": 50
|
||||
},
|
||||
"OPC_ProgName": {
|
||||
"name": "OPC_ProgName",
|
||||
"description": "Nome Programma",
|
||||
"tipoMem": "String",
|
||||
"memAddr": "ns=2;s=/Channel/ProgramInfo/progName",
|
||||
"index": 0,
|
||||
"size": 50
|
||||
},
|
||||
"OPC_ActFeedRateOvr": {
|
||||
"name": "OPC_ActFeedRateOvr",
|
||||
"description": "FeedRate Act Override",
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/Channel/State/actFeedRateIpoOvr",
|
||||
"index": 0,
|
||||
"size": 1
|
||||
},
|
||||
"OPC_FeedRateOvr": {
|
||||
"name": "OPC_FeedRateOvr",
|
||||
"description": "FeedRate Override",
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/Channel/State/feedRateIpoOvr",
|
||||
"index": 0,
|
||||
"size": 1
|
||||
},
|
||||
"OPC_actParts": {
|
||||
"name": "OPC_actParts",
|
||||
"description": "Contapezzi",
|
||||
"func": "MEDIAN",
|
||||
"period": 600,
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/Channel/State/actParts",
|
||||
"index": 0,
|
||||
"size": 1
|
||||
},
|
||||
"OPC_oldProgNetTime": {
|
||||
"name": "OPC_oldProgNetTime",
|
||||
"description": "Ultimo TCiclo",
|
||||
"func": "MEDIAN",
|
||||
"period": 600,
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/Channel/State/oldProgNetTime",
|
||||
"index": 0,
|
||||
"size": 1
|
||||
},
|
||||
"OPC_QUANTITA_PRODOTTA": {
|
||||
"name": "OPC_QUANTITA_PRODOTTA",
|
||||
"description": "QUANTITA PRODOTTA",
|
||||
"func": "MEDIAN",
|
||||
"period": 600,
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/NC/_N_CH_GD2_ACX/QUANTITA_PRODOTTA",
|
||||
"index": 0,
|
||||
"size": 1
|
||||
},
|
||||
|
||||
"OPC_QUANTITA_RICHIESTA": {
|
||||
"name": "OPC_QUANTITA_RICHIESTA",
|
||||
"description": "QUANTITA RICHIESTA",
|
||||
"func": "MEDIAN",
|
||||
"period": 600,
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/NC/_N_CH_GD2_ACX/QUANTITA_RICHIESTA",
|
||||
"index": 0,
|
||||
"size": 1
|
||||
},
|
||||
"OPC_CODICE_ARTICOLO": {
|
||||
"name": "OPC_CODICE_ARTICOLO",
|
||||
"description": "CODICE ARTICOLO",
|
||||
"func": "MEDIAN",
|
||||
"period": 600,
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/NC/_N_CH_GD2_ACX/CODICE_ARTICOLO",
|
||||
"index": 0,
|
||||
"size": 1
|
||||
},
|
||||
"OPC_CODICE_COMMESSA": {
|
||||
"name": "OPC_CODICE_COMMESSA",
|
||||
"description": "CODICE_COMMESSA",
|
||||
"func": "MEDIAN",
|
||||
"period": 600,
|
||||
"tipoMem": "Int",
|
||||
"memAddr": "ns=2;s=/NC/_N_CH_GD2_ACX/CODICE_COMMESSA",
|
||||
"index": 0,
|
||||
"size": 1
|
||||
"func": "POINT",
|
||||
"period": 60,
|
||||
"factor": 1,
|
||||
"unit": "#",
|
||||
"displOrdinal": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,6 @@ CLI_INST=SteamWareSim
|
||||
;STARTLIST=TFT_RAMA_001
|
||||
;STARTLIST=SIM_DP_02
|
||||
;STARTLIST=1042
|
||||
STARTLIST=2015
|
||||
STARTLIST=2016
|
||||
|
||||
MAXCNC=10
|
||||
|
||||
@@ -165,6 +165,7 @@
|
||||
<Compile Include="IobOpc\OpcUaKpwRama.cs" />
|
||||
<Compile Include="IobOpc\OpcUaMBH.cs" />
|
||||
<Compile Include="IobOpc\OpcUaMBHCimolai.cs" />
|
||||
<Compile Include="IobOpc\OpcUaSiemensSW.cs" />
|
||||
<Compile Include="IobOpc\OpcUaOmron.cs" />
|
||||
<Compile Include="IobOpc\OpcUaOmronGhidini.cs" />
|
||||
<Compile Include="IobOpc\OpcUaOmronIcoel.cs" />
|
||||
|
||||
@@ -58,16 +58,6 @@ namespace IOB_WIN_OPC_UA.IobOpc
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Recupero programma in lavorazione
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public override string getPrgName()
|
||||
{
|
||||
string prgName = getDataItemValue(opcUaParams.keyProgName);
|
||||
return prgName;
|
||||
}
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
@@ -442,6 +432,16 @@ namespace IOB_WIN_OPC_UA.IobOpc
|
||||
return outVal;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recupero programma in lavorazione
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public override string getPrgName()
|
||||
{
|
||||
string prgName = getDataItemValue(opcUaParams.keyProgName);
|
||||
return prgName;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Effettua vero processing contapezzi
|
||||
/// </summary>
|
||||
@@ -1199,6 +1199,28 @@ namespace IOB_WIN_OPC_UA.IobOpc
|
||||
/// </summary>
|
||||
protected bool doByteRead { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Verifico se abbia TAV 1 attiva...
|
||||
/// </summary>
|
||||
protected bool hasActiveTav1
|
||||
{
|
||||
get
|
||||
{
|
||||
return checkMultiCondition(opcUaParams.condActTav1);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifico se abbia TAV 2 attiva...
|
||||
/// </summary>
|
||||
protected bool hasActiveTav2
|
||||
{
|
||||
get
|
||||
{
|
||||
return checkMultiCondition(opcUaParams.condActTav2);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifico se abbia ALMENO un errore...
|
||||
/// </summary>
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace IOB_WIN_OPC_UA.IobOpc
|
||||
{
|
||||
bool answ;
|
||||
|
||||
lgInfo("iobGetSendDossier: Inizio scrittura dati a KepWare");
|
||||
lgInfo("iobGetSendOdlDP: Inizio scrittura dati a KepWare");
|
||||
/*-----------------------------------------
|
||||
* STEPS processo:
|
||||
* - recupero ARTICOLI (solo quelli dei PODL attivi)
|
||||
|
||||
@@ -122,7 +122,7 @@ namespace IOB_WIN_OPC_UA.IobOpc
|
||||
{
|
||||
bool answ;
|
||||
|
||||
lgInfo("iobGetSendDossier: Inizio scrittura dati a server OPC-UA");
|
||||
lgInfo("iobGetSendOdlDP: Inizio scrittura dati a server OPC-UA");
|
||||
/*-----------------------------------------
|
||||
* STEPS processo:
|
||||
* - recupero ARTICOLI (solo quelli dei PODL attivi)
|
||||
|
||||
@@ -0,0 +1,223 @@
|
||||
using IOB_UT_NEXT;
|
||||
using IOB_UT_NEXT.Config;
|
||||
using MapoSDK;
|
||||
using Newtonsoft.Json;
|
||||
using Opc.Ua;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Threading.Tasks;
|
||||
using static IOB_UT_NEXT.CustomObj;
|
||||
|
||||
namespace IOB_WIN_OPC_UA.IobOpc
|
||||
{
|
||||
public class OpcUaSiemensSW : OpcUaSiemens
|
||||
{
|
||||
#region Public Constructors
|
||||
|
||||
/// <summary>
|
||||
/// Estende l'init della classe base, impiegando il pacchetto Nuget OPC-UA foundation con la
|
||||
/// gestione specifica per macchine SW (Donati Lavorazioni)
|
||||
/// https://github.com/OPCFoundation/UA-.NETStandard
|
||||
/// </summary>
|
||||
/// <param name="caller">Form chiamante</param>
|
||||
/// <param name="IobConfFull">Configurazione (v 4.x)</param>
|
||||
public OpcUaSiemensSW(AdapterFormNext caller, IobConfTree IobConfFull) : base(caller, IobConfFull)
|
||||
{
|
||||
sendKeyRichiesta = true;
|
||||
lgInfo("Avvio OpcUa Siemens versione SW Machines");
|
||||
}
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Public Methods
|
||||
|
||||
#if false
|
||||
/// <summary>
|
||||
/// Effettua reset del contapezzi, NON POSSIBILE in questa versione
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public override bool resetContapezziPLC()
|
||||
{
|
||||
bool answ = false;
|
||||
// verifico se richiesta è per tav 1 o 2...
|
||||
Dictionary<string, string> task2add = new Dictionary<string, string>();
|
||||
task2add.Add("forceResetPzCount#TAV1", $"{0}");
|
||||
executeTasks(task2add);
|
||||
return answ;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
/// <summary>
|
||||
/// Effettua decodifica aree memoria alla bitmap usata x MAPO
|
||||
/// </summary>
|
||||
protected override void decodeToBaseBitmap()
|
||||
{
|
||||
DateTime adesso = DateTime.Now;
|
||||
// init a zero...
|
||||
B_input = 0;
|
||||
|
||||
/* -----------------------------------------------------
|
||||
* STATE MACHINE 60 STD / SIMULA + gestione doppia tavola
|
||||
*------------------------------------------------------
|
||||
* bitmap MAPO
|
||||
* B0: POWER_ON
|
||||
* B1: RUN
|
||||
* B2: pzCount
|
||||
* B3: allarme
|
||||
* B4: manuale
|
||||
* B5: SlowTC (NON gestito qui)
|
||||
* B6: warm-up / cool-down / setup
|
||||
* B7: emergenza ARMATA (1=ok, 0 = premuta)
|
||||
* B8: TAV 1 attiva (A)
|
||||
* B9: TAV 2 attiva (U)
|
||||
---------------------------------------------------- */
|
||||
|
||||
// se valido il check ping lo eseguo... altrimenti lo do x buono
|
||||
bool checkPing = !opcUaParams.pingAsPowerOn;
|
||||
string currRun = "N.A.";
|
||||
if (!checkPing)
|
||||
{
|
||||
checkPing = (testPingMachine == IPStatus.Success);
|
||||
}
|
||||
// bit 0 (poweron) imposto a 1 SE pingo + PowerOn=="ON"...
|
||||
bool powerOnOk = checkPing && hasPowerOn;
|
||||
// procedo SOLO SE mi da ping OK...
|
||||
if (checkPing)
|
||||
{
|
||||
B_input = powerOnOk ? 1 : 0;
|
||||
|
||||
procRunMode(ref currRun);
|
||||
|
||||
// salvo running come = working...
|
||||
isRunning = isWorking;
|
||||
|
||||
// se ho emergenza premuta --> emergenza!
|
||||
if (hasEStopArmed)
|
||||
{
|
||||
B_input += (1 << 7);
|
||||
}
|
||||
// se ho emergenza premuta --> emergenza!
|
||||
if (isWarmUpCoolDown)
|
||||
{
|
||||
B_input += (1 << 6);
|
||||
}
|
||||
// se ho almeno 1 allarme E NON SONO IN AUTO --> ALARM!
|
||||
if (hasError)
|
||||
{
|
||||
B_input += (1 << 3);
|
||||
}
|
||||
if (isWorking)
|
||||
{
|
||||
// RUN = LAVORA!
|
||||
B_input += (1 << 1);
|
||||
}
|
||||
else if (powerOnOk && (!isReady || isManual))
|
||||
{
|
||||
// se NON ready --> manual
|
||||
B_input += (1 << 4);
|
||||
}
|
||||
// verifica speciale dei BIT della tavola corrente
|
||||
if (opcUaParams.isMulti)
|
||||
{
|
||||
if (hasActiveTav1)
|
||||
{
|
||||
B_input += (1 << 8);
|
||||
}
|
||||
if (hasActiveTav2)
|
||||
{
|
||||
B_input += (1 << 9);
|
||||
}
|
||||
}
|
||||
}
|
||||
// se abilitato watchdog...
|
||||
if (opcUaParams.WatchDog.IsEnabled)
|
||||
{
|
||||
if (adesso.Subtract(lastWatchDogPLC).TotalSeconds > 2)
|
||||
{
|
||||
lastWatchDogPLC = adesso;
|
||||
WatchDog++;
|
||||
WatchDog = WatchDog > opcUaParams.WatchDog.MaxVal ? 0 : WatchDog;
|
||||
|
||||
lgTrace($"WatchDog val: {WatchDog}");
|
||||
try
|
||||
{
|
||||
WriteValue commWriteVal = new WriteValue();
|
||||
commWriteVal.NodeId = new NodeId(opcUaParams.WatchDog.MemConfWrite);
|
||||
commWriteVal.AttributeId = Attributes.Value;
|
||||
commWriteVal.Value = new DataValue();
|
||||
commWriteVal.Value.Value = WatchDog;
|
||||
|
||||
List<WriteValue> nodes2Write = new List<WriteValue>();
|
||||
nodes2Write.Add(commWriteVal);
|
||||
|
||||
UA_ref.WriteNodes(nodes2Write);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
lgError($"Eccezione in gestione WatchDog, valore attuale {WatchDog}{Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
lgTrace("WatchDog disabilitato");
|
||||
}
|
||||
|
||||
// controllo se sono poweroff e se non ho dati buoni da > 2 minuti --> disconnetto
|
||||
if (!powerOnOk && adesso.Subtract(lastCurrent).TotalMinutes > 2)
|
||||
{
|
||||
tryDisconnect();
|
||||
}
|
||||
|
||||
// solo se non ho veto check
|
||||
int vFactor = 2;
|
||||
if (vetoCheckStatus < adesso)
|
||||
{
|
||||
lgDebug($"Stato variabili checkPing: {testPingMachine}");
|
||||
// imposto veto per vetoSeconds...
|
||||
vetoCheckStatus = adesso.AddSeconds(vetoSeconds * vFactor);
|
||||
}
|
||||
|
||||
// log opzionale!
|
||||
if (verboseLog)
|
||||
{
|
||||
lgDebug($"Trasformazione checkPing: {checkPing} | hasPowerOn: {hasPowerOn} | B_input: {B_input} | currRun = {currRun}");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Effettua sync dati inviando info per la doppia tavola
|
||||
/// </summary>
|
||||
protected override void processDataSync()
|
||||
{
|
||||
lgInfo("--------------------------------------------");
|
||||
lgInfo($"executeTasks --> syncDbData --> processDataSync");
|
||||
lgInfo("--------------------------------------------");
|
||||
// effettua sync scrivendo cablate le info x art/num pezzi + dati ODL
|
||||
var taskGet = iobGetSendOdlDP();
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Methods
|
||||
|
||||
/// <summary>
|
||||
/// Recupero dati da server x invio dati ODL delle 2 tavole A/U
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private bool iobGetSendOdlDP()
|
||||
{
|
||||
bool answ = false;
|
||||
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
;Configurazione IOB-WIN
|
||||
[IOB]
|
||||
CNCTYPE=PingWatchdog
|
||||
PING_MS_TIMEOUT=500
|
||||
IOB_NAME=3023
|
||||
|
||||
[MACHINE]
|
||||
VENDOR=STEAMWARE
|
||||
MODEL=WATCHDOG
|
||||
|
||||
[CNC]
|
||||
IP=192.168.1.151
|
||||
;IP=192.168.1.7
|
||||
PORT=0000
|
||||
|
||||
[SERVER]
|
||||
MPIP=http://192.168.1.7
|
||||
MPURL=/MP/IO
|
||||
CMDBASE=/IOB/input/
|
||||
CMDFLOG=/IOB/flog/
|
||||
CMDALIVE=/IOB
|
||||
CMDENABLED=/IOB/enabled/
|
||||
CMDADV1=?valore=
|
||||
CMDREBO=/sendReboot.aspx?idxMacchina=
|
||||
CMD_ODL_STARTED=/IOB/getCurrOdlStart/
|
||||
CMD_FORCLE_SPLIT_ODL=/IOB/forceSplitOdlFull/
|
||||
CMD_IDLE_TIME=/IOB/getIdlePeriod/
|
||||
|
||||
[MEMORY]
|
||||
|
||||
[BLINK]
|
||||
MAX_COUNTER_BLINK = 15
|
||||
BLINK_FILT=0
|
||||
|
||||
[OPTPAR]
|
||||
timerIntMs=300
|
||||
VETO_QUEUE_IN=15
|
||||
AUTO_CHANGE_ODL=false
|
||||
POWEROFF_TIMEOUT_SEC=60
|
||||
DISABLE_PZCOUNT=TRUE
|
||||
;; gestioni PING
|
||||
;MAX_TRY_PING=3
|
||||
;VETO_QUEUE_IN=4
|
||||
;VETO_PING_SEC=4
|
||||
;VETO_CHECKDIR_SEC=10
|
||||
;MAX_ELAPSED_TIME_SEC=60
|
||||
;VETO_SEND_SNAPSHOT=3
|
||||
VETO_SIG_IN=false
|
||||
B_IN_OFF=0
|
||||
B_IN_ON=129
|
||||
VETO_PING_SEC=6
|
||||
VETO_SCADUTO=TRUE
|
||||
|
||||
[BRANCH]
|
||||
NAME=master
|
||||
|
||||
; Tags manuali
|
||||
[TAGS]
|
||||
Customer=JETCO
|
||||
HostOS=WIN
|
||||
HostName=IOB-WIN-09
|
||||
HostAddr=192.168.1.133
|
||||
@@ -142,9 +142,8 @@
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="DATA\CONF\3024-PING.ini">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="DATA\CONF\3024-PING.ini" />
|
||||
<None Include="DATA\CONF\3023-PING.ini" />
|
||||
<None Include="DATA\CONF\SIMUL_07.ini" />
|
||||
<None Include="DATA\CONF\SIMUL_07.json" />
|
||||
<None Include="DATA\CONF\SIMUL_08.ini">
|
||||
|
||||
Reference in New Issue
Block a user