Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

3

2
minLevel2
indent10px
excludeSteps
stylenone

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:

  • Access Devices → Channels.
  • Click on the
    1. Navigate to Devices → Channels
    2. Click
    1. New Channel or Plus button
    .
  • Choose a Protocol and fill in the Channel Name and Description fields. The table at the end of this section describes each option available.
  • Click OK.
  • Image Removed

    To configure or edit an existing channel, follow these steps

    1. Access Devices → Channels.
    2. Double-click the property you wish to edit on the row corresponding to the channel you want to modify.
    3. Edit the property fields.

    Image Removed

    1. Select protocol from list
    2. Configure:
      • Channel Name - Unique identifier
      • Description - Documentation
    3. Click OK

    Channel Properties

    Core Settings

    PropertyDescriptionOptions
    Protocol OptionsProtocol-specific settingsVaries by protocol
    InterfaceCommunication typeSerial, Multi Serial, TCP/IP
    InitialStateStartup behaviorEnabled, Disabled, Remote, Reserved
    TimeoutResponse timeoutDefault: protocol-specific
    RemoteSettingsRemote execution configurationIP:Port format
    DriverVersionCurrent driver versionRead-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

    SettingDescriptionDefault
    Listening PortTCP port for slave connections502 (Modbus)
    Node ConnectionParallel requests per node1
    Max SimultaneousConcurrent connections limit10
    Share Node Same IPMultiple slaves on single IPFalse
    Use Single ThreadSingle thread for same IPFalse
    Use Ping CheckVerify connection before sendFalse
    Accept UnsolicitedAllow unsolicited messagesFalse

    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

    StateDescriptionUse Case
    EnabledActive at startupNormal operation
    DisabledLoaded but inactiveMaintenance mode
    RemoteRuns on remote computerDistributed architecture
    ReservedNot loadedTemporarily 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

    1. Set InitialState to Remote
    2. 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

    1. TStartup connects to remote TWebServer/IIS
    2. TRemoteDevice process launches on both computers
    3. Remote computer executes channel operations
    4. 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

    1. Check TStartup shows "Module Device started remotely"
    2. Verify TRemoteDevice process on server
    3. Confirm TRemoteDevice on remote computer
    4. 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
    root@parent
    spaces93DRAF

    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:

  • Access Scripts → Classes
  • Create a new class using the C# code below, where "XXXX" refers to the name of the channel.

    Code Block
    languagec#
    @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
    languagec#
    public void Stop()
    {
    	@Device.Channel.ControlLogix.Stop(10);
    }

    In this section:

    Page Tree
    rootV10:@parent
    spacesV10