Devices Channels (Reference) encapsulate protocol configurations and settings, providing communication pathways between the HMI and field devices through various network interfaces.
Device Channels provide:
- Protocol encapsulation
- Interface configuration (Serial, TCP/IP)
- Connection management
- Timeout handling
- Remote execution capability
- Diagnostic monitoring
Each channel represents a configured communication path using a specific protocol to connect with PLCs or field devices
Overview
The software platform establishes Channels to manage communication using protocols. A DeviceChannel object encapsulates a selected Protocol and its configuration settings. The Channel is the next step of the Device Module configuration, mapping the stations of PLCs or devices in a field network, and allowing the selection of the protocol settings that will be used with each device.
On this page:
Table of Contents maxLevel
2 minLevel 2 indent 10px exclude Steps style none
Creating Channels
Configuring Device Channels
Device Channels are the pathways for communication between the HMI and the devices in the system. The sections below describe how to create and edit Device Channels on the platform in more detail.
Creating and Editing a Device Channel
To create a new channel, follow these steps:
- Navigate to Devices → Channels
- Click
- New Channel or Plus button
To configure or edit an existing channel, follow these steps
- Access Devices → Channels.
- Double-click the property you wish to edit on the row corresponding to the channel you want to modify.
- Edit the property fields.
- Select protocol from list
- Configure:
- Channel Name - Unique identifier
- Description - Documentation
- Click OK
Channel Properties
Core Settings
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 |
Interface Types
Serial
- RS-232/485 communication
- Single port configuration
- Hardware handshaking options
Multi Serial
- Multiple RS-232 ports
- Port count configuration
- Independent port settings
TCP/IP
- Ethernet/wireless networks
- Connection pooling
- Multiple simultaneous connections
Interface Settings
TCP/IP Settings
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 |
Serial Settings
- Baud Rate - Communication speed
- Data Bits - 7 or 8
- Parity - None, Even, Odd
- Stop Bits - 1 or 2
- Handshake - None, RTS/CTS, XON/XOFF
Channel States
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 |
emote Channels
Execute Device Module on remote computers for gateway and tunneling applications.
System Requirements
- All computers on same network
- Product installed on all computers
- Firewall ports configured
Configuration
- Set InitialState to Remote
- Configure RemoteSettings:
Primary IP: 192.168.1.100:3100
Backup IP: 192.168.1.101:3100
Required Ports
Enable in firewall (Inbound/Outbound):
- WebServices: 10108, 80, 3100
- TServer: 3101
- Custom ports as configured
Remote Execution Process
- TStartup connects to remote TWebServer/IIS
- TRemoteDevice process launches on both computers
- Remote computer executes channel operations
- Data transmitted back to main server
Special Considerations
Note |
---|
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. |
Runtime Control
Start/Stop Operations
csharp
// Stop channel
@Device.Channel.ChannelName.Stop();
// Start channel
@Device.Channel.ChannelName.Start();
// Stop with timeout
@Device.Channel.ChannelName.Stop(10);
Script Example
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();
}
}
Common Configurations
Modbus TCP
Protocol: Modbus
Interface: TCP/IP
Port: 502
Node Connection: 1
Timeout: 1000ms
Serial RS-485
Protocol: Modbus RTU
Interface: Serial
Baud: 19200
Data Bits: 8
Parity: Even
Stop Bits: 1
OPC UA
Protocol: OPC UA
Interface: TCP/IP
Port: 4840
Security: Basic256
Max Connections: 5
Best Practices Checklist
- Name Channels Clearly - Include protocol and purpose
- Document Settings - Use description field
- Set Appropriate Timeouts - Match network conditions
- Configure Connection Limits - Prevent overload
- Use Remote Channels - For distributed systems
- Monitor Channel Status - Track communication health
- Test Before Production - Verify all settings
Troubleshooting
Channel won't start:
- Check InitialState setting
- Verify protocol license
- Review interface configuration
- Check port availability
Communication timeouts:
- Increase timeout value
- Check network latency
- Verify device response time
- Review connection settings
Connection failures:
- Verify IP addresses
- Check firewall rules
- Test network connectivity
- Review security settings
Remote channel issues:
- Verify remote computer online
- Check remote settings
- Test network path
- Review firewall exceptions
Diagnostics
Remote Channel Monitoring
Verification Steps
- Check TStartup shows "Module Device started remotely"
- Verify TRemoteDevice process on server
- Confirm TRemoteDevice on remote computer
- Monitor command line parameters
Monitor channel performance:
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;
In this section...
Page Tree | ||||
---|---|---|---|---|
|
Device Channel Properties
The following table describes each available property you can configure when editing a channel:
Field
Description
Protocol Options
Defines the options for this protocol. The options depend on the selected protocol. Check each protocol documentation to guide you.
Interface
Defines the interface type for this channel.
Serial: Use this option to configure the serial parameters for RS232/485 networks.
Multi Serial: Use this for configurations with multiple RS-232 ports.
TCPIP: Use for Ethernet or wireless networks.
Settings
Defines the settings for this channel. The available values will depend on the interface the channel is using.
For a serial interface, typically keep the defaults.
For a Multi Serial interface, enter the number of RS-232 ports to use in the Ports field.
Node Connection: The number of parallel requests sent to each node (asynchronous communication).
Accept Unsolicited: Allow to accept unsolicited input from the slave.
Listening Port: The TCP port where the slave device is connected (default is 502).
Node Connection: The number of parallel requests sent to each node (asynchronous communication).
Max Simultaneous Connections: The maximum number of concurrent connections.
Share Node Same IP: Several slaves are connected to a single IP address. For example, RS485/Ethernet Converters.
Use Single Thread: Use a single thread for the same IP nodes.
Use Ping To Check Connection: Check for connection before sending a packet.
Info |
---|
The settings here must match the settings on the slave device. |
Timeout
Defines the timeout options for this channel. Typically, keep the default value.
InitialState
Defines the initial state for this channel, the states can be as follows:
Enabled: The channel is loaded and execution starts when the project starts.
Disabled: The channel is loaded, but does not starts execution going the disabled state.
Remote: The channel is local in a remote Computer defined that the Remote Settings. See Remote Channels page.
Reserved: The channel is not loaded, it acts as the channel was temporarily deleted from the project.
RemoteSettings
Defines the primary IP and backup IP to configure the remote computer where this channel will run.
DriverVersion
Defines the version of the current driver being used.
Working with Channel
Stop and Start Commands
After creating a solution, you may face issues that compromise the communication with the field device. In such moments, instead of restarting the entire system, you may solve the problem by restarting the channel. You can perform such tasks using scripts, avoiding shutting down the entire system. To do so, follow these steps:
Create a new class using the C# code below, where "XXXX" refers to the name of the channel.
Code Block | ||
---|---|---|
| ||
@Device.Channel.XXXX.Stop()
@Device.Channel.XXXX.Start() |
You can create a Task or Expression to call this class when needed and do it in other ways that don't use the class.
See the Remote Channels page for more information.
Code Block | ||
---|---|---|
| ||
public void Stop()
{
@Device.Channel.ControlLogix.Stop(10);
} |
In this section:
Page Tree | ||||
---|---|---|---|---|
|