{ "ui": {"network": {"ip": "192.168.0.1", "port": 5000, "docker_network": "vlan1"}}, "hmis": [], "plcs": [{ "name": "plc1", "logic": "plc1.py", "network": {"ip": "192.168.0.21", "docker_network": "vlan1"}, "inbound_connections": [{"type": "tcp", "ip": "192.168.0.21", "port": 502}], "outbound_connections": [ {"type": "tcp", "ip": "192.168.0.31", "port": 502, "id": "To-Tank-Sensor"}, {"type": "tcp", "ip": "192.168.0.41", "port": 502, "id": "TO_VALVE_ACTUATOR"} ], "registers": { "coil": [{"address": 500, "count": 1, "id": "valve_cmd", "io": "output"}], "discrete_input": [], "holding_register": [], "input_register": [{"address": 100, "count": 1, "id": "tank_level", "io": "input"}] }, "monitors": [ {"outbound_connection_id": "To-Tank-Sensor", "id": "tank_level", "value_type": "input_register", "slave_id": 1, "address": 100, "count": 1, "interval": 0.5} ], "controllers": [ {"outbound_connection_id": "TO_VALVE_ACTUATOR", "id": "valve_cmd", "value_type": "coil", "slave_id": 1, "address": 500, "count": 1} ] }], "sensors": [{ "name": "tank_sensor", "hil": "hil1", "network": {"ip": "192.168.0.31", "docker_network": "vlan1"}, "inbound_connections": [{"type": "tcp", "ip": "192.168.0.31", "port": 502}], "registers": { "coil": [], "discrete_input": [], "holding_register": [], "input_register": [{"address": 100, "count": 1, "physical_value": "tank_level"}] } }], "actuators": [{ "name": "valve_actuator", "hil": "hil1", "network": {"ip": "192.168.0.41", "docker_network": "vlan1"}, "inbound_connections": [{"type": "tcp", "ip": "192.168.0.41", "port": 502}], "registers": { "coil": [{"address": 500, "count": 1, "physical_value": "valve_cmd"}], "discrete_input": [], "holding_register": [], "input_register": [] }, "physical_values": [{"name": "valve_cmd", "io": "input"}] }], "hils": [{"name": "hil1", "logic": "hil1.py", "physical_values": [{"name": "tank_level", "io": "output"}, {"name": "valve_cmd", "io": "input"}]}], "serial_networks": [], "ip_networks": [{"docker_name": "vlan1", "name": "vlan1", "subnet": "192.168.0.0/24"}] }