Devices Channels (Reference) encapsulate protocol configurations and settings, providing communication pathways between the HMI and field devices through various network interfaces.
Device Channels provide:
Each channel represents a configured communication path using a specific protocol to connect with PLCs or field devices.
Property | Description | Options |
---|---|---|
Protocol Options | Protocol-specific settings | Varies by protocol |
Interface | Communication type | Serial, Multi Serial, TCP/IP |
InitialState | Startup behavior | Enabled, Disabled, Remote, Reserved |
Timeout | Response timeout | Default: protocol-specific |
RemoteSettings | Remote execution configuration | IP:Port format |
DriverVersion | Current driver version | Read-only |
Serial
Multi Serial
TCP/IP
Setting | Description | Default |
---|---|---|
Listening Port | TCP port for slave connections | 502 (Modbus) |
Node Connection | Parallel requests per node | 1 |
Max Simultaneous | Concurrent connections limit | 10 |
Share Node Same IP | Multiple slaves on single IP | False |
Use Single Thread | Single thread for same IP | False |
Use Ping Check | Verify connection before send | False |
Accept Unsolicited | Allow unsolicited messages | False |
State | Description | Use Case |
---|---|---|
Enabled | Active at startup | Normal operation |
Disabled | Loaded but inactive | Maintenance mode |
Remote | Runs on remote computer | Distributed architecture |
Reserved | Not loaded | Temporarily excluded |
Execute Device Module on remote computers for gateway and tunneling applications.
Primary IP: 192.168.1.100:3100
Backup IP: 192.168.1.101:3100
Enable in firewall (Inbound/Outbound):
Protocol drivers with specific permissions (PI, Tundra, Prediktor) must be executed by Windows Users. TWebServices or IIS must run under the same Windows User account. |
csharp
// Stop channel
@Device.Channel.ChannelName.Stop();
// Start channel
@Device.Channel.ChannelName.Start();
// Stop with timeout
@Device.Channel.ChannelName.Stop(10);
csharp
public class ChannelControl
{
public void RestartChannel(string channelName)
{
// Stop channel
@Device.Channel[channelName].Stop(5);
// Wait for stop
Thread.Sleep(1000);
// Start channel
@Device.Channel[channelName].Start();
}
}
Protocol: Modbus
Interface: TCP/IP
Port: 502
Node Connection: 1
Timeout: 1000ms
Protocol: Modbus RTU
Interface: Serial
Baud: 19200
Data Bits: 8
Parity: Even
Stop Bits: 1
Protocol: OPC UA
Interface: TCP/IP
Port: 4840
Security: Basic256
Max Connections: 5
Channel won't start:
Communication timeouts:
Connection failures:
Remote channel issues:
csharp
// Get channel status
bool isConnected = @Device.Channel.ChannelName.IsConnected;
// Check last error
string error = @Device.Channel.ChannelName.LastError;
// Get statistics
int successCount = @Device.Channel.ChannelName.SuccessCount;
int errorCount = @Device.Channel.ChannelName.ErrorCount;