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.

On this page:

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
Remote

emote Channels

Configure channels to run 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:
 RemoteSettings:
  Primary IP: 192.168.1.100:3100
   Backup IP: 192.168.1.101
  Port: 3101

Benefits:

  • Distributed I/O processing
  • Network segmentation
  • Load balancing
  • Redundancy support
    :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



    ...