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:
Each Device Point uses one AccessType to determine when and how it communicates.
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 |
Property | Description | Options |
---|---|---|
WriteEvents | Enable write capability | True/False |
WriteEvent | Write trigger condition | OnChange, OnTrigger |
WriteTrigger | Conditional write trigger | Tag or expression |
Property | Description | Default |
---|---|---|
AcceptUnsolicited | Accept unrequested data | False |
UseStaticBlocks | Enable block commands | False |
BlockCommand | Protocol-specific blocks | Driver dependent |
Name: AlwaysRead
ReadPolling: Always
ReadPollingRate: 1000
WriteEvents: False
OnStartup: True
Name: ReadWrite
ReadPolling: Always
ReadPollingRate: 500
WriteEvents: True
WriteEvent: OnChange
Name: Triggered
ReadPolling: Never
ReadTrigger: @Tag.ReadNow
WriteEvents: True
WriteTrigger: @Tag.WriteNow
Optimizes communication by activating points only when needed.
OnDisplay Behavior:
OnServer Behavior:
Display-Driven:
Line A Display → Line A Tags Active
Line B Display → Line B Tags Active
No Display → No Communication
Server Requirements:
<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>
csharp
// Trigger read when button pressed
ReadTrigger: @Tag.RefreshButton
// Periodic trigger
ReadTrigger: @Tag.Timer.SecondTick
// Conditional trigger
ReadTrigger: @Tag.ProductionActive && @Tag.ShiftRunning
csharp
// Write on command
WriteTrigger: @Tag.SendCommand
// Batch write
WriteTrigger: @Tag.BatchReady
// Conditional write
WriteTrigger: @Tag.Value > 100
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 |
For protocols supporting block transfers:
UseStaticBlocks: True
BlockCommand: "READ_BLOCK:100:50"
Benefits:
Check driver documentation for supported commands.
Points not updating:
Write failures:
Performance issues:
OnDisplay not working:
HMI Points: OnDisplayOrServer, 500ms
Alarms: Always, 250ms
Reports: Triggered, OnDemand
HVAC: Always, 5000ms
Lighting: OnDisplayOrServer, 1000ms
Energy: Always, 60000ms
Critical: Always, 100ms
Process: Always, 1000ms
Historical: Triggered, 5000ms