Skip to content

Connection Management

A connection is the communication channel to a field device or system. Each connection uses one protocol and is bound to a project.

Connection List

FieldTypeRequiredDescription
nameStringYesConnection name (unique within the project)
protocolProtocol enumYesCommunication protocol
ipStringProtocol-dependentTarget IP address
portIntegerProtocol-dependentTarget port number
dscString (≤255)NoDescription
projectIdStringYesOwning project ID

Protocol-specific fields (unit id, timeout, polling period, …) are covered in each protocol’s configuration page.

Protocol valueUse CaseTypical Device
Modbus TCP / Modbus TCP SlaveIndustrial automationPLC, energy analyzer, drive
Modbus UDP / Modbus UDP SlaveLow-latency pollingEnergy meter
Modbus RTU Over TCP / Modbus RTU Over TCP SlaveSerial ↔ TCP gatewayRTU, serial device
DNP3 / DNP3 SlavePower distributionRTU, protection relay
IEC 60870-5-104 / IEC 60870-5-104 ServerTransmission / distributionRTU, SCADA gateway
IEC 61850 / IEC 61850 ServerSubstation automationIED, protection relay
OPC UA / OPC UA ServerOpen standardPLC, DCS, SCADA
OPC DAWindows COM/DCOMLegacy OPC servers
OPC XMLHTTP / SOAPOPC over web services
S7Siemens PLCS7-300, S7-400, S7-1200, S7-1500
MQTTIoT / message brokerGateway, sensor, broker
EthernetIpRockwell / Allen-BradleyLogix 5000+ family
Fatek TCP / Fatek UDPFatek PLCFBs, FBe series
LOCALSimulation / internal computeInternal variable

The Slave / Server variants let inSCADA expose itself as a listening endpoint on the given protocol (serving data to remote masters/clients).

Per-protocol details: Protocols →

ConnectionStatus enum:

StatusMeaning
ConnectedConnection is up, data is being read
DisconnectedConnection is down — either stopped, or the peer is unreachable
{
"id": "abc123",
"name": "LOCAL-Energy",
"protocol": "LOCAL",
"ip": "127.0.0.1",
"port": 0,
"projectId": "proj-153",
"dsc": "Local protocol connection for energy simulation"
}

Connections can be managed from the UI or from scripts. The server-side ins.* API:

// Query status
var status = ins.getConnectionStatus("LOCAL-Energy");
// → "Connected" or "Disconnected"
// Cycle the connection in the next tick
ins.stopConnection("MODBUS-PLC");
ins.startConnection("MODBUS-PLC");
// Target a connection in another project
ins.stopConnection("GES-02", "MODBUS-PLC");
ins.startConnection("GES-02", "MODBUS-PLC");

ins.updateConnection takes a full ConnectionResponseDto. The typical pattern is read-modify-write:

var conn = ins.getConnection("MODBUS-PLC");
conn.setIp("192.168.1.100");
conn.setPort(502);
ins.updateConnection("MODBUS-PLC", conn);

The same applies to updateDevice and updateFrame:

var device = ins.getDevice("MODBUS-PLC", "slave-1");
device.setUnitId(3);
ins.updateDevice("MODBUS-PLC", "slave-1", device);
var frame = ins.getFrame("MODBUS-PLC", "slave-1", "main-block");
frame.setPeriod(2000);
ins.updateFrame("MODBUS-PLC", "slave-1", "main-block", frame);

Details: Connection API → | REST API Reference → (see Connection Management, Protocol Connection, Protocol Variable, Protocol Template controller groups)