Contents
Cirrus Link Resources
Cirrus Link Website
Contact Us (Sales/Support)
Inductive Resources
Ignition User Manual
Knowledge Base Articles
Inductive University
Forum
...
Click here for troubleshooting tips.
The Opto 22 groov EPIC and SNAP PAC Driver module can scan specific tags. This method offers the best performance but requires setup in PAC Control.
To scan all tags, see Opto 22 groov EPIC and SNAP PAC Driver Module Configuration.
...
For help using PAC Control, see the PAC Control User's Guide (available from the Opto 22 website).
Anchor | ||||
---|---|---|---|---|
|
In the Strategy tree window, right-click the String Tables folder, and then click Add. The Add Variable dialog box opens. Complete the fields.
Name: Enter the table name: stPublicListOfStrategyTags. The name is case-sensitive.
Description: Optional.
Type: Leave the default (String Table).
Initialization: Select Persistent
Initial Value: Leave the default (blank).
Table Length: Enter a number equal to or greater than the number of tags to import. For example, to import 10 floats and 6 tableselements of a table, enter a Table Length of 16 or more. (A table variable counts as one tag, despite the number of elements it has. ) Note: Ignition Edge has a limit of 500 tags. Ignition Enterprise does not limit the number of tags you can use
String Width: Enter a value of 100.
...
For each tag to be scanned, create a string element following the OptoScript Syntax and tag naming standard.
IMPORTANT: Index number 0 (zero) must be the last item initialized in the OptoScript block
Code Block | ||
---|---|---|
| ||
/* NOTES: If- theAll tagtags beginsare withreadable. anUse 'the or.rw aattribute /,to thewrite tagto isa ignoredtag. - Important! Initialize the first table element (at Index 0) lastLAST. (becauseThis a blank string in Index 0 tells the driver that the string table has not yet been initialized)indicates to the driver that all elements in stPublicListOfStrategyTags have been initialized. - If the tag begins with a ' or a /, the tag is ignored. */ stPublicListOfStrategyTags[0] = ""; stPublicListOfStrategyTags[1] = "f32.MyFloat.rw"; stPublicListOfStrategyTags[2] = "i32.MyInt32.rw"; stPublicListOfStrategyTags[3] = "i64.MyInt64.rw"; stPublicListOfStrategyTags[34] = "s.MyString.rw"; /* Use "t" for up and down timers. Timers are read-only.*/ stPublicListOfStrategyTags[45] = "t.MyTimer.rwMyUpOrDownTimer"; stPublicListOfStrategyTags[56] = "i32b.MyBoolMyInt32UsedAsBoolean.rw"; /* For tables, enter the element's index or an index range in brackets. For example, "i32t.MyInt32Table[0].rw" or "i32t.MyInt32Table[0-0].rw" */ stPublicListOfStrategyTags[67] = "i32t.MyInt32Table[0-9].rw"; stPublicListOfStrategyTags[78] = "i64t. MyInt64Table [0-20].rw"; stPublicListOfStrategyTags[89] = "f32t.MyFloatTable[10-19].rw"; stPublicListOfStrategyTags[910] = "st. MyStringTable [0-9].rw"; stPublicListOfStrategyTags[1011] = "dio.MyDiscreetPointMyDiscretePoint"; stPublicListOfStrategyTags[1112] = "aio. MyAnalogPoint.rw"; /* Use single-element table tags (i32te, i64te, f32te, stte) only with a single index. For a range, use table element tags (i32t, i64t, f32t, st). */ stPublicListOfStrategyTags[1213] = "i32te.MyInt32TableElement[5].rw"; stPublicListOfStrategyTags[1314] = "i32tebp.MyInt32TableElementBitPick [9].2.rw"; stPublicListOfStrategyTags[1415] = "i64tebp. MyInt64TableElementBitPick [5].8.rw"; stPublicListOfStrategyTags[16] = "i32bp.MyInt32BitPick.1.rw"; // Remember, initialize index 0 last! stPublicListOfStrategyTags[0] = "i32dio.Int32MyDiscretePointWrite.rw"; |
In the OptoScript block, you:
...
Code Block | ||
---|---|---|
| ||
stPublicListOfStrategyTags[3] = "/i32.MyIntVariable.rw"; stPublicListOfStrategyTags[4] = " 's.MyStringVariable"; |
Naming standard: <OptoScript data type code>.<PAC Control tag name>[<index number or range>].<bit location>.< writeable attribute>
...
Data type description | Ignition data type | Data type code | Example tag name for OptoScript block | Example tag name for OptoScript block (writeable tag) | Notes | Ignition will display tag name as: | ||
---|---|---|---|---|---|---|---|---|
32-bit integer | Int4 | i32 | i32.MyIntVariable | i32.MyIntVariable.rw | MyIntVariable__i32 | |||
64-bit integer | Int8 | i64 | i64.MyLongVariable | i64.MyLongVariable.rw | MyLongVariable__i64 | |||
32-bit float | Float4 | f32 | f32.MyFloatVariable | f32.MyFloatVariable.rw |
| MyFloatVariable__f32 | ||
32-bit integer as a SCADA Boolean | Boolean | i32b | i32b.MyIntVariable | i32b.MyIntVariable.rw |
| MyIntVariable__i32b | ||
String | String | s | s.MyStringVariable | s.MyStringVariable.rw | PAC Controllers support only 7-bit ASCIIMyStringVariable__s | |||
Up or Down timer | Float4 | t | t.MyUpTimer | t.MyUpTimer | MyUpOrDownTimer | Not applicable | Timers are only Only read-only | MyUpTimer__t |
32-bit integer table element as a SCADA int4 | Int4 | i32te | i32te.My32BitIntegerTable[3] | i32te.My32BitIntegerTable[3].rw |
| My32BitIntegerTable__3_i32te | Used only with a single index. Synonymous with i32t. | |
32-bit integer table | See i32te. | i32t | i32t.My32BitIntegerTable[0-9] | i32t.My32BitIntegerTable[0-9].rw | Module will provide To get individual elements. i32tMyInteger[11-9] (backward index range) | My32BitIntegerTable__0_9_i32t | ||
64-bit integer table element as a SCADA int8 | Int8 | i64te | i64te.My64BitIntegerTable[302] | i64te.My64BitIntegerTable[302].rw |
| My64BitIntegerTable__302_i64te | Used only with a single index. Synonymous with i64t. | |
64-bit integer table | See i64te. | i64t | i64t.My64BitIntegerTable[0-35] | i64t.My64BitIntegerTable[0-35].rw | Module will provide To get individual elements. "_auto" will be appended to the tag’s item ID. | My64BitIntegerTable__0_35_i64t | table elements, use the stPublicListOfStrategyTags table to scan for specific tags. | |
32-bit float table element as a SCADA float4 | Float4 | f32te | f32te.My32BitFloatTable[11] | f32te.My32BitFloatTable[11].rw |
| My32BitFloatTable__11_f32te | Used only with a single index. Synonymous with f32t. | |
32-bit float table | See f32te. | f32t | f32.MyFloatTable[0-20] | f32.MyFloatTable[0-20].rw | Module will provide To get individual elements. "_auto" will be appended to the tag’s item ID. | MyFloatTable__0_20_f32 | table elements, use the stPublicListOfStrategyTags table to scan for specific tags. | |
String table | See stte. | st | st.MyStringTable[0-32] | st.MyStringTable[0-32].rw | PAC Controllers support only 7-bit ASCII Module will provide To get individual elements. | |||
String table element as a SCADA string | String | stte | stte.MyStringTable[6] | stte.MyStringTable[6].rw | PAC Controllers support only 7-bit ASCIIMyStringTable__6_stte. Used only with a single index. Synonymous with st. | |||
Analog input or output state | Float4 | aio | aio.MyAnalogPoint | aio.MyAnalogPoint.rw |
| MyAnalogPoint__aio | ||
Discrete input or output state | Boolean | dio | dio.MyDiscretePoint | dio.MyDiscretePoint.rw | MyDiscretePoint__dio | |||
Bit-pick of a 32-bit integer variable | Boolean | i32bp | i32bp.My32BitIntegerVariable.31 | i32bp.My32BitIntegerVariable.31.rw | My32BitIntegerVariable__31_i32bp | |||
Bit-pick of a 64-bit integer variable | Boolean | i64bp | i64bp.MyLongVariable.0 | i64bp.MyLongVariable.0.rw |
| MyLongVariable__0_i64bp | ||
Bit-pick of a 32-bit integer table element | Boolean | i32tebp | i32tebp.My32BitIntegerTable[3].2 | i32tebp.My32BitIntegerTable[3].2.rw | My32BitIntegerTable__3_2_i32tebp | |||
Bit-pick of a 64-bit integer table element | Boolean | i64tebp | i64tebp.My64BitIntegerTable[302].6 | i64tebp.My64BitIntegerTable[302].6.rw |
| My64BitIntegerTable__302_6_i64tebp |
3. Click Save to close the OptoScript block and save the changes.
...
To stop scanning for specific tags and start scanning all tags, you must clear the controller's RAMand restart the Driver module. (Otherwise, the stPublicListOfStrategyTags table will remain in the controller's memory, even if you delete it from the strategy.
...
)
For details, see OSP: Configuration.
Anchor | ||||
---|---|---|---|---|
|
TIP: If you can't find a tag, check the following:*
...
...
For more information, see the Ignition Gateway’s Logs (Status tab > Diagnostics > Logs).
If your device's status doesn't change to "Connected" after you've restarted it in Ignition Gateway (Configure tab > System > Modules), make sure: