ics-simlab-config-gen-claude/examples/smart_grid/logic/configuration.json

387 lines
9.8 KiB
JSON

{
"ui":
{
"network":
{
"ip": "192.168.0.111",
"port": 8501,
"docker_network": "vlan1"
}
},
"hmis":
[
{
"name": "hmi",
"network":
{
"ip": "192.168.0.40",
"docker_network": "vlan1"
},
"inbound_connections":
[
],
"outbound_connections":
[
{
"type": "tcp",
"ip": "192.168.0.31",
"port": 502,
"id": "plc_con"
}
],
"registers":
{
"coil":
[
{
"address": 3,
"count": 1,
"id": "transfer_switch_state"
}
],
"discrete_input":
[
],
"holding_register":
[
{
"address": 4,
"count": 1,
"id": "switching_threshold"
}
],
"input_register":
[
{
"address": 1,
"count": 1,
"id": "solar_panel_reading"
},
{
"address": 2,
"count": 1,
"id": "household_reading"
}
]
},
"monitors":
[
{
"outbound_connection_id": "plc_con",
"id": "solar_panel_reading",
"value_type": "input_register",
"slave_id": 1,
"address": 20,
"count": 1,
"interval": 1
},
{
"outbound_connection_id": "plc_con",
"id": "transfer_switch_state",
"value_type": "coil",
"slave_id": 1,
"address": 10,
"count": 1,
"interval": 1
},
{
"outbound_connection_id": "plc_con",
"id": "switching_threshold",
"value_type": "holding_register",
"slave_id": 1,
"address": 40,
"count": 1,
"interval": 1
},
{
"outbound_connection_id": "plc_con",
"id": "household_reading",
"value_type": "input_register",
"slave_id": 1,
"address": 21,
"count": 1,
"interval": 1
}
],
"controllers":
[
]
}
],
"plcs":
[
{
"name": "ats_plc",
"logic": "ats_plc_logic.py",
"network":
{
"ip": "192.168.0.31",
"docker_network": "vlan1"
},
"inbound_connections":
[
{
"type": "tcp",
"ip": "192.168.0.31",
"port": 502
}
],
"outbound_connections":
[
{
"type": "rtu",
"comm_port": "ttyS1",
"id": "sp_pm_con"
},
{
"type": "rtu",
"comm_port": "ttyS3",
"id": "hh_pm_con"
},
{
"type": "rtu",
"comm_port": "ttyS5",
"id": "ts_con"
}
],
"registers":
{
"coil":
[
{
"address": 10,
"count": 1,
"io": "output",
"id": "transfer_switch_state"
}
],
"discrete_input":
[
],
"holding_register":
[
],
"input_register":
[
{
"address": 20,
"count": 1,
"io": "input",
"id": "solar_panel_reading"
},
{
"address": 21,
"count": 1,
"io": "input",
"id": "household_reading"
}
]
},
"monitors":
[
{
"outbound_connection_id": "sp_pm_con",
"id": "solar_panel_reading",
"value_type": "input_register",
"slave_id": 1,
"address": 1,
"count": 1,
"interval": 0.2
},
{
"outbound_connection_id": "hh_pm_con",
"id": "household_reading",
"value_type": "input_register",
"slave_id": 1,
"address": 1,
"count": 1,
"interval": 0.2
}
],
"controllers":
[
{
"outbound_connection_id": "ts_con",
"id": "transfer_switch_state",
"value_type": "coil",
"slave_id": 2,
"address": 2,
"count": 1,
"interval": 1
}
]
}
],
"sensors":
[
{
"name": "solar_panel_power_meter",
"hil": "electrical_hil",
"network":
{
"ip": "192.168.0.21",
"docker_network": "vlan1"
},
"inbound_connections":
[
{
"type": "rtu",
"slave_id": 1,
"comm_port": "ttyS2"
}
],
"registers":
{
"coil":
[
],
"discrete_input":
[
],
"holding_register":
[
],
"input_register":
[
{
"address": 1,
"count": 1,
"physical_value": "solar_power"
}
]
}
},
{
"name": "household_power_meter",
"hil": "electrical_hil",
"network":
{
"ip": "192.168.0.22",
"docker_network": "vlan1"
},
"inbound_connections":
[
{
"type": "rtu",
"slave_id": 1,
"comm_port": "ttyS4"
}
],
"registers":
{
"coil":
[
],
"discrete_input":
[
],
"holding_register":
[
],
"input_register":
[
{
"address": 1,
"count": 1,
"physical_value": "household_power"
}
]
}
}
],
"actuators":
[
{
"name": "transfer_switch",
"hil": "electrical_hil",
"network":
{
"ip": "192.168.0.23",
"docker_network": "vlan1"
},
"inbound_connections":
[
{
"type": "rtu",
"slave_id": 2,
"comm_port": "ttyS6"
}
],
"registers":
{
"coil":
[
{
"address": 2,
"count": 1,
"physical_value": "transfer_switch_state"
}
],
"discrete_input":
[
],
"holding_register":
[
],
"input_register":
[
]
}
}
],
"hils":
[
{
"name": "electrical_hil",
"logic": "electrical_hil_logic.py",
"physical_values":
[
{
"name": "solar_power",
"io": "output"
},
{
"name": "household_power",
"io": "output"
},
{
"name": "transfer_switch_state",
"io": "input"
}
]
}
],
"serial_networks":
[
{
"src": "ttyS1",
"dest": "ttyS2"
},
{
"src": "ttyS3",
"dest": "ttyS4"
},
{
"src": "ttyS5",
"dest": "ttyS6"
}
],
"ip_networks":
[
{
"docker_name": "vlan1",
"name": "ics_simlab",
"subnet": "192.168.0.0/24"
}
]
}