Versions Compared

Key

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

Device connection configurations for the Cirrus Link drivers can be created through scripting using the standard Ignition function

system.device.addDevice()


Note

The Description and Enabled properties may not be configured with this function. By default, the Enabled property is set to true and can be disabled with a call to system.device.setDeviceEnabled() after creating the connection.


The device driver types for the Cirrus Link EFM Modules are listed in the table below:


Below are the table of properties callable by system.device.addDevice.

Note
Device properties in bold are mandatory properties that must be included in the addDevice call

Anchor
EmersonRoc
EmersonRoc
Emerson ROC Keys

Device PropertyKeyDatatype
Protocol Type

ProtocolType

String
HostnameHostnameString
TCP PortPortInteger
Socket TimeoutSocketTimeoutInteger
ROC Unit CodeRocUnitCodeInteger
ROC Group CodeRocGroupCodeInteger
Host Unit CodeHostUnitCodeInteger
Host Group CodeHostGroupCodeInteger
Periodic MappingPeriodicMappingIdLong
Configuration MappingConfigurationMappingIdLong
Add All TLP DefinitionsAddAllTLPDefinitionsBoolean
Security EnabledSecurityEnabledBoolean
Operator IDOperatorIdString
PasswordPasswordString
Access Level EnabledAccessLevelEnabledBoolean
Access LevelAccessLevelInteger
Date Time OffsetDateTimeOffsetInteger
Sync ROC RTCSyncDateTimeBoolean
Sync ExpressionSyncDateTimeExpressionString
Alarm Scan RateAlarmScanRateInteger
Event Scan RateEventScanRateInteger
Minute History Scan RateHistoryMinuteScanRateInteger
Periodic History Scan RateHistoryPeriodicScanRateInteger
Daily History Scan RateHistoryDailyScanRateInteger
Enable SignatureEnableSignatureBoolean
Algorithm

HashingAlgorithm

String
PasswordSignaturePasswordString
Group IDGroupIdString
Edge IDEdgeIdString
Device IDDeviceIdString
Serial NumberSerialNumberString
History Time StampHistoryTimestampBoolean
Read DelayReadDelayLong
Poll Watchdog RatePollerWatchdogRateInteger


Warning
Cirrus Link provides these scripts as examples only, they are not supported or guaranteed to meet any particular functionality. Cirrus Link cannot provide any assistance to modify these scripts to meet a particular need.


Code Block
languagepy
titleEmerson ROC Sample Script
# Cirrus Link provides these scripts as examples only, they are not supported or guaranteed to meet any particular functionality. Cirrus Link cannot provide any assistance to modify these scripts to meet a particular need.
#new device connection using default settings
newProps = {}
newProps["ProtocolType"] = "ROC"
newProps["Hostname"] = "10.1.2.3"
newProps["Port"] = 2000
newProps["RocUnitCode"] = 10
newProps["RocGroupCode"] = 100
newProps["HostUnitCode"] = 20
newProps["HostGroupCode"] = 200
newProps["HashingAlgororithm"] = "SHA_1"
system.device.addDevice(deviceType = "EmersonRoc",deviceName = "MyROC",deviceProps = newProps)


Anchor
AbbTotalflow
AbbTotalflow
ABB Totalflow Keys

Device PropertyKeyDatatype
Board TypeBoardTypeString
HostnameHostnameString
TCP PortPortInteger
Socket TimeoutSocketTimeoutInteger
Connection TypeConnectionTypeString
Enable Auto-discoveryEnableAutoDiscoveryBoolean
Add All Totalflow Application Definitions

AddAllTotalflowApplicationDefinitions

Boolean
Add All Array-Register Definitions

AddAllArrayRegisterDefinitions

Boolean
Auto-generate Templates and Poll Group

AutoGenerateDefaultTemplatesAndPollGroup

Boolean
Array-Register Template Import Policy

ArrayRegisterTemplateImportPolicy

String
Poll Group Import Policy

PollGroupImportPolicy

String
Station ID

StationId

String
Keep Alive

ConnectionKeepAlive

Integer
Host Timeout

HostTimeout

Long
Number Retries

NumberRetries

Integer
Supervisory Frames

SupervisoryFrames

Integer
PasswordSecurityCodeString
RBAC Enabled

RbacEnabled

Boolean
Operator ID

OperatorId

String
Password

OperatorPassword

String
Date Time Offset

DateTimeOffset

Integer
Alarm Source

AlarmSourceSelector

String
Alarm Scan Rate

AlarmScanRate

Integer
Event Scan Rate

EventScanRate

Integer
Periodic History Scan Rate

HistoryPeriodicScanRate

Integer
Daily History Scan Rate

HistoryDailyScanRate

Integer
Record Info Scan Rate

RecordInfoScanRate

Integer
Max Records To Read

MaxRecordsToRead

Integer
Periodic Mapping

PeriodicMappingId

Long
Enable Signature

EnableSignature

Boolean
Hashing Algorithm

HashingAlgorithm

String
Password

SignaturePassword

String
Group IDGroupIdString
Edge IDEdgeIdString
Device IDDeviceIdString
Use INI CategoriesUseIniCategoriesBoolean
Poller Watchdog RatePollerWatchdogRateInteger


Warning
Cirrus Link provides these scripts as examples only, they are not supported or guaranteed to meet any particular functionality. Cirrus Link cannot provide any assistance to modify these scripts to meet a particular need.


Code Block
languagepy
titleABB Totalflow Sample Script
# Cirrus Link provides these scripts as examples only, they are not supported or guaranteed to meet any particular functionality. Cirrus Link cannot provide any assistance to modify these scripts to meet a particular need.
#new device connection using default settings
newProps = {}
newProps["BoardType"] = "G4"
newProps["Hostname"] = "10.1.2.3"
newProps["Port"] = 2000
system.device.addDevice(deviceType = "AbbTotalflow",deviceName = "MyABB",deviceProps = newProps)


Anchor
SnapPacDriver
SnapPacDriver
Opto 22 groov EPIC and SNAP PAC

Device PropertyKeyDatatype
AddressAddressString
TCP/IP PortPortInteger
TimeoutTimeoutLong
Data Scan RateDataScanRateLong


Warning
Cirrus Link provides these scripts as examples only, they are not supported or guaranteed to meet any particular functionality. Cirrus Link cannot provide any assistance to modify these scripts to meet a particular need.


Code Block
languagepy
titleOpto22 Sample Script
# Cirrus Link provides these scripts as examples only, they are not supported or guaranteed to meet any particular functionality. Cirrus Link cannot provide any assistance to modify these scripts to meet a particular need.
#new device connection using default settings
newProps = {}
system.device.addDevice(deviceType = "SnapPacDriver",deviceName = "MyOpto22",deviceProps = newProps)

#new device connection
newProps = {}
newProps["Address"] = "156.23.25.42"
newProps["Port"] = 22001
newProps["Timeout"] = 3500
newProps["DataScanRate"] = 1500
system.device.addDevice(deviceType = "SnapPacDriver",deviceName = "MyOpto22",deviceProps = newProps)