Devices AccessTypes (Reference) define read/write rules for Device Points, controlling polling rates, triggers, and communication behavior between the platform and field devices.
AccessTypes provide:
- Polling configuration
- Read/write triggers
- Startup behavior
- Event-based communication
- Display-driven updates
- Block command support
Each Device Point uses one AccessType to determine when and how it communicates
Overview
The Device AccessType defines the defines the rules for reading and/or writing values for Device Point. Each Point is associated with one AccessType.
Settings include among others: Polling Rate, Read on Startup, and if is enabled to do Writing.
On this page:
Table of Contents maxLevel
2 minLevel 2 indent 10px exclude Steps style none
Creating
an AccessTypeTo create and configure an AccessType, follow these steps:
- Access Devices → AccessTypes.
- Click on the plus icon.
- Fill all the property fields with your desired configuration (see the table below for more details about each option).
- Click Ok.
AccessTypes Properties
The following table describes each configuration property when creating an AccessType:
Field
Description
Name
Name of this AccessType.
Read
ReadPolling
Enables read polling.
ReadPollingRate
Defines how often the address value is retrieved.
ReadTrigger
Enter an object property that tells the system when to read the value.
OnStartup
When selected, the system reads the value on startup.
Write
WriteEvents
Enables the writing of values to the PLC.
WriteEvent
Defines when is the value written.
WriteTrigger
Enter an object property that tells the system when to write the value.
Settings
AcceptUnsolicited
If enabled, the system accepts values from the PLC, even if the polling time has not yet elapsed.
UseStaticBlocks
Enables the use of the block command field.
BlockCommand
A definition for each block that will be created. Check the driver documentation to see if the specific driver uses this field and the valid values.
Description
Description of the access type.
AccessTypes
- Navigate to Devices → AccessTypes
- Click Plus icon
- Configure properties
- Click OK
AccessType Properties
Read Configuration
Property | Description | Options |
---|---|---|
ReadPolling | Enable polling mode | Always, Never, OnDisplayOrServer |
ReadPollingRate | Update frequency (ms) | 100-60000 |
ReadTrigger | Conditional read trigger | Tag or expression |
OnStartup | Read on solution start | True/False |
Write Configuration
Property | Description | Options |
---|---|---|
WriteEvents | Enable write capability | True/False |
WriteEvent | Write trigger condition | OnChange, OnTrigger |
WriteTrigger | Conditional write trigger | Tag or expression |
Advanced Settings
Property | Description | Default |
---|---|---|
AcceptUnsolicited | Accept unrequested data | False |
UseStaticBlocks | Enable block commands | False |
BlockCommand | Protocol-specific blocks | Driver dependent |
Common AccessType Patterns
Continuous Monitoring
Name: AlwaysRead
ReadPolling: Always
ReadPollingRate: 1000
WriteEvents: False
OnStartup: True
Control Points
Name: ReadWrite
ReadPolling: Always
ReadPollingRate: 500
WriteEvents: True
WriteEvent: OnChange
Event-Driven
Name: Triggered
ReadPolling: Never
ReadTrigger: @Tag.ReadNow
WriteEvents: True
WriteTrigger: @Tag.WriteNow
OnDisplayOrServer Mode
Optimizes communication by activating points only when needed.
How It Works
OnDisplay Behavior:
- Points activate when display opens
- Deactivate when display closes
- Reduces unnecessary communication
- Improves system performance
OnServer Behavior:
- Always active when OPC Server running
- Required for server-side logic
- Scripts, alarms, expressions need this
Configuration
- Set ReadPolling to OnDisplayOrServer
- Configure ReadPollingRate
- Enable WriteEvents if needed
- Assign to relevant points
Use Cases
Display-Driven:
Line A Display → Line A Tags Active
Line B Display → Line B Tags Active
No Display → No Communication
Server Requirements:
- Script Tasks
- Class Methods
- Expressions
- Alarm Conditions
<ac:structured-macro ac:name="info"> ac:rich-text-body Server-side tags (used in scripts, alarms, expressions) require an AccessType with ReadPolling set to "Always" or a separate AccessType for OnDisplayOrServer mode. </ac:rich-text-body> </ac:structured-macro>
Trigger-Based Operations
Read Triggers
csharp
// Trigger read when button pressed
ReadTrigger: @Tag.RefreshButton
// Periodic trigger
ReadTrigger: @Tag.Timer.SecondTick
// Conditional trigger
ReadTrigger: @Tag.ProductionActive && @Tag.ShiftRunning
Write Triggers
csharp
// Write on command
WriteTrigger: @Tag.SendCommand
// Batch write
WriteTrigger: @Tag.BatchReady
// Conditional write
WriteTrigger: @Tag.Value > 100
Performance Optimization
Polling Rate Guidelines
Data Type | Suggested Rate | Use Case |
---|---|---|
Critical Alarms | 100-500ms | Safety systems |
Process Values | 500-1000ms | Normal monitoring |
Status/States | 1000-5000ms | Equipment status |
Reports | 5000-60000ms | Historical data |
Block Commands
For protocols supporting block transfers:
UseStaticBlocks: True
BlockCommand: "READ_BLOCK:100:50"
Benefits:
- Reduced overhead
- Faster updates
- Lower network traffic
- Improved efficiency
Check driver documentation for supported commands.
Best Practices Checklist
- Group Similar Points - Same polling requirements
- Use OnDisplayOrServer - For HMI-only data
- Minimize Always Polling - Only critical points
- Set Appropriate Rates - Match process dynamics
- Use Triggers Wisely - Reduce continuous polling
- Configure Startup Reads - Initialize important values
- Test Performance - Monitor CPU and network load
Troubleshooting
Points not updating:
- Verify ReadPolling enabled
- Check polling rate
- Confirm display open (OnDisplay)
- Review trigger conditions
Write failures:
- Confirm WriteEvents enabled
- Check WriteEvent setting
- Verify trigger firing
- Review point access rights
Performance issues:
- Reduce polling rates
- Use OnDisplayOrServer
- Implement triggers
- Enable block commands
OnDisplay not working:
- Verify display contains tags
- Check AccessType assignment
- Confirm display runtime active
- Review server-side usage
Examples by Industry
Manufacturing
HMI Points: OnDisplayOrServer, 500ms
Alarms: Always, 250ms
Reports: Triggered, OnDemand
Building Automation
HVAC: Always, 5000ms
Lighting: OnDisplayOrServer, 1000ms
Energy: Always, 60000ms
Process Control
Critical: Always, 100ms
Process: Always, 1000ms
Historical: Triggered, 5000ms
In this section...
Page Tree | ||||
---|---|---|---|---|
|
OnDisplayOrServer setting
The OnDisplayOrServer AccessType is an excellent tool for solutions with many communication points but only requires data updates for some of them. It can help computers without the computational power to handle massive data exchange while maintaining other modules active. The OnDisplayOrServer operation process is divided into two aspects:
- On Display: On Display means that your DevicePoint will only begin reading or writing when the solution's display containing these tags is open.
- Let us imagine a project with two displays, one for Line A and another for Line B. Each display has its specific Tags added to it. When the Project is running, there is no need to send or receive data for all tags in the PLC. The solution only needs to send or receive data for the opened displays of the visualizer. So, when the Line A display is open, only Line A tags will communicate. The same goes for LineB.
- On Server: On Server or OPCServer means that if your solution runs as an OPC Server, the Access Type will behave as if its Read Enable property is set to Always.
- Suppose you have the tags on the server side as ScriptTasks, Classes, Expression, or AlarmItems. In that case, you must create a new AccessType specific for them with the Read Enable option in Always.
Configuring an AccessType as OnDisplayOrServer
To configure an Access type as On Display Or Server, follow these steps:
- Access Devices → AccessTypes.
- Click on the plus icon.
- On the ReadPolling property, choose OnDisplayOrServer. This property is enough for the Reading portion of the communication.
- Check the WriteEvents box to Enable Writing Events.
Info |
---|
Only when these options are met can the DevicePoints with this AccessType read/write data. |
In this section:
Page Tree | ||||
---|---|---|---|---|
|