{ "ui": { "network": { "ip": "192.168.0.111", "port": 8501, "docker_network": "vlan1" } }, "hmis": [ ], "plcs": [ { "name": "ied", "logic": "ied.py", "network": { "ip": "192.168.0.21", "docker_network": "vlan1" }, "identity": { "major_minor_revision": "3.2.5", "model_name": "ICS123-CPU2025", "product_code": "ICS-2025", "product_name": "ICS-SimLab IED PLC", "vendor_name": "ICS-SimLab", "vendor_url": "https://github.com/JaxsonBrownie/ICS-SimLab" }, "inbound_connections": [ { "type": "tcp", "ip": "192.168.0.21", "port": 502 } ], "outbound_connections": [ { "type": "tcp", "ip": "192.168.0.11", "port": 502, "id": "transformer_con" }, { "type": "tcp", "ip": "192.168.0.12", "port": 502, "id": "transformer_voltage_transducer_con" }, { "type": "tcp", "ip": "192.168.0.13", "port": 502, "id": "output_voltage_transducer_con" }, { "type": "tcp", "ip": "192.168.0.14", "port": 502, "id": "breaker_con" } ], "registers": { "coil": [ { "address": 1, "count": 1, "io": "output", "id": "breaker_control_command" } ], "discrete_input": [ { "address": 11, "count": 1, "io": "input", "id": "breaker_state" } ], "holding_register": [ { "address": 21, "count": 1, "io": "input", "id": "tap_change_command" }, { "address": 22, "count": 1, "io": "output", "id": "tap_position" } ], "input_register": [ { "address": 31, "count": 1, "io": "input", "id": "transformer_voltage_reading" }, { "address": 32, "count": 1, "io": "input", "id": "output_voltage_reading" } ] }, "monitors": [ { "outbound_connection_id": "transformer_voltage_transducer_con", "id": "transformer_voltage_reading", "value_type": "input_register", "slave_id": 1, "address": 31, "count": 1, "interval": 0.2 }, { "outbound_connection_id": "output_voltage_transducer_con", "id": "output_voltage_reading", "value_type": "input_register", "slave_id": 1, "address": 31, "count": 1, "interval": 0.5 } ], "controllers": [ { "outbound_connection_id": "breaker_con", "id": "breaker_control_command", "value_type": "coil", "slave_id": 1, "address": 1, "count": 1 }, { "outbound_connection_id": "transformer_con", "id": "tap_position", "value_type": "holding_register", "slave_id": 1, "address": 21, "count": 1 } ] } ], "sensors": [ { "name": "transformer_voltage_transducer", "hil": "hil", "network": { "ip": "192.168.0.12", "docker_network": "vlan1" }, "inbound_connections": [ { "type": "tcp", "ip": "192.168.0.12", "port": 502 } ], "registers": { "coil":[], "discrete_input": [], "holding_register": [], "input_register": [ { "address": 31, "count": 1, "physical_value": "transformer_voltage" } ] } }, { "name": "output_voltage_transducer", "hil": "hil", "network": { "ip": "192.168.0.13", "docker_network": "vlan1" }, "inbound_connections": [ { "type": "tcp", "ip": "192.168.0.13", "port": 502 } ], "registers": { "coil":[], "discrete_input": [], "holding_register": [], "input_register": [ { "address": 31, "count": 1, "physical_value": "output_voltage" } ] } } ], "actuators": [ { "name": "transformer", "hil": "hil", "network": { "ip": "192.168.0.11", "docker_network": "vlan1" }, "inbound_connections": [ { "type": "tcp", "ip": "192.168.0.11", "port": 502 } ], "registers": { "coil": [], "discrete_input": [], "holding_register": [ { "address": 21, "count": 1, "physical_value": "tap_position" } ], "input_register": [] } }, { "name": "breaker", "hil": "hil", "network": { "ip": "192.168.0.14", "docker_network": "vlan1" }, "inbound_connections": [ { "type": "tcp", "ip": "192.168.0.14", "port": 502 } ], "registers": { "coil": [ { "address": 1, "count": 1, "physical_value": "breaker_state" } ], "discrete_input": [], "holding_register": [], "input_register": [] } } ], "hils": [ { "name": "hil", "logic": "ied_hil.py", "physical_values": [ { "name": "breaker_state", "io": "input" }, { "name": "tap_position", "io": "input" }, { "name": "transformer_voltage", "io": "output" }, { "name": "output_voltage", "io": "output" } ] } ], "serial_networks": [ ], "ip_networks": [ { "docker_name": "vlan1", "name": "ics_simlab", "subnet": "192.168.0.0/24" } ] }