diff --git a/.DS_Store b/.DS_Store index ea3918d..40d32a3 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Device_Supervisor-V2.2.1.tar.gz b/Device_Supervisor-V2.2.1.tar.gz new file mode 100644 index 0000000..39f213f Binary files /dev/null and b/Device_Supervisor-V2.2.1.tar.gz differ diff --git a/IG502-V2.0.0.r14208.bin b/IG502-V2.0.0.r14208.bin new file mode 100644 index 0000000..c4accd9 Binary files /dev/null and b/IG502-V2.0.0.r14208.bin differ diff --git a/IG502-V2.0.0.r14218.bin b/IG502-V2.0.0.r14218.bin new file mode 100644 index 0000000..926b331 Binary files /dev/null and b/IG502-V2.0.0.r14218.bin differ diff --git a/Pub_Sub/.DS_Store b/Pub_Sub/.DS_Store index 8589417..8183c9c 100644 Binary files a/Pub_Sub/.DS_Store and b/Pub_Sub/.DS_Store differ diff --git a/Pub_Sub/__pycache__/convert_config.cpython-310.pyc b/Pub_Sub/__pycache__/convert_config.cpython-310.pyc new file mode 100644 index 0000000..c31ca6a Binary files /dev/null and b/Pub_Sub/__pycache__/convert_config.cpython-310.pyc differ diff --git a/Pub_Sub/advvfdipp/.DS_Store b/Pub_Sub/advvfdipp/.DS_Store index 3086313..83012be 100644 Binary files a/Pub_Sub/advvfdipp/.DS_Store and b/Pub_Sub/advvfdipp/.DS_Store differ diff --git a/Pub_Sub/advvfdipp/advvfdipp_tags.json b/Pub_Sub/advvfdipp/advvfdipp_tags.json new file mode 100644 index 0000000..4701fd1 --- /dev/null +++ b/Pub_Sub/advvfdipp/advvfdipp_tags.json @@ -0,0 +1,82565 @@ +[ + { + "tag_name": "Local:1:C", + "dim": 0, + "instance_id": 3, + "symbol_address": 108464, + "symbol_object_address": 868076, + "software_control": 201392133, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1036, + "data_type": { + "name": "AB:Embedded_DiscreteIO:C:0", + "internal_tags": { + "CfgSize": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "CfgIDNum": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Reserved": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Pt00FilterOffOn": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt00FilterOnOff": { + "offset": 14, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt01FilterOffOn": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt01FilterOnOff": { + "offset": 18, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt02FilterOffOn": { + "offset": 20, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt02FilterOnOff": { + "offset": 22, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt03FilterOffOn": { + "offset": 24, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt03FilterOnOff": { + "offset": 26, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt04FilterOffOn": { + "offset": 28, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt04FilterOnOff": { + "offset": 30, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt05FilterOffOn": { + "offset": 32, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt05FilterOnOff": { + "offset": 34, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt06FilterOffOn": { + "offset": 36, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt06FilterOnOff": { + "offset": 38, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt07FilterOffOn": { + "offset": 40, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt07FilterOnOff": { + "offset": 42, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt08FilterOffOn": { + "offset": 44, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt08FilterOnOff": { + "offset": 46, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt09FilterOffOn": { + "offset": 48, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt09FilterOnOff": { + "offset": 50, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt10FilterOffOn": { + "offset": 52, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt10FilterOnOff": { + "offset": 54, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt11FilterOffOn": { + "offset": 56, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt11FilterOnOff": { + "offset": 58, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt12FilterOffOn": { + "offset": 60, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt12FilterOnOff": { + "offset": 62, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt13FilterOffOn": { + "offset": 64, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt13FilterOnOff": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt14FilterOffOn": { + "offset": 68, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt14FilterOnOff": { + "offset": 70, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt15FilterOffOn": { + "offset": 72, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Pt15FilterOnOff": { + "offset": 74, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "FaultMode": { + "offset": 76, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "FaultValue": { + "offset": 78, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "ProgMode": { + "offset": 80, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "ProgValue": { + "offset": 82, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "COSOnOffEn": { + "offset": 84, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "COSOffOnEn": { + "offset": 86, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + } + }, + "attributes": [ + "CfgSize", + "CfgIDNum", + "Reserved", + "Pt00FilterOffOn", + "Pt00FilterOnOff", + "Pt01FilterOffOn", + "Pt01FilterOnOff", + "Pt02FilterOffOn", + "Pt02FilterOnOff", + "Pt03FilterOffOn", + "Pt03FilterOnOff", + "Pt04FilterOffOn", + "Pt04FilterOnOff", + "Pt05FilterOffOn", + "Pt05FilterOnOff", + "Pt06FilterOffOn", + "Pt06FilterOnOff", + "Pt07FilterOffOn", + "Pt07FilterOnOff", + "Pt08FilterOffOn", + "Pt08FilterOnOff", + "Pt09FilterOffOn", + "Pt09FilterOnOff", + "Pt10FilterOffOn", + "Pt10FilterOnOff", + "Pt11FilterOffOn", + "Pt11FilterOnOff", + "Pt12FilterOffOn", + "Pt12FilterOnOff", + "Pt13FilterOffOn", + "Pt13FilterOnOff", + "Pt14FilterOffOn", + "Pt14FilterOnOff", + "Pt15FilterOffOn", + "Pt15FilterOnOff", + "FaultMode", + "FaultValue", + "ProgMode", + "ProgValue", + "COSOnOffEn", + "COSOffOnEn" + ], + "template": { + "object_definition_size": 286, + "structure_size": 88, + "member_count": 41, + "structure_handle": 29488 + } + } + }, + { + "tag_name": "Local:1:I", + "dim": 0, + "instance_id": 5, + "symbol_address": 63966000, + "symbol_object_address": 868156, + "software_control": 201392134, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 3295, + "data_type": { + "name": "AB:Embedded_DiscreteIO:I:0", + "internal_tags": { + "Fault": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Data": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + } + }, + "attributes": [ + "Fault", + "Data" + ], + "template": { + "object_definition_size": 21, + "structure_size": 8, + "member_count": 2, + "structure_handle": 51616 + } + } + }, + { + "tag_name": "Local:1:O", + "dim": 0, + "instance_id": 6, + "symbol_address": 63965912, + "symbol_object_address": 868196, + "software_control": 201392136, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 2118, + "data_type": { + "name": "AB:Embedded_DiscreteIO:O:0", + "internal_tags": { + "Data": { + "offset": 0, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + } + }, + "attributes": [ + "Data" + ], + "template": { + "object_definition_size": 17, + "structure_size": 4, + "member_count": 1, + "structure_handle": 50961 + } + } + }, + { + "tag_name": "Local:2:C", + "dim": 0, + "instance_id": 9, + "symbol_address": 53160, + "symbol_object_address": 868316, + "software_control": 201392193, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 687, + "data_type": { + "name": "AB:1734_IE8:C:0", + "internal_tags": { + "CfgSize": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "CfgIDNum": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Reserved": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Ch0LowEngineering": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch0HighEngineering": { + "offset": 14, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch0DigitalFilter": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch0LAlarmLimit": { + "offset": 18, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch0HAlarmLimit": { + "offset": 20, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch0LLAlarmLimit": { + "offset": 22, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch0HHAlarmLimit": { + "offset": 24, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch0RangeType": { + "offset": 26, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch0LimitAlarmLatch": { + "offset": 27, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch0AlarmDisable": { + "offset": 28, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Pad0": { + "offset": 29, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch1LowEngineering": { + "offset": 30, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch1HighEngineering": { + "offset": 32, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch1DigitalFilter": { + "offset": 34, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch1LAlarmLimit": { + "offset": 36, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch1HAlarmLimit": { + "offset": 38, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch1LLAlarmLimit": { + "offset": 40, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch1HHAlarmLimit": { + "offset": 42, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch1RangeType": { + "offset": 44, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch1LimitAlarmLatch": { + "offset": 45, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch1AlarmDisable": { + "offset": 46, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Pad1": { + "offset": 47, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch2LowEngineering": { + "offset": 48, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch2HighEngineering": { + "offset": 50, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch2DigitalFilter": { + "offset": 52, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch2LAlarmLimit": { + "offset": 54, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch2HAlarmLimit": { + "offset": 56, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch2LLAlarmLimit": { + "offset": 58, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch2HHAlarmLimit": { + "offset": 60, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch2RangeType": { + "offset": 62, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch2LimitAlarmLatch": { + "offset": 63, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch2AlarmDisable": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Pad2": { + "offset": 65, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch3LowEngineering": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch3HighEngineering": { + "offset": 68, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch3DigitalFilter": { + "offset": 70, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch3LAlarmLimit": { + "offset": 72, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch3HAlarmLimit": { + "offset": 74, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch3LLAlarmLimit": { + "offset": 76, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch3HHAlarmLimit": { + "offset": 78, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch3RangeType": { + "offset": 80, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch3LimitAlarmLatch": { + "offset": 81, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch3AlarmDisable": { + "offset": 82, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Pad3": { + "offset": 83, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch4LowEngineering": { + "offset": 84, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch4HighEngineering": { + "offset": 86, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch4DigitalFilter": { + "offset": 88, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch4LAlarmLimit": { + "offset": 90, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch4HAlarmLimit": { + "offset": 92, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch4LLAlarmLimit": { + "offset": 94, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch4HHAlarmLimit": { + "offset": 96, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch4RangeType": { + "offset": 98, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch4LimitAlarmLatch": { + "offset": 99, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch4AlarmDisable": { + "offset": 100, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Pad4": { + "offset": 101, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch5LowEngineering": { + "offset": 102, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch5HighEngineering": { + "offset": 104, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch5DigitalFilter": { + "offset": 106, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch5LAlarmLimit": { + "offset": 108, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch5HAlarmLimit": { + "offset": 110, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch5LLAlarmLimit": { + "offset": 112, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch5HHAlarmLimit": { + "offset": 114, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch5RangeType": { + "offset": 116, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch5LimitAlarmLatch": { + "offset": 117, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch5AlarmDisable": { + "offset": 118, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Pad5": { + "offset": 119, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch6LowEngineering": { + "offset": 120, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch6HighEngineering": { + "offset": 122, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch6DigitalFilter": { + "offset": 124, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch6LAlarmLimit": { + "offset": 126, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch6HAlarmLimit": { + "offset": 128, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch6LLAlarmLimit": { + "offset": 130, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch6HHAlarmLimit": { + "offset": 132, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch6RangeType": { + "offset": 134, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch6LimitAlarmLatch": { + "offset": 135, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch6AlarmDisable": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Pad6": { + "offset": 137, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch7LowEngineering": { + "offset": 138, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch7HighEngineering": { + "offset": 140, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch7DigitalFilter": { + "offset": 142, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch7LAlarmLimit": { + "offset": 144, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch7HAlarmLimit": { + "offset": 146, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch7LLAlarmLimit": { + "offset": 148, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch7HHAlarmLimit": { + "offset": 150, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch7RangeType": { + "offset": 152, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch7LimitAlarmLatch": { + "offset": 153, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch7AlarmDisable": { + "offset": 154, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "NotchFilter": { + "offset": 155, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "RealTimeSample": { + "offset": 156, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + } + }, + "attributes": [ + "CfgSize", + "CfgIDNum", + "Reserved", + "Ch0LowEngineering", + "Ch0HighEngineering", + "Ch0DigitalFilter", + "Ch0LAlarmLimit", + "Ch0HAlarmLimit", + "Ch0LLAlarmLimit", + "Ch0HHAlarmLimit", + "Ch0RangeType", + "Ch0LimitAlarmLatch", + "Ch0AlarmDisable", + "Pad0", + "Ch1LowEngineering", + "Ch1HighEngineering", + "Ch1DigitalFilter", + "Ch1LAlarmLimit", + "Ch1HAlarmLimit", + "Ch1LLAlarmLimit", + "Ch1HHAlarmLimit", + "Ch1RangeType", + "Ch1LimitAlarmLatch", + "Ch1AlarmDisable", + "Pad1", + "Ch2LowEngineering", + "Ch2HighEngineering", + "Ch2DigitalFilter", + "Ch2LAlarmLimit", + "Ch2HAlarmLimit", + "Ch2LLAlarmLimit", + "Ch2HHAlarmLimit", + "Ch2RangeType", + "Ch2LimitAlarmLatch", + "Ch2AlarmDisable", + "Pad2", + "Ch3LowEngineering", + "Ch3HighEngineering", + "Ch3DigitalFilter", + "Ch3LAlarmLimit", + "Ch3HAlarmLimit", + "Ch3LLAlarmLimit", + "Ch3HHAlarmLimit", + "Ch3RangeType", + "Ch3LimitAlarmLatch", + "Ch3AlarmDisable", + "Pad3", + "Ch4LowEngineering", + "Ch4HighEngineering", + "Ch4DigitalFilter", + "Ch4LAlarmLimit", + "Ch4HAlarmLimit", + "Ch4LLAlarmLimit", + "Ch4HHAlarmLimit", + "Ch4RangeType", + "Ch4LimitAlarmLatch", + "Ch4AlarmDisable", + "Pad4", + "Ch5LowEngineering", + "Ch5HighEngineering", + "Ch5DigitalFilter", + "Ch5LAlarmLimit", + "Ch5HAlarmLimit", + "Ch5LLAlarmLimit", + "Ch5HHAlarmLimit", + "Ch5RangeType", + "Ch5LimitAlarmLatch", + "Ch5AlarmDisable", + "Pad5", + "Ch6LowEngineering", + "Ch6HighEngineering", + "Ch6DigitalFilter", + "Ch6LAlarmLimit", + "Ch6HAlarmLimit", + "Ch6LLAlarmLimit", + "Ch6HHAlarmLimit", + "Ch6RangeType", + "Ch6LimitAlarmLatch", + "Ch6AlarmDisable", + "Pad6", + "Ch7LowEngineering", + "Ch7HighEngineering", + "Ch7DigitalFilter", + "Ch7LAlarmLimit", + "Ch7HAlarmLimit", + "Ch7LLAlarmLimit", + "Ch7HHAlarmLimit", + "Ch7RangeType", + "Ch7LimitAlarmLatch", + "Ch7AlarmDisable", + "NotchFilter", + "RealTimeSample" + ], + "template": { + "object_definition_size": 636, + "structure_size": 160, + "member_count": 92, + "structure_handle": 36620 + } + } + }, + { + "tag_name": "Local:2:I", + "dim": 0, + "instance_id": 11, + "symbol_address": 63965184, + "symbol_object_address": 868396, + "software_control": 201392195, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 3798, + "data_type": { + "name": "AB:1734_IE8:I:0", + "internal_tags": { + "Fault": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Ch0Data": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch1Data": { + "offset": 6, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch2Data": { + "offset": 8, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch3Data": { + "offset": 10, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch4Data": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch5Data": { + "offset": 14, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch6Data": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch7Data": { + "offset": 18, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Ch0Status": { + "offset": 20, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch0Fault": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ch0Calibration": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Ch0LAlarm": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Ch0HAlarm": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Ch0LLAlarm": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Ch0HHAlarm": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Ch0Underrange": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Ch0Overrange": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Ch1Status": { + "offset": 21, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch1Fault": { + "offset": 21, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ch1Calibration": { + "offset": 21, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Ch1LAlarm": { + "offset": 21, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Ch1HAlarm": { + "offset": 21, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Ch1LLAlarm": { + "offset": 21, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Ch1HHAlarm": { + "offset": 21, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Ch1Underrange": { + "offset": 21, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Ch1Overrange": { + "offset": 21, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Ch2Status": { + "offset": 22, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch2Fault": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ch2Calibration": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Ch2LAlarm": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Ch2HAlarm": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Ch2LLAlarm": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Ch2HHAlarm": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Ch2Underrange": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Ch2Overrange": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Ch3Status": { + "offset": 23, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch3Fault": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ch3Calibration": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Ch3LAlarm": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Ch3HAlarm": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Ch3LLAlarm": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Ch3HHAlarm": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Ch3Underrange": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Ch3Overrange": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Ch4Status": { + "offset": 24, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch4Fault": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ch4Calibration": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Ch4LAlarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Ch4HAlarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Ch4LLAlarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Ch4HHAlarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Ch4Underrange": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Ch4Overrange": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Ch5Status": { + "offset": 25, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch5Fault": { + "offset": 25, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ch5Calibration": { + "offset": 25, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Ch5LAlarm": { + "offset": 25, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Ch5HAlarm": { + "offset": 25, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Ch5LLAlarm": { + "offset": 25, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Ch5HHAlarm": { + "offset": 25, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Ch5Underrange": { + "offset": 25, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Ch5Overrange": { + "offset": 25, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Ch6Status": { + "offset": 26, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch6Fault": { + "offset": 26, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ch6Calibration": { + "offset": 26, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Ch6LAlarm": { + "offset": 26, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Ch6HAlarm": { + "offset": 26, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Ch6LLAlarm": { + "offset": 26, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Ch6HHAlarm": { + "offset": 26, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Ch6Underrange": { + "offset": 26, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Ch6Overrange": { + "offset": 26, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Ch7Status": { + "offset": 27, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Ch7Fault": { + "offset": 27, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ch7Calibration": { + "offset": 27, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Ch7LAlarm": { + "offset": 27, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Ch7HAlarm": { + "offset": 27, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Ch7LLAlarm": { + "offset": 27, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Ch7HHAlarm": { + "offset": 27, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Ch7Underrange": { + "offset": 27, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Ch7Overrange": { + "offset": 27, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + } + }, + "attributes": [ + "Fault", + "Ch0Data", + "Ch1Data", + "Ch2Data", + "Ch3Data", + "Ch4Data", + "Ch5Data", + "Ch6Data", + "Ch7Data", + "Ch0Status", + "Ch0Fault", + "Ch0Calibration", + "Ch0LAlarm", + "Ch0HAlarm", + "Ch0LLAlarm", + "Ch0HHAlarm", + "Ch0Underrange", + "Ch0Overrange", + "Ch1Status", + "Ch1Fault", + "Ch1Calibration", + "Ch1LAlarm", + "Ch1HAlarm", + "Ch1LLAlarm", + "Ch1HHAlarm", + "Ch1Underrange", + "Ch1Overrange", + "Ch2Status", + "Ch2Fault", + "Ch2Calibration", + "Ch2LAlarm", + "Ch2HAlarm", + "Ch2LLAlarm", + "Ch2HHAlarm", + "Ch2Underrange", + "Ch2Overrange", + "Ch3Status", + "Ch3Fault", + "Ch3Calibration", + "Ch3LAlarm", + "Ch3HAlarm", + "Ch3LLAlarm", + "Ch3HHAlarm", + "Ch3Underrange", + "Ch3Overrange", + "Ch4Status", + "Ch4Fault", + "Ch4Calibration", + "Ch4LAlarm", + "Ch4HAlarm", + "Ch4LLAlarm", + "Ch4HHAlarm", + "Ch4Underrange", + "Ch4Overrange", + "Ch5Status", + "Ch5Fault", + "Ch5Calibration", + "Ch5LAlarm", + "Ch5HAlarm", + "Ch5LLAlarm", + "Ch5HHAlarm", + "Ch5Underrange", + "Ch5Overrange", + "Ch6Status", + "Ch6Fault", + "Ch6Calibration", + "Ch6LAlarm", + "Ch6HAlarm", + "Ch6LLAlarm", + "Ch6HHAlarm", + "Ch6Underrange", + "Ch6Overrange", + "Ch7Status", + "Ch7Fault", + "Ch7Calibration", + "Ch7LAlarm", + "Ch7HAlarm", + "Ch7LLAlarm", + "Ch7HHAlarm", + "Ch7Underrange", + "Ch7Overrange" + ], + "template": { + "object_definition_size": 476, + "structure_size": 28, + "member_count": 81, + "structure_handle": 23230 + } + } + }, + { + "tag_name": "pf753_estop_enable", + "dim": 0, + "instance_id": 12, + "symbol_address": 28104, + "symbol_object_address": 868436, + "software_control": 1140916438, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "VFD_755:I", + "dim": 0, + "instance_id": 15, + "symbol_address": 63965768, + "symbol_object_address": 868556, + "software_control": 201392141, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 328, + "data_type": { + "name": "AB:PowerFlex755_E_DD0FCA35:I:0", + "internal_tags": { + "pad": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DriveStatus": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DriveStatus_Ready": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus_Active": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus_CommandDir": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus_ActualDir": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus_Accelerating": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus_Decelerating": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus_Alarm": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus_Faulted": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DriveStatus_AtSpeed": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus_Manual": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus_SpdRefBit0": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus_SpdRefBit1": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus_SpdRefBit2": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus_SpdRefBit3": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus_SpdRefBit4": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus_Running": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus_Jogging": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus_Stopping": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus_DCBraking": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus_DBActive": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus_SpeedMode": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus_PositionMode": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus_TorqueMode": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DriveStatus_AtZeroSpeed": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus_AtHome": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus_AtLimit": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus_CurrLimit": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus_BusFrqReg": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus_EnableOn": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus_MotorOL": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus_Regen": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Feedback": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TorqueCurFdbk": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OutputCurrent": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OutputPower": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ElapsedMWH": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ElapsedRunTime": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SpeedUnits": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PredMaintSts": { + "offset": 36, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PredMaintSts_HeatsinkFan": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PredMaintSts_InternalFan": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PredMaintSts_MtrBearing": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PredMaintSts_MtrLube": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PredMaintSts_MchBearing": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PredMaintSts_MchLube": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PredMaintSts_Reserved": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PredMaintSts_Reserved1": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PredMaintSts_Reserved2": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PredMaintSts_Reserved3": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PredMaintSts_Reserved4": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PredMaintSts_Reserved5": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PredMaintSts_Reserved6": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PredMaintSts_Reserved7": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PredMaintSts_Reserved8": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PredMaintSts_Master": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "StartInhibits": { + "offset": 40, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "StartInhibits_Faulted": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "StartInhibits_Alarm": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "StartInhibits_Enable": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "StartInhibits_Precharge": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "StartInhibits_Stop": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "StartInhibits_Database": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "StartInhibits_Startup": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "StartInhibits_Safety": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "StartInhibits_Sleep": { + "offset": 41, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "StartInhibits_Profiler": { + "offset": 41, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "StartInhibits_CommutNotCfg": { + "offset": 41, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus2": { + "offset": 44, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DriveStatus2_AutoRstrAct": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus2_AuRstrCntDwn": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus2_HSFanOn": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus2_Reserved": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus2_FluxBraking": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus2_FdbkLossSwO": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus2_Reserved1": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus2_Reserved2": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DriveStatus2_PrchrgClosed": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus2_Autotuning": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus2_PIDFBLoss": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus2_AccelRate": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus2_DecelRate": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveOLCount": { + "offset": 48, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "DriveTempC": { + "offset": 52, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "LastFaultCode": { + "offset": 56, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "FaultStatusA": { + "offset": 60, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "FaultStatusA_PowerLoss": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusA_UnderVoltage": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusA_MotorOL": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusA_LoadLoss": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusA_InPhaseLoss": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusA_OutPhaseLoss": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusA_DecelInhib": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "FaultStatusA_ShearPin1": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "FaultStatusA_ShearPin2": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusA_PriFdbkLoss": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusA_AltFdbkLoss": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusA_AuxFdbkLoss": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusA_PosFdbkLoss": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusA_ExtPrchrgErr": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusB": { + "offset": 64, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "FaultStatusB_AuxInputFlt": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusB_OverVoltage": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusB_DriveOL": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusB_HeatsinkOT": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusB_TransistorOT": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusB_SinkUnderTmp": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusB_ExcessLoad": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "FaultStatusB_OverspdLmt": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "FaultStatusB_PrchrgOpen": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusB_SafetyBrdFlt": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusB_IRVoltsRange": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusB_FluxAmpsRang": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusB_IXOVoltRange": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusB_AuRstExhaust": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusB_SWOverCur": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "FaultStatusB_HWOverCur": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "FaultStatusB_TrqPrvSpdBnd": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusB_TPEnclsCfg": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusB_GroundFault": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusB_OWAlarmTO": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusB_OverTravel": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusB_TrvlLimCflct": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusB_EndLmtSw": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "ElapsedkWH": { + "offset": 68, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "pad", + "DriveStatus", + "DriveStatus_Ready", + "DriveStatus_Active", + "DriveStatus_CommandDir", + "DriveStatus_ActualDir", + "DriveStatus_Accelerating", + "DriveStatus_Decelerating", + "DriveStatus_Alarm", + "DriveStatus_Faulted", + "DriveStatus_AtSpeed", + "DriveStatus_Manual", + "DriveStatus_SpdRefBit0", + "DriveStatus_SpdRefBit1", + "DriveStatus_SpdRefBit2", + "DriveStatus_SpdRefBit3", + "DriveStatus_SpdRefBit4", + "DriveStatus_Running", + "DriveStatus_Jogging", + "DriveStatus_Stopping", + "DriveStatus_DCBraking", + "DriveStatus_DBActive", + "DriveStatus_SpeedMode", + "DriveStatus_PositionMode", + "DriveStatus_TorqueMode", + "DriveStatus_AtZeroSpeed", + "DriveStatus_AtHome", + "DriveStatus_AtLimit", + "DriveStatus_CurrLimit", + "DriveStatus_BusFrqReg", + "DriveStatus_EnableOn", + "DriveStatus_MotorOL", + "DriveStatus_Regen", + "Feedback", + "TorqueCurFdbk", + "OutputCurrent", + "OutputPower", + "ElapsedMWH", + "ElapsedRunTime", + "SpeedUnits", + "PredMaintSts", + "PredMaintSts_HeatsinkFan", + "PredMaintSts_InternalFan", + "PredMaintSts_MtrBearing", + "PredMaintSts_MtrLube", + "PredMaintSts_MchBearing", + "PredMaintSts_MchLube", + "PredMaintSts_Reserved", + "PredMaintSts_Reserved1", + "PredMaintSts_Reserved2", + "PredMaintSts_Reserved3", + "PredMaintSts_Reserved4", + "PredMaintSts_Reserved5", + "PredMaintSts_Reserved6", + "PredMaintSts_Reserved7", + "PredMaintSts_Reserved8", + "PredMaintSts_Master", + "StartInhibits", + "StartInhibits_Faulted", + "StartInhibits_Alarm", + "StartInhibits_Enable", + "StartInhibits_Precharge", + "StartInhibits_Stop", + "StartInhibits_Database", + "StartInhibits_Startup", + "StartInhibits_Safety", + "StartInhibits_Sleep", + "StartInhibits_Profiler", + "StartInhibits_CommutNotCfg", + "DriveStatus2", + "DriveStatus2_AutoRstrAct", + "DriveStatus2_AuRstrCntDwn", + "DriveStatus2_HSFanOn", + "DriveStatus2_Reserved", + "DriveStatus2_FluxBraking", + "DriveStatus2_FdbkLossSwO", + "DriveStatus2_Reserved1", + "DriveStatus2_Reserved2", + "DriveStatus2_PrchrgClosed", + "DriveStatus2_Autotuning", + "DriveStatus2_PIDFBLoss", + "DriveStatus2_AccelRate", + "DriveStatus2_DecelRate", + "DriveOLCount", + "DriveTempC", + "LastFaultCode", + "FaultStatusA", + "FaultStatusA_PowerLoss", + "FaultStatusA_UnderVoltage", + "FaultStatusA_MotorOL", + "FaultStatusA_LoadLoss", + "FaultStatusA_InPhaseLoss", + "FaultStatusA_OutPhaseLoss", + "FaultStatusA_DecelInhib", + "FaultStatusA_ShearPin1", + "FaultStatusA_ShearPin2", + "FaultStatusA_PriFdbkLoss", + "FaultStatusA_AltFdbkLoss", + "FaultStatusA_AuxFdbkLoss", + "FaultStatusA_PosFdbkLoss", + "FaultStatusA_ExtPrchrgErr", + "FaultStatusB", + "FaultStatusB_AuxInputFlt", + "FaultStatusB_OverVoltage", + "FaultStatusB_DriveOL", + "FaultStatusB_HeatsinkOT", + "FaultStatusB_TransistorOT", + "FaultStatusB_SinkUnderTmp", + "FaultStatusB_ExcessLoad", + "FaultStatusB_OverspdLmt", + "FaultStatusB_PrchrgOpen", + "FaultStatusB_SafetyBrdFlt", + "FaultStatusB_IRVoltsRange", + "FaultStatusB_FluxAmpsRang", + "FaultStatusB_IXOVoltRange", + "FaultStatusB_AuRstExhaust", + "FaultStatusB_SWOverCur", + "FaultStatusB_HWOverCur", + "FaultStatusB_TrqPrvSpdBnd", + "FaultStatusB_TPEnclsCfg", + "FaultStatusB_GroundFault", + "FaultStatusB_OWAlarmTO", + "FaultStatusB_OverTravel", + "FaultStatusB_TrvlLimCflct", + "FaultStatusB_EndLmtSw", + "ElapsedkWH" + ], + "template": { + "object_definition_size": 1067, + "structure_size": 72, + "member_count": 126, + "structure_handle": 47828 + } + } + }, + { + "tag_name": "VFD_755:O", + "dim": 0, + "instance_id": 16, + "symbol_address": 63965440, + "symbol_object_address": 868596, + "software_control": 201392143, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1978, + "data_type": { + "name": "AB:PowerFlex755_E_54376CB2:O:0", + "internal_tags": { + "LogicCommand": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "LogicCommand_Stop": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "LogicCommand_Start": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "LogicCommand_Jog1": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "LogicCommand_ClearFaults": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "LogicCommand_Forward": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "LogicCommand_Reverse": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "LogicCommand_Manual": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "LogicCommand_AccelTime1": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "LogicCommand_AccelTime2": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "LogicCommand_DecelTime1": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "LogicCommand_DecelTime2": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "LogicCommand_SpdRefSel0": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "LogicCommand_SpdRefSel1": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "LogicCommand_SpdRefSel2": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "LogicCommand_CoastStop": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "LogicCommand_CLimitStop": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "LogicCommand_Run": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "LogicCommand_Jog2": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Reference": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MotorNPVolts": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MotorNPAmps": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MotorNPHertz": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MotorNPRPM": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MotorNPPower": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MtrOLFactor": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MotorPoles": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "MinFwdSpeed": { + "offset": 36, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MaxFwdSpeed": { + "offset": 40, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PWMFrequency": { + "offset": 44, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ResetMeters": { + "offset": 48, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "CurrentLimit1": { + "offset": 52, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "LogicCommand", + "LogicCommand_Stop", + "LogicCommand_Start", + "LogicCommand_Jog1", + "LogicCommand_ClearFaults", + "LogicCommand_Forward", + "LogicCommand_Reverse", + "LogicCommand_Manual", + "LogicCommand_AccelTime1", + "LogicCommand_AccelTime2", + "LogicCommand_DecelTime1", + "LogicCommand_DecelTime2", + "LogicCommand_SpdRefSel0", + "LogicCommand_SpdRefSel1", + "LogicCommand_SpdRefSel2", + "LogicCommand_CoastStop", + "LogicCommand_CLimitStop", + "LogicCommand_Run", + "LogicCommand_Jog2", + "Reference", + "MotorNPVolts", + "MotorNPAmps", + "MotorNPHertz", + "MotorNPRPM", + "MotorNPPower", + "MtrOLFactor", + "MotorPoles", + "MinFwdSpeed", + "MaxFwdSpeed", + "PWMFrequency", + "ResetMeters", + "CurrentLimit1" + ], + "template": { + "object_definition_size": 250, + "structure_size": 56, + "member_count": 32, + "structure_handle": 6549 + } + } + }, + { + "tag_name": "in_Analog_Flowmeter", + "dim": 0, + "instance_id": 17, + "symbol_address": 63965190, + "symbol_object_address": 868636, + "software_control": 1073807371, + "alias": "True", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "rp_ALL", + "dim": 0, + "instance_id": 18, + "symbol_address": 85704, + "symbol_object_address": 868676, + "software_control": 1140916250, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "sp_ALL", + "dim": 0, + "instance_id": 19, + "symbol_address": 85608, + "symbol_object_address": 868716, + "software_control": 1140916253, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "cmd_Run", + "dim": 0, + "instance_id": 20, + "symbol_address": 85576, + "symbol_object_address": 868756, + "software_control": 1140916254, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "in_Analog_TubingPressure", + "dim": 0, + "instance_id": 21, + "symbol_address": 63965188, + "symbol_object_address": 868796, + "software_control": 1073807371, + "alias": "True", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "rp_TubingPressure", + "dim": 0, + "instance_id": 23, + "symbol_address": 85544, + "symbol_object_address": 868876, + "software_control": 1140916255, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "val_IntakePressure", + "dim": 0, + "instance_id": 24, + "symbol_address": 83752, + "symbol_object_address": 868916, + "software_control": 1879113778, + "alias": "True", + "external_access": "Read Only", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "rp_Flowmeter", + "dim": 0, + "instance_id": 25, + "symbol_address": 83616, + "symbol_object_address": 868956, + "software_control": 1140916257, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "sp_IntakeTemperature", + "dim": 0, + "instance_id": 26, + "symbol_address": 83584, + "symbol_object_address": 868996, + "software_control": 1140916258, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "rp_IntakePressure", + "dim": 0, + "instance_id": 27, + "symbol_address": 83552, + "symbol_object_address": 869036, + "software_control": 1140916259, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "rp_IntakeTemperature", + "dim": 0, + "instance_id": 28, + "symbol_address": 83520, + "symbol_object_address": 869076, + "software_control": 1140916260, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "cmd_Restart", + "dim": 0, + "instance_id": 29, + "symbol_address": 83488, + "symbol_object_address": 869116, + "software_control": 1140916261, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "sp_IntakePressure", + "dim": 0, + "instance_id": 30, + "symbol_address": 83456, + "symbol_object_address": 869156, + "software_control": 1140916262, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "val_TubingPressure", + "dim": 0, + "instance_id": 31, + "symbol_address": 64216, + "symbol_object_address": 869196, + "software_control": 1879113775, + "alias": "True", + "external_access": "Read Only", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "PowerFlex755", + "dim": 0, + "instance_id": 41, + "symbol_address": 76408, + "symbol_object_address": 869596, + "software_control": 67174445, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 2764, + "data_type": { + "name": "P_PF755", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_FwdPermOK": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_FwdNBPermOK": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_RevPermOK": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Inp_RevNBPermOK": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Inp_IntlkOK": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Inp_NBIntlkOK": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Inp_IOFault": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Inp_Sim": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_Hand": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Ovrd": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_OvrdCmd": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Inp_OvrdSpeed": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_HasReverse": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasJog": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AllowLocal": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HasFwdPermObj": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_HasRevPermObj": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_HasIntlkObj": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_HasResInhObj": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Cfg_HasRunTimeObj": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_SetTrack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_SetTrackOvrdHand": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_PCmdClear": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ProgDefault": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_OperStopPrio": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_OCmdResets": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_OvrdPermIntlk": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_ShedOnFailToStart": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_ShedOnIOFault": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Cfg_HasFailToStartAlm": { + "offset": 688, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasFailToStopAlm": { + "offset": 532, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasIntlkTripAlm": { + "offset": 376, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasDriveFaultAlm": { + "offset": 968, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasIOFaultAlm": { + "offset": 220, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_FailToStartResetReqd": { + "offset": 688, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_FailToStopResetReqd": { + "offset": 532, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_IntlkTripResetReqd": { + "offset": 376, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_DriveFaultResetReqd": { + "offset": 968, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_IOFaultResetReqd": { + "offset": 220, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_FailToStartAckReqd": { + "offset": 688, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_FailToStopAckReqd": { + "offset": 532, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_IntlkTripAckReqd": { + "offset": 376, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_DriveFaultAckReqd": { + "offset": 968, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_IOFaultAckReqd": { + "offset": 220, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_FailToStartSeverity": { + "offset": 692, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_FailToStopSeverity": { + "offset": 536, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_IntlkTripSeverity": { + "offset": 380, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_DriveFaultSeverity": { + "offset": 972, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_IOFaultSeverity": { + "offset": 224, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_MinSpdRef": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_MaxSpdRef": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_SpeedEUMin": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_SpeedEUMax": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_SpeedRawMin": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_SpeedRawMax": { + "offset": 32, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_SimRampT": { + "offset": 36, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailToStartT": { + "offset": 40, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailToStopT": { + "offset": 44, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_ResetPulseT": { + "offset": 48, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxJogT": { + "offset": 52, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_OperKeep": { + "offset": 56, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Cfg_ProgKeep": { + "offset": 57, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "PSet_SpeedRef": { + "offset": 60, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_Owner": { + "offset": 64, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "OSet_SpeedRef": { + "offset": 68, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PCmd_Start": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Stop": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Fwd": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Rev": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Acq": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_FailToStartAck": { + "offset": 689, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_FailToStartSuppress": { + "offset": 689, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_FailToStartUnsuppress": { + "offset": 689, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_FailToStartUnshelve": { + "offset": 689, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_FailToStopAck": { + "offset": 533, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_FailToStopSuppress": { + "offset": 533, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_FailToStopUnsuppress": { + "offset": 533, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_FailToStopUnshelve": { + "offset": 533, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_IntlkTripAck": { + "offset": 377, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_IntlkTripSuppress": { + "offset": 377, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_IntlkTripUnsuppress": { + "offset": 377, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_IntlkTripUnshelve": { + "offset": 377, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_DriveFaultAck": { + "offset": 969, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_DriveFaultSuppress": { + "offset": 969, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_DriveFaultUnsuppress": { + "offset": 969, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_DriveFaultUnshelve": { + "offset": 969, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_IOFaultAck": { + "offset": 221, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_IOFaultSuppress": { + "offset": 221, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_IOFaultUnsuppress": { + "offset": 221, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_IOFaultUnshelve": { + "offset": 221, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 72, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "OCmd_Start": { + "offset": 72, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Stop": { + "offset": 72, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Jog": { + "offset": 72, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Fwd": { + "offset": 72, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "OCmd_Rev": { + "offset": 72, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_Bypass": { + "offset": 72, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_Check": { + "offset": 72, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "MCmd_Disable": { + "offset": 72, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "MCmd_Enable": { + "offset": 73, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "MCmd_Acq": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_Unlock": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "OCmd_Reset": { + "offset": 73, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_ResetAckAll": { + "offset": 73, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Val_SpeedRef": { + "offset": 76, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_SpeedFdbk": { + "offset": 80, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_OutCurrent": { + "offset": 84, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_TorqCurrFdbk": { + "offset": 88, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_OutPower": { + "offset": 92, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_OvldC": { + "offset": 96, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_Temp": { + "offset": 100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_ElapsedMWHr": { + "offset": 104, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_ElapsedRunT": { + "offset": 108, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_SpeedRefSrc": { + "offset": 112, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SpeedEUMin": { + "offset": 116, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_SpeedEUMax": { + "offset": 120, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_LastFaultCode": { + "offset": 124, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "SrcQ_IO": { + "offset": 128, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "SrcQ": { + "offset": 129, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Cmd": { + "offset": 130, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Fdbk": { + "offset": 131, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Sts": { + "offset": 132, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Fault": { + "offset": 133, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Mode": { + "offset": 176, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Owner": { + "offset": 136, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_Notify": { + "offset": 140, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Sts_Stopped": { + "offset": 73, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_Starting": { + "offset": 73, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Running": { + "offset": 73, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Stopping": { + "offset": 73, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_Jogging": { + "offset": 73, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_CommandDir": { + "offset": 74, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_ActualDir": { + "offset": 74, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_Accel": { + "offset": 74, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Decel": { + "offset": 74, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_NotReady": { + "offset": 74, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Alarm": { + "offset": 74, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_AtSpeed": { + "offset": 74, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_SpeedLimited": { + "offset": 74, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_DriveSts1": { + "offset": 144, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_DriveSts2": { + "offset": 148, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_FaultStsA": { + "offset": 152, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_FaultStsB": { + "offset": 156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_PMSts": { + "offset": 160, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_StartInhibits": { + "offset": 164, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_Available": { + "offset": 75, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Bypass": { + "offset": 75, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_BypActive": { + "offset": 75, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Disabled": { + "offset": 75, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_NotRdy": { + "offset": 75, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Nrdy_Disabled": { + "offset": 75, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Nrdy_CfgErr": { + "offset": 75, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Nrdy_Intlk": { + "offset": 75, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost02": { + "offset": 168, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Nrdy_Perm": { + "offset": 168, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Nrdy_OperPrio": { + "offset": 168, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Nrdy_Fail": { + "offset": 168, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Nrdy_IOFault": { + "offset": 168, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Nrdy_Trip": { + "offset": 168, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Nrdy_DriveNR": { + "offset": 168, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Nrdy_NoMode": { + "offset": 168, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MaintByp": { + "offset": 168, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_AlmInh": { + "offset": 169, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Err": { + "offset": 169, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Timer": { + "offset": 169, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Err_Sim": { + "offset": 169, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Err_Alarm": { + "offset": 169, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Err_EU": { + "offset": 169, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Err_Raw": { + "offset": 169, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_RefLim": { + "offset": 169, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Hand": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Maint": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Ovrd": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_Prog": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_NoMode": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_FailToStart": { + "offset": 688, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_FailToStart": { + "offset": 754, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_FailToStart": { + "offset": 754, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailToStartDisabled": { + "offset": 755, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailToStartShelved": { + "offset": 754, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_FailToStartSuppressed": { + "offset": 754, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_FailToStop": { + "offset": 532, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_FailToStop": { + "offset": 598, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_FailToStop": { + "offset": 598, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailToStopDisabled": { + "offset": 599, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailToStopShelved": { + "offset": 598, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_FailToStopSuppressed": { + "offset": 598, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_IntlkTrip": { + "offset": 376, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_IntlkTrip": { + "offset": 442, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_IntlkTrip": { + "offset": 442, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_IntlkTripDisabled": { + "offset": 443, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_IntlkTripShelved": { + "offset": 442, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_IntlkTripSuppressed": { + "offset": 442, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_DriveFault": { + "offset": 968, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_DriveFault": { + "offset": 1034, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_DriveFault": { + "offset": 1034, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_DriveFaultDisabled": { + "offset": 1035, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_DriveFaultShelved": { + "offset": 1034, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_DriveFaultSuppressed": { + "offset": 1034, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_IOFault": { + "offset": 220, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_IOFault": { + "offset": 286, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_IOFault": { + "offset": 286, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_IOFaultDisabled": { + "offset": 287, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_IOFaultShelved": { + "offset": 286, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_IOFaultSuppressed": { + "offset": 286, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Start": { + "offset": 170, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Stop": { + "offset": 170, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_Jog": { + "offset": 170, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Fwd": { + "offset": 170, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Rev": { + "offset": 170, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Bypass": { + "offset": 170, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Check": { + "offset": 170, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 170, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Rdy_Enable": { + "offset": 171, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Reset": { + "offset": 171, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_ResetAckAll": { + "offset": 171, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_SpeedRef": { + "offset": 171, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "P_PF755": { + "offset": 171, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Mode": { + "offset": 172, + "tag_type": "struct", + "data_type": { + "name": "P_Mode", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_Hand": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Ovrd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_PCmdClear": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_OvrdOverLock": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_ProgDefault": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Acq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "MCmd_Acq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_UnlockRel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Sts_Hand": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Maint": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Ovrd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_Prog": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_ProgOperSel": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_NoMode": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Rdy_MAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_MRel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_OAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_OLock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_OUnlock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_ORel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "P_Mode": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_Locked": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_Prog": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_Maint": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inf_Lib": { + "offset": 12, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_Hand", + "Inp_Ovrd", + "Cfg_PCmdClear", + "Cfg_OvrdOverLock", + "Cfg_ProgDefault", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_UnlockRel", + "Val", + "Sts_Hand", + "Sts_Maint", + "Sts_Ovrd", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_ProgOperSel", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Rdy_MAcq", + "Rdy_MRel", + "Rdy_OAcq", + "Rdy_OLock", + "Rdy_OUnlock", + "Rdy_ORel", + "P_Mode", + "Wrk_Locked", + "Wrk_Prog", + "Wrk_Maint", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 228, + "structure_size": 48, + "member_count": 39, + "structure_handle": 16800 + } + }, + "array": 0 + }, + "IOFault": { + "offset": 220, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "IntlkTrip": { + "offset": 376, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "FailToStop": { + "offset": 532, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "FailToStart": { + "offset": 688, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Cfg_Tag": { + "offset": 844, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Label": { + "offset": 868, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Desc": { + "offset": 892, + "tag_type": "struct", + "data_type": { + "name": "STRING_40", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 40 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 40, + "template": { + "object_definition_size": 17, + "structure_size": 44, + "member_count": 2, + "structure_handle": 32239 + } + }, + "array": 0 + }, + "Wrk_Run": { + "offset": 171, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Wrk_StartRetrigT": { + "offset": 936, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_StopRetrigT": { + "offset": 948, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_RunFdbk": { + "offset": 171, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_Notify": { + "offset": 960, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_Bypass": { + "offset": 171, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost03": { + "offset": 964, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_Disabled": { + "offset": 964, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveFault": { + "offset": 968, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Val_DriveEU": { + "offset": 1124, + "tag_type": "struct", + "data_type": { + "name": "STRING_8", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 8 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 8, + "template": { + "object_definition_size": 16, + "structure_size": 12, + "member_count": 2, + "structure_handle": 54208 + } + }, + "array": 0 + }, + "Wrk_SpeedRef": { + "offset": 1136, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_Rev": { + "offset": 964, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Wrk_Jog": { + "offset": 964, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_ResetT": { + "offset": 1140, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ResetONS": { + "offset": 964, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_SpeedFdbkEU": { + "offset": 1152, + "tag_type": "struct", + "data_type": { + "name": "STRING_8", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 8 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 8, + "template": { + "object_definition_size": 16, + "structure_size": 12, + "member_count": 2, + "structure_handle": 54208 + } + }, + "array": 0 + }, + "Cfg_RevText": { + "offset": 1164, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_FwdText": { + "offset": 1184, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Wrk_StopT": { + "offset": 1204, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_StartT": { + "offset": 1216, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 1228, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_Cmd": { + "offset": 1229, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_Sts": { + "offset": 1230, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_Fault": { + "offset": 1231, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_Retrigger": { + "offset": 964, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_Step": { + "offset": 1232, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_ScanTime": { + "offset": 1236, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_ScanT": { + "offset": 1240, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_SimFdbkTgt": { + "offset": 1252, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inf_Type": { + "offset": 1256, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Wrk_JogT": { + "offset": 1276, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_FaultDescFSC": { + "offset": 1288, + "tag_type": "struct", + "data_type": { + "name": "CONTROL", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "LEN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "POS": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "EU": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "EM": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "ER": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "UL": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "IN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FD": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + } + }, + "attributes": [ + "Control", + "LEN", + "POS", + "EN", + "EU", + "DN", + "EM", + "ER", + "UL", + "IN", + "FD" + ], + "template": { + "object_definition_size": 51, + "structure_size": 12, + "member_count": 11, + "structure_handle": 3969 + } + }, + "array": 0 + }, + "Val_FaultDesc": { + "offset": 1300, + "tag_type": "struct", + "data_type": { + "name": "STRING_40", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 40 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 40, + "template": { + "object_definition_size": 17, + "structure_size": 44, + "member_count": 2, + "structure_handle": 32239 + } + }, + "array": 0 + }, + "Wrk_ProgKeep2ONS": { + "offset": 964, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Wrk_ProgKeep1ONS": { + "offset": 964, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_ProgKeep0ONS": { + "offset": 964, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Wrk_OperKeep2ONS": { + "offset": 965, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OperKeep1ONS": { + "offset": 965, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Wrk_OperKeep0ONS": { + "offset": 965, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inf_Lib": { + "offset": 1344, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Wrk_SrcQ": { + "offset": 1360, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_NotRdyONS": { + "offset": 965, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_NotRdy": { + "offset": 965, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_StartInhT": { + "offset": 1364, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_StopInhT": { + "offset": 1376, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_FwdPermOK", + "Inp_FwdNBPermOK", + "Inp_RevPermOK", + "Inp_RevNBPermOK", + "Inp_IntlkOK", + "Inp_NBIntlkOK", + "Inp_IOFault", + "Inp_Sim", + "Inp_Hand", + "Inp_Ovrd", + "Inp_OvrdCmd", + "Inp_OvrdSpeed", + "Inp_Reset", + "Cfg_HasReverse", + "Cfg_HasJog", + "Cfg_AllowLocal", + "Cfg_HasFwdPermObj", + "Cfg_HasRevPermObj", + "Cfg_HasIntlkObj", + "Cfg_HasResInhObj", + "Cfg_HasRunTimeObj", + "Cfg_SetTrack", + "Cfg_SetTrackOvrdHand", + "Cfg_PCmdClear", + "Cfg_ProgDefault", + "Cfg_OperStopPrio", + "Cfg_OCmdResets", + "Cfg_OvrdPermIntlk", + "Cfg_ShedOnFailToStart", + "Cfg_ShedOnIOFault", + "Cfg_HasFailToStartAlm", + "Cfg_HasFailToStopAlm", + "Cfg_HasIntlkTripAlm", + "Cfg_HasDriveFaultAlm", + "Cfg_HasIOFaultAlm", + "Cfg_FailToStartResetReqd", + "Cfg_FailToStopResetReqd", + "Cfg_IntlkTripResetReqd", + "Cfg_DriveFaultResetReqd", + "Cfg_IOFaultResetReqd", + "Cfg_FailToStartAckReqd", + "Cfg_FailToStopAckReqd", + "Cfg_IntlkTripAckReqd", + "Cfg_DriveFaultAckReqd", + "Cfg_IOFaultAckReqd", + "Cfg_FailToStartSeverity", + "Cfg_FailToStopSeverity", + "Cfg_IntlkTripSeverity", + "Cfg_DriveFaultSeverity", + "Cfg_IOFaultSeverity", + "Cfg_MinSpdRef", + "Cfg_MaxSpdRef", + "Cfg_SpeedEUMin", + "Cfg_SpeedEUMax", + "Cfg_SpeedRawMin", + "Cfg_SpeedRawMax", + "Cfg_SimRampT", + "Cfg_FailToStartT", + "Cfg_FailToStopT", + "Cfg_ResetPulseT", + "Cfg_MaxJogT", + "Cfg_OperKeep", + "Cfg_ProgKeep", + "PSet_SpeedRef", + "PSet_Owner", + "OSet_SpeedRef", + "PCmd_Start", + "PCmd_Stop", + "PCmd_Fwd", + "PCmd_Rev", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "PCmd_Reset", + "PCmd_FailToStartAck", + "PCmd_FailToStartSuppress", + "PCmd_FailToStartUnsuppress", + "PCmd_FailToStartUnshelve", + "PCmd_FailToStopAck", + "PCmd_FailToStopSuppress", + "PCmd_FailToStopUnsuppress", + "PCmd_FailToStopUnshelve", + "PCmd_IntlkTripAck", + "PCmd_IntlkTripSuppress", + "PCmd_IntlkTripUnsuppress", + "PCmd_IntlkTripUnshelve", + "PCmd_DriveFaultAck", + "PCmd_DriveFaultSuppress", + "PCmd_DriveFaultUnsuppress", + "PCmd_DriveFaultUnshelve", + "PCmd_IOFaultAck", + "PCmd_IOFaultSuppress", + "PCmd_IOFaultUnsuppress", + "PCmd_IOFaultUnshelve", + "OCmd_Start", + "OCmd_Stop", + "OCmd_Jog", + "OCmd_Fwd", + "OCmd_Rev", + "OCmd_Bypass", + "OCmd_Check", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_Unlock", + "OCmd_Reset", + "OCmd_ResetAckAll", + "Val_SpeedRef", + "Val_SpeedFdbk", + "Val_OutCurrent", + "Val_TorqCurrFdbk", + "Val_OutPower", + "Val_OvldC", + "Val_Temp", + "Val_ElapsedMWHr", + "Val_ElapsedRunT", + "Val_SpeedRefSrc", + "Val_SpeedEUMin", + "Val_SpeedEUMax", + "Val_LastFaultCode", + "SrcQ_IO", + "SrcQ", + "Val_Cmd", + "Val_Fdbk", + "Val_Sts", + "Val_Fault", + "Val_Mode", + "Val_Owner", + "Val_Notify", + "Sts_Stopped", + "Sts_Starting", + "Sts_Running", + "Sts_Stopping", + "Sts_Jogging", + "Sts_CommandDir", + "Sts_ActualDir", + "Sts_Accel", + "Sts_Decel", + "Sts_NotReady", + "Sts_Alarm", + "Sts_AtSpeed", + "Sts_SpeedLimited", + "Sts_DriveSts1", + "Sts_DriveSts2", + "Sts_FaultStsA", + "Sts_FaultStsB", + "Sts_PMSts", + "Sts_StartInhibits", + "Sts_Available", + "Sts_Bypass", + "Sts_BypActive", + "Sts_Disabled", + "Sts_NotRdy", + "Nrdy_Disabled", + "Nrdy_CfgErr", + "Nrdy_Intlk", + "Nrdy_Perm", + "Nrdy_OperPrio", + "Nrdy_Fail", + "Nrdy_IOFault", + "Nrdy_Trip", + "Nrdy_DriveNR", + "Nrdy_NoMode", + "Sts_MaintByp", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Sim", + "Err_Alarm", + "Err_EU", + "Err_Raw", + "Err_RefLim", + "Sts_Hand", + "Sts_Maint", + "Sts_Ovrd", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Sts_FailToStart", + "Alm_FailToStart", + "Ack_FailToStart", + "Sts_FailToStartDisabled", + "Sts_FailToStartShelved", + "Sts_FailToStartSuppressed", + "Sts_FailToStop", + "Alm_FailToStop", + "Ack_FailToStop", + "Sts_FailToStopDisabled", + "Sts_FailToStopShelved", + "Sts_FailToStopSuppressed", + "Sts_IntlkTrip", + "Alm_IntlkTrip", + "Ack_IntlkTrip", + "Sts_IntlkTripDisabled", + "Sts_IntlkTripShelved", + "Sts_IntlkTripSuppressed", + "Sts_DriveFault", + "Alm_DriveFault", + "Ack_DriveFault", + "Sts_DriveFaultDisabled", + "Sts_DriveFaultShelved", + "Sts_DriveFaultSuppressed", + "Sts_IOFault", + "Alm_IOFault", + "Ack_IOFault", + "Sts_IOFaultDisabled", + "Sts_IOFaultShelved", + "Sts_IOFaultSuppressed", + "Rdy_Start", + "Rdy_Stop", + "Rdy_Jog", + "Rdy_Fwd", + "Rdy_Rev", + "Rdy_Bypass", + "Rdy_Check", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Reset", + "Rdy_ResetAckAll", + "Rdy_SpeedRef", + "P_PF755", + "Mode", + "IOFault", + "IntlkTrip", + "FailToStop", + "FailToStart", + "Cfg_Tag", + "Cfg_Label", + "Cfg_Desc", + "Wrk_Run", + "Wrk_StartRetrigT", + "Wrk_StopRetrigT", + "Wrk_RunFdbk", + "Wrk_Notify", + "Wrk_Bypass", + "Wrk_Disabled", + "DriveFault", + "Val_DriveEU", + "Wrk_SpeedRef", + "Wrk_Rev", + "Wrk_Jog", + "Wrk_ResetT", + "Wrk_ResetONS", + "Cfg_SpeedFdbkEU", + "Cfg_RevText", + "Cfg_FwdText", + "Wrk_StopT", + "Wrk_StartT", + "Inf_Tab", + "Wrk_Cmd", + "Wrk_Sts", + "Wrk_Fault", + "Wrk_Retrigger", + "Wrk_Step", + "Wrk_ScanTime", + "Wrk_ScanT", + "Wrk_SimFdbkTgt", + "Inf_Type", + "Wrk_JogT", + "Wrk_FaultDescFSC", + "Val_FaultDesc", + "Wrk_ProgKeep2ONS", + "Wrk_ProgKeep1ONS", + "Wrk_ProgKeep0ONS", + "Wrk_OperKeep2ONS", + "Wrk_OperKeep1ONS", + "Wrk_OperKeep0ONS", + "Inf_Lib", + "Wrk_SrcQ", + "Wrk_NotRdyONS", + "Wrk_NotRdy", + "Wrk_StartInhT", + "Wrk_StopInhT" + ], + "template": { + "object_definition_size": 1874, + "structure_size": 1388, + "member_count": 284, + "structure_handle": 43630 + } + } + }, + { + "tag_name": "PF755_I", + "dim": 0, + "instance_id": 42, + "symbol_address": 76312, + "symbol_object_address": 869636, + "software_control": 67174446, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1122, + "data_type": { + "name": "P_PF755_Inp", + "internal_tags": { + "ZZZZZZZZZP_PF755_Inp_00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DriveStatus": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DriveStatus_Ready": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus_Active": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus_CommandDir": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus_ActualDir": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus_Accelerating": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus_Decelerating": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus_Alarm": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus_Faulted": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DriveStatus_AtSpeed": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus_Manual": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus_SpdRefBit0": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus_spdRefBit1": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus_SpdRefBit2": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus_SpdRefBit3": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus_SpdRefBit4": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus_Running": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus_Jogging": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus_Stopping": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus_DCBraking": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus_DBActive": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus_SpeedMode": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus_PositionMode": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus_TorqueMode": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DriveStatus_AtZeroSpeed": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus_AtHome": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus_AtLimit": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus_CurrLimit": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus_BusFrqReg": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus_EnableOn": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus_MotorOL": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus_Regen": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Feedback": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TorqueCurFdbk": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OutputCurrent": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OutputPower": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ElapsedMWH": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ElapsedRunTime": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SpeedUnits": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PredMaintSts": { + "offset": 36, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PredMaintSts_HeatskinkFan": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PredMaintSts_InternalFan": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PredMaintSts_MtrBearing": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PredMaintSts_MtrLube": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PredMaintSts_MchBearing": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PredMaintSts_MchLube": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PredMaintSts_Reserved": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PredMaintSts_Reserved1": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PredMaintSts_Reserved2": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PredMaintSts_Reserved3": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PredMaintSts_Reserved4": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PredMaintSts_Reserved5": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PredMaintSts_Reserved6": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PredMaintSts_Reserved7": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PredMaintSts_Reserved8": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PredMaintSts_Master": { + "offset": 38, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "StartInhibits": { + "offset": 40, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "StartInhibits_Faulted": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "StartInhibits_Alarm": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "StartInhibits_Enable": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "StartInhibits_Precharge": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "StartInhibits_Stop": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "StartInhibits_Database": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "StartInhibits_Startup": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "StartInhibits_Safety": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "StartInhibits_Sleep": { + "offset": 41, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "StartInhibits_Profiler": { + "offset": 41, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "StartInhibits_CommutNotCfg": { + "offset": 41, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus2": { + "offset": 44, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DriveStatus2_AutoRstrAct": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus2_AuRstrCntDwn": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus2_HSFanOn": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus2_Reserved": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus2_FluxBraking": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus2_FdbkLossSwO": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus2_Reserved1": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus2_Reserved2": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DriveStatus2_PrchrgClosed": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus2_Autotuning": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus2_PIDFBLoss": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus2_AccelRate": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus2_DecelRate": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveOLCount": { + "offset": 48, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "DriveTempC": { + "offset": 52, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "LastFaultCode": { + "offset": 56, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "FaultStatusA": { + "offset": 60, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "FaultStatusA_PowerLoss": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusA_UnderVoltage": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusA_MotorOL": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusA_LoalLoss": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusA_InPhaseLoss": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusA_OutPhaseLoss": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusA_DecelInhib": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "FaultStatusA_ShearPin1": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "FaultStatusA_ShearPin2": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusA_PriFdbkLoss": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusA_AltFdbkLoss": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusA_AuxFdbkLoss": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusA_PosFdbkLoss": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusA_ExtPrchrgErr": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusB": { + "offset": 64, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "FaultStatusB_AuxInputFlt": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusB_OverVoltage": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusB_DriveOL": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusB_HeatsinkOT": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusB_TransistorOT": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusB_SinkUnderTemp": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusB_ExcessLoad": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "FaultStatusB_OverspdLmt": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "FaultStatusB_PrchrgOpen": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusB_SafetyBrdFlt": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusB_IRVoltsRange": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusB_FluxAmpsRang": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusB_IXOVlotRange": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusB_AuRstExhaust": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusB_SWOverCur": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "FaultStatusB_HWOverCur": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "FaultStatusB_TrqPrvSpdBnd": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusB_TPEnclsCfg": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusB_GroundFault": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusB_OWAlarmTO": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusB_OverTravel": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusB_TrvlLimCflct": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "ZZZZZZZZZP_PF755_Inp_00", + "DriveStatus", + "DriveStatus_Ready", + "DriveStatus_Active", + "DriveStatus_CommandDir", + "DriveStatus_ActualDir", + "DriveStatus_Accelerating", + "DriveStatus_Decelerating", + "DriveStatus_Alarm", + "DriveStatus_Faulted", + "DriveStatus_AtSpeed", + "DriveStatus_Manual", + "DriveStatus_SpdRefBit0", + "DriveStatus_spdRefBit1", + "DriveStatus_SpdRefBit2", + "DriveStatus_SpdRefBit3", + "DriveStatus_SpdRefBit4", + "DriveStatus_Running", + "DriveStatus_Jogging", + "DriveStatus_Stopping", + "DriveStatus_DCBraking", + "DriveStatus_DBActive", + "DriveStatus_SpeedMode", + "DriveStatus_PositionMode", + "DriveStatus_TorqueMode", + "DriveStatus_AtZeroSpeed", + "DriveStatus_AtHome", + "DriveStatus_AtLimit", + "DriveStatus_CurrLimit", + "DriveStatus_BusFrqReg", + "DriveStatus_EnableOn", + "DriveStatus_MotorOL", + "DriveStatus_Regen", + "Feedback", + "TorqueCurFdbk", + "OutputCurrent", + "OutputPower", + "ElapsedMWH", + "ElapsedRunTime", + "SpeedUnits", + "PredMaintSts", + "PredMaintSts_HeatskinkFan", + "PredMaintSts_InternalFan", + "PredMaintSts_MtrBearing", + "PredMaintSts_MtrLube", + "PredMaintSts_MchBearing", + "PredMaintSts_MchLube", + "PredMaintSts_Reserved", + "PredMaintSts_Reserved1", + "PredMaintSts_Reserved2", + "PredMaintSts_Reserved3", + "PredMaintSts_Reserved4", + "PredMaintSts_Reserved5", + "PredMaintSts_Reserved6", + "PredMaintSts_Reserved7", + "PredMaintSts_Reserved8", + "PredMaintSts_Master", + "StartInhibits", + "StartInhibits_Faulted", + "StartInhibits_Alarm", + "StartInhibits_Enable", + "StartInhibits_Precharge", + "StartInhibits_Stop", + "StartInhibits_Database", + "StartInhibits_Startup", + "StartInhibits_Safety", + "StartInhibits_Sleep", + "StartInhibits_Profiler", + "StartInhibits_CommutNotCfg", + "DriveStatus2", + "DriveStatus2_AutoRstrAct", + "DriveStatus2_AuRstrCntDwn", + "DriveStatus2_HSFanOn", + "DriveStatus2_Reserved", + "DriveStatus2_FluxBraking", + "DriveStatus2_FdbkLossSwO", + "DriveStatus2_Reserved1", + "DriveStatus2_Reserved2", + "DriveStatus2_PrchrgClosed", + "DriveStatus2_Autotuning", + "DriveStatus2_PIDFBLoss", + "DriveStatus2_AccelRate", + "DriveStatus2_DecelRate", + "DriveOLCount", + "DriveTempC", + "LastFaultCode", + "FaultStatusA", + "FaultStatusA_PowerLoss", + "FaultStatusA_UnderVoltage", + "FaultStatusA_MotorOL", + "FaultStatusA_LoalLoss", + "FaultStatusA_InPhaseLoss", + "FaultStatusA_OutPhaseLoss", + "FaultStatusA_DecelInhib", + "FaultStatusA_ShearPin1", + "FaultStatusA_ShearPin2", + "FaultStatusA_PriFdbkLoss", + "FaultStatusA_AltFdbkLoss", + "FaultStatusA_AuxFdbkLoss", + "FaultStatusA_PosFdbkLoss", + "FaultStatusA_ExtPrchrgErr", + "FaultStatusB", + "FaultStatusB_AuxInputFlt", + "FaultStatusB_OverVoltage", + "FaultStatusB_DriveOL", + "FaultStatusB_HeatsinkOT", + "FaultStatusB_TransistorOT", + "FaultStatusB_SinkUnderTemp", + "FaultStatusB_ExcessLoad", + "FaultStatusB_OverspdLmt", + "FaultStatusB_PrchrgOpen", + "FaultStatusB_SafetyBrdFlt", + "FaultStatusB_IRVoltsRange", + "FaultStatusB_FluxAmpsRang", + "FaultStatusB_IXOVlotRange", + "FaultStatusB_AuRstExhaust", + "FaultStatusB_SWOverCur", + "FaultStatusB_HWOverCur", + "FaultStatusB_TrqPrvSpdBnd", + "FaultStatusB_TPEnclsCfg", + "FaultStatusB_GroundFault", + "FaultStatusB_OWAlarmTO", + "FaultStatusB_OverTravel", + "FaultStatusB_TrvlLimCflct" + ], + "template": { + "object_definition_size": 1054, + "structure_size": 68, + "member_count": 124, + "structure_handle": 5216 + } + } + }, + { + "tag_name": "PF755_O", + "dim": 0, + "instance_id": 43, + "symbol_address": 76280, + "symbol_object_address": 869676, + "software_control": 67174447, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 925, + "data_type": { + "name": "P_PF755_Out", + "internal_tags": { + "LogicCommand": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "LogicCommand_Stop": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "LogicCommand_Start": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "LogicCommand_Jog1": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "LogicCommand_ClearFaults": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "LogicCommand_Forward": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "LogicCommand_Reverse": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "LogicCommand_Manual": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "LogicCommand_AccelTime1": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "LogicCommand_AccelTime2": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "LogicCommand_DecelTime1": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "LogicCommand_DecelTime2": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "LogicCommand_SpdRefSel0": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "LogicCommand_SpdRefSel1": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "LogicCommand_SpdRefSel2": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "LogicCommand_CoastStop": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "LogicCommand_CLimitStop": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "LogicCommand_Run": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "LogicCommand_Jog2": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Reference": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "LogicCommand", + "LogicCommand_Stop", + "LogicCommand_Start", + "LogicCommand_Jog1", + "LogicCommand_ClearFaults", + "LogicCommand_Forward", + "LogicCommand_Reverse", + "LogicCommand_Manual", + "LogicCommand_AccelTime1", + "LogicCommand_AccelTime2", + "LogicCommand_DecelTime1", + "LogicCommand_DecelTime2", + "LogicCommand_SpdRefSel0", + "LogicCommand_SpdRefSel1", + "LogicCommand_SpdRefSel2", + "LogicCommand_CoastStop", + "LogicCommand_CLimitStop", + "LogicCommand_Run", + "LogicCommand_Jog2", + "Reference" + ], + "template": { + "object_definition_size": 173, + "structure_size": 8, + "member_count": 20, + "structure_handle": 2087 + } + } + }, + { + "tag_name": "PF75x_FaultCodeList", + "dim": 1, + "instance_id": 44, + "symbol_address": 66056, + "symbol_object_address": 869716, + "software_control": 67174448, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 212, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 3243, + "data_type": { + "name": "P_DescList", + "internal_tags": { + "Code": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Desc": { + "offset": 4, + "tag_type": "struct", + "data_type": { + "name": "STRING_40", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 40 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 40, + "template": { + "object_definition_size": 17, + "structure_size": 44, + "member_count": 2, + "structure_handle": 32239 + } + }, + "array": 0 + } + }, + "attributes": [ + "Code", + "Desc" + ], + "template": { + "object_definition_size": 17, + "structure_size": 48, + "member_count": 2, + "structure_handle": 19556 + } + } + }, + { + "tag_name": "cmd_Stop", + "dim": 0, + "instance_id": 45, + "symbol_address": 66040, + "symbol_object_address": 869756, + "software_control": 1140916273, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "cmd_Start", + "dim": 0, + "instance_id": 46, + "symbol_address": 66008, + "symbol_object_address": 869796, + "software_control": 1140916274, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "AIn_TubingPressure", + "dim": 0, + "instance_id": 47, + "symbol_address": 64112, + "symbol_object_address": 869836, + "software_control": 67174451, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1864, + "data_type": { + "name": "P_AIn", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_PV": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_PVSrcQ": { + "offset": 8, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Inp_PVBad": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_PVUncertain": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_Sim": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Inp_HiHiGate": { + "offset": 1568, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_HiGate": { + "offset": 1708, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_LoGate": { + "offset": 1428, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_LoLoGate": { + "offset": 1288, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_FailGate": { + "offset": 1148, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_NoSubstPV": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_SetTrack": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_HasChanObj": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_UseChanSrcQ": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_PCmdClear": { + "offset": 784, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ProgDefault": { + "offset": 784, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HasHiHiAlm": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasHiAlm": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasLoAlm": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasLoLoAlm": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasFailAlm": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HiHiResetReqd": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_HiResetReqd": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_LoResetReqd": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_LoLoResetReqd": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_FailResetReqd": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_HiHiAckReqd": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HiAckReqd": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_LoAckReqd": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_LoLoAckReqd": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_FailAckReqd": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HiHiSeverity": { + "offset": 632, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_HiSeverity": { + "offset": 476, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_LoSeverity": { + "offset": 320, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_LoLoSeverity": { + "offset": 164, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_FailSeverity": { + "offset": 940, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_InpRawMin": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_InpRawMax": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_PVEUMin": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_PVEUMax": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FiltTC": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiHiDB": { + "offset": 32, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiHiOnDly": { + "offset": 1576, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiHiOffDly": { + "offset": 1580, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiHiGateDly": { + "offset": 1572, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiDB": { + "offset": 36, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiOnDly": { + "offset": 1716, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiOffDly": { + "offset": 1720, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiGateDly": { + "offset": 1712, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoDB": { + "offset": 40, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_LoOnDly": { + "offset": 1436, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoOffDly": { + "offset": 1440, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoGateDly": { + "offset": 1432, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoDB": { + "offset": 44, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_LoLoOnDly": { + "offset": 1296, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoOffDly": { + "offset": 1300, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoGateDly": { + "offset": 1292, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailHiLim": { + "offset": 48, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FailLoLim": { + "offset": 52, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FailDB": { + "offset": 56, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FailOnDly": { + "offset": 1156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailOffDly": { + "offset": 1160, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailGateDly": { + "offset": 1152, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PSet_Owner": { + "offset": 60, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PSet_HiHiLim": { + "offset": 64, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_HiLim": { + "offset": 68, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_LoLim": { + "offset": 72, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_LoLoLim": { + "offset": 76, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MSet_SubstPV": { + "offset": 80, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_HiHiLim": { + "offset": 84, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_HiLim": { + "offset": 88, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_LoLim": { + "offset": 92, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_LoLoLim": { + "offset": 96, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Set_SimPV": { + "offset": 100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PCmd_ClearCapt": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Acq": { + "offset": 784, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_HiHiAck": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_HiHiSuppress": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_HiHiUnsuppress": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_HiHiUnshelve": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_HiAck": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_HiSuppress": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_HiUnsuppress": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_HiUnshelve": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_LoAck": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_LoSuppress": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_LoUnsuppress": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_LoUnshelve": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_LoLoAck": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_LoLoSuppress": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_LoLoUnsuppress": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_LoLoUnshelve": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_FailAck": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_FailSuppress": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_FailUnsuppress": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_FailUnshelve": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "MCmd_SubstPV": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_InpPV": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_ClearCapt": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "MCmd_Acq": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_Unlock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "OCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_ResetAckAll": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Val": { + "offset": 104, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_InpPV": { + "offset": 108, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVMinCapt": { + "offset": 112, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVMaxCapt": { + "offset": 116, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVEUMin": { + "offset": 120, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVEUMax": { + "offset": 124, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SrcQ_IO": { + "offset": 128, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "SrcQ": { + "offset": 129, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Fault": { + "offset": 130, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Mode": { + "offset": 788, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Owner": { + "offset": 132, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_Notify": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_HiHiLim": { + "offset": 140, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_HiLim": { + "offset": 144, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_LoLim": { + "offset": 148, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_LoLoLim": { + "offset": 152, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Sts_SubstPV": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_InpPV": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_PVBad": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_PVUncertain": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_MaintByp": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_Err": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Err_Raw": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_EU": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Err_Filt": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Err_DB": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Err_Alarm": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Maint": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Prog": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_NoMode": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_HiHiCmp": { + "offset": 1568, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_HiHiGate": { + "offset": 1568, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_HiHi": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_HiHi": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_HiHi": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiHiDisabled": { + "offset": 695, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiHiSuppressed": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_HiHiShelved": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_HiCmp": { + "offset": 1708, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_HiGate": { + "offset": 1708, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Hi": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Hi": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Hi": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiDisabled": { + "offset": 539, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiSuppressed": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_HiShelved": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_LoCmp": { + "offset": 1428, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_LoGate": { + "offset": 1428, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Lo": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Lo": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Lo": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoDisabled": { + "offset": 383, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoSuppressed": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_LoShelved": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_LoLoCmp": { + "offset": 1288, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_LoLoGate": { + "offset": 1288, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_LoLo": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_LoLo": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_LoLo": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoLoDisabled": { + "offset": 227, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoLoSuppressed": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_LoLoShelved": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_FailCmp": { + "offset": 1148, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_FailGate": { + "offset": 1148, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Fail": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Fail": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Fail": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailDisabled": { + "offset": 1003, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailSuppressed": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_FailShelved": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_SubstPV": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_InpPV": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Reset": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_ResetAckAll": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_OSet": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "P_AIn": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "inp_ProcessRunning": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "LoLo": { + "offset": 160, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Lo": { + "offset": 316, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Hi": { + "offset": 472, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "HiHi": { + "offset": 628, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Mode": { + "offset": 784, + "tag_type": "struct", + "data_type": { + "name": "P_Mode", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_Hand": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Ovrd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_PCmdClear": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_OvrdOverLock": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_ProgDefault": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Acq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "MCmd_Acq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_UnlockRel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Sts_Hand": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Maint": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Ovrd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_Prog": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_ProgOperSel": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_NoMode": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Rdy_MAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_MRel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_OAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_OLock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_OUnlock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_ORel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "P_Mode": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_Locked": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_Prog": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_Maint": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inf_Lib": { + "offset": 12, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_Hand", + "Inp_Ovrd", + "Cfg_PCmdClear", + "Cfg_OvrdOverLock", + "Cfg_ProgDefault", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_UnlockRel", + "Val", + "Sts_Hand", + "Sts_Maint", + "Sts_Ovrd", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_ProgOperSel", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Rdy_MAcq", + "Rdy_MRel", + "Rdy_OAcq", + "Rdy_OLock", + "Rdy_OUnlock", + "Rdy_ORel", + "P_Mode", + "Wrk_Locked", + "Wrk_Prog", + "Wrk_Maint", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 228, + "structure_size": 48, + "member_count": 39, + "structure_handle": 16800 + } + }, + "array": 0 + }, + "Cfg_EU": { + "offset": 832, + "tag_type": "struct", + "data_type": { + "name": "STRING_8", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 8 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 8, + "template": { + "object_definition_size": 16, + "structure_size": 12, + "member_count": 2, + "structure_handle": 54208 + } + }, + "array": 0 + }, + "Cfg_Tag": { + "offset": 844, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Label": { + "offset": 868, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Desc": { + "offset": 892, + "tag_type": "struct", + "data_type": { + "name": "STRING_40", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 40 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 40, + "template": { + "object_definition_size": 17, + "structure_size": 44, + "member_count": 2, + "structure_handle": 32239 + } + }, + "array": 0 + }, + "Fail": { + "offset": 936, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Wrk_Notify": { + "offset": 1092, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Inf_Tab": { + "offset": 1093, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_Fault": { + "offset": 1094, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_SrcQ": { + "offset": 1095, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_SubstPV": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Wrk_UnfiltPV": { + "offset": 1096, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_Alpha": { + "offset": 1100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_ScanT": { + "offset": 1104, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ScanTime": { + "offset": 1116, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_FiltPV": { + "offset": 1120, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_ValidONS": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_SelPVDINT": { + "offset": 1124, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_SelPVInfNaN": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Inf_Type": { + "offset": 1128, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Wrk_Fail": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_LoLo": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Wrk_Lo": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Hi": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_HiHi": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FailGate": { + "offset": 1148, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "LoLoGate": { + "offset": 1288, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "LoGate": { + "offset": 1428, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "HiHiGate": { + "offset": 1568, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "HiGate": { + "offset": 1708, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "Wrk_InpInfNaN": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Wrk_InpDINT": { + "offset": 1848, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 1852, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Wrk_InpFail": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "ONS_Supress": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "ONS_Unsupress": { + "offset": 158, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "ONS_ProcessRunning": { + "offset": 158, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ONS_ProcessNotRunning": { + "offset": 158, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_PV", + "Inp_PVSrcQ", + "Inp_PVBad", + "Inp_PVUncertain", + "Inp_Sim", + "Inp_HiHiGate", + "Inp_HiGate", + "Inp_LoGate", + "Inp_LoLoGate", + "Inp_FailGate", + "Inp_Reset", + "Cfg_NoSubstPV", + "Cfg_SetTrack", + "Cfg_HasChanObj", + "Cfg_UseChanSrcQ", + "Cfg_PCmdClear", + "Cfg_ProgDefault", + "Cfg_HasHiHiAlm", + "Cfg_HasHiAlm", + "Cfg_HasLoAlm", + "Cfg_HasLoLoAlm", + "Cfg_HasFailAlm", + "Cfg_HiHiResetReqd", + "Cfg_HiResetReqd", + "Cfg_LoResetReqd", + "Cfg_LoLoResetReqd", + "Cfg_FailResetReqd", + "Cfg_HiHiAckReqd", + "Cfg_HiAckReqd", + "Cfg_LoAckReqd", + "Cfg_LoLoAckReqd", + "Cfg_FailAckReqd", + "Cfg_HiHiSeverity", + "Cfg_HiSeverity", + "Cfg_LoSeverity", + "Cfg_LoLoSeverity", + "Cfg_FailSeverity", + "Cfg_InpRawMin", + "Cfg_InpRawMax", + "Cfg_PVEUMin", + "Cfg_PVEUMax", + "Cfg_FiltTC", + "Cfg_HiHiDB", + "Cfg_HiHiOnDly", + "Cfg_HiHiOffDly", + "Cfg_HiHiGateDly", + "Cfg_HiDB", + "Cfg_HiOnDly", + "Cfg_HiOffDly", + "Cfg_HiGateDly", + "Cfg_LoDB", + "Cfg_LoOnDly", + "Cfg_LoOffDly", + "Cfg_LoGateDly", + "Cfg_LoLoDB", + "Cfg_LoLoOnDly", + "Cfg_LoLoOffDly", + "Cfg_LoLoGateDly", + "Cfg_FailHiLim", + "Cfg_FailLoLim", + "Cfg_FailDB", + "Cfg_FailOnDly", + "Cfg_FailOffDly", + "Cfg_FailGateDly", + "PSet_Owner", + "PSet_HiHiLim", + "PSet_HiLim", + "PSet_LoLim", + "PSet_LoLoLim", + "MSet_SubstPV", + "OSet_HiHiLim", + "OSet_HiLim", + "OSet_LoLim", + "OSet_LoLoLim", + "Set_SimPV", + "PCmd_ClearCapt", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "PCmd_Reset", + "PCmd_HiHiAck", + "PCmd_HiHiSuppress", + "PCmd_HiHiUnsuppress", + "PCmd_HiHiUnshelve", + "PCmd_HiAck", + "PCmd_HiSuppress", + "PCmd_HiUnsuppress", + "PCmd_HiUnshelve", + "PCmd_LoAck", + "PCmd_LoSuppress", + "PCmd_LoUnsuppress", + "PCmd_LoUnshelve", + "PCmd_LoLoAck", + "PCmd_LoLoSuppress", + "PCmd_LoLoUnsuppress", + "PCmd_LoLoUnshelve", + "PCmd_FailAck", + "PCmd_FailSuppress", + "PCmd_FailUnsuppress", + "PCmd_FailUnshelve", + "MCmd_SubstPV", + "MCmd_InpPV", + "OCmd_ClearCapt", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_Unlock", + "OCmd_Reset", + "OCmd_ResetAckAll", + "Val", + "Val_InpPV", + "Val_PVMinCapt", + "Val_PVMaxCapt", + "Val_PVEUMin", + "Val_PVEUMax", + "SrcQ_IO", + "SrcQ", + "Val_Fault", + "Val_Mode", + "Val_Owner", + "Val_Notify", + "Val_HiHiLim", + "Val_HiLim", + "Val_LoLim", + "Val_LoLoLim", + "Sts_SubstPV", + "Sts_InpPV", + "Sts_PVBad", + "Sts_PVUncertain", + "Sts_MaintByp", + "Sts_AlmInh", + "Sts_Err", + "Err_Raw", + "Err_EU", + "Err_Timer", + "Err_Filt", + "Err_DB", + "Err_Alarm", + "Sts_Maint", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Sts_HiHiCmp", + "Sts_HiHiGate", + "Sts_HiHi", + "Alm_HiHi", + "Ack_HiHi", + "Sts_HiHiDisabled", + "Sts_HiHiSuppressed", + "Sts_HiHiShelved", + "Sts_HiCmp", + "Sts_HiGate", + "Sts_Hi", + "Alm_Hi", + "Ack_Hi", + "Sts_HiDisabled", + "Sts_HiSuppressed", + "Sts_HiShelved", + "Sts_LoCmp", + "Sts_LoGate", + "Sts_Lo", + "Alm_Lo", + "Ack_Lo", + "Sts_LoDisabled", + "Sts_LoSuppressed", + "Sts_LoShelved", + "Sts_LoLoCmp", + "Sts_LoLoGate", + "Sts_LoLo", + "Alm_LoLo", + "Ack_LoLo", + "Sts_LoLoDisabled", + "Sts_LoLoSuppressed", + "Sts_LoLoShelved", + "Sts_FailCmp", + "Sts_FailGate", + "Sts_Fail", + "Alm_Fail", + "Ack_Fail", + "Sts_FailDisabled", + "Sts_FailSuppressed", + "Sts_FailShelved", + "Rdy_SubstPV", + "Rdy_InpPV", + "Rdy_Reset", + "Rdy_ResetAckAll", + "Rdy_OSet", + "P_AIn", + "inp_ProcessRunning", + "LoLo", + "Lo", + "Hi", + "HiHi", + "Mode", + "Cfg_EU", + "Cfg_Tag", + "Cfg_Label", + "Cfg_Desc", + "Fail", + "Wrk_Notify", + "Inf_Tab", + "Wrk_Fault", + "Wrk_SrcQ", + "Wrk_SubstPV", + "Wrk_UnfiltPV", + "Wrk_Alpha", + "Wrk_ScanT", + "Wrk_ScanTime", + "Wrk_FiltPV", + "Wrk_ValidONS", + "Wrk_SelPVDINT", + "Wrk_SelPVInfNaN", + "Inf_Type", + "Wrk_Fail", + "Wrk_LoLo", + "Wrk_Lo", + "Wrk_Hi", + "Wrk_HiHi", + "FailGate", + "LoLoGate", + "LoGate", + "HiHiGate", + "HiGate", + "Wrk_InpInfNaN", + "Wrk_InpDINT", + "Inf_Lib", + "Wrk_InpFail", + "ONS_Supress", + "ONS_Unsupress", + "ONS_ProcessRunning", + "ONS_ProcessNotRunning" + ], + "template": { + "object_definition_size": 1448, + "structure_size": 1868, + "member_count": 238, + "structure_handle": 13998 + } + } + }, + { + "tag_name": "AIn_Flowmeter", + "dim": 0, + "instance_id": 48, + "symbol_address": 81560, + "symbol_object_address": 869876, + "software_control": 67174439, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1864, + "data_type": { + "name": "P_AIn", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_PV": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_PVSrcQ": { + "offset": 8, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Inp_PVBad": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_PVUncertain": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_Sim": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Inp_HiHiGate": { + "offset": 1568, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_HiGate": { + "offset": 1708, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_LoGate": { + "offset": 1428, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_LoLoGate": { + "offset": 1288, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_FailGate": { + "offset": 1148, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_NoSubstPV": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_SetTrack": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_HasChanObj": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_UseChanSrcQ": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_PCmdClear": { + "offset": 784, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ProgDefault": { + "offset": 784, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HasHiHiAlm": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasHiAlm": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasLoAlm": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasLoLoAlm": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasFailAlm": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HiHiResetReqd": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_HiResetReqd": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_LoResetReqd": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_LoLoResetReqd": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_FailResetReqd": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_HiHiAckReqd": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HiAckReqd": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_LoAckReqd": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_LoLoAckReqd": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_FailAckReqd": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HiHiSeverity": { + "offset": 632, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_HiSeverity": { + "offset": 476, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_LoSeverity": { + "offset": 320, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_LoLoSeverity": { + "offset": 164, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_FailSeverity": { + "offset": 940, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_InpRawMin": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_InpRawMax": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_PVEUMin": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_PVEUMax": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FiltTC": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiHiDB": { + "offset": 32, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiHiOnDly": { + "offset": 1576, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiHiOffDly": { + "offset": 1580, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiHiGateDly": { + "offset": 1572, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiDB": { + "offset": 36, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiOnDly": { + "offset": 1716, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiOffDly": { + "offset": 1720, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiGateDly": { + "offset": 1712, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoDB": { + "offset": 40, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_LoOnDly": { + "offset": 1436, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoOffDly": { + "offset": 1440, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoGateDly": { + "offset": 1432, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoDB": { + "offset": 44, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_LoLoOnDly": { + "offset": 1296, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoOffDly": { + "offset": 1300, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoGateDly": { + "offset": 1292, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailHiLim": { + "offset": 48, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FailLoLim": { + "offset": 52, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FailDB": { + "offset": 56, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FailOnDly": { + "offset": 1156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailOffDly": { + "offset": 1160, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailGateDly": { + "offset": 1152, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PSet_Owner": { + "offset": 60, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PSet_HiHiLim": { + "offset": 64, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_HiLim": { + "offset": 68, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_LoLim": { + "offset": 72, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_LoLoLim": { + "offset": 76, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MSet_SubstPV": { + "offset": 80, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_HiHiLim": { + "offset": 84, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_HiLim": { + "offset": 88, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_LoLim": { + "offset": 92, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_LoLoLim": { + "offset": 96, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Set_SimPV": { + "offset": 100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PCmd_ClearCapt": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Acq": { + "offset": 784, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_HiHiAck": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_HiHiSuppress": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_HiHiUnsuppress": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_HiHiUnshelve": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_HiAck": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_HiSuppress": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_HiUnsuppress": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_HiUnshelve": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_LoAck": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_LoSuppress": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_LoUnsuppress": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_LoUnshelve": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_LoLoAck": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_LoLoSuppress": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_LoLoUnsuppress": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_LoLoUnshelve": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_FailAck": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_FailSuppress": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_FailUnsuppress": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_FailUnshelve": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "MCmd_SubstPV": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_InpPV": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_ClearCapt": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "MCmd_Acq": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_Unlock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "OCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_ResetAckAll": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Val": { + "offset": 104, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_InpPV": { + "offset": 108, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVMinCapt": { + "offset": 112, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVMaxCapt": { + "offset": 116, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVEUMin": { + "offset": 120, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVEUMax": { + "offset": 124, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SrcQ_IO": { + "offset": 128, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "SrcQ": { + "offset": 129, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Fault": { + "offset": 130, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Mode": { + "offset": 788, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Owner": { + "offset": 132, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_Notify": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_HiHiLim": { + "offset": 140, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_HiLim": { + "offset": 144, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_LoLim": { + "offset": 148, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_LoLoLim": { + "offset": 152, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Sts_SubstPV": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_InpPV": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_PVBad": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_PVUncertain": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_MaintByp": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_Err": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Err_Raw": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_EU": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Err_Filt": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Err_DB": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Err_Alarm": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Maint": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Prog": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_NoMode": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_HiHiCmp": { + "offset": 1568, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_HiHiGate": { + "offset": 1568, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_HiHi": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_HiHi": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_HiHi": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiHiDisabled": { + "offset": 695, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiHiSuppressed": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_HiHiShelved": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_HiCmp": { + "offset": 1708, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_HiGate": { + "offset": 1708, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Hi": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Hi": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Hi": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiDisabled": { + "offset": 539, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiSuppressed": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_HiShelved": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_LoCmp": { + "offset": 1428, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_LoGate": { + "offset": 1428, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Lo": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Lo": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Lo": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoDisabled": { + "offset": 383, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoSuppressed": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_LoShelved": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_LoLoCmp": { + "offset": 1288, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_LoLoGate": { + "offset": 1288, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_LoLo": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_LoLo": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_LoLo": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoLoDisabled": { + "offset": 227, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoLoSuppressed": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_LoLoShelved": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_FailCmp": { + "offset": 1148, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_FailGate": { + "offset": 1148, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Fail": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Fail": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Fail": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailDisabled": { + "offset": 1003, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailSuppressed": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_FailShelved": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_SubstPV": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_InpPV": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Reset": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_ResetAckAll": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_OSet": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "P_AIn": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "inp_ProcessRunning": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "LoLo": { + "offset": 160, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Lo": { + "offset": 316, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Hi": { + "offset": 472, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "HiHi": { + "offset": 628, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Mode": { + "offset": 784, + "tag_type": "struct", + "data_type": { + "name": "P_Mode", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_Hand": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Ovrd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_PCmdClear": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_OvrdOverLock": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_ProgDefault": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Acq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "MCmd_Acq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_UnlockRel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Sts_Hand": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Maint": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Ovrd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_Prog": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_ProgOperSel": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_NoMode": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Rdy_MAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_MRel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_OAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_OLock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_OUnlock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_ORel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "P_Mode": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_Locked": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_Prog": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_Maint": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inf_Lib": { + "offset": 12, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_Hand", + "Inp_Ovrd", + "Cfg_PCmdClear", + "Cfg_OvrdOverLock", + "Cfg_ProgDefault", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_UnlockRel", + "Val", + "Sts_Hand", + "Sts_Maint", + "Sts_Ovrd", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_ProgOperSel", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Rdy_MAcq", + "Rdy_MRel", + "Rdy_OAcq", + "Rdy_OLock", + "Rdy_OUnlock", + "Rdy_ORel", + "P_Mode", + "Wrk_Locked", + "Wrk_Prog", + "Wrk_Maint", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 228, + "structure_size": 48, + "member_count": 39, + "structure_handle": 16800 + } + }, + "array": 0 + }, + "Cfg_EU": { + "offset": 832, + "tag_type": "struct", + "data_type": { + "name": "STRING_8", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 8 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 8, + "template": { + "object_definition_size": 16, + "structure_size": 12, + "member_count": 2, + "structure_handle": 54208 + } + }, + "array": 0 + }, + "Cfg_Tag": { + "offset": 844, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Label": { + "offset": 868, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Desc": { + "offset": 892, + "tag_type": "struct", + "data_type": { + "name": "STRING_40", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 40 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 40, + "template": { + "object_definition_size": 17, + "structure_size": 44, + "member_count": 2, + "structure_handle": 32239 + } + }, + "array": 0 + }, + "Fail": { + "offset": 936, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Wrk_Notify": { + "offset": 1092, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Inf_Tab": { + "offset": 1093, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_Fault": { + "offset": 1094, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_SrcQ": { + "offset": 1095, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_SubstPV": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Wrk_UnfiltPV": { + "offset": 1096, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_Alpha": { + "offset": 1100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_ScanT": { + "offset": 1104, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ScanTime": { + "offset": 1116, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_FiltPV": { + "offset": 1120, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_ValidONS": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_SelPVDINT": { + "offset": 1124, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_SelPVInfNaN": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Inf_Type": { + "offset": 1128, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Wrk_Fail": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_LoLo": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Wrk_Lo": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Hi": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_HiHi": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FailGate": { + "offset": 1148, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "LoLoGate": { + "offset": 1288, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "LoGate": { + "offset": 1428, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "HiHiGate": { + "offset": 1568, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "HiGate": { + "offset": 1708, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "Wrk_InpInfNaN": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Wrk_InpDINT": { + "offset": 1848, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 1852, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Wrk_InpFail": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "ONS_Supress": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "ONS_Unsupress": { + "offset": 158, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "ONS_ProcessRunning": { + "offset": 158, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ONS_ProcessNotRunning": { + "offset": 158, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_PV", + "Inp_PVSrcQ", + "Inp_PVBad", + "Inp_PVUncertain", + "Inp_Sim", + "Inp_HiHiGate", + "Inp_HiGate", + "Inp_LoGate", + "Inp_LoLoGate", + "Inp_FailGate", + "Inp_Reset", + "Cfg_NoSubstPV", + "Cfg_SetTrack", + "Cfg_HasChanObj", + "Cfg_UseChanSrcQ", + "Cfg_PCmdClear", + "Cfg_ProgDefault", + "Cfg_HasHiHiAlm", + "Cfg_HasHiAlm", + "Cfg_HasLoAlm", + "Cfg_HasLoLoAlm", + "Cfg_HasFailAlm", + "Cfg_HiHiResetReqd", + "Cfg_HiResetReqd", + "Cfg_LoResetReqd", + "Cfg_LoLoResetReqd", + "Cfg_FailResetReqd", + "Cfg_HiHiAckReqd", + "Cfg_HiAckReqd", + "Cfg_LoAckReqd", + "Cfg_LoLoAckReqd", + "Cfg_FailAckReqd", + "Cfg_HiHiSeverity", + "Cfg_HiSeverity", + "Cfg_LoSeverity", + "Cfg_LoLoSeverity", + "Cfg_FailSeverity", + "Cfg_InpRawMin", + "Cfg_InpRawMax", + "Cfg_PVEUMin", + "Cfg_PVEUMax", + "Cfg_FiltTC", + "Cfg_HiHiDB", + "Cfg_HiHiOnDly", + "Cfg_HiHiOffDly", + "Cfg_HiHiGateDly", + "Cfg_HiDB", + "Cfg_HiOnDly", + "Cfg_HiOffDly", + "Cfg_HiGateDly", + "Cfg_LoDB", + "Cfg_LoOnDly", + "Cfg_LoOffDly", + "Cfg_LoGateDly", + "Cfg_LoLoDB", + "Cfg_LoLoOnDly", + "Cfg_LoLoOffDly", + "Cfg_LoLoGateDly", + "Cfg_FailHiLim", + "Cfg_FailLoLim", + "Cfg_FailDB", + "Cfg_FailOnDly", + "Cfg_FailOffDly", + "Cfg_FailGateDly", + "PSet_Owner", + "PSet_HiHiLim", + "PSet_HiLim", + "PSet_LoLim", + "PSet_LoLoLim", + "MSet_SubstPV", + "OSet_HiHiLim", + "OSet_HiLim", + "OSet_LoLim", + "OSet_LoLoLim", + "Set_SimPV", + "PCmd_ClearCapt", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "PCmd_Reset", + "PCmd_HiHiAck", + "PCmd_HiHiSuppress", + "PCmd_HiHiUnsuppress", + "PCmd_HiHiUnshelve", + "PCmd_HiAck", + "PCmd_HiSuppress", + "PCmd_HiUnsuppress", + "PCmd_HiUnshelve", + "PCmd_LoAck", + "PCmd_LoSuppress", + "PCmd_LoUnsuppress", + "PCmd_LoUnshelve", + "PCmd_LoLoAck", + "PCmd_LoLoSuppress", + "PCmd_LoLoUnsuppress", + "PCmd_LoLoUnshelve", + "PCmd_FailAck", + "PCmd_FailSuppress", + "PCmd_FailUnsuppress", + "PCmd_FailUnshelve", + "MCmd_SubstPV", + "MCmd_InpPV", + "OCmd_ClearCapt", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_Unlock", + "OCmd_Reset", + "OCmd_ResetAckAll", + "Val", + "Val_InpPV", + "Val_PVMinCapt", + "Val_PVMaxCapt", + "Val_PVEUMin", + "Val_PVEUMax", + "SrcQ_IO", + "SrcQ", + "Val_Fault", + "Val_Mode", + "Val_Owner", + "Val_Notify", + "Val_HiHiLim", + "Val_HiLim", + "Val_LoLim", + "Val_LoLoLim", + "Sts_SubstPV", + "Sts_InpPV", + "Sts_PVBad", + "Sts_PVUncertain", + "Sts_MaintByp", + "Sts_AlmInh", + "Sts_Err", + "Err_Raw", + "Err_EU", + "Err_Timer", + "Err_Filt", + "Err_DB", + "Err_Alarm", + "Sts_Maint", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Sts_HiHiCmp", + "Sts_HiHiGate", + "Sts_HiHi", + "Alm_HiHi", + "Ack_HiHi", + "Sts_HiHiDisabled", + "Sts_HiHiSuppressed", + "Sts_HiHiShelved", + "Sts_HiCmp", + "Sts_HiGate", + "Sts_Hi", + "Alm_Hi", + "Ack_Hi", + "Sts_HiDisabled", + "Sts_HiSuppressed", + "Sts_HiShelved", + "Sts_LoCmp", + "Sts_LoGate", + "Sts_Lo", + "Alm_Lo", + "Ack_Lo", + "Sts_LoDisabled", + "Sts_LoSuppressed", + "Sts_LoShelved", + "Sts_LoLoCmp", + "Sts_LoLoGate", + "Sts_LoLo", + "Alm_LoLo", + "Ack_LoLo", + "Sts_LoLoDisabled", + "Sts_LoLoSuppressed", + "Sts_LoLoShelved", + "Sts_FailCmp", + "Sts_FailGate", + "Sts_Fail", + "Alm_Fail", + "Ack_Fail", + "Sts_FailDisabled", + "Sts_FailSuppressed", + "Sts_FailShelved", + "Rdy_SubstPV", + "Rdy_InpPV", + "Rdy_Reset", + "Rdy_ResetAckAll", + "Rdy_OSet", + "P_AIn", + "inp_ProcessRunning", + "LoLo", + "Lo", + "Hi", + "HiHi", + "Mode", + "Cfg_EU", + "Cfg_Tag", + "Cfg_Label", + "Cfg_Desc", + "Fail", + "Wrk_Notify", + "Inf_Tab", + "Wrk_Fault", + "Wrk_SrcQ", + "Wrk_SubstPV", + "Wrk_UnfiltPV", + "Wrk_Alpha", + "Wrk_ScanT", + "Wrk_ScanTime", + "Wrk_FiltPV", + "Wrk_ValidONS", + "Wrk_SelPVDINT", + "Wrk_SelPVInfNaN", + "Inf_Type", + "Wrk_Fail", + "Wrk_LoLo", + "Wrk_Lo", + "Wrk_Hi", + "Wrk_HiHi", + "FailGate", + "LoLoGate", + "LoGate", + "HiHiGate", + "HiGate", + "Wrk_InpInfNaN", + "Wrk_InpDINT", + "Inf_Lib", + "Wrk_InpFail", + "ONS_Supress", + "ONS_Unsupress", + "ONS_ProcessRunning", + "ONS_ProcessNotRunning" + ], + "template": { + "object_definition_size": 1448, + "structure_size": 1868, + "member_count": 238, + "structure_handle": 13998 + } + } + }, + { + "tag_name": "val_Flowmeter", + "dim": 0, + "instance_id": 49, + "symbol_address": 81664, + "symbol_object_address": 869916, + "software_control": 1879113776, + "alias": "True", + "external_access": "Read Only", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "AIn_IntakePressure", + "dim": 0, + "instance_id": 50, + "symbol_address": 83648, + "symbol_object_address": 869956, + "software_control": 67174432, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1864, + "data_type": { + "name": "P_AIn", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_PV": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_PVSrcQ": { + "offset": 8, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Inp_PVBad": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_PVUncertain": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_Sim": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Inp_HiHiGate": { + "offset": 1568, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_HiGate": { + "offset": 1708, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_LoGate": { + "offset": 1428, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_LoLoGate": { + "offset": 1288, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_FailGate": { + "offset": 1148, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_NoSubstPV": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_SetTrack": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_HasChanObj": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_UseChanSrcQ": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_PCmdClear": { + "offset": 784, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ProgDefault": { + "offset": 784, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HasHiHiAlm": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasHiAlm": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasLoAlm": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasLoLoAlm": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasFailAlm": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HiHiResetReqd": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_HiResetReqd": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_LoResetReqd": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_LoLoResetReqd": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_FailResetReqd": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_HiHiAckReqd": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HiAckReqd": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_LoAckReqd": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_LoLoAckReqd": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_FailAckReqd": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HiHiSeverity": { + "offset": 632, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_HiSeverity": { + "offset": 476, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_LoSeverity": { + "offset": 320, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_LoLoSeverity": { + "offset": 164, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_FailSeverity": { + "offset": 940, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_InpRawMin": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_InpRawMax": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_PVEUMin": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_PVEUMax": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FiltTC": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiHiDB": { + "offset": 32, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiHiOnDly": { + "offset": 1576, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiHiOffDly": { + "offset": 1580, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiHiGateDly": { + "offset": 1572, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiDB": { + "offset": 36, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiOnDly": { + "offset": 1716, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiOffDly": { + "offset": 1720, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiGateDly": { + "offset": 1712, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoDB": { + "offset": 40, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_LoOnDly": { + "offset": 1436, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoOffDly": { + "offset": 1440, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoGateDly": { + "offset": 1432, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoDB": { + "offset": 44, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_LoLoOnDly": { + "offset": 1296, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoOffDly": { + "offset": 1300, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoGateDly": { + "offset": 1292, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailHiLim": { + "offset": 48, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FailLoLim": { + "offset": 52, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FailDB": { + "offset": 56, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FailOnDly": { + "offset": 1156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailOffDly": { + "offset": 1160, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailGateDly": { + "offset": 1152, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PSet_Owner": { + "offset": 60, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PSet_HiHiLim": { + "offset": 64, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_HiLim": { + "offset": 68, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_LoLim": { + "offset": 72, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_LoLoLim": { + "offset": 76, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MSet_SubstPV": { + "offset": 80, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_HiHiLim": { + "offset": 84, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_HiLim": { + "offset": 88, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_LoLim": { + "offset": 92, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_LoLoLim": { + "offset": 96, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Set_SimPV": { + "offset": 100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PCmd_ClearCapt": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Acq": { + "offset": 784, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_HiHiAck": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_HiHiSuppress": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_HiHiUnsuppress": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_HiHiUnshelve": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_HiAck": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_HiSuppress": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_HiUnsuppress": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_HiUnshelve": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_LoAck": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_LoSuppress": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_LoUnsuppress": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_LoUnshelve": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_LoLoAck": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_LoLoSuppress": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_LoLoUnsuppress": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_LoLoUnshelve": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_FailAck": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_FailSuppress": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_FailUnsuppress": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_FailUnshelve": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "MCmd_SubstPV": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_InpPV": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_ClearCapt": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "MCmd_Acq": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_Unlock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "OCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_ResetAckAll": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Val": { + "offset": 104, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_InpPV": { + "offset": 108, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVMinCapt": { + "offset": 112, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVMaxCapt": { + "offset": 116, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVEUMin": { + "offset": 120, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVEUMax": { + "offset": 124, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SrcQ_IO": { + "offset": 128, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "SrcQ": { + "offset": 129, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Fault": { + "offset": 130, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Mode": { + "offset": 788, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Owner": { + "offset": 132, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_Notify": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_HiHiLim": { + "offset": 140, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_HiLim": { + "offset": 144, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_LoLim": { + "offset": 148, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_LoLoLim": { + "offset": 152, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Sts_SubstPV": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_InpPV": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_PVBad": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_PVUncertain": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_MaintByp": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_Err": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Err_Raw": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_EU": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Err_Filt": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Err_DB": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Err_Alarm": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Maint": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Prog": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_NoMode": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_HiHiCmp": { + "offset": 1568, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_HiHiGate": { + "offset": 1568, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_HiHi": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_HiHi": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_HiHi": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiHiDisabled": { + "offset": 695, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiHiSuppressed": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_HiHiShelved": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_HiCmp": { + "offset": 1708, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_HiGate": { + "offset": 1708, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Hi": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Hi": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Hi": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiDisabled": { + "offset": 539, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiSuppressed": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_HiShelved": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_LoCmp": { + "offset": 1428, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_LoGate": { + "offset": 1428, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Lo": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Lo": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Lo": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoDisabled": { + "offset": 383, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoSuppressed": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_LoShelved": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_LoLoCmp": { + "offset": 1288, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_LoLoGate": { + "offset": 1288, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_LoLo": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_LoLo": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_LoLo": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoLoDisabled": { + "offset": 227, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoLoSuppressed": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_LoLoShelved": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_FailCmp": { + "offset": 1148, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_FailGate": { + "offset": 1148, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Fail": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Fail": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Fail": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailDisabled": { + "offset": 1003, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailSuppressed": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_FailShelved": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_SubstPV": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_InpPV": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Reset": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_ResetAckAll": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_OSet": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "P_AIn": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "inp_ProcessRunning": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "LoLo": { + "offset": 160, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Lo": { + "offset": 316, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Hi": { + "offset": 472, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "HiHi": { + "offset": 628, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Mode": { + "offset": 784, + "tag_type": "struct", + "data_type": { + "name": "P_Mode", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_Hand": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Ovrd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_PCmdClear": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_OvrdOverLock": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_ProgDefault": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Acq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "MCmd_Acq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_UnlockRel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Sts_Hand": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Maint": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Ovrd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_Prog": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_ProgOperSel": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_NoMode": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Rdy_MAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_MRel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_OAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_OLock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_OUnlock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_ORel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "P_Mode": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_Locked": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_Prog": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_Maint": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inf_Lib": { + "offset": 12, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_Hand", + "Inp_Ovrd", + "Cfg_PCmdClear", + "Cfg_OvrdOverLock", + "Cfg_ProgDefault", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_UnlockRel", + "Val", + "Sts_Hand", + "Sts_Maint", + "Sts_Ovrd", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_ProgOperSel", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Rdy_MAcq", + "Rdy_MRel", + "Rdy_OAcq", + "Rdy_OLock", + "Rdy_OUnlock", + "Rdy_ORel", + "P_Mode", + "Wrk_Locked", + "Wrk_Prog", + "Wrk_Maint", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 228, + "structure_size": 48, + "member_count": 39, + "structure_handle": 16800 + } + }, + "array": 0 + }, + "Cfg_EU": { + "offset": 832, + "tag_type": "struct", + "data_type": { + "name": "STRING_8", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 8 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 8, + "template": { + "object_definition_size": 16, + "structure_size": 12, + "member_count": 2, + "structure_handle": 54208 + } + }, + "array": 0 + }, + "Cfg_Tag": { + "offset": 844, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Label": { + "offset": 868, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Desc": { + "offset": 892, + "tag_type": "struct", + "data_type": { + "name": "STRING_40", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 40 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 40, + "template": { + "object_definition_size": 17, + "structure_size": 44, + "member_count": 2, + "structure_handle": 32239 + } + }, + "array": 0 + }, + "Fail": { + "offset": 936, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Wrk_Notify": { + "offset": 1092, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Inf_Tab": { + "offset": 1093, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_Fault": { + "offset": 1094, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_SrcQ": { + "offset": 1095, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_SubstPV": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Wrk_UnfiltPV": { + "offset": 1096, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_Alpha": { + "offset": 1100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_ScanT": { + "offset": 1104, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ScanTime": { + "offset": 1116, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_FiltPV": { + "offset": 1120, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_ValidONS": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_SelPVDINT": { + "offset": 1124, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_SelPVInfNaN": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Inf_Type": { + "offset": 1128, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Wrk_Fail": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_LoLo": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Wrk_Lo": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Hi": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_HiHi": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FailGate": { + "offset": 1148, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "LoLoGate": { + "offset": 1288, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "LoGate": { + "offset": 1428, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "HiHiGate": { + "offset": 1568, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "HiGate": { + "offset": 1708, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "Wrk_InpInfNaN": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Wrk_InpDINT": { + "offset": 1848, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 1852, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Wrk_InpFail": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "ONS_Supress": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "ONS_Unsupress": { + "offset": 158, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "ONS_ProcessRunning": { + "offset": 158, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ONS_ProcessNotRunning": { + "offset": 158, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_PV", + "Inp_PVSrcQ", + "Inp_PVBad", + "Inp_PVUncertain", + "Inp_Sim", + "Inp_HiHiGate", + "Inp_HiGate", + "Inp_LoGate", + "Inp_LoLoGate", + "Inp_FailGate", + "Inp_Reset", + "Cfg_NoSubstPV", + "Cfg_SetTrack", + "Cfg_HasChanObj", + "Cfg_UseChanSrcQ", + "Cfg_PCmdClear", + "Cfg_ProgDefault", + "Cfg_HasHiHiAlm", + "Cfg_HasHiAlm", + "Cfg_HasLoAlm", + "Cfg_HasLoLoAlm", + "Cfg_HasFailAlm", + "Cfg_HiHiResetReqd", + "Cfg_HiResetReqd", + "Cfg_LoResetReqd", + "Cfg_LoLoResetReqd", + "Cfg_FailResetReqd", + "Cfg_HiHiAckReqd", + "Cfg_HiAckReqd", + "Cfg_LoAckReqd", + "Cfg_LoLoAckReqd", + "Cfg_FailAckReqd", + "Cfg_HiHiSeverity", + "Cfg_HiSeverity", + "Cfg_LoSeverity", + "Cfg_LoLoSeverity", + "Cfg_FailSeverity", + "Cfg_InpRawMin", + "Cfg_InpRawMax", + "Cfg_PVEUMin", + "Cfg_PVEUMax", + "Cfg_FiltTC", + "Cfg_HiHiDB", + "Cfg_HiHiOnDly", + "Cfg_HiHiOffDly", + "Cfg_HiHiGateDly", + "Cfg_HiDB", + "Cfg_HiOnDly", + "Cfg_HiOffDly", + "Cfg_HiGateDly", + "Cfg_LoDB", + "Cfg_LoOnDly", + "Cfg_LoOffDly", + "Cfg_LoGateDly", + "Cfg_LoLoDB", + "Cfg_LoLoOnDly", + "Cfg_LoLoOffDly", + "Cfg_LoLoGateDly", + "Cfg_FailHiLim", + "Cfg_FailLoLim", + "Cfg_FailDB", + "Cfg_FailOnDly", + "Cfg_FailOffDly", + "Cfg_FailGateDly", + "PSet_Owner", + "PSet_HiHiLim", + "PSet_HiLim", + "PSet_LoLim", + "PSet_LoLoLim", + "MSet_SubstPV", + "OSet_HiHiLim", + "OSet_HiLim", + "OSet_LoLim", + "OSet_LoLoLim", + "Set_SimPV", + "PCmd_ClearCapt", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "PCmd_Reset", + "PCmd_HiHiAck", + "PCmd_HiHiSuppress", + "PCmd_HiHiUnsuppress", + "PCmd_HiHiUnshelve", + "PCmd_HiAck", + "PCmd_HiSuppress", + "PCmd_HiUnsuppress", + "PCmd_HiUnshelve", + "PCmd_LoAck", + "PCmd_LoSuppress", + "PCmd_LoUnsuppress", + "PCmd_LoUnshelve", + "PCmd_LoLoAck", + "PCmd_LoLoSuppress", + "PCmd_LoLoUnsuppress", + "PCmd_LoLoUnshelve", + "PCmd_FailAck", + "PCmd_FailSuppress", + "PCmd_FailUnsuppress", + "PCmd_FailUnshelve", + "MCmd_SubstPV", + "MCmd_InpPV", + "OCmd_ClearCapt", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_Unlock", + "OCmd_Reset", + "OCmd_ResetAckAll", + "Val", + "Val_InpPV", + "Val_PVMinCapt", + "Val_PVMaxCapt", + "Val_PVEUMin", + "Val_PVEUMax", + "SrcQ_IO", + "SrcQ", + "Val_Fault", + "Val_Mode", + "Val_Owner", + "Val_Notify", + "Val_HiHiLim", + "Val_HiLim", + "Val_LoLim", + "Val_LoLoLim", + "Sts_SubstPV", + "Sts_InpPV", + "Sts_PVBad", + "Sts_PVUncertain", + "Sts_MaintByp", + "Sts_AlmInh", + "Sts_Err", + "Err_Raw", + "Err_EU", + "Err_Timer", + "Err_Filt", + "Err_DB", + "Err_Alarm", + "Sts_Maint", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Sts_HiHiCmp", + "Sts_HiHiGate", + "Sts_HiHi", + "Alm_HiHi", + "Ack_HiHi", + "Sts_HiHiDisabled", + "Sts_HiHiSuppressed", + "Sts_HiHiShelved", + "Sts_HiCmp", + "Sts_HiGate", + "Sts_Hi", + "Alm_Hi", + "Ack_Hi", + "Sts_HiDisabled", + "Sts_HiSuppressed", + "Sts_HiShelved", + "Sts_LoCmp", + "Sts_LoGate", + "Sts_Lo", + "Alm_Lo", + "Ack_Lo", + "Sts_LoDisabled", + "Sts_LoSuppressed", + "Sts_LoShelved", + "Sts_LoLoCmp", + "Sts_LoLoGate", + "Sts_LoLo", + "Alm_LoLo", + "Ack_LoLo", + "Sts_LoLoDisabled", + "Sts_LoLoSuppressed", + "Sts_LoLoShelved", + "Sts_FailCmp", + "Sts_FailGate", + "Sts_Fail", + "Alm_Fail", + "Ack_Fail", + "Sts_FailDisabled", + "Sts_FailSuppressed", + "Sts_FailShelved", + "Rdy_SubstPV", + "Rdy_InpPV", + "Rdy_Reset", + "Rdy_ResetAckAll", + "Rdy_OSet", + "P_AIn", + "inp_ProcessRunning", + "LoLo", + "Lo", + "Hi", + "HiHi", + "Mode", + "Cfg_EU", + "Cfg_Tag", + "Cfg_Label", + "Cfg_Desc", + "Fail", + "Wrk_Notify", + "Inf_Tab", + "Wrk_Fault", + "Wrk_SrcQ", + "Wrk_SubstPV", + "Wrk_UnfiltPV", + "Wrk_Alpha", + "Wrk_ScanT", + "Wrk_ScanTime", + "Wrk_FiltPV", + "Wrk_ValidONS", + "Wrk_SelPVDINT", + "Wrk_SelPVInfNaN", + "Inf_Type", + "Wrk_Fail", + "Wrk_LoLo", + "Wrk_Lo", + "Wrk_Hi", + "Wrk_HiHi", + "FailGate", + "LoLoGate", + "LoGate", + "HiHiGate", + "HiGate", + "Wrk_InpInfNaN", + "Wrk_InpDINT", + "Inf_Lib", + "Wrk_InpFail", + "ONS_Supress", + "ONS_Unsupress", + "ONS_ProcessRunning", + "ONS_ProcessNotRunning" + ], + "template": { + "object_definition_size": 1448, + "structure_size": 1868, + "member_count": 238, + "structure_handle": 13998 + } + } + }, + { + "tag_name": "AIn_IntakeTemperature", + "dim": 0, + "instance_id": 51, + "symbol_address": 62216, + "symbol_object_address": 869996, + "software_control": 67174452, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1864, + "data_type": { + "name": "P_AIn", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_PV": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_PVSrcQ": { + "offset": 8, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Inp_PVBad": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_PVUncertain": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_Sim": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Inp_HiHiGate": { + "offset": 1568, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_HiGate": { + "offset": 1708, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_LoGate": { + "offset": 1428, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_LoLoGate": { + "offset": 1288, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_FailGate": { + "offset": 1148, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_NoSubstPV": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_SetTrack": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_HasChanObj": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_UseChanSrcQ": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_PCmdClear": { + "offset": 784, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ProgDefault": { + "offset": 784, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HasHiHiAlm": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasHiAlm": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasLoAlm": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasLoLoAlm": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasFailAlm": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HiHiResetReqd": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_HiResetReqd": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_LoResetReqd": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_LoLoResetReqd": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_FailResetReqd": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_HiHiAckReqd": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HiAckReqd": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_LoAckReqd": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_LoLoAckReqd": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_FailAckReqd": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HiHiSeverity": { + "offset": 632, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_HiSeverity": { + "offset": 476, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_LoSeverity": { + "offset": 320, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_LoLoSeverity": { + "offset": 164, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_FailSeverity": { + "offset": 940, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_InpRawMin": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_InpRawMax": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_PVEUMin": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_PVEUMax": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FiltTC": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiHiDB": { + "offset": 32, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiHiOnDly": { + "offset": 1576, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiHiOffDly": { + "offset": 1580, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiHiGateDly": { + "offset": 1572, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiDB": { + "offset": 36, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiOnDly": { + "offset": 1716, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiOffDly": { + "offset": 1720, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiGateDly": { + "offset": 1712, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoDB": { + "offset": 40, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_LoOnDly": { + "offset": 1436, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoOffDly": { + "offset": 1440, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoGateDly": { + "offset": 1432, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoDB": { + "offset": 44, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_LoLoOnDly": { + "offset": 1296, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoOffDly": { + "offset": 1300, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoGateDly": { + "offset": 1292, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailHiLim": { + "offset": 48, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FailLoLim": { + "offset": 52, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FailDB": { + "offset": 56, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FailOnDly": { + "offset": 1156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailOffDly": { + "offset": 1160, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailGateDly": { + "offset": 1152, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PSet_Owner": { + "offset": 60, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PSet_HiHiLim": { + "offset": 64, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_HiLim": { + "offset": 68, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_LoLim": { + "offset": 72, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_LoLoLim": { + "offset": 76, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MSet_SubstPV": { + "offset": 80, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_HiHiLim": { + "offset": 84, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_HiLim": { + "offset": 88, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_LoLim": { + "offset": 92, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_LoLoLim": { + "offset": 96, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Set_SimPV": { + "offset": 100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PCmd_ClearCapt": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Acq": { + "offset": 784, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_HiHiAck": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_HiHiSuppress": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_HiHiUnsuppress": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_HiHiUnshelve": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_HiAck": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_HiSuppress": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_HiUnsuppress": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_HiUnshelve": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_LoAck": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_LoSuppress": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_LoUnsuppress": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_LoUnshelve": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_LoLoAck": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_LoLoSuppress": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_LoLoUnsuppress": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_LoLoUnshelve": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_FailAck": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_FailSuppress": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_FailUnsuppress": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_FailUnshelve": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "MCmd_SubstPV": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_InpPV": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_ClearCapt": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "MCmd_Acq": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_Unlock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "OCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_ResetAckAll": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Val": { + "offset": 104, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_InpPV": { + "offset": 108, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVMinCapt": { + "offset": 112, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVMaxCapt": { + "offset": 116, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVEUMin": { + "offset": 120, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVEUMax": { + "offset": 124, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SrcQ_IO": { + "offset": 128, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "SrcQ": { + "offset": 129, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Fault": { + "offset": 130, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Mode": { + "offset": 788, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Owner": { + "offset": 132, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_Notify": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_HiHiLim": { + "offset": 140, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_HiLim": { + "offset": 144, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_LoLim": { + "offset": 148, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_LoLoLim": { + "offset": 152, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Sts_SubstPV": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_InpPV": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_PVBad": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_PVUncertain": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_MaintByp": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_Err": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Err_Raw": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_EU": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Err_Filt": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Err_DB": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Err_Alarm": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Maint": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Prog": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_NoMode": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_HiHiCmp": { + "offset": 1568, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_HiHiGate": { + "offset": 1568, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_HiHi": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_HiHi": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_HiHi": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiHiDisabled": { + "offset": 695, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiHiSuppressed": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_HiHiShelved": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_HiCmp": { + "offset": 1708, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_HiGate": { + "offset": 1708, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Hi": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Hi": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Hi": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiDisabled": { + "offset": 539, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiSuppressed": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_HiShelved": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_LoCmp": { + "offset": 1428, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_LoGate": { + "offset": 1428, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Lo": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Lo": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Lo": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoDisabled": { + "offset": 383, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoSuppressed": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_LoShelved": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_LoLoCmp": { + "offset": 1288, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_LoLoGate": { + "offset": 1288, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_LoLo": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_LoLo": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_LoLo": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoLoDisabled": { + "offset": 227, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoLoSuppressed": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_LoLoShelved": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_FailCmp": { + "offset": 1148, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_FailGate": { + "offset": 1148, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Fail": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Fail": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Fail": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailDisabled": { + "offset": 1003, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailSuppressed": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_FailShelved": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_SubstPV": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_InpPV": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Reset": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_ResetAckAll": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_OSet": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "P_AIn": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "inp_ProcessRunning": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "LoLo": { + "offset": 160, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Lo": { + "offset": 316, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Hi": { + "offset": 472, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "HiHi": { + "offset": 628, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Mode": { + "offset": 784, + "tag_type": "struct", + "data_type": { + "name": "P_Mode", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_Hand": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Ovrd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_PCmdClear": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_OvrdOverLock": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_ProgDefault": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Acq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "MCmd_Acq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_UnlockRel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Sts_Hand": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Maint": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Ovrd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_Prog": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_ProgOperSel": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_NoMode": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Rdy_MAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_MRel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_OAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_OLock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_OUnlock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_ORel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "P_Mode": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_Locked": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_Prog": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_Maint": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inf_Lib": { + "offset": 12, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_Hand", + "Inp_Ovrd", + "Cfg_PCmdClear", + "Cfg_OvrdOverLock", + "Cfg_ProgDefault", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_UnlockRel", + "Val", + "Sts_Hand", + "Sts_Maint", + "Sts_Ovrd", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_ProgOperSel", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Rdy_MAcq", + "Rdy_MRel", + "Rdy_OAcq", + "Rdy_OLock", + "Rdy_OUnlock", + "Rdy_ORel", + "P_Mode", + "Wrk_Locked", + "Wrk_Prog", + "Wrk_Maint", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 228, + "structure_size": 48, + "member_count": 39, + "structure_handle": 16800 + } + }, + "array": 0 + }, + "Cfg_EU": { + "offset": 832, + "tag_type": "struct", + "data_type": { + "name": "STRING_8", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 8 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 8, + "template": { + "object_definition_size": 16, + "structure_size": 12, + "member_count": 2, + "structure_handle": 54208 + } + }, + "array": 0 + }, + "Cfg_Tag": { + "offset": 844, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Label": { + "offset": 868, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Desc": { + "offset": 892, + "tag_type": "struct", + "data_type": { + "name": "STRING_40", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 40 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 40, + "template": { + "object_definition_size": 17, + "structure_size": 44, + "member_count": 2, + "structure_handle": 32239 + } + }, + "array": 0 + }, + "Fail": { + "offset": 936, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Wrk_Notify": { + "offset": 1092, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Inf_Tab": { + "offset": 1093, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_Fault": { + "offset": 1094, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_SrcQ": { + "offset": 1095, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_SubstPV": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Wrk_UnfiltPV": { + "offset": 1096, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_Alpha": { + "offset": 1100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_ScanT": { + "offset": 1104, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ScanTime": { + "offset": 1116, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_FiltPV": { + "offset": 1120, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_ValidONS": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_SelPVDINT": { + "offset": 1124, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_SelPVInfNaN": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Inf_Type": { + "offset": 1128, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Wrk_Fail": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_LoLo": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Wrk_Lo": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Hi": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_HiHi": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FailGate": { + "offset": 1148, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "LoLoGate": { + "offset": 1288, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "LoGate": { + "offset": 1428, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "HiHiGate": { + "offset": 1568, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "HiGate": { + "offset": 1708, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "Wrk_InpInfNaN": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Wrk_InpDINT": { + "offset": 1848, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 1852, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Wrk_InpFail": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "ONS_Supress": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "ONS_Unsupress": { + "offset": 158, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "ONS_ProcessRunning": { + "offset": 158, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ONS_ProcessNotRunning": { + "offset": 158, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_PV", + "Inp_PVSrcQ", + "Inp_PVBad", + "Inp_PVUncertain", + "Inp_Sim", + "Inp_HiHiGate", + "Inp_HiGate", + "Inp_LoGate", + "Inp_LoLoGate", + "Inp_FailGate", + "Inp_Reset", + "Cfg_NoSubstPV", + "Cfg_SetTrack", + "Cfg_HasChanObj", + "Cfg_UseChanSrcQ", + "Cfg_PCmdClear", + "Cfg_ProgDefault", + "Cfg_HasHiHiAlm", + "Cfg_HasHiAlm", + "Cfg_HasLoAlm", + "Cfg_HasLoLoAlm", + "Cfg_HasFailAlm", + "Cfg_HiHiResetReqd", + "Cfg_HiResetReqd", + "Cfg_LoResetReqd", + "Cfg_LoLoResetReqd", + "Cfg_FailResetReqd", + "Cfg_HiHiAckReqd", + "Cfg_HiAckReqd", + "Cfg_LoAckReqd", + "Cfg_LoLoAckReqd", + "Cfg_FailAckReqd", + "Cfg_HiHiSeverity", + "Cfg_HiSeverity", + "Cfg_LoSeverity", + "Cfg_LoLoSeverity", + "Cfg_FailSeverity", + "Cfg_InpRawMin", + "Cfg_InpRawMax", + "Cfg_PVEUMin", + "Cfg_PVEUMax", + "Cfg_FiltTC", + "Cfg_HiHiDB", + "Cfg_HiHiOnDly", + "Cfg_HiHiOffDly", + "Cfg_HiHiGateDly", + "Cfg_HiDB", + "Cfg_HiOnDly", + "Cfg_HiOffDly", + "Cfg_HiGateDly", + "Cfg_LoDB", + "Cfg_LoOnDly", + "Cfg_LoOffDly", + "Cfg_LoGateDly", + "Cfg_LoLoDB", + "Cfg_LoLoOnDly", + "Cfg_LoLoOffDly", + "Cfg_LoLoGateDly", + "Cfg_FailHiLim", + "Cfg_FailLoLim", + "Cfg_FailDB", + "Cfg_FailOnDly", + "Cfg_FailOffDly", + "Cfg_FailGateDly", + "PSet_Owner", + "PSet_HiHiLim", + "PSet_HiLim", + "PSet_LoLim", + "PSet_LoLoLim", + "MSet_SubstPV", + "OSet_HiHiLim", + "OSet_HiLim", + "OSet_LoLim", + "OSet_LoLoLim", + "Set_SimPV", + "PCmd_ClearCapt", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "PCmd_Reset", + "PCmd_HiHiAck", + "PCmd_HiHiSuppress", + "PCmd_HiHiUnsuppress", + "PCmd_HiHiUnshelve", + "PCmd_HiAck", + "PCmd_HiSuppress", + "PCmd_HiUnsuppress", + "PCmd_HiUnshelve", + "PCmd_LoAck", + "PCmd_LoSuppress", + "PCmd_LoUnsuppress", + "PCmd_LoUnshelve", + "PCmd_LoLoAck", + "PCmd_LoLoSuppress", + "PCmd_LoLoUnsuppress", + "PCmd_LoLoUnshelve", + "PCmd_FailAck", + "PCmd_FailSuppress", + "PCmd_FailUnsuppress", + "PCmd_FailUnshelve", + "MCmd_SubstPV", + "MCmd_InpPV", + "OCmd_ClearCapt", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_Unlock", + "OCmd_Reset", + "OCmd_ResetAckAll", + "Val", + "Val_InpPV", + "Val_PVMinCapt", + "Val_PVMaxCapt", + "Val_PVEUMin", + "Val_PVEUMax", + "SrcQ_IO", + "SrcQ", + "Val_Fault", + "Val_Mode", + "Val_Owner", + "Val_Notify", + "Val_HiHiLim", + "Val_HiLim", + "Val_LoLim", + "Val_LoLoLim", + "Sts_SubstPV", + "Sts_InpPV", + "Sts_PVBad", + "Sts_PVUncertain", + "Sts_MaintByp", + "Sts_AlmInh", + "Sts_Err", + "Err_Raw", + "Err_EU", + "Err_Timer", + "Err_Filt", + "Err_DB", + "Err_Alarm", + "Sts_Maint", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Sts_HiHiCmp", + "Sts_HiHiGate", + "Sts_HiHi", + "Alm_HiHi", + "Ack_HiHi", + "Sts_HiHiDisabled", + "Sts_HiHiSuppressed", + "Sts_HiHiShelved", + "Sts_HiCmp", + "Sts_HiGate", + "Sts_Hi", + "Alm_Hi", + "Ack_Hi", + "Sts_HiDisabled", + "Sts_HiSuppressed", + "Sts_HiShelved", + "Sts_LoCmp", + "Sts_LoGate", + "Sts_Lo", + "Alm_Lo", + "Ack_Lo", + "Sts_LoDisabled", + "Sts_LoSuppressed", + "Sts_LoShelved", + "Sts_LoLoCmp", + "Sts_LoLoGate", + "Sts_LoLo", + "Alm_LoLo", + "Ack_LoLo", + "Sts_LoLoDisabled", + "Sts_LoLoSuppressed", + "Sts_LoLoShelved", + "Sts_FailCmp", + "Sts_FailGate", + "Sts_Fail", + "Alm_Fail", + "Ack_Fail", + "Sts_FailDisabled", + "Sts_FailSuppressed", + "Sts_FailShelved", + "Rdy_SubstPV", + "Rdy_InpPV", + "Rdy_Reset", + "Rdy_ResetAckAll", + "Rdy_OSet", + "P_AIn", + "inp_ProcessRunning", + "LoLo", + "Lo", + "Hi", + "HiHi", + "Mode", + "Cfg_EU", + "Cfg_Tag", + "Cfg_Label", + "Cfg_Desc", + "Fail", + "Wrk_Notify", + "Inf_Tab", + "Wrk_Fault", + "Wrk_SrcQ", + "Wrk_SubstPV", + "Wrk_UnfiltPV", + "Wrk_Alpha", + "Wrk_ScanT", + "Wrk_ScanTime", + "Wrk_FiltPV", + "Wrk_ValidONS", + "Wrk_SelPVDINT", + "Wrk_SelPVInfNaN", + "Inf_Type", + "Wrk_Fail", + "Wrk_LoLo", + "Wrk_Lo", + "Wrk_Hi", + "Wrk_HiHi", + "FailGate", + "LoLoGate", + "LoGate", + "HiHiGate", + "HiGate", + "Wrk_InpInfNaN", + "Wrk_InpDINT", + "Inf_Lib", + "Wrk_InpFail", + "ONS_Supress", + "ONS_Unsupress", + "ONS_ProcessRunning", + "ONS_ProcessNotRunning" + ], + "template": { + "object_definition_size": 1448, + "structure_size": 1868, + "member_count": 238, + "structure_handle": 13998 + } + } + }, + { + "tag_name": "Downhole_Sensor_Status_INT", + "dim": 0, + "instance_id": 52, + "symbol_address": 53344, + "symbol_object_address": 870036, + "software_control": 1140916288, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "GAL_PER_BBL", + "dim": 0, + "instance_id": 53, + "symbol_address": 85672, + "symbol_object_address": 870076, + "software_control": 1946222619, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "cfg_PID_Flow", + "dim": 0, + "instance_id": 54, + "symbol_address": 60288, + "symbol_object_address": 870116, + "software_control": 1140916278, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "cfg_PID_TubingPressure", + "dim": 0, + "instance_id": 55, + "symbol_address": 60256, + "symbol_object_address": 870156, + "software_control": 1140916279, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "cfg_PID_FluidLevel", + "dim": 0, + "instance_id": 56, + "symbol_address": 60224, + "symbol_object_address": 870196, + "software_control": 1140916280, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "PIDE_Control", + "dim": 0, + "instance_id": 61, + "symbol_address": 53504, + "symbol_object_address": 870396, + "software_control": 67174459, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 2310, + "data_type": { + "name": "P_PIDE", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_PV": { + "offset": 176, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_CascSP": { + "offset": 196, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_FF": { + "offset": 264, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_FFPrev": { + "offset": 268, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_CVInitVal": { + "offset": 224, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_CVPrev": { + "offset": 240, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_PVSrcQ": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Inp_OvrdCmd": { + "offset": 5, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Inp_OvrdRatio": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_OvrdSP": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_OvrdCV": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_HandFdbk": { + "offset": 272, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_PVBad": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_PVUncertain": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_CVIOFault": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_UseFFPrev": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Inp_UseCVInitVal": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_UseCVPrev": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Inp_WindupHi": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Inp_WindupLo": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_Ovrd": { + "offset": 1892, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_Hand": { + "offset": 1892, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_HandFdbkBad": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Inp_IntlkOK": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Inp_NBIntlkOK": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Inp_HiHiDevGate": { + "offset": 1300, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_HiDevGate": { + "offset": 1596, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_LoDevGate": { + "offset": 980, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_LoLoDevGate": { + "offset": 684, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HasRatio": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_HasCasc": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_PVTrack": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_CtrlAction": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Cfg_Depend": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_DerivSmooth": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_ZCOff": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_LimitManCV": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_InitToMan": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Cfg_PropSPAct": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_DerivSPAct": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_PwrupLM": { + "offset": 20, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Cfg_SetTrack": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_SetTrackOvrdHand": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_HasIntlkObj": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_HasCascSPNav": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Cfg_HasPVNav": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_HasCVNav": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_OvrdIntlk": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_PCmdClear": { + "offset": 1892, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ProgDefault": { + "offset": 1892, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HasHiHiDevAlm": { + "offset": 1440, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasHiDevAlm": { + "offset": 1736, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasLoDevAlm": { + "offset": 1120, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasLoLoDevAlm": { + "offset": 824, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasIntlkTripAlm": { + "offset": 1944, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasFailAlm": { + "offset": 2100, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HiHiDevResetReqd": { + "offset": 1440, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_HiDevResetReqd": { + "offset": 1736, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_LoDevResetReqd": { + "offset": 1120, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_LoLoDevResetReqd": { + "offset": 824, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_IntlkTripResetReqd": { + "offset": 1944, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_FailResetReqd": { + "offset": 2100, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_HiHiDevAckReqd": { + "offset": 1440, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HiDevAckReqd": { + "offset": 1736, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_LoDevAckReqd": { + "offset": 1120, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_LoLoDevAckReqd": { + "offset": 824, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_IntlkTripAckReqd": { + "offset": 1944, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_FailAckReqd": { + "offset": 2100, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HiHiDevSeverity": { + "offset": 1444, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_HiDevSeverity": { + "offset": 1740, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_LoDevSeverity": { + "offset": 1124, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_LoLoDevSeverity": { + "offset": 828, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_IntlkTripSeverity": { + "offset": 1948, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_FailSeverity": { + "offset": 2104, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_MinRatio": { + "offset": 220, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_MaxRatio": { + "offset": 216, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_MinSP": { + "offset": 204, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_MaxSP": { + "offset": 200, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_PVEUMin": { + "offset": 184, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_PVEUMax": { + "offset": 180, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_CVEUMin": { + "offset": 248, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_CVEUMax": { + "offset": 244, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_CVRoCLim": { + "offset": 260, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_PGain": { + "offset": 276, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_IGain": { + "offset": 280, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_DGain": { + "offset": 284, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_ZCDB": { + "offset": 288, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_MinCV": { + "offset": 256, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_MaxCV": { + "offset": 252, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_MaxInactiveCV": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_IntlkCV": { + "offset": 236, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_DevDB": { + "offset": 340, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_PwrupSP": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_PwrupCV": { + "offset": 32, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiHiDevOnDly": { + "offset": 1308, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiHiDevOffDly": { + "offset": 1312, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiHiDevGateDly": { + "offset": 1304, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiDevOnDly": { + "offset": 1604, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiDevOffDly": { + "offset": 1608, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiDevGateDly": { + "offset": 1600, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoDevOnDly": { + "offset": 988, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoDevOffDly": { + "offset": 992, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoDevGateDly": { + "offset": 984, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoDevOnDly": { + "offset": 692, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoDevOffDly": { + "offset": 696, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoDevGateDly": { + "offset": 688, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PSet_Ratio": { + "offset": 36, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_SP": { + "offset": 40, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_CV": { + "offset": 44, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_HiHiDevLim": { + "offset": 48, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_HiDevLim": { + "offset": 52, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_LoDevLim": { + "offset": 56, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_LoLoDevLim": { + "offset": 60, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_Owner": { + "offset": 64, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "OSet_Ratio": { + "offset": 68, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_SP": { + "offset": 72, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_CV": { + "offset": 76, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_HiHiDevLim": { + "offset": 80, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_HiDevLim": { + "offset": 84, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_LoDevLim": { + "offset": 88, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_LoLoDevLim": { + "offset": 92, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PCmd_Casc": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Auto": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Man": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Acq": { + "offset": 1892, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 1893, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 1893, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 1893, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_HiHiDevAck": { + "offset": 1441, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_HiHiDevSuppress": { + "offset": 1441, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_HiHiDevUnsuppress": { + "offset": 1441, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_HiHiDevUnshelve": { + "offset": 1441, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_HiDevAck": { + "offset": 1737, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_HiDevSuppress": { + "offset": 1737, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_HiDevUnsuppress": { + "offset": 1737, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_HiDevUnshelve": { + "offset": 1737, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_LoDevAck": { + "offset": 1121, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_LoDevSuppress": { + "offset": 1121, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_LoDevUnsuppress": { + "offset": 1121, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_LoDevUnshelve": { + "offset": 1121, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_LoLoDevAck": { + "offset": 825, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_LoLoDevSuppress": { + "offset": 825, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_LoLoDevUnsuppress": { + "offset": 825, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_LoLoDevUnshelve": { + "offset": 825, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_IntlkTripAck": { + "offset": 1945, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_IntlkTripSuppress": { + "offset": 1945, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_IntlkTripUnsuppress": { + "offset": 1945, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_IntlkTripUnshelve": { + "offset": 1945, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_FailAck": { + "offset": 2101, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_FailSuppress": { + "offset": 2101, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_FailUnsuppress": { + "offset": 2101, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_FailUnshelve": { + "offset": 2101, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Casc": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Auto": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "OCmd_Man": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_Bypass": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_Check": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "MCmd_Enable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "MCmd_Acq": { + "offset": 1893, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 1893, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 1893, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_Unlock": { + "offset": 1893, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "OCmd_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_ResetAckAll": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Out_CV": { + "offset": 372, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PV": { + "offset": 96, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_Ratio": { + "offset": 400, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_SPSet": { + "offset": 100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_SP": { + "offset": 380, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_E": { + "offset": 392, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_CVSet": { + "offset": 104, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_CVOut": { + "offset": 376, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVPercent": { + "offset": 388, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_SPPercent": { + "offset": 384, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_EPercent": { + "offset": 396, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_ActExecT": { + "offset": 404, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_Init": { + "offset": 108, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVEUMin": { + "offset": 112, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVEUMax": { + "offset": 116, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_CVEUMin": { + "offset": 120, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_CVEUMax": { + "offset": 124, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SrcQ_IO": { + "offset": 128, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "SrcQ": { + "offset": 129, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Sts": { + "offset": 130, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Fault": { + "offset": 131, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_State": { + "offset": 132, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Mode": { + "offset": 1896, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Owner": { + "offset": 136, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_Notify": { + "offset": 140, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_HiHiDevLim": { + "offset": 324, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_HiDevLim": { + "offset": 328, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_LoDevLim": { + "offset": 144, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_LoLoDevLim": { + "offset": 148, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Sts_InstrFaults1": { + "offset": 152, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_InstrFaults2": { + "offset": 156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_Casc": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_Auto": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Man": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Initializing": { + "offset": 368, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_InitReq": { + "offset": 368, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_WindupHi": { + "offset": 368, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_WindupLo": { + "offset": 369, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_ZCDBOn": { + "offset": 369, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_RatioClamped": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_SPBad": { + "offset": 412, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_SPClamped": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_PVBad": { + "offset": 412, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "__BitHost01": { + "offset": 160, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_PVUncertain": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_FFBad": { + "offset": 414, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_FFPrevBad": { + "offset": 414, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_CVBad": { + "offset": 412, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_CVPrevBad": { + "offset": 413, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_CVInitValBad": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HandFdbkBad": { + "offset": 412, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_IntlkCV": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_CVClamped": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_CVRamping": { + "offset": 368, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_Active": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Available": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Bypass": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_BypActive": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Disabled": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_NotRdy": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Nrdy_Disabled": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Nrdy_CfgErr": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Nrdy_Intlk": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Nrdy_Init": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Nrdy_IOFault": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Nrdy_NoMode": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_MaintByp": { + "offset": 162, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_AlmInh": { + "offset": 162, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_Err": { + "offset": 162, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Err_RatioLim": { + "offset": 413, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Err_SPLim": { + "offset": 413, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_PVEU": { + "offset": 412, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Err_CVLim": { + "offset": 414, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_CVEU": { + "offset": 414, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 162, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Err_DB": { + "offset": 415, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Alarm": { + "offset": 162, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Hand": { + "offset": 1893, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Maint": { + "offset": 1894, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Ovrd": { + "offset": 1894, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_Prog": { + "offset": 1894, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 1894, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 1894, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_NoMode": { + "offset": 1894, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 1894, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_HiHiDevCmp": { + "offset": 1300, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_HiHiDevGate": { + "offset": 1300, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_HiHiDev": { + "offset": 1440, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_HiHiDev": { + "offset": 1506, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_HiHiDev": { + "offset": 1506, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiHiDevDisabled": { + "offset": 1507, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiHiDevShelved": { + "offset": 1506, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_HiHiDevSuppressed": { + "offset": 1506, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_HiDevCmp": { + "offset": 1596, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_HiDevGate": { + "offset": 1596, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_HiDev": { + "offset": 1736, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_HiDev": { + "offset": 1802, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_HiDev": { + "offset": 1802, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiDevDisabled": { + "offset": 1803, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiDevShelved": { + "offset": 1802, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_HiDevSuppressed": { + "offset": 1802, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_LoDevCmp": { + "offset": 980, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_LoDevGate": { + "offset": 980, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_LoDev": { + "offset": 1120, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_LoDev": { + "offset": 1186, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_LoDev": { + "offset": 1186, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoDevDisabled": { + "offset": 1187, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoDevShelved": { + "offset": 1186, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_LoDevSuppressed": { + "offset": 1186, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_LoLoDevCmp": { + "offset": 684, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_LoLoDevGate": { + "offset": 684, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_LoLoDev": { + "offset": 824, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_LoLoDev": { + "offset": 890, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_LoLoDev": { + "offset": 890, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoLoDevDisabled": { + "offset": 891, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoLoDevShelved": { + "offset": 890, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_LoLoDevSuppressed": { + "offset": 890, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_IntlkTrip": { + "offset": 1944, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_IntlkTrip": { + "offset": 2010, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_IntlkTrip": { + "offset": 2010, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_IntlkTripDisabled": { + "offset": 2011, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_IntlkTripShelved": { + "offset": 2010, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_IntlkTripSuppressed": { + "offset": 2010, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_Fail": { + "offset": 2100, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Fail": { + "offset": 2166, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Fail": { + "offset": 2166, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailDisabled": { + "offset": 2167, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailShelved": { + "offset": 2166, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_FailSuppressed": { + "offset": 2166, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Casc": { + "offset": 162, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Auto": { + "offset": 162, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Man": { + "offset": 162, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Rdy_Bypass": { + "offset": 163, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Check": { + "offset": 163, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_Disable": { + "offset": 163, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Enable": { + "offset": 163, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Reset": { + "offset": 163, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_ResetAckAll": { + "offset": 163, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Ratio": { + "offset": 163, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_SP": { + "offset": 163, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost02": { + "offset": 164, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_CV": { + "offset": 164, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_OSet": { + "offset": 164, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_PIDE": { + "offset": 164, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_PIDE": { + "offset": 168, + "tag_type": "struct", + "data_type": { + "name": "PID_ENHANCED", + "internal_tags": { + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "ulBoolInput1": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PV": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PVFault": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PVEUMax": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PVEUMin": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SPProg": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SPOper": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SPCascade": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SPHLimit": { + "offset": 32, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SPLLimit": { + "offset": 36, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "UseRatio": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "RatioProg": { + "offset": 40, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "RatioOper": { + "offset": 44, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "RatioHLimit": { + "offset": 48, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "RatioLLimit": { + "offset": 52, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "CVFault": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "CVInitReq": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "CVInitValue": { + "offset": 56, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "CVProg": { + "offset": 60, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "CVOper": { + "offset": 64, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "CVOverride": { + "offset": 68, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "CVPrevious": { + "offset": 72, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "CVSetPrevious": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "CVManLimiting": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "CVEUMax": { + "offset": 76, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "CVEUMin": { + "offset": 80, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "CVHLimit": { + "offset": 84, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "CVLLimit": { + "offset": 88, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "CVROCLimit": { + "offset": 92, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "FF": { + "offset": 96, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "FFPrevious": { + "offset": 100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "FFSetPrevious": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "HandFB": { + "offset": 104, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "HandFBFault": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "WindupHIn": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "WindupLIn": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ControlAction": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DependIndepend": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PGain": { + "offset": 108, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "IGain": { + "offset": 112, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "DGain": { + "offset": 116, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PVEProportional": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PVEDerivative": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DSmoothing": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PVTracking": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "ZCDeadband": { + "offset": 120, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ZCOff": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PVHHLimit": { + "offset": 124, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PVHLimit": { + "offset": 128, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PVLLimit": { + "offset": 132, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PVLLLimit": { + "offset": 136, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PVDeadband": { + "offset": 140, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PVROCPosLimit": { + "offset": 144, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PVROCNegLimit": { + "offset": 148, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PVROCPeriod": { + "offset": 152, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "DevHHLimit": { + "offset": 156, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "DevHLimit": { + "offset": 160, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "DevLLimit": { + "offset": 164, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "DevLLLimit": { + "offset": 168, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "DevDeadband": { + "offset": 172, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "AllowCasRat": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ManualAfterInit": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ProgProgReq": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "ProgOperReq": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "ProgCasRatReq": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "ProgAutoReq": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "ProgManualReq": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "ProgOverrideReq": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "ProgHandReq": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OperProgReq": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OperOperReq": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "OperCasRatReq": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OperAutoReq": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OperManualReq": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "ProgValueReset": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TimingMode": { + "offset": 176, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "OversampleDT": { + "offset": 180, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "RTSTime": { + "offset": 184, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RTSTimeStamp": { + "offset": 188, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ulBoolInput2": { + "offset": 192, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "AtuneAcquire": { + "offset": 192, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "AtuneStart": { + "offset": 192, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "AtuneUseGains": { + "offset": 192, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "AtuneAbort": { + "offset": 192, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "AtuneUnacquire": { + "offset": 192, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "EnableOut": { + "offset": 196, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "ulBoolOutput1": { + "offset": 200, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "CVEU": { + "offset": 204, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "CV": { + "offset": 208, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "CVInitializing": { + "offset": 200, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "CVHAlarm": { + "offset": 200, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "CVLAlarm": { + "offset": 200, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "CVROCAlarm": { + "offset": 200, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "SP": { + "offset": 212, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SPPercent": { + "offset": 216, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SPHAlarm": { + "offset": 200, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "SPLAlarm": { + "offset": 200, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PVPercent": { + "offset": 220, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "E": { + "offset": 224, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "EPercent": { + "offset": 228, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "InitPrimary": { + "offset": 200, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "WindupHOut": { + "offset": 200, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "WindupLOut": { + "offset": 201, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ratio": { + "offset": 232, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "RatioHAlarm": { + "offset": 201, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "RatioLAlarm": { + "offset": 201, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ZCDeadbandOn": { + "offset": 201, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PVHHAlarm": { + "offset": 201, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PVHAlarm": { + "offset": 201, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PVLAlarm": { + "offset": 201, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PVLLAlarm": { + "offset": 201, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PVROCPosAlarm": { + "offset": 202, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PVROCNegAlarm": { + "offset": 202, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DevHHAlarm": { + "offset": 202, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DevHAlarm": { + "offset": 202, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DevLAlarm": { + "offset": 202, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DevLLAlarm": { + "offset": 202, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "ProgOper": { + "offset": 202, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "CasRat": { + "offset": 202, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Auto": { + "offset": 203, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Manual": { + "offset": 203, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Override": { + "offset": 203, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Hand": { + "offset": 203, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DeltaT": { + "offset": 236, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ulBoolOutput2": { + "offset": 240, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "AtuneReady": { + "offset": 240, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "AtuneOn": { + "offset": 240, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "AtuneDone": { + "offset": 240, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "AtuneAborted": { + "offset": 240, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "AtuneBusy": { + "offset": 240, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Status1": { + "offset": 244, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Status2": { + "offset": 248, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "InstructFault": { + "offset": 244, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PVFaulted": { + "offset": 244, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "CVFaulted": { + "offset": 244, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "HandFBFaulted": { + "offset": 244, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PVSpanInv": { + "offset": 244, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "SPProgInv": { + "offset": 244, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "SPOperInv": { + "offset": 244, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "SPCascadeInv": { + "offset": 244, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "SPLimitsInv": { + "offset": 245, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "RatioProgInv": { + "offset": 245, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "RatioOperInv": { + "offset": 245, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "RatioLimitsInv": { + "offset": 245, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "CVProgInv": { + "offset": 245, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "CVOperInv": { + "offset": 245, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "CVOverrideInv": { + "offset": 245, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "CVPreviousInv": { + "offset": 245, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "CVEUSpanInv": { + "offset": 246, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "CVLimitsInv": { + "offset": 246, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "CVROCLimitInv": { + "offset": 246, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FFInv": { + "offset": 246, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FFPreviousInv": { + "offset": 246, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "HandFBInv": { + "offset": 246, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PGainInv": { + "offset": 246, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "IGainInv": { + "offset": 246, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DGainInv": { + "offset": 247, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "ZCDeadbandInv": { + "offset": 247, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PVDeadbandInv": { + "offset": 247, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PVROCLimitsInv": { + "offset": 247, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DevHLLimitsInv": { + "offset": 247, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DevDeadbandInv": { + "offset": 247, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "AtuneDataInv": { + "offset": 248, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "TimingModeInv": { + "offset": 251, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "RTSMissed": { + "offset": 251, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "RTSTimeInv": { + "offset": 251, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "RTSTimeStampInv": { + "offset": 251, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DeltaTInv": { + "offset": 251, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PIDE_HiddenFloat1": { + "offset": 252, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat2": { + "offset": 256, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat3": { + "offset": 260, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat4": { + "offset": 264, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat5": { + "offset": 268, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat6": { + "offset": 272, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat7": { + "offset": 276, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat8": { + "offset": 280, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat9": { + "offset": 284, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat10": { + "offset": 288, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat11": { + "offset": 292, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat12": { + "offset": 296, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat13": { + "offset": 300, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat14": { + "offset": 304, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat15": { + "offset": 308, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat16": { + "offset": 312, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat17": { + "offset": 316, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat18": { + "offset": 320, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat19": { + "offset": 324, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat20": { + "offset": 328, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat21": { + "offset": 332, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat22": { + "offset": 336, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat23": { + "offset": 340, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat24": { + "offset": 344, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat25": { + "offset": 348, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat26": { + "offset": 352, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat27": { + "offset": 356, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat28": { + "offset": 360, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat29": { + "offset": 364, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat30": { + "offset": 368, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat31": { + "offset": 372, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat32": { + "offset": 376, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat33": { + "offset": 380, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat34": { + "offset": 384, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat35": { + "offset": 388, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat36": { + "offset": 392, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PIDE_HiddenFloat37": { + "offset": 396, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "ulBoolInput1", + "PV", + "PVFault", + "PVEUMax", + "PVEUMin", + "SPProg", + "SPOper", + "SPCascade", + "SPHLimit", + "SPLLimit", + "UseRatio", + "RatioProg", + "RatioOper", + "RatioHLimit", + "RatioLLimit", + "CVFault", + "CVInitReq", + "CVInitValue", + "CVProg", + "CVOper", + "CVOverride", + "CVPrevious", + "CVSetPrevious", + "CVManLimiting", + "CVEUMax", + "CVEUMin", + "CVHLimit", + "CVLLimit", + "CVROCLimit", + "FF", + "FFPrevious", + "FFSetPrevious", + "HandFB", + "HandFBFault", + "WindupHIn", + "WindupLIn", + "ControlAction", + "DependIndepend", + "PGain", + "IGain", + "DGain", + "PVEProportional", + "PVEDerivative", + "DSmoothing", + "PVTracking", + "ZCDeadband", + "ZCOff", + "PVHHLimit", + "PVHLimit", + "PVLLimit", + "PVLLLimit", + "PVDeadband", + "PVROCPosLimit", + "PVROCNegLimit", + "PVROCPeriod", + "DevHHLimit", + "DevHLimit", + "DevLLimit", + "DevLLLimit", + "DevDeadband", + "AllowCasRat", + "ManualAfterInit", + "ProgProgReq", + "ProgOperReq", + "ProgCasRatReq", + "ProgAutoReq", + "ProgManualReq", + "ProgOverrideReq", + "ProgHandReq", + "OperProgReq", + "OperOperReq", + "OperCasRatReq", + "OperAutoReq", + "OperManualReq", + "ProgValueReset", + "TimingMode", + "OversampleDT", + "RTSTime", + "RTSTimeStamp", + "ulBoolInput2", + "AtuneAcquire", + "AtuneStart", + "AtuneUseGains", + "AtuneAbort", + "AtuneUnacquire", + "EnableOut", + "ulBoolOutput1", + "CVEU", + "CV", + "CVInitializing", + "CVHAlarm", + "CVLAlarm", + "CVROCAlarm", + "SP", + "SPPercent", + "SPHAlarm", + "SPLAlarm", + "PVPercent", + "E", + "EPercent", + "InitPrimary", + "WindupHOut", + "WindupLOut", + "Ratio", + "RatioHAlarm", + "RatioLAlarm", + "ZCDeadbandOn", + "PVHHAlarm", + "PVHAlarm", + "PVLAlarm", + "PVLLAlarm", + "PVROCPosAlarm", + "PVROCNegAlarm", + "DevHHAlarm", + "DevHAlarm", + "DevLAlarm", + "DevLLAlarm", + "ProgOper", + "CasRat", + "Auto", + "Manual", + "Override", + "Hand", + "DeltaT", + "ulBoolOutput2", + "AtuneReady", + "AtuneOn", + "AtuneDone", + "AtuneAborted", + "AtuneBusy", + "Status1", + "Status2", + "InstructFault", + "PVFaulted", + "CVFaulted", + "HandFBFaulted", + "PVSpanInv", + "SPProgInv", + "SPOperInv", + "SPCascadeInv", + "SPLimitsInv", + "RatioProgInv", + "RatioOperInv", + "RatioLimitsInv", + "CVProgInv", + "CVOperInv", + "CVOverrideInv", + "CVPreviousInv", + "CVEUSpanInv", + "CVLimitsInv", + "CVROCLimitInv", + "FFInv", + "FFPreviousInv", + "HandFBInv", + "PGainInv", + "IGainInv", + "DGainInv", + "ZCDeadbandInv", + "PVDeadbandInv", + "PVROCLimitsInv", + "DevHLLimitsInv", + "DevDeadbandInv", + "AtuneDataInv", + "TimingModeInv", + "RTSMissed", + "RTSTimeInv", + "RTSTimeStampInv", + "DeltaTInv", + "PIDE_HiddenFloat1", + "PIDE_HiddenFloat2", + "PIDE_HiddenFloat3", + "PIDE_HiddenFloat4", + "PIDE_HiddenFloat5", + "PIDE_HiddenFloat6", + "PIDE_HiddenFloat7", + "PIDE_HiddenFloat8", + "PIDE_HiddenFloat9", + "PIDE_HiddenFloat10", + "PIDE_HiddenFloat11", + "PIDE_HiddenFloat12", + "PIDE_HiddenFloat13", + "PIDE_HiddenFloat14", + "PIDE_HiddenFloat15", + "PIDE_HiddenFloat16", + "PIDE_HiddenFloat17", + "PIDE_HiddenFloat18", + "PIDE_HiddenFloat19", + "PIDE_HiddenFloat20", + "PIDE_HiddenFloat21", + "PIDE_HiddenFloat22", + "PIDE_HiddenFloat23", + "PIDE_HiddenFloat24", + "PIDE_HiddenFloat25", + "PIDE_HiddenFloat26", + "PIDE_HiddenFloat27", + "PIDE_HiddenFloat28", + "PIDE_HiddenFloat29", + "PIDE_HiddenFloat30", + "PIDE_HiddenFloat31", + "PIDE_HiddenFloat32", + "PIDE_HiddenFloat33", + "PIDE_HiddenFloat34", + "PIDE_HiddenFloat35", + "PIDE_HiddenFloat36", + "PIDE_HiddenFloat37" + ], + "template": { + "object_definition_size": 1253, + "structure_size": 400, + "member_count": 206, + "structure_handle": 3988 + } + }, + "array": 0 + }, + "Cfg_Tag": { + "offset": 568, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_PVEU": { + "offset": 592, + "tag_type": "struct", + "data_type": { + "name": "STRING_8", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 8 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 8, + "template": { + "object_definition_size": 16, + "structure_size": 12, + "member_count": 2, + "structure_handle": 54208 + } + }, + "array": 0 + }, + "Cfg_Label": { + "offset": 604, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Desc": { + "offset": 628, + "tag_type": "struct", + "data_type": { + "name": "STRING_40", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 40 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 40, + "template": { + "object_definition_size": 17, + "structure_size": 44, + "member_count": 2, + "structure_handle": 32239 + } + }, + "array": 0 + }, + "Cfg_CVEU": { + "offset": 672, + "tag_type": "struct", + "data_type": { + "name": "STRING_8", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 8 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 8, + "template": { + "object_definition_size": 16, + "structure_size": 12, + "member_count": 2, + "structure_handle": 54208 + } + }, + "array": 0 + }, + "LoLoDevGate": { + "offset": 684, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "LoLoDev": { + "offset": 824, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "LoDevGate": { + "offset": 980, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "LoDev": { + "offset": 1120, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 1276, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 1296, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_SrcQ": { + "offset": 1297, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "HiHiDevGate": { + "offset": 1300, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "HiHiDev": { + "offset": 1440, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "HiDevGate": { + "offset": 1596, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "HiDev": { + "offset": 1736, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Mode": { + "offset": 1892, + "tag_type": "struct", + "data_type": { + "name": "P_Mode", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_Hand": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Ovrd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_PCmdClear": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_OvrdOverLock": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_ProgDefault": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Acq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "MCmd_Acq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_UnlockRel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Sts_Hand": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Maint": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Ovrd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_Prog": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_ProgOperSel": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_NoMode": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Rdy_MAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_MRel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_OAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_OLock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_OUnlock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_ORel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "P_Mode": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_Locked": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_Prog": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_Maint": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inf_Lib": { + "offset": 12, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_Hand", + "Inp_Ovrd", + "Cfg_PCmdClear", + "Cfg_OvrdOverLock", + "Cfg_ProgDefault", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_UnlockRel", + "Val", + "Sts_Hand", + "Sts_Maint", + "Sts_Ovrd", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_ProgOperSel", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Rdy_MAcq", + "Rdy_MRel", + "Rdy_OAcq", + "Rdy_OLock", + "Rdy_OUnlock", + "Rdy_ORel", + "P_Mode", + "Wrk_Locked", + "Wrk_Prog", + "Wrk_Maint", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 228, + "structure_size": 48, + "member_count": 39, + "structure_handle": 16800 + } + }, + "array": 0 + }, + "Wrk_Notify": { + "offset": 1940, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "IntlkTrip": { + "offset": 1944, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Wrk_IntlkOK": { + "offset": 164, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Disabled": { + "offset": 164, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_Bypass": { + "offset": 164, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Wrk_Reset": { + "offset": 164, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_ManCmd": { + "offset": 164, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Wrk_AutoCmd": { + "offset": 165, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_CascCmd": { + "offset": 165, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Wrk_Casc": { + "offset": 165, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Auto": { + "offset": 165, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Man": { + "offset": 165, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Fail": { + "offset": 2100, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Cfg_CVNavTag": { + "offset": 2256, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_PVNavTag": { + "offset": 2280, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_CascSPNavTag": { + "offset": 2304, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 2328, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Wrk_Autotune": { + "offset": 2344, + "tag_type": "struct", + "data_type": { + "name": "PIDE_AUTOTUNE", + "internal_tags": { + "ProcessType": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ResponseSpeed": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "TestLength": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PVTuneLimit": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "StepSize": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TuneFlags": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "TunedGood": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "TunedUncertain": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ATuneAcquired": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "UsedProcessType": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Gain": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TimeConstant": { + "offset": 32, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "DeadTime": { + "offset": 36, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PGainTunedFast": { + "offset": 40, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "IGainTunedFast": { + "offset": 44, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "DGainTunedFast": { + "offset": 48, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PGainTunedMed": { + "offset": 52, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "IGainTunedMed": { + "offset": 56, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "DGainTunedMed": { + "offset": 60, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PGainTunedSlow": { + "offset": 64, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "IGainTunedSlow": { + "offset": 68, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "DGainTunedSlow": { + "offset": 72, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "StepSizeUsed": { + "offset": 76, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "AtuneStatus": { + "offset": 80, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ATuneFault": { + "offset": 80, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PVOutOfLimit": { + "offset": 80, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ModeInv": { + "offset": 80, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "CVWindupFault": { + "offset": 80, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "StepSizeZero": { + "offset": 80, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "CVLimitsFault": { + "offset": 80, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "CVInitFault": { + "offset": 80, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "EUSpanChanged": { + "offset": 80, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "CVChanged": { + "offset": 81, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "ATuneTimedOut": { + "offset": 81, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PVNotSettled": { + "offset": 81, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PVChangeTooSmall": { + "offset": 83, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "StepSizeTooSmall": { + "offset": 83, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "GainTooLarge": { + "offset": 83, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "GainTooSmall": { + "offset": 83, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "LongDeadTime": { + "offset": 83, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "HiddenWords": { + "offset": 84, + "tag_type": "atomic", + "data_type": "DINT", + "array": 222 + } + }, + "attributes": [ + "ProcessType", + "ResponseSpeed", + "TestLength", + "PVTuneLimit", + "StepSize", + "TuneFlags", + "TunedGood", + "TunedUncertain", + "ATuneAcquired", + "UsedProcessType", + "Gain", + "TimeConstant", + "DeadTime", + "PGainTunedFast", + "IGainTunedFast", + "DGainTunedFast", + "PGainTunedMed", + "IGainTunedMed", + "DGainTunedMed", + "PGainTunedSlow", + "IGainTunedSlow", + "DGainTunedSlow", + "StepSizeUsed", + "AtuneStatus", + "ATuneFault", + "PVOutOfLimit", + "ModeInv", + "CVWindupFault", + "StepSizeZero", + "CVLimitsFault", + "CVInitFault", + "EUSpanChanged", + "CVChanged", + "ATuneTimedOut", + "PVNotSettled", + "PVChangeTooSmall", + "StepSizeTooSmall", + "GainTooLarge", + "GainTooSmall", + "LongDeadTime", + "HiddenWords" + ], + "template": { + "object_definition_size": 264, + "structure_size": 972, + "member_count": 41, + "structure_handle": 4022 + } + }, + "array": 0 + }, + "Wrk_PIDE_only": { + "offset": 3316, + "tag_type": "struct", + "data_type": { + "name": "P_PIDE_only", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + } + }, + "attributes": [ + "EnableIn", + "EnableOut" + ], + "template": { + "object_definition_size": 26, + "structure_size": 4, + "member_count": 3, + "structure_handle": 38846 + } + }, + "array": 0 + }, + "HMI_HasAutotune": { + "offset": 165, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_PV", + "Inp_CascSP", + "Inp_FF", + "Inp_FFPrev", + "Inp_CVInitVal", + "Inp_CVPrev", + "Inp_PVSrcQ", + "Inp_OvrdCmd", + "Inp_OvrdRatio", + "Inp_OvrdSP", + "Inp_OvrdCV", + "Inp_HandFdbk", + "Inp_PVBad", + "Inp_PVUncertain", + "Inp_CVIOFault", + "Inp_UseFFPrev", + "Inp_UseCVInitVal", + "Inp_UseCVPrev", + "Inp_WindupHi", + "Inp_WindupLo", + "Inp_Ovrd", + "Inp_Hand", + "Inp_HandFdbkBad", + "Inp_IntlkOK", + "Inp_NBIntlkOK", + "Inp_HiHiDevGate", + "Inp_HiDevGate", + "Inp_LoDevGate", + "Inp_LoLoDevGate", + "Inp_Reset", + "Cfg_HasRatio", + "Cfg_HasCasc", + "Cfg_PVTrack", + "Cfg_CtrlAction", + "Cfg_Depend", + "Cfg_DerivSmooth", + "Cfg_ZCOff", + "Cfg_LimitManCV", + "Cfg_InitToMan", + "Cfg_PropSPAct", + "Cfg_DerivSPAct", + "Cfg_PwrupLM", + "Cfg_SetTrack", + "Cfg_SetTrackOvrdHand", + "Cfg_HasIntlkObj", + "Cfg_HasCascSPNav", + "Cfg_HasPVNav", + "Cfg_HasCVNav", + "Cfg_OvrdIntlk", + "Cfg_PCmdClear", + "Cfg_ProgDefault", + "Cfg_HasHiHiDevAlm", + "Cfg_HasHiDevAlm", + "Cfg_HasLoDevAlm", + "Cfg_HasLoLoDevAlm", + "Cfg_HasIntlkTripAlm", + "Cfg_HasFailAlm", + "Cfg_HiHiDevResetReqd", + "Cfg_HiDevResetReqd", + "Cfg_LoDevResetReqd", + "Cfg_LoLoDevResetReqd", + "Cfg_IntlkTripResetReqd", + "Cfg_FailResetReqd", + "Cfg_HiHiDevAckReqd", + "Cfg_HiDevAckReqd", + "Cfg_LoDevAckReqd", + "Cfg_LoLoDevAckReqd", + "Cfg_IntlkTripAckReqd", + "Cfg_FailAckReqd", + "Cfg_HiHiDevSeverity", + "Cfg_HiDevSeverity", + "Cfg_LoDevSeverity", + "Cfg_LoLoDevSeverity", + "Cfg_IntlkTripSeverity", + "Cfg_FailSeverity", + "Cfg_MinRatio", + "Cfg_MaxRatio", + "Cfg_MinSP", + "Cfg_MaxSP", + "Cfg_PVEUMin", + "Cfg_PVEUMax", + "Cfg_CVEUMin", + "Cfg_CVEUMax", + "Cfg_CVRoCLim", + "Cfg_PGain", + "Cfg_IGain", + "Cfg_DGain", + "Cfg_ZCDB", + "Cfg_MinCV", + "Cfg_MaxCV", + "Cfg_MaxInactiveCV", + "Cfg_IntlkCV", + "Cfg_DevDB", + "Cfg_PwrupSP", + "Cfg_PwrupCV", + "Cfg_HiHiDevOnDly", + "Cfg_HiHiDevOffDly", + "Cfg_HiHiDevGateDly", + "Cfg_HiDevOnDly", + "Cfg_HiDevOffDly", + "Cfg_HiDevGateDly", + "Cfg_LoDevOnDly", + "Cfg_LoDevOffDly", + "Cfg_LoDevGateDly", + "Cfg_LoLoDevOnDly", + "Cfg_LoLoDevOffDly", + "Cfg_LoLoDevGateDly", + "PSet_Ratio", + "PSet_SP", + "PSet_CV", + "PSet_HiHiDevLim", + "PSet_HiDevLim", + "PSet_LoDevLim", + "PSet_LoLoDevLim", + "PSet_Owner", + "OSet_Ratio", + "OSet_SP", + "OSet_CV", + "OSet_HiHiDevLim", + "OSet_HiDevLim", + "OSet_LoDevLim", + "OSet_LoLoDevLim", + "PCmd_Casc", + "PCmd_Auto", + "PCmd_Man", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "PCmd_Reset", + "PCmd_HiHiDevAck", + "PCmd_HiHiDevSuppress", + "PCmd_HiHiDevUnsuppress", + "PCmd_HiHiDevUnshelve", + "PCmd_HiDevAck", + "PCmd_HiDevSuppress", + "PCmd_HiDevUnsuppress", + "PCmd_HiDevUnshelve", + "PCmd_LoDevAck", + "PCmd_LoDevSuppress", + "PCmd_LoDevUnsuppress", + "PCmd_LoDevUnshelve", + "PCmd_LoLoDevAck", + "PCmd_LoLoDevSuppress", + "PCmd_LoLoDevUnsuppress", + "PCmd_LoLoDevUnshelve", + "PCmd_IntlkTripAck", + "PCmd_IntlkTripSuppress", + "PCmd_IntlkTripUnsuppress", + "PCmd_IntlkTripUnshelve", + "PCmd_FailAck", + "PCmd_FailSuppress", + "PCmd_FailUnsuppress", + "PCmd_FailUnshelve", + "OCmd_Casc", + "OCmd_Auto", + "OCmd_Man", + "OCmd_Bypass", + "OCmd_Check", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_Unlock", + "OCmd_Reset", + "OCmd_ResetAckAll", + "Out_CV", + "Val_PV", + "Val_Ratio", + "Val_SPSet", + "Val_SP", + "Val_E", + "Val_CVSet", + "Val_CVOut", + "Val_PVPercent", + "Val_SPPercent", + "Val_EPercent", + "Val_ActExecT", + "Val_Init", + "Val_PVEUMin", + "Val_PVEUMax", + "Val_CVEUMin", + "Val_CVEUMax", + "SrcQ_IO", + "SrcQ", + "Val_Sts", + "Val_Fault", + "Val_State", + "Val_Mode", + "Val_Owner", + "Val_Notify", + "Val_HiHiDevLim", + "Val_HiDevLim", + "Val_LoDevLim", + "Val_LoLoDevLim", + "Sts_InstrFaults1", + "Sts_InstrFaults2", + "Sts_Casc", + "Sts_Auto", + "Sts_Man", + "Sts_Initializing", + "Sts_InitReq", + "Sts_WindupHi", + "Sts_WindupLo", + "Sts_ZCDBOn", + "Sts_RatioClamped", + "Sts_SPBad", + "Sts_SPClamped", + "Sts_PVBad", + "Sts_PVUncertain", + "Sts_FFBad", + "Sts_FFPrevBad", + "Sts_CVBad", + "Sts_CVPrevBad", + "Sts_CVInitValBad", + "Sts_HandFdbkBad", + "Sts_IntlkCV", + "Sts_CVClamped", + "Sts_CVRamping", + "Sts_Active", + "Sts_Available", + "Sts_Bypass", + "Sts_BypActive", + "Sts_Disabled", + "Sts_NotRdy", + "Nrdy_Disabled", + "Nrdy_CfgErr", + "Nrdy_Intlk", + "Nrdy_Init", + "Nrdy_IOFault", + "Nrdy_NoMode", + "Sts_MaintByp", + "Sts_AlmInh", + "Sts_Err", + "Err_RatioLim", + "Err_SPLim", + "Err_PVEU", + "Err_CVLim", + "Err_CVEU", + "Err_Timer", + "Err_DB", + "Err_Alarm", + "Sts_Hand", + "Sts_Maint", + "Sts_Ovrd", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Sts_HiHiDevCmp", + "Sts_HiHiDevGate", + "Sts_HiHiDev", + "Alm_HiHiDev", + "Ack_HiHiDev", + "Sts_HiHiDevDisabled", + "Sts_HiHiDevShelved", + "Sts_HiHiDevSuppressed", + "Sts_HiDevCmp", + "Sts_HiDevGate", + "Sts_HiDev", + "Alm_HiDev", + "Ack_HiDev", + "Sts_HiDevDisabled", + "Sts_HiDevShelved", + "Sts_HiDevSuppressed", + "Sts_LoDevCmp", + "Sts_LoDevGate", + "Sts_LoDev", + "Alm_LoDev", + "Ack_LoDev", + "Sts_LoDevDisabled", + "Sts_LoDevShelved", + "Sts_LoDevSuppressed", + "Sts_LoLoDevCmp", + "Sts_LoLoDevGate", + "Sts_LoLoDev", + "Alm_LoLoDev", + "Ack_LoLoDev", + "Sts_LoLoDevDisabled", + "Sts_LoLoDevShelved", + "Sts_LoLoDevSuppressed", + "Sts_IntlkTrip", + "Alm_IntlkTrip", + "Ack_IntlkTrip", + "Sts_IntlkTripDisabled", + "Sts_IntlkTripShelved", + "Sts_IntlkTripSuppressed", + "Sts_Fail", + "Alm_Fail", + "Ack_Fail", + "Sts_FailDisabled", + "Sts_FailShelved", + "Sts_FailSuppressed", + "Rdy_Casc", + "Rdy_Auto", + "Rdy_Man", + "Rdy_Bypass", + "Rdy_Check", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Reset", + "Rdy_ResetAckAll", + "Rdy_Ratio", + "Rdy_SP", + "Rdy_CV", + "Rdy_OSet", + "P_PIDE", + "Wrk_PIDE", + "Cfg_Tag", + "Cfg_PVEU", + "Cfg_Label", + "Cfg_Desc", + "Cfg_CVEU", + "LoLoDevGate", + "LoLoDev", + "LoDevGate", + "LoDev", + "Inf_Type", + "Inf_Tab", + "Wrk_SrcQ", + "HiHiDevGate", + "HiHiDev", + "HiDevGate", + "HiDev", + "Mode", + "Wrk_Notify", + "IntlkTrip", + "Wrk_IntlkOK", + "Wrk_Disabled", + "Wrk_Bypass", + "Wrk_Reset", + "Wrk_ManCmd", + "Wrk_AutoCmd", + "Wrk_CascCmd", + "Wrk_Casc", + "Wrk_Auto", + "Wrk_Man", + "Fail", + "Cfg_CVNavTag", + "Cfg_PVNavTag", + "Cfg_CascSPNavTag", + "Inf_Lib", + "Wrk_Autotune", + "Wrk_PIDE_only", + "HMI_HasAutotune" + ], + "template": { + "object_definition_size": 2223, + "structure_size": 3320, + "member_count": 352, + "structure_handle": 61053 + } + } + }, + { + "tag_name": "cfg_PID_FlowSP", + "dim": 0, + "instance_id": 62, + "symbol_address": 53472, + "symbol_object_address": 870436, + "software_control": 1946222652, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "cfg_PID_TubingPressureSP", + "dim": 0, + "instance_id": 63, + "symbol_address": 53440, + "symbol_object_address": 870476, + "software_control": 1946222653, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "cfg_PID_FluidLevelSP", + "dim": 0, + "instance_id": 64, + "symbol_address": 53408, + "symbol_object_address": 870516, + "software_control": 1946222654, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "AIn_FluidLevel", + "dim": 0, + "instance_id": 65, + "symbol_address": 60320, + "symbol_object_address": 870556, + "software_control": 67174453, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1864, + "data_type": { + "name": "P_AIn", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_PV": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_PVSrcQ": { + "offset": 8, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Inp_PVBad": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_PVUncertain": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_Sim": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Inp_HiHiGate": { + "offset": 1568, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_HiGate": { + "offset": 1708, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_LoGate": { + "offset": 1428, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_LoLoGate": { + "offset": 1288, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_FailGate": { + "offset": 1148, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_NoSubstPV": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_SetTrack": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_HasChanObj": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_UseChanSrcQ": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_PCmdClear": { + "offset": 784, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ProgDefault": { + "offset": 784, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HasHiHiAlm": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasHiAlm": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasLoAlm": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasLoLoAlm": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasFailAlm": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HiHiResetReqd": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_HiResetReqd": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_LoResetReqd": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_LoLoResetReqd": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_FailResetReqd": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_HiHiAckReqd": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HiAckReqd": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_LoAckReqd": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_LoLoAckReqd": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_FailAckReqd": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HiHiSeverity": { + "offset": 632, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_HiSeverity": { + "offset": 476, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_LoSeverity": { + "offset": 320, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_LoLoSeverity": { + "offset": 164, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_FailSeverity": { + "offset": 940, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_InpRawMin": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_InpRawMax": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_PVEUMin": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_PVEUMax": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FiltTC": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiHiDB": { + "offset": 32, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiHiOnDly": { + "offset": 1576, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiHiOffDly": { + "offset": 1580, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiHiGateDly": { + "offset": 1572, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiDB": { + "offset": 36, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_HiOnDly": { + "offset": 1716, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiOffDly": { + "offset": 1720, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_HiGateDly": { + "offset": 1712, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoDB": { + "offset": 40, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_LoOnDly": { + "offset": 1436, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoOffDly": { + "offset": 1440, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoGateDly": { + "offset": 1432, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoDB": { + "offset": 44, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_LoLoOnDly": { + "offset": 1296, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoOffDly": { + "offset": 1300, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_LoLoGateDly": { + "offset": 1292, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailHiLim": { + "offset": 48, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FailLoLim": { + "offset": 52, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FailDB": { + "offset": 56, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_FailOnDly": { + "offset": 1156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailOffDly": { + "offset": 1160, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailGateDly": { + "offset": 1152, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PSet_Owner": { + "offset": 60, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PSet_HiHiLim": { + "offset": 64, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_HiLim": { + "offset": 68, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_LoLim": { + "offset": 72, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_LoLoLim": { + "offset": 76, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MSet_SubstPV": { + "offset": 80, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_HiHiLim": { + "offset": 84, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_HiLim": { + "offset": 88, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_LoLim": { + "offset": 92, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OSet_LoLoLim": { + "offset": 96, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Set_SimPV": { + "offset": 100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PCmd_ClearCapt": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Acq": { + "offset": 784, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_HiHiAck": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_HiHiSuppress": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_HiHiUnsuppress": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_HiHiUnshelve": { + "offset": 629, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_HiAck": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_HiSuppress": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_HiUnsuppress": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_HiUnshelve": { + "offset": 473, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_LoAck": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_LoSuppress": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_LoUnsuppress": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_LoUnshelve": { + "offset": 317, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_LoLoAck": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_LoLoSuppress": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_LoLoUnsuppress": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_LoLoUnshelve": { + "offset": 161, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_FailAck": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_FailSuppress": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_FailUnsuppress": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_FailUnshelve": { + "offset": 937, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "MCmd_SubstPV": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_InpPV": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_ClearCapt": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "MCmd_Acq": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_Unlock": { + "offset": 785, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "OCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_ResetAckAll": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Val": { + "offset": 104, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_InpPV": { + "offset": 108, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVMinCapt": { + "offset": 112, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVMaxCapt": { + "offset": 116, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVEUMin": { + "offset": 120, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_PVEUMax": { + "offset": 124, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SrcQ_IO": { + "offset": 128, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "SrcQ": { + "offset": 129, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Fault": { + "offset": 130, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Mode": { + "offset": 788, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Owner": { + "offset": 132, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_Notify": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_HiHiLim": { + "offset": 140, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_HiLim": { + "offset": 144, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_LoLim": { + "offset": 148, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_LoLoLim": { + "offset": 152, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Sts_SubstPV": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_InpPV": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_PVBad": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_PVUncertain": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_MaintByp": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_Err": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Err_Raw": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_EU": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Err_Filt": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Err_DB": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Err_Alarm": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Maint": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Prog": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_NoMode": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 786, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_HiHiCmp": { + "offset": 1568, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_HiHiGate": { + "offset": 1568, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_HiHi": { + "offset": 628, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_HiHi": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_HiHi": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiHiDisabled": { + "offset": 695, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiHiSuppressed": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_HiHiShelved": { + "offset": 694, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_HiCmp": { + "offset": 1708, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_HiGate": { + "offset": 1708, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Hi": { + "offset": 472, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Hi": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Hi": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiDisabled": { + "offset": 539, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_HiSuppressed": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_HiShelved": { + "offset": 538, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_LoCmp": { + "offset": 1428, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_LoGate": { + "offset": 1428, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Lo": { + "offset": 316, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Lo": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Lo": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoDisabled": { + "offset": 383, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoSuppressed": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_LoShelved": { + "offset": 382, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_LoLoCmp": { + "offset": 1288, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_LoLoGate": { + "offset": 1288, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_LoLo": { + "offset": 160, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_LoLo": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_LoLo": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoLoDisabled": { + "offset": 227, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_LoLoSuppressed": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_LoLoShelved": { + "offset": 226, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_FailCmp": { + "offset": 1148, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_FailGate": { + "offset": 1148, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Fail": { + "offset": 936, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_Fail": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_Fail": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailDisabled": { + "offset": 1003, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailSuppressed": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_FailShelved": { + "offset": 1002, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_SubstPV": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_InpPV": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Reset": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_ResetAckAll": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_OSet": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "P_AIn": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "inp_ProcessRunning": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "LoLo": { + "offset": 160, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Lo": { + "offset": 316, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Hi": { + "offset": 472, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "HiHi": { + "offset": 628, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Mode": { + "offset": 784, + "tag_type": "struct", + "data_type": { + "name": "P_Mode", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_Hand": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Ovrd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_PCmdClear": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_OvrdOverLock": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_ProgDefault": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Acq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "MCmd_Acq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_UnlockRel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Sts_Hand": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Maint": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Ovrd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_Prog": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_ProgOperSel": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_NoMode": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Rdy_MAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_MRel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_OAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_OLock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_OUnlock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_ORel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "P_Mode": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_Locked": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_Prog": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_Maint": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inf_Lib": { + "offset": 12, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_Hand", + "Inp_Ovrd", + "Cfg_PCmdClear", + "Cfg_OvrdOverLock", + "Cfg_ProgDefault", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_UnlockRel", + "Val", + "Sts_Hand", + "Sts_Maint", + "Sts_Ovrd", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_ProgOperSel", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Rdy_MAcq", + "Rdy_MRel", + "Rdy_OAcq", + "Rdy_OLock", + "Rdy_OUnlock", + "Rdy_ORel", + "P_Mode", + "Wrk_Locked", + "Wrk_Prog", + "Wrk_Maint", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 228, + "structure_size": 48, + "member_count": 39, + "structure_handle": 16800 + } + }, + "array": 0 + }, + "Cfg_EU": { + "offset": 832, + "tag_type": "struct", + "data_type": { + "name": "STRING_8", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 8 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 8, + "template": { + "object_definition_size": 16, + "structure_size": 12, + "member_count": 2, + "structure_handle": 54208 + } + }, + "array": 0 + }, + "Cfg_Tag": { + "offset": 844, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Label": { + "offset": 868, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Desc": { + "offset": 892, + "tag_type": "struct", + "data_type": { + "name": "STRING_40", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 40 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 40, + "template": { + "object_definition_size": 17, + "structure_size": 44, + "member_count": 2, + "structure_handle": 32239 + } + }, + "array": 0 + }, + "Fail": { + "offset": 936, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Wrk_Notify": { + "offset": 1092, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Inf_Tab": { + "offset": 1093, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_Fault": { + "offset": 1094, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_SrcQ": { + "offset": 1095, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_SubstPV": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Wrk_UnfiltPV": { + "offset": 1096, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_Alpha": { + "offset": 1100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_ScanT": { + "offset": 1104, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ScanTime": { + "offset": 1116, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_FiltPV": { + "offset": 1120, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_ValidONS": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_SelPVDINT": { + "offset": 1124, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_SelPVInfNaN": { + "offset": 156, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Inf_Type": { + "offset": 1128, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Wrk_Fail": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_LoLo": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Wrk_Lo": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Hi": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_HiHi": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FailGate": { + "offset": 1148, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "LoLoGate": { + "offset": 1288, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "LoGate": { + "offset": 1428, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "HiHiGate": { + "offset": 1568, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "HiGate": { + "offset": 1708, + "tag_type": "struct", + "data_type": { + "name": "P_Gate", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_GateDly": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OnDly": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_OffDly": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Out": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Gate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Err": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_Timer": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "P_Gate": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_OffDlyT": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_OnDlyT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_GateT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Cfg_InpCond": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 76, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_GateCond": { + "offset": 112, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Gate", + "Cfg_GateDly", + "Cfg_OnDly", + "Cfg_OffDly", + "Out", + "Sts_Gate", + "Sts_Err", + "Err_Timer", + "P_Gate", + "Wrk_OffDlyT", + "Wrk_OnDlyT", + "Wrk_GateT", + "Cfg_InpCond", + "Inf_Lib", + "Inf_Type", + "Cfg_GateCond", + "Inf_Tab" + ], + "template": { + "object_definition_size": 120, + "structure_size": 140, + "member_count": 21, + "structure_handle": 20019 + } + }, + "array": 0 + }, + "Wrk_InpInfNaN": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Wrk_InpDINT": { + "offset": 1848, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 1852, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Wrk_InpFail": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "ONS_Supress": { + "offset": 157, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "ONS_Unsupress": { + "offset": 158, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "ONS_ProcessRunning": { + "offset": 158, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ONS_ProcessNotRunning": { + "offset": 158, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_PV", + "Inp_PVSrcQ", + "Inp_PVBad", + "Inp_PVUncertain", + "Inp_Sim", + "Inp_HiHiGate", + "Inp_HiGate", + "Inp_LoGate", + "Inp_LoLoGate", + "Inp_FailGate", + "Inp_Reset", + "Cfg_NoSubstPV", + "Cfg_SetTrack", + "Cfg_HasChanObj", + "Cfg_UseChanSrcQ", + "Cfg_PCmdClear", + "Cfg_ProgDefault", + "Cfg_HasHiHiAlm", + "Cfg_HasHiAlm", + "Cfg_HasLoAlm", + "Cfg_HasLoLoAlm", + "Cfg_HasFailAlm", + "Cfg_HiHiResetReqd", + "Cfg_HiResetReqd", + "Cfg_LoResetReqd", + "Cfg_LoLoResetReqd", + "Cfg_FailResetReqd", + "Cfg_HiHiAckReqd", + "Cfg_HiAckReqd", + "Cfg_LoAckReqd", + "Cfg_LoLoAckReqd", + "Cfg_FailAckReqd", + "Cfg_HiHiSeverity", + "Cfg_HiSeverity", + "Cfg_LoSeverity", + "Cfg_LoLoSeverity", + "Cfg_FailSeverity", + "Cfg_InpRawMin", + "Cfg_InpRawMax", + "Cfg_PVEUMin", + "Cfg_PVEUMax", + "Cfg_FiltTC", + "Cfg_HiHiDB", + "Cfg_HiHiOnDly", + "Cfg_HiHiOffDly", + "Cfg_HiHiGateDly", + "Cfg_HiDB", + "Cfg_HiOnDly", + "Cfg_HiOffDly", + "Cfg_HiGateDly", + "Cfg_LoDB", + "Cfg_LoOnDly", + "Cfg_LoOffDly", + "Cfg_LoGateDly", + "Cfg_LoLoDB", + "Cfg_LoLoOnDly", + "Cfg_LoLoOffDly", + "Cfg_LoLoGateDly", + "Cfg_FailHiLim", + "Cfg_FailLoLim", + "Cfg_FailDB", + "Cfg_FailOnDly", + "Cfg_FailOffDly", + "Cfg_FailGateDly", + "PSet_Owner", + "PSet_HiHiLim", + "PSet_HiLim", + "PSet_LoLim", + "PSet_LoLoLim", + "MSet_SubstPV", + "OSet_HiHiLim", + "OSet_HiLim", + "OSet_LoLim", + "OSet_LoLoLim", + "Set_SimPV", + "PCmd_ClearCapt", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "PCmd_Reset", + "PCmd_HiHiAck", + "PCmd_HiHiSuppress", + "PCmd_HiHiUnsuppress", + "PCmd_HiHiUnshelve", + "PCmd_HiAck", + "PCmd_HiSuppress", + "PCmd_HiUnsuppress", + "PCmd_HiUnshelve", + "PCmd_LoAck", + "PCmd_LoSuppress", + "PCmd_LoUnsuppress", + "PCmd_LoUnshelve", + "PCmd_LoLoAck", + "PCmd_LoLoSuppress", + "PCmd_LoLoUnsuppress", + "PCmd_LoLoUnshelve", + "PCmd_FailAck", + "PCmd_FailSuppress", + "PCmd_FailUnsuppress", + "PCmd_FailUnshelve", + "MCmd_SubstPV", + "MCmd_InpPV", + "OCmd_ClearCapt", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_Unlock", + "OCmd_Reset", + "OCmd_ResetAckAll", + "Val", + "Val_InpPV", + "Val_PVMinCapt", + "Val_PVMaxCapt", + "Val_PVEUMin", + "Val_PVEUMax", + "SrcQ_IO", + "SrcQ", + "Val_Fault", + "Val_Mode", + "Val_Owner", + "Val_Notify", + "Val_HiHiLim", + "Val_HiLim", + "Val_LoLim", + "Val_LoLoLim", + "Sts_SubstPV", + "Sts_InpPV", + "Sts_PVBad", + "Sts_PVUncertain", + "Sts_MaintByp", + "Sts_AlmInh", + "Sts_Err", + "Err_Raw", + "Err_EU", + "Err_Timer", + "Err_Filt", + "Err_DB", + "Err_Alarm", + "Sts_Maint", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Sts_HiHiCmp", + "Sts_HiHiGate", + "Sts_HiHi", + "Alm_HiHi", + "Ack_HiHi", + "Sts_HiHiDisabled", + "Sts_HiHiSuppressed", + "Sts_HiHiShelved", + "Sts_HiCmp", + "Sts_HiGate", + "Sts_Hi", + "Alm_Hi", + "Ack_Hi", + "Sts_HiDisabled", + "Sts_HiSuppressed", + "Sts_HiShelved", + "Sts_LoCmp", + "Sts_LoGate", + "Sts_Lo", + "Alm_Lo", + "Ack_Lo", + "Sts_LoDisabled", + "Sts_LoSuppressed", + "Sts_LoShelved", + "Sts_LoLoCmp", + "Sts_LoLoGate", + "Sts_LoLo", + "Alm_LoLo", + "Ack_LoLo", + "Sts_LoLoDisabled", + "Sts_LoLoSuppressed", + "Sts_LoLoShelved", + "Sts_FailCmp", + "Sts_FailGate", + "Sts_Fail", + "Alm_Fail", + "Ack_Fail", + "Sts_FailDisabled", + "Sts_FailSuppressed", + "Sts_FailShelved", + "Rdy_SubstPV", + "Rdy_InpPV", + "Rdy_Reset", + "Rdy_ResetAckAll", + "Rdy_OSet", + "P_AIn", + "inp_ProcessRunning", + "LoLo", + "Lo", + "Hi", + "HiHi", + "Mode", + "Cfg_EU", + "Cfg_Tag", + "Cfg_Label", + "Cfg_Desc", + "Fail", + "Wrk_Notify", + "Inf_Tab", + "Wrk_Fault", + "Wrk_SrcQ", + "Wrk_SubstPV", + "Wrk_UnfiltPV", + "Wrk_Alpha", + "Wrk_ScanT", + "Wrk_ScanTime", + "Wrk_FiltPV", + "Wrk_ValidONS", + "Wrk_SelPVDINT", + "Wrk_SelPVInfNaN", + "Inf_Type", + "Wrk_Fail", + "Wrk_LoLo", + "Wrk_Lo", + "Wrk_Hi", + "Wrk_HiHi", + "FailGate", + "LoLoGate", + "LoGate", + "HiHiGate", + "HiGate", + "Wrk_InpInfNaN", + "Wrk_InpDINT", + "Inf_Lib", + "Wrk_InpFail", + "ONS_Supress", + "ONS_Unsupress", + "ONS_ProcessRunning", + "ONS_ProcessNotRunning" + ], + "template": { + "object_definition_size": 1448, + "structure_size": 1868, + "member_count": 238, + "structure_handle": 13998 + } + } + }, + { + "tag_name": "Downhole_Sensor_Status", + "dim": 0, + "instance_id": 66, + "symbol_address": 47992, + "symbol_object_address": 870596, + "software_control": 67174480, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 4046, + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + } + }, + { + "tag_name": "Local:3:I", + "dim": 0, + "instance_id": 69, + "symbol_address": 63965064, + "symbol_object_address": 870716, + "software_control": 201392196, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 787, + "data_type": { + "name": "AB:1734_MODULE_SINT_90Bytes:I:0", + "internal_tags": { + "Data": { + "offset": 0, + "tag_type": "atomic", + "data_type": "SINT", + "array": 90 + } + }, + "attributes": [ + "Data" + ], + "template": { + "object_definition_size": 18, + "structure_size": 92, + "member_count": 1, + "structure_handle": 13325 + } + } + }, + { + "tag_name": "Local:3:O", + "dim": 0, + "instance_id": 71, + "symbol_address": 63964640, + "symbol_object_address": 870796, + "software_control": 201392198, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1066, + "data_type": { + "name": "AB:1734_MODULE_SINT_82Bytes:O:0", + "internal_tags": { + "Data": { + "offset": 0, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "Data" + ], + "template": { + "object_definition_size": 18, + "structure_size": 84, + "member_count": 1, + "structure_handle": 62737 + } + } + }, + { + "tag_name": "Local:3:C", + "dim": 0, + "instance_id": 72, + "symbol_address": 52296, + "symbol_object_address": 870836, + "software_control": 201392200, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 837, + "data_type": { + "name": "AB:1734_MODULE:C:0", + "internal_tags": { + "CfgSize": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "CfgIDNum": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Reserved": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Data": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 198 + } + }, + "attributes": [ + "CfgSize", + "CfgIDNum", + "Reserved", + "Data" + ], + "template": { + "object_definition_size": 30, + "structure_size": 408, + "member_count": 4, + "structure_handle": 35578 + } + } + }, + { + "tag_name": "MBS", + "dim": 0, + "instance_id": 77, + "symbol_address": 48304, + "symbol_object_address": 871036, + "software_control": 67174475, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 3608, + "data_type": { + "name": "ILX34MBSModuleDef", + "internal_tags": { + "DATA": { + "offset": 0, + "tag_type": "struct", + "data_type": { + "name": "ILX34MBSData", + "internal_tags": { + "InputBit": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DWORD", + "array": 18 + }, + "InputRegister": { + "offset": 72, + "tag_type": "atomic", + "data_type": "INT", + "array": 500 + }, + "OutputBit": { + "offset": 1072, + "tag_type": "atomic", + "data_type": "DWORD", + "array": 18 + }, + "OutputRegister": { + "offset": 1144, + "tag_type": "atomic", + "data_type": "INT", + "array": 500 + } + }, + "attributes": [ + "InputBit", + "InputRegister", + "OutputBit", + "OutputRegister" + ], + "template": { + "object_definition_size": 33, + "structure_size": 2144, + "member_count": 4, + "structure_handle": 4103 + } + }, + "array": 0 + }, + "STATUS": { + "offset": 2144, + "tag_type": "struct", + "data_type": { + "name": "ILX34MBSStatus", + "internal_tags": { + "Module": { + "offset": 0, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "RXCount": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "TXCount": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ErrorCount": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "CmdError": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 30 + } + }, + "attributes": [ + "Module", + "RXCount", + "TXCount", + "ErrorCount", + "CmdError" + ], + "template": { + "object_definition_size": 35, + "structure_size": 76, + "member_count": 5, + "structure_handle": 9001 + } + }, + "array": 0 + }, + "MASTERCMD": { + "offset": 2220, + "tag_type": "struct", + "data_type": { + "name": "ILX34MBSCmd", + "internal_tags": { + "Enable": { + "offset": 0, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Node": { + "offset": 2, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Function": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "DeviceAddress": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Count": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "InternalAddress": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PollInterval": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Swap": { + "offset": 24, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "ZZZZZZZZZZILX34MBSCm8": { + "offset": 25, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Trigger": { + "offset": 25, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + } + }, + "attributes": [ + "Enable", + "Node", + "Function", + "DeviceAddress", + "Count", + "InternalAddress", + "PollInterval", + "Swap", + "Trigger" + ], + "template": { + "object_definition_size": 65, + "structure_size": 28, + "member_count": 10, + "structure_handle": 38216 + } + }, + "array": 30 + }, + "UTIL": { + "offset": 3060, + "tag_type": "struct", + "data_type": { + "name": "ILX34MBSUTIL", + "internal_tags": { + "Node": { + "offset": 0, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Function": { + "offset": 1, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "NodeAddress": { + "offset": 2, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Count": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "ByteCount": { + "offset": 6, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "IntAddress": { + "offset": 8, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "CountPlusIntAddr": { + "offset": 10, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Swap": { + "offset": 12, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "CmdTimer": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 30 + }, + "CurrentCmd": { + "offset": 376, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "ZZZZZZZZZZILX34MBSUT10": { + "offset": 378, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "CurrentCmdReset": { + "offset": 378, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "CmdDone": { + "offset": 378, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "TX_ASSY": { + "offset": 380, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + }, + "TXID_Previous": { + "offset": 464, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "RX_ASSY": { + "offset": 468, + "tag_type": "atomic", + "data_type": "SINT", + "array": 90 + }, + "RXID_Previous": { + "offset": 560, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "RegBuffer": { + "offset": 564, + "tag_type": "atomic", + "data_type": "INT", + "array": 36 + }, + "CoilBuffer": { + "offset": 636, + "tag_type": "struct", + "data_type": { + "name": "ILX34MBSCoilData", + "internal_tags": { + "Data": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DWORD", + "array": 18 + } + }, + "attributes": [ + "Data" + ], + "template": { + "object_definition_size": 14, + "structure_size": 72, + "member_count": 1, + "structure_handle": 55860 + } + }, + "array": 0 + }, + "MoveTo": { + "offset": 708, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "MoveFrom": { + "offset": 710, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "ZZZZZZZZZZILX34MBSUT21": { + "offset": 712, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "MasterTXQuery": { + "offset": 712, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "MasterRXResponse": { + "offset": 712, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "SlaveQuery": { + "offset": 712, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "WaitForResponse": { + "offset": 712, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "WaitTimer": { + "offset": 716, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Error": { + "offset": 728, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "ZZZZZZZZZZILX34MBSUT28": { + "offset": 729, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "WaitForError": { + "offset": 729, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "RegDataControl": { + "offset": 732, + "tag_type": "struct", + "data_type": { + "name": "CONTROL", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "LEN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "POS": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "EU": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "EM": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "ER": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "UL": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "IN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FD": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + } + }, + "attributes": [ + "Control", + "LEN", + "POS", + "EN", + "EU", + "DN", + "EM", + "ER", + "UL", + "IN", + "FD" + ], + "template": { + "object_definition_size": 51, + "structure_size": 12, + "member_count": 11, + "structure_handle": 3969 + } + }, + "array": 0 + }, + "InArraySize": { + "offset": 744, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "OutArraySize": { + "offset": 746, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "InputDiscreteArraySize": { + "offset": 748, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "OutputDiscreteArraySize": { + "offset": 750, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "InputRegisterArraySize": { + "offset": 752, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "OutputRegisterArraySize": { + "offset": 754, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "InputDiscreteArraySizem1": { + "offset": 756, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "OutputDiscreteArraySizem1": { + "offset": 758, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "InputRegisterArraySizem1": { + "offset": 760, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "OutputRegisterArraySizem1": { + "offset": 762, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "MaxDiscreteSize": { + "offset": 764, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "MaxRegisterSize": { + "offset": 766, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "ZZZZZZZZZZILX34MBSUT43": { + "offset": 768, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Connection": { + "offset": 768, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + } + }, + "attributes": [ + "Node", + "Function", + "NodeAddress", + "Count", + "ByteCount", + "IntAddress", + "CountPlusIntAddr", + "Swap", + "CmdTimer", + "CurrentCmd", + "CurrentCmdReset", + "CmdDone", + "TX_ASSY", + "TXID_Previous", + "RX_ASSY", + "RXID_Previous", + "RegBuffer", + "CoilBuffer", + "MoveTo", + "MoveFrom", + "MasterTXQuery", + "MasterRXResponse", + "SlaveQuery", + "WaitForResponse", + "WaitTimer", + "Error", + "WaitForError", + "RegDataControl", + "InArraySize", + "OutArraySize", + "InputDiscreteArraySize", + "OutputDiscreteArraySize", + "InputRegisterArraySize", + "OutputRegisterArraySize", + "InputDiscreteArraySizem1", + "OutputDiscreteArraySizem1", + "InputRegisterArraySizem1", + "OutputRegisterArraySizem1", + "MaxDiscreteSize", + "MaxRegisterSize", + "Connection" + ], + "template": { + "object_definition_size": 309, + "structure_size": 772, + "member_count": 45, + "structure_handle": 35693 + } + }, + "array": 0 + } + }, + "attributes": [ + "DATA", + "STATUS", + "MASTERCMD", + "UTIL" + ], + "template": { + "object_definition_size": 29, + "structure_size": 3832, + "member_count": 4, + "structure_handle": 18652 + } + } + }, + { + "tag_name": "MBSConfig_AOI", + "dim": 0, + "instance_id": 78, + "symbol_address": 48272, + "symbol_object_address": 871076, + "software_control": 67174476, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 342, + "data_type": { + "name": "AOI1734MBS_CONFIG_36", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + } + }, + "attributes": [ + "EnableIn", + "EnableOut" + ], + "template": { + "object_definition_size": 28, + "structure_size": 4, + "member_count": 3, + "structure_handle": 55129 + } + } + }, + { + "tag_name": "in_IntakePressure", + "dim": 0, + "instance_id": 79, + "symbol_address": 48378, + "symbol_object_address": 871116, + "software_control": 1073807437, + "alias": "True", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "in_IntakeTemperature", + "dim": 0, + "instance_id": 80, + "symbol_address": 48376, + "symbol_object_address": 871156, + "software_control": 1073807437, + "alias": "True", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "Mode_Simulation", + "dim": 0, + "instance_id": 81, + "symbol_address": 109216, + "symbol_object_address": 871196, + "software_control": 1140916225, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "Downhole_Sensor_Status_Storage", + "dim": 1, + "instance_id": 82, + "symbol_address": 47416, + "symbol_object_address": 871236, + "software_control": 67174481, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 6, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 4046, + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + } + }, + { + "tag_name": "rp_VFD", + "dim": 0, + "instance_id": 83, + "symbol_address": 47248, + "symbol_object_address": 871276, + "software_control": 1140916307, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "Flow_Total", + "dim": 1, + "instance_id": 84, + "symbol_address": 47264, + "symbol_object_address": 871316, + "software_control": 1946222674, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 30, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "sp_VFD", + "dim": 0, + "instance_id": 85, + "symbol_address": 47152, + "symbol_object_address": 871356, + "software_control": 1140916310, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "Clear_Flow_Total", + "dim": 0, + "instance_id": 86, + "symbol_address": 47216, + "symbol_object_address": 871396, + "software_control": 1140916308, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "sp_FluidLevel", + "dim": 0, + "instance_id": 87, + "symbol_address": 53376, + "symbol_object_address": 871436, + "software_control": 1140916287, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "alarm_VFD", + "dim": 0, + "instance_id": 88, + "symbol_address": 46016, + "symbol_object_address": 871476, + "software_control": 1140916341, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "Current_DateTime", + "dim": 0, + "instance_id": 89, + "symbol_address": 47096, + "symbol_object_address": 871516, + "software_control": 67174487, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1231, + "data_type": { + "name": "CONTROLLER_DATETIME", + "internal_tags": { + "Year": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Month": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Day": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Hour": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Minute": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Second": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Microsecond": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "Year", + "Month", + "Day", + "Hour", + "Minute", + "Second", + "Microsecond" + ], + "template": { + "object_definition_size": 43, + "structure_size": 28, + "member_count": 7, + "structure_handle": 11589 + } + } + }, + { + "tag_name": "val_FluidLevel", + "dim": 0, + "instance_id": 90, + "symbol_address": 47064, + "symbol_object_address": 871556, + "software_control": 1946222680, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "cfg_DHSensorPressureOffset", + "dim": 0, + "instance_id": 91, + "symbol_address": 47032, + "symbol_object_address": 871596, + "software_control": 1946222681, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "cfg_DHSensorDistToIntake", + "dim": 0, + "instance_id": 92, + "symbol_address": 47000, + "symbol_object_address": 871636, + "software_control": 1946222682, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "cfg_FluidSpecificGravity", + "dim": 0, + "instance_id": 93, + "symbol_address": 46968, + "symbol_object_address": 871676, + "software_control": 1946222683, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "sts_PID_Control", + "dim": 0, + "instance_id": 94, + "symbol_address": 46936, + "symbol_object_address": 871716, + "software_control": 1140916316, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "VFD_MotorNPVolts", + "dim": 0, + "instance_id": 95, + "symbol_address": 85640, + "symbol_object_address": 871756, + "software_control": 1946222620, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "VFD_MotorNPAmps", + "dim": 0, + "instance_id": 96, + "symbol_address": 46872, + "symbol_object_address": 871796, + "software_control": 1946222686, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "VFD_MotorNPHertz", + "dim": 0, + "instance_id": 97, + "symbol_address": 46840, + "symbol_object_address": 871836, + "software_control": 1946222687, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "VFD_MotorNPRPM", + "dim": 0, + "instance_id": 98, + "symbol_address": 46808, + "symbol_object_address": 871876, + "software_control": 1946222688, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "VFD_MotorNPHorsepower", + "dim": 0, + "instance_id": 99, + "symbol_address": 46776, + "symbol_object_address": 871916, + "software_control": 1946222689, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "VFD_MotorNPOLFactor", + "dim": 0, + "instance_id": 100, + "symbol_address": 46744, + "symbol_object_address": 871956, + "software_control": 1946222690, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "VFD_MotorPoles", + "dim": 0, + "instance_id": 101, + "symbol_address": 46712, + "symbol_object_address": 871996, + "software_control": 1140916323, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "sp_TubingPressure", + "dim": 0, + "instance_id": 102, + "symbol_address": 46904, + "symbol_object_address": 872036, + "software_control": 1140916317, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "alarm_IntakePressure", + "dim": 0, + "instance_id": 103, + "symbol_address": 46648, + "symbol_object_address": 872076, + "software_control": 1140916325, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "alarm_IntakeTemperature", + "dim": 0, + "instance_id": 104, + "symbol_address": 46616, + "symbol_object_address": 872116, + "software_control": 1140916326, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "alarm_TubingPressure", + "dim": 0, + "instance_id": 105, + "symbol_address": 46584, + "symbol_object_address": 872156, + "software_control": 1140916327, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "alarm_Flowmeter", + "dim": 0, + "instance_id": 106, + "symbol_address": 46552, + "symbol_object_address": 872196, + "software_control": 1140916328, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "cmd_ResetAlarms", + "dim": 0, + "instance_id": 107, + "symbol_address": 46520, + "symbol_object_address": 872236, + "software_control": 1140916329, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "sts_NoAlarms", + "dim": 0, + "instance_id": 108, + "symbol_address": 46488, + "symbol_object_address": 872276, + "software_control": 1140916330, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "sts_RestartAllowed", + "dim": 0, + "instance_id": 109, + "symbol_address": 46456, + "symbol_object_address": 872316, + "software_control": 1140916331, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "sp_Flowmeter", + "dim": 0, + "instance_id": 110, + "symbol_address": 46424, + "symbol_object_address": 872356, + "software_control": 1140916332, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "sts_WaitingToRestart", + "dim": 0, + "instance_id": 111, + "symbol_address": 46392, + "symbol_object_address": 872396, + "software_control": 1140916333, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "time_TotalSecondsUntilStartup", + "dim": 0, + "instance_id": 112, + "symbol_address": 46360, + "symbol_object_address": 872436, + "software_control": 1140916334, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "time_MinutesUntilStartup", + "dim": 0, + "instance_id": 113, + "symbol_address": 46328, + "symbol_object_address": 872476, + "software_control": 1140916335, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "time_SecondsUntilStartup", + "dim": 0, + "instance_id": 114, + "symbol_address": 46296, + "symbol_object_address": 872516, + "software_control": 1140916336, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "cfg_PID_Manual", + "dim": 0, + "instance_id": 115, + "symbol_address": 46264, + "symbol_object_address": 872556, + "software_control": 1140916337, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "cfg_PID_ManualSP", + "dim": 0, + "instance_id": 116, + "symbol_address": 46232, + "symbol_object_address": 872596, + "software_control": 1946222706, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "Clear_Energy_Total", + "dim": 0, + "instance_id": 117, + "symbol_address": 46200, + "symbol_object_address": 872636, + "software_control": 1140916339, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "Energy_Total", + "dim": 1, + "instance_id": 118, + "symbol_address": 46032, + "symbol_object_address": 872676, + "software_control": 1946222708, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 30, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "cfg_AlarmLockoutLimit", + "dim": 0, + "instance_id": 119, + "symbol_address": 45984, + "symbol_object_address": 872716, + "software_control": 1140916342, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "alarm_Lockout", + "dim": 0, + "instance_id": 120, + "symbol_address": 45952, + "symbol_object_address": 872756, + "software_control": 1140916343, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "cfg_AlarmRecoverSeconds", + "dim": 0, + "instance_id": 121, + "symbol_address": 45920, + "symbol_object_address": 872796, + "software_control": 1140916344, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "alarm_Count", + "dim": 0, + "instance_id": 122, + "symbol_address": 45888, + "symbol_object_address": 872836, + "software_control": 1140916345, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "sts_TrueAlarm", + "dim": 0, + "instance_id": 123, + "symbol_address": 45856, + "symbol_object_address": 872876, + "software_control": 1140916346, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "sts_PumpOff", + "dim": 0, + "instance_id": 124, + "symbol_address": 45824, + "symbol_object_address": 872916, + "software_control": 1140916347, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "cfg_AlarmDowntimeSec", + "dim": 0, + "instance_id": 125, + "symbol_address": 45792, + "symbol_object_address": 872956, + "software_control": 1140916348, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "cfg_PumpOffDowntimeSec", + "dim": 0, + "instance_id": 126, + "symbol_address": 45760, + "symbol_object_address": 872996, + "software_control": 1140916349, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "MSG_GetDriveDutyRating755", + "dim": 0, + "instance_id": 127, + "symbol_address": 110656, + "symbol_object_address": 873036, + "software_control": 67236007, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 4095, + "data_type": { + "name": "MESSAGE", + "internal_tags": { + "offsettodata": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Flags": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EW": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ER": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "ST": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "EN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TO": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EN_CC": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ERR": { + "offset": 6, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EXERR": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "exerrlength": { + "offset": 12, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "ERR_SRC": { + "offset": 13, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "DN_LEN": { + "offset": 14, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "REQ_LEN": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationLink": { + "offset": 18, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationNode": { + "offset": 20, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "SourceLink": { + "offset": 22, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Class": { + "offset": 24, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Attribute": { + "offset": 26, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Instance": { + "offset": 28, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "LocalIndex": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Channel": { + "offset": 36, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Rack": { + "offset": 37, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Group": { + "offset": 38, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Slot": { + "offset": 39, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Path": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved1": { + "offset": 128, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteIndex": { + "offset": 132, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteElement": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved2": { + "offset": 224, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "UnconnectedTimeout": { + "offset": 228, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ConnectionRate": { + "offset": 232, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "TimeoutMultiplier": { + "offset": 236, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "offsettodata", + "Flags", + "EW", + "ER", + "DN", + "ST", + "EN", + "TO", + "EN_CC", + "ERR", + "EXERR", + "exerrlength", + "ERR_SRC", + "DN_LEN", + "REQ_LEN", + "DestinationLink", + "DestinationNode", + "SourceLink", + "Class", + "Attribute", + "Instance", + "LocalIndex", + "Channel", + "Rack", + "Group", + "Slot", + "Path", + "Reserved1", + "RemoteIndex", + "RemoteElement", + "Reserved2", + "UnconnectedTimeout", + "ConnectionRate", + "TimeoutMultiplier" + ], + "template": { + "object_definition_size": 183, + "structure_size": 240, + "member_count": 34, + "structure_handle": 4095 + } + } + }, + { + "tag_name": "MSG_SetDriveDutyRating755", + "dim": 0, + "instance_id": 128, + "symbol_address": 109232, + "symbol_object_address": 873076, + "software_control": 67219950, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 4095, + "data_type": { + "name": "MESSAGE", + "internal_tags": { + "offsettodata": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Flags": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EW": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ER": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "ST": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "EN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TO": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EN_CC": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ERR": { + "offset": 6, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EXERR": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "exerrlength": { + "offset": 12, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "ERR_SRC": { + "offset": 13, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "DN_LEN": { + "offset": 14, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "REQ_LEN": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationLink": { + "offset": 18, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationNode": { + "offset": 20, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "SourceLink": { + "offset": 22, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Class": { + "offset": 24, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Attribute": { + "offset": 26, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Instance": { + "offset": 28, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "LocalIndex": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Channel": { + "offset": 36, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Rack": { + "offset": 37, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Group": { + "offset": 38, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Slot": { + "offset": 39, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Path": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved1": { + "offset": 128, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteIndex": { + "offset": 132, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteElement": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved2": { + "offset": 224, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "UnconnectedTimeout": { + "offset": 228, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ConnectionRate": { + "offset": 232, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "TimeoutMultiplier": { + "offset": 236, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "offsettodata", + "Flags", + "EW", + "ER", + "DN", + "ST", + "EN", + "TO", + "EN_CC", + "ERR", + "EXERR", + "exerrlength", + "ERR_SRC", + "DN_LEN", + "REQ_LEN", + "DestinationLink", + "DestinationNode", + "SourceLink", + "Class", + "Attribute", + "Instance", + "LocalIndex", + "Channel", + "Rack", + "Group", + "Slot", + "Path", + "Reserved1", + "RemoteIndex", + "RemoteElement", + "Reserved2", + "UnconnectedTimeout", + "ConnectionRate", + "TimeoutMultiplier" + ], + "template": { + "object_definition_size": 183, + "structure_size": 240, + "member_count": 34, + "structure_handle": 4095 + } + } + }, + { + "tag_name": "sts_DriveDutyRating", + "dim": 0, + "instance_id": 129, + "symbol_address": 45728, + "symbol_object_address": 873116, + "software_control": 1140916350, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "set_DriveDutyRating", + "dim": 0, + "instance_id": 130, + "symbol_address": 45696, + "symbol_object_address": 873156, + "software_control": 1140916351, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "cfg_CostPerkWh", + "dim": 0, + "instance_id": 131, + "symbol_address": 48104, + "symbol_object_address": 873196, + "software_control": 1946222671, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "Energy_Cost", + "dim": 1, + "instance_id": 132, + "symbol_address": 43744, + "symbol_object_address": 873236, + "software_control": 1946222729, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 30, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "VFD_PWMFrequency", + "dim": 0, + "instance_id": 133, + "symbol_address": 43728, + "symbol_object_address": 873276, + "software_control": 1946222730, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "sch_RunSchedule", + "dim": 1, + "instance_id": 135, + "symbol_address": 43400, + "symbol_object_address": 873356, + "software_control": 67174539, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 10, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1126, + "data_type": { + "name": "AdvVFDIPP_Run", + "internal_tags": { + "id": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "controlMode": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "controlSetpoint": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "completionParameter": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "ZZZZZZZZZZAdvVFDIPP_4": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "completionComparison": { + "offset": 14, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "completionValueTarget": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "completionValueCurrent": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "BBLTotal": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "id", + "controlMode", + "controlSetpoint", + "completionParameter", + "completionComparison", + "completionValueTarget", + "completionValueCurrent", + "BBLTotal" + ], + "template": { + "object_definition_size": 73, + "structure_size": 28, + "member_count": 9, + "structure_handle": 44609 + } + } + }, + { + "tag_name": "sch_RunHistory", + "dim": 1, + "instance_id": 136, + "symbol_address": 43088, + "symbol_object_address": 873396, + "software_control": 67174540, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 10, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1126, + "data_type": { + "name": "AdvVFDIPP_Run", + "internal_tags": { + "id": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "controlMode": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "controlSetpoint": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "completionParameter": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "ZZZZZZZZZZAdvVFDIPP_4": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "completionComparison": { + "offset": 14, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "completionValueTarget": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "completionValueCurrent": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "BBLTotal": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "id", + "controlMode", + "controlSetpoint", + "completionParameter", + "completionComparison", + "completionValueTarget", + "completionValueCurrent", + "BBLTotal" + ], + "template": { + "object_definition_size": 73, + "structure_size": 28, + "member_count": 9, + "structure_handle": 44609 + } + } + }, + { + "tag_name": "val_IntakeTemperature", + "dim": 0, + "instance_id": 137, + "symbol_address": 62320, + "symbol_object_address": 873436, + "software_control": 1879113779, + "alias": "True", + "external_access": "Read Only", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "Device_Status_INT", + "dim": 0, + "instance_id": 138, + "symbol_address": 44152, + "symbol_object_address": 873476, + "software_control": 1140916355, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "Run_Permissive_INT", + "dim": 0, + "instance_id": 139, + "symbol_address": 44120, + "symbol_object_address": 873516, + "software_control": 1140916356, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "Start_Permissive_INT", + "dim": 0, + "instance_id": 140, + "symbol_address": 44088, + "symbol_object_address": 873556, + "software_control": 1140916357, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "PowerFlex755_EStopped", + "dim": 0, + "instance_id": 141, + "symbol_address": 76572, + "symbol_object_address": 873596, + "software_control": 1073807401, + "alias": "True", + "external_access": "Read Only", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 2 + }, + { + "tag_name": "alarm_ESTOP", + "dim": 0, + "instance_id": 142, + "symbol_address": 85800, + "symbol_object_address": 873636, + "software_control": 1140916247, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "rp_FluidLevel", + "dim": 0, + "instance_id": 143, + "symbol_address": 47184, + "symbol_object_address": 873676, + "software_control": 1140916309, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "SP_Time", + "dim": 0, + "instance_id": 144, + "symbol_address": 46680, + "symbol_object_address": 873716, + "software_control": 1140916324, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "alarm_FluidLevel", + "dim": 0, + "instance_id": 145, + "symbol_address": 44056, + "symbol_object_address": 873756, + "software_control": 1140916358, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "In_IntakePressure_HP", + "dim": 0, + "instance_id": 146, + "symbol_address": 85736, + "symbol_object_address": 873796, + "software_control": 1946222617, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "IntakePressure_UseLowPrecision", + "dim": 0, + "instance_id": 147, + "symbol_address": 43912, + "symbol_object_address": 873836, + "software_control": 1140916360, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "val_Flowmeter_BarrelsPerMinute", + "dim": 0, + "instance_id": 148, + "symbol_address": 85832, + "symbol_object_address": 873876, + "software_control": 1946222614, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "MBS_AOI", + "dim": 0, + "instance_id": 149, + "symbol_address": 48192, + "symbol_object_address": 873916, + "software_control": 67174477, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1839, + "data_type": { + "name": "AOI1734MBS_36", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "MJFAULTS": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 12 + }, + "IntAddress": { + "offset": 52, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "CurrentCmd": { + "offset": 54, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "MJFAULTS", + "IntAddress", + "CurrentCmd" + ], + "template": { + "object_definition_size": 43, + "structure_size": 56, + "member_count": 6, + "structure_handle": 26044 + } + } + }, + { + "tag_name": "MBS_Config", + "dim": 0, + "instance_id": 150, + "symbol_address": 48136, + "symbol_object_address": 873956, + "software_control": 67174478, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 3406, + "data_type": { + "name": "ILX34MBSConfig", + "internal_tags": { + "Type": { + "offset": 0, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Slave_ID": { + "offset": 1, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Baud_Rate": { + "offset": 2, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Serial_COM": { + "offset": 3, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Protocol": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "RX_Length": { + "offset": 5, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "TX_Length": { + "offset": 6, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Timeout": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Reserved01": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_Status_Count_1X": { + "offset": 14, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Reserved02": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Output_Coil_Count_0X": { + "offset": 18, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Reserved03": { + "offset": 20, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_Register_Count_3X": { + "offset": 22, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Reserved04": { + "offset": 24, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Holding_Register_Count_4X": { + "offset": 26, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "ZZZZZZZZZZILX34MBSCo16": { + "offset": 28, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Coldboot": { + "offset": 28, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + } + }, + "attributes": [ + "Type", + "Slave_ID", + "Baud_Rate", + "Serial_COM", + "Protocol", + "RX_Length", + "TX_Length", + "Timeout", + "Reserved01", + "Input_Status_Count_1X", + "Reserved02", + "Output_Coil_Count_0X", + "Reserved03", + "Input_Register_Count_3X", + "Reserved04", + "Holding_Register_Count_4X", + "Coldboot" + ], + "template": { + "object_definition_size": 124, + "structure_size": 32, + "member_count": 18, + "structure_handle": 62773 + } + } + }, + { + "tag_name": "sch_Enabled", + "dim": 0, + "instance_id": 151, + "symbol_address": 43072, + "symbol_object_address": 873996, + "software_control": 1140916365, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "controlMode_Flow", + "dim": 0, + "instance_id": 152, + "symbol_address": 43040, + "symbol_object_address": 874036, + "software_control": 1140916366, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "controlMode_FluidLevel", + "dim": 0, + "instance_id": 153, + "symbol_address": 43008, + "symbol_object_address": 874076, + "software_control": 1140916367, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "controlMode_TubingPressure", + "dim": 0, + "instance_id": 154, + "symbol_address": 42976, + "symbol_object_address": 874116, + "software_control": 1140916368, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "controlMode_Manual", + "dim": 0, + "instance_id": 155, + "symbol_address": 42944, + "symbol_object_address": 874156, + "software_control": 1140916369, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "completionParameter_FlowTotal", + "dim": 0, + "instance_id": 156, + "symbol_address": 42912, + "symbol_object_address": 874196, + "software_control": 1140916370, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "completionParameter_FlowRate", + "dim": 0, + "instance_id": 157, + "symbol_address": 42880, + "symbol_object_address": 874236, + "software_control": 1140916371, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "completionParameter_IntakePressure", + "dim": 0, + "instance_id": 158, + "symbol_address": 42848, + "symbol_object_address": 874276, + "software_control": 1140916372, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "completionParameter_TubingPressure", + "dim": 0, + "instance_id": 159, + "symbol_address": 42816, + "symbol_object_address": 874316, + "software_control": 1140916373, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "completionParameter_Time", + "dim": 0, + "instance_id": 160, + "symbol_address": 42784, + "symbol_object_address": 874356, + "software_control": 1140916374, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "time_RunTime_Hours", + "dim": 0, + "instance_id": 161, + "symbol_address": 42752, + "symbol_object_address": 874396, + "software_control": 1946222743, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "sch_RunComplete", + "dim": 0, + "instance_id": 162, + "symbol_address": 42720, + "symbol_object_address": 874436, + "software_control": 1140916376, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "sch_cfgRunAfterScheduleCompleted", + "dim": 0, + "instance_id": 163, + "symbol_address": 42688, + "symbol_object_address": 874476, + "software_control": 1140916377, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "sch_Totalizer", + "dim": 0, + "instance_id": 164, + "symbol_address": 42544, + "symbol_object_address": 874516, + "software_control": 67174554, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 3982, + "data_type": { + "name": "TOTALIZER", + "internal_tags": { + "ulBoolInput1": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "In": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "InFault": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "TimeBase": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Gain": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ResetValue": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Target": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TargetDev1": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TargetDev2": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "LowInCutoff": { + "offset": 32, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ProgProgReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ProgOperReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "ProgStartReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "ProgStopReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "ProgResetReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "OperProgReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OperOperReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OperStartReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OperStopReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OperResetReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "ProgValueReset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "TimingMode": { + "offset": 36, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "OversampleDT": { + "offset": 40, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "RTSTime": { + "offset": 44, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RTSTimeStamp": { + "offset": 48, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ulBoolOutput1": { + "offset": 52, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableOut": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Total": { + "offset": 56, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OldTotal": { + "offset": 60, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ProgOper": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "RunStop": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ProgResetDone": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "TargetFlag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "TargetDev1Flag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "TargetDev2Flag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "LowInCutoffFlag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DeltaT": { + "offset": 64, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Status": { + "offset": 68, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "InstructFault": { + "offset": 68, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "InFaulted": { + "offset": 68, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "TimeBaseInv": { + "offset": 68, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "TimingModeInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "RTSMissed": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "RTSTimeInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "RTSTimeStampInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DeltaTInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TOT_HiddenFloat1": { + "offset": 72, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat2": { + "offset": 76, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat3": { + "offset": 80, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat4": { + "offset": 84, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat5": { + "offset": 88, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat6": { + "offset": 92, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat7": { + "offset": 96, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat8": { + "offset": 100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat9": { + "offset": 104, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat10": { + "offset": 108, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat11": { + "offset": 112, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "ulBoolInput1", + "EnableIn", + "In", + "InFault", + "TimeBase", + "Gain", + "ResetValue", + "Target", + "TargetDev1", + "TargetDev2", + "LowInCutoff", + "ProgProgReq", + "ProgOperReq", + "ProgStartReq", + "ProgStopReq", + "ProgResetReq", + "OperProgReq", + "OperOperReq", + "OperStartReq", + "OperStopReq", + "OperResetReq", + "ProgValueReset", + "TimingMode", + "OversampleDT", + "RTSTime", + "RTSTimeStamp", + "ulBoolOutput1", + "EnableOut", + "Total", + "OldTotal", + "ProgOper", + "RunStop", + "ProgResetDone", + "TargetFlag", + "TargetDev1Flag", + "TargetDev2Flag", + "LowInCutoffFlag", + "DeltaT", + "Status", + "InstructFault", + "InFaulted", + "TimeBaseInv", + "TimingModeInv", + "RTSMissed", + "RTSTimeInv", + "RTSTimeStampInv", + "DeltaTInv", + "TOT_HiddenFloat1", + "TOT_HiddenFloat2", + "TOT_HiddenFloat3", + "TOT_HiddenFloat4", + "TOT_HiddenFloat5", + "TOT_HiddenFloat6", + "TOT_HiddenFloat7", + "TOT_HiddenFloat8", + "TOT_HiddenFloat9", + "TOT_HiddenFloat10", + "TOT_HiddenFloat11" + ], + "template": { + "object_definition_size": 360, + "structure_size": 116, + "member_count": 58, + "structure_handle": 3982 + } + } + }, + { + "tag_name": "sch_RunStarted", + "dim": 0, + "instance_id": 165, + "symbol_address": 42512, + "symbol_object_address": 874556, + "software_control": 1140916379, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "sch_clearHistory", + "dim": 0, + "instance_id": 166, + "symbol_address": 42480, + "symbol_object_address": 874596, + "software_control": 1140916380, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "sch_RunIndex", + "dim": 0, + "instance_id": 167, + "symbol_address": 42448, + "symbol_object_address": 874636, + "software_control": 1140916381, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "val_Flowmeter_BarrelsPerDay", + "dim": 0, + "instance_id": 169, + "symbol_address": 42344, + "symbol_object_address": 874716, + "software_control": 1946222751, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "sch_lifetime_run_index", + "dim": 0, + "instance_id": 170, + "symbol_address": 42312, + "symbol_object_address": 874756, + "software_control": 1140916384, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "ControllerFault", + "dim": 0, + "instance_id": 171, + "symbol_address": 42376, + "symbol_object_address": 874796, + "software_control": 67174558, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1459, + "data_type": { + "name": "FAULTRECORD", + "internal_tags": { + "Time_Low": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Time_High": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Type": { + "offset": 8, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Code": { + "offset": 10, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Info": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 8 + } + }, + "attributes": [ + "Time_Low", + "Time_High", + "Type", + "Code", + "Info" + ], + "template": { + "object_definition_size": 32, + "structure_size": 44, + "member_count": 5, + "structure_handle": 3581 + } + } + }, + { + "tag_name": "PowerFlex755_RunTime", + "dim": 0, + "instance_id": 174, + "symbol_address": 41832, + "symbol_object_address": 874916, + "software_control": 67174563, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 3688, + "data_type": { + "name": "P_RunTime", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_Starting": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Running": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_PCmdClear": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_ClearStarts": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_ClearMaxHrs": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_ClearTotHrs": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "MCmd_ClearStarts": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "MCmd_ClearMaxHrs": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "MCmd_ClearTotHrs": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Val_Starts": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_CurRunHrs": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_MaxRunHrs": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_TotRunHrs": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "P_RunTime": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_CurHours": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_CurRunT": { + "offset": 24, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_TotTenths": { + "offset": 36, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_Starts": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "COUNTER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "CU": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "CD": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OV": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "UN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "CU", + "CD", + "DN", + "OV", + "UN" + ], + "template": { + "object_definition_size": 40, + "structure_size": 12, + "member_count": 8, + "structure_handle": 3970 + } + }, + "array": 0 + }, + "Wrk_TotRunT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_MaxHours": { + "offset": 64, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inf_Tab": { + "offset": 68, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Inf_Type": { + "offset": 72, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_Label": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Tag": { + "offset": 116, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Desc": { + "offset": 140, + "tag_type": "struct", + "data_type": { + "name": "STRING_40", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 40 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 40, + "template": { + "object_definition_size": 17, + "structure_size": 44, + "member_count": 2, + "structure_handle": 32239 + } + }, + "array": 0 + }, + "Inf_Lib": { + "offset": 184, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_Starting", + "Inp_Running", + "Cfg_PCmdClear", + "PCmd_ClearStarts", + "PCmd_ClearMaxHrs", + "PCmd_ClearTotHrs", + "MCmd_ClearStarts", + "MCmd_ClearMaxHrs", + "MCmd_ClearTotHrs", + "Val_Starts", + "Val_CurRunHrs", + "Val_MaxRunHrs", + "Val_TotRunHrs", + "P_RunTime", + "Wrk_CurHours", + "Wrk_CurRunT", + "Wrk_TotTenths", + "Wrk_Starts", + "Wrk_TotRunT", + "Wrk_MaxHours", + "Inf_Tab", + "Inf_Type", + "Cfg_Label", + "Cfg_Tag", + "Cfg_Desc", + "Inf_Lib" + ], + "template": { + "object_definition_size": 186, + "structure_size": 200, + "member_count": 29, + "structure_handle": 33151 + } + } + }, + { + "tag_name": "sch_TempHoursRun", + "dim": 0, + "instance_id": 175, + "symbol_address": 41800, + "symbol_object_address": 874956, + "software_control": 1946222756, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "ControllerFault_IO", + "dim": 0, + "instance_id": 176, + "symbol_address": 42280, + "symbol_object_address": 874996, + "software_control": 1140916385, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "ControllerFault_Program", + "dim": 0, + "instance_id": 177, + "symbol_address": 41768, + "symbol_object_address": 875036, + "software_control": 1140916389, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "ControllerFault_ClearAttempts", + "dim": 0, + "instance_id": 178, + "symbol_address": 41736, + "symbol_object_address": 875076, + "software_control": 1140916390, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "PROMAG_300:C", + "dim": 0, + "instance_id": 180, + "symbol_address": 52728, + "symbol_object_address": 875228, + "software_control": 201392194, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1352, + "data_type": { + "name": "EH:Promag_300_500:C:0", + "internal_tags": { + "CfgSize": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "CfgIDNum": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "CfgRev": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Write_protection": { + "offset": 12, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "SWWrite_pad": { + "offset": 13, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "System_units_Mass_flow_unit": { + "offset": 14, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "System_units_Mass_unit": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "System_units_Volume_flow_unit": { + "offset": 18, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "System_units_Volume_unit": { + "offset": 20, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "System_units_Corvolflow_unit": { + "offset": 22, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "System_units_Density_unit": { + "offset": 24, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "System_units_Temperature_unit": { + "offset": 26, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "System_units_Conductivity_unit": { + "offset": 28, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "pad22": { + "offset": 30, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "pad23": { + "offset": 31, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "pad24": { + "offset": 32, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + }, + "pad44": { + "offset": 52, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "pad45": { + "offset": 53, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Access_Enter_access_code": { + "offset": 54, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_1_Assign_process_variable": { + "offset": 56, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_1_Unit_totalizer_1": { + "offset": 58, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_1_Totalizer_operation_mode": { + "offset": 60, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_1_Failure_mode": { + "offset": 62, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_1_Preset_value_1": { + "offset": 64, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Totalizer_1_Control_Totalizer_1": { + "offset": 68, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_2_Assign_process_variable": { + "offset": 70, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_2_Unit_totalizer_2": { + "offset": 72, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_2_Totalizer_operation_mode": { + "offset": 74, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_2_Failure_mode": { + "offset": 76, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_2_Control_Totalizer_2": { + "offset": 78, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_2_Preset_value_2": { + "offset": 80, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Totalizer_3_Assign_process_variable": { + "offset": 84, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_3_Unit_totalizer_3": { + "offset": 86, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_3_Totalizer_operation_mode": { + "offset": 88, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_3_Failure_mode": { + "offset": 90, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_3_Preset_value_3": { + "offset": 92, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Totalizer_3_Control_Totalizer_3": { + "offset": 96, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_1": { + "offset": 98, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_2": { + "offset": 100, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_3": { + "offset": 102, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_4": { + "offset": 104, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_5": { + "offset": 106, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_6": { + "offset": 108, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_7": { + "offset": 110, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_8": { + "offset": 112, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_9": { + "offset": 114, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_10": { + "offset": 116, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_11": { + "offset": 118, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_12": { + "offset": 120, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_13": { + "offset": 122, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_14": { + "offset": 124, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_15": { + "offset": 126, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_16": { + "offset": 128, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_17": { + "offset": 130, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_18": { + "offset": 132, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_19": { + "offset": 134, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Input_assembly_Position_20": { + "offset": 136, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Sensor_adjustm_Install_direct": { + "offset": 138, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Low_flow_cut_off_Assign_variable": { + "offset": 140, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Empty_pipe_det_Empty_pipe_det": { + "offset": 142, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Low_flow_cut_off_On_value": { + "offset": 144, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Low_flow_cut_off_Off_value": { + "offset": 148, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Low_flow_cut_off_Pres_shock_sup": { + "offset": 152, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Empty_pipe_det_Response_time": { + "offset": 156, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Process_param_Conduct_damping": { + "offset": 160, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Process_parameters_Flow_override": { + "offset": 164, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Empty_pipe_detection_New_adjustment": { + "offset": 166, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "External_compensation_Density_source": { + "offset": 168, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "External_comp_Temp_source": { + "offset": 170, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Empty_pipe_det_Switch_point_EPD": { + "offset": 172, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "External_compensation_Fixed_density": { + "offset": 176, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Process_parameters_Filter_options": { + "offset": 180, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Process_parameters_Flow_damping": { + "offset": 182, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "pad175": { + "offset": 183, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Diagnostic_handling_Alarm_delay": { + "offset": 184, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Diagn_behavior_Diagnostic_no832": { + "offset": 188, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Diagn_behavior_Diagnostic_no833": { + "offset": 189, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Diagn_behavior_Diagnostic_no834": { + "offset": 190, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Diagn_behavior_Diagnostic_no835": { + "offset": 191, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Diagn_behavior_Diagnostic_no962": { + "offset": 192, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Diagn_behavior_Diagnostic_no531": { + "offset": 193, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Diagn_behavior_Diagnostic_no937": { + "offset": 194, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Diagn_behavior_Diagnostic_no302": { + "offset": 195, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "pad188": { + "offset": 196, + "tag_type": "atomic", + "data_type": "SINT", + "array": 208 + }, + "pad396": { + "offset": 404, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "pad397": { + "offset": 405, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "CfgSize", + "CfgIDNum", + "CfgRev", + "Write_protection", + "SWWrite_pad", + "System_units_Mass_flow_unit", + "System_units_Mass_unit", + "System_units_Volume_flow_unit", + "System_units_Volume_unit", + "System_units_Corvolflow_unit", + "System_units_Density_unit", + "System_units_Temperature_unit", + "System_units_Conductivity_unit", + "pad22", + "pad23", + "pad24", + "pad44", + "pad45", + "Access_Enter_access_code", + "Totalizer_1_Assign_process_variable", + "Totalizer_1_Unit_totalizer_1", + "Totalizer_1_Totalizer_operation_mode", + "Totalizer_1_Failure_mode", + "Totalizer_1_Preset_value_1", + "Totalizer_1_Control_Totalizer_1", + "Totalizer_2_Assign_process_variable", + "Totalizer_2_Unit_totalizer_2", + "Totalizer_2_Totalizer_operation_mode", + "Totalizer_2_Failure_mode", + "Totalizer_2_Control_Totalizer_2", + "Totalizer_2_Preset_value_2", + "Totalizer_3_Assign_process_variable", + "Totalizer_3_Unit_totalizer_3", + "Totalizer_3_Totalizer_operation_mode", + "Totalizer_3_Failure_mode", + "Totalizer_3_Preset_value_3", + "Totalizer_3_Control_Totalizer_3", + "Input_assembly_Position_1", + "Input_assembly_Position_2", + "Input_assembly_Position_3", + "Input_assembly_Position_4", + "Input_assembly_Position_5", + "Input_assembly_Position_6", + "Input_assembly_Position_7", + "Input_assembly_Position_8", + "Input_assembly_Position_9", + "Input_assembly_Position_10", + "Input_assembly_Position_11", + "Input_assembly_Position_12", + "Input_assembly_Position_13", + "Input_assembly_Position_14", + "Input_assembly_Position_15", + "Input_assembly_Position_16", + "Input_assembly_Position_17", + "Input_assembly_Position_18", + "Input_assembly_Position_19", + "Input_assembly_Position_20", + "Sensor_adjustm_Install_direct", + "Low_flow_cut_off_Assign_variable", + "Empty_pipe_det_Empty_pipe_det", + "Low_flow_cut_off_On_value", + "Low_flow_cut_off_Off_value", + "Low_flow_cut_off_Pres_shock_sup", + "Empty_pipe_det_Response_time", + "Process_param_Conduct_damping", + "Process_parameters_Flow_override", + "Empty_pipe_detection_New_adjustment", + "External_compensation_Density_source", + "External_comp_Temp_source", + "Empty_pipe_det_Switch_point_EPD", + "External_compensation_Fixed_density", + "Process_parameters_Filter_options", + "Process_parameters_Flow_damping", + "pad175", + "Diagnostic_handling_Alarm_delay", + "Diagn_behavior_Diagnostic_no832", + "Diagn_behavior_Diagnostic_no833", + "Diagn_behavior_Diagnostic_no834", + "Diagn_behavior_Diagnostic_no835", + "Diagn_behavior_Diagnostic_no962", + "Diagn_behavior_Diagnostic_no531", + "Diagn_behavior_Diagnostic_no937", + "Diagn_behavior_Diagnostic_no302", + "pad188", + "pad396", + "pad397" + ], + "template": { + "object_definition_size": 829, + "structure_size": 408, + "member_count": 86, + "structure_handle": 50882 + } + } + }, + { + "tag_name": "cfg_CurrentLimitMultiplier", + "dim": 0, + "instance_id": 181, + "symbol_address": 41032, + "symbol_object_address": 875268, + "software_control": 1946222761, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "alarm_MinSpeed", + "dim": 0, + "instance_id": 182, + "symbol_address": 41000, + "symbol_object_address": 875308, + "software_control": 1140916394, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "rp_MinSpeed", + "dim": 0, + "instance_id": 183, + "symbol_address": 40968, + "symbol_object_address": 875348, + "software_control": 1140916395, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "sts_CurrentVFDFaultCode", + "dim": 0, + "instance_id": 184, + "symbol_address": 40936, + "symbol_object_address": 875388, + "software_control": 1140916396, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "DINT" + }, + { + "tag_name": "VFD_753:I", + "dim": 0, + "instance_id": 187, + "symbol_address": 63964128, + "symbol_object_address": 875508, + "software_control": 201392303, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 3303, + "data_type": { + "name": "AB:PowerFlex753_R_65DD6104:I:0", + "internal_tags": { + "pad": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DriveStatus": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DriveStatus_Ready": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus_Active": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus_CommandDir": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus_ActualDir": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus_Accelerating": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus_Decelerating": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus_Alarm": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus_Faulted": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DriveStatus_AtSpeed": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus_Manual": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus_SpdRefBit0": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus_SpdRefBit1": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus_SpdRefBit2": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus_SpdRefBit3": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus_SpdRefBit4": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus_Running": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus_Jogging": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus_Stopping": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus_DCBraking": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus_DBActive": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus_SpeedMode": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus_PositionMode": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus_TorqueMode": { + "offset": 6, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DriveStatus_AtZeroSpeed": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus_AtHome": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus_AtLimit": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus_CurrLimit": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus_BusFrqReg": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus_EnableOn": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus_MotorOL": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus_Regen": { + "offset": 7, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Feedback": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TorqueCurFdbk": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OutputCurrent": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OutputPower": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ElapsedMWH": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ElapsedRunTime": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "SpeedUnits": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PredMaintSts": { + "offset": 36, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PredMaintSts_HeatsinkFan": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PredMaintSts_InternalFan": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PredMaintSts_MtrBearing": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PredMaintSts_MtrLube": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PredMaintSts_MchBearing": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PredMaintSts_MchLube": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PredMaintSts_Reserved": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PredMaintSts_Reserved1": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PredMaintSts_Reserved2": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PredMaintSts_Reserved3": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PredMaintSts_Reserved4": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PredMaintSts_Reserved5": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PredMaintSts_Reserved6": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PredMaintSts_Reserved7": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PredMaintSts_Reserved8": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PredMaintSts_Master": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "StartInhibits": { + "offset": 40, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "StartInhibits_Faulted": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "StartInhibits_Alarm": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "StartInhibits_Enable": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "StartInhibits_Precharge": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "StartInhibits_Stop": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "StartInhibits_Database": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "StartInhibits_Startup": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "StartInhibits_Safety": { + "offset": 40, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "StartInhibits_Sleep": { + "offset": 41, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "StartInhibits_Profiler": { + "offset": 41, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus2": { + "offset": 44, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DriveStatus2_AutoRstrAct": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus2_AuRstrCntDwn": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus2_HSFanOn": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus2_Reserved": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus2_FluxBraking": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus2_FdbkLossSwO": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus2_Reserved1": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus2_AdjVltgMode": { + "offset": 44, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DriveStatus2_PrchrgClosed": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus2_Autotuning": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus2_PIDFBLoss": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus2_AccelRate": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus2_DecelRate": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus2_Reserved2": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus2_AutoClrAct": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus2_AutClrCntDwn": { + "offset": 45, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DriveOLCount": { + "offset": 48, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "DriveTempC": { + "offset": 52, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "LastFaultCode": { + "offset": 56, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "FaultStatusA": { + "offset": 60, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "FaultStatusA_PowerLoss": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusA_UnderVoltage": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusA_MotorOL": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusA_LoadLoss": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusA_InPhaseLoss": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusA_OutPhaseLoss": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusA_DecelInhib": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "FaultStatusA_ShearPin1": { + "offset": 60, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "FaultStatusA_ShearPin2": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusA_PriFdbkLoss": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusA_AltFdbkLoss": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusA_AuxFdbkLoss": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusA_PosFdbkLoss": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusA_ExtPrchrgErr": { + "offset": 61, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusB": { + "offset": 64, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "FaultStatusB_AuxInputFlt": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusB_OverVoltage": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusB_DriveOL": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusB_HeatsinkOT": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusB_TransistorOT": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusB_SinkUnderTmp": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusB_ExcessLoad": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "FaultStatusB_OverspdLmt": { + "offset": 64, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "FaultStatusB_PrchrgOpen": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusB_SafetyBrdFlt": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusB_IRVoltsRange": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusB_FluxAmpsRang": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusB_IXOVoltRange": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusB_AuRstExhaust": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusB_SWOverCur": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "FaultStatusB_HWOverCur": { + "offset": 65, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "FaultStatusB_Reserved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusB_Reserved1": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusB_GroundFault": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusB_OWAlarmTO": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusB_OverTravel": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusB_TrvlLimCflct": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusB_EndLmtSw": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "ElapsedkWH": { + "offset": 68, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "P4_DigInSts": { + "offset": 72, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "P4_DigInSts_Input0": { + "offset": 72, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "P4_DigInSts_Input1": { + "offset": 72, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P4_DigInSts_Input2": { + "offset": 72, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "P4_DigInSts_Input3": { + "offset": 72, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "P4_DigInSts_Input4": { + "offset": 72, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "P4_DigInSts_Input5": { + "offset": 72, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "pad", + "DriveStatus", + "DriveStatus_Ready", + "DriveStatus_Active", + "DriveStatus_CommandDir", + "DriveStatus_ActualDir", + "DriveStatus_Accelerating", + "DriveStatus_Decelerating", + "DriveStatus_Alarm", + "DriveStatus_Faulted", + "DriveStatus_AtSpeed", + "DriveStatus_Manual", + "DriveStatus_SpdRefBit0", + "DriveStatus_SpdRefBit1", + "DriveStatus_SpdRefBit2", + "DriveStatus_SpdRefBit3", + "DriveStatus_SpdRefBit4", + "DriveStatus_Running", + "DriveStatus_Jogging", + "DriveStatus_Stopping", + "DriveStatus_DCBraking", + "DriveStatus_DBActive", + "DriveStatus_SpeedMode", + "DriveStatus_PositionMode", + "DriveStatus_TorqueMode", + "DriveStatus_AtZeroSpeed", + "DriveStatus_AtHome", + "DriveStatus_AtLimit", + "DriveStatus_CurrLimit", + "DriveStatus_BusFrqReg", + "DriveStatus_EnableOn", + "DriveStatus_MotorOL", + "DriveStatus_Regen", + "Feedback", + "TorqueCurFdbk", + "OutputCurrent", + "OutputPower", + "ElapsedMWH", + "ElapsedRunTime", + "SpeedUnits", + "PredMaintSts", + "PredMaintSts_HeatsinkFan", + "PredMaintSts_InternalFan", + "PredMaintSts_MtrBearing", + "PredMaintSts_MtrLube", + "PredMaintSts_MchBearing", + "PredMaintSts_MchLube", + "PredMaintSts_Reserved", + "PredMaintSts_Reserved1", + "PredMaintSts_Reserved2", + "PredMaintSts_Reserved3", + "PredMaintSts_Reserved4", + "PredMaintSts_Reserved5", + "PredMaintSts_Reserved6", + "PredMaintSts_Reserved7", + "PredMaintSts_Reserved8", + "PredMaintSts_Master", + "StartInhibits", + "StartInhibits_Faulted", + "StartInhibits_Alarm", + "StartInhibits_Enable", + "StartInhibits_Precharge", + "StartInhibits_Stop", + "StartInhibits_Database", + "StartInhibits_Startup", + "StartInhibits_Safety", + "StartInhibits_Sleep", + "StartInhibits_Profiler", + "DriveStatus2", + "DriveStatus2_AutoRstrAct", + "DriveStatus2_AuRstrCntDwn", + "DriveStatus2_HSFanOn", + "DriveStatus2_Reserved", + "DriveStatus2_FluxBraking", + "DriveStatus2_FdbkLossSwO", + "DriveStatus2_Reserved1", + "DriveStatus2_AdjVltgMode", + "DriveStatus2_PrchrgClosed", + "DriveStatus2_Autotuning", + "DriveStatus2_PIDFBLoss", + "DriveStatus2_AccelRate", + "DriveStatus2_DecelRate", + "DriveStatus2_Reserved2", + "DriveStatus2_AutoClrAct", + "DriveStatus2_AutClrCntDwn", + "DriveOLCount", + "DriveTempC", + "LastFaultCode", + "FaultStatusA", + "FaultStatusA_PowerLoss", + "FaultStatusA_UnderVoltage", + "FaultStatusA_MotorOL", + "FaultStatusA_LoadLoss", + "FaultStatusA_InPhaseLoss", + "FaultStatusA_OutPhaseLoss", + "FaultStatusA_DecelInhib", + "FaultStatusA_ShearPin1", + "FaultStatusA_ShearPin2", + "FaultStatusA_PriFdbkLoss", + "FaultStatusA_AltFdbkLoss", + "FaultStatusA_AuxFdbkLoss", + "FaultStatusA_PosFdbkLoss", + "FaultStatusA_ExtPrchrgErr", + "FaultStatusB", + "FaultStatusB_AuxInputFlt", + "FaultStatusB_OverVoltage", + "FaultStatusB_DriveOL", + "FaultStatusB_HeatsinkOT", + "FaultStatusB_TransistorOT", + "FaultStatusB_SinkUnderTmp", + "FaultStatusB_ExcessLoad", + "FaultStatusB_OverspdLmt", + "FaultStatusB_PrchrgOpen", + "FaultStatusB_SafetyBrdFlt", + "FaultStatusB_IRVoltsRange", + "FaultStatusB_FluxAmpsRang", + "FaultStatusB_IXOVoltRange", + "FaultStatusB_AuRstExhaust", + "FaultStatusB_SWOverCur", + "FaultStatusB_HWOverCur", + "FaultStatusB_Reserved", + "FaultStatusB_Reserved1", + "FaultStatusB_GroundFault", + "FaultStatusB_OWAlarmTO", + "FaultStatusB_OverTravel", + "FaultStatusB_TrvlLimCflct", + "FaultStatusB_EndLmtSw", + "ElapsedkWH", + "P4_DigInSts", + "P4_DigInSts_Input0", + "P4_DigInSts_Input1", + "P4_DigInSts_Input2", + "P4_DigInSts_Input3", + "P4_DigInSts_Input4", + "P4_DigInSts_Input5" + ], + "template": { + "object_definition_size": 1136, + "structure_size": 76, + "member_count": 135, + "structure_handle": 42717 + } + } + }, + { + "tag_name": "VFD_753:O", + "dim": 0, + "instance_id": 188, + "symbol_address": 63963712, + "symbol_object_address": 875548, + "software_control": 201392306, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 3358, + "data_type": { + "name": "AB:PowerFlex753_R_54376CB2:O:0", + "internal_tags": { + "LogicCommand": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "LogicCommand_Stop": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "LogicCommand_Start": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "LogicCommand_Jog1": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "LogicCommand_ClearFaults": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "LogicCommand_Forward": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "LogicCommand_Reverse": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "LogicCommand_Manual": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "LogicCommand_AccelTime1": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "LogicCommand_AccelTime2": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "LogicCommand_DecelTime1": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "LogicCommand_DecelTime2": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "LogicCommand_SpdRefSel0": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "LogicCommand_SpdRefSel1": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "LogicCommand_SpdRefSel2": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "LogicCommand_CoastStop": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "LogicCommand_CLimitStop": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "LogicCommand_Run": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "LogicCommand_Jog2": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Reference": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MotorNPVolts": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MotorNPAmps": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MotorNPHertz": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MotorNPRPM": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MotorNPPower": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MtrOLFactor": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MotorPoles": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "MinFwdSpeed": { + "offset": 36, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "MaxFwdSpeed": { + "offset": 40, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PWMFrequency": { + "offset": 44, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ResetMeters": { + "offset": 48, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "CurrentLimit1": { + "offset": 52, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "LogicCommand", + "LogicCommand_Stop", + "LogicCommand_Start", + "LogicCommand_Jog1", + "LogicCommand_ClearFaults", + "LogicCommand_Forward", + "LogicCommand_Reverse", + "LogicCommand_Manual", + "LogicCommand_AccelTime1", + "LogicCommand_AccelTime2", + "LogicCommand_DecelTime1", + "LogicCommand_DecelTime2", + "LogicCommand_SpdRefSel0", + "LogicCommand_SpdRefSel1", + "LogicCommand_SpdRefSel2", + "LogicCommand_CoastStop", + "LogicCommand_CLimitStop", + "LogicCommand_Run", + "LogicCommand_Jog2", + "Reference", + "MotorNPVolts", + "MotorNPAmps", + "MotorNPHertz", + "MotorNPRPM", + "MotorNPPower", + "MtrOLFactor", + "MotorPoles", + "MinFwdSpeed", + "MaxFwdSpeed", + "PWMFrequency", + "ResetMeters", + "CurrentLimit1" + ], + "template": { + "object_definition_size": 250, + "structure_size": 56, + "member_count": 32, + "structure_handle": 18175 + } + } + }, + { + "tag_name": "PowerFlex753", + "dim": 0, + "instance_id": 191, + "symbol_address": 31616, + "symbol_object_address": 875668, + "software_control": 67174587, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 3019, + "data_type": { + "name": "P_PF753", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_FwdPermOK": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_FwdNBPermOK": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_RevPermOK": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Inp_RevNBPermOK": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Inp_IntlkOK": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Inp_NBIntlkOK": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Inp_IOFault": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Inp_Sim": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_Hand": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Ovrd": { + "offset": 180, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Inp_OvrdCmd": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Inp_OvrdSpeed": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inp_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_HasReverse": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasJog": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AllowLocal": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_HasFwdPermObj": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_HasRevPermObj": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_HasIntlkObj": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_HasResInhObj": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Cfg_HasRunTimeObj": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_SetTrack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_SetTrackOvrdHand": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_PCmdClear": { + "offset": 180, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ProgDefault": { + "offset": 180, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_OperStopPrio": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_OCmdResets": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_OvrdPermIntlk": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_ShedOnFailToStart": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_ShedOnIOFault": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Cfg_SimScaleEU": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_SimScaleRaw": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasFailToStartAlm": { + "offset": 696, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasFailToStopAlm": { + "offset": 540, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasIntlkTripAlm": { + "offset": 384, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasDriveFaultAlm": { + "offset": 972, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_HasIOFaultAlm": { + "offset": 228, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_FailToStartResetReqd": { + "offset": 696, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_FailToStopResetReqd": { + "offset": 540, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_IntlkTripResetReqd": { + "offset": 384, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_DriveFaultResetReqd": { + "offset": 972, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_IOFaultResetReqd": { + "offset": 228, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_FailToStartAckReqd": { + "offset": 696, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_FailToStopAckReqd": { + "offset": 540, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_IntlkTripAckReqd": { + "offset": 384, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_DriveFaultAckReqd": { + "offset": 972, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_IOFaultAckReqd": { + "offset": 228, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_FailToStartSeverity": { + "offset": 700, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_FailToStopSeverity": { + "offset": 544, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_IntlkTripSeverity": { + "offset": 388, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_DriveFaultSeverity": { + "offset": 976, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_IOFaultSeverity": { + "offset": 232, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_MinSpdRef": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_MaxSpdRef": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_SpeedRefRawMin": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_SpeedRefRawMax": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_SpeedRefEUMin": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_SpeedRefEUMax": { + "offset": 32, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_SpeedFdbkRawMin": { + "offset": 36, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_SpeedFdbkRawMax": { + "offset": 40, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_SpeedFdbkEUMin": { + "offset": 44, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_SpeedFdbkEUMax": { + "offset": 48, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_SimRampT": { + "offset": 52, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailToStartT": { + "offset": 56, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_FailToStopT": { + "offset": 60, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_ResetPulseT": { + "offset": 64, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxJogT": { + "offset": 68, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Cfg_OperKeep": { + "offset": 72, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Cfg_ProgKeep": { + "offset": 73, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "PSet_SpeedRef": { + "offset": 76, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PSet_Owner": { + "offset": 80, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "OSet_SpeedRef": { + "offset": 84, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "PCmd_Start": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Stop": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Fwd": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 88, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PCmd_Rev": { + "offset": 88, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Acq": { + "offset": 180, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 181, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 181, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 181, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 88, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_FailToStartAck": { + "offset": 697, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_FailToStartSuppress": { + "offset": 697, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_FailToStartUnsuppress": { + "offset": 697, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_FailToStartUnshelve": { + "offset": 697, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_FailToStopAck": { + "offset": 541, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_FailToStopSuppress": { + "offset": 541, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_FailToStopUnsuppress": { + "offset": 541, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_FailToStopUnshelve": { + "offset": 541, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_IntlkTripAck": { + "offset": 385, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_IntlkTripSuppress": { + "offset": 385, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_IntlkTripUnsuppress": { + "offset": 385, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_IntlkTripUnshelve": { + "offset": 385, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_DriveFaultAck": { + "offset": 973, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_DriveFaultSuppress": { + "offset": 973, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_DriveFaultUnsuppress": { + "offset": 973, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_DriveFaultUnshelve": { + "offset": 973, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_IOFaultAck": { + "offset": 229, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_IOFaultSuppress": { + "offset": 229, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_IOFaultUnsuppress": { + "offset": 229, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_IOFaultUnshelve": { + "offset": 229, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Start": { + "offset": 88, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Stop": { + "offset": 88, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "OCmd_Jog": { + "offset": 88, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_Fwd": { + "offset": 88, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_Rev": { + "offset": 88, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "OCmd_Bypass": { + "offset": 88, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Check": { + "offset": 89, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "MCmd_Disable": { + "offset": 89, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "MCmd_Enable": { + "offset": 89, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "MCmd_Acq": { + "offset": 181, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 181, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 181, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_Unlock": { + "offset": 181, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "OCmd_Reset": { + "offset": 89, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "OCmd_ResetAckAll": { + "offset": 89, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Val_SpeedRef": { + "offset": 92, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_SpeedFdbk": { + "offset": 96, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_SpeedRefSrc": { + "offset": 100, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SpeedRefRaw": { + "offset": 104, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_SpeedFdbkRaw": { + "offset": 108, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_SpeedRefEUMin": { + "offset": 112, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_SpeedRefEUMax": { + "offset": 116, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_SpeedFdbkEUMin": { + "offset": 120, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_SpeedFdbkEUMax": { + "offset": 124, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Val_LastFaultCode": { + "offset": 128, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "SrcQ_IO": { + "offset": 132, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "SrcQ": { + "offset": 133, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Cmd": { + "offset": 134, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Fdbk": { + "offset": 135, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Sts": { + "offset": 136, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Fault": { + "offset": 137, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Mode": { + "offset": 184, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_Owner": { + "offset": 140, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_Notify": { + "offset": 144, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Sts_Stopped": { + "offset": 89, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_Starting": { + "offset": 89, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_Running": { + "offset": 89, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Stopping": { + "offset": 90, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Jogging": { + "offset": 90, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_CommandDir": { + "offset": 90, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_ActualDir": { + "offset": 90, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_Accel": { + "offset": 90, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Decel": { + "offset": 90, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_NotReady": { + "offset": 90, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_Alarm": { + "offset": 90, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_AtSpeed": { + "offset": 91, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_SpeedLimited": { + "offset": 91, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_DriveSts1": { + "offset": 148, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_DriveSts2": { + "offset": 152, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_FaultStsA": { + "offset": 156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_FaultStsB": { + "offset": 160, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_PMSts": { + "offset": 164, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_StartInhibits": { + "offset": 168, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_Available": { + "offset": 91, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Bypass": { + "offset": 91, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_BypActive": { + "offset": 91, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_Disabled": { + "offset": 91, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_NotRdy": { + "offset": 91, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Nrdy_Disabled": { + "offset": 91, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost02": { + "offset": 172, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Nrdy_CfgErr": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Nrdy_Intlk": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Nrdy_Perm": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Nrdy_OperPrio": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Nrdy_Fail": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Nrdy_IOFault": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Nrdy_Trip": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Nrdy_DriveNR": { + "offset": 172, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Nrdy_NoMode": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_MaintByp": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Err": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Err_Timer": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Err_Sim": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Err_Alarm": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Err_FdbkRaw": { + "offset": 173, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Err_FdbkEU": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_RefLim": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_RefEU": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Err_RefRaw": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_Hand": { + "offset": 181, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Maint": { + "offset": 182, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Ovrd": { + "offset": 182, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_Prog": { + "offset": 182, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 182, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 182, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_NoMode": { + "offset": 182, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 182, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_FailToStart": { + "offset": 696, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_FailToStart": { + "offset": 762, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_FailToStart": { + "offset": 762, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailToStartDisabled": { + "offset": 763, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailToStartShelved": { + "offset": 762, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_FailToStartSuppressed": { + "offset": 762, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_FailToStop": { + "offset": 540, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_FailToStop": { + "offset": 606, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_FailToStop": { + "offset": 606, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailToStopDisabled": { + "offset": 607, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_FailToStopShelved": { + "offset": 606, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_FailToStopSuppressed": { + "offset": 606, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_IntlkTrip": { + "offset": 384, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_IntlkTrip": { + "offset": 450, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_IntlkTrip": { + "offset": 450, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_IntlkTripDisabled": { + "offset": 451, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_IntlkTripShelved": { + "offset": 450, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_IntlkTripSuppressed": { + "offset": 450, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_DriveFault": { + "offset": 972, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_DriveFault": { + "offset": 1038, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_DriveFault": { + "offset": 1038, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_DriveFaultDisabled": { + "offset": 1039, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_DriveFaultShelved": { + "offset": 1038, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_DriveFaultSuppressed": { + "offset": 1038, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_IOFault": { + "offset": 228, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Alm_IOFault": { + "offset": 294, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack_IOFault": { + "offset": 294, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_IOFaultDisabled": { + "offset": 295, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_IOFaultShelved": { + "offset": 294, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_IOFaultSuppressed": { + "offset": 294, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Start": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Stop": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Jog": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Fwd": { + "offset": 174, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Rdy_Rev": { + "offset": 175, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Bypass": { + "offset": 175, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_Check": { + "offset": 175, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Disable": { + "offset": 175, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Enable": { + "offset": 175, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Reset": { + "offset": 175, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_ResetAckAll": { + "offset": 175, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_SpeedRef": { + "offset": 175, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost03": { + "offset": 176, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "P_PF753": { + "offset": 176, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Mode": { + "offset": 180, + "tag_type": "struct", + "data_type": { + "name": "P_Mode", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp_Hand": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Ovrd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_PCmdClear": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_OvrdOverLock": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_ProgDefault": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Acq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PCmd_Lock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PCmd_Unlock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "MCmd_Acq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Rel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "OCmd_AcqLock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "OCmd_UnlockRel": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Sts_Hand": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Maint": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_Ovrd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_Prog": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Oper": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_ProgOperLock": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_ProgOperSel": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_NoMode": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_MAcqRcvd": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Rdy_MAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_MRel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Rdy_OAcq": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_OLock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_OUnlock": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_ORel": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "P_Mode": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_Locked": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_Prog": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_Maint": { + "offset": 8, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inf_Lib": { + "offset": 12, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_Hand", + "Inp_Ovrd", + "Cfg_PCmdClear", + "Cfg_OvrdOverLock", + "Cfg_ProgDefault", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_UnlockRel", + "Val", + "Sts_Hand", + "Sts_Maint", + "Sts_Ovrd", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_ProgOperSel", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Rdy_MAcq", + "Rdy_MRel", + "Rdy_OAcq", + "Rdy_OLock", + "Rdy_OUnlock", + "Rdy_ORel", + "P_Mode", + "Wrk_Locked", + "Wrk_Prog", + "Wrk_Maint", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 228, + "structure_size": 48, + "member_count": 39, + "structure_handle": 16800 + } + }, + "array": 0 + }, + "IOFault": { + "offset": 228, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "IntlkTrip": { + "offset": 384, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "FailToStop": { + "offset": 540, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "FailToStart": { + "offset": 696, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Cfg_Tag": { + "offset": 852, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Label": { + "offset": 876, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Desc": { + "offset": 900, + "tag_type": "struct", + "data_type": { + "name": "STRING_40", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 40 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 40, + "template": { + "object_definition_size": 17, + "structure_size": 44, + "member_count": 2, + "structure_handle": 32239 + } + }, + "array": 0 + }, + "Wrk_Run": { + "offset": 176, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Wrk_StartRetrigT": { + "offset": 944, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_StopRetrigT": { + "offset": 956, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_RunFdbk": { + "offset": 176, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Notify": { + "offset": 968, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_Bypass": { + "offset": 176, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Disabled": { + "offset": 176, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveFault": { + "offset": 972, + "tag_type": "struct", + "data_type": { + "name": "P_Alarm", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Inp": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Inp_Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_Exists": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_ResetReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Cfg_AckReqd": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Cfg_AllowShelve": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_AllowDisable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Cfg_PCmdClear": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_Severity": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_AlmMinOnT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_MaxShelfT": { + "offset": 12, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "PCfg_AllowExist": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PCmd_Reset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PCmd_Ack": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PCmd_Suppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PCmd_Unsuppress": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PCmd_Unshelve": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OCmd_Reset": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OCmd_Ack": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OCmd_Shelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OCmd_Unshelve": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MCmd_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "MCmd_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Test": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Val_Notify": { + "offset": 14, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Val_MinToUnshelve": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_SecToUnshelve": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Alm": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Ack": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Shelved": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Suppressed": { + "offset": 66, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Disabled": { + "offset": 67, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_AlmInh": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_Err": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Err_Timer": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Err_Severity": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Reset": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Ack": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Shelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Rdy_Unshelve": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Rdy_Disable": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "__BitHost01": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Rdy_Enable": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Rdy_Test": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "P_Alarm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_Alm": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_Suppressed": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_AlmMinOnT": { + "offset": 28, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_AutoAckT": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ShelfT": { + "offset": 52, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 64, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Com_AE": { + "offset": 66, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Cfg_Tag": { + "offset": 68, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Cfg_Cond": { + "offset": 92, + "tag_type": "struct", + "data_type": { + "name": "STRING_20", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 20 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 20, + "template": { + "object_definition_size": 17, + "structure_size": 24, + "member_count": 2, + "structure_handle": 56972 + } + }, + "array": 0 + }, + "Wrk_SecToUnshelve": { + "offset": 116, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Inf_Lib": { + "offset": 120, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Inf_Type": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp", + "Inp_Reset", + "Cfg_Exists", + "Cfg_ResetReqd", + "Cfg_AckReqd", + "Cfg_AllowShelve", + "Cfg_AllowDisable", + "Cfg_PCmdClear", + "Cfg_Severity", + "Cfg_AlmMinOnT", + "Cfg_MaxShelfT", + "PCfg_AllowExist", + "PCmd_Reset", + "PCmd_Ack", + "PCmd_Suppress", + "PCmd_Unsuppress", + "PCmd_Unshelve", + "OCmd_Reset", + "OCmd_Ack", + "OCmd_Shelve", + "OCmd_Unshelve", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Test", + "Val_Notify", + "Val_MinToUnshelve", + "Val_SecToUnshelve", + "Alm", + "Ack", + "Shelved", + "Suppressed", + "Disabled", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Severity", + "Rdy_Reset", + "Rdy_Ack", + "Rdy_Shelve", + "Rdy_Unshelve", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Test", + "P_Alarm", + "Wrk_Alm", + "Wrk_Suppressed", + "Wrk_AlmMinOnT", + "Wrk_AutoAckT", + "Wrk_ShelfT", + "Inf_Tab", + "Com_AE", + "Cfg_Tag", + "Cfg_Cond", + "Wrk_SecToUnshelve", + "Inf_Lib", + "Inf_Type" + ], + "template": { + "object_definition_size": 357, + "structure_size": 156, + "member_count": 60, + "structure_handle": 27647 + } + }, + "array": 0 + }, + "Cfg_SpeedRefEU": { + "offset": 1128, + "tag_type": "struct", + "data_type": { + "name": "STRING_8", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 8 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 8, + "template": { + "object_definition_size": 16, + "structure_size": 12, + "member_count": 2, + "structure_handle": 54208 + } + }, + "array": 0 + }, + "Wrk_SpeedRef": { + "offset": 1140, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_Rev": { + "offset": 176, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Wrk_Jog": { + "offset": 176, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_ResetT": { + "offset": 1144, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_ResetONS": { + "offset": 176, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Cfg_SpeedFdbkEU": { + "offset": 1156, + "tag_type": "struct", + "data_type": { + "name": "STRING_8", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 8 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 8, + "template": { + "object_definition_size": 16, + "structure_size": 12, + "member_count": 2, + "structure_handle": 54208 + } + }, + "array": 0 + }, + "Cfg_RevText": { + "offset": 1168, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Cfg_FwdText": { + "offset": 1188, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Wrk_StopT": { + "offset": 1208, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_StartT": { + "offset": 1220, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Inf_Tab": { + "offset": 1232, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_Cmd": { + "offset": 1233, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_Sts": { + "offset": 1234, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_Fault": { + "offset": 1235, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_Retrigger": { + "offset": 177, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_Step": { + "offset": 1236, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_ScanTime": { + "offset": 1240, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Wrk_ScanT": { + "offset": 1244, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_SimFdbkTgt": { + "offset": 1256, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Inf_Type": { + "offset": 1260, + "tag_type": "struct", + "data_type": { + "name": "STRING_16", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 16 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 16, + "template": { + "object_definition_size": 17, + "structure_size": 20, + "member_count": 2, + "structure_handle": 36281 + } + }, + "array": 0 + }, + "Wrk_JogT": { + "offset": 1280, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_FaultDescFSC": { + "offset": 1292, + "tag_type": "struct", + "data_type": { + "name": "CONTROL", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "LEN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "POS": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "EU": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "EM": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "ER": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "UL": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "IN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FD": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + } + }, + "attributes": [ + "Control", + "LEN", + "POS", + "EN", + "EU", + "DN", + "EM", + "ER", + "UL", + "IN", + "FD" + ], + "template": { + "object_definition_size": 51, + "structure_size": 12, + "member_count": 11, + "structure_handle": 3969 + } + }, + "array": 0 + }, + "Val_FaultDesc": { + "offset": 1304, + "tag_type": "struct", + "data_type": { + "name": "STRING_40", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 40 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 40, + "template": { + "object_definition_size": 17, + "structure_size": 44, + "member_count": 2, + "structure_handle": 32239 + } + }, + "array": 0 + }, + "Wrk_ProgKeep2ONS": { + "offset": 177, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Wrk_ProgKeep1ONS": { + "offset": 177, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Wrk_ProgKeep0ONS": { + "offset": 177, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Wrk_OperKeep2ONS": { + "offset": 177, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Wrk_OperKeep1ONS": { + "offset": 177, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Wrk_OperKeep0ONS": { + "offset": 177, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Inf_Lib": { + "offset": 1348, + "tag_type": "struct", + "data_type": { + "name": "STRING_12", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 12 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 12, + "template": { + "object_definition_size": 17, + "structure_size": 16, + "member_count": 2, + "structure_handle": 20159 + } + }, + "array": 0 + }, + "Wrk_SrcQ": { + "offset": 1364, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Wrk_NotRdyONS": { + "offset": 177, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Wrk_NotRdy": { + "offset": 178, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_StartInhT": { + "offset": 1368, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_StopInhT": { + "offset": 1380, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_NoLongerSim": { + "offset": 178, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Wrk_Hand": { + "offset": 178, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Inp_FwdPermOK", + "Inp_FwdNBPermOK", + "Inp_RevPermOK", + "Inp_RevNBPermOK", + "Inp_IntlkOK", + "Inp_NBIntlkOK", + "Inp_IOFault", + "Inp_Sim", + "Inp_Hand", + "Inp_Ovrd", + "Inp_OvrdCmd", + "Inp_OvrdSpeed", + "Inp_Reset", + "Cfg_HasReverse", + "Cfg_HasJog", + "Cfg_AllowLocal", + "Cfg_HasFwdPermObj", + "Cfg_HasRevPermObj", + "Cfg_HasIntlkObj", + "Cfg_HasResInhObj", + "Cfg_HasRunTimeObj", + "Cfg_SetTrack", + "Cfg_SetTrackOvrdHand", + "Cfg_PCmdClear", + "Cfg_ProgDefault", + "Cfg_OperStopPrio", + "Cfg_OCmdResets", + "Cfg_OvrdPermIntlk", + "Cfg_ShedOnFailToStart", + "Cfg_ShedOnIOFault", + "Cfg_SimScaleEU", + "Cfg_SimScaleRaw", + "Cfg_HasFailToStartAlm", + "Cfg_HasFailToStopAlm", + "Cfg_HasIntlkTripAlm", + "Cfg_HasDriveFaultAlm", + "Cfg_HasIOFaultAlm", + "Cfg_FailToStartResetReqd", + "Cfg_FailToStopResetReqd", + "Cfg_IntlkTripResetReqd", + "Cfg_DriveFaultResetReqd", + "Cfg_IOFaultResetReqd", + "Cfg_FailToStartAckReqd", + "Cfg_FailToStopAckReqd", + "Cfg_IntlkTripAckReqd", + "Cfg_DriveFaultAckReqd", + "Cfg_IOFaultAckReqd", + "Cfg_FailToStartSeverity", + "Cfg_FailToStopSeverity", + "Cfg_IntlkTripSeverity", + "Cfg_DriveFaultSeverity", + "Cfg_IOFaultSeverity", + "Cfg_MinSpdRef", + "Cfg_MaxSpdRef", + "Cfg_SpeedRefRawMin", + "Cfg_SpeedRefRawMax", + "Cfg_SpeedRefEUMin", + "Cfg_SpeedRefEUMax", + "Cfg_SpeedFdbkRawMin", + "Cfg_SpeedFdbkRawMax", + "Cfg_SpeedFdbkEUMin", + "Cfg_SpeedFdbkEUMax", + "Cfg_SimRampT", + "Cfg_FailToStartT", + "Cfg_FailToStopT", + "Cfg_ResetPulseT", + "Cfg_MaxJogT", + "Cfg_OperKeep", + "Cfg_ProgKeep", + "PSet_SpeedRef", + "PSet_Owner", + "OSet_SpeedRef", + "PCmd_Start", + "PCmd_Stop", + "PCmd_Fwd", + "PCmd_Rev", + "PCmd_Acq", + "PCmd_Rel", + "PCmd_Lock", + "PCmd_Unlock", + "PCmd_Reset", + "PCmd_FailToStartAck", + "PCmd_FailToStartSuppress", + "PCmd_FailToStartUnsuppress", + "PCmd_FailToStartUnshelve", + "PCmd_FailToStopAck", + "PCmd_FailToStopSuppress", + "PCmd_FailToStopUnsuppress", + "PCmd_FailToStopUnshelve", + "PCmd_IntlkTripAck", + "PCmd_IntlkTripSuppress", + "PCmd_IntlkTripUnsuppress", + "PCmd_IntlkTripUnshelve", + "PCmd_DriveFaultAck", + "PCmd_DriveFaultSuppress", + "PCmd_DriveFaultUnsuppress", + "PCmd_DriveFaultUnshelve", + "PCmd_IOFaultAck", + "PCmd_IOFaultSuppress", + "PCmd_IOFaultUnsuppress", + "PCmd_IOFaultUnshelve", + "OCmd_Start", + "OCmd_Stop", + "OCmd_Jog", + "OCmd_Fwd", + "OCmd_Rev", + "OCmd_Bypass", + "OCmd_Check", + "MCmd_Disable", + "MCmd_Enable", + "MCmd_Acq", + "MCmd_Rel", + "OCmd_AcqLock", + "OCmd_Unlock", + "OCmd_Reset", + "OCmd_ResetAckAll", + "Val_SpeedRef", + "Val_SpeedFdbk", + "Val_SpeedRefSrc", + "Val_SpeedRefRaw", + "Val_SpeedFdbkRaw", + "Val_SpeedRefEUMin", + "Val_SpeedRefEUMax", + "Val_SpeedFdbkEUMin", + "Val_SpeedFdbkEUMax", + "Val_LastFaultCode", + "SrcQ_IO", + "SrcQ", + "Val_Cmd", + "Val_Fdbk", + "Val_Sts", + "Val_Fault", + "Val_Mode", + "Val_Owner", + "Val_Notify", + "Sts_Stopped", + "Sts_Starting", + "Sts_Running", + "Sts_Stopping", + "Sts_Jogging", + "Sts_CommandDir", + "Sts_ActualDir", + "Sts_Accel", + "Sts_Decel", + "Sts_NotReady", + "Sts_Alarm", + "Sts_AtSpeed", + "Sts_SpeedLimited", + "Sts_DriveSts1", + "Sts_DriveSts2", + "Sts_FaultStsA", + "Sts_FaultStsB", + "Sts_PMSts", + "Sts_StartInhibits", + "Sts_Available", + "Sts_Bypass", + "Sts_BypActive", + "Sts_Disabled", + "Sts_NotRdy", + "Nrdy_Disabled", + "Nrdy_CfgErr", + "Nrdy_Intlk", + "Nrdy_Perm", + "Nrdy_OperPrio", + "Nrdy_Fail", + "Nrdy_IOFault", + "Nrdy_Trip", + "Nrdy_DriveNR", + "Nrdy_NoMode", + "Sts_MaintByp", + "Sts_AlmInh", + "Sts_Err", + "Err_Timer", + "Err_Sim", + "Err_Alarm", + "Err_FdbkRaw", + "Err_FdbkEU", + "Err_RefLim", + "Err_RefEU", + "Err_RefRaw", + "Sts_Hand", + "Sts_Maint", + "Sts_Ovrd", + "Sts_Prog", + "Sts_Oper", + "Sts_ProgOperLock", + "Sts_NoMode", + "Sts_MAcqRcvd", + "Sts_FailToStart", + "Alm_FailToStart", + "Ack_FailToStart", + "Sts_FailToStartDisabled", + "Sts_FailToStartShelved", + "Sts_FailToStartSuppressed", + "Sts_FailToStop", + "Alm_FailToStop", + "Ack_FailToStop", + "Sts_FailToStopDisabled", + "Sts_FailToStopShelved", + "Sts_FailToStopSuppressed", + "Sts_IntlkTrip", + "Alm_IntlkTrip", + "Ack_IntlkTrip", + "Sts_IntlkTripDisabled", + "Sts_IntlkTripShelved", + "Sts_IntlkTripSuppressed", + "Sts_DriveFault", + "Alm_DriveFault", + "Ack_DriveFault", + "Sts_DriveFaultDisabled", + "Sts_DriveFaultShelved", + "Sts_DriveFaultSuppressed", + "Sts_IOFault", + "Alm_IOFault", + "Ack_IOFault", + "Sts_IOFaultDisabled", + "Sts_IOFaultShelved", + "Sts_IOFaultSuppressed", + "Rdy_Start", + "Rdy_Stop", + "Rdy_Jog", + "Rdy_Fwd", + "Rdy_Rev", + "Rdy_Bypass", + "Rdy_Check", + "Rdy_Disable", + "Rdy_Enable", + "Rdy_Reset", + "Rdy_ResetAckAll", + "Rdy_SpeedRef", + "P_PF753", + "Mode", + "IOFault", + "IntlkTrip", + "FailToStop", + "FailToStart", + "Cfg_Tag", + "Cfg_Label", + "Cfg_Desc", + "Wrk_Run", + "Wrk_StartRetrigT", + "Wrk_StopRetrigT", + "Wrk_RunFdbk", + "Wrk_Notify", + "Wrk_Bypass", + "Wrk_Disabled", + "DriveFault", + "Cfg_SpeedRefEU", + "Wrk_SpeedRef", + "Wrk_Rev", + "Wrk_Jog", + "Wrk_ResetT", + "Wrk_ResetONS", + "Cfg_SpeedFdbkEU", + "Cfg_RevText", + "Cfg_FwdText", + "Wrk_StopT", + "Wrk_StartT", + "Inf_Tab", + "Wrk_Cmd", + "Wrk_Sts", + "Wrk_Fault", + "Wrk_Retrigger", + "Wrk_Step", + "Wrk_ScanTime", + "Wrk_ScanT", + "Wrk_SimFdbkTgt", + "Inf_Type", + "Wrk_JogT", + "Wrk_FaultDescFSC", + "Val_FaultDesc", + "Wrk_ProgKeep2ONS", + "Wrk_ProgKeep1ONS", + "Wrk_ProgKeep0ONS", + "Wrk_OperKeep2ONS", + "Wrk_OperKeep1ONS", + "Wrk_OperKeep0ONS", + "Inf_Lib", + "Wrk_SrcQ", + "Wrk_NotRdyONS", + "Wrk_NotRdy", + "Wrk_StartInhT", + "Wrk_StopInhT", + "Wrk_NoLongerSim", + "Wrk_Hand" + ], + "template": { + "object_definition_size": 1935, + "structure_size": 1392, + "member_count": 291, + "structure_handle": 48428 + } + } + }, + { + "tag_name": "VFD_753_I", + "dim": 0, + "instance_id": 192, + "symbol_address": 31552, + "symbol_object_address": 875708, + "software_control": 67174588, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 2921, + "data_type": { + "name": "P_PF753_Inp", + "internal_tags": { + "ZZZZZZZZZP_PF753_Inp_00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DriveStatus": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DriveStatus_Ready": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus_Active": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus_CommandDir": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus_ActualDir": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus_Accelerating": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus_Decelerating": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus_Alarm": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus_Faulted": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DriveStatus_AtSpeed": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus_Manual": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus_SpdRefBit0": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus_spdRefBit1": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus_SpdRefBit2": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus_SpdRefBit3": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus_SpdRefBit4": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Feedback": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PredMaintSts": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PredMaintSts_HeatskinkFan": { + "offset": 12, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PredMaintSts_InternalFan": { + "offset": 12, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PredMaintSts_MtrBearing": { + "offset": 12, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PredMaintSts_MtrLube": { + "offset": 12, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PredMaintSts_MchBearing": { + "offset": 12, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PredMaintSts_MchLube": { + "offset": 12, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PredMaintSts_Reserved": { + "offset": 12, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PredMaintSts_Reserved1": { + "offset": 12, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "PredMaintSts_Reserved2": { + "offset": 13, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "PredMaintSts_Reserved3": { + "offset": 13, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "PredMaintSts_Reserved4": { + "offset": 13, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "PredMaintSts_Reserved5": { + "offset": 13, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "PredMaintSts_Reserved6": { + "offset": 13, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "PredMaintSts_Reserved7": { + "offset": 13, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "PredMaintSts_Reserved8": { + "offset": 13, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "PredMaintSts_Master": { + "offset": 14, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "StartInhibits": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "StartInhibits_Faulted": { + "offset": 16, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "StartInhibits_Alarm": { + "offset": 16, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "StartInhibits_Enable": { + "offset": 16, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "StartInhibits_Precharge": { + "offset": 16, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "StartInhibits_Stop": { + "offset": 16, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "StartInhibits_Database": { + "offset": 16, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "StartInhibits_Startup": { + "offset": 16, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "StartInhibits_Safety": { + "offset": 16, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "StartInhibits_Sleep": { + "offset": 17, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "StartInhibits_Profiler": { + "offset": 17, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "StartInhibits_CommutNotCfg": { + "offset": 17, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus1": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DriveStatus1_Ready": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus1_Active": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus1_CommandDir": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus1_ActualDir": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus1_Accelerating": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus1_Decelerating": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus1_Alarm": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus1_Faulted": { + "offset": 20, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DriveStatus1_AtSpeed": { + "offset": 21, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus1_Manual": { + "offset": 21, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus1_SpdRefBit0": { + "offset": 21, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus1_spdRefBit1": { + "offset": 21, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus1_SpdRefBit2": { + "offset": 21, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus1_SpdRefBit3": { + "offset": 21, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus1_SpdRefBit4": { + "offset": 21, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus1_Running": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus1_Jogging": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus1_Stopping": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus1_DCBraking": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus1_DBActive": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus1_SpeedMode": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus1_PositionMode": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus1_TorqueMode": { + "offset": 22, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DriveStatus1_AtZeroSpeed": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus1_AtHome": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus1_AtLimit": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus1_CurrLimit": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus1_BusFrqReg": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus1_EnableOn": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus1_MotorOL": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus1_Regen": { + "offset": 23, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DriveStatus2": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DriveStatus2_AutoRstrAct": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus2_AuRstrCntDwn": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus2_HSFanOn": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus2_Reserved": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus2_FluxBraking": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DriveStatus2_FdbkLossSwO": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "DriveStatus2_Reserved1": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DriveStatus2_Reserved2": { + "offset": 24, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DriveStatus2_PrchrgClosed": { + "offset": 25, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "DriveStatus2_Autotuning": { + "offset": 25, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "DriveStatus2_PIDFBLoss": { + "offset": 25, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "DriveStatus2_AccelRate": { + "offset": 25, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "DriveStatus2_DecelRate": { + "offset": 25, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "LastFaultCode": { + "offset": 28, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "FaultStatusA": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "FaultStatusA_PowerLoss": { + "offset": 32, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusA_UnderVoltage": { + "offset": 32, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusA_MotorOL": { + "offset": 32, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusA_LoalLoss": { + "offset": 32, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusA_InPhaseLoss": { + "offset": 32, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusA_OutPhaseLoss": { + "offset": 32, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusA_DecelInhib": { + "offset": 32, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "FaultStatusA_ShearPin1": { + "offset": 32, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "FaultStatusA_ShearPin2": { + "offset": 33, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusA_PriFdbkLoss": { + "offset": 33, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusA_AltFdbkLoss": { + "offset": 33, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusA_AuxFdbkLoss": { + "offset": 33, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusA_PosFdbkLoss": { + "offset": 33, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusA_ExtPrchrgErr": { + "offset": 33, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusB": { + "offset": 36, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "FaultStatusB_AuxInputFlt": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusB_OverVoltage": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusB_DriveOL": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusB_HeatsinkOT": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusB_TransistorOT": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusB_SinkUnderTemp": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusB_ExcessLoad": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "FaultStatusB_OverspdLmt": { + "offset": 36, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "FaultStatusB_PrchrgOpen": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusB_SafetyBrdFlt": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusB_IRVoltsRange": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusB_FluxAmpsRang": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusB_IXOVlotRange": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusB_AuRstExhaust": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FaultStatusB_SWOverCur": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "FaultStatusB_HWOverCur": { + "offset": 37, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "FaultStatusB_TrqPrvSpdBnd": { + "offset": 38, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "FaultStatusB_TPEnclsCfg": { + "offset": 38, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FaultStatusB_GroundFault": { + "offset": 38, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "FaultStatusB_OWAlarmTO": { + "offset": 38, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "FaultStatusB_OverTravel": { + "offset": 38, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "FaultStatusB_TrvlLimCflct": { + "offset": 38, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "ZZZZZZZZZP_PF753_Inp_00", + "DriveStatus", + "DriveStatus_Ready", + "DriveStatus_Active", + "DriveStatus_CommandDir", + "DriveStatus_ActualDir", + "DriveStatus_Accelerating", + "DriveStatus_Decelerating", + "DriveStatus_Alarm", + "DriveStatus_Faulted", + "DriveStatus_AtSpeed", + "DriveStatus_Manual", + "DriveStatus_SpdRefBit0", + "DriveStatus_spdRefBit1", + "DriveStatus_SpdRefBit2", + "DriveStatus_SpdRefBit3", + "DriveStatus_SpdRefBit4", + "Feedback", + "PredMaintSts", + "PredMaintSts_HeatskinkFan", + "PredMaintSts_InternalFan", + "PredMaintSts_MtrBearing", + "PredMaintSts_MtrLube", + "PredMaintSts_MchBearing", + "PredMaintSts_MchLube", + "PredMaintSts_Reserved", + "PredMaintSts_Reserved1", + "PredMaintSts_Reserved2", + "PredMaintSts_Reserved3", + "PredMaintSts_Reserved4", + "PredMaintSts_Reserved5", + "PredMaintSts_Reserved6", + "PredMaintSts_Reserved7", + "PredMaintSts_Reserved8", + "PredMaintSts_Master", + "StartInhibits", + "StartInhibits_Faulted", + "StartInhibits_Alarm", + "StartInhibits_Enable", + "StartInhibits_Precharge", + "StartInhibits_Stop", + "StartInhibits_Database", + "StartInhibits_Startup", + "StartInhibits_Safety", + "StartInhibits_Sleep", + "StartInhibits_Profiler", + "StartInhibits_CommutNotCfg", + "DriveStatus1", + "DriveStatus1_Ready", + "DriveStatus1_Active", + "DriveStatus1_CommandDir", + "DriveStatus1_ActualDir", + "DriveStatus1_Accelerating", + "DriveStatus1_Decelerating", + "DriveStatus1_Alarm", + "DriveStatus1_Faulted", + "DriveStatus1_AtSpeed", + "DriveStatus1_Manual", + "DriveStatus1_SpdRefBit0", + "DriveStatus1_spdRefBit1", + "DriveStatus1_SpdRefBit2", + "DriveStatus1_SpdRefBit3", + "DriveStatus1_SpdRefBit4", + "DriveStatus1_Running", + "DriveStatus1_Jogging", + "DriveStatus1_Stopping", + "DriveStatus1_DCBraking", + "DriveStatus1_DBActive", + "DriveStatus1_SpeedMode", + "DriveStatus1_PositionMode", + "DriveStatus1_TorqueMode", + "DriveStatus1_AtZeroSpeed", + "DriveStatus1_AtHome", + "DriveStatus1_AtLimit", + "DriveStatus1_CurrLimit", + "DriveStatus1_BusFrqReg", + "DriveStatus1_EnableOn", + "DriveStatus1_MotorOL", + "DriveStatus1_Regen", + "DriveStatus2", + "DriveStatus2_AutoRstrAct", + "DriveStatus2_AuRstrCntDwn", + "DriveStatus2_HSFanOn", + "DriveStatus2_Reserved", + "DriveStatus2_FluxBraking", + "DriveStatus2_FdbkLossSwO", + "DriveStatus2_Reserved1", + "DriveStatus2_Reserved2", + "DriveStatus2_PrchrgClosed", + "DriveStatus2_Autotuning", + "DriveStatus2_PIDFBLoss", + "DriveStatus2_AccelRate", + "DriveStatus2_DecelRate", + "LastFaultCode", + "FaultStatusA", + "FaultStatusA_PowerLoss", + "FaultStatusA_UnderVoltage", + "FaultStatusA_MotorOL", + "FaultStatusA_LoalLoss", + "FaultStatusA_InPhaseLoss", + "FaultStatusA_OutPhaseLoss", + "FaultStatusA_DecelInhib", + "FaultStatusA_ShearPin1", + "FaultStatusA_ShearPin2", + "FaultStatusA_PriFdbkLoss", + "FaultStatusA_AltFdbkLoss", + "FaultStatusA_AuxFdbkLoss", + "FaultStatusA_PosFdbkLoss", + "FaultStatusA_ExtPrchrgErr", + "FaultStatusB", + "FaultStatusB_AuxInputFlt", + "FaultStatusB_OverVoltage", + "FaultStatusB_DriveOL", + "FaultStatusB_HeatsinkOT", + "FaultStatusB_TransistorOT", + "FaultStatusB_SinkUnderTemp", + "FaultStatusB_ExcessLoad", + "FaultStatusB_OverspdLmt", + "FaultStatusB_PrchrgOpen", + "FaultStatusB_SafetyBrdFlt", + "FaultStatusB_IRVoltsRange", + "FaultStatusB_FluxAmpsRang", + "FaultStatusB_IXOVlotRange", + "FaultStatusB_AuRstExhaust", + "FaultStatusB_SWOverCur", + "FaultStatusB_HWOverCur", + "FaultStatusB_TrqPrvSpdBnd", + "FaultStatusB_TPEnclsCfg", + "FaultStatusB_GroundFault", + "FaultStatusB_OWAlarmTO", + "FaultStatusB_OverTravel", + "FaultStatusB_TrvlLimCflct" + ], + "template": { + "object_definition_size": 1144, + "structure_size": 40, + "member_count": 132, + "structure_handle": 17172 + } + } + }, + { + "tag_name": "VFD_753_0", + "dim": 0, + "instance_id": 193, + "symbol_address": 31520, + "symbol_object_address": 875748, + "software_control": 67174589, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 3304, + "data_type": { + "name": "P_PF753_Out", + "internal_tags": { + "LogicCommand": { + "offset": 0, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "LogicCommand_Stop": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "LogicCommand_Start": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "LogicCommand_Jog1": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "LogicCommand_ClearFaults": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "LogicCommand_Forward": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "LogicCommand_Reverse": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "LogicCommand_Manual": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "LogicCommand_AccelTime1": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "LogicCommand_AccelTime2": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "LogicCommand_DecelTime1": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "LogicCommand_DecelTime2": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "LogicCommand_SpdRefSel0": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "LogicCommand_SpdRefSel1": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "LogicCommand_SpdRefSel2": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Reference": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "LogicCommand", + "LogicCommand_Stop", + "LogicCommand_Start", + "LogicCommand_Jog1", + "LogicCommand_ClearFaults", + "LogicCommand_Forward", + "LogicCommand_Reverse", + "LogicCommand_Manual", + "LogicCommand_AccelTime1", + "LogicCommand_AccelTime2", + "LogicCommand_DecelTime1", + "LogicCommand_DecelTime2", + "LogicCommand_SpdRefSel0", + "LogicCommand_SpdRefSel1", + "LogicCommand_SpdRefSel2", + "Reference" + ], + "template": { + "object_definition_size": 140, + "structure_size": 8, + "member_count": 16, + "structure_handle": 20715 + } + } + }, + { + "tag_name": "MSG_GetDriveDutyRating753", + "dim": 0, + "instance_id": 194, + "symbol_address": 114216, + "symbol_object_address": 875788, + "software_control": 67175191, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 4095, + "data_type": { + "name": "MESSAGE", + "internal_tags": { + "offsettodata": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Flags": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EW": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ER": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "ST": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "EN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TO": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EN_CC": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ERR": { + "offset": 6, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EXERR": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "exerrlength": { + "offset": 12, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "ERR_SRC": { + "offset": 13, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "DN_LEN": { + "offset": 14, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "REQ_LEN": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationLink": { + "offset": 18, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationNode": { + "offset": 20, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "SourceLink": { + "offset": 22, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Class": { + "offset": 24, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Attribute": { + "offset": 26, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Instance": { + "offset": 28, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "LocalIndex": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Channel": { + "offset": 36, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Rack": { + "offset": 37, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Group": { + "offset": 38, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Slot": { + "offset": 39, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Path": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved1": { + "offset": 128, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteIndex": { + "offset": 132, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteElement": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved2": { + "offset": 224, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "UnconnectedTimeout": { + "offset": 228, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ConnectionRate": { + "offset": 232, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "TimeoutMultiplier": { + "offset": 236, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "offsettodata", + "Flags", + "EW", + "ER", + "DN", + "ST", + "EN", + "TO", + "EN_CC", + "ERR", + "EXERR", + "exerrlength", + "ERR_SRC", + "DN_LEN", + "REQ_LEN", + "DestinationLink", + "DestinationNode", + "SourceLink", + "Class", + "Attribute", + "Instance", + "LocalIndex", + "Channel", + "Rack", + "Group", + "Slot", + "Path", + "Reserved1", + "RemoteIndex", + "RemoteElement", + "Reserved2", + "UnconnectedTimeout", + "ConnectionRate", + "TimeoutMultiplier" + ], + "template": { + "object_definition_size": 183, + "structure_size": 240, + "member_count": 34, + "structure_handle": 4095 + } + } + }, + { + "tag_name": "MSG_SetDriveDutyRating753", + "dim": 0, + "instance_id": 195, + "symbol_address": 113504, + "symbol_object_address": 875828, + "software_control": 67223710, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 4095, + "data_type": { + "name": "MESSAGE", + "internal_tags": { + "offsettodata": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Flags": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EW": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ER": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "ST": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "EN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TO": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EN_CC": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ERR": { + "offset": 6, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EXERR": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "exerrlength": { + "offset": 12, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "ERR_SRC": { + "offset": 13, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "DN_LEN": { + "offset": 14, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "REQ_LEN": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationLink": { + "offset": 18, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationNode": { + "offset": 20, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "SourceLink": { + "offset": 22, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Class": { + "offset": 24, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Attribute": { + "offset": 26, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Instance": { + "offset": 28, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "LocalIndex": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Channel": { + "offset": 36, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Rack": { + "offset": 37, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Group": { + "offset": 38, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Slot": { + "offset": 39, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Path": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved1": { + "offset": 128, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteIndex": { + "offset": 132, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteElement": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved2": { + "offset": 224, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "UnconnectedTimeout": { + "offset": 228, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ConnectionRate": { + "offset": 232, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "TimeoutMultiplier": { + "offset": 236, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "offsettodata", + "Flags", + "EW", + "ER", + "DN", + "ST", + "EN", + "TO", + "EN_CC", + "ERR", + "EXERR", + "exerrlength", + "ERR_SRC", + "DN_LEN", + "REQ_LEN", + "DestinationLink", + "DestinationNode", + "SourceLink", + "Class", + "Attribute", + "Instance", + "LocalIndex", + "Channel", + "Rack", + "Group", + "Slot", + "Path", + "Reserved1", + "RemoteIndex", + "RemoteElement", + "Reserved2", + "UnconnectedTimeout", + "ConnectionRate", + "TimeoutMultiplier" + ], + "template": { + "object_definition_size": 183, + "structure_size": 240, + "member_count": 34, + "structure_handle": 4095 + } + } + }, + { + "tag_name": "PowerFlex753_EStopped", + "dim": 0, + "instance_id": 196, + "symbol_address": 31784, + "symbol_object_address": 875868, + "software_control": 1073807551, + "alias": "True", + "external_access": "Read Only", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 2 + }, + { + "tag_name": "use_PF753", + "dim": 0, + "instance_id": 197, + "symbol_address": 31488, + "symbol_object_address": 875908, + "software_control": 1140916414, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "VFD_OutCurrent", + "dim": 0, + "instance_id": 198, + "symbol_address": 38696, + "symbol_object_address": 875948, + "software_control": 1946222774, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "VFD_OutPower", + "dim": 0, + "instance_id": 199, + "symbol_address": 31360, + "symbol_object_address": 875988, + "software_control": 1946222784, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "VFD_SpeedFdbk", + "dim": 0, + "instance_id": 200, + "symbol_address": 31328, + "symbol_object_address": 876028, + "software_control": 1946222785, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "VFD_SpeedRef", + "dim": 0, + "instance_id": 201, + "symbol_address": 31296, + "symbol_object_address": 876068, + "software_control": 1946222786, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "VFD_Temp", + "dim": 0, + "instance_id": 202, + "symbol_address": 31264, + "symbol_object_address": 876108, + "software_control": 1946222787, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "watchdog_INT", + "dim": 0, + "instance_id": 204, + "symbol_address": 85768, + "symbol_object_address": 876188, + "software_control": 1140916248, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "watchdog_INT_last", + "dim": 0, + "instance_id": 205, + "symbol_address": 44216, + "symbol_object_address": 876228, + "software_control": 1140916353, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "INT" + }, + { + "tag_name": "cfg_MinSpeedSecondsBeforeFault", + "dim": 0, + "instance_id": 206, + "symbol_address": 44184, + "symbol_object_address": 876268, + "software_control": 1946222722, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "T_Sync_Instance", + "dim": 0, + "instance_id": 213, + "symbol_address": 28960, + "symbol_object_address": 876548, + "software_control": 67174602, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1859, + "data_type": { + "name": "T_Sync", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Cfg_PollT": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_RetryT": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_ENSlotNumber": { + "offset": 12, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Cfg_AllowClockUpdate": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Cfg_AllowMCmdSync": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Cfg_AllowPeriodicSync": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Cfg_SyncOnPwrup": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "MCmd_Sync": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "MCmd_Enable": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "MCmd_Disable": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Val_RcvdYr": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_RcvdMo": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_RcvdDa": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_RcvdHr": { + "offset": 28, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_RcvdMin": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_RcvdSec": { + "offset": 36, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_RcvdUSec": { + "offset": 40, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_DriftDa": { + "offset": 44, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_DriftHr": { + "offset": 48, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_DriftMin": { + "offset": 52, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_DriftSec": { + "offset": 56, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_DriftUSec": { + "offset": 60, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_NextSyncMin": { + "offset": 64, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Val_NextSyncSec": { + "offset": 68, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sts_Enabled": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_Timing": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Sts_Busy": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Sts_Done": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Sts_MsgErr": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "Sts_NoSock": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Sts_HostInv": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Sts_ReqFail": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Sts_NoReply": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Sts_BadReply": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Rdy_Sync": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Rdy_Enable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "Rdy_Disable": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "T_Sync": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "Wrk_TDiff": { + "offset": 72, + "tag_type": "struct", + "data_type": { + "name": "T_DIFF", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Wrk_DaFromHr": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_HrFromMin": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_MinFromSec": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_SecFrom_uSec": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_GD1": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_G1": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_F1": { + "offset": 28, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_F2": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_G2": { + "offset": 36, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_GD2": { + "offset": 40, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_Out": { + "offset": 44, + "tag_type": "struct", + "data_type": { + "name": "DateTime", + "internal_tags": { + "Yr": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Mo": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Da": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Hr": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Min": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sec": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "uSec": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "Yr", + "Mo", + "Da", + "Hr", + "Min", + "Sec", + "uSec" + ], + "template": { + "object_definition_size": 35, + "structure_size": 28, + "member_count": 7, + "structure_handle": 57110 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Wrk_DaFromHr", + "Wrk_HrFromMin", + "Wrk_MinFromSec", + "Wrk_SecFrom_uSec", + "Wrk_GD1", + "Wrk_G1", + "Wrk_F1", + "Wrk_F2", + "Wrk_G2", + "Wrk_GD2", + "Wrk_Out" + ], + "template": { + "object_definition_size": 85, + "structure_size": 72, + "member_count": 14, + "structure_handle": 3946 + } + }, + "array": 0 + }, + "Wrk_TAdd": { + "offset": 144, + "tag_type": "struct", + "data_type": { + "name": "T_ADD", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Wrk_YrFromMo": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_DaFromHr": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_HrFromMin": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_MinFromSec": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_SecFrom_uSec": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_yyy": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_y": { + "offset": 28, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_mmm": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_m": { + "offset": 36, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_GD": { + "offset": 40, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_G": { + "offset": 44, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_F": { + "offset": 48, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_ddd": { + "offset": 52, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_DT": { + "offset": 56, + "tag_type": "struct", + "data_type": { + "name": "DateTime", + "internal_tags": { + "Yr": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Mo": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Da": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Hr": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Min": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sec": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "uSec": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "Yr", + "Mo", + "Da", + "Hr", + "Min", + "Sec", + "uSec" + ], + "template": { + "object_definition_size": 35, + "structure_size": 28, + "member_count": 7, + "structure_handle": 57110 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Wrk_YrFromMo", + "Wrk_DaFromHr", + "Wrk_HrFromMin", + "Wrk_MinFromSec", + "Wrk_SecFrom_uSec", + "Wrk_yyy", + "Wrk_y", + "Wrk_mmm", + "Wrk_m", + "Wrk_GD", + "Wrk_G", + "Wrk_F", + "Wrk_ddd", + "Wrk_DT" + ], + "template": { + "object_definition_size": 100, + "structure_size": 84, + "member_count": 17, + "structure_handle": 47827 + } + }, + "array": 0 + }, + "Wrk_SyncNow": { + "offset": 2, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "Wrk_State": { + "offset": 228, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_NTPTime": { + "offset": 232, + "tag_type": "struct", + "data_type": { + "name": "DateTime", + "internal_tags": { + "Yr": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Mo": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Da": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Hr": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Min": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sec": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "uSec": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "Yr", + "Mo", + "Da", + "Hr", + "Min", + "Sec", + "uSec" + ], + "template": { + "object_definition_size": 35, + "structure_size": 28, + "member_count": 7, + "structure_handle": 57110 + } + }, + "array": 0 + }, + "Wrk_NTPSec": { + "offset": 260, + "tag_type": "struct", + "data_type": { + "name": "DateTime", + "internal_tags": { + "Yr": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Mo": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Da": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Hr": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Min": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sec": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "uSec": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "Yr", + "Mo", + "Da", + "Hr", + "Min", + "Sec", + "uSec" + ], + "template": { + "object_definition_size": 35, + "structure_size": 28, + "member_count": 7, + "structure_handle": 57110 + } + }, + "array": 0 + }, + "Wrk_NTPRollover": { + "offset": 288, + "tag_type": "struct", + "data_type": { + "name": "DateTime", + "internal_tags": { + "Yr": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Mo": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Da": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Hr": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Min": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sec": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "uSec": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "Yr", + "Mo", + "Da", + "Hr", + "Min", + "Sec", + "uSec" + ], + "template": { + "object_definition_size": 35, + "structure_size": 28, + "member_count": 7, + "structure_handle": 57110 + } + }, + "array": 0 + }, + "Wrk_NTPFracSec": { + "offset": 316, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Wrk_PollT": { + "offset": 320, + "tag_type": "struct", + "data_type": { + "name": "TIMER", + "internal_tags": { + "Control": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "PRE": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ACC": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TT": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DN": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + } + }, + "attributes": [ + "Control", + "PRE", + "ACC", + "EN", + "TT", + "DN" + ], + "template": { + "object_definition_size": 32, + "structure_size": 12, + "member_count": 6, + "structure_handle": 3971 + } + }, + "array": 0 + }, + "Wrk_LastSyncFail": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Wrk_Enabled": { + "offset": 3, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "Wrk_CtrlrTime": { + "offset": 332, + "tag_type": "struct", + "data_type": { + "name": "DateTime", + "internal_tags": { + "Yr": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Mo": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Da": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Hr": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Min": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sec": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "uSec": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "Yr", + "Mo", + "Da", + "Hr", + "Min", + "Sec", + "uSec" + ], + "template": { + "object_definition_size": 35, + "structure_size": 28, + "member_count": 7, + "structure_handle": 57110 + } + }, + "array": 0 + }, + "Wrk_CtrlrClockDrift": { + "offset": 360, + "tag_type": "struct", + "data_type": { + "name": "DateTime", + "internal_tags": { + "Yr": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Mo": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Da": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Hr": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Min": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Sec": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "uSec": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "Yr", + "Mo", + "Da", + "Hr", + "Min", + "Sec", + "uSec" + ], + "template": { + "object_definition_size": 35, + "structure_size": 28, + "member_count": 7, + "structure_handle": 57110 + } + }, + "array": 0 + }, + "Wrk_TaskPer": { + "offset": 388, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Cfg_Host": { + "offset": 392, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Cfg_Port": { + "offset": 480, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "Cfg_PollT", + "Cfg_RetryT", + "Cfg_ENSlotNumber", + "Cfg_AllowClockUpdate", + "Cfg_AllowMCmdSync", + "Cfg_AllowPeriodicSync", + "Cfg_SyncOnPwrup", + "MCmd_Sync", + "MCmd_Enable", + "MCmd_Disable", + "Val_RcvdYr", + "Val_RcvdMo", + "Val_RcvdDa", + "Val_RcvdHr", + "Val_RcvdMin", + "Val_RcvdSec", + "Val_RcvdUSec", + "Val_DriftDa", + "Val_DriftHr", + "Val_DriftMin", + "Val_DriftSec", + "Val_DriftUSec", + "Val_NextSyncMin", + "Val_NextSyncSec", + "Sts_Enabled", + "Sts_Timing", + "Sts_Busy", + "Sts_Done", + "Sts_MsgErr", + "Sts_NoSock", + "Sts_HostInv", + "Sts_ReqFail", + "Sts_NoReply", + "Sts_BadReply", + "Rdy_Sync", + "Rdy_Enable", + "Rdy_Disable", + "T_Sync", + "Wrk_TDiff", + "Wrk_TAdd", + "Wrk_SyncNow", + "Wrk_State", + "Wrk_NTPTime", + "Wrk_NTPSec", + "Wrk_NTPRollover", + "Wrk_NTPFracSec", + "Wrk_PollT", + "Wrk_LastSyncFail", + "Wrk_Enabled", + "Wrk_CtrlrTime", + "Wrk_CtrlrClockDrift", + "Wrk_TaskPer", + "Cfg_Host", + "Cfg_Port" + ], + "template": { + "object_definition_size": 355, + "structure_size": 568, + "member_count": 57, + "structure_handle": 31492 + } + } + }, + { + "tag_name": "T_Sync_NTPData", + "dim": 0, + "instance_id": 214, + "symbol_address": 28648, + "symbol_object_address": 876588, + "software_control": 67174603, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 308, + "data_type": { + "name": "T_Sync_Data", + "internal_tags": { + "Create_Source": { + "offset": 0, + "tag_type": "struct", + "data_type": { + "name": "T_Sync_CreateSrc", + "internal_tags": { + "Type": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Addr": { + "offset": 4, + "tag_type": "struct", + "data_type": { + "name": "T_Sync_SockAddr", + "internal_tags": { + "Family": { + "offset": 0, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Port": { + "offset": 2, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "IP_4th_Octect": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "IP_3rd_Octect": { + "offset": 5, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "IP_2nd_Octect": { + "offset": 6, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "IP_1st_Octect": { + "offset": 7, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "Family", + "Port", + "IP_4th_Octect", + "IP_3rd_Octect", + "IP_2nd_Octect", + "IP_1st_Octect" + ], + "template": { + "object_definition_size": 45, + "structure_size": 8, + "member_count": 6, + "structure_handle": 51984 + } + }, + "array": 0 + } + }, + "attributes": [ + "Type", + "Addr" + ], + "template": { + "object_definition_size": 19, + "structure_size": 12, + "member_count": 2, + "structure_handle": 12908 + } + }, + "array": 0 + }, + "Instance": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Open_Source": { + "offset": 16, + "tag_type": "struct", + "data_type": { + "name": "T_Sync_OpenSrc", + "internal_tags": { + "Timeout": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Dest_Addr": { + "offset": 4, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + } + }, + "attributes": [ + "Timeout", + "Dest_Addr" + ], + "template": { + "object_definition_size": 20, + "structure_size": 92, + "member_count": 2, + "structure_handle": 23264 + } + }, + "array": 0 + }, + "Read_Source": { + "offset": 108, + "tag_type": "struct", + "data_type": { + "name": "T_Sync_ReadSrc", + "internal_tags": { + "Timeout": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "BufLen": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "Timeout", + "BufLen" + ], + "template": { + "object_definition_size": 19, + "structure_size": 8, + "member_count": 2, + "structure_handle": 56402 + } + }, + "array": 0 + }, + "Read_Response": { + "offset": 116, + "tag_type": "struct", + "data_type": { + "name": "T_Sync_ReadDest", + "internal_tags": { + "From_Address": { + "offset": 0, + "tag_type": "struct", + "data_type": { + "name": "T_Sync_SockAddr", + "internal_tags": { + "Family": { + "offset": 0, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Port": { + "offset": 2, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "IP_4th_Octect": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "IP_3rd_Octect": { + "offset": 5, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "IP_2nd_Octect": { + "offset": 6, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "IP_1st_Octect": { + "offset": 7, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "Family", + "Port", + "IP_4th_Octect", + "IP_3rd_Octect", + "IP_2nd_Octect", + "IP_1st_Octect" + ], + "template": { + "object_definition_size": 45, + "structure_size": 8, + "member_count": 6, + "structure_handle": 51984 + } + }, + "array": 0 + }, + "Data_Length": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "NTP_Data": { + "offset": 12, + "tag_type": "struct", + "data_type": { + "name": "T_Sync_ReadData", + "internal_tags": { + "Flags": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Delay": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Dispersion": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ID": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Reference_SecTime_Whole_Seconds": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Reference_Time_Fractional_Seconds": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Originator_SecTime_Whole_Seconds": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Originator_Time_Fractional_Seconds": { + "offset": 28, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Recieved_Time_Whole_Seconds": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Recieved_Time_Fractional_Seconds": { + "offset": 36, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Transmitted_Time_Whole_Seconds": { + "offset": 40, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Transmitted_Time_Fractional_Seconds": { + "offset": 44, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "pad": { + "offset": 48, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "Flags", + "Delay", + "Dispersion", + "ID", + "Reference_SecTime_Whole_Seconds", + "Reference_Time_Fractional_Seconds", + "Originator_SecTime_Whole_Seconds", + "Originator_Time_Fractional_Seconds", + "Recieved_Time_Whole_Seconds", + "Recieved_Time_Fractional_Seconds", + "Transmitted_Time_Whole_Seconds", + "Transmitted_Time_Fractional_Seconds", + "pad" + ], + "template": { + "object_definition_size": 122, + "structure_size": 52, + "member_count": 13, + "structure_handle": 65193 + } + }, + "array": 0 + } + }, + "attributes": [ + "From_Address", + "Data_Length", + "NTP_Data" + ], + "template": { + "object_definition_size": 27, + "structure_size": 64, + "member_count": 3, + "structure_handle": 7914 + } + }, + "array": 0 + }, + "Write_Source": { + "offset": 180, + "tag_type": "struct", + "data_type": { + "name": "T_Sync_WriteSrc", + "internal_tags": { + "Timeout": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ToAddr": { + "offset": 4, + "tag_type": "struct", + "data_type": { + "name": "T_Sync_SockAddr", + "internal_tags": { + "Family": { + "offset": 0, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Port": { + "offset": 2, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "IP_4th_Octect": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "IP_3rd_Octect": { + "offset": 5, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "IP_2nd_Octect": { + "offset": 6, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "IP_1st_Octect": { + "offset": 7, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "Family", + "Port", + "IP_4th_Octect", + "IP_3rd_Octect", + "IP_2nd_Octect", + "IP_1st_Octect" + ], + "template": { + "object_definition_size": 45, + "structure_size": 8, + "member_count": 6, + "structure_handle": 51984 + } + }, + "array": 0 + }, + "Buffer": { + "offset": 12, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + } + }, + "attributes": [ + "Timeout", + "ToAddr", + "Buffer" + ], + "template": { + "object_definition_size": 24, + "structure_size": 100, + "member_count": 3, + "structure_handle": 60381 + } + }, + "array": 0 + }, + "Write_SizeSent": { + "offset": 280, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "Create_Source", + "Instance", + "Open_Source", + "Read_Source", + "Read_Response", + "Write_Source", + "Write_SizeSent" + ], + "template": { + "object_definition_size": 52, + "structure_size": 284, + "member_count": 7, + "structure_handle": 57516 + } + } + }, + { + "tag_name": "T_Sync_SockCreate", + "dim": 0, + "instance_id": 215, + "symbol_address": 112080, + "symbol_object_address": 876628, + "software_control": 67204285, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 4095, + "data_type": { + "name": "MESSAGE", + "internal_tags": { + "offsettodata": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Flags": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EW": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ER": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "ST": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "EN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TO": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EN_CC": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ERR": { + "offset": 6, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EXERR": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "exerrlength": { + "offset": 12, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "ERR_SRC": { + "offset": 13, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "DN_LEN": { + "offset": 14, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "REQ_LEN": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationLink": { + "offset": 18, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationNode": { + "offset": 20, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "SourceLink": { + "offset": 22, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Class": { + "offset": 24, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Attribute": { + "offset": 26, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Instance": { + "offset": 28, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "LocalIndex": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Channel": { + "offset": 36, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Rack": { + "offset": 37, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Group": { + "offset": 38, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Slot": { + "offset": 39, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Path": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved1": { + "offset": 128, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteIndex": { + "offset": 132, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteElement": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved2": { + "offset": 224, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "UnconnectedTimeout": { + "offset": 228, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ConnectionRate": { + "offset": 232, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "TimeoutMultiplier": { + "offset": 236, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "offsettodata", + "Flags", + "EW", + "ER", + "DN", + "ST", + "EN", + "TO", + "EN_CC", + "ERR", + "EXERR", + "exerrlength", + "ERR_SRC", + "DN_LEN", + "REQ_LEN", + "DestinationLink", + "DestinationNode", + "SourceLink", + "Class", + "Attribute", + "Instance", + "LocalIndex", + "Channel", + "Rack", + "Group", + "Slot", + "Path", + "Reserved1", + "RemoteIndex", + "RemoteElement", + "Reserved2", + "UnconnectedTimeout", + "ConnectionRate", + "TimeoutMultiplier" + ], + "template": { + "object_definition_size": 183, + "structure_size": 240, + "member_count": 34, + "structure_handle": 4095 + } + } + }, + { + "tag_name": "T_Sync_SockDelete", + "dim": 0, + "instance_id": 216, + "symbol_address": 112792, + "symbol_object_address": 876668, + "software_control": 67201900, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 4095, + "data_type": { + "name": "MESSAGE", + "internal_tags": { + "offsettodata": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Flags": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EW": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ER": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "ST": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "EN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TO": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EN_CC": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ERR": { + "offset": 6, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EXERR": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "exerrlength": { + "offset": 12, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "ERR_SRC": { + "offset": 13, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "DN_LEN": { + "offset": 14, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "REQ_LEN": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationLink": { + "offset": 18, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationNode": { + "offset": 20, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "SourceLink": { + "offset": 22, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Class": { + "offset": 24, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Attribute": { + "offset": 26, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Instance": { + "offset": 28, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "LocalIndex": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Channel": { + "offset": 36, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Rack": { + "offset": 37, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Group": { + "offset": 38, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Slot": { + "offset": 39, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Path": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved1": { + "offset": 128, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteIndex": { + "offset": 132, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteElement": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved2": { + "offset": 224, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "UnconnectedTimeout": { + "offset": 228, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ConnectionRate": { + "offset": 232, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "TimeoutMultiplier": { + "offset": 236, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "offsettodata", + "Flags", + "EW", + "ER", + "DN", + "ST", + "EN", + "TO", + "EN_CC", + "ERR", + "EXERR", + "exerrlength", + "ERR_SRC", + "DN_LEN", + "REQ_LEN", + "DestinationLink", + "DestinationNode", + "SourceLink", + "Class", + "Attribute", + "Instance", + "LocalIndex", + "Channel", + "Rack", + "Group", + "Slot", + "Path", + "Reserved1", + "RemoteIndex", + "RemoteElement", + "Reserved2", + "UnconnectedTimeout", + "ConnectionRate", + "TimeoutMultiplier" + ], + "template": { + "object_definition_size": 183, + "structure_size": 240, + "member_count": 34, + "structure_handle": 4095 + } + } + }, + { + "tag_name": "T_Sync_SockOpen", + "dim": 0, + "instance_id": 217, + "symbol_address": 111368, + "symbol_object_address": 876708, + "software_control": 67199167, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 4095, + "data_type": { + "name": "MESSAGE", + "internal_tags": { + "offsettodata": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Flags": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EW": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ER": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "ST": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "EN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TO": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EN_CC": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ERR": { + "offset": 6, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EXERR": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "exerrlength": { + "offset": 12, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "ERR_SRC": { + "offset": 13, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "DN_LEN": { + "offset": 14, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "REQ_LEN": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationLink": { + "offset": 18, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationNode": { + "offset": 20, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "SourceLink": { + "offset": 22, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Class": { + "offset": 24, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Attribute": { + "offset": 26, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Instance": { + "offset": 28, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "LocalIndex": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Channel": { + "offset": 36, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Rack": { + "offset": 37, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Group": { + "offset": 38, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Slot": { + "offset": 39, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Path": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved1": { + "offset": 128, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteIndex": { + "offset": 132, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteElement": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved2": { + "offset": 224, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "UnconnectedTimeout": { + "offset": 228, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ConnectionRate": { + "offset": 232, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "TimeoutMultiplier": { + "offset": 236, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "offsettodata", + "Flags", + "EW", + "ER", + "DN", + "ST", + "EN", + "TO", + "EN_CC", + "ERR", + "EXERR", + "exerrlength", + "ERR_SRC", + "DN_LEN", + "REQ_LEN", + "DestinationLink", + "DestinationNode", + "SourceLink", + "Class", + "Attribute", + "Instance", + "LocalIndex", + "Channel", + "Rack", + "Group", + "Slot", + "Path", + "Reserved1", + "RemoteIndex", + "RemoteElement", + "Reserved2", + "UnconnectedTimeout", + "ConnectionRate", + "TimeoutMultiplier" + ], + "template": { + "object_definition_size": 183, + "structure_size": 240, + "member_count": 34, + "structure_handle": 4095 + } + } + }, + { + "tag_name": "T_Sync_SockRead", + "dim": 0, + "instance_id": 218, + "symbol_address": 114928, + "symbol_object_address": 876748, + "software_control": 67195046, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 4095, + "data_type": { + "name": "MESSAGE", + "internal_tags": { + "offsettodata": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Flags": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EW": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ER": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "ST": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "EN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TO": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EN_CC": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ERR": { + "offset": 6, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EXERR": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "exerrlength": { + "offset": 12, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "ERR_SRC": { + "offset": 13, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "DN_LEN": { + "offset": 14, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "REQ_LEN": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationLink": { + "offset": 18, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationNode": { + "offset": 20, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "SourceLink": { + "offset": 22, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Class": { + "offset": 24, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Attribute": { + "offset": 26, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Instance": { + "offset": 28, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "LocalIndex": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Channel": { + "offset": 36, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Rack": { + "offset": 37, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Group": { + "offset": 38, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Slot": { + "offset": 39, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Path": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved1": { + "offset": 128, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteIndex": { + "offset": 132, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteElement": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved2": { + "offset": 224, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "UnconnectedTimeout": { + "offset": 228, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ConnectionRate": { + "offset": 232, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "TimeoutMultiplier": { + "offset": 236, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "offsettodata", + "Flags", + "EW", + "ER", + "DN", + "ST", + "EN", + "TO", + "EN_CC", + "ERR", + "EXERR", + "exerrlength", + "ERR_SRC", + "DN_LEN", + "REQ_LEN", + "DestinationLink", + "DestinationNode", + "SourceLink", + "Class", + "Attribute", + "Instance", + "LocalIndex", + "Channel", + "Rack", + "Group", + "Slot", + "Path", + "Reserved1", + "RemoteIndex", + "RemoteElement", + "Reserved2", + "UnconnectedTimeout", + "ConnectionRate", + "TimeoutMultiplier" + ], + "template": { + "object_definition_size": 183, + "structure_size": 240, + "member_count": 34, + "structure_handle": 4095 + } + } + }, + { + "tag_name": "T_Sync_SockWrite", + "dim": 0, + "instance_id": 219, + "symbol_address": 109944, + "symbol_object_address": 876788, + "software_control": 67206481, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 4095, + "data_type": { + "name": "MESSAGE", + "internal_tags": { + "offsettodata": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Flags": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EW": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ER": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "DN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "ST": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "EN": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TO": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EN_CC": { + "offset": 5, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ERR": { + "offset": 6, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "EXERR": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "exerrlength": { + "offset": 12, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "ERR_SRC": { + "offset": 13, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "DN_LEN": { + "offset": 14, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "REQ_LEN": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationLink": { + "offset": 18, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "DestinationNode": { + "offset": 20, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "SourceLink": { + "offset": 22, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Class": { + "offset": 24, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Attribute": { + "offset": 26, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Instance": { + "offset": 28, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "LocalIndex": { + "offset": 32, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Channel": { + "offset": 36, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Rack": { + "offset": 37, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Group": { + "offset": 38, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Slot": { + "offset": 39, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Path": { + "offset": 40, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved1": { + "offset": 128, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteIndex": { + "offset": 132, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RemoteElement": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "STRING", + "internal_tags": { + "LEN": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "DATA": { + "offset": 4, + "tag_type": "atomic", + "data_type": "SINT", + "array": 82 + } + }, + "attributes": [ + "LEN", + "DATA" + ], + "string": 82, + "template": { + "object_definition_size": 16, + "structure_size": 88, + "member_count": 2, + "structure_handle": 4046 + } + }, + "array": 0 + }, + "Reserved2": { + "offset": 224, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "UnconnectedTimeout": { + "offset": 228, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ConnectionRate": { + "offset": 232, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "TimeoutMultiplier": { + "offset": 236, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + } + }, + "attributes": [ + "offsettodata", + "Flags", + "EW", + "ER", + "DN", + "ST", + "EN", + "TO", + "EN_CC", + "ERR", + "EXERR", + "exerrlength", + "ERR_SRC", + "DN_LEN", + "REQ_LEN", + "DestinationLink", + "DestinationNode", + "SourceLink", + "Class", + "Attribute", + "Instance", + "LocalIndex", + "Channel", + "Rack", + "Group", + "Slot", + "Path", + "Reserved1", + "RemoteIndex", + "RemoteElement", + "Reserved2", + "UnconnectedTimeout", + "ConnectionRate", + "TimeoutMultiplier" + ], + "template": { + "object_definition_size": 183, + "structure_size": 240, + "member_count": 34, + "structure_handle": 4095 + } + } + }, + { + "tag_name": "Flow_Total_ThisMonth", + "dim": 0, + "instance_id": 220, + "symbol_address": 28576, + "symbol_object_address": 876828, + "software_control": 1946222797, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "Flow_Total_LastMonth", + "dim": 0, + "instance_id": 221, + "symbol_address": 28544, + "symbol_object_address": 876868, + "software_control": 1946222798, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "Last_Stored_MonthlyTotal", + "dim": 0, + "instance_id": 222, + "symbol_address": 28488, + "symbol_object_address": 876908, + "software_control": 67174607, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1231, + "data_type": { + "name": "CONTROLLER_DATETIME", + "internal_tags": { + "Year": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Month": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Day": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Hour": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Minute": { + "offset": 16, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Second": { + "offset": 20, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Microsecond": { + "offset": 24, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "Year", + "Month", + "Day", + "Hour", + "Minute", + "Second", + "Microsecond" + ], + "template": { + "object_definition_size": 43, + "structure_size": 28, + "member_count": 7, + "structure_handle": 11589 + } + } + }, + { + "tag_name": "Shift_Monthly_Totals", + "dim": 0, + "instance_id": 223, + "symbol_address": 28456, + "symbol_object_address": 876948, + "software_control": 1140916432, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "cfg_MinSpeedDeadband", + "dim": 0, + "instance_id": 224, + "symbol_address": 28424, + "symbol_object_address": 876988, + "software_control": 1946222801, + "alias": "False", + "external_access": "Read Only", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "set_AutoModeTakeover", + "dim": 0, + "instance_id": 225, + "symbol_address": 28392, + "symbol_object_address": 877028, + "software_control": 1946222802, + "alias": "False", + "external_access": "Read Only", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "cmd_ResetAlarmCount", + "dim": 0, + "instance_id": 226, + "symbol_address": 28360, + "symbol_object_address": 877068, + "software_control": 1140916435, + "alias": "False", + "external_access": "Read Only", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "cfg_LevelHigherGains", + "dim": 0, + "instance_id": 227, + "symbol_address": 28608, + "symbol_object_address": 877108, + "software_control": 67174604, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1986, + "data_type": { + "name": "PID_Gains", + "internal_tags": { + "cfg_PGain": { + "offset": 0, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "cfg_IGain": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "cfg_DGain": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "cfg_PGain", + "cfg_IGain", + "cfg_DGain" + ], + "template": { + "object_definition_size": 25, + "structure_size": 12, + "member_count": 3, + "structure_handle": 23098 + } + } + }, + { + "tag_name": "cfg_LevelLowerGains", + "dim": 0, + "instance_id": 228, + "symbol_address": 28136, + "symbol_object_address": 877148, + "software_control": 67174613, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1986, + "data_type": { + "name": "PID_Gains", + "internal_tags": { + "cfg_PGain": { + "offset": 0, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "cfg_IGain": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "cfg_DGain": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "cfg_PGain", + "cfg_IGain", + "cfg_DGain" + ], + "template": { + "object_definition_size": 25, + "structure_size": 12, + "member_count": 3, + "structure_handle": 23098 + } + } + }, + { + "tag_name": "Flow_Total_Lifetime", + "dim": 0, + "instance_id": 231, + "symbol_address": 28072, + "symbol_object_address": 877268, + "software_control": 1946222807, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "REAL" + }, + { + "tag_name": "PROMAG_300:I1", + "dim": 0, + "instance_id": 232, + "symbol_address": 63963792, + "symbol_object_address": 877308, + "software_control": 201392305, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 1195, + "data_type": { + "name": "EH:Promag_300_500_FixIn:I1:0", + "internal_tags": { + "CommStatus": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Connection_Fault": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "CommStatus1": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Actual_diagnostics": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Process_variables_Volume_flow": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Process_variables_Mass_flow": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Process_variab_Correctvolflow": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Process_variables_Conductivity": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Process_variables_Temperature": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Process_variables_Totalizer_value_1": { + "offset": 32, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Process_variables_Totalizer_value_2": { + "offset": 36, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Process_variables_Totalizer_value_3": { + "offset": 40, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "CommStatus", + "Connection_Fault", + "CommStatus1", + "Actual_diagnostics", + "Process_variables_Volume_flow", + "Process_variables_Mass_flow", + "Process_variab_Correctvolflow", + "Process_variables_Conductivity", + "Process_variables_Temperature", + "Process_variables_Totalizer_value_1", + "Process_variables_Totalizer_value_2", + "Process_variables_Totalizer_value_3" + ], + "template": { + "object_definition_size": 128, + "structure_size": 44, + "member_count": 12, + "structure_handle": 52786 + } + } + }, + { + "tag_name": "PROMAG_300:O1", + "dim": 0, + "instance_id": 233, + "symbol_address": 63963288, + "symbol_object_address": 877348, + "software_control": 201392346, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 2658, + "data_type": { + "name": "EH:Promag_300_500_FixOut:O1:0", + "internal_tags": { + "Activation": { + "offset": 0, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "TIC_Control_1_Activation": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "TIC_Control_2_Activation": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "TIC_Control_3_Activation": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "MID_InputDensity_1_Activation": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "MID_InputTemperature_1_Activation": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "HBT_PerformVerification_1_Activation": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "FLOW_PositivZeroReturn_1_Activation": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "activationpad1": { + "offset": 1, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "activationpad2": { + "offset": 2, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "activationpad3": { + "offset": 3, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "Totalizer_1_Control_Totalizer_1": { + "offset": 4, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_2_Control_Totalizer_2": { + "offset": 6, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Totalizer_3_Control_Totalizer_3": { + "offset": 8, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "pad10": { + "offset": 10, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "pad11": { + "offset": 11, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "External_compensation_External_density": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "System_units_Density_unit": { + "offset": 16, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "pad18": { + "offset": 18, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "pad19": { + "offset": 19, + "tag_type": "atomic", + "data_type": "SINT", + "array": 0 + }, + "External_comp_External_temp": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "System_units_Temperature_unit": { + "offset": 24, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Performverific_Start_verificat": { + "offset": 26, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + }, + "Process_parameters_Flow_override": { + "offset": 28, + "tag_type": "atomic", + "data_type": "INT", + "array": 0 + } + }, + "attributes": [ + "Activation", + "TIC_Control_1_Activation", + "TIC_Control_2_Activation", + "TIC_Control_3_Activation", + "MID_InputDensity_1_Activation", + "MID_InputTemperature_1_Activation", + "HBT_PerformVerification_1_Activation", + "FLOW_PositivZeroReturn_1_Activation", + "activationpad1", + "activationpad2", + "activationpad3", + "Totalizer_1_Control_Totalizer_1", + "Totalizer_2_Control_Totalizer_2", + "Totalizer_3_Control_Totalizer_3", + "pad10", + "pad11", + "External_compensation_External_density", + "System_units_Density_unit", + "pad18", + "pad19", + "External_comp_External_temp", + "System_units_Temperature_unit", + "Performverific_Start_verificat", + "Process_parameters_Flow_override" + ], + "template": { + "object_definition_size": 229, + "structure_size": 32, + "member_count": 24, + "structure_handle": 49223 + } + } + }, + { + "tag_name": "BPD_GPM_SEL", + "dim": 0, + "instance_id": 234, + "symbol_address": 40904, + "symbol_object_address": 877388, + "software_control": 1140916397, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "DisableDrive", + "dim": 0, + "instance_id": 235, + "symbol_address": 28040, + "symbol_object_address": 877428, + "software_control": 1140916440, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "Switch_Man", + "dim": 0, + "instance_id": 236, + "symbol_address": 26200, + "symbol_object_address": 877468, + "software_control": 1140916451, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "Switch_Auto", + "dim": 0, + "instance_id": 237, + "symbol_address": 7968, + "symbol_object_address": 877508, + "software_control": 1140916453, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "Force_Stop", + "dim": 0, + "instance_id": 238, + "symbol_address": 27824, + "symbol_object_address": 877548, + "software_control": 1140916444, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "atomic", + "data_type": "BOOL", + "bit_position": 0 + }, + { + "tag_name": "Totalizer_Lifetime", + "dim": 0, + "instance_id": 241, + "symbol_address": 30848, + "symbol_object_address": 877668, + "software_control": 67174598, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 913, + "data_type": { + "name": "Barrels_Totalizer", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FlowRateIn": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Run": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Total": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Run_Status": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "TimeBase": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Gain": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_01": { + "offset": 20, + "tag_type": "struct", + "data_type": { + "name": "TOTALIZER", + "internal_tags": { + "ulBoolInput1": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "In": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "InFault": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "TimeBase": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Gain": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ResetValue": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Target": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TargetDev1": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TargetDev2": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "LowInCutoff": { + "offset": 32, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ProgProgReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ProgOperReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "ProgStartReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "ProgStopReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "ProgResetReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "OperProgReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OperOperReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OperStartReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OperStopReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OperResetReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "ProgValueReset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "TimingMode": { + "offset": 36, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "OversampleDT": { + "offset": 40, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "RTSTime": { + "offset": 44, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RTSTimeStamp": { + "offset": 48, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ulBoolOutput1": { + "offset": 52, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableOut": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Total": { + "offset": 56, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OldTotal": { + "offset": 60, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ProgOper": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "RunStop": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ProgResetDone": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "TargetFlag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "TargetDev1Flag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "TargetDev2Flag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "LowInCutoffFlag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DeltaT": { + "offset": 64, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Status": { + "offset": 68, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "InstructFault": { + "offset": 68, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "InFaulted": { + "offset": 68, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "TimeBaseInv": { + "offset": 68, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "TimingModeInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "RTSMissed": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "RTSTimeInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "RTSTimeStampInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DeltaTInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TOT_HiddenFloat1": { + "offset": 72, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat2": { + "offset": 76, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat3": { + "offset": 80, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat4": { + "offset": 84, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat5": { + "offset": 88, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat6": { + "offset": 92, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat7": { + "offset": 96, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat8": { + "offset": 100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat9": { + "offset": 104, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat10": { + "offset": 108, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat11": { + "offset": 112, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "ulBoolInput1", + "EnableIn", + "In", + "InFault", + "TimeBase", + "Gain", + "ResetValue", + "Target", + "TargetDev1", + "TargetDev2", + "LowInCutoff", + "ProgProgReq", + "ProgOperReq", + "ProgStartReq", + "ProgStopReq", + "ProgResetReq", + "OperProgReq", + "OperOperReq", + "OperStartReq", + "OperStopReq", + "OperResetReq", + "ProgValueReset", + "TimingMode", + "OversampleDT", + "RTSTime", + "RTSTimeStamp", + "ulBoolOutput1", + "EnableOut", + "Total", + "OldTotal", + "ProgOper", + "RunStop", + "ProgResetDone", + "TargetFlag", + "TargetDev1Flag", + "TargetDev2Flag", + "LowInCutoffFlag", + "DeltaT", + "Status", + "InstructFault", + "InFaulted", + "TimeBaseInv", + "TimingModeInv", + "RTSMissed", + "RTSTimeInv", + "RTSTimeStampInv", + "DeltaTInv", + "TOT_HiddenFloat1", + "TOT_HiddenFloat2", + "TOT_HiddenFloat3", + "TOT_HiddenFloat4", + "TOT_HiddenFloat5", + "TOT_HiddenFloat6", + "TOT_HiddenFloat7", + "TOT_HiddenFloat8", + "TOT_HiddenFloat9", + "TOT_HiddenFloat10", + "TOT_HiddenFloat11" + ], + "template": { + "object_definition_size": 360, + "structure_size": 116, + "member_count": 58, + "structure_handle": 3982 + } + }, + "array": 0 + }, + "BNOT_01": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "FBD_BOOLEAN_NOT", + "internal_tags": { + "ulBoolInput1": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "In": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ulBoolOutput1": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableOut": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Out": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "BNOT_HiddenFloat1": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "ulBoolInput1", + "EnableIn", + "In", + "ulBoolOutput1", + "EnableOut", + "Out", + "BNOT_HiddenFloat1" + ], + "template": { + "object_definition_size": 49, + "structure_size": 12, + "member_count": 7, + "structure_handle": 3997 + } + }, + "array": 0 + }, + "__l01D84F32E810308C": { + "offset": 148, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "__l01D83BCCE8104E3B": { + "offset": 152, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "__l01D85D75E8101EA6": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "__l01D86FBCE81065FF": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "__l01D83EC6E8106926": { + "offset": 156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "FlowRateIn", + "Run", + "Reset", + "Total", + "Run_Status", + "TimeBase", + "Gain", + "TOT_01", + "BNOT_01" + ], + "template": { + "object_definition_size": 111, + "structure_size": 160, + "member_count": 17, + "structure_handle": 19216 + } + } + }, + { + "tag_name": "Totalizer_ThisMonth", + "dim": 0, + "instance_id": 242, + "symbol_address": 27856, + "symbol_object_address": 877708, + "software_control": 67174619, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 913, + "data_type": { + "name": "Barrels_Totalizer", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FlowRateIn": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Run": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Total": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Run_Status": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "TimeBase": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Gain": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_01": { + "offset": 20, + "tag_type": "struct", + "data_type": { + "name": "TOTALIZER", + "internal_tags": { + "ulBoolInput1": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "In": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "InFault": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "TimeBase": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Gain": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ResetValue": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Target": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TargetDev1": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TargetDev2": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "LowInCutoff": { + "offset": 32, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ProgProgReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ProgOperReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "ProgStartReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "ProgStopReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "ProgResetReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "OperProgReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OperOperReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OperStartReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OperStopReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OperResetReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "ProgValueReset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "TimingMode": { + "offset": 36, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "OversampleDT": { + "offset": 40, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "RTSTime": { + "offset": 44, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RTSTimeStamp": { + "offset": 48, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ulBoolOutput1": { + "offset": 52, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableOut": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Total": { + "offset": 56, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OldTotal": { + "offset": 60, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ProgOper": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "RunStop": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ProgResetDone": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "TargetFlag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "TargetDev1Flag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "TargetDev2Flag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "LowInCutoffFlag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DeltaT": { + "offset": 64, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Status": { + "offset": 68, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "InstructFault": { + "offset": 68, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "InFaulted": { + "offset": 68, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "TimeBaseInv": { + "offset": 68, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "TimingModeInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "RTSMissed": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "RTSTimeInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "RTSTimeStampInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DeltaTInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TOT_HiddenFloat1": { + "offset": 72, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat2": { + "offset": 76, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat3": { + "offset": 80, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat4": { + "offset": 84, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat5": { + "offset": 88, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat6": { + "offset": 92, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat7": { + "offset": 96, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat8": { + "offset": 100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat9": { + "offset": 104, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat10": { + "offset": 108, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat11": { + "offset": 112, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "ulBoolInput1", + "EnableIn", + "In", + "InFault", + "TimeBase", + "Gain", + "ResetValue", + "Target", + "TargetDev1", + "TargetDev2", + "LowInCutoff", + "ProgProgReq", + "ProgOperReq", + "ProgStartReq", + "ProgStopReq", + "ProgResetReq", + "OperProgReq", + "OperOperReq", + "OperStartReq", + "OperStopReq", + "OperResetReq", + "ProgValueReset", + "TimingMode", + "OversampleDT", + "RTSTime", + "RTSTimeStamp", + "ulBoolOutput1", + "EnableOut", + "Total", + "OldTotal", + "ProgOper", + "RunStop", + "ProgResetDone", + "TargetFlag", + "TargetDev1Flag", + "TargetDev2Flag", + "LowInCutoffFlag", + "DeltaT", + "Status", + "InstructFault", + "InFaulted", + "TimeBaseInv", + "TimingModeInv", + "RTSMissed", + "RTSTimeInv", + "RTSTimeStampInv", + "DeltaTInv", + "TOT_HiddenFloat1", + "TOT_HiddenFloat2", + "TOT_HiddenFloat3", + "TOT_HiddenFloat4", + "TOT_HiddenFloat5", + "TOT_HiddenFloat6", + "TOT_HiddenFloat7", + "TOT_HiddenFloat8", + "TOT_HiddenFloat9", + "TOT_HiddenFloat10", + "TOT_HiddenFloat11" + ], + "template": { + "object_definition_size": 360, + "structure_size": 116, + "member_count": 58, + "structure_handle": 3982 + } + }, + "array": 0 + }, + "BNOT_01": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "FBD_BOOLEAN_NOT", + "internal_tags": { + "ulBoolInput1": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "In": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ulBoolOutput1": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableOut": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Out": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "BNOT_HiddenFloat1": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "ulBoolInput1", + "EnableIn", + "In", + "ulBoolOutput1", + "EnableOut", + "Out", + "BNOT_HiddenFloat1" + ], + "template": { + "object_definition_size": 49, + "structure_size": 12, + "member_count": 7, + "structure_handle": 3997 + } + }, + "array": 0 + }, + "__l01D84F32E810308C": { + "offset": 148, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "__l01D83BCCE8104E3B": { + "offset": 152, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "__l01D85D75E8101EA6": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "__l01D86FBCE81065FF": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "__l01D83EC6E8106926": { + "offset": 156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "FlowRateIn", + "Run", + "Reset", + "Total", + "Run_Status", + "TimeBase", + "Gain", + "TOT_01", + "BNOT_01" + ], + "template": { + "object_definition_size": 111, + "structure_size": 160, + "member_count": 17, + "structure_handle": 19216 + } + } + }, + { + "tag_name": "Totalizer_Today", + "dim": 0, + "instance_id": 243, + "symbol_address": 7488, + "symbol_object_address": 877748, + "software_control": 67174631, + "alias": "False", + "external_access": "Read/Write", + "dimensions": [ + 0, + 0, + 0 + ], + "tag_type": "struct", + "template_instance_id": 913, + "data_type": { + "name": "Barrels_Totalizer", + "internal_tags": { + "__BitHost00": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "EnableOut": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "FlowRateIn": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Run": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "Reset": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "Total": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Run_Status": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "TimeBase": { + "offset": 12, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Gain": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_01": { + "offset": 20, + "tag_type": "struct", + "data_type": { + "name": "TOTALIZER", + "internal_tags": { + "ulBoolInput1": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "In": { + "offset": 4, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "InFault": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "TimeBase": { + "offset": 8, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "Gain": { + "offset": 12, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ResetValue": { + "offset": 16, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Target": { + "offset": 20, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TargetDev1": { + "offset": 24, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TargetDev2": { + "offset": 28, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "LowInCutoff": { + "offset": 32, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ProgProgReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ProgOperReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "ProgStartReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "ProgStopReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "ProgResetReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "OperProgReq": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "OperOperReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "OperStartReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "OperStopReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "OperResetReq": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "ProgValueReset": { + "offset": 1, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "TimingMode": { + "offset": 36, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "OversampleDT": { + "offset": 40, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "RTSTime": { + "offset": 44, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "RTSTimeStamp": { + "offset": 48, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "ulBoolOutput1": { + "offset": 52, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableOut": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Total": { + "offset": 56, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "OldTotal": { + "offset": 60, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "ProgOper": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "RunStop": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "ProgResetDone": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "TargetFlag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "TargetDev1Flag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "TargetDev2Flag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "LowInCutoffFlag": { + "offset": 52, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "DeltaT": { + "offset": 64, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "Status": { + "offset": 68, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "InstructFault": { + "offset": 68, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "InFaulted": { + "offset": 68, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "TimeBaseInv": { + "offset": 68, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 2 + }, + "TimingModeInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 3 + }, + "RTSMissed": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 4 + }, + "RTSTimeInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "RTSTimeStampInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "DeltaTInv": { + "offset": 71, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 7 + }, + "TOT_HiddenFloat1": { + "offset": 72, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat2": { + "offset": 76, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat3": { + "offset": 80, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat4": { + "offset": 84, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat5": { + "offset": 88, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat6": { + "offset": 92, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat7": { + "offset": 96, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat8": { + "offset": 100, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat9": { + "offset": 104, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat10": { + "offset": 108, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "TOT_HiddenFloat11": { + "offset": 112, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "ulBoolInput1", + "EnableIn", + "In", + "InFault", + "TimeBase", + "Gain", + "ResetValue", + "Target", + "TargetDev1", + "TargetDev2", + "LowInCutoff", + "ProgProgReq", + "ProgOperReq", + "ProgStartReq", + "ProgStopReq", + "ProgResetReq", + "OperProgReq", + "OperOperReq", + "OperStartReq", + "OperStopReq", + "OperResetReq", + "ProgValueReset", + "TimingMode", + "OversampleDT", + "RTSTime", + "RTSTimeStamp", + "ulBoolOutput1", + "EnableOut", + "Total", + "OldTotal", + "ProgOper", + "RunStop", + "ProgResetDone", + "TargetFlag", + "TargetDev1Flag", + "TargetDev2Flag", + "LowInCutoffFlag", + "DeltaT", + "Status", + "InstructFault", + "InFaulted", + "TimeBaseInv", + "TimingModeInv", + "RTSMissed", + "RTSTimeInv", + "RTSTimeStampInv", + "DeltaTInv", + "TOT_HiddenFloat1", + "TOT_HiddenFloat2", + "TOT_HiddenFloat3", + "TOT_HiddenFloat4", + "TOT_HiddenFloat5", + "TOT_HiddenFloat6", + "TOT_HiddenFloat7", + "TOT_HiddenFloat8", + "TOT_HiddenFloat9", + "TOT_HiddenFloat10", + "TOT_HiddenFloat11" + ], + "template": { + "object_definition_size": 360, + "structure_size": 116, + "member_count": 58, + "structure_handle": 3982 + } + }, + "array": 0 + }, + "BNOT_01": { + "offset": 136, + "tag_type": "struct", + "data_type": { + "name": "FBD_BOOLEAN_NOT", + "internal_tags": { + "ulBoolInput1": { + "offset": 0, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableIn": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "In": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "ulBoolOutput1": { + "offset": 4, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + }, + "EnableOut": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 0 + }, + "Out": { + "offset": 4, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 1 + }, + "BNOT_HiddenFloat1": { + "offset": 8, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + } + }, + "attributes": [ + "ulBoolInput1", + "EnableIn", + "In", + "ulBoolOutput1", + "EnableOut", + "Out", + "BNOT_HiddenFloat1" + ], + "template": { + "object_definition_size": 49, + "structure_size": 12, + "member_count": 7, + "structure_handle": 3997 + } + }, + "array": 0 + }, + "__l01D84F32E810308C": { + "offset": 148, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "__l01D83BCCE8104E3B": { + "offset": 152, + "tag_type": "atomic", + "data_type": "REAL", + "array": 0 + }, + "__l01D85D75E8101EA6": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 5 + }, + "__l01D86FBCE81065FF": { + "offset": 0, + "tag_type": "atomic", + "data_type": "BOOL", + "bit": 6 + }, + "__l01D83EC6E8106926": { + "offset": 156, + "tag_type": "atomic", + "data_type": "DINT", + "array": 0 + } + }, + "attributes": [ + "EnableIn", + "EnableOut", + "FlowRateIn", + "Run", + "Reset", + "Total", + "Run_Status", + "TimeBase", + "Gain", + "TOT_01", + "BNOT_01" + ], + "template": { + "object_definition_size": 111, + "structure_size": 160, + "member_count": 17, + "structure_handle": 19216 + } + } + } +] \ No newline at end of file diff --git a/Pub_Sub/advvfdipp/thingsboard/v2/advvfdipp_tb_v2.cfg b/Pub_Sub/advvfdipp/thingsboard/v2/advvfdipp_tb_v2.cfg new file mode 100644 index 0000000..bc1264a --- /dev/null +++ b/Pub_Sub/advvfdipp/thingsboard/v2/advvfdipp_tb_v2.cfg @@ -0,0 +1,1097 @@ +{ + "controllers": [ + { + "protocol": "EtherNet/IP", + "name": "advvfdipp", + "args": {}, + "samplePeriod": 2, + "expired": 10000, + "endpoint": "192.168.1.10:44818" + } + ], + "groups": [ + { + "name": "default", + "uploadInterval": 600, + "reference": 45 + } + ], + "measures": [ + { + "name": "flowrate", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "val_Flowmeter", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "fluidlevel", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "val_FluidLevel", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "intakepressure", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "val_IntakePressure", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "intaketemperature", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "val_IntakeTemperature", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "tubingpressure", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "val_TubingPressure", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "wellstatus", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "INT", + "addr": "Device_Status_INT", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "vfdfrequency", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "VFD_SpeedFdbk", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "flowtotal", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Flow_Total[0]", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "energytotal", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Energy_Total[0]", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "vfdcurrent", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "VFD_OutCurrent", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "downholesensorstatus", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "INT", + "addr": "Downhole_Sensor_Status_INT", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "fluidspecificgravity", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "cfg_FluidSpecificGravity", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "flowtotalyesterday", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Flow_Total[1]", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "energytotalyesterday", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Energy_Total[1]", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "alarmflowrate", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "alarm_Flowmeter", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "alarmintakepressure", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "alarm_IntakePressure", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "alarmintaketemperature", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "alarm_IntakeTemperature", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "alarmtubingpressure", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "alarm_TubingPressure", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "alarmvfd", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "alarm_VFD", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "alarmlockout", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "alarm_Lockout", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "runpermissive", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "INT", + "addr": "Run_Permissive_INT", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "startpermissive", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "INT", + "addr": "Start_Permissive_INT", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "alarmfluidlevel", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "alarm_FluidLevel", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pressureshutdownlimit", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "AIn_IntakePressure.Val_LoLim", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pressurestartuplimit", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "AIn_IntakePressure.Val_HiLim", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "temperatureshutdownlimit", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "AIn_IntakeTemperature.Val_HiLim", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "temperaturestartuplimit", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "AIn_IntakeTemperature.Val_LoLim", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "sensorheight", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "cfg_DHSensorDistToIntake", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "last_vfd_fault_code", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "INT", + "addr": "PowerFlex755.Val_LastFaultCode", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "vfd_fault", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "INT", + "addr": "sts_CurrentVFDFaultCode", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "controllerfault_io", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "ControllerFault_IO", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "controllerfault_program", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "ControllerFault_Program", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "minvfdfrequency", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "PowerFlex755.Cfg_MinSpdRef", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "maxvfdfrequency", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "PowerFlex755.Cfg_MaxSpdRef", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "hartnettotal", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "in_HART_Flowmeter_Net", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "hartfwdtotal", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "in_HART_Flowmeter_Fwd", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "hartrevtotal", + "ctrlName": "advvfdipp", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "in_HART_Flowmeter_Rev", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "ctrlName": "advvfdipp", + "dataType": "BIT", + "addr": "cmd_Start", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "name": "startcommand", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "decimal": 2 + }, + { + "ctrlName": "advvfdipp", + "dataType": "BIT", + "addr": "cmd_Stop", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "name": "stopcommand", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "decimal": 2 + }, + { + "ctrlName": "advvfdipp", + "dataType": "INT", + "addr": "sts_PID_Control", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "name": "pidcontrolmode", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "decimal": 2 + }, + { + "ctrlName": "advvfdipp", + "dataType": "FLOAT", + "addr": "cfg_PID_FlowSP", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "decimal": 2, + "name": "flowsetpoint", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "" + }, + { + "ctrlName": "advvfdipp", + "dataType": "FLOAT", + "addr": "cfg_PID_TubingPressureSP", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "decimal": 2, + "name": "tubingpressuresetpoint", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "" + }, + { + "ctrlName": "advvfdipp", + "dataType": "FLOAT", + "addr": "cfg_PID_FluidLevelSP", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "decimal": 2, + "name": "fluidlevelsetpoint", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "" + }, + { + "ctrlName": "advvfdipp", + "dataType": "FLOAT", + "addr": "cfg_PID_ManualSP", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "decimal": 2, + "name": "manualfrequencysetpoint", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "" + }, + { + "ctrlName": "advvfdipp", + "dataType": "BIT", + "addr": "cmd_ResetAlarms", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "name": "resetalarms", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "decimal": 2 + }, + { + "ctrlName": "advvfdipp", + "dataType": "FLOAT", + "addr": "val_Flowmeter_BarrelsPerMinute", + "readWrite": "ro", + "uploadType": "periodic", + "group": "default", + "decimal": 2, + "name": "flowrate_gpm", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "" + }, + { + "ctrlName": "advvfdipp", + "dataType": "BIT", + "addr": "PROMAG_300:I1.Connection_Fault", + "readWrite": "ro", + "uploadType": "periodic", + "group": "default", + "name": "flowmeter_fault", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "decimal": 2 + } + ], + "alarms": [], + "misc": { + "maxAlarmRecordSz": 2000, + "logLvl": "INFO", + "coms": [ + { + "name": "rs232", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + }, + { + "name": "rs485", + "baud": 19200, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + } + ] + }, + "clouds": [ + { + "cacheSize": 100, + "enable": 1, + "type": "Standard MQTT", + "args": { + "host": "hp.henrypump.cloud", + "port": 1883, + "clientId": "", + "auth": 1, + "tls": 0, + "cleanSession": 1, + "mqttVersion": "v3.1.1", + "keepalive": 120, + "key": "", + "cert": "", + "rootCA": "", + "verifyServer": 0, + "verifyClient": 0, + "username": "faskensmqtt", + "passwd": "faskensmqtt@1903", + "authType": 1 + }, + "name": "default" + } + ], + "labels": [ + { + "key": "SN", + "value": "GF5022210011339" + }, + { + "key": "MAC", + "value": "00:18:05:1e:95:0f" + } + ], + "quickfaas": { + "genericFuncs": [], + "uploadFuncs": [ + { + "name": "Send Data", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "qos": 1, + "groups": [ + "default" + ], + "funcName": "sendData", + "script": "# Enter your python code.\nimport json\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nimport re, uuid, time\nfrom paho.mqtt import client\n\n\ndef sendData(message):\n #logger.debug(message)\n payload = {}\n for measure in message[\"measures\"]:\n try:\n logger.debug(measure)\n if measure[\"name\"] in [\"wellstatus\",\"pidcontrolmode\",\"downholesensorstatus\",\"alarmflowrate\",\"alarmintakepressure\",\"alarmintaketemperature\",\"alarmtubingpressure\",\"alarmvfd\",\"alarmlockout\",\"alarmfluidlevel\",\"runpermissive\",\"startpermissive\",\"last_vfd_fault_code\",\"vfd_fault\", \"flowmeter_fault\"]:\n logger.debug(\"Converting DINT/BOOL to STRING\")\n value = convert_int(measure[\"name\"], measure[\"value\"])\n logger.debug(\"Converted {} to {}\".format(measure[\"value\"], value))\n payload[measure[\"name\"]] = value\n payload[measure[\"name\"] + \"_int\"] = measure[\"value\"]\n else:\n payload[measure[\"name\"]] = measure[\"value\"] \n except Exception as e:\n logger.error(e)\n \n publish(__topic__, json.dumps(payload), __qos__)\n publish(\"v1/devices/me/attributes\", json.dumps({\"latestReportTime\": int(time.time()*1000)}), __qos__)\n\ndef convert_int(plc_tag, value):\n well_status_codes = {\n 0: \"Running\",\n 1: \"Pumped Off\",\n 2: \"Alarmed\",\n 3: \"Locked Out\",\n 4: \"Stopped\"\n }\n\n pid_control_codes = {\n 0: \"Flow\",\n 1: \"Fluid Level\",\n 2: \"Tubing Pressure\",\n 3: \"Manual\"\n }\n\n downhole_codes = {\n 0: \"OK\",\n 1: \"Connecting\",\n 2: \"Open Circuit\",\n 3: \"Shorted\",\n 4: \"Cannot Decode\"\n }\n\n permissive_codes = {\n 0: \"OK\",\n 1: \"Flow\",\n 2: \"Intake Pressure\",\n 3: \"Intake Temperature\",\n 4: \"Tubing Pressure\",\n 5: \"VFD\",\n 6: \"Fluid Level\",\n 7: \"Min. Downtime\"\n }\n\n alarm_codes = {\n 0: \"OK\",\n 1: \"Alarm\"\n }\n\n alarm_vfd_codes = {\n 0: \"OK\",\n 1: \"Locked Out\"\n }\n\n vfd_fault_codes = {\n 0: \"No Fault\",\n 2: \"Auxiliary Input\",\n 3: \"Power Loss\",\n 4: \"UnderVoltage\",\n 5: \"OverVoltage\",\n 7: \"Motor Overload\",\n 8: \"Heatsink OverTemp\",\n 9: \"Thermister OverTemp\",\n 10: \"Dynamic Brake OverTemp\",\n 12: \"Hardware OverCurrent\",\n 13: \"Ground Fault\",\n 14: \"Ground Warning\",\n 15: \"Load Loss\",\n 17: \"Input Phase Loss\",\n 18: \"Motor PTC Trip\",\n 19: \"Task Overrun\",\n 20: \"Torque Prove Speed Band\",\n 21: \"Output Phase Loss\",\n 24: \"Decel Inhibit\",\n 25: \"OverSpeed Limit\",\n 26: \"Brake Slipped\",\n 27: \"Torque Prove Conflict\",\n 28: \"TP Encls Confict\",\n 29: \"Analog In Loss\",\n 33: \"Auto Restarts Exhausted\",\n 35: \"IPM OverCurrent\",\n 36: \"SW OverCurrent\",\n 38: \"Phase U to Ground\",\n 39: \"Phase V to Ground\",\n 40: \"Phase W to Ground\",\n 41: \"Phase UV Short\",\n 42: \"Phase VW Short\",\n 43: \"Phase WU Short\",\n 44: \"Phase UNeg to Ground\",\n 45: \"Phase VNeg to Ground\",\n 46: \"Phase WNeg to Ground\",\n 48: \"System Defaulted\",\n 49: \"Drive Powerup\",\n 51: \"Clear Fault Queue\",\n 55: \"Control Board Overtemp\",\n 59: \"Invalid Code\",\n 61: \"Shear Pin 1\",\n 62: \"Shear Pin 2\",\n 64: \"Drive Overload\",\n 66: \"OW Torque Level\",\n 67: \"Pump Off\",\n 71: \"Port 1 Adapter\",\n 72: \"Port 2 Adapter\",\n 73: \"Port 3 Adapter\",\n 74: \"Port 4 Adapter\",\n 75: \"Port 5 Adapter\",\n 76: \"Port 6 Adapter\",\n 77: \"IR Volts Range\",\n 78: \"FluxAmps Ref Range\",\n 79: \"Excessive Load\",\n 80: \"AutoTune Aborted\",\n 81: \"Port 1 DPI Loss\",\n 82: \"Port 2 DPI Loss\",\n 83: \"Port 3 DPI Loss\",\n 84: \"Port 4 DPI Loss\",\n 85: \"Port 5 DPI Loss\",\n 86: \"Port 6 DPI Loss\",\n 87: \"IXo Voltage Range\",\n 91: \"Primary Velocity Feedback Loss\",\n 93: \"Hardware Enable Check\",\n 94: \"Alternate Velocity Feedback Loss\",\n 95: \"Auxiliary Velocity Feedback Loss\",\n 96: \"Position Feedback Loss\",\n 97: \"Auto Tach Switch\",\n 100: \"Parameter Checksum\",\n 101: \"Power Down NVS Blank\",\n 102: \"NVS Not Blank\",\n 103: \"Power Down NVS Incompatible\",\n 104: \"Power Board Checksum\",\n 106: \"Incompat MCB-PB\",\n 107: \"Replaced MCB-PB\",\n 108: \"Analog Calibration Checksum\",\n 110: \"Invalid Power Board Data\",\n 111: \"Power Board Invalid ID\",\n 112: \"Power Board App Min Version\",\n 113: \"Tracking DataError\",\n 115: \"Power Down Table Full\",\n 116: \"Power Down Entry Too Large\",\n 117: \"Power Down Data Checksum\",\n 118: \"Power Board Power Down Checksum\",\n 124: \"App ID Changed\",\n 125: \"Using Backup App\",\n 134: \"Start on Power Up\",\n 137: \"External Precharge Error\",\n 138: \"Precharge Open\",\n 141: \"Autotune Enc Angle\",\n 142: \"Autotune Speed Restricted\",\n 143: \"Autotune Current Regulator\",\n 144: \"Autotune Inertia\",\n 145: \"Autotune Travel\",\n 13035: \"Net IO Timeout\",\n 13037: \"Net IO Timeout\"\n\n }\n\n plc_tags = {\n \"wellstatus\": well_status_codes.get(value, \"Invalid Code\"),\n \"pidcontrolmode\": pid_control_codes.get(value, \"Invalid Code\"),\n \"downholesensorstatus\": downhole_codes.get(value, \"Invalid Code\"),\n \"alarmflowrate\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmintakepressure\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmintaketemperature\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmtubingpressure\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmvfd\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmlockout\": alarm_vfd_codes.get(value, \"Invalid Code\"),\n \"alarmfluidlevel\": alarm_codes.get(value, \"Invalid Code\"),\n \"runpermissive\": permissive_codes.get(value, \"Invalid Code\"),\n \"startpermissive\": permissive_codes.get(value, \"Invalid Code\"),\n \"last_vfd_fault_code\": vfd_fault_codes.get(value, \"Invalid Code\"),\n \"vfd_fault\": vfd_fault_codes.get(value, \"Invalid Code\"),\n \"flowmeter_fault\": alarm_codes.get(value, \"Invalid Code\")\n }\n\n return plc_tags.get(plc_tag, \"Invalid Tag\")\n\n ", + "msgType": 0, + "cloudName": "default" + } + ], + "downloadFuncs": [ + { + "name": "Commands", + "topic": "v1/devices/me/rpc/request/+", + "qos": 1, + "funcName": "receiveCommand", + "payload_type": "JSON", + "script": "# Enter your python code.\nimport json\nimport time\nfrom quickfaas.measure import recall\nfrom common.Logger import logger\n\ndef sync(wizard_api):\n #get new values and send\n payload = {}\n topic = \"v1/devices/me/telemetry\"\n try:\n data = recall()#json.loads(recall().decode(\"utf-8\"))\n except Exception as e:\n logger.error(e)\n logger.info(data)\n for controller in data:\n for measure in controller[\"measures\"]:\n #publish measure\n if measure[\"name\"] in [\"wellstatus\",\"pidcontrolmode\",\"downholesensorstatus\",\"alarmflowrate\",\"alarmintakepressure\",\"alarmintaketemperature\",\"alarmtubingpressure\",\"alarmvfd\",\"alarmlockout\",\"alarmfluidlevel\",\"runpermissive\",\"startpermissive\",\"last_vfd_fault_code\",\"vfd_fault\", \"flowmeter_fault\"]:\n payload[measure[\"name\"]] = convert_int(measure[\"name\"], measure[\"value\"])\n payload[measure[\"name\"]+ \"_int\"] = measure[\"value\"]\n else:\n payload[measure[\"name\"]] = measure[\"value\"]\n logger.debug(\"Sending on topic: {}\".format(topic))\n logger.debug(\"Sending value: {}\".format(payload))\n wizard_api.mqtt_publish(topic, json.dumps(payload))\ndef writeplctag(value, wizard_api):\n try:\n #value = json.loads(value.replace(\"'\",'\"'))\n logger.debug(value)\n message = {\"advvfdipp\":{value[\"measurement\"]: value[\"value\"]}}\n resp = wizard_api.write_plc_values(message)\n #logger.debug(\"RETURN FROM WRITE: {}\".format(resp))\n return True\n except Exception as e:\n logger.debug(e)\n return False\n \ndef receiveCommand(topic, payload, wizard_api):\n try:\n logger.debug(topic)\n logger.debug(json.loads(payload))\n p = json.loads(payload)\n command = p[\"method\"]\n commands = {\n \"sync\": sync,\n \"writeplctag\": writeplctag,\n } \n if command == \"setPLCTag\":\n result = commands[\"writeplctag\"](p[\"params\"],wizard_api)\n elif command == \"changeSetpoint\":\n try:\n params_type = {\"measurement\": \"pidcontrolmode\", \"value\": p[\"params\"][\"setpointType\"]}\n if params_type[\"value\"]:\n commands[\"writeplctag\"](params_type, wizard_api)\n time.sleep(2)\n except:\n pass\n try:\n modes = {0: \"flowsetpoint\", 1: \"fluidlevelsetpoint\", 2: \"tubingpressuresetpoint\", 3: \"manualfrequencysetpoint\"}\n params_value = {\"value\": p[\"params\"][\"setpointValue\"]}\n if params_value[\"value\"]:\n params_value[\"measurement\"] = modes[getMode()]\n commands[\"writeplctag\"](params_value, wizard_api)\n except:\n pass\n \n #logger.debug(command)\n ack(topic.split(\"/\")[-1], wizard_api)\n time.sleep(5)\n sync(wizard_api)\n except Exception as e:\n logger.debug(e)\n \n\ndef ack(msgid, wizard_api):\n #logger.debug(msgid)\n #logger.debug(mac)\n #logger.debug(name)\n #logger.debug(value)\n wizard_api.mqtt_publish(\"v1/devices/me/rpc/response/\" + str(msgid), json.dumps({\"msg\": {\"time\": time.time()}, \"metadata\": \"\", \"msgType\": \"\"}))\n\ndef getMode():\n try:\n data = recall()\n for controller in data:\n for measure in controller[\"measures\"]:\n if measure[\"name\"] == \"pidcontrolmode\":\n return measure[\"value\"]\n except:\n return None\n\ndef convert_int(plc_tag, value):\n well_status_codes = {\n 0: \"Running\",\n 1: \"Pumped Off\",\n 2: \"Alarmed\",\n 3: \"Locked Out\",\n 4: \"Stopped\"\n }\n\n pid_control_codes = {\n 0: \"Flow\",\n 1: \"Fluid Level\",\n 2: \"Tubing Pressure\",\n 3: \"Manual\"\n }\n\n downhole_codes = {\n 0: \"OK\",\n 1: \"Connecting\",\n 2: \"Open Circuit\",\n 3: \"Shorted\",\n 4: \"Cannot Decode\"\n }\n\n permissive_codes = {\n 0: \"OK\",\n 1: \"Flow\",\n 2: \"Intake Pressure\",\n 3: \"Intake Temperature\",\n 4: \"Tubing Pressure\",\n 5: \"VFD\",\n 6: \"Fluid Level\",\n 7: \"Min. Downtime\"\n }\n\n alarm_codes = {\n 0: \"OK\",\n 1: \"Alarm\"\n }\n\n alarm_vfd_codes = {\n 0: \"OK\",\n 1: \"Locked Out\"\n }\n\n vfd_fault_codes = {\n 0: \"No Fault\",\n 2: \"Auxiliary Input\",\n 3: \"Power Loss\",\n 4: \"UnderVoltage\",\n 5: \"OverVoltage\",\n 7: \"Motor Overload\",\n 8: \"Heatsink OverTemp\",\n 9: \"Thermister OverTemp\",\n 10: \"Dynamic Brake OverTemp\",\n 12: \"Hardware OverCurrent\",\n 13: \"Ground Fault\",\n 14: \"Ground Warning\",\n 15: \"Load Loss\",\n 17: \"Input Phase Loss\",\n 18: \"Motor PTC Trip\",\n 19: \"Task Overrun\",\n 20: \"Torque Prove Speed Band\",\n 21: \"Output Phase Loss\",\n 24: \"Decel Inhibit\",\n 25: \"OverSpeed Limit\",\n 26: \"Brake Slipped\",\n 27: \"Torque Prove Conflict\",\n 28: \"TP Encls Confict\",\n 29: \"Analog In Loss\",\n 33: \"Auto Restarts Exhausted\",\n 35: \"IPM OverCurrent\",\n 36: \"SW OverCurrent\",\n 38: \"Phase U to Ground\",\n 39: \"Phase V to Ground\",\n 40: \"Phase W to Ground\",\n 41: \"Phase UV Short\",\n 42: \"Phase VW Short\",\n 43: \"Phase WU Short\",\n 44: \"Phase UNeg to Ground\",\n 45: \"Phase VNeg to Ground\",\n 46: \"Phase WNeg to Ground\",\n 48: \"System Defaulted\",\n 49: \"Drive Powerup\",\n 51: \"Clear Fault Queue\",\n 55: \"Control Board Overtemp\",\n 59: \"Invalid Code\",\n 61: \"Shear Pin 1\",\n 62: \"Shear Pin 2\",\n 64: \"Drive Overload\",\n 66: \"OW Torque Level\",\n 67: \"Pump Off\",\n 71: \"Port 1 Adapter\",\n 72: \"Port 2 Adapter\",\n 73: \"Port 3 Adapter\",\n 74: \"Port 4 Adapter\",\n 75: \"Port 5 Adapter\",\n 76: \"Port 6 Adapter\",\n 77: \"IR Volts Range\",\n 78: \"FluxAmps Ref Range\",\n 79: \"Excessive Load\",\n 80: \"AutoTune Aborted\",\n 81: \"Port 1 DPI Loss\",\n 82: \"Port 2 DPI Loss\",\n 83: \"Port 3 DPI Loss\",\n 84: \"Port 4 DPI Loss\",\n 85: \"Port 5 DPI Loss\",\n 86: \"Port 6 DPI Loss\",\n 87: \"IXo Voltage Range\",\n 91: \"Primary Velocity Feedback Loss\",\n 93: \"Hardware Enable Check\",\n 94: \"Alternate Velocity Feedback Loss\",\n 95: \"Auxiliary Velocity Feedback Loss\",\n 96: \"Position Feedback Loss\",\n 97: \"Auto Tach Switch\",\n 100: \"Parameter Checksum\",\n 101: \"Power Down NVS Blank\",\n 102: \"NVS Not Blank\",\n 103: \"Power Down NVS Incompatible\",\n 104: \"Power Board Checksum\",\n 106: \"Incompat MCB-PB\",\n 107: \"Replaced MCB-PB\",\n 108: \"Analog Calibration Checksum\",\n 110: \"Invalid Power Board Data\",\n 111: \"Power Board Invalid ID\",\n 112: \"Power Board App Min Version\",\n 113: \"Tracking DataError\",\n 115: \"Power Down Table Full\",\n 116: \"Power Down Entry Too Large\",\n 117: \"Power Down Data Checksum\",\n 118: \"Power Board Power Down Checksum\",\n 124: \"App ID Changed\",\n 125: \"Using Backup App\",\n 134: \"Start on Power Up\",\n 137: \"External Precharge Error\",\n 138: \"Precharge Open\",\n 141: \"Autotune Enc Angle\",\n 142: \"Autotune Speed Restricted\",\n 143: \"Autotune Current Regulator\",\n 144: \"Autotune Inertia\",\n 145: \"Autotune Travel\",\n 13035: \"Net IO Timeout\",\n 13037: \"Net IO Timeout\"\n\n }\n\n plc_tags = {\n \"wellstatus\": well_status_codes.get(value, \"Invalid Code\"),\n \"pidcontrolmode\": pid_control_codes.get(value, \"Invalid Code\"),\n \"downholesensorstatus\": downhole_codes.get(value, \"Invalid Code\"),\n \"alarmflowrate\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmintakepressure\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmintaketemperature\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmtubingpressure\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmvfd\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmlockout\": alarm_vfd_codes.get(value, \"Invalid Code\"),\n \"alarmfluidlevel\": alarm_codes.get(value, \"Invalid Code\"),\n \"runpermissive\": permissive_codes.get(value, \"Invalid Code\"),\n \"startpermissive\": permissive_codes.get(value, \"Invalid Code\"),\n \"last_vfd_fault_code\": vfd_fault_codes.get(value, \"Invalid Code\"),\n \"vfd_fault\": vfd_fault_codes.get(value, \"Invalid Code\"),\n \"flowmeter_fault\": alarm_codes.get(value, \"Invalid Code\")\n }\n\n return plc_tags.get(plc_tag, \"Invalid Tag\")\n", + "msgType": 0, + "trigger": "command_event", + "cloudName": "default" + } + ] + }, + "modbusSlave": { + "enable": 0, + "protocol": "Modbus-TCP", + "port": 502, + "slaveAddr": 1, + "int16Ord": "ab", + "int32Ord": "abcd", + "float32Ord": "abcd", + "maxConnection": 5, + "mapping_table": [] + }, + "iec104Server": { + "enable": 0, + "cotSize": 2, + "port": 2404, + "serverList": [ + { + "asduAddr": 1 + } + ], + "kValue": 12, + "wValue": 8, + "t0": 15, + "t1": 15, + "t2": 10, + "t3": 20, + "maximumLink": 5, + "timeSet": 1, + "byteOrder": "abcd", + "mapping_table": [] + }, + "opcuaServer": { + "enable": 0, + "port": 4840, + "maximumLink": 5, + "securityMode": 0, + "identifierType": "String", + "mapping_table": [] + }, + "bindConfig": { + "enable": 0, + "bind": { + "modelId": "", + "modelName": "", + "srcId": "", + "srcName": "", + "devId": "", + "devName": "" + }, + "varGroups": [], + "variables": [], + "alerts": [] + }, + "southMetadata": {}, + "bindMetadata": { + "version": "", + "timestamp": "" + } +} \ No newline at end of file diff --git a/Pub_Sub/advvfdipp/thingsboard/v2/device_supervisor_advvfdippv2.cfg b/Pub_Sub/advvfdipp/thingsboard/v3/advvfdipp_tb_v3.cfg similarity index 57% rename from Pub_Sub/advvfdipp/thingsboard/v2/device_supervisor_advvfdippv2.cfg rename to Pub_Sub/advvfdipp/thingsboard/v3/advvfdipp_tb_v3.cfg index 4f619b9..2076bff 100644 --- a/Pub_Sub/advvfdipp/thingsboard/v2/device_supervisor_advvfdippv2.cfg +++ b/Pub_Sub/advvfdipp/thingsboard/v3/advvfdipp_tb_v3.cfg @@ -4,7 +4,7 @@ "protocol": "EtherNet/IP", "name": "advvfdipp", "args": {}, - "samplePeriod": 10, + "samplePeriod": 2, "expired": 10000, "endpoint": "192.168.1.10:44818" } @@ -916,6 +916,7 @@ "readWrite": "ro", "uploadType": "periodic", "group": "default", + "decimal": 2, "name": "flowrate_gpm", "desc": "", "unit": "", @@ -925,8 +926,7 @@ "maxValue": "", "minValue": "", "maxScaleValue": "", - "minScaleValue": "", - "decimal": 2 + "minScaleValue": "" }, { "ctrlName": "advvfdipp", @@ -947,12 +947,11 @@ "minScaleValue": "", "decimal": 2 } - ], "alarms": [], "misc": { "maxAlarmRecordSz": 2000, - "logLvl": "DEBUG", + "logLvl": "INFO", "coms": [ { "name": "rs232", @@ -976,9 +975,9 @@ "enable": 1, "type": "Standard MQTT", "args": { - "host": "thingsboard.cloud", + "host": "hp.henrypump.cloud", "port": 1883, - "clientId": "faskens-test", + "clientId": "unknown", "auth": 1, "tls": 0, "cleanSession": 1, @@ -989,8 +988,8 @@ "rootCA": "", "verifyServer": 0, "verifyClient": 0, - "username": "hpfaskens", - "passwd": "hpfaskens", + "username": "unknown", + "passwd": "unknown", "authType": 1 }, "name": "default" @@ -999,19 +998,11 @@ "labels": [ { "key": "SN", - "value": "GF5022137006251" + "value": "GF5022210011339" }, { "key": "MAC", - "value": "00:18:05:1a:e5:36" - }, - { - "key": "MAC_UPPER", - "value": "00:18:05:1A:E5:37" - }, - { - "key": "MAC_LOWER", - "value": "00:18:05:1a:e5:37" + "value": "00:18:05:1e:95:0f" } ], "quickfaas": { @@ -1026,7 +1017,7 @@ "default" ], "funcName": "sendData", - "script": "# Enter your python code.\nimport json\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nimport re, uuid\nfrom paho.mqtt import client\n\n\ndef sendData(message):\n #logger.debug(message)\n payload = {}\n for measure in message[\"measures\"]:\n try:\n logger.debug(measure)\n if measure[\"name\"] in [\"wellstatus\",\"pidcontrolmode\",\"downholesensorstatus\",\"alarmflowrate\",\"alarmintakepressure\",\"alarmintaketemperature\",\"alarmtubingpressure\",\"alarmvfd\",\"alarmlockout\",\"alarmfluidlevel\",\"runpermissive\",\"startpermissive\",\"last_vfd_fault_code\",\"vfd_fault\", \"flowmeter_fault\"]:\n logger.debug(\"Converting DINT/BOOL to STRING\")\n value = convert_int(measure[\"name\"], measure[\"value\"])\n logger.debug(\"Converted {} to {}\".format(measure[\"value\"], value))\n payload[measure[\"name\"]] = value\n payload[measure[\"name\"] + \"_int\"] = measure[\"value\"]\n else:\n payload[measure[\"name\"]] = measure[\"value\"] \n except Exception as e:\n logger.error(e)\n \n publish(__topic__, json.dumps(payload), __qos__)\n\ndef convert_int(plc_tag, value):\n well_status_codes = {\n 0: \"Running\",\n 1: \"Pumped Off\",\n 2: \"Alarmed\",\n 3: \"Locked Out\",\n 4: \"Stopped\"\n }\n\n pid_control_codes = {\n 0: \"Flow\",\n 1: \"Fluid Level\",\n 2: \"Tubing Pressure\",\n 3: \"Manual\"\n }\n\n downhole_codes = {\n 0: \"OK\",\n 1: \"Connecting\",\n 2: \"Open Circuit\",\n 3: \"Shorted\",\n 4: \"Cannot Decode\"\n }\n\n permissive_codes = {\n 0: \"OK\",\n 1: \"Flow\",\n 2: \"Intake Pressure\",\n 3: \"Intake Temperature\",\n 4: \"Tubing Pressure\",\n 5: \"VFD\",\n 6: \"Fluid Level\",\n 7: \"Min. Downtime\"\n }\n\n alarm_codes = {\n 0: \"OK\",\n 1: \"Alarm\"\n }\n\n alarm_vfd_codes = {\n 0: \"OK\",\n 1: \"Locked Out\"\n }\n\n vfd_fault_codes = {\n 0: \"No Fault\",\n 2: \"Auxiliary Input\",\n 3: \"Power Loss\",\n 4: \"UnderVoltage\",\n 5: \"OverVoltage\",\n 7: \"Motor Overload\",\n 8: \"Heatsink OverTemp\",\n 9: \"Thermister OverTemp\",\n 10: \"Dynamic Brake OverTemp\",\n 12: \"Hardware OverCurrent\",\n 13: \"Ground Fault\",\n 14: \"Ground Warning\",\n 15: \"Load Loss\",\n 17: \"Input Phase Loss\",\n 18: \"Motor PTC Trip\",\n 19: \"Task Overrun\",\n 20: \"Torque Prove Speed Band\",\n 21: \"Output Phase Loss\",\n 24: \"Decel Inhibit\",\n 25: \"OverSpeed Limit\",\n 26: \"Brake Slipped\",\n 27: \"Torque Prove Conflict\",\n 28: \"TP Encls Confict\",\n 29: \"Analog In Loss\",\n 33: \"Auto Restarts Exhausted\",\n 35: \"IPM OverCurrent\",\n 36: \"SW OverCurrent\",\n 38: \"Phase U to Ground\",\n 39: \"Phase V to Ground\",\n 40: \"Phase W to Ground\",\n 41: \"Phase UV Short\",\n 42: \"Phase VW Short\",\n 43: \"Phase WU Short\",\n 44: \"Phase UNeg to Ground\",\n 45: \"Phase VNeg to Ground\",\n 46: \"Phase WNeg to Ground\",\n 48: \"System Defaulted\",\n 49: \"Drive Powerup\",\n 51: \"Clear Fault Queue\",\n 55: \"Control Board Overtemp\",\n 59: \"Invalid Code\",\n 61: \"Shear Pin 1\",\n 62: \"Shear Pin 2\",\n 64: \"Drive Overload\",\n 66: \"OW Torque Level\",\n 67: \"Pump Off\",\n 71: \"Port 1 Adapter\",\n 72: \"Port 2 Adapter\",\n 73: \"Port 3 Adapter\",\n 74: \"Port 4 Adapter\",\n 75: \"Port 5 Adapter\",\n 76: \"Port 6 Adapter\",\n 77: \"IR Volts Range\",\n 78: \"FluxAmps Ref Range\",\n 79: \"Excessive Load\",\n 80: \"AutoTune Aborted\",\n 81: \"Port 1 DPI Loss\",\n 82: \"Port 2 DPI Loss\",\n 83: \"Port 3 DPI Loss\",\n 84: \"Port 4 DPI Loss\",\n 85: \"Port 5 DPI Loss\",\n 86: \"Port 6 DPI Loss\",\n 87: \"IXo Voltage Range\",\n 91: \"Primary Velocity Feedback Loss\",\n 93: \"Hardware Enable Check\",\n 94: \"Alternate Velocity Feedback Loss\",\n 95: \"Auxiliary Velocity Feedback Loss\",\n 96: \"Position Feedback Loss\",\n 97: \"Auto Tach Switch\",\n 100: \"Parameter Checksum\",\n 101: \"Power Down NVS Blank\",\n 102: \"NVS Not Blank\",\n 103: \"Power Down NVS Incompatible\",\n 104: \"Power Board Checksum\",\n 106: \"Incompat MCB-PB\",\n 107: \"Replaced MCB-PB\",\n 108: \"Analog Calibration Checksum\",\n 110: \"Invalid Power Board Data\",\n 111: \"Power Board Invalid ID\",\n 112: \"Power Board App Min Version\",\n 113: \"Tracking DataError\",\n 115: \"Power Down Table Full\",\n 116: \"Power Down Entry Too Large\",\n 117: \"Power Down Data Checksum\",\n 118: \"Power Board Power Down Checksum\",\n 124: \"App ID Changed\",\n 125: \"Using Backup App\",\n 134: \"Start on Power Up\",\n 137: \"External Precharge Error\",\n 138: \"Precharge Open\",\n 141: \"Autotune Enc Angle\",\n 142: \"Autotune Speed Restricted\",\n 143: \"Autotune Current Regulator\",\n 144: \"Autotune Inertia\",\n 145: \"Autotune Travel\",\n 13035: \"Net IO Timeout\",\n 13037: \"Net IO Timeout\"\n\n }\n\n plc_tags = {\n \"wellstatus\": well_status_codes.get(value, \"Invalid Code\"),\n \"pidcontrolmode\": pid_control_codes.get(value, \"Invalid Code\"),\n \"downholesensorstatus\": downhole_codes.get(value, \"Invalid Code\"),\n \"alarmflowrate\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmintakepressure\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmintaketemperature\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmtubingpressure\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmvfd\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmlockout\": alarm_vfd_codes.get(value, \"Invalid Code\"),\n \"alarmfluidlevel\": alarm_codes.get(value, \"Invalid Code\"),\n \"runpermissive\": permissive_codes.get(value, \"Invalid Code\"),\n \"startpermissive\": permissive_codes.get(value, \"Invalid Code\"),\n \"last_vfd_fault_code\": vfd_fault_codes.get(value, \"Invalid Code\"),\n \"vfd_fault\": vfd_fault_codes.get(value, \"Invalid Code\"),\n \"flowmeter_fault\": alarm_codes.get(value, \"Invalid Code\")\n }\n\n return plc_tags.get(plc_tag, \"Invalid Tag\")\n\n ", + "script": "# Enter your python code.\nimport json, os\nfrom datetime import datetime as dt\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nfrom quickfaas.global_dict import get as get_params\nfrom quickfaas.global_dict import _set_global_args\n\ndef reboot():\n #basic = Basic()\n logger.info(\"!\" * 10 + \"REBOOTING DEVICE\" + \"!\"*10)\n r = os.popen(\"kill -s SIGHUP `cat /var/run/python/supervisord.pid`\").read()\n logger.info(f\"REBOOT : {r}\")\n\ndef checkFileExist(filename):\n path = \"/var/user/files\"\n if not os.path.exists(path):\n logger.info(\"no folder making files folder in var/user\")\n os.makedirs(path)\n with open(path + \"/\" + filename, \"a\") as f:\n json.dump({}, f)\n if not os.path.exists(path + \"/\" + filename):\n logger.info(\"no creds file making creds file\")\n with open(path + \"/\" + filename, \"a\") as f:\n json.dump({}, f)\n\ndef convertDStoJSON(ds):\n j = dict()\n for x in ds:\n j[x[\"key\"]] = x[\"value\"]\n return j\n\ndef convertJSONtoDS(j):\n d = []\n for key in j.keys():\n d.append({\"key\": key, \"value\": j[key]})\n return d\n\ndef checkCredentialConfig():\n logger.info(\"CHECKING CONFIG\")\n cfgpath = \"/var/user/cfg/device_supervisor/device_supervisor.cfg\"\n credspath = \"/var/user/files/creds.json\"\n cfg = dict()\n with open(cfgpath, \"r\") as f:\n cfg = json.load(f)\n clouds = cfg.get(\"clouds\")\n logger.info(clouds)\n #if not configured then try to configure from stored values\n if clouds[0][\"args\"][\"clientId\"] == \"unknown\" or clouds[0][\"args\"][\"username\"] == \"unknown\" or not clouds[0][\"args\"][\"passwd\"] or clouds[0][\"args\"][\"passwd\"] == \"unknown\":\n checkFileExist(\"creds.json\")\n with open(credspath, \"r\") as c:\n creds = json.load(c)\n if creds:\n logger.info(\"updating config with stored data\")\n clouds[0][\"args\"][\"clientId\"] = creds[\"clientId\"]\n clouds[0][\"args\"][\"username\"] = creds[\"userName\"]\n clouds[0][\"args\"][\"passwd\"] = creds[\"password\"]\n cfg[\"clouds\"] = clouds\n cfg = checkParameterConfig(cfg)\n with open(cfgpath, \"w\", encoding='utf-8') as n:\n json.dump(cfg, n, indent=1, ensure_ascii=False)\n reboot()\n else:\n #assuming clouds is filled out, if data is different then assume someone typed in something new and store it, if creds is empty fill with clouds' data\n checkFileExist(\"creds.json\")\n with open(credspath, \"r\") as c:\n logger.info(\"updating stored file with new data\")\n cfg = checkParameterConfig(cfg)\n with open(cfgpath, \"w\", encoding='utf-8') as n:\n json.dump(cfg, n, indent=1, ensure_ascii=False)\n creds = json.load(c)\n if creds:\n if creds[\"clientId\"] != clouds[0][\"args\"][\"clientId\"]:\n creds[\"clientId\"] = clouds[0][\"args\"][\"clientId\"]\n if creds[\"userName\"] != clouds[0][\"args\"][\"username\"]:\n creds[\"userName\"] = clouds[0][\"args\"][\"username\"]\n if creds[\"password\"] != clouds[0][\"args\"][\"passwd\"]:\n creds[\"password\"] = clouds[0][\"args\"][\"passwd\"]\n else:\n creds[\"clientId\"] = clouds[0][\"args\"][\"clientId\"]\n creds[\"userName\"] = clouds[0][\"args\"][\"username\"]\n creds[\"password\"] = clouds[0][\"args\"][\"passwd\"]\n with open(credspath, \"w\") as cw:\n json.dump(creds,cw)\n\ndef checkParameterConfig(cfg):\n logger.info(\"Checking Parameters!!!!\")\n paramspath = \"/var/user/files/params.json\"\n cfgparams = convertDStoJSON(cfg.get(\"labels\"))\n #check stored values \n checkFileExist(\"params.json\")\n with open(paramspath, \"r\") as f:\n logger.info(\"Opened param storage file\")\n params = json.load(f)\n if params:\n if cfgparams != params:\n #go through each param\n #if not \"unknown\" and cfg and params aren't the same take from cfg likely updated manually\n #if key in cfg but not in params copy to params\n logger.info(\"equalizing params between cfg and stored\")\n for key in cfgparams.keys():\n try:\n if cfgparams[key] != params[key] and cfgparams[key] != \"unknown\":\n params[key] = cfgparams[key]\n except:\n params[key] = cfgparams[key]\n cfg[\"labels\"] = convertJSONtoDS(params)\n _set_global_args(convertJSONtoDS(params))\n with open(paramspath, \"w\") as p:\n json.dump(params, p)\n else:\n with open(paramspath, \"w\") as p:\n logger.info(\"initializing param file with params in memory\")\n json.dump(convertDStoJSON(get_params()), p)\n cfg[\"labels\"] = get_params()\n \n return cfg\n\ndef sendData(message):\n #logger.debug(message)\n try:\n checkCredentialConfig()\n except Exception as e:\n logger.error(e)\n payload = {\"ts\": (round(dt.timestamp(dt.now())/600)*600)*1000, \"values\": {}}\n for measure in message[\"measures\"]:\n try:\n logger.debug(measure)\n if measure[\"name\"] in [\"wellstatus\",\"pidcontrolmode\",\"downholesensorstatus\",\"alarmflowrate\",\"alarmintakepressure\",\"alarmintaketemperature\",\"alarmtubingpressure\",\"alarmvfd\",\"alarmlockout\",\"alarmfluidlevel\",\"runpermissive\",\"startpermissive\",\"last_vfd_fault_code\",\"vfd_fault\", \"flowmeter_fault\"]:\n logger.debug(\"Converting DINT/BOOL to STRING\")\n value = convert_int(measure[\"name\"], measure[\"value\"])\n logger.debug(\"Converted {} to {}\".format(measure[\"value\"], value))\n payload[\"values\"][measure[\"name\"]] = value\n payload[\"values\"][measure[\"name\"] + \"_int\"] = measure[\"value\"]\n else:\n payload[\"values\"][measure[\"name\"]] = measure[\"value\"] \n except Exception as e:\n logger.error(e)\n \n publish(__topic__, json.dumps(payload), __qos__)\n publish(\"v1/devices/me/attributes\", json.dumps({\"latestReportTime\": (round(dt.timestamp(dt.now())/600)*600)*1000}), __qos__)\n\ndef convert_int(plc_tag, value):\n well_status_codes = {\n 0: \"Running\",\n 1: \"Pumped Off\",\n 2: \"Alarmed\",\n 3: \"Locked Out\",\n 4: \"Stopped\"\n }\n\n pid_control_codes = {\n 0: \"Flow\",\n 1: \"Fluid Level\",\n 2: \"Tubing Pressure\",\n 3: \"Manual\"\n }\n\n downhole_codes = {\n 0: \"OK\",\n 1: \"Connecting\",\n 2: \"Open Circuit\",\n 3: \"Shorted\",\n 4: \"Cannot Decode\"\n }\n\n permissive_codes = {\n 0: \"OK\",\n 1: \"Flow\",\n 2: \"Intake Pressure\",\n 3: \"Intake Temperature\",\n 4: \"Tubing Pressure\",\n 5: \"VFD\",\n 6: \"Fluid Level\",\n 7: \"Min. Downtime\"\n }\n\n alarm_codes = {\n 0: \"OK\",\n 1: \"Alarm\"\n }\n\n alarm_vfd_codes = {\n 0: \"OK\",\n 1: \"Locked Out\"\n }\n\n vfd_fault_codes = {\n 0: \"No Fault\",\n 2: \"Auxiliary Input\",\n 3: \"Power Loss\",\n 4: \"UnderVoltage\",\n 5: \"OverVoltage\",\n 7: \"Motor Overload\",\n 8: \"Heatsink OverTemp\",\n 9: \"Thermister OverTemp\",\n 10: \"Dynamic Brake OverTemp\",\n 12: \"Hardware OverCurrent\",\n 13: \"Ground Fault\",\n 14: \"Ground Warning\",\n 15: \"Load Loss\",\n 17: \"Input Phase Loss\",\n 18: \"Motor PTC Trip\",\n 19: \"Task Overrun\",\n 20: \"Torque Prove Speed Band\",\n 21: \"Output Phase Loss\",\n 24: \"Decel Inhibit\",\n 25: \"OverSpeed Limit\",\n 26: \"Brake Slipped\",\n 27: \"Torque Prove Conflict\",\n 28: \"TP Encls Confict\",\n 29: \"Analog In Loss\",\n 33: \"Auto Restarts Exhausted\",\n 35: \"IPM OverCurrent\",\n 36: \"SW OverCurrent\",\n 38: \"Phase U to Ground\",\n 39: \"Phase V to Ground\",\n 40: \"Phase W to Ground\",\n 41: \"Phase UV Short\",\n 42: \"Phase VW Short\",\n 43: \"Phase WU Short\",\n 44: \"Phase UNeg to Ground\",\n 45: \"Phase VNeg to Ground\",\n 46: \"Phase WNeg to Ground\",\n 48: \"System Defaulted\",\n 49: \"Drive Powerup\",\n 51: \"Clear Fault Queue\",\n 55: \"Control Board Overtemp\",\n 59: \"Invalid Code\",\n 61: \"Shear Pin 1\",\n 62: \"Shear Pin 2\",\n 64: \"Drive Overload\",\n 66: \"OW Torque Level\",\n 67: \"Pump Off\",\n 71: \"Port 1 Adapter\",\n 72: \"Port 2 Adapter\",\n 73: \"Port 3 Adapter\",\n 74: \"Port 4 Adapter\",\n 75: \"Port 5 Adapter\",\n 76: \"Port 6 Adapter\",\n 77: \"IR Volts Range\",\n 78: \"FluxAmps Ref Range\",\n 79: \"Excessive Load\",\n 80: \"AutoTune Aborted\",\n 81: \"Port 1 DPI Loss\",\n 82: \"Port 2 DPI Loss\",\n 83: \"Port 3 DPI Loss\",\n 84: \"Port 4 DPI Loss\",\n 85: \"Port 5 DPI Loss\",\n 86: \"Port 6 DPI Loss\",\n 87: \"IXo Voltage Range\",\n 91: \"Primary Velocity Feedback Loss\",\n 93: \"Hardware Enable Check\",\n 94: \"Alternate Velocity Feedback Loss\",\n 95: \"Auxiliary Velocity Feedback Loss\",\n 96: \"Position Feedback Loss\",\n 97: \"Auto Tach Switch\",\n 100: \"Parameter Checksum\",\n 101: \"Power Down NVS Blank\",\n 102: \"NVS Not Blank\",\n 103: \"Power Down NVS Incompatible\",\n 104: \"Power Board Checksum\",\n 106: \"Incompat MCB-PB\",\n 107: \"Replaced MCB-PB\",\n 108: \"Analog Calibration Checksum\",\n 110: \"Invalid Power Board Data\",\n 111: \"Power Board Invalid ID\",\n 112: \"Power Board App Min Version\",\n 113: \"Tracking DataError\",\n 115: \"Power Down Table Full\",\n 116: \"Power Down Entry Too Large\",\n 117: \"Power Down Data Checksum\",\n 118: \"Power Board Power Down Checksum\",\n 124: \"App ID Changed\",\n 125: \"Using Backup App\",\n 134: \"Start on Power Up\",\n 137: \"External Precharge Error\",\n 138: \"Precharge Open\",\n 141: \"Autotune Enc Angle\",\n 142: \"Autotune Speed Restricted\",\n 143: \"Autotune Current Regulator\",\n 144: \"Autotune Inertia\",\n 145: \"Autotune Travel\",\n 13035: \"Net IO Timeout\",\n 13037: \"Net IO Timeout\"\n\n }\n\n plc_tags = {\n \"wellstatus\": well_status_codes.get(value, \"Invalid Code\"),\n \"pidcontrolmode\": pid_control_codes.get(value, \"Invalid Code\"),\n \"downholesensorstatus\": downhole_codes.get(value, \"Invalid Code\"),\n \"alarmflowrate\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmintakepressure\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmintaketemperature\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmtubingpressure\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmvfd\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmlockout\": alarm_vfd_codes.get(value, \"Invalid Code\"),\n \"alarmfluidlevel\": alarm_codes.get(value, \"Invalid Code\"),\n \"runpermissive\": permissive_codes.get(value, \"Invalid Code\"),\n \"startpermissive\": permissive_codes.get(value, \"Invalid Code\"),\n \"last_vfd_fault_code\": vfd_fault_codes.get(value, \"Invalid Code\"),\n \"vfd_fault\": vfd_fault_codes.get(value, \"Invalid Code\"),\n \"flowmeter_fault\": alarm_codes.get(value, \"Invalid Code\")\n }\n\n return plc_tags.get(plc_tag, \"Invalid Tag\")\n\n ", "msgType": 0, "cloudName": "default" } @@ -1038,7 +1029,7 @@ "qos": 1, "funcName": "receiveCommand", "payload_type": "JSON", - "script": "# Enter your python code.\nimport json\nimport time\nfrom quickfaas.measure import recall\nfrom common.Logger import logger\n\ndef sync(wizard_api):\n #get new values and send\n payload = {}\n topic = \"v1/devices/me/telemetry\"\n try:\n data = recall()#json.loads(recall().decode(\"utf-8\"))\n except Exception as e:\n logger.error(e)\n logger.info(data)\n for controller in data:\n for measure in controller[\"measures\"]:\n #publish measure\n if measure[\"name\"] in [\"wellstatus\",\"pidcontrolmode\",\"downholesensorstatus\",\"alarmflowrate\",\"alarmintakepressure\",\"alarmintaketemperature\",\"alarmtubingpressure\",\"alarmvfd\",\"alarmlockout\",\"alarmfluidlevel\",\"runpermissive\",\"startpermissive\",\"last_vfd_fault_code\",\"vfd_fault\", \"flowmeter_fault\"]:\n payload[measure[\"name\"]] = convert_int(measure[\"name\"], measure[\"value\"])\n payload[measure[\"name\"]+ \"_int\"] = measure[\"value\"]\n else:\n payload[measure[\"name\"]] = measure[\"value\"]\n logger.debug(\"Sending on topic: {}\".format(topic))\n logger.debug(\"Sending value: {}\".format(payload))\n wizard_api.mqtt_publish(topic, json.dumps(payload))\ndef writeplctag(value, wizard_api):\n try:\n #value = json.loads(value.replace(\"'\",'\"'))\n logger.debug(value)\n message = {\"advvfdipp\":{value[\"measurement\"]: value[\"value\"]}}\n resp = wizard_api.write_plc_values(message)\n #logger.debug(\"RETURN FROM WRITE: {}\".format(resp))\n return True\n except Exception as e:\n logger.debug(e)\n return False\n \ndef receiveCommand(topic, payload, wizard_api):\n try:\n logger.debug(topic)\n logger.debug(json.loads(payload))\n p = json.loads(payload)\n command = p[\"method\"]\n commands = {\n \"sync\": sync,\n \"writeplctag\": writeplctag,\n } \n if command == \"setPLCTag\":\n result = commands[\"writeplctag\"](p[\"params\"],wizard_api)\n elif command == \"changeSetpoint\":\n try:\n params_type = {\"measurement\": \"pidcontrolmode\", \"value\": p[\"params\"][\"setpointType\"]}\n if params_type[\"value\"]:\n commands[\"writeplctag\"](params_type, wizard_api)\n time.sleep(2)\n except:\n pass\n try:\n modes = {0: \"flowsetpoint\", 1: \"fluidlevelsetpoint\", 2: \"tubingpressuresetpoint\", 3: \"manualfrequencysetpoint\"}\n params_value = {\"value\": p[\"params\"][\"setpointValue\"]}\n if params_value[\"value\"]:\n params_value[\"measurement\"] = modes[getMode()]\n commands[\"writeplctag\"](params_value, wizard_api)\n except Exception as e:\n logger.debug(\"DID NOT WRITE SETPOINT\")\n logger.debug(e)\n \n #logger.debug(command)\n ack(topic.split(\"/\")[-1], wizard_api)\n time.sleep(5)\n sync(wizard_api)\n except Exception as e:\n logger.debug(e)\n \n\ndef ack(msgid, wizard_api):\n #logger.debug(msgid)\n #logger.debug(mac)\n #logger.debug(name)\n #logger.debug(value)\n wizard_api.mqtt_publish(\"v1/devices/me/rpc/response/\" + str(msgid), json.dumps({\"msg\": {\"time\": time.time()}, \"metadata\": \"\", \"msgType\": \"\"}))\n\ndef getMode():\n try:\n data = recall()\n for controller in data:\n for measure in controller[\"measures\"]:\n if measure[\"name\"] == \"pidcontrolmode\":\n return measure[\"value\"]\n except:\n return None\n\ndef convert_int(plc_tag, value):\n well_status_codes = {\n 0: \"Running\",\n 1: \"Pumped Off\",\n 2: \"Alarmed\",\n 3: \"Locked Out\",\n 4: \"Stopped\"\n }\n\n pid_control_codes = {\n 0: \"Flow\",\n 1: \"Fluid Level\",\n 2: \"Tubing Pressure\",\n 3: \"Manual\"\n }\n\n downhole_codes = {\n 0: \"OK\",\n 1: \"Connecting\",\n 2: \"Open Circuit\",\n 3: \"Shorted\",\n 4: \"Cannot Decode\"\n }\n\n permissive_codes = {\n 0: \"OK\",\n 1: \"Flow\",\n 2: \"Intake Pressure\",\n 3: \"Intake Temperature\",\n 4: \"Tubing Pressure\",\n 5: \"VFD\",\n 6: \"Fluid Level\",\n 7: \"Min. Downtime\"\n }\n\n alarm_codes = {\n 0: \"OK\",\n 1: \"Alarm\"\n }\n\n alarm_vfd_codes = {\n 0: \"OK\",\n 1: \"Locked Out\"\n }\n\n vfd_fault_codes = {\n 0: \"No Fault\",\n 2: \"Auxiliary Input\",\n 3: \"Power Loss\",\n 4: \"UnderVoltage\",\n 5: \"OverVoltage\",\n 7: \"Motor Overload\",\n 8: \"Heatsink OverTemp\",\n 9: \"Thermister OverTemp\",\n 10: \"Dynamic Brake OverTemp\",\n 12: \"Hardware OverCurrent\",\n 13: \"Ground Fault\",\n 14: \"Ground Warning\",\n 15: \"Load Loss\",\n 17: \"Input Phase Loss\",\n 18: \"Motor PTC Trip\",\n 19: \"Task Overrun\",\n 20: \"Torque Prove Speed Band\",\n 21: \"Output Phase Loss\",\n 24: \"Decel Inhibit\",\n 25: \"OverSpeed Limit\",\n 26: \"Brake Slipped\",\n 27: \"Torque Prove Conflict\",\n 28: \"TP Encls Confict\",\n 29: \"Analog In Loss\",\n 33: \"Auto Restarts Exhausted\",\n 35: \"IPM OverCurrent\",\n 36: \"SW OverCurrent\",\n 38: \"Phase U to Ground\",\n 39: \"Phase V to Ground\",\n 40: \"Phase W to Ground\",\n 41: \"Phase UV Short\",\n 42: \"Phase VW Short\",\n 43: \"Phase WU Short\",\n 44: \"Phase UNeg to Ground\",\n 45: \"Phase VNeg to Ground\",\n 46: \"Phase WNeg to Ground\",\n 48: \"System Defaulted\",\n 49: \"Drive Powerup\",\n 51: \"Clear Fault Queue\",\n 55: \"Control Board Overtemp\",\n 59: \"Invalid Code\",\n 61: \"Shear Pin 1\",\n 62: \"Shear Pin 2\",\n 64: \"Drive Overload\",\n 66: \"OW Torque Level\",\n 67: \"Pump Off\",\n 71: \"Port 1 Adapter\",\n 72: \"Port 2 Adapter\",\n 73: \"Port 3 Adapter\",\n 74: \"Port 4 Adapter\",\n 75: \"Port 5 Adapter\",\n 76: \"Port 6 Adapter\",\n 77: \"IR Volts Range\",\n 78: \"FluxAmps Ref Range\",\n 79: \"Excessive Load\",\n 80: \"AutoTune Aborted\",\n 81: \"Port 1 DPI Loss\",\n 82: \"Port 2 DPI Loss\",\n 83: \"Port 3 DPI Loss\",\n 84: \"Port 4 DPI Loss\",\n 85: \"Port 5 DPI Loss\",\n 86: \"Port 6 DPI Loss\",\n 87: \"IXo Voltage Range\",\n 91: \"Primary Velocity Feedback Loss\",\n 93: \"Hardware Enable Check\",\n 94: \"Alternate Velocity Feedback Loss\",\n 95: \"Auxiliary Velocity Feedback Loss\",\n 96: \"Position Feedback Loss\",\n 97: \"Auto Tach Switch\",\n 100: \"Parameter Checksum\",\n 101: \"Power Down NVS Blank\",\n 102: \"NVS Not Blank\",\n 103: \"Power Down NVS Incompatible\",\n 104: \"Power Board Checksum\",\n 106: \"Incompat MCB-PB\",\n 107: \"Replaced MCB-PB\",\n 108: \"Analog Calibration Checksum\",\n 110: \"Invalid Power Board Data\",\n 111: \"Power Board Invalid ID\",\n 112: \"Power Board App Min Version\",\n 113: \"Tracking DataError\",\n 115: \"Power Down Table Full\",\n 116: \"Power Down Entry Too Large\",\n 117: \"Power Down Data Checksum\",\n 118: \"Power Board Power Down Checksum\",\n 124: \"App ID Changed\",\n 125: \"Using Backup App\",\n 134: \"Start on Power Up\",\n 137: \"External Precharge Error\",\n 138: \"Precharge Open\",\n 141: \"Autotune Enc Angle\",\n 142: \"Autotune Speed Restricted\",\n 143: \"Autotune Current Regulator\",\n 144: \"Autotune Inertia\",\n 145: \"Autotune Travel\",\n 13035: \"Net IO Timeout\",\n 13037: \"Net IO Timeout\"\n\n }\n\n plc_tags = {\n \"wellstatus\": well_status_codes.get(value, \"Invalid Code\"),\n \"pidcontrolmode\": pid_control_codes.get(value, \"Invalid Code\"),\n \"downholesensorstatus\": downhole_codes.get(value, \"Invalid Code\"),\n \"alarmflowrate\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmintakepressure\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmintaketemperature\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmtubingpressure\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmvfd\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmlockout\": alarm_vfd_codes.get(value, \"Invalid Code\"),\n \"alarmfluidlevel\": alarm_codes.get(value, \"Invalid Code\"),\n \"runpermissive\": permissive_codes.get(value, \"Invalid Code\"),\n \"startpermissive\": permissive_codes.get(value, \"Invalid Code\"),\n \"last_vfd_fault_code\": vfd_fault_codes.get(value, \"Invalid Code\"),\n \"vfd_fault\": vfd_fault_codes.get(value, \"Invalid Code\"),\n \"flowmeter_fault\": alarm_codes.get(value, \"Invalid Code\")\n }\n\n return plc_tags.get(plc_tag, \"Invalid Tag\")\n", + "script": "import json, time\nfrom quickfaas.measure import recall, write\nfrom quickfaas.remotebus import publish\nfrom common.Logger import logger\n\ndef sync():\n #get new values and send\n payload = {}\n topic = \"v1/devices/me/telemetry\"\n try:\n data = recall()#json.loads(recall().decode(\"utf-8\"))\n except Exception as e:\n logger.error(e)\n logger.debug(data)\n for controller in data:\n for measure in controller[\"measures\"]:\n #publish measure\n if measure[\"name\"] in [\"wellstatus\",\"pidcontrolmode\",\"downholesensorstatus\",\"alarmflowrate\",\"alarmintakepressure\",\"alarmintaketemperature\",\"alarmtubingpressure\",\"alarmvfd\",\"alarmlockout\",\"alarmfluidlevel\",\"runpermissive\",\"startpermissive\",\"last_vfd_fault_code\",\"vfd_fault\", \"flowmeter_fault\"]:\n payload[measure[\"name\"]] = convert_int(measure[\"name\"], measure[\"value\"])\n payload[measure[\"name\"]+ \"_int\"] = measure[\"value\"]\n else:\n payload[measure[\"name\"]] = measure[\"value\"]\n logger.debug(\"Sending on topic: {}\".format(topic))\n logger.debug(\"Sending value: {}\".format(payload))\n publish(topic, json.dumps(payload), 1)\ndef writeplctag(value):\n #value in the form {\"measurement\": , \"value\": }\n try:\n #value = json.loads(value.replace(\"'\",'\"'))\n logger.debug(value)\n #payload format: [{\"name\": \"advvfdipp\", \"measures\": [{\"name\": \"manualfrequencysetpoint\", \"value\": 49}]}]\n message = [{\"name\": \"advvfdipp\", \"measures\":[{\"name\":value[\"measurement\"], \"value\": value[\"value\"]}]}]\n resp = write(message) \n logger.debug(\"RETURN FROM WRITE: {}\".format(resp))\n return True\n except Exception as e:\n logger.debug(e)\n return False\n \ndef receiveCommand(topic, payload):\n try:\n logger.debug(topic)\n logger.debug(json.loads(payload))\n p = json.loads(payload)\n command = p[\"method\"]\n commands = {\n \"sync\": sync,\n \"writeplctag\": writeplctag,\n } \n if command == \"setPLCTag\":\n try:\n result = commands[\"writeplctag\"](p[\"params\"])\n logger.debug(result)\n except Exception as e:\n logger.error(e)\n elif command == \"changeSetpoint\":\n try:\n logger.debug(\"attempting controlpoint write\")\n params_type = {\"measurement\": \"pidcontrolmode\", \"value\": p[\"params\"][\"setpointType\"]}\n if params_type[\"value\"]:\n commands[\"writeplctag\"](params_type)\n time.sleep(2)\n except Exception as e:\n logger.error(\"DID NOT WRITE CONTROL MODE\")\n logger.error(e)\n try:\n logger.debug(\"attempting setpoint write\")\n modes = {0: \"flowsetpoint\", 1: \"fluidlevelsetpoint\", 2: \"tubingpressuresetpoint\", 3: \"manualfrequencysetpoint\"}\n params_value = {\"value\": p[\"params\"][\"setpointValue\"]}\n if params_value[\"value\"]:\n params_value[\"measurement\"] = modes[getMode()]\n result = commands[\"writeplctag\"](params_value)\n logger.debug(result)\n except Exception as e:\n logger.error(\"DID NOT WRITE SETPOINT\")\n logger.error(e)\n #logger.debug(command)\n ack(topic.split(\"/\")[-1])\n time.sleep(5)\n sync()\n except Exception as e:\n logger.debug(e)\n \n\ndef ack(msgid):\n #logger.debug(msgid)\n #logger.debug(mac)\n #logger.debug(name)\n #logger.debug(value)\n publish(\"v1/devices/me/rpc/response/\" + str(msgid), json.dumps({\"msg\": {\"time\": time.time()}, \"metadata\": \"\", \"msgType\": \"\"}), 1)\n\ndef getMode():\n try:\n data = recall()\n for controller in data:\n for measure in controller[\"measures\"]:\n if measure[\"name\"] == \"pidcontrolmode\":\n return measure[\"value\"]\n except:\n return None\n\ndef convert_int(plc_tag, value):\n well_status_codes = {\n 0: \"Running\",\n 1: \"Pumped Off\",\n 2: \"Alarmed\",\n 3: \"Locked Out\",\n 4: \"Stopped\"\n }\n\n pid_control_codes = {\n 0: \"Flow\",\n 1: \"Fluid Level\",\n 2: \"Tubing Pressure\",\n 3: \"Manual\"\n }\n\n downhole_codes = {\n 0: \"OK\",\n 1: \"Connecting\",\n 2: \"Open Circuit\",\n 3: \"Shorted\",\n 4: \"Cannot Decode\"\n }\n\n permissive_codes = {\n 0: \"OK\",\n 1: \"Flow\",\n 2: \"Intake Pressure\",\n 3: \"Intake Temperature\",\n 4: \"Tubing Pressure\",\n 5: \"VFD\",\n 6: \"Fluid Level\",\n 7: \"Min. Downtime\"\n }\n\n alarm_codes = {\n 0: \"OK\",\n 1: \"Alarm\"\n }\n\n alarm_vfd_codes = {\n 0: \"OK\",\n 1: \"Locked Out\"\n }\n\n vfd_fault_codes = {\n 0: \"No Fault\",\n 2: \"Auxiliary Input\",\n 3: \"Power Loss\",\n 4: \"UnderVoltage\",\n 5: \"OverVoltage\",\n 7: \"Motor Overload\",\n 8: \"Heatsink OverTemp\",\n 9: \"Thermister OverTemp\",\n 10: \"Dynamic Brake OverTemp\",\n 12: \"Hardware OverCurrent\",\n 13: \"Ground Fault\",\n 14: \"Ground Warning\",\n 15: \"Load Loss\",\n 17: \"Input Phase Loss\",\n 18: \"Motor PTC Trip\",\n 19: \"Task Overrun\",\n 20: \"Torque Prove Speed Band\",\n 21: \"Output Phase Loss\",\n 24: \"Decel Inhibit\",\n 25: \"OverSpeed Limit\",\n 26: \"Brake Slipped\",\n 27: \"Torque Prove Conflict\",\n 28: \"TP Encls Confict\",\n 29: \"Analog In Loss\",\n 33: \"Auto Restarts Exhausted\",\n 35: \"IPM OverCurrent\",\n 36: \"SW OverCurrent\",\n 38: \"Phase U to Ground\",\n 39: \"Phase V to Ground\",\n 40: \"Phase W to Ground\",\n 41: \"Phase UV Short\",\n 42: \"Phase VW Short\",\n 43: \"Phase WU Short\",\n 44: \"Phase UNeg to Ground\",\n 45: \"Phase VNeg to Ground\",\n 46: \"Phase WNeg to Ground\",\n 48: \"System Defaulted\",\n 49: \"Drive Powerup\",\n 51: \"Clear Fault Queue\",\n 55: \"Control Board Overtemp\",\n 59: \"Invalid Code\",\n 61: \"Shear Pin 1\",\n 62: \"Shear Pin 2\",\n 64: \"Drive Overload\",\n 66: \"OW Torque Level\",\n 67: \"Pump Off\",\n 71: \"Port 1 Adapter\",\n 72: \"Port 2 Adapter\",\n 73: \"Port 3 Adapter\",\n 74: \"Port 4 Adapter\",\n 75: \"Port 5 Adapter\",\n 76: \"Port 6 Adapter\",\n 77: \"IR Volts Range\",\n 78: \"FluxAmps Ref Range\",\n 79: \"Excessive Load\",\n 80: \"AutoTune Aborted\",\n 81: \"Port 1 DPI Loss\",\n 82: \"Port 2 DPI Loss\",\n 83: \"Port 3 DPI Loss\",\n 84: \"Port 4 DPI Loss\",\n 85: \"Port 5 DPI Loss\",\n 86: \"Port 6 DPI Loss\",\n 87: \"IXo Voltage Range\",\n 91: \"Primary Velocity Feedback Loss\",\n 93: \"Hardware Enable Check\",\n 94: \"Alternate Velocity Feedback Loss\",\n 95: \"Auxiliary Velocity Feedback Loss\",\n 96: \"Position Feedback Loss\",\n 97: \"Auto Tach Switch\",\n 100: \"Parameter Checksum\",\n 101: \"Power Down NVS Blank\",\n 102: \"NVS Not Blank\",\n 103: \"Power Down NVS Incompatible\",\n 104: \"Power Board Checksum\",\n 106: \"Incompat MCB-PB\",\n 107: \"Replaced MCB-PB\",\n 108: \"Analog Calibration Checksum\",\n 110: \"Invalid Power Board Data\",\n 111: \"Power Board Invalid ID\",\n 112: \"Power Board App Min Version\",\n 113: \"Tracking DataError\",\n 115: \"Power Down Table Full\",\n 116: \"Power Down Entry Too Large\",\n 117: \"Power Down Data Checksum\",\n 118: \"Power Board Power Down Checksum\",\n 124: \"App ID Changed\",\n 125: \"Using Backup App\",\n 134: \"Start on Power Up\",\n 137: \"External Precharge Error\",\n 138: \"Precharge Open\",\n 141: \"Autotune Enc Angle\",\n 142: \"Autotune Speed Restricted\",\n 143: \"Autotune Current Regulator\",\n 144: \"Autotune Inertia\",\n 145: \"Autotune Travel\",\n 13035: \"Net IO Timeout\",\n 13037: \"Net IO Timeout\"\n\n }\n\n plc_tags = {\n \"wellstatus\": well_status_codes.get(value, \"Invalid Code\"),\n \"pidcontrolmode\": pid_control_codes.get(value, \"Invalid Code\"),\n \"downholesensorstatus\": downhole_codes.get(value, \"Invalid Code\"),\n \"alarmflowrate\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmintakepressure\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmintaketemperature\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmtubingpressure\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmvfd\": alarm_codes.get(value, \"Invalid Code\"),\n \"alarmlockout\": alarm_vfd_codes.get(value, \"Invalid Code\"),\n \"alarmfluidlevel\": alarm_codes.get(value, \"Invalid Code\"),\n \"runpermissive\": permissive_codes.get(value, \"Invalid Code\"),\n \"startpermissive\": permissive_codes.get(value, \"Invalid Code\"),\n \"last_vfd_fault_code\": vfd_fault_codes.get(value, \"Invalid Code\"),\n \"vfd_fault\": vfd_fault_codes.get(value, \"Invalid Code\"),\n \"flowmeter_fault\": alarm_codes.get(value, \"Invalid Code\")\n }\n\n return plc_tags.get(plc_tag, \"Invalid Tag\")\n", "msgType": 0, "trigger": "command_event", "cloudName": "default" diff --git a/Pub_Sub/advvfdipp/thingsboard/v3/pub/sendData.py b/Pub_Sub/advvfdipp/thingsboard/v3/pub/sendData.py new file mode 100644 index 0000000..4899e5e --- /dev/null +++ b/Pub_Sub/advvfdipp/thingsboard/v3/pub/sendData.py @@ -0,0 +1,309 @@ +# Enter your python code. +import json, os +from datetime import datetime as dt +from common.Logger import logger +from quickfaas.remotebus import publish +from quickfaas.global_dict import get as get_params +from quickfaas.global_dict import _set_global_args + +def reboot(): + #basic = Basic() + logger.info("!" * 10 + "REBOOTING DEVICE" + "!"*10) + r = os.popen("kill -s SIGHUP `cat /var/run/python/supervisord.pid`").read() + logger.info(f"REBOOT : {r}") + +def checkFileExist(filename): + path = "/var/user/files" + if not os.path.exists(path): + logger.info("no folder making files folder in var/user") + os.makedirs(path) + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + if not os.path.exists(path + "/" + filename): + logger.info("no creds file making creds file") + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + +def convertDStoJSON(ds): + j = dict() + for x in ds: + j[x["key"]] = x["value"] + return j + +def convertJSONtoDS(j): + d = [] + for key in j.keys(): + d.append({"key": key, "value": j[key]}) + return d + +def checkCredentialConfig(): + logger.info("CHECKING CONFIG") + cfgpath = "/var/user/cfg/device_supervisor/device_supervisor.cfg" + credspath = "/var/user/files/creds.json" + cfg = dict() + with open(cfgpath, "r") as f: + cfg = json.load(f) + clouds = cfg.get("clouds") + logger.info(clouds) + #if not configured then try to configure from stored values + if clouds[0]["args"]["clientId"] == "unknown" or clouds[0]["args"]["username"] == "unknown" or not clouds[0]["args"]["passwd"] or clouds[0]["args"]["passwd"] == "unknown": + checkFileExist("creds.json") + with open(credspath, "r") as c: + creds = json.load(c) + if creds: + logger.info("updating config with stored data") + clouds[0]["args"]["clientId"] = creds["clientId"] + clouds[0]["args"]["username"] = creds["userName"] + clouds[0]["args"]["passwd"] = creds["password"] + cfg["clouds"] = clouds + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + reboot() + else: + #assuming clouds is filled out, if data is different then assume someone typed in something new and store it, if creds is empty fill with clouds' data + checkFileExist("creds.json") + with open(credspath, "r") as c: + logger.info("updating stored file with new data") + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + creds = json.load(c) + if creds: + if creds["clientId"] != clouds[0]["args"]["clientId"]: + creds["clientId"] = clouds[0]["args"]["clientId"] + if creds["userName"] != clouds[0]["args"]["username"]: + creds["userName"] = clouds[0]["args"]["username"] + if creds["password"] != clouds[0]["args"]["passwd"]: + creds["password"] = clouds[0]["args"]["passwd"] + else: + creds["clientId"] = clouds[0]["args"]["clientId"] + creds["userName"] = clouds[0]["args"]["username"] + creds["password"] = clouds[0]["args"]["passwd"] + with open(credspath, "w") as cw: + json.dump(creds,cw) + +def checkParameterConfig(cfg): + logger.info("Checking Parameters!!!!") + paramspath = "/var/user/files/params.json" + cfgparams = convertDStoJSON(cfg.get("labels")) + #check stored values + checkFileExist("params.json") + with open(paramspath, "r") as f: + logger.info("Opened param storage file") + params = json.load(f) + if params: + if cfgparams != params: + #go through each param + #if not "unknown" and cfg and params aren't the same take from cfg likely updated manually + #if key in cfg but not in params copy to params + logger.info("equalizing params between cfg and stored") + for key in cfgparams.keys(): + try: + if cfgparams[key] != params[key] and cfgparams[key] != "unknown": + params[key] = cfgparams[key] + except: + params[key] = cfgparams[key] + cfg["labels"] = convertJSONtoDS(params) + _set_global_args(convertJSONtoDS(params)) + with open(paramspath, "w") as p: + json.dump(params, p) + else: + with open(paramspath, "w") as p: + logger.info("initializing param file with params in memory") + json.dump(convertDStoJSON(get_params()), p) + cfg["labels"] = get_params() + + return cfg + +def sendData(message): + #logger.debug(message) + try: + checkCredentialConfig() + except Exception as e: + logger.error(e) + payload = {"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values": {}} + for measure in message["measures"]: + try: + logger.debug(measure) + if measure["name"] in ["wellstatus","pidcontrolmode","downholesensorstatus","alarmflowrate","alarmintakepressure","alarmintaketemperature","alarmtubingpressure","alarmvfd","alarmlockout","alarmfluidlevel","runpermissive","startpermissive","last_vfd_fault_code","vfd_fault", "flowmeter_fault"]: + logger.debug("Converting DINT/BOOL to STRING") + value = convert_int(measure["name"], measure["value"]) + logger.debug("Converted {} to {}".format(measure["value"], value)) + payload["values"][measure["name"]] = value + payload["values"][measure["name"] + "_int"] = measure["value"] + else: + payload["values"][measure["name"]] = measure["value"] + except Exception as e: + logger.error(e) + + publish(__topic__, json.dumps(payload), __qos__) + publish("v1/devices/me/attributes", json.dumps({"latestReportTime": (round(dt.timestamp(dt.now())/600)*600)*1000}), __qos__) + +def convert_int(plc_tag, value): + well_status_codes = { + 0: "Running", + 1: "Pumped Off", + 2: "Alarmed", + 3: "Locked Out", + 4: "Stopped" + } + + pid_control_codes = { + 0: "Flow", + 1: "Fluid Level", + 2: "Tubing Pressure", + 3: "Manual" + } + + downhole_codes = { + 0: "OK", + 1: "Connecting", + 2: "Open Circuit", + 3: "Shorted", + 4: "Cannot Decode" + } + + permissive_codes = { + 0: "OK", + 1: "Flow", + 2: "Intake Pressure", + 3: "Intake Temperature", + 4: "Tubing Pressure", + 5: "VFD", + 6: "Fluid Level", + 7: "Min. Downtime" + } + + alarm_codes = { + 0: "OK", + 1: "Alarm" + } + + alarm_vfd_codes = { + 0: "OK", + 1: "Locked Out" + } + + vfd_fault_codes = { + 0: "No Fault", + 2: "Auxiliary Input", + 3: "Power Loss", + 4: "UnderVoltage", + 5: "OverVoltage", + 7: "Motor Overload", + 8: "Heatsink OverTemp", + 9: "Thermister OverTemp", + 10: "Dynamic Brake OverTemp", + 12: "Hardware OverCurrent", + 13: "Ground Fault", + 14: "Ground Warning", + 15: "Load Loss", + 17: "Input Phase Loss", + 18: "Motor PTC Trip", + 19: "Task Overrun", + 20: "Torque Prove Speed Band", + 21: "Output Phase Loss", + 24: "Decel Inhibit", + 25: "OverSpeed Limit", + 26: "Brake Slipped", + 27: "Torque Prove Conflict", + 28: "TP Encls Confict", + 29: "Analog In Loss", + 33: "Auto Restarts Exhausted", + 35: "IPM OverCurrent", + 36: "SW OverCurrent", + 38: "Phase U to Ground", + 39: "Phase V to Ground", + 40: "Phase W to Ground", + 41: "Phase UV Short", + 42: "Phase VW Short", + 43: "Phase WU Short", + 44: "Phase UNeg to Ground", + 45: "Phase VNeg to Ground", + 46: "Phase WNeg to Ground", + 48: "System Defaulted", + 49: "Drive Powerup", + 51: "Clear Fault Queue", + 55: "Control Board Overtemp", + 59: "Invalid Code", + 61: "Shear Pin 1", + 62: "Shear Pin 2", + 64: "Drive Overload", + 66: "OW Torque Level", + 67: "Pump Off", + 71: "Port 1 Adapter", + 72: "Port 2 Adapter", + 73: "Port 3 Adapter", + 74: "Port 4 Adapter", + 75: "Port 5 Adapter", + 76: "Port 6 Adapter", + 77: "IR Volts Range", + 78: "FluxAmps Ref Range", + 79: "Excessive Load", + 80: "AutoTune Aborted", + 81: "Port 1 DPI Loss", + 82: "Port 2 DPI Loss", + 83: "Port 3 DPI Loss", + 84: "Port 4 DPI Loss", + 85: "Port 5 DPI Loss", + 86: "Port 6 DPI Loss", + 87: "IXo Voltage Range", + 91: "Primary Velocity Feedback Loss", + 93: "Hardware Enable Check", + 94: "Alternate Velocity Feedback Loss", + 95: "Auxiliary Velocity Feedback Loss", + 96: "Position Feedback Loss", + 97: "Auto Tach Switch", + 100: "Parameter Checksum", + 101: "Power Down NVS Blank", + 102: "NVS Not Blank", + 103: "Power Down NVS Incompatible", + 104: "Power Board Checksum", + 106: "Incompat MCB-PB", + 107: "Replaced MCB-PB", + 108: "Analog Calibration Checksum", + 110: "Invalid Power Board Data", + 111: "Power Board Invalid ID", + 112: "Power Board App Min Version", + 113: "Tracking DataError", + 115: "Power Down Table Full", + 116: "Power Down Entry Too Large", + 117: "Power Down Data Checksum", + 118: "Power Board Power Down Checksum", + 124: "App ID Changed", + 125: "Using Backup App", + 134: "Start on Power Up", + 137: "External Precharge Error", + 138: "Precharge Open", + 141: "Autotune Enc Angle", + 142: "Autotune Speed Restricted", + 143: "Autotune Current Regulator", + 144: "Autotune Inertia", + 145: "Autotune Travel", + 13035: "Net IO Timeout", + 13037: "Net IO Timeout" + + } + + plc_tags = { + "wellstatus": well_status_codes.get(value, "Invalid Code"), + "pidcontrolmode": pid_control_codes.get(value, "Invalid Code"), + "downholesensorstatus": downhole_codes.get(value, "Invalid Code"), + "alarmflowrate": alarm_codes.get(value, "Invalid Code"), + "alarmintakepressure": alarm_codes.get(value, "Invalid Code"), + "alarmintaketemperature": alarm_codes.get(value, "Invalid Code"), + "alarmtubingpressure": alarm_codes.get(value, "Invalid Code"), + "alarmvfd": alarm_codes.get(value, "Invalid Code"), + "alarmlockout": alarm_vfd_codes.get(value, "Invalid Code"), + "alarmfluidlevel": alarm_codes.get(value, "Invalid Code"), + "runpermissive": permissive_codes.get(value, "Invalid Code"), + "startpermissive": permissive_codes.get(value, "Invalid Code"), + "last_vfd_fault_code": vfd_fault_codes.get(value, "Invalid Code"), + "vfd_fault": vfd_fault_codes.get(value, "Invalid Code"), + "flowmeter_fault": alarm_codes.get(value, "Invalid Code") + } + + return plc_tags.get(plc_tag, "Invalid Tag") + + \ No newline at end of file diff --git a/Pub_Sub/advvfdipp/thingsboard/v3/sub/receiveCommand.py b/Pub_Sub/advvfdipp/thingsboard/v3/sub/receiveCommand.py new file mode 100644 index 0000000..5610b34 --- /dev/null +++ b/Pub_Sub/advvfdipp/thingsboard/v3/sub/receiveCommand.py @@ -0,0 +1,266 @@ +import json, time +from quickfaas.measure import recall, write +from quickfaas.remotebus import publish +from common.Logger import logger + +def sync(): + #get new values and send + payload = {} + topic = "v1/devices/me/telemetry" + try: + data = recall()#json.loads(recall().decode("utf-8")) + except Exception as e: + logger.error(e) + logger.debug(data) + for controller in data: + for measure in controller["measures"]: + #publish measure + if measure["name"] in ["wellstatus","pidcontrolmode","downholesensorstatus","alarmflowrate","alarmintakepressure","alarmintaketemperature","alarmtubingpressure","alarmvfd","alarmlockout","alarmfluidlevel","runpermissive","startpermissive","last_vfd_fault_code","vfd_fault", "flowmeter_fault"]: + payload[measure["name"]] = convert_int(measure["name"], measure["value"]) + payload[measure["name"]+ "_int"] = measure["value"] + else: + payload[measure["name"]] = measure["value"] + logger.debug("Sending on topic: {}".format(topic)) + logger.debug("Sending value: {}".format(payload)) + publish(topic, json.dumps(payload), 1) +def writeplctag(value): + #value in the form {"measurement": , "value": } + try: + #value = json.loads(value.replace("'",'"')) + logger.debug(value) + #payload format: [{"name": "advvfdipp", "measures": [{"name": "manualfrequencysetpoint", "value": 49}]}] + message = [{"name": "advvfdipp", "measures":[{"name":value["measurement"], "value": value["value"]}]}] + resp = write(message) + logger.debug("RETURN FROM WRITE: {}".format(resp)) + return True + except Exception as e: + logger.debug(e) + return False + +def receiveCommand(topic, payload): + try: + logger.debug(topic) + logger.debug(json.loads(payload)) + p = json.loads(payload) + command = p["method"] + commands = { + "sync": sync, + "writeplctag": writeplctag, + } + if command == "setPLCTag": + try: + result = commands["writeplctag"](p["params"]) + logger.debug(result) + except Exception as e: + logger.error(e) + elif command == "changeSetpoint": + try: + logger.debug("attempting controlpoint write") + params_type = {"measurement": "pidcontrolmode", "value": p["params"]["setpointType"]} + if params_type["value"]: + commands["writeplctag"](params_type) + time.sleep(2) + except Exception as e: + logger.error("DID NOT WRITE CONTROL MODE") + logger.error(e) + try: + logger.debug("attempting setpoint write") + modes = {0: "flowsetpoint", 1: "fluidlevelsetpoint", 2: "tubingpressuresetpoint", 3: "manualfrequencysetpoint"} + params_value = {"value": p["params"]["setpointValue"]} + if params_value["value"]: + params_value["measurement"] = modes[getMode()] + result = commands["writeplctag"](params_value) + logger.debug(result) + except Exception as e: + logger.error("DID NOT WRITE SETPOINT") + logger.error(e) + #logger.debug(command) + ack(topic.split("/")[-1]) + time.sleep(5) + sync() + except Exception as e: + logger.debug(e) + + +def ack(msgid): + #logger.debug(msgid) + #logger.debug(mac) + #logger.debug(name) + #logger.debug(value) + publish("v1/devices/me/rpc/response/" + str(msgid), json.dumps({"msg": {"time": time.time()}, "metadata": "", "msgType": ""}), 1) + +def getMode(): + try: + data = recall() + for controller in data: + for measure in controller["measures"]: + if measure["name"] == "pidcontrolmode": + return measure["value"] + except: + return None + +def convert_int(plc_tag, value): + well_status_codes = { + 0: "Running", + 1: "Pumped Off", + 2: "Alarmed", + 3: "Locked Out", + 4: "Stopped" + } + + pid_control_codes = { + 0: "Flow", + 1: "Fluid Level", + 2: "Tubing Pressure", + 3: "Manual" + } + + downhole_codes = { + 0: "OK", + 1: "Connecting", + 2: "Open Circuit", + 3: "Shorted", + 4: "Cannot Decode" + } + + permissive_codes = { + 0: "OK", + 1: "Flow", + 2: "Intake Pressure", + 3: "Intake Temperature", + 4: "Tubing Pressure", + 5: "VFD", + 6: "Fluid Level", + 7: "Min. Downtime" + } + + alarm_codes = { + 0: "OK", + 1: "Alarm" + } + + alarm_vfd_codes = { + 0: "OK", + 1: "Locked Out" + } + + vfd_fault_codes = { + 0: "No Fault", + 2: "Auxiliary Input", + 3: "Power Loss", + 4: "UnderVoltage", + 5: "OverVoltage", + 7: "Motor Overload", + 8: "Heatsink OverTemp", + 9: "Thermister OverTemp", + 10: "Dynamic Brake OverTemp", + 12: "Hardware OverCurrent", + 13: "Ground Fault", + 14: "Ground Warning", + 15: "Load Loss", + 17: "Input Phase Loss", + 18: "Motor PTC Trip", + 19: "Task Overrun", + 20: "Torque Prove Speed Band", + 21: "Output Phase Loss", + 24: "Decel Inhibit", + 25: "OverSpeed Limit", + 26: "Brake Slipped", + 27: "Torque Prove Conflict", + 28: "TP Encls Confict", + 29: "Analog In Loss", + 33: "Auto Restarts Exhausted", + 35: "IPM OverCurrent", + 36: "SW OverCurrent", + 38: "Phase U to Ground", + 39: "Phase V to Ground", + 40: "Phase W to Ground", + 41: "Phase UV Short", + 42: "Phase VW Short", + 43: "Phase WU Short", + 44: "Phase UNeg to Ground", + 45: "Phase VNeg to Ground", + 46: "Phase WNeg to Ground", + 48: "System Defaulted", + 49: "Drive Powerup", + 51: "Clear Fault Queue", + 55: "Control Board Overtemp", + 59: "Invalid Code", + 61: "Shear Pin 1", + 62: "Shear Pin 2", + 64: "Drive Overload", + 66: "OW Torque Level", + 67: "Pump Off", + 71: "Port 1 Adapter", + 72: "Port 2 Adapter", + 73: "Port 3 Adapter", + 74: "Port 4 Adapter", + 75: "Port 5 Adapter", + 76: "Port 6 Adapter", + 77: "IR Volts Range", + 78: "FluxAmps Ref Range", + 79: "Excessive Load", + 80: "AutoTune Aborted", + 81: "Port 1 DPI Loss", + 82: "Port 2 DPI Loss", + 83: "Port 3 DPI Loss", + 84: "Port 4 DPI Loss", + 85: "Port 5 DPI Loss", + 86: "Port 6 DPI Loss", + 87: "IXo Voltage Range", + 91: "Primary Velocity Feedback Loss", + 93: "Hardware Enable Check", + 94: "Alternate Velocity Feedback Loss", + 95: "Auxiliary Velocity Feedback Loss", + 96: "Position Feedback Loss", + 97: "Auto Tach Switch", + 100: "Parameter Checksum", + 101: "Power Down NVS Blank", + 102: "NVS Not Blank", + 103: "Power Down NVS Incompatible", + 104: "Power Board Checksum", + 106: "Incompat MCB-PB", + 107: "Replaced MCB-PB", + 108: "Analog Calibration Checksum", + 110: "Invalid Power Board Data", + 111: "Power Board Invalid ID", + 112: "Power Board App Min Version", + 113: "Tracking DataError", + 115: "Power Down Table Full", + 116: "Power Down Entry Too Large", + 117: "Power Down Data Checksum", + 118: "Power Board Power Down Checksum", + 124: "App ID Changed", + 125: "Using Backup App", + 134: "Start on Power Up", + 137: "External Precharge Error", + 138: "Precharge Open", + 141: "Autotune Enc Angle", + 142: "Autotune Speed Restricted", + 143: "Autotune Current Regulator", + 144: "Autotune Inertia", + 145: "Autotune Travel", + 13035: "Net IO Timeout", + 13037: "Net IO Timeout" + + } + + plc_tags = { + "wellstatus": well_status_codes.get(value, "Invalid Code"), + "pidcontrolmode": pid_control_codes.get(value, "Invalid Code"), + "downholesensorstatus": downhole_codes.get(value, "Invalid Code"), + "alarmflowrate": alarm_codes.get(value, "Invalid Code"), + "alarmintakepressure": alarm_codes.get(value, "Invalid Code"), + "alarmintaketemperature": alarm_codes.get(value, "Invalid Code"), + "alarmtubingpressure": alarm_codes.get(value, "Invalid Code"), + "alarmvfd": alarm_codes.get(value, "Invalid Code"), + "alarmlockout": alarm_vfd_codes.get(value, "Invalid Code"), + "alarmfluidlevel": alarm_codes.get(value, "Invalid Code"), + "runpermissive": permissive_codes.get(value, "Invalid Code"), + "startpermissive": permissive_codes.get(value, "Invalid Code"), + "last_vfd_fault_code": vfd_fault_codes.get(value, "Invalid Code"), + "vfd_fault": vfd_fault_codes.get(value, "Invalid Code"), + "flowmeter_fault": alarm_codes.get(value, "Invalid Code") + } + + return plc_tags.get(plc_tag, "Invalid Tag") diff --git a/Pub_Sub/base.py b/Pub_Sub/base.py new file mode 100644 index 0000000..f7bbeec --- /dev/null +++ b/Pub_Sub/base.py @@ -0,0 +1,114 @@ +import json, os +from common.Logger import logger +from quickfaas.global_dict import get as get_params +from quickfaas.global_dict import _set_global_args + +def reboot(): + #basic = Basic() + logger.info("!" * 10 + "REBOOTING DEVICE" + "!"*10) + r = os.popen("kill -s SIGHUP `cat /var/run/python/supervisord.pid`").read() + logger.info(f"REBOOT : {r}") + +def checkFileExist(filename): + path = "/var/user/files" + if not os.path.exists(path): + logger.info("no folder making files folder in var/user") + os.makedirs(path) + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + if not os.path.exists(path + "/" + filename): + logger.info("no creds file making creds file") + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + +def convertDStoJSON(ds): + j = dict() + for x in ds: + j[x["key"]] = x["value"] + return j + +def convertJSONtoDS(j): + d = [] + for key in j.keys(): + d.append({"key": key, "value": j[key]}) + return d + +def checkCredentialConfig(): + logger.info("CHECKING CONFIG") + cfgpath = "/var/user/cfg/device_supervisor/device_supervisor.cfg" + credspath = "/var/user/files/creds.json" + cfg = dict() + with open(cfgpath, "r") as f: + cfg = json.load(f) + clouds = cfg.get("clouds") + logger.info(clouds) + #if not configured then try to configure from stored values + if clouds[0]["args"]["clientId"] == "unknown" or clouds[0]["args"]["username"] == "unknown" or not clouds[0]["args"]["passwd"] or clouds[0]["args"]["passwd"] == "unknown": + checkFileExist("creds.json") + with open(credspath, "r") as c: + creds = json.load(c) + if creds: + logger.info("updating config with stored data") + clouds[0]["args"]["clientId"] = creds["clientId"] + clouds[0]["args"]["username"] = creds["userName"] + clouds[0]["args"]["passwd"] = creds["password"] + cfg["clouds"] = clouds + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + reboot() + else: + #assuming clouds is filled out, if data is different then assume someone typed in something new and store it, if creds is empty fill with clouds' data + checkFileExist("creds.json") + with open(credspath, "r") as c: + logger.info("updating stored file with new data") + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + creds = json.load(c) + if creds: + if creds["clientId"] != clouds[0]["args"]["clientId"]: + creds["clientId"] = clouds[0]["args"]["clientId"] + if creds["userName"] != clouds[0]["args"]["username"]: + creds["userName"] = clouds[0]["args"]["username"] + if creds["password"] != clouds[0]["args"]["passwd"]: + creds["password"] = clouds[0]["args"]["passwd"] + else: + creds["clientId"] = clouds[0]["args"]["clientId"] + creds["userName"] = clouds[0]["args"]["username"] + creds["password"] = clouds[0]["args"]["passwd"] + with open(credspath, "w") as cw: + json.dump(creds,cw) + +def checkParameterConfig(cfg): + logger.info("Checking Parameters!!!!") + paramspath = "/var/user/files/params.json" + cfgparams = convertDStoJSON(cfg.get("labels")) + #check stored values + checkFileExist("params.json") + with open(paramspath, "r") as f: + logger.info("Opened param storage file") + params = json.load(f) + if params: + if cfgparams != params: + #go through each param + #if not "unknown" and cfg and params aren't the same take from cfg likely updated manually + #if key in cfg but not in params copy to params + logger.info("equalizing params between cfg and stored") + for key in cfgparams.keys(): + try: + if cfgparams[key] != params[key] and cfgparams[key] != "unknown": + params[key] = cfgparams[key] + except: + params[key] = cfgparams[key] + cfg["labels"] = convertJSONtoDS(params) + _set_global_args(convertJSONtoDS(params)) + with open(paramspath, "w") as p: + json.dump(params, p) + else: + with open(paramspath, "w") as p: + logger.info("initializing param file with params in memory") + json.dump(convertDStoJSON(get_params()), p) + cfg["labels"] = get_params() + + return cfg \ No newline at end of file diff --git a/Pub_Sub/cameratrailer/thingsboard/v1/cameratrailer_tb_v1.cfg b/Pub_Sub/cameratrailer/thingsboard/v1/cameratrailer_tb_v1.cfg new file mode 100644 index 0000000..2841b42 --- /dev/null +++ b/Pub_Sub/cameratrailer/thingsboard/v1/cameratrailer_tb_v1.cfg @@ -0,0 +1,191 @@ +{ + "controllers": [ + { + "protocol": "virtualcontroller", + "name": "cameratrailer", + "args": {}, + "samplePeriod": 10, + "expired": 10000 + } + ], + "groups": [ + { + "name": "default", + "uploadInterval": 600, + "reference": 45 + } + ], + "measures": [ + { + "name": "t", + "ctrlName": "cameratrailer", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + } + ], + "alarms": [], + "misc": { + "maxAlarmRecordSz": 2000, + "logLvl": "DEBUG", + "coms": [ + { + "name": "rs232", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + }, + { + "name": "rs485", + "baud": 19200, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + } + ] + }, + "clouds": [ + { + "cacheSize": 10000, + "enable": 1, + "type": "Standard MQTT", + "args": { + "host": "thingsboard.cloud", + "port": 1883, + "clientId": "camera-trailer-", + "auth": 1, + "tls": 0, + "cleanSession": 0, + "mqttVersion": "v3.1.1", + "keepalive": 60, + "key": "", + "cert": "", + "rootCA": "", + "verifyServer": 0, + "verifyClient": 0, + "username": "assmqtt", + "passwd": "assmqtt@1903" + } + } + ], + "labels": [ + { + "key": "SN", + "value": "GF5022137006251" + }, + { + "key": "MAC", + "value": "00:18:05:1a:e5:36" + }, + { + "key": "MAC_UPPER", + "value": "00:18:05:1A:E5:37" + }, + { + "key": "MAC_LOWER", + "value": "00:18:05:1a:e5:37" + } + ], + "quickfaas": { + "uploadFuncs": [ + { + "qos": 1, + "funcName": "sendData", + "script": "# Enter your python code.\nimport json\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nfrom mobiuspi_lib.gps import GPS \n\ndef getGPS():\n # Create a gps instance\n gps = GPS()\n\n # Retrieve GPS information\n position_status = gps.get_position_status()\n logger.debug(\"position_status: \")\n logger.debug(position_status)\n latitude = position_status[\"latitude\"].split(\" \")\n longitude = position_status[\"longitude\"].split(\" \")\n lat_dec = int(latitude[0][:-1]) + (float(latitude[1][:-1])/60)\n lon_dec = int(longitude[0][:-1]) + (float(longitude[1][:-1])/60)\n if latitude[2] == \"S\":\n lat_dec = lat_dec * -1\n if longitude[2] == \"W\":\n lon_dec = lon_dec * -1\n #lat_dec = round(lat_dec, 7)\n #lon_dec = round(lon_dec, 7)\n logger.info(\"HERE IS THE GPS COORDS\")\n logger.info(f\"LATITUDE: {lat_dec}, LONGITUDE: {lon_dec}\")\n publish(__topic__, json.dumps({\"latitude\":f\"{lat_dec:.8f}\", \"longitude\":f\"{lon_dec:.8f}\"}), __qos__)\n\ndef sendData(message,wizard_api):\n logger.debug(message)\n #publish(__topic__, json.dumps(message), __qos__)\n getGPS()", + "name": "sendData", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "msgType": 0, + "groups": [ + "default" + ] + }, + { + "qos": 1, + "funcName": "sendSnapshot", + "script": "# Enter your python code.\nimport json\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nimport requests\nfrom requests.auth import HTTPDigestAuth\nfrom requests.exceptions import ConnectionError\nimport base64\n\ndef getImage():\n with open('./snapshot.jpg', 'wb') as handle:\n resp = requests.get(\"http://192.168.1.97:3097/cgi-bin/SnapshotJPEG?Resolution=640x360\", auth=HTTPDigestAuth(\"ASS\", \"amerus@1903\"), stream=True)\n for block in resp.iter_content(1024):\n if not block:\n break\n handle.write(block)\n \n with open('./snapshot.jpg', 'rb') as image_file:\n encoded_string = base64.b64encode(image_file.read())\n publish(__topic__, json.dumps({\"snapshot\": encoded_string.decode(\"UTF-8\"), \"camera_error\": \"OK\"}), __qos__)\n\n\ndef sendSnapshot(message,wizard_api):\n logger.debug(message)\n try:\n getImage()\n except ConnectionError as ce:\n logger.error(\"Could not connect to Camera\")\n logger.error(ce)\n publish(__topic__, json.dumps({\"camera_error\": f\"Could not connect to camera, check camera connection and power\\n\\n{ce}\"}), __qos__)\n except Exception as e:\n logger.error(\"Could not get image\")\n logger.error(e)\n publish(__topic__, json.dumps({\"camera_error\": f\"Could not connect to camera, check camera connection and power\\n\\n{e}\"}), __qos__)\n ", + "name": "snapshot", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "cloudName": "default", + "groups": [ + "snapshot" + ], + "msgType": 0 + } + ], + "downloadFuncs": [] + }, + "modbusSlave": { + "enable": 0, + "protocol": "Modbus-TCP", + "port": 502, + "slaveAddr": 1, + "int16Ord": "ab", + "int32Ord": "abcd", + "float32Ord": "abcd", + "maxConnection": 5, + "mapping_table": [] + }, + "iec104Server": { + "enable": 0, + "cotSize": 2, + "port": 2404, + "serverList": [ + { + "asduAddr": 1 + } + ], + "kValue": 12, + "wValue": 8, + "t0": 15, + "t1": 15, + "t2": 10, + "t3": 20, + "maximumLink": 5, + "timeSet": 1, + "byteOrder": "abcd", + "mapping_table": [] + }, + "opcuaServer": { + "enable": 0, + "port": 4840, + "maximumLink": 5, + "securityMode": 0, + "identifierType": "String", + "mapping_table": [] + }, + "bindConfig": { + "enable": 0, + "bind": { + "modelId": "", + "modelName": "", + "srcId": "", + "srcName": "", + "devId": "", + "devName": "" + }, + "varGroups": [], + "variables": [], + "alerts": [] + }, + "southMetadata": {}, + "bindMetadata": { + "version": "", + "timestamp": "" + } +} \ No newline at end of file diff --git a/Pub_Sub/cameratrailer/thingsboard/v2/cameratrailer_tb_v2.cfg b/Pub_Sub/cameratrailer/thingsboard/v2/cameratrailer_tb_v2.cfg new file mode 100644 index 0000000..d138f44 --- /dev/null +++ b/Pub_Sub/cameratrailer/thingsboard/v2/cameratrailer_tb_v2.cfg @@ -0,0 +1,205 @@ +{ + "controllers": [ + { + "protocol": "Virtual Controller", + "name": "cameratrailer", + "args": {}, + "endpoint": "", + "samplePeriod": 0, + "expired": 0 + }, + { + "protocol": "Virtual Controller", + "name": "snapshot", + "args": {}, + "endpoint": "", + "samplePeriod": 0, + "expired": 0 + } + ], + "measures": [ + { + "name": "c", + "ctrlName": "cameratrailer", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "", + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "bitMap": 0 + }, + { + "name": "s", + "ctrlName": "snapshot", + "group": "snapshot", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "", + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "bitMap": 0 + } + ], + "alarms": [], + "groups": [ + { + "name": "default", + "uploadInterval": 600 + }, + { + "name": "snapshot", + "uploadInterval": 3600 + } + ], + "misc": { + "maxAlarmRecordSz": 2000, + "logLvl": "INFO", + "coms": [ + { + "name": "rs232", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + }, + { + "name": "rs485", + "baud": 19200, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + } + ] + }, + "clouds": [ + { + "cacheSize": 10000, + "enable": 1, + "name": "default", + "type": "Standard MQTT", + "args": { + "host": "hp.henrypump.cloud", + "port": 1883, + "clientId": "unknown", + "auth": 1, + "tls": 0, + "cleanSession": 0, + "mqttVersion": "v3.1.1", + "keepalive": 60, + "key": "", + "cert": "", + "rootCA": "", + "verifyServer": 0, + "verifyClient": 0, + "username": "unknown", + "passwd": "unknown", + "authType": 1 + } + } + ], + "labels": [ + { + "key": "SN", + "value": "GF5022137006251" + }, + { + "key": "MAC", + "value": "00:18:05:1a:e5:36" + } + ], + "quickfaas": { + "genericFuncs": [], + "uploadFuncs": [ + { + "qos": 1, + "funcName": "sendData", + "script": "import json, os\nfrom datetime import datetime as dt\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nfrom mobiuspi_lib.gps import GPS \nfrom quickfaas.global_dict import get as get_params\nfrom quickfaas.global_dict import _set_global_args\n\n\ndef reboot():\n #basic = Basic()\n logger.info(\"!\" * 10 + \"REBOOTING DEVICE\" + \"!\"*10)\n r = os.popen(\"kill -s SIGHUP `cat /var/run/python/supervisord.pid`\").read()\n logger.info(f\"REBOOT : {r}\")\n\ndef checkFileExist(filename):\n path = \"/var/user/files\"\n if not os.path.exists(path):\n logger.info(\"no folder making files folder in var/user\")\n os.makedirs(path)\n with open(path + \"/\" + filename, \"a\") as f:\n json.dump({}, f)\n if not os.path.exists(path + \"/\" + filename):\n logger.info(\"no creds file making creds file\")\n with open(path + \"/\" + filename, \"a\") as f:\n json.dump({}, f)\n\ndef convertDStoJSON(ds):\n j = dict()\n for x in ds:\n j[x[\"key\"]] = x[\"value\"]\n return j\n\ndef convertJSONtoDS(j):\n d = []\n for key in j.keys():\n d.append({\"key\": key, \"value\": j[key]})\n return d\n\ndef checkCredentialConfig():\n logger.info(\"CHECKING CONFIG\")\n cfgpath = \"/var/user/cfg/device_supervisor/device_supervisor.cfg\"\n credspath = \"/var/user/files/creds.json\"\n cfg = dict()\n with open(cfgpath, \"r\") as f:\n cfg = json.load(f)\n clouds = cfg.get(\"clouds\")\n logger.info(clouds)\n #if not configured then try to configure from stored values\n if clouds[0][\"args\"][\"clientId\"] == \"unknown\" or clouds[0][\"args\"][\"username\"] == \"unknown\" or not clouds[0][\"args\"][\"passwd\"] or clouds[0][\"args\"][\"passwd\"] == \"unknown\":\n checkFileExist(\"creds.json\")\n with open(credspath, \"r\") as c:\n creds = json.load(c)\n if creds:\n logger.info(\"updating config with stored data\")\n clouds[0][\"args\"][\"clientId\"] = creds[\"clientId\"]\n clouds[0][\"args\"][\"username\"] = creds[\"userName\"]\n clouds[0][\"args\"][\"passwd\"] = creds[\"password\"]\n cfg[\"clouds\"] = clouds\n cfg = checkParameterConfig(cfg)\n with open(cfgpath, \"w\", encoding='utf-8') as n:\n json.dump(cfg, n, indent=1, ensure_ascii=False)\n reboot()\n else:\n #assuming clouds is filled out, if data is different then assume someone typed in something new and store it, if creds is empty fill with clouds' data\n checkFileExist(\"creds.json\")\n with open(credspath, \"r\") as c:\n logger.info(\"updating stored file with new data\")\n cfg = checkParameterConfig(cfg)\n with open(cfgpath, \"w\", encoding='utf-8') as n:\n json.dump(cfg, n, indent=1, ensure_ascii=False)\n creds = json.load(c)\n if creds:\n if creds[\"clientId\"] != clouds[0][\"args\"][\"clientId\"]:\n creds[\"clientId\"] = clouds[0][\"args\"][\"clientId\"]\n if creds[\"userName\"] != clouds[0][\"args\"][\"username\"]:\n creds[\"userName\"] = clouds[0][\"args\"][\"username\"]\n if creds[\"password\"] != clouds[0][\"args\"][\"passwd\"]:\n creds[\"password\"] = clouds[0][\"args\"][\"passwd\"]\n else:\n creds[\"clientId\"] = clouds[0][\"args\"][\"clientId\"]\n creds[\"userName\"] = clouds[0][\"args\"][\"username\"]\n creds[\"password\"] = clouds[0][\"args\"][\"passwd\"]\n with open(credspath, \"w\") as cw:\n json.dump(creds,cw)\n\ndef checkParameterConfig(cfg):\n logger.info(\"Checking Parameters!!!!\")\n paramspath = \"/var/user/files/params.json\"\n cfgparams = convertDStoJSON(cfg.get(\"labels\"))\n #check stored values \n checkFileExist(\"params.json\")\n with open(paramspath, \"r\") as f:\n logger.info(\"Opened param storage file\")\n params = json.load(f)\n if params:\n if cfgparams != params:\n #go through each param\n #if not \"unknown\" and cfg and params aren't the same take from cfg likely updated manually\n #if key in cfg but not in params copy to params\n logger.info(\"equalizing params between cfg and stored\")\n for key in cfgparams.keys():\n try:\n if cfgparams[key] != params[key] and cfgparams[key] != \"unknown\":\n params[key] = cfgparams[key]\n except:\n params[key] = cfgparams[key]\n cfg[\"labels\"] = convertJSONtoDS(params)\n _set_global_args(convertJSONtoDS(params))\n with open(paramspath, \"w\") as p:\n json.dump(params, p)\n else:\n with open(paramspath, \"w\") as p:\n logger.info(\"initializing param file with params in memory\")\n json.dump(convertDStoJSON(get_params()), p)\n cfg[\"labels\"] = get_params()\n \n return cfg\n\ndef getGPS():\n # Create a gps instance\n gps = GPS()\n\n # Retrieve GPS information\n position_status = gps.get_position_status()\n logger.debug(\"position_status: \")\n logger.debug(position_status)\n latitude = position_status[\"latitude\"].split(\" \")\n longitude = position_status[\"longitude\"].split(\" \")\n lat_dec = int(latitude[0][:-1]) + (float(latitude[1][:-1])/60)\n lon_dec = int(longitude[0][:-1]) + (float(longitude[1][:-1])/60)\n if latitude[2] == \"S\":\n lat_dec = lat_dec * -1\n if longitude[2] == \"W\":\n lon_dec = lon_dec * -1\n #lat_dec = round(lat_dec, 7)\n #lon_dec = round(lon_dec, 7)\n logger.info(\"HERE IS THE GPS COORDS\")\n logger.info(f\"LATITUDE: {lat_dec}, LONGITUDE: {lon_dec}\")\n speedKnots = position_status[\"speed\"].split(\" \")\n speedMPH = float(speedKnots[0]) * 1.151\n publish(__topic__, json.dumps({\"ts\": (round(dt.timestamp(dt.now())/600)*600)*1000, \"values\":{\"latitude\":f\"{lat_dec:.8f}\", \"longitude\":f\"{lon_dec:.8f}\", \"speed\": f\"{speedMPH:.2f}\"}}), __qos__)\n\ndef sendData(message,wizard_api):\n logger.debug(message)\n #publish(__topic__, json.dumps(message), __qos__)\n try:\n checkCredentialConfig()\n getGPS()\n except:\n logger.error(\"Could not get gps data!\")\n\n ", + "name": "sendData", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "cloudName": "default", + "msgType": 0, + "groups": [ + "default" + ] + }, + { + "qos": 1, + "funcName": "sendSnapshot", + "script": "import json\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nfrom quickfaas.global_dict import get as get_params\nfrom datetime import datetime as dt\nimport requests\nfrom requests.auth import HTTPDigestAuth\nfrom requests.exceptions import ConnectionError\nimport base64\n\n\ndef convertJSONtoDS(j):\n d = []\n for key in j.keys():\n d.append({\"key\": key, \"value\": j[key]})\n return d\n\ndef getImage():\n params = convertJSONtoDS(get_params())\n camera_ip = params[\"camera_ip\"].replace(\"_\", \":\")\n port = params[\"port\"]\n with open('./snapshot.jpg', 'wb') as handle:\n resp = requests.get(\"http://\" + camera_ip + \":\" + port + \"/cgi-bin/SnapshotJPEG?Resolution=640x360\", auth=HTTPDigestAuth(\"ASS\", \"amerus@1903\"), stream=True)\n for block in resp.iter_content(1024):\n if not block:\n break\n handle.write(block)\n \n with open('./snapshot.jpg', 'rb') as image_file:\n encoded_string = base64.b64encode(image_file.read())\n publish(__topic__, json.dumps({\"ts\": (round(dt.timestamp(dt.now())/600)*600)*1000, \"values\":{\"snapshot\": encoded_string.decode(\"UTF-8\"), \"camera_error\": \"OK\"}}), __qos__)\n\n\ndef sendSnapshot(message,wizard_api):\n logger.debug(message)\n try:\n getImage()\n except ConnectionError as ce:\n logger.error(\"Could not connect to Camera\")\n logger.error(ce)\n publish(__topic__, json.dumps({\"ts\": (round(dt.timestamp(dt.now())/600)*600)*1000, \"values\":{\"camera_error\": f\"Could not connect to camera, check camera connection and power\\n\\n{ce}\"}}), __qos__)\n except Exception as e:\n logger.error(\"Could not get image\")\n logger.error(e)\n publish(__topic__, json.dumps({\"ts\": (round(dt.timestamp(dt.now())/600)*600)*1000, \"values\":{\"camera_error\": f\"Could not connect to camera, check camera connection, power, and IP address\\n\\n{e}\"}}), __qos__)\n ", + "name": "snapshot", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "cloudName": "default", + "groups": [ + "snapshot" + ], + "msgType": 0 + } + ], + "downloadFuncs": [] + }, + "modbusSlave": { + "enable": 0, + "protocol": "Modbus-TCP", + "port": 502, + "slaveAddr": 1, + "int16Ord": "ab", + "int32Ord": "abcd", + "float32Ord": "abcd", + "maxConnection": 5, + "mapping_table": [] + }, + "iec104Server": { + "enable": 0, + "cotSize": 2, + "port": 2404, + "serverList": [ + { + "asduAddr": 1 + } + ], + "kValue": 12, + "wValue": 8, + "t0": 15, + "t1": 15, + "t2": 10, + "t3": 20, + "maximumLink": 5, + "timeSet": 1, + "byteOrder": "abcd", + "mapping_table": [] + }, + "opcuaServer": { + "enable": 0, + "port": 4840, + "maximumLink": 5, + "securityMode": 0, + "identifierType": "String", + "mapping_table": [] + }, + "bindConfig": { + "enable": 0, + "bind": { + "modelId": "", + "modelName": "", + "srcId": "", + "srcName": "", + "devId": "", + "devName": "" + }, + "varGroups": [], + "variables": [], + "alerts": [] + }, + "southMetadata": {}, + "bindMetadata": { + "version": "", + "timestamp": "" + } +} \ No newline at end of file diff --git a/Pub_Sub/cameratrailer/thingsboard/v2/pub/sendData.py b/Pub_Sub/cameratrailer/thingsboard/v2/pub/sendData.py new file mode 100644 index 0000000..c9a8218 --- /dev/null +++ b/Pub_Sub/cameratrailer/thingsboard/v2/pub/sendData.py @@ -0,0 +1,153 @@ +import json, os +from datetime import datetime as dt +from common.Logger import logger +from quickfaas.remotebus import publish +from mobiuspi_lib.gps import GPS +from quickfaas.global_dict import get as get_params +from quickfaas.global_dict import _set_global_args + + +def reboot(): + #basic = Basic() + logger.info("!" * 10 + "REBOOTING DEVICE" + "!"*10) + r = os.popen("kill -s SIGHUP `cat /var/run/python/supervisord.pid`").read() + logger.info(f"REBOOT : {r}") + +def checkFileExist(filename): + path = "/var/user/files" + if not os.path.exists(path): + logger.info("no folder making files folder in var/user") + os.makedirs(path) + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + if not os.path.exists(path + "/" + filename): + logger.info("no creds file making creds file") + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + +def convertDStoJSON(ds): + j = dict() + for x in ds: + j[x["key"]] = x["value"] + return j + +def convertJSONtoDS(j): + d = [] + for key in j.keys(): + d.append({"key": key, "value": j[key]}) + return d + +def checkCredentialConfig(): + logger.info("CHECKING CONFIG") + cfgpath = "/var/user/cfg/device_supervisor/device_supervisor.cfg" + credspath = "/var/user/files/creds.json" + cfg = dict() + with open(cfgpath, "r") as f: + cfg = json.load(f) + clouds = cfg.get("clouds") + logger.info(clouds) + #if not configured then try to configure from stored values + if clouds[0]["args"]["clientId"] == "unknown" or clouds[0]["args"]["username"] == "unknown" or not clouds[0]["args"]["passwd"] or clouds[0]["args"]["passwd"] == "unknown": + checkFileExist("creds.json") + with open(credspath, "r") as c: + creds = json.load(c) + if creds: + logger.info("updating config with stored data") + clouds[0]["args"]["clientId"] = creds["clientId"] + clouds[0]["args"]["username"] = creds["userName"] + clouds[0]["args"]["passwd"] = creds["password"] + cfg["clouds"] = clouds + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + reboot() + else: + #assuming clouds is filled out, if data is different then assume someone typed in something new and store it, if creds is empty fill with clouds' data + checkFileExist("creds.json") + with open(credspath, "r") as c: + logger.info("updating stored file with new data") + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + creds = json.load(c) + if creds: + if creds["clientId"] != clouds[0]["args"]["clientId"]: + creds["clientId"] = clouds[0]["args"]["clientId"] + if creds["userName"] != clouds[0]["args"]["username"]: + creds["userName"] = clouds[0]["args"]["username"] + if creds["password"] != clouds[0]["args"]["passwd"]: + creds["password"] = clouds[0]["args"]["passwd"] + else: + creds["clientId"] = clouds[0]["args"]["clientId"] + creds["userName"] = clouds[0]["args"]["username"] + creds["password"] = clouds[0]["args"]["passwd"] + with open(credspath, "w") as cw: + json.dump(creds,cw) + +def checkParameterConfig(cfg): + logger.info("Checking Parameters!!!!") + paramspath = "/var/user/files/params.json" + cfgparams = convertDStoJSON(cfg.get("labels")) + #check stored values + checkFileExist("params.json") + with open(paramspath, "r") as f: + logger.info("Opened param storage file") + params = json.load(f) + if params: + if cfgparams != params: + #go through each param + #if not "unknown" and cfg and params aren't the same take from cfg likely updated manually + #if key in cfg but not in params copy to params + logger.info("equalizing params between cfg and stored") + for key in cfgparams.keys(): + try: + if cfgparams[key] != params[key] and cfgparams[key] != "unknown": + params[key] = cfgparams[key] + except: + params[key] = cfgparams[key] + cfg["labels"] = convertJSONtoDS(params) + _set_global_args(convertJSONtoDS(params)) + with open(paramspath, "w") as p: + json.dump(params, p) + else: + with open(paramspath, "w") as p: + logger.info("initializing param file with params in memory") + json.dump(convertDStoJSON(get_params()), p) + cfg["labels"] = get_params() + + return cfg + +def getGPS(): + # Create a gps instance + gps = GPS() + + # Retrieve GPS information + position_status = gps.get_position_status() + logger.debug("position_status: ") + logger.debug(position_status) + latitude = position_status["latitude"].split(" ") + longitude = position_status["longitude"].split(" ") + lat_dec = int(latitude[0][:-1]) + (float(latitude[1][:-1])/60) + lon_dec = int(longitude[0][:-1]) + (float(longitude[1][:-1])/60) + if latitude[2] == "S": + lat_dec = lat_dec * -1 + if longitude[2] == "W": + lon_dec = lon_dec * -1 + #lat_dec = round(lat_dec, 7) + #lon_dec = round(lon_dec, 7) + logger.info("HERE IS THE GPS COORDS") + logger.info(f"LATITUDE: {lat_dec}, LONGITUDE: {lon_dec}") + speedKnots = position_status["speed"].split(" ") + speedMPH = float(speedKnots[0]) * 1.151 + publish(__topic__, json.dumps({"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values":{"latitude":f"{lat_dec:.8f}", "longitude":f"{lon_dec:.8f}", "speed": f"{speedMPH:.2f}"}}), __qos__) + +def sendData(message,wizard_api): + logger.debug(message) + #publish(__topic__, json.dumps(message), __qos__) + try: + checkCredentialConfig() + getGPS() + except: + logger.error("Could not get gps data!") + + \ No newline at end of file diff --git a/Pub_Sub/cameratrailer/thingsboard/v2/pub/sendSnapshot.py b/Pub_Sub/cameratrailer/thingsboard/v2/pub/sendSnapshot.py new file mode 100644 index 0000000..ba3fae5 --- /dev/null +++ b/Pub_Sub/cameratrailer/thingsboard/v2/pub/sendSnapshot.py @@ -0,0 +1,46 @@ +import json +from common.Logger import logger +from quickfaas.remotebus import publish +from quickfaas.global_dict import get as get_params +from datetime import datetime as dt +import requests +from requests.auth import HTTPDigestAuth +from requests.exceptions import ConnectionError +import base64 + + +def convertJSONtoDS(j): + d = [] + for key in j.keys(): + d.append({"key": key, "value": j[key]}) + return d + +def getImage(): + params = convertJSONtoDS(get_params()) + camera_ip = params["camera_ip"].replace("_", ":") + port = params["port"] + with open('./snapshot.jpg', 'wb') as handle: + resp = requests.get("http://" + camera_ip + ":" + port + "/cgi-bin/SnapshotJPEG?Resolution=640x360", auth=HTTPDigestAuth("ASS", "amerus@1903"), stream=True) + for block in resp.iter_content(1024): + if not block: + break + handle.write(block) + + with open('./snapshot.jpg', 'rb') as image_file: + encoded_string = base64.b64encode(image_file.read()) + publish(__topic__, json.dumps({"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values":{"snapshot": encoded_string.decode("UTF-8"), "camera_error": "OK"}}), __qos__) + + +def sendSnapshot(message,wizard_api): + logger.debug(message) + try: + getImage() + except ConnectionError as ce: + logger.error("Could not connect to Camera") + logger.error(ce) + publish(__topic__, json.dumps({"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values":{"camera_error": f"Could not connect to camera, check camera connection and power\n\n{ce}"}}), __qos__) + except Exception as e: + logger.error("Could not get image") + logger.error(e) + publish(__topic__, json.dumps({"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values":{"camera_error": f"Could not connect to camera, check camera connection and power\n\n{e}"}}), __qos__) + \ No newline at end of file diff --git a/Pub_Sub/cameratrailer/thingsboard/v3/cameratrailer_tb_v3.cfg b/Pub_Sub/cameratrailer/thingsboard/v3/cameratrailer_tb_v3.cfg new file mode 100644 index 0000000..debf60f --- /dev/null +++ b/Pub_Sub/cameratrailer/thingsboard/v3/cameratrailer_tb_v3.cfg @@ -0,0 +1,205 @@ +{ + "controllers": [ + { + "protocol": "Virtual Controller", + "name": "cameratrailer", + "args": {}, + "endpoint": "", + "samplePeriod": 0, + "expired": 0 + }, + { + "protocol": "Virtual Controller", + "name": "snapshot", + "args": {}, + "endpoint": "", + "samplePeriod": 0, + "expired": 0 + } + ], + "measures": [ + { + "name": "c", + "ctrlName": "cameratrailer", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "", + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "bitMap": 0 + }, + { + "name": "s", + "ctrlName": "snapshot", + "group": "snapshot", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "", + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "bitMap": 0 + } + ], + "alarms": [], + "groups": [ + { + "name": "default", + "uploadInterval": 600 + }, + { + "name": "snapshot", + "uploadInterval": 3600 + } + ], + "misc": { + "maxAlarmRecordSz": 2000, + "logLvl": "INFO", + "coms": [ + { + "name": "rs232", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + }, + { + "name": "rs485", + "baud": 19200, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + } + ] + }, + "clouds": [ + { + "cacheSize": 10000, + "enable": 1, + "name": "default", + "type": "Standard MQTT", + "args": { + "host": "hp.henrypump.cloud", + "port": 1883, + "clientId": "unknown", + "auth": 1, + "tls": 0, + "cleanSession": 0, + "mqttVersion": "v3.1.1", + "keepalive": 60, + "key": "", + "cert": "", + "rootCA": "", + "verifyServer": 0, + "verifyClient": 0, + "username": "unknown", + "passwd": "unknown", + "authType": 1 + } + } + ], + "labels": [ + { + "key": "SN", + "value": "GF5022137006251" + }, + { + "key": "MAC", + "value": "00:18:05:1a:e5:36" + } + ], + "quickfaas": { + "genericFuncs": [], + "uploadFuncs": [ + { + "qos": 1, + "funcName": "sendData", + "script": "import json, os\nfrom datetime import datetime as dt\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nfrom mobiuspi_lib.gps import GPS \nfrom quickfaas.global_dict import get as get_params\nfrom quickfaas.global_dict import _set_global_args\n\n\ndef reboot():\n #basic = Basic()\n logger.info(\"!\" * 10 + \"REBOOTING DEVICE\" + \"!\"*10)\n r = os.popen(\"kill -s SIGHUP `cat /var/run/python/supervisord.pid`\").read()\n logger.info(f\"REBOOT : {r}\")\n\ndef checkFileExist(filename):\n path = \"/var/user/files\"\n if not os.path.exists(path):\n logger.info(\"no folder making files folder in var/user\")\n os.makedirs(path)\n with open(path + \"/\" + filename, \"a\") as f:\n json.dump({}, f)\n if not os.path.exists(path + \"/\" + filename):\n logger.info(\"no creds file making creds file\")\n with open(path + \"/\" + filename, \"a\") as f:\n json.dump({}, f)\n\ndef convertDStoJSON(ds):\n j = dict()\n for x in ds:\n j[x[\"key\"]] = x[\"value\"]\n return j\n\ndef convertJSONtoDS(j):\n d = []\n for key in j.keys():\n d.append({\"key\": key, \"value\": j[key]})\n return d\n\ndef checkCredentialConfig():\n logger.info(\"CHECKING CONFIG\")\n cfgpath = \"/var/user/cfg/device_supervisor/device_supervisor.cfg\"\n credspath = \"/var/user/files/creds.json\"\n cfg = dict()\n with open(cfgpath, \"r\") as f:\n cfg = json.load(f)\n clouds = cfg.get(\"clouds\")\n logger.info(clouds)\n #if not configured then try to configure from stored values\n if clouds[0][\"args\"][\"clientId\"] == \"unknown\" or clouds[0][\"args\"][\"username\"] == \"unknown\" or not clouds[0][\"args\"][\"passwd\"] or clouds[0][\"args\"][\"passwd\"] == \"unknown\":\n checkFileExist(\"creds.json\")\n with open(credspath, \"r\") as c:\n creds = json.load(c)\n if creds:\n logger.info(\"updating config with stored data\")\n clouds[0][\"args\"][\"clientId\"] = creds[\"clientId\"]\n clouds[0][\"args\"][\"username\"] = creds[\"userName\"]\n clouds[0][\"args\"][\"passwd\"] = creds[\"password\"]\n cfg[\"clouds\"] = clouds\n cfg = checkParameterConfig(cfg)\n with open(cfgpath, \"w\", encoding='utf-8') as n:\n json.dump(cfg, n, indent=1, ensure_ascii=False)\n reboot()\n else:\n #assuming clouds is filled out, if data is different then assume someone typed in something new and store it, if creds is empty fill with clouds' data\n checkFileExist(\"creds.json\")\n with open(credspath, \"r\") as c:\n logger.info(\"updating stored file with new data\")\n cfg = checkParameterConfig(cfg)\n with open(cfgpath, \"w\", encoding='utf-8') as n:\n json.dump(cfg, n, indent=1, ensure_ascii=False)\n creds = json.load(c)\n if creds:\n if creds[\"clientId\"] != clouds[0][\"args\"][\"clientId\"]:\n creds[\"clientId\"] = clouds[0][\"args\"][\"clientId\"]\n if creds[\"userName\"] != clouds[0][\"args\"][\"username\"]:\n creds[\"userName\"] = clouds[0][\"args\"][\"username\"]\n if creds[\"password\"] != clouds[0][\"args\"][\"passwd\"]:\n creds[\"password\"] = clouds[0][\"args\"][\"passwd\"]\n else:\n creds[\"clientId\"] = clouds[0][\"args\"][\"clientId\"]\n creds[\"userName\"] = clouds[0][\"args\"][\"username\"]\n creds[\"password\"] = clouds[0][\"args\"][\"passwd\"]\n with open(credspath, \"w\") as cw:\n json.dump(creds,cw)\n\ndef checkParameterConfig(cfg):\n logger.info(\"Checking Parameters!!!!\")\n paramspath = \"/var/user/files/params.json\"\n cfgparams = convertDStoJSON(cfg.get(\"labels\"))\n #check stored values \n checkFileExist(\"params.json\")\n with open(paramspath, \"r\") as f:\n logger.info(\"Opened param storage file\")\n params = json.load(f)\n if params:\n if cfgparams != params:\n #go through each param\n #if not \"unknown\" and cfg and params aren't the same take from cfg likely updated manually\n #if key in cfg but not in params copy to params\n logger.info(\"equalizing params between cfg and stored\")\n for key in cfgparams.keys():\n try:\n if cfgparams[key] != params[key] and cfgparams[key] != \"unknown\":\n params[key] = cfgparams[key]\n except:\n params[key] = cfgparams[key]\n cfg[\"labels\"] = convertJSONtoDS(params)\n _set_global_args(convertJSONtoDS(params))\n with open(paramspath, \"w\") as p:\n json.dump(params, p)\n else:\n with open(paramspath, \"w\") as p:\n logger.info(\"initializing param file with params in memory\")\n json.dump(convertDStoJSON(get_params()), p)\n cfg[\"labels\"] = get_params()\n \n return cfg\n\ndef getGPS():\n # Create a gps instance\n gps = GPS()\n\n # Retrieve GPS information\n position_status = gps.get_position_status()\n logger.debug(\"position_status: \")\n logger.debug(position_status)\n latitude = position_status[\"latitude\"].split(\" \")\n longitude = position_status[\"longitude\"].split(\" \")\n lat_dec = int(latitude[0][:-1]) + (float(latitude[1][:-1])/60)\n lon_dec = int(longitude[0][:-1]) + (float(longitude[1][:-1])/60)\n if latitude[2] == \"S\":\n lat_dec = lat_dec * -1\n if longitude[2] == \"W\":\n lon_dec = lon_dec * -1\n #lat_dec = round(lat_dec, 7)\n #lon_dec = round(lon_dec, 7)\n logger.info(\"HERE IS THE GPS COORDS\")\n logger.info(f\"LATITUDE: {lat_dec}, LONGITUDE: {lon_dec}\")\n speedKnots = position_status[\"speed\"].split(\" \")\n speedMPH = float(speedKnots[0]) * 1.151\n publish(__topic__, json.dumps({\"ts\": (round(dt.timestamp(dt.now())/600)*600)*1000, \"values\":{\"latitude\":f\"{lat_dec:.8f}\", \"longitude\":f\"{lon_dec:.8f}\", \"speed\": f\"{speedMPH:.2f}\"}}), __qos__)\n\ndef sendData(message,wizard_api):\n logger.debug(message)\n #publish(__topic__, json.dumps(message), __qos__)\n try:\n checkCredentialConfig()\n getGPS()\n except:\n logger.error(\"Could not get gps data!\")\n\n ", + "name": "sendData", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "cloudName": "default", + "msgType": 0, + "groups": [ + "default" + ] + }, + { + "qos": 1, + "funcName": "sendSnapshot", + "script": "import json, time, requests, base64\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nfrom quickfaas.global_dict import get as get_params\nfrom datetime import datetime as dt\nfrom requests.auth import HTTPDigestAuth\nfrom requests.exceptions import ConnectionError\n\n\n\ndef convertDStoJSON(ds):\n j = dict()\n for x in ds:\n j[x[\"key\"]] = x[\"value\"]\n return j\n\ndef getImage():\n params = convertDStoJSON(get_params())\n camera_ip = params[\"camera_ip\"].replace(\"_\", \".\")\n port = params[\"port\"]\n with open('./snapshot.jpg', 'wb') as handle:\n resp = requests.get(\"http://\" + camera_ip + \":\" + port + \"/cgi-bin/camctrl?af=on\", auth=HTTPDigestAuth(\"ASS\", \"amerus@1903\"),stream=True)\n time.sleep(2)\n resp = requests.get(\"http://\" + camera_ip + \":\" + port + \"/cgi-bin/SnapshotJPEG?Resolution=640x360\", auth=HTTPDigestAuth(\"ASS\", \"amerus@1903\"), stream=True)\n for block in resp.iter_content(1024):\n if not block:\n break\n handle.write(block)\n \n with open('./snapshot.jpg', 'rb') as image_file:\n encoded_string = base64.b64encode(image_file.read())\n publish(__topic__, json.dumps({\"ts\": (round(dt.timestamp(dt.now())/600)*600)*1000, \"values\":{\"snapshot\": encoded_string.decode(\"UTF-8\"), \"camera_error\": \"OK\"}}), __qos__)\n\n\ndef sendSnapshot(message,wizard_api):\n logger.debug(message)\n try:\n getImage()\n except ConnectionError as ce:\n logger.error(\"Could not connect to Camera\")\n logger.error(ce)\n publish(__topic__, json.dumps({\"ts\": (round(dt.timestamp(dt.now())/600)*600)*1000, \"values\":{\"camera_error\": f\"Could not connect to camera, check camera connection and power\\n\\n{ce}\"}}), __qos__)\n except Exception as e:\n logger.error(\"Could not get image\")\n logger.error(e)\n publish(__topic__, json.dumps({\"ts\": (round(dt.timestamp(dt.now())/600)*600)*1000, \"values\":{\"camera_error\": f\"Could not connect to camera, check camera connection, power, IP Address\\n\\n{e}\"}}), __qos__)\n ", + "name": "snapshot", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "cloudName": "default", + "groups": [ + "snapshot" + ], + "msgType": 0 + } + ], + "downloadFuncs": [] + }, + "modbusSlave": { + "enable": 0, + "protocol": "Modbus-TCP", + "port": 502, + "slaveAddr": 1, + "int16Ord": "ab", + "int32Ord": "abcd", + "float32Ord": "abcd", + "maxConnection": 5, + "mapping_table": [] + }, + "iec104Server": { + "enable": 0, + "cotSize": 2, + "port": 2404, + "serverList": [ + { + "asduAddr": 1 + } + ], + "kValue": 12, + "wValue": 8, + "t0": 15, + "t1": 15, + "t2": 10, + "t3": 20, + "maximumLink": 5, + "timeSet": 1, + "byteOrder": "abcd", + "mapping_table": [] + }, + "opcuaServer": { + "enable": 0, + "port": 4840, + "maximumLink": 5, + "securityMode": 0, + "identifierType": "String", + "mapping_table": [] + }, + "bindConfig": { + "enable": 0, + "bind": { + "modelId": "", + "modelName": "", + "srcId": "", + "srcName": "", + "devId": "", + "devName": "" + }, + "varGroups": [], + "variables": [], + "alerts": [] + }, + "southMetadata": {}, + "bindMetadata": { + "version": "", + "timestamp": "" + } +} \ No newline at end of file diff --git a/Pub_Sub/cameratrailer/thingsboard/v3/pub/sendData.py b/Pub_Sub/cameratrailer/thingsboard/v3/pub/sendData.py new file mode 100644 index 0000000..c9a8218 --- /dev/null +++ b/Pub_Sub/cameratrailer/thingsboard/v3/pub/sendData.py @@ -0,0 +1,153 @@ +import json, os +from datetime import datetime as dt +from common.Logger import logger +from quickfaas.remotebus import publish +from mobiuspi_lib.gps import GPS +from quickfaas.global_dict import get as get_params +from quickfaas.global_dict import _set_global_args + + +def reboot(): + #basic = Basic() + logger.info("!" * 10 + "REBOOTING DEVICE" + "!"*10) + r = os.popen("kill -s SIGHUP `cat /var/run/python/supervisord.pid`").read() + logger.info(f"REBOOT : {r}") + +def checkFileExist(filename): + path = "/var/user/files" + if not os.path.exists(path): + logger.info("no folder making files folder in var/user") + os.makedirs(path) + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + if not os.path.exists(path + "/" + filename): + logger.info("no creds file making creds file") + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + +def convertDStoJSON(ds): + j = dict() + for x in ds: + j[x["key"]] = x["value"] + return j + +def convertJSONtoDS(j): + d = [] + for key in j.keys(): + d.append({"key": key, "value": j[key]}) + return d + +def checkCredentialConfig(): + logger.info("CHECKING CONFIG") + cfgpath = "/var/user/cfg/device_supervisor/device_supervisor.cfg" + credspath = "/var/user/files/creds.json" + cfg = dict() + with open(cfgpath, "r") as f: + cfg = json.load(f) + clouds = cfg.get("clouds") + logger.info(clouds) + #if not configured then try to configure from stored values + if clouds[0]["args"]["clientId"] == "unknown" or clouds[0]["args"]["username"] == "unknown" or not clouds[0]["args"]["passwd"] or clouds[0]["args"]["passwd"] == "unknown": + checkFileExist("creds.json") + with open(credspath, "r") as c: + creds = json.load(c) + if creds: + logger.info("updating config with stored data") + clouds[0]["args"]["clientId"] = creds["clientId"] + clouds[0]["args"]["username"] = creds["userName"] + clouds[0]["args"]["passwd"] = creds["password"] + cfg["clouds"] = clouds + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + reboot() + else: + #assuming clouds is filled out, if data is different then assume someone typed in something new and store it, if creds is empty fill with clouds' data + checkFileExist("creds.json") + with open(credspath, "r") as c: + logger.info("updating stored file with new data") + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + creds = json.load(c) + if creds: + if creds["clientId"] != clouds[0]["args"]["clientId"]: + creds["clientId"] = clouds[0]["args"]["clientId"] + if creds["userName"] != clouds[0]["args"]["username"]: + creds["userName"] = clouds[0]["args"]["username"] + if creds["password"] != clouds[0]["args"]["passwd"]: + creds["password"] = clouds[0]["args"]["passwd"] + else: + creds["clientId"] = clouds[0]["args"]["clientId"] + creds["userName"] = clouds[0]["args"]["username"] + creds["password"] = clouds[0]["args"]["passwd"] + with open(credspath, "w") as cw: + json.dump(creds,cw) + +def checkParameterConfig(cfg): + logger.info("Checking Parameters!!!!") + paramspath = "/var/user/files/params.json" + cfgparams = convertDStoJSON(cfg.get("labels")) + #check stored values + checkFileExist("params.json") + with open(paramspath, "r") as f: + logger.info("Opened param storage file") + params = json.load(f) + if params: + if cfgparams != params: + #go through each param + #if not "unknown" and cfg and params aren't the same take from cfg likely updated manually + #if key in cfg but not in params copy to params + logger.info("equalizing params between cfg and stored") + for key in cfgparams.keys(): + try: + if cfgparams[key] != params[key] and cfgparams[key] != "unknown": + params[key] = cfgparams[key] + except: + params[key] = cfgparams[key] + cfg["labels"] = convertJSONtoDS(params) + _set_global_args(convertJSONtoDS(params)) + with open(paramspath, "w") as p: + json.dump(params, p) + else: + with open(paramspath, "w") as p: + logger.info("initializing param file with params in memory") + json.dump(convertDStoJSON(get_params()), p) + cfg["labels"] = get_params() + + return cfg + +def getGPS(): + # Create a gps instance + gps = GPS() + + # Retrieve GPS information + position_status = gps.get_position_status() + logger.debug("position_status: ") + logger.debug(position_status) + latitude = position_status["latitude"].split(" ") + longitude = position_status["longitude"].split(" ") + lat_dec = int(latitude[0][:-1]) + (float(latitude[1][:-1])/60) + lon_dec = int(longitude[0][:-1]) + (float(longitude[1][:-1])/60) + if latitude[2] == "S": + lat_dec = lat_dec * -1 + if longitude[2] == "W": + lon_dec = lon_dec * -1 + #lat_dec = round(lat_dec, 7) + #lon_dec = round(lon_dec, 7) + logger.info("HERE IS THE GPS COORDS") + logger.info(f"LATITUDE: {lat_dec}, LONGITUDE: {lon_dec}") + speedKnots = position_status["speed"].split(" ") + speedMPH = float(speedKnots[0]) * 1.151 + publish(__topic__, json.dumps({"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values":{"latitude":f"{lat_dec:.8f}", "longitude":f"{lon_dec:.8f}", "speed": f"{speedMPH:.2f}"}}), __qos__) + +def sendData(message,wizard_api): + logger.debug(message) + #publish(__topic__, json.dumps(message), __qos__) + try: + checkCredentialConfig() + getGPS() + except: + logger.error("Could not get gps data!") + + \ No newline at end of file diff --git a/Pub_Sub/cameratrailer/thingsboard/v3/pub/sendSnapshot.py b/Pub_Sub/cameratrailer/thingsboard/v3/pub/sendSnapshot.py new file mode 100644 index 0000000..2055d57 --- /dev/null +++ b/Pub_Sub/cameratrailer/thingsboard/v3/pub/sendSnapshot.py @@ -0,0 +1,54 @@ +import json, time, requests, base64 +from common.Logger import logger +from quickfaas.remotebus import publish +from quickfaas.global_dict import get as get_params +from datetime import datetime as dt +from requests.adapters import HTTPAdapter, Retry +from requests.auth import HTTPDigestAuth +from requests.exceptions import ConnectionError + + + +def convertDStoJSON(ds): + j = dict() + for x in ds: + j[x["key"]] = x["value"] + return j + +def getImage(): + params = convertDStoJSON(get_params()) + camera_ip = params["camera_ip"].replace("_", ".") + port = params["port"] + with open('./snapshot.jpg', 'wb') as handle: + with requests.Session() as s: + retries = Retry(total = 10, backoff_factor=0.1, status_forcelist=[404,408, 500, 502, 503, 504]) + s.mount('http://', HTTPAdapter(max_retries=retries)) + try: + resp = s.get("http://" + camera_ip + ":" + port + "/cgi-bin/camctrl?af=on", auth=HTTPDigestAuth("ASS", "amerus@1903"),stream=True) + except: + logger.error("Did not Auto Focus") + time.sleep(2) + resp = s.get("http://" + camera_ip + ":" + port + "/cgi-bin/SnapshotJPEG?Resolution=640x360", auth=HTTPDigestAuth("ASS", "amerus@1903"), stream=True) + for block in resp.iter_content(1024): + if not block: + break + handle.write(block) + + with open('./snapshot.jpg', 'rb') as image_file: + encoded_string = base64.b64encode(image_file.read()) + publish(__topic__, json.dumps({"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values":{"snapshot": encoded_string.decode("UTF-8"), "camera_error": "OK"}}), __qos__) + + +def sendSnapshot(message,wizard_api): + logger.debug(message) + try: + getImage() + except ConnectionError as ce: + logger.error("Could not connect to Camera") + logger.error(ce) + publish(__topic__, json.dumps({"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values":{"camera_error": f"Could not connect to camera (ConnectionError), check camera connection and power\n\n{ce}"}}), __qos__) + except Exception as e: + logger.error("Could not get image") + logger.error(e) + publish(__topic__, json.dumps({"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values":{"camera_error": f"Could not connect to camera, check camera connection, power, IP Address\n\n{e}"}}), __qos__) + \ No newline at end of file diff --git a/Pub_Sub/cameratrailer/thingsboard/v4/cameratrailer_tb_v4.cfg b/Pub_Sub/cameratrailer/thingsboard/v4/cameratrailer_tb_v4.cfg new file mode 100644 index 0000000..182abc2 --- /dev/null +++ b/Pub_Sub/cameratrailer/thingsboard/v4/cameratrailer_tb_v4.cfg @@ -0,0 +1,205 @@ +{ + "controllers": [ + { + "protocol": "Virtual Controller", + "name": "cameratrailer", + "args": {}, + "endpoint": "", + "samplePeriod": 0, + "expired": 0 + }, + { + "protocol": "Virtual Controller", + "name": "snapshot", + "args": {}, + "endpoint": "", + "samplePeriod": 0, + "expired": 0 + } + ], + "measures": [ + { + "name": "c", + "ctrlName": "cameratrailer", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "", + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "bitMap": 0 + }, + { + "name": "s", + "ctrlName": "snapshot", + "group": "snapshot", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "", + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "bitMap": 0 + } + ], + "alarms": [], + "groups": [ + { + "name": "default", + "uploadInterval": 600 + }, + { + "name": "snapshot", + "uploadInterval": 3600 + } + ], + "misc": { + "maxAlarmRecordSz": 2000, + "logLvl": "INFO", + "coms": [ + { + "name": "rs232", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + }, + { + "name": "rs485", + "baud": 19200, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + } + ] + }, + "clouds": [ + { + "cacheSize": 10000, + "enable": 1, + "name": "default", + "type": "Standard MQTT", + "args": { + "host": "hp.henrypump.cloud", + "port": 1883, + "clientId": "unknown", + "auth": 1, + "tls": 0, + "cleanSession": 0, + "mqttVersion": "v3.1.1", + "keepalive": 60, + "key": "", + "cert": "", + "rootCA": "", + "verifyServer": 0, + "verifyClient": 0, + "username": "unknown", + "passwd": "unknown", + "authType": 1 + } + } + ], + "labels": [ + { + "key": "SN", + "value": "GF5022137006251" + }, + { + "key": "MAC", + "value": "00:18:05:1a:e5:36" + } + ], + "quickfaas": { + "genericFuncs": [], + "uploadFuncs": [ + { + "qos": 1, + "funcName": "sendData", + "script": "import json, os\nfrom datetime import datetime as dt\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nfrom mobiuspi_lib.gps import GPS \nfrom quickfaas.global_dict import get as get_params\nfrom quickfaas.global_dict import _set_global_args\n\n\ndef reboot():\n #basic = Basic()\n logger.info(\"!\" * 10 + \"REBOOTING DEVICE\" + \"!\"*10)\n r = os.popen(\"kill -s SIGHUP `cat /var/run/python/supervisord.pid`\").read()\n logger.info(f\"REBOOT : {r}\")\n\ndef checkFileExist(filename):\n path = \"/var/user/files\"\n if not os.path.exists(path):\n logger.info(\"no folder making files folder in var/user\")\n os.makedirs(path)\n with open(path + \"/\" + filename, \"a\") as f:\n json.dump({}, f)\n if not os.path.exists(path + \"/\" + filename):\n logger.info(\"no creds file making creds file\")\n with open(path + \"/\" + filename, \"a\") as f:\n json.dump({}, f)\n\ndef convertDStoJSON(ds):\n j = dict()\n for x in ds:\n j[x[\"key\"]] = x[\"value\"]\n return j\n\ndef convertJSONtoDS(j):\n d = []\n for key in j.keys():\n d.append({\"key\": key, \"value\": j[key]})\n return d\n\ndef checkCredentialConfig():\n logger.info(\"CHECKING CONFIG\")\n cfgpath = \"/var/user/cfg/device_supervisor/device_supervisor.cfg\"\n credspath = \"/var/user/files/creds.json\"\n cfg = dict()\n with open(cfgpath, \"r\") as f:\n cfg = json.load(f)\n clouds = cfg.get(\"clouds\")\n logger.info(clouds)\n #if not configured then try to configure from stored values\n if clouds[0][\"args\"][\"clientId\"] == \"unknown\" or clouds[0][\"args\"][\"username\"] == \"unknown\" or not clouds[0][\"args\"][\"passwd\"] or clouds[0][\"args\"][\"passwd\"] == \"unknown\":\n checkFileExist(\"creds.json\")\n with open(credspath, \"r\") as c:\n creds = json.load(c)\n if creds:\n logger.info(\"updating config with stored data\")\n clouds[0][\"args\"][\"clientId\"] = creds[\"clientId\"]\n clouds[0][\"args\"][\"username\"] = creds[\"userName\"]\n clouds[0][\"args\"][\"passwd\"] = creds[\"password\"]\n cfg[\"clouds\"] = clouds\n cfg = checkParameterConfig(cfg)\n with open(cfgpath, \"w\", encoding='utf-8') as n:\n json.dump(cfg, n, indent=1, ensure_ascii=False)\n reboot()\n else:\n #assuming clouds is filled out, if data is different then assume someone typed in something new and store it, if creds is empty fill with clouds' data\n checkFileExist(\"creds.json\")\n with open(credspath, \"r\") as c:\n logger.info(\"updating stored file with new data\")\n cfg = checkParameterConfig(cfg)\n with open(cfgpath, \"w\", encoding='utf-8') as n:\n json.dump(cfg, n, indent=1, ensure_ascii=False)\n creds = json.load(c)\n if creds:\n if creds[\"clientId\"] != clouds[0][\"args\"][\"clientId\"]:\n creds[\"clientId\"] = clouds[0][\"args\"][\"clientId\"]\n if creds[\"userName\"] != clouds[0][\"args\"][\"username\"]:\n creds[\"userName\"] = clouds[0][\"args\"][\"username\"]\n if creds[\"password\"] != clouds[0][\"args\"][\"passwd\"]:\n creds[\"password\"] = clouds[0][\"args\"][\"passwd\"]\n else:\n creds[\"clientId\"] = clouds[0][\"args\"][\"clientId\"]\n creds[\"userName\"] = clouds[0][\"args\"][\"username\"]\n creds[\"password\"] = clouds[0][\"args\"][\"passwd\"]\n with open(credspath, \"w\") as cw:\n json.dump(creds,cw)\n\ndef checkParameterConfig(cfg):\n logger.info(\"Checking Parameters!!!!\")\n paramspath = \"/var/user/files/params.json\"\n cfgparams = convertDStoJSON(cfg.get(\"labels\"))\n #check stored values \n checkFileExist(\"params.json\")\n with open(paramspath, \"r\") as f:\n logger.info(\"Opened param storage file\")\n params = json.load(f)\n if params:\n if cfgparams != params:\n #go through each param\n #if not \"unknown\" and cfg and params aren't the same take from cfg likely updated manually\n #if key in cfg but not in params copy to params\n logger.info(\"equalizing params between cfg and stored\")\n for key in cfgparams.keys():\n try:\n if cfgparams[key] != params[key] and cfgparams[key] != \"unknown\":\n params[key] = cfgparams[key]\n except:\n params[key] = cfgparams[key]\n cfg[\"labels\"] = convertJSONtoDS(params)\n _set_global_args(convertJSONtoDS(params))\n with open(paramspath, \"w\") as p:\n json.dump(params, p)\n else:\n with open(paramspath, \"w\") as p:\n logger.info(\"initializing param file with params in memory\")\n json.dump(convertDStoJSON(get_params()), p)\n cfg[\"labels\"] = get_params()\n \n return cfg\n\ndef getGPS():\n # Create a gps instance\n gps = GPS()\n\n # Retrieve GPS information\n position_status = gps.get_position_status()\n logger.debug(\"position_status: \")\n logger.debug(position_status)\n latitude = position_status[\"latitude\"].split(\" \")\n longitude = position_status[\"longitude\"].split(\" \")\n lat_dec = int(latitude[0][:-1]) + (float(latitude[1][:-1])/60)\n lon_dec = int(longitude[0][:-1]) + (float(longitude[1][:-1])/60)\n if latitude[2] == \"S\":\n lat_dec = lat_dec * -1\n if longitude[2] == \"W\":\n lon_dec = lon_dec * -1\n #lat_dec = round(lat_dec, 7)\n #lon_dec = round(lon_dec, 7)\n logger.info(\"HERE IS THE GPS COORDS\")\n logger.info(f\"LATITUDE: {lat_dec}, LONGITUDE: {lon_dec}\")\n speedKnots = position_status[\"speed\"].split(\" \")\n speedMPH = float(speedKnots[0]) * 1.151\n publish(__topic__, json.dumps({\"ts\": (round(dt.timestamp(dt.now())/600)*600)*1000, \"values\":{\"latitude\":f\"{lat_dec:.8f}\", \"longitude\":f\"{lon_dec:.8f}\", \"speed\": f\"{speedMPH:.2f}\"}}), __qos__)\n\ndef sendData(message,wizard_api):\n logger.debug(message)\n #publish(__topic__, json.dumps(message), __qos__)\n try:\n checkCredentialConfig()\n getGPS()\n except:\n logger.error(\"Could not get gps data!\")\n\n ", + "name": "sendData", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "cloudName": "default", + "msgType": 0, + "groups": [ + "default" + ] + }, + { + "qos": 1, + "funcName": "sendSnapshot", + "script": "import json, time, requests, base64\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nfrom quickfaas.global_dict import get as get_params\nfrom datetime import datetime as dt\nfrom requests.adapters import HTTPAdapter, Retry\nfrom requests.auth import HTTPDigestAuth\nfrom requests.exceptions import ConnectionError\n\n\n\ndef convertDStoJSON(ds):\n j = dict()\n for x in ds:\n j[x[\"key\"]] = x[\"value\"]\n return j\n\ndef getImage():\n params = convertDStoJSON(get_params())\n camera_ip = params[\"camera_ip\"].replace(\"_\", \".\")\n port = params[\"port\"]\n with open('./snapshot.jpg', 'wb') as handle:\n with requests.Session() as s:\n retries = Retry(total = 10, backoff_factor=0.1, status_forcelist=[404,408, 500, 502, 503, 504])\n s.mount('http://', HTTPAdapter(max_retries=retries))\n try:\n resp = s.get(\"http://\" + camera_ip + \":\" + port + \"/cgi-bin/camctrl?af=on\", auth=HTTPDigestAuth(\"ASS\", \"amerus@1903\"),stream=True)\n except:\n logger.error(\"Did not Auto Focus\")\n time.sleep(2)\n resp = s.get(\"http://\" + camera_ip + \":\" + port + \"/cgi-bin/SnapshotJPEG?Resolution=640x360\", auth=HTTPDigestAuth(\"ASS\", \"amerus@1903\"), stream=True)\n for block in resp.iter_content(1024):\n if not block:\n break\n handle.write(block)\n \n with open('./snapshot.jpg', 'rb') as image_file:\n encoded_string = base64.b64encode(image_file.read())\n publish(__topic__, json.dumps({\"ts\": (round(dt.timestamp(dt.now())/600)*600)*1000, \"values\":{\"snapshot\": encoded_string.decode(\"UTF-8\"), \"camera_error\": \"OK\"}}), __qos__)\n\n\ndef sendSnapshot(message,wizard_api):\n logger.debug(message)\n try:\n getImage()\n except ConnectionError as ce:\n logger.error(\"Could not connect to Camera\")\n logger.error(ce)\n publish(__topic__, json.dumps({\"ts\": (round(dt.timestamp(dt.now())/600)*600)*1000, \"values\":{\"camera_error\": f\"Could not connect to camera (ConnectionError), check camera connection and power\\n\\n{ce}\"}}), __qos__)\n except Exception as e:\n logger.error(\"Could not get image\")\n logger.error(e)\n publish(__topic__, json.dumps({\"ts\": (round(dt.timestamp(dt.now())/600)*600)*1000, \"values\":{\"camera_error\": f\"Could not connect to camera, check camera connection, power, IP Address\\n\\n{e}\"}}), __qos__)\n ", + "name": "snapshot", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "cloudName": "default", + "groups": [ + "snapshot" + ], + "msgType": 0 + } + ], + "downloadFuncs": [] + }, + "modbusSlave": { + "enable": 0, + "protocol": "Modbus-TCP", + "port": 502, + "slaveAddr": 1, + "int16Ord": "ab", + "int32Ord": "abcd", + "float32Ord": "abcd", + "maxConnection": 5, + "mapping_table": [] + }, + "iec104Server": { + "enable": 0, + "cotSize": 2, + "port": 2404, + "serverList": [ + { + "asduAddr": 1 + } + ], + "kValue": 12, + "wValue": 8, + "t0": 15, + "t1": 15, + "t2": 10, + "t3": 20, + "maximumLink": 5, + "timeSet": 1, + "byteOrder": "abcd", + "mapping_table": [] + }, + "opcuaServer": { + "enable": 0, + "port": 4840, + "maximumLink": 5, + "securityMode": 0, + "identifierType": "String", + "mapping_table": [] + }, + "bindConfig": { + "enable": 0, + "bind": { + "modelId": "", + "modelName": "", + "srcId": "", + "srcName": "", + "devId": "", + "devName": "" + }, + "varGroups": [], + "variables": [], + "alerts": [] + }, + "southMetadata": {}, + "bindMetadata": { + "version": "", + "timestamp": "" + } +} \ No newline at end of file diff --git a/Pub_Sub/cameratrailer/thingsboard/v4/pub/sendData.py b/Pub_Sub/cameratrailer/thingsboard/v4/pub/sendData.py new file mode 100644 index 0000000..c9a8218 --- /dev/null +++ b/Pub_Sub/cameratrailer/thingsboard/v4/pub/sendData.py @@ -0,0 +1,153 @@ +import json, os +from datetime import datetime as dt +from common.Logger import logger +from quickfaas.remotebus import publish +from mobiuspi_lib.gps import GPS +from quickfaas.global_dict import get as get_params +from quickfaas.global_dict import _set_global_args + + +def reboot(): + #basic = Basic() + logger.info("!" * 10 + "REBOOTING DEVICE" + "!"*10) + r = os.popen("kill -s SIGHUP `cat /var/run/python/supervisord.pid`").read() + logger.info(f"REBOOT : {r}") + +def checkFileExist(filename): + path = "/var/user/files" + if not os.path.exists(path): + logger.info("no folder making files folder in var/user") + os.makedirs(path) + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + if not os.path.exists(path + "/" + filename): + logger.info("no creds file making creds file") + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + +def convertDStoJSON(ds): + j = dict() + for x in ds: + j[x["key"]] = x["value"] + return j + +def convertJSONtoDS(j): + d = [] + for key in j.keys(): + d.append({"key": key, "value": j[key]}) + return d + +def checkCredentialConfig(): + logger.info("CHECKING CONFIG") + cfgpath = "/var/user/cfg/device_supervisor/device_supervisor.cfg" + credspath = "/var/user/files/creds.json" + cfg = dict() + with open(cfgpath, "r") as f: + cfg = json.load(f) + clouds = cfg.get("clouds") + logger.info(clouds) + #if not configured then try to configure from stored values + if clouds[0]["args"]["clientId"] == "unknown" or clouds[0]["args"]["username"] == "unknown" or not clouds[0]["args"]["passwd"] or clouds[0]["args"]["passwd"] == "unknown": + checkFileExist("creds.json") + with open(credspath, "r") as c: + creds = json.load(c) + if creds: + logger.info("updating config with stored data") + clouds[0]["args"]["clientId"] = creds["clientId"] + clouds[0]["args"]["username"] = creds["userName"] + clouds[0]["args"]["passwd"] = creds["password"] + cfg["clouds"] = clouds + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + reboot() + else: + #assuming clouds is filled out, if data is different then assume someone typed in something new and store it, if creds is empty fill with clouds' data + checkFileExist("creds.json") + with open(credspath, "r") as c: + logger.info("updating stored file with new data") + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + creds = json.load(c) + if creds: + if creds["clientId"] != clouds[0]["args"]["clientId"]: + creds["clientId"] = clouds[0]["args"]["clientId"] + if creds["userName"] != clouds[0]["args"]["username"]: + creds["userName"] = clouds[0]["args"]["username"] + if creds["password"] != clouds[0]["args"]["passwd"]: + creds["password"] = clouds[0]["args"]["passwd"] + else: + creds["clientId"] = clouds[0]["args"]["clientId"] + creds["userName"] = clouds[0]["args"]["username"] + creds["password"] = clouds[0]["args"]["passwd"] + with open(credspath, "w") as cw: + json.dump(creds,cw) + +def checkParameterConfig(cfg): + logger.info("Checking Parameters!!!!") + paramspath = "/var/user/files/params.json" + cfgparams = convertDStoJSON(cfg.get("labels")) + #check stored values + checkFileExist("params.json") + with open(paramspath, "r") as f: + logger.info("Opened param storage file") + params = json.load(f) + if params: + if cfgparams != params: + #go through each param + #if not "unknown" and cfg and params aren't the same take from cfg likely updated manually + #if key in cfg but not in params copy to params + logger.info("equalizing params between cfg and stored") + for key in cfgparams.keys(): + try: + if cfgparams[key] != params[key] and cfgparams[key] != "unknown": + params[key] = cfgparams[key] + except: + params[key] = cfgparams[key] + cfg["labels"] = convertJSONtoDS(params) + _set_global_args(convertJSONtoDS(params)) + with open(paramspath, "w") as p: + json.dump(params, p) + else: + with open(paramspath, "w") as p: + logger.info("initializing param file with params in memory") + json.dump(convertDStoJSON(get_params()), p) + cfg["labels"] = get_params() + + return cfg + +def getGPS(): + # Create a gps instance + gps = GPS() + + # Retrieve GPS information + position_status = gps.get_position_status() + logger.debug("position_status: ") + logger.debug(position_status) + latitude = position_status["latitude"].split(" ") + longitude = position_status["longitude"].split(" ") + lat_dec = int(latitude[0][:-1]) + (float(latitude[1][:-1])/60) + lon_dec = int(longitude[0][:-1]) + (float(longitude[1][:-1])/60) + if latitude[2] == "S": + lat_dec = lat_dec * -1 + if longitude[2] == "W": + lon_dec = lon_dec * -1 + #lat_dec = round(lat_dec, 7) + #lon_dec = round(lon_dec, 7) + logger.info("HERE IS THE GPS COORDS") + logger.info(f"LATITUDE: {lat_dec}, LONGITUDE: {lon_dec}") + speedKnots = position_status["speed"].split(" ") + speedMPH = float(speedKnots[0]) * 1.151 + publish(__topic__, json.dumps({"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values":{"latitude":f"{lat_dec:.8f}", "longitude":f"{lon_dec:.8f}", "speed": f"{speedMPH:.2f}"}}), __qos__) + +def sendData(message,wizard_api): + logger.debug(message) + #publish(__topic__, json.dumps(message), __qos__) + try: + checkCredentialConfig() + getGPS() + except: + logger.error("Could not get gps data!") + + \ No newline at end of file diff --git a/Pub_Sub/cameratrailer/thingsboard/v4/pub/sendSnapshot.py b/Pub_Sub/cameratrailer/thingsboard/v4/pub/sendSnapshot.py new file mode 100644 index 0000000..2055d57 --- /dev/null +++ b/Pub_Sub/cameratrailer/thingsboard/v4/pub/sendSnapshot.py @@ -0,0 +1,54 @@ +import json, time, requests, base64 +from common.Logger import logger +from quickfaas.remotebus import publish +from quickfaas.global_dict import get as get_params +from datetime import datetime as dt +from requests.adapters import HTTPAdapter, Retry +from requests.auth import HTTPDigestAuth +from requests.exceptions import ConnectionError + + + +def convertDStoJSON(ds): + j = dict() + for x in ds: + j[x["key"]] = x["value"] + return j + +def getImage(): + params = convertDStoJSON(get_params()) + camera_ip = params["camera_ip"].replace("_", ".") + port = params["port"] + with open('./snapshot.jpg', 'wb') as handle: + with requests.Session() as s: + retries = Retry(total = 10, backoff_factor=0.1, status_forcelist=[404,408, 500, 502, 503, 504]) + s.mount('http://', HTTPAdapter(max_retries=retries)) + try: + resp = s.get("http://" + camera_ip + ":" + port + "/cgi-bin/camctrl?af=on", auth=HTTPDigestAuth("ASS", "amerus@1903"),stream=True) + except: + logger.error("Did not Auto Focus") + time.sleep(2) + resp = s.get("http://" + camera_ip + ":" + port + "/cgi-bin/SnapshotJPEG?Resolution=640x360", auth=HTTPDigestAuth("ASS", "amerus@1903"), stream=True) + for block in resp.iter_content(1024): + if not block: + break + handle.write(block) + + with open('./snapshot.jpg', 'rb') as image_file: + encoded_string = base64.b64encode(image_file.read()) + publish(__topic__, json.dumps({"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values":{"snapshot": encoded_string.decode("UTF-8"), "camera_error": "OK"}}), __qos__) + + +def sendSnapshot(message,wizard_api): + logger.debug(message) + try: + getImage() + except ConnectionError as ce: + logger.error("Could not connect to Camera") + logger.error(ce) + publish(__topic__, json.dumps({"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values":{"camera_error": f"Could not connect to camera (ConnectionError), check camera connection and power\n\n{ce}"}}), __qos__) + except Exception as e: + logger.error("Could not get image") + logger.error(e) + publish(__topic__, json.dumps({"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values":{"camera_error": f"Could not connect to camera, check camera connection, power, IP Address\n\n{e}"}}), __qos__) + \ No newline at end of file diff --git a/Pub_Sub/cameratrailer/v2/cameratrailer_tb_v2_bak.cfg b/Pub_Sub/cameratrailer/v2/cameratrailer_tb_v2_bak.cfg new file mode 100644 index 0000000..de83fa8 --- /dev/null +++ b/Pub_Sub/cameratrailer/v2/cameratrailer_tb_v2_bak.cfg @@ -0,0 +1,209 @@ +{ + "controllers": [ + { + "protocol": "Virtual Controller", + "name": "cameratrailer", + "args": {}, + "endpoint": "", + "samplePeriod": 0, + "expired": 0 + }, + { + "protocol": "Virtual Controller", + "name": "snapshot", + "args": {}, + "endpoint": "", + "samplePeriod": 0, + "expired": 0 + } + ], + "measures": [ + { + "name": "c", + "ctrlName": "cameratrailer", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "", + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "bitMap": 0 + }, + { + "name": "s", + "ctrlName": "snapshot", + "group": "snapshot", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "", + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "bitMap": 0 + } + ], + "alarmLables": [ + "default" + ], + "alarms": [], + "groups": [ + { + "name": "default", + "uploadInterval": 600 + }, + { + "name": "snapshot", + "uploadInterval": 3600 + } + ], + "misc": { + "maxAlarmRecordSz": 2000, + "logLvl": "INFO", + "coms": [ + { + "name": "rs232", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + }, + { + "name": "rs485", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + } + ] + }, + "clouds": [ + { + "cacheSize": 10000, + "enable": 1, + "name": "default", + "type": "Standard MQTT", + "args": { + "host": "thingsboard.cloud", + "port": 1883, + "clientId": "camera-trailer-110", + "auth": 1, + "tls": 0, + "cleanSession": 0, + "mqttVersion": "v3.1.1", + "keepalive": 60, + "key": "", + "cert": "", + "rootCA": "", + "verifyServer": 0, + "verifyClient": 0, + "username": "assmqtt", + "passwd": "assmqtt@1903", + "authType": 1 + } + } + ], + "quickfaas": { + "genericFuncs": [], + "uploadFuncs": [ + { + "qos": 1, + "funcName": "sendData", + "script": "# Enter your python code.\nimport json\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nfrom mobiuspi_lib.gps import GPS \n\ndef getGPS():\n # Create a gps instance\n gps = GPS()\n\n # Retrieve GPS information\n position_status = gps.get_position_status()\n logger.debug(\"position_status: \")\n logger.debug(position_status)\n latitude = position_status[\"latitude\"].split(\" \")\n longitude = position_status[\"longitude\"].split(\" \")\n lat_dec = int(latitude[0][:-1]) + (float(latitude[1][:-1])/60)\n lon_dec = int(longitude[0][:-1]) + (float(longitude[1][:-1])/60)\n if latitude[2] == \"S\":\n lat_dec = lat_dec * -1\n if longitude[2] == \"W\":\n lon_dec = lon_dec * -1\n #lat_dec = round(lat_dec, 7)\n #lon_dec = round(lon_dec, 7)\n logger.info(\"HERE IS THE GPS COORDS\")\n logger.info(f\"LATITUDE: {lat_dec}, LONGITUDE: {lon_dec}\")\n speedKnots = position_status[\"speed\"].split(\" \")\n speedMPH = float(speedKnots[0]) * 1.151\n publish(__topic__, json.dumps({\"latitude\":f\"{lat_dec:.8f}\", \"longitude\":f\"{lon_dec:.8f}\", \"speed\": f\"{speedMPH:.2f}\"}), __qos__)\n\ndef sendData(message,wizard_api):\n logger.debug(message)\n #publish(__topic__, json.dumps(message), __qos__)\n try:\n getGPS()\n except:\n logger.error(\"Could not get gps data!\")\n\n ", + "name": "sendData", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "cloudName": "default", + "groups": [ + "default" + ], + "msgType": 0 + }, + { + "qos": 1, + "funcName": "sendSnapshot", + "script": "# Enter your python code.\nimport json\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nimport requests\nfrom requests.auth import HTTPDigestAuth\nfrom requests.exceptions import ConnectionError\nimport base64\n\ndef getImage():\n with open('./snapshot.jpg', 'wb') as handle:\n resp = requests.get(\"http://192.168.1.97:3097/cgi-bin/SnapshotJPEG?Resolution=640x360\", auth=HTTPDigestAuth(\"ASS\", \"amerus@1903\"), stream=True)\n for block in resp.iter_content(1024):\n if not block:\n break\n handle.write(block)\n \n with open('./snapshot.jpg', 'rb') as image_file:\n encoded_string = base64.b64encode(image_file.read())\n publish(__topic__, json.dumps({\"snapshot\": encoded_string.decode(\"UTF-8\"), \"camera_error\": \"OK\"}), __qos__)\n\n\ndef sendSnapshot(message,wizard_api):\n logger.debug(message)\n try:\n getImage()\n except ConnectionError as ce:\n logger.error(\"Could not connect to Camera\")\n logger.error(ce)\n publish(__topic__, json.dumps({\"camera_error\": f\"Could not connect to camera, check camera connection and power\\n\\n{ce}\"}), __qos__)\n except Exception as e:\n logger.error(\"Could not get image\")\n logger.error(e)\n publish(__topic__, json.dumps({\"camera_error\": f\"Could not connect to camera, check camera connection and power\\n\\n{e}\"}), __qos__)\n ", + "name": "snapshot", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "cloudName": "default", + "groups": [ + "snapshot" + ], + "msgType": 0 + } + ], + "downloadFuncs": [] + }, + "labels": [ + { + "key": "SN", + "value": "GF5022132004824" + }, + { + "key": "MAC", + "value": "00:18:05:19:bf:b2" + } + ], + "modbusSlave": { + "enable": 0, + "protocol": "Modbus-TCP", + "port": 502, + "slaveAddr": 1, + "int16Ord": "ab", + "int32Ord": "abcd", + "float32Ord": "abcd", + "maxConnection": 5, + "mapping_table": [] + }, + "iec104Server": { + "enable": 0, + "cotSize": 2, + "port": 2404, + "serverList": [ + { + "asduAddr": 1 + } + ], + "kValue": 12, + "wValue": 8, + "t0": 15, + "t1": 15, + "t2": 10, + "t3": 20, + "maximumLink": 5, + "timeSet": 1, + "byteOrder": "abcd", + "mapping_table": [] + }, + "opcuaServer": { + "enable": 0, + "port": 4840, + "maximumLink": 5, + "securityMode": 0, + "identifierType": "String", + "mapping_table": [] + }, + "southMetadata": {}, + "bindMetadata": { + "version": "", + "timestamp": "" + }, + "bindConfig": { + "enable": 0, + "bind": { + "modelId": "", + "modelName": "", + "srcId": "", + "srcName": "", + "devId": "", + "devName": "" + }, + "varGroups": [], + "variables": [], + "alerts": [] + }, + "version": "2.2.1" +} \ No newline at end of file diff --git a/Pub_Sub/cameratrailer/v2/cameratrailer_tb_v2_test.cfg b/Pub_Sub/cameratrailer/v2/cameratrailer_tb_v2_test.cfg new file mode 100644 index 0000000..6a52a02 --- /dev/null +++ b/Pub_Sub/cameratrailer/v2/cameratrailer_tb_v2_test.cfg @@ -0,0 +1,196 @@ +{ + "controllers": [ + { + "protocol": "Virtual Controller", + "name": "cameratrailer", + "args": {}, + "endpoint": "", + "samplePeriod": 0, + "expired": 0 + }, + { + "protocol": "Virtual Controller", + "name": "snapshot", + "args": {}, + "endpoint": "", + "samplePeriod": 0, + "expired": 0 + } + ], + "measures": [ + { + "name": "c", + "ctrlName": "cameratrailer", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "", + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "bitMap": 0 + }, + { + "name": "s", + "ctrlName": "snapshot", + "group": "snapshot", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "", + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "bitMap": 0 + } + ], + "alarms": [], + "groups": [ + { + "name": "default", + "uploadInterval": 600 + }, + { + "name": "snapshot", + "uploadInterval": 3600 + } + ], + "misc": { + "maxAlarmRecordSz": 2000, + "logLvl": "INFO", + "coms": [ + { + "name": "rs232", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + }, + { + "name": "rs485", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + } + ] + }, + "clouds": [ + { + "cacheSize": 10000, + "enable": 1, + "name": "default", + "type": "Standard MQTT", + "args": { + "host": "thingsboard.cloud", + "port": 1883, + "clientId": "camera-trailer", + "auth": 1, + "tls": 0, + "cleanSession": 0, + "mqttVersion": "v3.1.1", + "keepalive": 60, + "key": "", + "cert": "", + "rootCA": "", + "verifyServer": 0, + "verifyClient": 0, + "username": "assmqtt", + "passwd": "assmqtt@1903", + "authType": 1 + } + } + ], + "quickfaas": { + "genericFuncs": [], + "uploadFuncs": [ + { + "qos": 1, + "funcName": "sendData", + "script": "# Enter your python code.\nimport json\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nfrom mobiuspi_lib.gps import GPS \n\ndef getGPS():\n # Create a gps instance\n gps = GPS()\n\n # Retrieve GPS information\n position_status = gps.get_position_status()\n logger.debug(\"position_status: \")\n logger.debug(position_status)\n latitude = position_status[\"latitude\"].split(\" \")\n longitude = position_status[\"longitude\"].split(\" \")\n lat_dec = int(latitude[0][:-1]) + (float(latitude[1][:-1])/60)\n lon_dec = int(longitude[0][:-1]) + (float(longitude[1][:-1])/60)\n if latitude[2] == \"S\":\n lat_dec = lat_dec * -1\n if longitude[2] == \"W\":\n lon_dec = lon_dec * -1\n #lat_dec = round(lat_dec, 7)\n #lon_dec = round(lon_dec, 7)\n logger.info(\"HERE IS THE GPS COORDS\")\n logger.info(f\"LATITUDE: {lat_dec}, LONGITUDE: {lon_dec}\")\n speedKnots = position_status[\"speed\"].split(\" \")\n speedMPH = float(speedKnots[0]) * 1.151\n publish(__topic__, json.dumps({\"latitude\":f\"{lat_dec:.8f}\", \"longitude\":f\"{lon_dec:.8f}\", \"speed\": f\"{speedMPH:.2f}\"}), __qos__)\n\ndef sendData(message,wizard_api):\n logger.debug(message)\n #publish(__topic__, json.dumps(message), __qos__)\n try:\n getGPS()\n except:\n logger.error(\"Could not get gps data!\")\n\n ", + "name": "sendData", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "cloudName": "default", + "groups": [ + "default" + ], + "msgType": 0 + }, + { + "qos": 1, + "funcName": "sendSnapshot", + "script": "# Enter your python code.\nimport json\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nimport requests\nfrom requests.auth import HTTPDigestAuth\nfrom requests.exceptions import ConnectionError\nimport base64\n\ndef getImage():\n with open('./snapshot.jpg', 'wb') as handle:\n resp = requests.get(\"http://192.168.1.97:3097/cgi-bin/SnapshotJPEG?Resolution=640x360\", auth=HTTPDigestAuth(\"ASS\", \"amerus@1903\"), stream=True)\n for block in resp.iter_content(1024):\n if not block:\n break\n handle.write(block)\n \n with open('./snapshot.jpg', 'rb') as image_file:\n encoded_string = base64.b64encode(image_file.read())\n publish(__topic__, json.dumps({\"snapshot\": encoded_string.decode(\"UTF-8\"), \"camera_error\": \"OK\"}), __qos__)\n\n\ndef sendSnapshot(message,wizard_api):\n logger.debug(message)\n try:\n getImage()\n except ConnectionError as ce:\n logger.error(\"Could not connect to Camera\")\n logger.error(ce)\n publish(__topic__, json.dumps({\"camera_error\": f\"Could not connect to camera, check camera connection and power\\n\\n{ce}\"}), __qos__)\n except Exception as e:\n logger.error(\"Could not get image\")\n logger.error(e)\n publish(__topic__, json.dumps({\"camera_error\": f\"Could not connect to camera, check camera connection and power\\n\\n{e}\"}), __qos__)\n ", + "name": "snapshot", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "cloudName": "default", + "groups": [ + "snapshot" + ], + "msgType": 0 + } + ], + "downloadFuncs": [] + }, + "modbusSlave": { + "enable": 0, + "protocol": "Modbus-TCP", + "port": 502, + "slaveAddr": 1, + "int16Ord": "ab", + "int32Ord": "abcd", + "float32Ord": "abcd", + "maxConnection": 5, + "mapping_table": [] + }, + "iec104Server": { + "enable": 0, + "cotSize": 2, + "port": 2404, + "serverList": [ + { + "asduAddr": 1 + } + ], + "kValue": 12, + "wValue": 8, + "t0": 15, + "t1": 15, + "t2": 10, + "t3": 20, + "maximumLink": 5, + "timeSet": 1, + "byteOrder": "abcd", + "mapping_table": [] + }, + "opcuaServer": { + "enable": 0, + "port": 4840, + "maximumLink": 5, + "securityMode": 0, + "identifierType": "String", + "mapping_table": [] + }, + "southMetadata": {}, + "bindMetadata": { + "version": "", + "timestamp": "" + }, + "bindConfig": { + "enable": 0, + "bind": { + "modelId": "", + "modelName": "", + "srcId": "", + "srcName": "", + "devId": "", + "devName": "" + }, + "varGroups": [], + "variables": [], + "alerts": [] + }, + "version": "2.2.1" +} \ No newline at end of file diff --git a/Pub_Sub/cameratrailer/v3/cameratrailer_tb_v3.cfg b/Pub_Sub/cameratrailer/v3/cameratrailer_tb_v3.cfg new file mode 100644 index 0000000..e69de29 diff --git a/Pub_Sub/config_manager.ipynb b/Pub_Sub/config_manager.ipynb new file mode 100644 index 0000000..d822723 --- /dev/null +++ b/Pub_Sub/config_manager.ipynb @@ -0,0 +1,78 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import convert_config\n", + "import os" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "root = \"/Users/nico/Documents/GitHub/HP_InHand_IG502/Pub_Sub/\"\n", + "devicetype = \"advvfdipp\"\n", + "platform = \"thingsboard\" #\"mistaway\"\n", + "startversion = 2\n", + "deviceconfig = devicetype + \"_tb_\" +\"v\" + str(startversion) + \".cfg\"\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "convert_config.write_code(root + devicetype + \"/\" + platform + \"/v\" + str(startversion) + \"/pub\" + \"/sendData.py\", convert_config.get_config_pub(root + \"/\" + devicetype + \"/\" + platform + \"/v\" + str(startversion) + \"/\" + deviceconfig))\n", + "#convert_config.write_code(root + devicetype + \"/\" + platform + \"/v\" + str(startversion) + \"/sub\" + \"/receiveCommand.py\", convert_config.get_config_sub(root + \"/\" + devicetype + \"/\" + platform + \"/v\" + str(startversion) + \"/\" + deviceconfig))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "convert_config.write_config(root + \"/\" + devicetype + \"/thingsboard/v\" + str(startversion + 1) + \"/\" + devicetype + \"_tb_v\" + str(startversion + 1) + \".cfg\", \n", + " convert_config.get_config(root + \"/\" + devicetype + \"/thingsboard/v\" + str(startversion) + \"/\" + devicetype + \"_tb_v\" + str(startversion) + \".cfg\"),\n", + " root + \"/\" + devicetype + \"/thingsboard/v\" + str(startversion + 1) + \"/pub\" , \n", + " root + \"/\" + devicetype + \"/thingsboard/v\" + str(startversion + 1) + \"/sub\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.10.5 ('env-01')", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.5" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "661929b843193117f8407b47db3d9660d53447b05faf9ee8b39d0697e59e9e99" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Pub_Sub/convert_config.py b/Pub_Sub/convert_config.py index 60d749f..c33ad7c 100644 --- a/Pub_Sub/convert_config.py +++ b/Pub_Sub/convert_config.py @@ -1,40 +1,58 @@ +from base64 import encode import os import json def get_config(path): - with open(path, "r") as f: + checkFileExist(path) + with open(path, "r", encoding="utf-8") as f: + return json.load(f) def get_config_pub(path): + checkFileExist(path) with open(path, "r") as f: codeString = json.load(f) return codeString["quickfaas"]["uploadFuncs"][0]["script"] def get_config_sub(path): + checkFileExist(path) with open(path, "r") as f: codeString = json.load(f) return codeString["quickfaas"]["downloadFuncs"][0]["script"] def code_to_string(path): - with open(path, "r") as f: - return f.read() + checkFileExist(path) + try: + with open(path, "r") as f: + return f.read() + except: + return False def write_code(path, codestr): + checkFileExist(path) with open(path, "w") as f: f.write(codestr) -def write_config(path, config, pub, sub): +def write_config(path, config, pubDir, subDir): + checkFileExist(path) with open(path, "w") as f: - config["quickfaas"]["uploadFuncs"][0]["script"] = pub - config["quickfaas"]["downloadFuncs"][0]["script"] = sub + if pubDir: + with os.scandir(pubDir) as it: + for ind, entry in enumerate(it): + config["quickfaas"]["uploadFuncs"][ind]["script"] = code_to_string(entry.path) + if subDir: + with os.scandir(subDir) as it: + for ind, entry in enumerate(it): + config["quickfaas"]["downloadFuncs"][ind]["script"] = code_to_string(entry.path) + config["clouds"][0]["args"]["host"] = "hp.henrypump.cloud" + config["clouds"][0]["args"]["clientId"] = "unknown" + config["clouds"][0]["args"]["username"] = "unknown" + config["clouds"][0]["args"]["passwd"] = "unknown" json.dump(config, f, indent=4) -root = os.getcwd() -devicetype = "advvfdipp" -startversion = 1 -deviceconfig = "device_supervisor_" + devicetype + "_tb_" +"v" + str(startversion) + ".cfg" - -#write_code(root + "/" + devicetype + "/v" + str(startversion) + "/pub" + "/sendData.py", get_config_pub(root + "/" + devicetype + "/v" + str(startversion) + "/" + deviceconfig)) -#write_code(root + "/" + devicetype + "/v" + str(startversion) + "/sub" + "/receiveCommand.py", get_config_sub(root + "/" + devicetype + "/v" + str(startversion) + "/" + deviceconfig)) - -write_config(root + "/" + devicetype + "/thingsboard/v" + str(startversion + 1) + "/device_supervisor_" + devicetype + "v" + str(startversion + 1) + ".cfg", get_config(root + "/" + devicetype + "/thingsboard/v" + str(startversion) + "/device_supervisor_" + devicetype + "_tb_v" + str(startversion) + ".cfg"), code_to_string(root + "/" + devicetype + "/thingsboard/v" + str(startversion + 1) + "/pub" + "/sendData.py"), code_to_string(root + "/" + devicetype + "/thingsboard/v" + str(startversion + 1) + "/sub" + "/receiveCommand.py")) \ No newline at end of file +def checkFileExist(path): + if not os.path.exists("/".join(path.split("/")[:-1])): + os.makedirs("/".join(path.split("/")[:-1])) + open(path, "a").close() + if not os.path.exists(path): + open(path, "a").close() \ No newline at end of file diff --git a/Pub_Sub/plcpond/thingsboard/v1/plcpond_tb_v1.cfg b/Pub_Sub/plcpond/thingsboard/v1/plcpond_tb_v1.cfg new file mode 100644 index 0000000..ed0d4d0 --- /dev/null +++ b/Pub_Sub/plcpond/thingsboard/v1/plcpond_tb_v1.cfg @@ -0,0 +1,504 @@ +{ + "controllers": [ + { + "protocol": "EtherNet/IP", + "name": "plcpond", + "args": {}, + "samplePeriod": 10, + "expired": 10000, + "endpoint": "192.168.1.12:44818" + } + ], + "measures": [ + { + "name": "pond_1_level", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_1_Lev", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_1_total_bbls", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_1_Total_Barrels", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_1_hi_alm", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "Pond_1_Hi_Alarm", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_1_hi_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_1_Hi_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_1_hi_clr_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_1_Hi_Clr_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_1_lo_alm", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "Pond_1_Lo_Alarm", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_1_lo_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_1_Lo_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_1_lo_clr_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_1_Lo_Clr_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_2_level", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_2_Lev", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_2_total_bbls", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_2_Total_Barrels", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_2_hi_alm", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "Pond_2_Hi_Alarm", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_2_hi_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_2_Hi_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_2_hi_clr_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_2_Hi_Clr_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "1.0", + "offset": "0.0" + }, + { + "name": "pond_2_lo_alm", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "Pond_2_Lo_Alarm", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_2_lo_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_2_Lo_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_2_lo_clr_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_2_Lo_Clr_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + } + ], + "alarmLables": [ + "default" + ], + "alarms": [], + "groups": [ + { + "name": "default", + "uploadInterval": 600, + "reference": 16 + } + ], + "misc": { + "maxAlarmRecordSz": 2000, + "logLvl": "INFO", + "coms": [ + { + "name": "rs232", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + }, + { + "name": "rs485", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + } + ] + }, + "clouds": [ + { + "cacheSize": 100, + "enable": 1, + "name": "default", + "type": "Standard MQTT", + "args": { + "host": "hp.henrypump.cloud", + "port": 1883, + "clientId": "hp", + "auth": 1, + "tls": 0, + "cleanSession": 0, + "mqttVersion": "v3.1.1", + "keepalive": 60, + "key": "", + "cert": "", + "rootCA": "", + "verifyServer": 0, + "verifyClient": 0, + "username": "hp", + "passwd": "hp", + "authType": 1 + } + } + ], + "quickfaas": { + "genericFuncs": [], + "uploadFuncs": [ + { + "name": "sendData", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "qos": 1, + "groups": [ + "default" + ], + "funcName": "sendData", + "script": "# Enter your python code.\nimport json\nimport time\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\n\n\ndef sendData(message):\n payload = {}\n payload[\"ts\"] = round(time.time() * 1000)\n payload[\"values\"] = {}\n for measure in message[\"measures\"]:\n try:\n logger.debug(measure)\n payload[\"values\"][measure[\"name\"]] = measure[\"value\"]\n except Exception as e:\n logger.error(e)\n publish(__topic__, json.dumps(payload), __qos__)", + "msgType": 0, + "cloudName": "default" + } + ], + "downloadFuncs": [] + }, + "labels": [ + { + "key": "SN", + "value": "GF5022223016120" + }, + { + "key": "MAC", + "value": "00:18:05:21:b2:8a" + } + ], + "modbusSlave": { + "enable": 0, + "protocol": "Modbus-TCP", + "port": 502, + "slaveAddr": 1, + "int16Ord": "ab", + "int32Ord": "abcd", + "float32Ord": "abcd", + "maxConnection": 5, + "mapping_table": [] + }, + "modbusRTUSlave": { + "enable": 0, + "protocol": "Modbus-RTU", + "coms": "rs485", + "slaveAddr": 1, + "int16Ord": "ab", + "int32Ord": "abcd", + "float32Ord": "abcd", + "mapping_table": [] + }, + "iec104Server": { + "enable": 0, + "cotSize": 2, + "port": 2404, + "serverList": [ + { + "asduAddr": 1 + } + ], + "kValue": 12, + "wValue": 8, + "t0": 30, + "t1": 15, + "t2": 10, + "t3": 20, + "maximumLink": 5, + "timeSet": 1, + "byteOrder": "abcd", + "mapping_table": [] + }, + "iec104Client": { + "enable": 0, + "connectType": 2, + "serverAddr": "ipower.inhandcloud.cn", + "serverPort": 2404, + "communicationCode": "", + "protocol": 1, + "asduAddr": 1, + "tls": 0, + "mapping_table": { + "YX": [], + "YC": [], + "YK": [] + } + }, + "opcuaServer": { + "enable": 0, + "port": 4840, + "maximumLink": 5, + "securityMode": 0, + "identifierType": "String", + "mapping_table": [] + }, + "southMetadata": {}, + "bindMetadata": { + "version": "", + "timestamp": "" + }, + "bindConfig": { + "enable": 0, + "bind": { + "modelId": "", + "modelName": "", + "srcId": "", + "srcName": "", + "devId": "", + "devName": "" + }, + "varGroups": [], + "variables": [], + "alerts": [] + }, + "version": "2.3.1" +} \ No newline at end of file diff --git a/Pub_Sub/plcpond/thingsboard/v1/pub/sendData.py b/Pub_Sub/plcpond/thingsboard/v1/pub/sendData.py new file mode 100644 index 0000000..e6f7d1c --- /dev/null +++ b/Pub_Sub/plcpond/thingsboard/v1/pub/sendData.py @@ -0,0 +1,136 @@ +# Enter your python code. +import json, os +from datetime import datetime as dt +from common.Logger import logger +from quickfaas.remotebus import publish +from quickfaas.global_dict import get as get_params +from quickfaas.global_dict import _set_global_args + +def reboot(): + #basic = Basic() + logger.info("!" * 10 + "REBOOTING DEVICE" + "!"*10) + r = os.popen("kill -s SIGHUP `cat /var/run/python/supervisord.pid`").read() + logger.info(f"REBOOT : {r}") + +def checkFileExist(filename): + path = "/var/user/files" + if not os.path.exists(path): + logger.info("no folder making files folder in var/user") + os.makedirs(path) + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + if not os.path.exists(path + "/" + filename): + logger.info("no creds file making creds file") + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + +def convertDStoJSON(ds): + j = dict() + for x in ds: + j[x["key"]] = x["value"] + return j + +def convertJSONtoDS(j): + d = [] + for key in j.keys(): + d.append({"key": key, "value": j[key]}) + return d + +def checkCredentialConfig(): + logger.info("CHECKING CONFIG") + cfgpath = "/var/user/cfg/device_supervisor/device_supervisor.cfg" + credspath = "/var/user/files/creds.json" + cfg = dict() + with open(cfgpath, "r") as f: + cfg = json.load(f) + clouds = cfg.get("clouds") + logger.info(clouds) + #if not configured then try to configure from stored values + if clouds[0]["args"]["clientId"] == "unknown" or clouds[0]["args"]["username"] == "unknown" or not clouds[0]["args"]["passwd"] or clouds[0]["args"]["passwd"] == "unknown": + checkFileExist("creds.json") + with open(credspath, "r") as c: + creds = json.load(c) + if creds: + logger.info("updating config with stored data") + clouds[0]["args"]["clientId"] = creds["clientId"] + clouds[0]["args"]["username"] = creds["userName"] + clouds[0]["args"]["passwd"] = creds["password"] + cfg["clouds"] = clouds + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + reboot() + else: + #assuming clouds is filled out, if data is different then assume someone typed in something new and store it, if creds is empty fill with clouds' data + checkFileExist("creds.json") + with open(credspath, "r") as c: + logger.info("updating stored file with new data") + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + creds = json.load(c) + if creds: + if creds["clientId"] != clouds[0]["args"]["clientId"]: + creds["clientId"] = clouds[0]["args"]["clientId"] + if creds["userName"] != clouds[0]["args"]["username"]: + creds["userName"] = clouds[0]["args"]["username"] + if creds["password"] != clouds[0]["args"]["passwd"]: + creds["password"] = clouds[0]["args"]["passwd"] + else: + creds["clientId"] = clouds[0]["args"]["clientId"] + creds["userName"] = clouds[0]["args"]["username"] + creds["password"] = clouds[0]["args"]["passwd"] + with open(credspath, "w") as cw: + json.dump(creds,cw) + +def checkParameterConfig(cfg): + logger.info("Checking Parameters!!!!") + paramspath = "/var/user/files/params.json" + cfgparams = convertDStoJSON(cfg.get("labels")) + #check stored values + checkFileExist("params.json") + with open(paramspath, "r") as f: + logger.info("Opened param storage file") + params = json.load(f) + if params: + if cfgparams != params: + #go through each param + #if not "unknown" and cfg and params aren't the same take from cfg likely updated manually + #if key in cfg but not in params copy to params + logger.info("equalizing params between cfg and stored") + for key in cfgparams.keys(): + try: + if cfgparams[key] != params[key] and cfgparams[key] != "unknown": + params[key] = cfgparams[key] + except: + params[key] = cfgparams[key] + cfg["labels"] = convertJSONtoDS(params) + _set_global_args(convertJSONtoDS(params)) + with open(paramspath, "w") as p: + json.dump(params, p) + else: + with open(paramspath, "w") as p: + logger.info("initializing param file with params in memory") + json.dump(convertDStoJSON(get_params()), p) + cfg["labels"] = get_params() + + return cfg + + + + +def sendData(message): + payload = {} + payload["ts"] = (round(dt.timestamp(dt.now())/600)*600)*1000 + payload["values"] = {} + try: + checkCredentialConfig() + except Exception as e: + logger.error(e) + for measure in message["measures"]: + try: + logger.debug(measure) + payload["values"][measure["name"]] = measure["value"] + except Exception as e: + logger.error(e) + publish(__topic__, json.dumps(payload), __qos__) \ No newline at end of file diff --git a/Pub_Sub/plcpond/thingsboard/v2/plcpond_tb_v2.cfg b/Pub_Sub/plcpond/thingsboard/v2/plcpond_tb_v2.cfg new file mode 100644 index 0000000..551aeae --- /dev/null +++ b/Pub_Sub/plcpond/thingsboard/v2/plcpond_tb_v2.cfg @@ -0,0 +1,504 @@ +{ + "controllers": [ + { + "protocol": "EtherNet/IP", + "name": "plcpond", + "args": {}, + "samplePeriod": 10, + "expired": 10000, + "endpoint": "192.168.1.12:44818" + } + ], + "measures": [ + { + "name": "pond_1_level", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_1_Lev", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_1_total_bbls", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_1_Total_Barrels", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_1_hi_alm", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "Pond_1_Hi_Alarm", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_1_hi_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_1_Hi_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_1_hi_clr_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_1_Hi_Clr_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_1_lo_alm", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "Pond_1_Lo_Alarm", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_1_lo_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_1_Lo_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_1_lo_clr_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_1_Lo_Clr_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_2_level", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_2_Lev", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_2_total_bbls", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_2_Total_Barrels", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_2_hi_alm", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "Pond_2_Hi_Alarm", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_2_hi_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_2_Hi_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_2_hi_clr_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_2_Hi_Clr_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "1.0", + "offset": "0.0" + }, + { + "name": "pond_2_lo_alm", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "BIT", + "addr": "Pond_2_Lo_Alarm", + "decimal": 2, + "len": 1, + "readWrite": "ro", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_2_lo_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_2_Lo_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + }, + { + "name": "pond_2_lo_clr_spt", + "ctrlName": "plcpond", + "group": "default", + "uploadType": "periodic", + "dataType": "FLOAT", + "addr": "Pond_2_Lo_Clr_Setpoint", + "decimal": 2, + "len": 1, + "readWrite": "rw", + "unit": "", + "desc": "", + "transformType": 0, + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "gain": "", + "offset": "" + } + ], + "alarmLables": [ + "default" + ], + "alarms": [], + "groups": [ + { + "name": "default", + "uploadInterval": 600, + "reference": 16 + } + ], + "misc": { + "maxAlarmRecordSz": 2000, + "logLvl": "INFO", + "coms": [ + { + "name": "rs232", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + }, + { + "name": "rs485", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + } + ] + }, + "clouds": [ + { + "cacheSize": 100, + "enable": 1, + "name": "default", + "type": "Standard MQTT", + "args": { + "host": "hp.henrypump.cloud", + "port": 1883, + "clientId": "unknown", + "auth": 1, + "tls": 0, + "cleanSession": 0, + "mqttVersion": "v3.1.1", + "keepalive": 60, + "key": "", + "cert": "", + "rootCA": "", + "verifyServer": 0, + "verifyClient": 0, + "username": "unknown", + "passwd": "unknown", + "authType": 1 + } + } + ], + "quickfaas": { + "genericFuncs": [], + "uploadFuncs": [ + { + "name": "sendData", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "qos": 1, + "groups": [ + "default" + ], + "funcName": "sendData", + "script": "# Enter your python code.\nimport json, os\nfrom datetime import datetime as dt\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nfrom quickfaas.global_dict import get as get_params\nfrom quickfaas.global_dict import _set_global_args\n\ndef reboot():\n #basic = Basic()\n logger.info(\"!\" * 10 + \"REBOOTING DEVICE\" + \"!\"*10)\n r = os.popen(\"kill -s SIGHUP `cat /var/run/python/supervisord.pid`\").read()\n logger.info(f\"REBOOT : {r}\")\n\ndef checkFileExist(filename):\n path = \"/var/user/files\"\n if not os.path.exists(path):\n logger.info(\"no folder making files folder in var/user\")\n os.makedirs(path)\n with open(path + \"/\" + filename, \"a\") as f:\n json.dump({}, f)\n if not os.path.exists(path + \"/\" + filename):\n logger.info(\"no creds file making creds file\")\n with open(path + \"/\" + filename, \"a\") as f:\n json.dump({}, f)\n\ndef convertDStoJSON(ds):\n j = dict()\n for x in ds:\n j[x[\"key\"]] = x[\"value\"]\n return j\n\ndef convertJSONtoDS(j):\n d = []\n for key in j.keys():\n d.append({\"key\": key, \"value\": j[key]})\n return d\n\ndef checkCredentialConfig():\n logger.info(\"CHECKING CONFIG\")\n cfgpath = \"/var/user/cfg/device_supervisor/device_supervisor.cfg\"\n credspath = \"/var/user/files/creds.json\"\n cfg = dict()\n with open(cfgpath, \"r\") as f:\n cfg = json.load(f)\n clouds = cfg.get(\"clouds\")\n logger.info(clouds)\n #if not configured then try to configure from stored values\n if clouds[0][\"args\"][\"clientId\"] == \"unknown\" or clouds[0][\"args\"][\"username\"] == \"unknown\" or not clouds[0][\"args\"][\"passwd\"] or clouds[0][\"args\"][\"passwd\"] == \"unknown\":\n checkFileExist(\"creds.json\")\n with open(credspath, \"r\") as c:\n creds = json.load(c)\n if creds:\n logger.info(\"updating config with stored data\")\n clouds[0][\"args\"][\"clientId\"] = creds[\"clientId\"]\n clouds[0][\"args\"][\"username\"] = creds[\"userName\"]\n clouds[0][\"args\"][\"passwd\"] = creds[\"password\"]\n cfg[\"clouds\"] = clouds\n cfg = checkParameterConfig(cfg)\n with open(cfgpath, \"w\", encoding='utf-8') as n:\n json.dump(cfg, n, indent=1, ensure_ascii=False)\n reboot()\n else:\n #assuming clouds is filled out, if data is different then assume someone typed in something new and store it, if creds is empty fill with clouds' data\n checkFileExist(\"creds.json\")\n with open(credspath, \"r\") as c:\n logger.info(\"updating stored file with new data\")\n cfg = checkParameterConfig(cfg)\n with open(cfgpath, \"w\", encoding='utf-8') as n:\n json.dump(cfg, n, indent=1, ensure_ascii=False)\n creds = json.load(c)\n if creds:\n if creds[\"clientId\"] != clouds[0][\"args\"][\"clientId\"]:\n creds[\"clientId\"] = clouds[0][\"args\"][\"clientId\"]\n if creds[\"userName\"] != clouds[0][\"args\"][\"username\"]:\n creds[\"userName\"] = clouds[0][\"args\"][\"username\"]\n if creds[\"password\"] != clouds[0][\"args\"][\"passwd\"]:\n creds[\"password\"] = clouds[0][\"args\"][\"passwd\"]\n else:\n creds[\"clientId\"] = clouds[0][\"args\"][\"clientId\"]\n creds[\"userName\"] = clouds[0][\"args\"][\"username\"]\n creds[\"password\"] = clouds[0][\"args\"][\"passwd\"]\n with open(credspath, \"w\") as cw:\n json.dump(creds,cw)\n\ndef checkParameterConfig(cfg):\n logger.info(\"Checking Parameters!!!!\")\n paramspath = \"/var/user/files/params.json\"\n cfgparams = convertDStoJSON(cfg.get(\"labels\"))\n #check stored values \n checkFileExist(\"params.json\")\n with open(paramspath, \"r\") as f:\n logger.info(\"Opened param storage file\")\n params = json.load(f)\n if params:\n if cfgparams != params:\n #go through each param\n #if not \"unknown\" and cfg and params aren't the same take from cfg likely updated manually\n #if key in cfg but not in params copy to params\n logger.info(\"equalizing params between cfg and stored\")\n for key in cfgparams.keys():\n try:\n if cfgparams[key] != params[key] and cfgparams[key] != \"unknown\":\n params[key] = cfgparams[key]\n except:\n params[key] = cfgparams[key]\n cfg[\"labels\"] = convertJSONtoDS(params)\n _set_global_args(convertJSONtoDS(params))\n with open(paramspath, \"w\") as p:\n json.dump(params, p)\n else:\n with open(paramspath, \"w\") as p:\n logger.info(\"initializing param file with params in memory\")\n json.dump(convertDStoJSON(get_params()), p)\n cfg[\"labels\"] = get_params()\n \n return cfg\n\n\n\n\ndef sendData(message):\n payload = {}\n payload[\"ts\"] = (round(dt.timestamp(dt.now())/600)*600)*1000\n payload[\"values\"] = {}\n try:\n checkCredentialConfig()\n except Exception as e:\n logger.error(e)\n for measure in message[\"measures\"]:\n try:\n logger.debug(measure)\n payload[\"values\"][measure[\"name\"]] = measure[\"value\"]\n except Exception as e:\n logger.error(e)\n publish(__topic__, json.dumps(payload), __qos__)", + "msgType": 0, + "cloudName": "default" + } + ], + "downloadFuncs": [] + }, + "labels": [ + { + "key": "SN", + "value": "GF5022223016120" + }, + { + "key": "MAC", + "value": "00:18:05:21:b2:8a" + } + ], + "modbusSlave": { + "enable": 0, + "protocol": "Modbus-TCP", + "port": 502, + "slaveAddr": 1, + "int16Ord": "ab", + "int32Ord": "abcd", + "float32Ord": "abcd", + "maxConnection": 5, + "mapping_table": [] + }, + "modbusRTUSlave": { + "enable": 0, + "protocol": "Modbus-RTU", + "coms": "rs485", + "slaveAddr": 1, + "int16Ord": "ab", + "int32Ord": "abcd", + "float32Ord": "abcd", + "mapping_table": [] + }, + "iec104Server": { + "enable": 0, + "cotSize": 2, + "port": 2404, + "serverList": [ + { + "asduAddr": 1 + } + ], + "kValue": 12, + "wValue": 8, + "t0": 30, + "t1": 15, + "t2": 10, + "t3": 20, + "maximumLink": 5, + "timeSet": 1, + "byteOrder": "abcd", + "mapping_table": [] + }, + "iec104Client": { + "enable": 0, + "connectType": 2, + "serverAddr": "ipower.inhandcloud.cn", + "serverPort": 2404, + "communicationCode": "", + "protocol": 1, + "asduAddr": 1, + "tls": 0, + "mapping_table": { + "YX": [], + "YC": [], + "YK": [] + } + }, + "opcuaServer": { + "enable": 0, + "port": 4840, + "maximumLink": 5, + "securityMode": 0, + "identifierType": "String", + "mapping_table": [] + }, + "southMetadata": {}, + "bindMetadata": { + "version": "", + "timestamp": "" + }, + "bindConfig": { + "enable": 0, + "bind": { + "modelId": "", + "modelName": "", + "srcId": "", + "srcName": "", + "devId": "", + "devName": "" + }, + "varGroups": [], + "variables": [], + "alerts": [] + }, + "version": "2.3.1" +} \ No newline at end of file diff --git a/Pub_Sub/plcpond/thingsboard/v2/pub/sendData.py b/Pub_Sub/plcpond/thingsboard/v2/pub/sendData.py new file mode 100644 index 0000000..e6f7d1c --- /dev/null +++ b/Pub_Sub/plcpond/thingsboard/v2/pub/sendData.py @@ -0,0 +1,136 @@ +# Enter your python code. +import json, os +from datetime import datetime as dt +from common.Logger import logger +from quickfaas.remotebus import publish +from quickfaas.global_dict import get as get_params +from quickfaas.global_dict import _set_global_args + +def reboot(): + #basic = Basic() + logger.info("!" * 10 + "REBOOTING DEVICE" + "!"*10) + r = os.popen("kill -s SIGHUP `cat /var/run/python/supervisord.pid`").read() + logger.info(f"REBOOT : {r}") + +def checkFileExist(filename): + path = "/var/user/files" + if not os.path.exists(path): + logger.info("no folder making files folder in var/user") + os.makedirs(path) + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + if not os.path.exists(path + "/" + filename): + logger.info("no creds file making creds file") + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + +def convertDStoJSON(ds): + j = dict() + for x in ds: + j[x["key"]] = x["value"] + return j + +def convertJSONtoDS(j): + d = [] + for key in j.keys(): + d.append({"key": key, "value": j[key]}) + return d + +def checkCredentialConfig(): + logger.info("CHECKING CONFIG") + cfgpath = "/var/user/cfg/device_supervisor/device_supervisor.cfg" + credspath = "/var/user/files/creds.json" + cfg = dict() + with open(cfgpath, "r") as f: + cfg = json.load(f) + clouds = cfg.get("clouds") + logger.info(clouds) + #if not configured then try to configure from stored values + if clouds[0]["args"]["clientId"] == "unknown" or clouds[0]["args"]["username"] == "unknown" or not clouds[0]["args"]["passwd"] or clouds[0]["args"]["passwd"] == "unknown": + checkFileExist("creds.json") + with open(credspath, "r") as c: + creds = json.load(c) + if creds: + logger.info("updating config with stored data") + clouds[0]["args"]["clientId"] = creds["clientId"] + clouds[0]["args"]["username"] = creds["userName"] + clouds[0]["args"]["passwd"] = creds["password"] + cfg["clouds"] = clouds + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + reboot() + else: + #assuming clouds is filled out, if data is different then assume someone typed in something new and store it, if creds is empty fill with clouds' data + checkFileExist("creds.json") + with open(credspath, "r") as c: + logger.info("updating stored file with new data") + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + creds = json.load(c) + if creds: + if creds["clientId"] != clouds[0]["args"]["clientId"]: + creds["clientId"] = clouds[0]["args"]["clientId"] + if creds["userName"] != clouds[0]["args"]["username"]: + creds["userName"] = clouds[0]["args"]["username"] + if creds["password"] != clouds[0]["args"]["passwd"]: + creds["password"] = clouds[0]["args"]["passwd"] + else: + creds["clientId"] = clouds[0]["args"]["clientId"] + creds["userName"] = clouds[0]["args"]["username"] + creds["password"] = clouds[0]["args"]["passwd"] + with open(credspath, "w") as cw: + json.dump(creds,cw) + +def checkParameterConfig(cfg): + logger.info("Checking Parameters!!!!") + paramspath = "/var/user/files/params.json" + cfgparams = convertDStoJSON(cfg.get("labels")) + #check stored values + checkFileExist("params.json") + with open(paramspath, "r") as f: + logger.info("Opened param storage file") + params = json.load(f) + if params: + if cfgparams != params: + #go through each param + #if not "unknown" and cfg and params aren't the same take from cfg likely updated manually + #if key in cfg but not in params copy to params + logger.info("equalizing params between cfg and stored") + for key in cfgparams.keys(): + try: + if cfgparams[key] != params[key] and cfgparams[key] != "unknown": + params[key] = cfgparams[key] + except: + params[key] = cfgparams[key] + cfg["labels"] = convertJSONtoDS(params) + _set_global_args(convertJSONtoDS(params)) + with open(paramspath, "w") as p: + json.dump(params, p) + else: + with open(paramspath, "w") as p: + logger.info("initializing param file with params in memory") + json.dump(convertDStoJSON(get_params()), p) + cfg["labels"] = get_params() + + return cfg + + + + +def sendData(message): + payload = {} + payload["ts"] = (round(dt.timestamp(dt.now())/600)*600)*1000 + payload["values"] = {} + try: + checkCredentialConfig() + except Exception as e: + logger.error(e) + for measure in message["measures"]: + try: + logger.debug(measure) + payload["values"][measure["name"]] = measure["value"] + except Exception as e: + logger.error(e) + publish(__topic__, json.dumps(payload), __qos__) \ No newline at end of file diff --git a/Pub_Sub/receiveAttributeResponse.py b/Pub_Sub/receiveAttributeResponse.py new file mode 100644 index 0000000..6c0c46e --- /dev/null +++ b/Pub_Sub/receiveAttributeResponse.py @@ -0,0 +1,35 @@ +import json +from common.Logger import logger +from quickfaas.global_dict import get as get_params +from quickfaas.global_dict import _set_global_args + +#v1/devices/me/attributes/response/+ +def receiveAttributeResponse(topic, payload): + #All attributes were requested handle response + payload = json.loads(payload) + logger.info(topic) + logger.info(payload) + logger.info(payload["shared"].get("test")) + + +def updateConfig(): + #get the stored config file and update the label with the new parameters + cfg = dict() + with open("/var/user/cfg/device_supervisor/device_supervisor.cfg", "r+") as f: + cfg = json.load(f) + labels = cfg.get("labels") + if labels: + labels = convertDStoJSON(labels) + + +def convertDStoJSON(ds): + j = dict() + for x in ds: + j[x["key"]] = x["value"] + return j + +def convertJSONtoDS(j): + d = [] + for key in j.keys(): + d.append({"key": key, "value": j[key]}) + return d \ No newline at end of file diff --git a/Pub_Sub/receiveAttributeUpdate.py b/Pub_Sub/receiveAttributeUpdate.py new file mode 100644 index 0000000..89b305d --- /dev/null +++ b/Pub_Sub/receiveAttributeUpdate.py @@ -0,0 +1,9 @@ +import json +from common.Logger import logger + +#v1/devices/me/attributes +def receiveAttributeUpdate(topic, payload): + #Attribute was updated/added server side needs to be updated/added locally + logger.info(topic) + logger.info(json.loads(payload)) + logger.info(json.loads(payload)["shared"].get("test")) \ No newline at end of file diff --git a/Pub_Sub/valvecontroller/thingsboard/v1/valvecontroller_tb_v1.cfg b/Pub_Sub/valvecontroller/thingsboard/v1/valvecontroller_tb_v1.cfg new file mode 100644 index 0000000..ca901ef --- /dev/null +++ b/Pub_Sub/valvecontroller/thingsboard/v1/valvecontroller_tb_v1.cfg @@ -0,0 +1,322 @@ +{ + "controllers": [ + { + "protocol": "EtherNet/IP", + "name": "valvecontroller", + "args": {}, + "samplePeriod": 2, + "expired": 10000, + "endpoint": "192.168.1.12:44818" + } + ], + "measures": [ + { + "ctrlName": "valvecontroller", + "dataType": "FLOAT", + "addr": "Open_Setpoint", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "decimal": 1, + "name": "open_spt", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "" + }, + { + "ctrlName": "valvecontroller", + "dataType": "FLOAT", + "addr": "Close_Setpoint", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "decimal": 1, + "name": "close_spt", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "" + }, + { + "ctrlName": "valvecontroller", + "dataType": "BIT", + "addr": "Open_Valve_Cmd", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "name": "open_cmd", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "decimal": 2 + }, + { + "ctrlName": "valvecontroller", + "dataType": "BIT", + "addr": "Close_Valve_Cmd", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "name": "close_cmd", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "decimal": 2 + }, + { + "ctrlName": "valvecontroller", + "dataType": "FLOAT", + "addr": "Scaled_Tank_Lev", + "readWrite": "ro", + "uploadType": "periodic", + "group": "default", + "decimal": 1, + "name": "tank_level", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "" + }, + { + "ctrlName": "valvecontroller", + "dataType": "BIT", + "addr": "Valve_Open_Status", + "readWrite": "ro", + "uploadType": "periodic", + "group": "default", + "name": "valve_open_status", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "decimal": 2 + }, + { + "ctrlName": "valvecontroller", + "dataType": "BIT", + "addr": "Valve_Closed_Status", + "readWrite": "ro", + "uploadType": "periodic", + "group": "default", + "name": "valve_close_status", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "decimal": 2 + }, + { + "ctrlName": "valvecontroller", + "dataType": "BIT", + "addr": "Valve_Fail", + "readWrite": "ro", + "uploadType": "periodic", + "group": "default", + "name": "valve_failure", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "decimal": 2 + } + ], + "alarmLables": [ + "default" + ], + "alarms": [], + "groups": [ + { + "name": "default", + "uploadInterval": 600, + "reference": 8 + } + ], + "misc": { + "maxAlarmRecordSz": 2000, + "logLvl": "INFO", + "coms": [ + { + "name": "rs232", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + }, + { + "name": "rs485", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + } + ] + }, + "clouds": [ + { + "cacheSize": 10000, + "enable": 1, + "name": "default", + "type": "Standard MQTT", + "args": { + "host": "thingsboard.cloud", + "port": 1883, + "clientId": "valve-controller", + "auth": 1, + "tls": 0, + "cleanSession": 0, + "mqttVersion": "v3.1.1", + "keepalive": 60, + "key": "", + "cert": "", + "rootCA": "", + "verifyServer": 0, + "verifyClient": 0, + "username": "faskensmqtt", + "passwd": "faskensmqtt@1903", + "authType": 1 + } + } + ], + "quickfaas": { + "genericFuncs": [], + "uploadFuncs": [ + { + "qos": 1, + "funcName": "sendData", + "script": "# Enter your python code.\nimport json\nimport time\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\n\ndef sendData(message):\n logger.debug(message)\n #publish(__topic__, json.dumps(message), __qos__)\n try:\n payload = {\"ts\": int(time.time()*1000), \"values\": {}}\n valve_open = 0\n valve_close = 0\n for measure in message[\"measures\"]:\n if measure[\"name\"] in [\"valve_failure\"]:\n value = convert_int(measure[\"name\"], measure[\"value\"])\n payload[\"values\"][measure[\"name\"]] = value\n elif measure[\"name\"] == \"valve_open_status\":\n valve_open = measure[\"value\"]\n elif measure[\"name\"] == \"valve_close_status\":\n valve_close = measure[\"value\"]\n elif \"_cmd\" in measure[\"name\"]:\n pass\n else:\n payload[\"values\"][measure[\"name\"]] = measure[\"value\"]\n if valve_open:\n payload[\"values\"][\"valve_status\"] = 1\n elif valve_close:\n payload[\"values\"][\"valve_status\"] = 0\n else:\n payload[\"values\"][\"valve_status\"] = -1\n publish(__topic__, json.dumps(payload), __qos__)\n except Exception as e:\n logger.error(e)\n\n\ndef convert_int(name, value):\n valve_failure = {\n 0: \"OK\",\n 1: \"Failure\"\n }\n\n names = {\n \"valve_failure\": valve_failure.get(value, \"Invalid Code\")\n }\n return names.get(name, \"Invalid Name\")", + "name": "sendData", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "cloudName": "default", + "groups": [ + "default" + ], + "msgType": 0 + } + ], + "downloadFuncs": [ + { + "name": "Commands", + "topic": "v1/devices/me/rpc/request/+", + "qos": 1, + "funcName": "receiveCommand", + "payload_type": "Plaintext", + "script": "# Enter your python code.\nimport json\nimport time\nfrom quickfaas.measure import recall\nfrom common.Logger import logger\n\ndef sync(wizard_api):\n #get new values and send\n payload = {}\n topic = \"v1/devices/me/telemetry\"\n try:\n data = recall()#json.loads(recall().decode(\"utf-8\"))\n except Exception as e:\n logger.error(e)\n logger.info(data)\n for controller in data:\n payload = {\"ts\": int(time.time()*1000), \"values\": {}}\n valve_open = 0\n valve_close = 0\n for measure in message[\"measures\"]:\n if measure[\"name\"] in [\"valve_failure\"]:\n value = convert_int(measure[\"name\"], measure[\"value\"])\n payload[\"values\"][measure[\"name\"]] = value\n elif measure[\"name\"] == \"valve_open_status\":\n valve_open = measure[\"value\"]\n elif measure[\"name\"] == \"valve_close_status\":\n valve_close = measure[\"value\"]\n elif \"_cmd\" in measure[\"name\"]:\n pass\n else:\n payload[\"values\"][measure[\"name\"]] = measure[\"value\"]\n if valve_open:\n payload[\"values\"][\"valve_status\"] = \"Open\"\n elif valve_close:\n payload[\"values\"][\"valve_status\"] = \"Closed\"\n else:\n payload[\"values\"][\"valve_status\"] = \"Unknown\"\n logger.debug(\"Sending on topic: {}\".format(topic))\n logger.debug(\"Sending value: {}\".format(payload))\n wizard_api.mqtt_publish(topic, json.dumps(payload))\ndef writeplctag(value, wizard_api):\n try:\n #value = json.loads(value.replace(\"'\",'\"'))\n logger.debug(value)\n message = {\"valvecontroller\":{value[\"measurement\"]: value[\"value\"]}}\n resp = wizard_api.write_plc_values(message)\n #logger.debug(\"RETURN FROM WRITE: {}\".format(resp))\n return True\n except Exception as e:\n logger.debug(e)\n return False\n \ndef receiveCommand(topic, payload, wizard_api):\n try:\n logger.debug(topic)\n logger.debug(json.loads(payload))\n p = json.loads(payload)\n command = p[\"method\"]\n commands = {\n \"sync\": sync,\n \"writeplctag\": writeplctag,\n } \n if command == \"setPLCTag\":\n result = commands[\"writeplctag\"](p[\"params\"],wizard_api)\n elif command == \"changeSetpoint\":\n try:\n params_type = {\"measurement\": \"pidcontrolmode\", \"value\": p[\"params\"][\"setpointType\"]}\n if params_type[\"value\"]:\n commands[\"writeplctag\"](params_type, wizard_api)\n time.sleep(2)\n except:\n pass\n try:\n modes = {0: \"flowsetpoint\", 1: \"fluidlevelsetpoint\", 2: \"tubingpressuresetpoint\", 3: \"manualfrequencysetpoint\"}\n params_value = {\"value\": p[\"params\"][\"setpointValue\"]}\n if params_value[\"value\"]:\n params_value[\"measurement\"] = modes[getMode()]\n commands[\"writeplctag\"](params_value, wizard_api)\n except Exception as e:\n logger.debug(\"DID NOT WRITE SETPOINT\")\n logger.debug(e)\n \n #logger.debug(command)\n ack(topic.split(\"/\")[-1], wizard_api)\n time.sleep(5)\n sync(wizard_api)\n except Exception as e:\n logger.debug(e)\n \n\ndef ack(msgid, wizard_api):\n #logger.debug(msgid)\n #logger.debug(mac)\n #logger.debug(name)\n #logger.debug(value)\n wizard_api.mqtt_publish(\"v1/devices/me/rpc/response/\" + str(msgid), json.dumps({\"msg\": {\"time\": time.time()}, \"metadata\": \"\", \"msgType\": \"\"}))\n\ndef getMode():\n try:\n data = recall()\n for controller in data:\n for measure in controller[\"measures\"]:\n if measure[\"name\"] == \"pidcontrolmode\":\n return measure[\"value\"]\n except:\n return None\n\ndef convert_int(name, value):\n valve_failure = {\n 0: \"OK\",\n 1: \"Failure\"\n }\n\n names = {\n \"valve_failure\": valve_failure.get(value, \"Invalid Code\")\n }\n return names.get(name, \"Invalid Name\")\n", + "msgType": 0, + "cloudName": "default", + "trigger": "command_event" + } + ] + }, + "labels": [ + { + "key": "SN", + "value": "GF5022215013070" + }, + { + "key": "MAC", + "value": "00:18:05:1f:8d:4c" + } + ], + "modbusSlave": { + "enable": 0, + "protocol": "Modbus-TCP", + "port": 502, + "slaveAddr": 1, + "int16Ord": "ab", + "int32Ord": "abcd", + "float32Ord": "abcd", + "maxConnection": 5, + "mapping_table": [] + }, + "iec104Server": { + "enable": 0, + "cotSize": 2, + "port": 2404, + "serverList": [ + { + "asduAddr": 1 + } + ], + "kValue": 12, + "wValue": 8, + "t0": 15, + "t1": 15, + "t2": 10, + "t3": 20, + "maximumLink": 5, + "timeSet": 1, + "byteOrder": "abcd", + "mapping_table": [] + }, + "opcuaServer": { + "enable": 0, + "port": 4840, + "maximumLink": 5, + "securityMode": 0, + "identifierType": "String", + "mapping_table": [] + }, + "southMetadata": {}, + "bindMetadata": { + "version": "", + "timestamp": "" + }, + "bindConfig": { + "enable": 0, + "bind": { + "modelId": "", + "modelName": "", + "srcId": "", + "srcName": "", + "devId": "", + "devName": "" + }, + "varGroups": [], + "variables": [], + "alerts": [] + } +} \ No newline at end of file diff --git a/Pub_Sub/valvecontroller/thingsboard/v2/pub/sendData.py b/Pub_Sub/valvecontroller/thingsboard/v2/pub/sendData.py new file mode 100644 index 0000000..4ac3aa2 --- /dev/null +++ b/Pub_Sub/valvecontroller/thingsboard/v2/pub/sendData.py @@ -0,0 +1,161 @@ +# Enter your python code. +import json, os +from datetime import datetime as dt +from common.Logger import logger +from quickfaas.remotebus import publish +from quickfaas.global_dict import get as get_params +from quickfaas.global_dict import _set_global_args + +def reboot(): + #basic = Basic() + logger.info("!" * 10 + "REBOOTING DEVICE" + "!"*10) + r = os.popen("kill -s SIGHUP `cat /var/run/python/supervisord.pid`").read() + logger.info(f"REBOOT : {r}") + +def checkFileExist(filename): + path = "/var/user/files" + if not os.path.exists(path): + logger.info("no folder making files folder in var/user") + os.makedirs(path) + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + if not os.path.exists(path + "/" + filename): + logger.info("no creds file making creds file") + with open(path + "/" + filename, "a") as f: + json.dump({}, f) + +def convertDStoJSON(ds): + j = dict() + for x in ds: + j[x["key"]] = x["value"] + return j + +def convertJSONtoDS(j): + d = [] + for key in j.keys(): + d.append({"key": key, "value": j[key]}) + return d + +def checkCredentialConfig(): + logger.info("CHECKING CONFIG") + cfgpath = "/var/user/cfg/device_supervisor/device_supervisor.cfg" + credspath = "/var/user/files/creds.json" + cfg = dict() + with open(cfgpath, "r") as f: + cfg = json.load(f) + clouds = cfg.get("clouds") + logger.info(clouds) + #if not configured then try to configure from stored values + if clouds[0]["args"]["clientId"] == "unknown" or clouds[0]["args"]["username"] == "unknown" or not clouds[0]["args"]["passwd"] or clouds[0]["args"]["passwd"] == "unknown": + checkFileExist("creds.json") + with open(credspath, "r") as c: + creds = json.load(c) + if creds: + logger.info("updating config with stored data") + clouds[0]["args"]["clientId"] = creds["clientId"] + clouds[0]["args"]["username"] = creds["userName"] + clouds[0]["args"]["passwd"] = creds["password"] + cfg["clouds"] = clouds + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + reboot() + else: + #assuming clouds is filled out, if data is different then assume someone typed in something new and store it, if creds is empty fill with clouds' data + checkFileExist("creds.json") + with open(credspath, "r") as c: + logger.info("updating stored file with new data") + cfg = checkParameterConfig(cfg) + with open(cfgpath, "w", encoding='utf-8') as n: + json.dump(cfg, n, indent=1, ensure_ascii=False) + creds = json.load(c) + if creds: + if creds["clientId"] != clouds[0]["args"]["clientId"]: + creds["clientId"] = clouds[0]["args"]["clientId"] + if creds["userName"] != clouds[0]["args"]["username"]: + creds["userName"] = clouds[0]["args"]["username"] + if creds["password"] != clouds[0]["args"]["passwd"]: + creds["password"] = clouds[0]["args"]["passwd"] + else: + creds["clientId"] = clouds[0]["args"]["clientId"] + creds["userName"] = clouds[0]["args"]["username"] + creds["password"] = clouds[0]["args"]["passwd"] + with open(credspath, "w") as cw: + json.dump(creds,cw) + +def checkParameterConfig(cfg): + logger.info("Checking Parameters!!!!") + paramspath = "/var/user/files/params.json" + cfgparams = convertDStoJSON(cfg.get("labels")) + #check stored values + checkFileExist("params.json") + with open(paramspath, "r") as f: + logger.info("Opened param storage file") + params = json.load(f) + if params: + if cfgparams != params: + #go through each param + #if not "unknown" and cfg and params aren't the same take from cfg likely updated manually + #if key in cfg but not in params copy to params + logger.info("equalizing params between cfg and stored") + for key in cfgparams.keys(): + try: + if cfgparams[key] != params[key] and cfgparams[key] != "unknown": + params[key] = cfgparams[key] + except: + params[key] = cfgparams[key] + cfg["labels"] = convertJSONtoDS(params) + _set_global_args(convertJSONtoDS(params)) + with open(paramspath, "w") as p: + json.dump(params, p) + else: + with open(paramspath, "w") as p: + logger.info("initializing param file with params in memory") + json.dump(convertDStoJSON(get_params()), p) + cfg["labels"] = get_params() + + return cfg + +def sendData(message): + logger.debug(message) + try: + checkCredentialConfig() + except Exception as e: + logger.error(e) + try: + payload = {"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values": {}} + valve_open = 0 + valve_close = 0 + for measure in message["measures"]: + if measure["name"] in ["valve_failure"]: + value = convert_int(measure["name"], measure["value"]) + payload["values"][measure["name"]] = value + elif measure["name"] == "valve_open_status": + valve_open = measure["value"] + elif measure["name"] == "valve_close_status": + valve_close = measure["value"] + elif "_cmd" in measure["name"]: + pass + else: + payload["values"][measure["name"]] = measure["value"] + if valve_open: + payload["values"]["valve_status"] = 1 + elif valve_close: + payload["values"]["valve_status"] = 0 + else: + payload["values"]["valve_status"] = -1 + publish(__topic__, json.dumps(payload), __qos__) + except Exception as e: + logger.error(e) + + +def convert_int(name, value): + valve_failure = { + 0: "OK", + 1: "Failure" + } + + names = { + "valve_failure": valve_failure.get(value, "Invalid Code") + } + return names.get(name, "Invalid Name") \ No newline at end of file diff --git a/Pub_Sub/valvecontroller/thingsboard/v2/sub/receiveCommand.py b/Pub_Sub/valvecontroller/thingsboard/v2/sub/receiveCommand.py new file mode 100644 index 0000000..004afeb --- /dev/null +++ b/Pub_Sub/valvecontroller/thingsboard/v2/sub/receiveCommand.py @@ -0,0 +1,104 @@ +import json, time +from quickfaas.measure import recall, write +from quickfaas.remotebus import publish +from common.Logger import logger + +def sync(): + #get new values and send + payload = {} + topic = "v1/devices/me/telemetry" + try: + data = recall()#json.loads(recall().decode("utf-8")) + except Exception as e: + logger.error(e) + logger.info(data) + for controller in data: + payload = {"ts": int(time.time()*1000), "values": {}} + valve_open = 0 + valve_close = 0 + for measure in controller["measures"]: + if measure["name"] in ["valve_failure"]: + value = convert_int(measure["name"], measure["value"]) + payload["values"][measure["name"]] = value + elif measure["name"] == "valve_open_status": + valve_open = measure["value"] + elif measure["name"] == "valve_close_status": + valve_close = measure["value"] + elif "_cmd" in measure["name"]: + pass + else: + payload["values"][measure["name"]] = measure["value"] + if valve_open: + payload["values"]["valve_status"] = "Open" + elif valve_close: + payload["values"]["valve_status"] = "Closed" + else: + payload["values"]["valve_status"] = "Unknown" + logger.debug("Sending on topic: {}".format(topic)) + logger.debug("Sending value: {}".format(payload)) + publish(topic, json.dumps(payload)) +def writeplctag(value): + try: + #value = json.loads(value.replace("'",'"')) + logger.debug(value) + message = [{"name": "valvecontroller", "measures":[{"name":value["measurement"], "value": value["value"]}]}] + resp = write(message) + logger.debug("RETURN FROM WRITE: {}".format(resp)) + return True + except Exception as e: + logger.debug(e) + return False + +def receiveCommand(topic, payload): + try: + logger.debug(topic) + logger.debug(json.loads(payload)) + p = json.loads(payload) + command = p["method"] + commands = { + "sync": sync, + "writeplctag": writeplctag, + } + if command == "setPLCTag": + try: + result = commands["writeplctag"](p["params"]) + logger.debug(result) + except Exception as e: + logger.error(e) + + + #logger.debug(command) + ack(topic.split("/")[-1]) + time.sleep(5) + sync() + except Exception as e: + logger.debug(e) + + +def ack(msgid): + #logger.debug(msgid) + #logger.debug(mac) + #logger.debug(name) + #logger.debug(value) + publish("v1/devices/me/rpc/response/" + str(msgid), json.dumps({"msg": {"time": time.time()}, "metadata": "", "msgType": ""})) + +def getMode(): + try: + data = recall() + for controller in data: + for measure in controller["measures"]: + if measure["name"] == "pidcontrolmode": + return measure["value"] + except: + return None + +def convert_int(name, value): + valve_failure = { + 0: "OK", + 1: "Failure" + } + + names = { + "valve_failure": valve_failure.get(value, "Invalid Code") + } + return names.get(name, "Invalid Name") diff --git a/Pub_Sub/valvecontroller/thingsboard/v2/valvecontroller_tb_v2.cfg b/Pub_Sub/valvecontroller/thingsboard/v2/valvecontroller_tb_v2.cfg new file mode 100644 index 0000000..97eb09b --- /dev/null +++ b/Pub_Sub/valvecontroller/thingsboard/v2/valvecontroller_tb_v2.cfg @@ -0,0 +1,322 @@ +{ + "controllers": [ + { + "protocol": "EtherNet/IP", + "name": "valvecontroller", + "args": {}, + "samplePeriod": 2, + "expired": 10000, + "endpoint": "192.168.1.12:44818" + } + ], + "measures": [ + { + "ctrlName": "valvecontroller", + "dataType": "FLOAT", + "addr": "Open_Setpoint", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "decimal": 1, + "name": "open_spt", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "" + }, + { + "ctrlName": "valvecontroller", + "dataType": "FLOAT", + "addr": "Close_Setpoint", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "decimal": 1, + "name": "close_spt", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "" + }, + { + "ctrlName": "valvecontroller", + "dataType": "BIT", + "addr": "Open_Valve_Cmd", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "name": "open_cmd", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "decimal": 2 + }, + { + "ctrlName": "valvecontroller", + "dataType": "BIT", + "addr": "Close_Valve_Cmd", + "readWrite": "rw", + "uploadType": "periodic", + "group": "default", + "name": "close_cmd", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "decimal": 2 + }, + { + "ctrlName": "valvecontroller", + "dataType": "FLOAT", + "addr": "Scaled_Tank_Lev", + "readWrite": "ro", + "uploadType": "periodic", + "group": "default", + "decimal": 1, + "name": "tank_level", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "" + }, + { + "ctrlName": "valvecontroller", + "dataType": "BIT", + "addr": "Valve_Open_Status", + "readWrite": "ro", + "uploadType": "periodic", + "group": "default", + "name": "valve_open_status", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "decimal": 2 + }, + { + "ctrlName": "valvecontroller", + "dataType": "BIT", + "addr": "Valve_Closed_Status", + "readWrite": "ro", + "uploadType": "periodic", + "group": "default", + "name": "valve_close_status", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "decimal": 2 + }, + { + "ctrlName": "valvecontroller", + "dataType": "BIT", + "addr": "Valve_Fail", + "readWrite": "ro", + "uploadType": "periodic", + "group": "default", + "name": "valve_failure", + "desc": "", + "unit": "", + "transformType": 0, + "gain": "1.0", + "offset": "0.0", + "maxValue": "", + "minValue": "", + "maxScaleValue": "", + "minScaleValue": "", + "decimal": 2 + } + ], + "alarmLables": [ + "default" + ], + "alarms": [], + "groups": [ + { + "name": "default", + "uploadInterval": 600, + "reference": 8 + } + ], + "misc": { + "maxAlarmRecordSz": 2000, + "logLvl": "INFO", + "coms": [ + { + "name": "rs232", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + }, + { + "name": "rs485", + "baud": 9600, + "bits": 8, + "stopbits": 1, + "parityChk": "n" + } + ] + }, + "clouds": [ + { + "cacheSize": 10000, + "enable": 1, + "name": "default", + "type": "Standard MQTT", + "args": { + "host": "hp.henrypump.cloud", + "port": 1883, + "clientId": "unknown", + "auth": 1, + "tls": 0, + "cleanSession": 0, + "mqttVersion": "v3.1.1", + "keepalive": 60, + "key": "", + "cert": "", + "rootCA": "", + "verifyServer": 0, + "verifyClient": 0, + "username": "unknown", + "passwd": "unknown", + "authType": 1 + } + } + ], + "quickfaas": { + "genericFuncs": [], + "uploadFuncs": [ + { + "qos": 1, + "funcName": "sendData", + "script": "# Enter your python code.\nimport json, os\nfrom datetime import datetime as dt\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nfrom quickfaas.global_dict import get as get_params\nfrom quickfaas.global_dict import _set_global_args\n\ndef reboot():\n #basic = Basic()\n logger.info(\"!\" * 10 + \"REBOOTING DEVICE\" + \"!\"*10)\n r = os.popen(\"kill -s SIGHUP `cat /var/run/python/supervisord.pid`\").read()\n logger.info(f\"REBOOT : {r}\")\n\ndef checkFileExist(filename):\n path = \"/var/user/files\"\n if not os.path.exists(path):\n logger.info(\"no folder making files folder in var/user\")\n os.makedirs(path)\n with open(path + \"/\" + filename, \"a\") as f:\n json.dump({}, f)\n if not os.path.exists(path + \"/\" + filename):\n logger.info(\"no creds file making creds file\")\n with open(path + \"/\" + filename, \"a\") as f:\n json.dump({}, f)\n\ndef convertDStoJSON(ds):\n j = dict()\n for x in ds:\n j[x[\"key\"]] = x[\"value\"]\n return j\n\ndef convertJSONtoDS(j):\n d = []\n for key in j.keys():\n d.append({\"key\": key, \"value\": j[key]})\n return d\n\ndef checkCredentialConfig():\n logger.info(\"CHECKING CONFIG\")\n cfgpath = \"/var/user/cfg/device_supervisor/device_supervisor.cfg\"\n credspath = \"/var/user/files/creds.json\"\n cfg = dict()\n with open(cfgpath, \"r\") as f:\n cfg = json.load(f)\n clouds = cfg.get(\"clouds\")\n logger.info(clouds)\n #if not configured then try to configure from stored values\n if clouds[0][\"args\"][\"clientId\"] == \"unknown\" or clouds[0][\"args\"][\"username\"] == \"unknown\" or not clouds[0][\"args\"][\"passwd\"] or clouds[0][\"args\"][\"passwd\"] == \"unknown\":\n checkFileExist(\"creds.json\")\n with open(credspath, \"r\") as c:\n creds = json.load(c)\n if creds:\n logger.info(\"updating config with stored data\")\n clouds[0][\"args\"][\"clientId\"] = creds[\"clientId\"]\n clouds[0][\"args\"][\"username\"] = creds[\"userName\"]\n clouds[0][\"args\"][\"passwd\"] = creds[\"password\"]\n cfg[\"clouds\"] = clouds\n cfg = checkParameterConfig(cfg)\n with open(cfgpath, \"w\", encoding='utf-8') as n:\n json.dump(cfg, n, indent=1, ensure_ascii=False)\n reboot()\n else:\n #assuming clouds is filled out, if data is different then assume someone typed in something new and store it, if creds is empty fill with clouds' data\n checkFileExist(\"creds.json\")\n with open(credspath, \"r\") as c:\n logger.info(\"updating stored file with new data\")\n cfg = checkParameterConfig(cfg)\n with open(cfgpath, \"w\", encoding='utf-8') as n:\n json.dump(cfg, n, indent=1, ensure_ascii=False)\n creds = json.load(c)\n if creds:\n if creds[\"clientId\"] != clouds[0][\"args\"][\"clientId\"]:\n creds[\"clientId\"] = clouds[0][\"args\"][\"clientId\"]\n if creds[\"userName\"] != clouds[0][\"args\"][\"username\"]:\n creds[\"userName\"] = clouds[0][\"args\"][\"username\"]\n if creds[\"password\"] != clouds[0][\"args\"][\"passwd\"]:\n creds[\"password\"] = clouds[0][\"args\"][\"passwd\"]\n else:\n creds[\"clientId\"] = clouds[0][\"args\"][\"clientId\"]\n creds[\"userName\"] = clouds[0][\"args\"][\"username\"]\n creds[\"password\"] = clouds[0][\"args\"][\"passwd\"]\n with open(credspath, \"w\") as cw:\n json.dump(creds,cw)\n\ndef checkParameterConfig(cfg):\n logger.info(\"Checking Parameters!!!!\")\n paramspath = \"/var/user/files/params.json\"\n cfgparams = convertDStoJSON(cfg.get(\"labels\"))\n #check stored values \n checkFileExist(\"params.json\")\n with open(paramspath, \"r\") as f:\n logger.info(\"Opened param storage file\")\n params = json.load(f)\n if params:\n if cfgparams != params:\n #go through each param\n #if not \"unknown\" and cfg and params aren't the same take from cfg likely updated manually\n #if key in cfg but not in params copy to params\n logger.info(\"equalizing params between cfg and stored\")\n for key in cfgparams.keys():\n try:\n if cfgparams[key] != params[key] and cfgparams[key] != \"unknown\":\n params[key] = cfgparams[key]\n except:\n params[key] = cfgparams[key]\n cfg[\"labels\"] = convertJSONtoDS(params)\n _set_global_args(convertJSONtoDS(params))\n with open(paramspath, \"w\") as p:\n json.dump(params, p)\n else:\n with open(paramspath, \"w\") as p:\n logger.info(\"initializing param file with params in memory\")\n json.dump(convertDStoJSON(get_params()), p)\n cfg[\"labels\"] = get_params()\n \n return cfg\n\ndef sendData(message):\n logger.debug(message)\n try:\n checkCredentialConfig()\n except Exception as e:\n logger.error(e)\n try:\n payload = {\"ts\": (round(dt.timestamp(dt.now())/600)*600)*1000, \"values\": {}}\n valve_open = 0\n valve_close = 0\n for measure in message[\"measures\"]:\n if measure[\"name\"] in [\"valve_failure\"]:\n value = convert_int(measure[\"name\"], measure[\"value\"])\n payload[\"values\"][measure[\"name\"]] = value\n elif measure[\"name\"] == \"valve_open_status\":\n valve_open = measure[\"value\"]\n elif measure[\"name\"] == \"valve_close_status\":\n valve_close = measure[\"value\"]\n elif \"_cmd\" in measure[\"name\"]:\n pass\n else:\n payload[\"values\"][measure[\"name\"]] = measure[\"value\"]\n if valve_open:\n payload[\"values\"][\"valve_status\"] = 1\n elif valve_close:\n payload[\"values\"][\"valve_status\"] = 0\n else:\n payload[\"values\"][\"valve_status\"] = -1\n publish(__topic__, json.dumps(payload), __qos__)\n except Exception as e:\n logger.error(e)\n\n\ndef convert_int(name, value):\n valve_failure = {\n 0: \"OK\",\n 1: \"Failure\"\n }\n\n names = {\n \"valve_failure\": valve_failure.get(value, \"Invalid Code\")\n }\n return names.get(name, \"Invalid Name\")", + "name": "sendData", + "trigger": "measure_event", + "topic": "v1/devices/me/telemetry", + "cloudName": "default", + "groups": [ + "default" + ], + "msgType": 0 + } + ], + "downloadFuncs": [ + { + "name": "Commands", + "topic": "v1/devices/me/rpc/request/+", + "qos": 1, + "funcName": "receiveCommand", + "payload_type": "Plaintext", + "script": "import json, time\nfrom quickfaas.measure import recall, write\nfrom quickfaas.remotebus import publish\nfrom common.Logger import logger\n\ndef sync():\n #get new values and send\n payload = {}\n topic = \"v1/devices/me/telemetry\"\n try:\n data = recall()#json.loads(recall().decode(\"utf-8\"))\n except Exception as e:\n logger.error(e)\n logger.info(data)\n for controller in data:\n payload = {\"ts\": int(time.time()*1000), \"values\": {}}\n valve_open = 0\n valve_close = 0\n for measure in controller[\"measures\"]:\n if measure[\"name\"] in [\"valve_failure\"]:\n value = convert_int(measure[\"name\"], measure[\"value\"])\n payload[\"values\"][measure[\"name\"]] = value\n elif measure[\"name\"] == \"valve_open_status\":\n valve_open = measure[\"value\"]\n elif measure[\"name\"] == \"valve_close_status\":\n valve_close = measure[\"value\"]\n elif \"_cmd\" in measure[\"name\"]:\n pass\n else:\n payload[\"values\"][measure[\"name\"]] = measure[\"value\"]\n if valve_open:\n payload[\"values\"][\"valve_status\"] = \"Open\"\n elif valve_close:\n payload[\"values\"][\"valve_status\"] = \"Closed\"\n else:\n payload[\"values\"][\"valve_status\"] = \"Unknown\"\n logger.debug(\"Sending on topic: {}\".format(topic))\n logger.debug(\"Sending value: {}\".format(payload))\n publish(topic, json.dumps(payload))\ndef writeplctag(value):\n try:\n #value = json.loads(value.replace(\"'\",'\"'))\n logger.debug(value)\n message = [{\"name\": \"valvecontroller\", \"measures\":[{\"name\":value[\"measurement\"], \"value\": value[\"value\"]}]}]\n resp = write(message)\n logger.debug(\"RETURN FROM WRITE: {}\".format(resp))\n return True\n except Exception as e:\n logger.debug(e)\n return False\n \ndef receiveCommand(topic, payload):\n try:\n logger.debug(topic)\n logger.debug(json.loads(payload))\n p = json.loads(payload)\n command = p[\"method\"]\n commands = {\n \"sync\": sync,\n \"writeplctag\": writeplctag,\n } \n if command == \"setPLCTag\":\n try:\n result = commands[\"writeplctag\"](p[\"params\"])\n logger.debug(result)\n except Exception as e:\n logger.error(e)\n \n \n #logger.debug(command)\n ack(topic.split(\"/\")[-1])\n time.sleep(5)\n sync()\n except Exception as e:\n logger.debug(e)\n \n\ndef ack(msgid):\n #logger.debug(msgid)\n #logger.debug(mac)\n #logger.debug(name)\n #logger.debug(value)\n publish(\"v1/devices/me/rpc/response/\" + str(msgid), json.dumps({\"msg\": {\"time\": time.time()}, \"metadata\": \"\", \"msgType\": \"\"}))\n\ndef getMode():\n try:\n data = recall()\n for controller in data:\n for measure in controller[\"measures\"]:\n if measure[\"name\"] == \"pidcontrolmode\":\n return measure[\"value\"]\n except:\n return None\n\ndef convert_int(name, value):\n valve_failure = {\n 0: \"OK\",\n 1: \"Failure\"\n }\n\n names = {\n \"valve_failure\": valve_failure.get(value, \"Invalid Code\")\n }\n return names.get(name, \"Invalid Name\")\n", + "msgType": 0, + "cloudName": "default", + "trigger": "command_event" + } + ] + }, + "labels": [ + { + "key": "SN", + "value": "GF5022215013070" + }, + { + "key": "MAC", + "value": "00:18:05:1f:8d:4c" + } + ], + "modbusSlave": { + "enable": 0, + "protocol": "Modbus-TCP", + "port": 502, + "slaveAddr": 1, + "int16Ord": "ab", + "int32Ord": "abcd", + "float32Ord": "abcd", + "maxConnection": 5, + "mapping_table": [] + }, + "iec104Server": { + "enable": 0, + "cotSize": 2, + "port": 2404, + "serverList": [ + { + "asduAddr": 1 + } + ], + "kValue": 12, + "wValue": 8, + "t0": 15, + "t1": 15, + "t2": 10, + "t3": 20, + "maximumLink": 5, + "timeSet": 1, + "byteOrder": "abcd", + "mapping_table": [] + }, + "opcuaServer": { + "enable": 0, + "port": 4840, + "maximumLink": 5, + "securityMode": 0, + "identifierType": "String", + "mapping_table": [] + }, + "southMetadata": {}, + "bindMetadata": { + "version": "", + "timestamp": "" + }, + "bindConfig": { + "enable": 0, + "bind": { + "modelId": "", + "modelName": "", + "srcId": "", + "srcName": "", + "devId": "", + "devName": "" + }, + "varGroups": [], + "variables": [], + "alerts": [] + } +} \ No newline at end of file diff --git a/device_supervisor-V2.0.1.tar.gz b/device_supervisor-V2.0.1.tar.gz new file mode 100644 index 0000000..b629582 Binary files /dev/null and b/device_supervisor-V2.0.1.tar.gz differ diff --git a/device_supervisor-V2.1.1.tar.gz b/device_supervisor-V2.1.1.tar.gz new file mode 100644 index 0000000..b070860 Binary files /dev/null and b/device_supervisor-V2.1.1.tar.gz differ diff --git a/device_supervisor-V2.3.1.tar.gz b/device_supervisor-V2.3.1.tar.gz new file mode 100644 index 0000000..ea4690e Binary files /dev/null and b/device_supervisor-V2.3.1.tar.gz differ