Devices Module (Reference) manages all communication between FrameworX and field devices through protocol drivers, providing a standardized layer for initialization, execution, and diagnostics.

The Device Module provides:

  • Multi-protocol communication
  • Channel/Node/Point architecture
  • Native driver support
  • Remote execution capability
  • Real-time diagnostics
  • Store-and-forward buffering

The module orchestrates field device communication through optimized grouping, parallel execution, and protocol-specific handling.

On this page:

Configuration Workflow

StepLocationDescription
Create ChannelsDevices → ChannelsSelect protocol and configure settings
Create NodesDevices → NodesDefine devices with network addresses
Map PointsDevices → PointsLink tags to device addresses
Import AddressesVariousUse import wizards or CSV/Excel
Configure AccessTypesDevices → AccessTypesOptimize communication groups

Architecture Components

Channels

Protocol definitions with communication settings:

  • Interface configuration (Serial/TCP/UDP)
  • Timeout settings
  • Remote execution options
  • Connection parameters

Nodes

Physical devices on the network:

  • Primary/backup station addresses
  • Channel assignment
  • Import synchronization
  • Device-specific settings

Points

Data addresses within devices:

  • Tag mapping
  • Data type configuration
  • Scaling/modifiers
  • Access control

Communication Drivers

Native Drivers

Direct protocol implementation advantages:

  • Better performance
  • Advanced diagnostics
  • No middleware required
  • Full feature access

See → Communication Drivers for available protocols

Simulator Drivers

For testing and validation:

  • TSimulator - Random value generation
  • ValueSimulator - Internal driver
  • OPC UA Simulator - External
  • MQTTspB Simulator - External
  • Modbus Simulator - External

Runtime Operation

Execution Model

The module creates optimized communication groups:

  1. Groups by operand type and access pattern
  2. Process per channel
  3. Multiple threads per node
  4. 20ms queue scanning
  5. Parallel execution

Read/Write Events

AccessType controls trigger conditions:

  • Timer-based polling
  • Event-driven updates
  • On-change writes
  • Display activation

Quality Feedback

Monitor communication status:

csharp

// Tag quality (192 = good)
int quality = @Tag.Temperature.Quality;

// Node status
bool isOnline = @Device.Node.PLC1.IsOnline;

// Channel status
int status = @Device.Channel.Channel1.Status;

Monitoring and Diagnostics

Runtime Control

Control module execution:

  • Run - Start communication
  • Pause - Suspend temporarily
  • Stop - Halt all operations

Access via Runtime → Runtime Diagnostics

Device Monitor

Real-time status at Devices → Monitor:

  • Node connectivity
  • Error codes
  • Activity counters
  • Invalid addresses

Built-in Tools

  • PropertyWatch - Monitor values
  • TraceWindow - Debug messages
  • ModuleInformation - System status

Best Practices

System Design

  • Plan modular architecture
  • Separate device responsibilities
  • Document configurations
  • Scale appropriately

Performance Optimization

  • Use OnDisplayOrServer for HMI data
  • Group similar polling rates
  • Optimize block sizes
  • Monitor cycle times

Maintenance

  • Regular software updates
  • Hardware inspections
  • Performance assessments
  • Operator training

Common Issues

ControlLogix Configuration

PLC Type Selection:

  • Default "Model OTHERS" may fail
  • Select specific model (1756-L8X)
  • Test communication after change

Micro850 Import:

  • Use "From Filename" option
  • Convert to L5K format
  • Check slot configuration
  • Typically requires slot 2

L5K Import Issues:

  • Verify path and filename
  • Try "From Filename" if device fails
  • Check file format compatibility

Performance Issues

  • Optimize polling rates
  • Use appropriate AccessTypes
  • Monitor data traffic
  • Check network latency

Advanced Topics

Device Module vs TagProviders

AspectDevice ModuleTagProviders
PurposeField device communicationExternal system integration
ConfigurationStatic, design-timeDynamic discovery
ControlFull read/write controlVariable access
Use CasePLCs, RTUs, I/OHistorians, databases

Protocol Development

For custom drivers or advanced diagnostics:

  • Understand protocol implementation
  • Review driver architecture
  • Test thoroughly
  • Document thoroughly

See → Protocol Implementation Concepts


Troubleshooting Guide

Communication Failures:

  • Check channel configuration
  • Verify node addresses
  • Test network connectivity
  • Review error codes

Data Not Updating:

  • Verify AccessType settings
  • Check point configuration
  • Monitor tag quality
  • Review polling rates

Import Problems:

  • Validate file format
  • Check address syntax
  • Review slot settings
  • Test with simple import

Performance Degradation:

  • Analyze polling rates
  • Check network load
  • Review group sizes
  • Monitor CPU usage



In this section...