Versions Compared

Key

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

Organize device communications in channels.

ReferenceModulesDevicesUIPoints | Protocols | Channels | Nodes | AccessTypes | Monitor


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.

Table of Contents
maxLevel2
minLevel2
indent10px
excludeSteps
stylenone


Creating Channels

  1. Navigate to Devices → Channels
  2. Click New Channel or Plus button
  3. Select protocol from list
  4. Configure:
    • Channel Name - Unique identifier
    • Description - Documentation
  5. 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



  

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
maxLevel3
stylenone

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 theNew 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

    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 TreerootV10:@parentspacesV10