Controllogix Ethernet
Controllogix Ethernet
Controllogix Ethernet
Table of Contents
Table of Contents
Allen-Bradley ControlLogix Ethernet Driver Help Overview
2 7 7 9 10 11 11 12 15 15 16 17 19 20 21 21 22 23 24 24 25 25 27 28 30 30 32 33 34 45 46 46 47 49 49 50 51 52 53
Device Setup
Cable Diagrams Communications Routing
Connection Path Specification Routing Examples Logix Device IDs CompactLogix 5300 Ethernet Device ID Logix Communications Parameters Logix Options Logix Database Settings Logix Database Options Logix Database Filtering
1761-NET-ENI Setup DataHighwayPlus (TM) Gateway Setup ControlNet (TM) Gateway Setup EtherNet/IP Gateway Setup Serial Gateway Setup MicroLogix 1100 Setup
ENI DF1/DH+/ControlNet Gateway Communications Parameters
Performance Optimizations
Optimizing Your Communications Optimizing Your Application Performance Statistics and Tuning Performance Tuning Example
www. kepware.com
Predefined Term Tags Addressing Atomic Data Types Addressing Structure Data Types Addressing STRING Data Type Ordering of Logix Array Data Logix Advanced Addressing Advanced Addressing: BOOL Advanced Addressing: SINT Advanced Addressing: INT Advanced Addressing: DINT Advanced Addressing: LINT Advanced Addressing: REAL
54 54 55 55 56 57 57 58 60 62 64 65 67 67 70 73 73 74 74 75 76 76 77 77 78 78 79 79 81 81 82 83 83 84 85 85 85 87 87
File Listing
Output Files Input Files Status Files Binary Files Timer Files Counter Files Control Files Integer Files Float Files ASCII Files String Files BCD Files Long Files MicroLogix PID Files PID Files MicroLogix Message Files Message Files Block Transfer Files Function File Listing High Speed Counter File (HSC) Real-Time Clock File (RTC) Channel 0 Communication Status File (CS0) Channel 1 Communication Status File (CS1) I/O Module Status File (IOS)
www. kepware.com
Error Codes
Encapsulation Error Codes CIP Error Codes
0x0001 Extended Error Codes 0x001F Extended Error Codes 0x00FF Extended Error Codes
Error Descriptions
Address Validation Errors
Address '<address>' is out of range for the specified device or register Array size is out of range for address '<address>' Array support is not available for the specified address: '<address>' Data Type '<type>' is not valid for device address '<address>' Device address '<address>' contains a syntax error Device address '<address>' is not supported by model '<model name>' Device address '<address>' is Read Only Memory could not be allocated for tag with address '<address>' on device '<device name>' Missing address
Communication Errors
Unable to bind to adapter: '<adapter>'. Connect failed Winsock initialization failed (OS Error = n) Winsock V1.1 or higher must be installed to use the Allen-Bradley ControlLogix Ethernet device driver
www. kepware.com
deactivated Unable to read tag '<tag address>' on device '<device name>'. Data type '<type>' not supported. Tag deactivated Unable to read tag '<tag address>' on device '<device name>'. Tag does not support multi-element arrays. Tag deactivated Read Errors (Blocking) Read request for '<count>' element(s) starting at '<tag address>' on device '<device name>' failed due to a framing error. Block Deactivated Unable to read '<count>' element(s) starting at '<tag address>' on device '<device name>'. Block Deactivated
Unable to read '<count>' element(s) starting at '<tag address>' on device '<device name>'. [CIP Error=<code>, Ext. 102 Error=<code>] Unable to read '<count>' element(s) starting at '<address>' on device '<device>'. Controller Tag data type '<type>' unknown. Block deactivated Unable to read '<count>' element(s) starting at '<address>' on device '<device>'. Data type '<type>' is illegal for this block Unable to read '<count>' element(s) starting at '<address>' on device '<device>'. Data type '<type>' not supported Unable to read '<count>' element(s) starting at '<tag address>' on device '<device name>'. Block does not support multi-element arrays. Block Deactivated Write Errors Unable to write to '<tag address>' on device '<device name>' Unable to write to tag '<tag address>' on device '<device name>'. [CIP Error=<code>, Ext. Status=<code>] Unable to write to tag '<tag address>' on device '<device name>'. Controller Tag data type '<type>' unknown Unable to write to tag '<tag address>' on device '<device name>'. Data type '<type>' is illegal for this tag Unable to write to tag '<tag address>' on device '<device name>'. Data type '<type>' not supported Unable to write to tag '<tag address>' on device '<device name>'. Tag does not support multi-element arrays Write request for tag '<tag address>' on device '<device name>' failed due to a framing error Project Synchronization Errors Encapsulation error occurred while uploading project information. [Encap. Error=<code>] Error occurred while uploading project information. [CIP Error=<code>, Ext. Error=<code>] Framing error occurred while uploading project information Invalid or corrupt controller project detected while synchronizing. Synchronization will be retried shortly Low memory resources Project download detected while synchronizing. Synchronization will be retried shortly
102 103 103 103 103 104 104 104 104 105 105 105 105 106 106 106 107 107 107 108 108 108 108 108 109 109 110 110
Unable to read '<element>' element(s) starting at '<address>' on device '<device name>'. Native Tag size mismatch 107 Unable to read tag '<tag name>' on device '<device name>'. Native Tag size mismatch Unable to write to tag '<tag name>' on device '<device name>'. Native Tag size mismatch
www. kepware.com
[DF1 STS=<value>]' Unable to write to function file <address> on device '<device name>'. Local node responded with error 110 '[DF1 STS=<value>]'
110 111 111 111 112 112 112 112 113 113 113 113 113 114 115 116 117 118 119 121
Glossary Index
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver Help Allen-Bradley ControlLogix Ethernet Driver Help
Help version 1.095
CONTENTS
Overview What is the Allen-Bradley ControlLogix Ethernet Driver? Device Setup How do I configure a device for use with this driver? Communications Routing How do I communicate with a remote ControlLogix 5000 processor or 1756-DHRIO/1756-CNB Interface Module? Performance Optimizations How do I get the best performance from the Allen-Bradley ControlLogix Ethernet Driver? Data Types Description What data types does this driver support? Address Descriptions How do I address a tag on a Allen-Bradley ControlLogix Ethernet device? Automatic Tag Database Generation How can I easily configure tags for the Allen-Bradley ControlLogix Ethernet Driver? Error Descriptions What error messages does the Allen-Bradley ControlLogix Ethernet Driver produce? Error Codes What are the Allen-Bradley ControlLogix Ethernet error codes? Reference Material Where can I find additional information relating to the Allen-Bradley ControlLogix Ethernet Driver?
Overview
The Allen-Bradley ControlLogix Ethernet Driver provides an easy and reliable way to connect Allen-Bradley ControlLogix Ethernet controllers to OPC client applications, including HMI, SCADA, Historian, MES, ERP, and countless custom applications.
SoftLogix5800
The driver supports the Allen-Bradley SoftLogix5800 Series Controller up to firmware version 12 and requires an Ethernet card in the SoftLogix PC.
DataHighwayPlus Gateway
The driver supports the PLC-5 Series and SLC 500 Series with a Data Highway Plus interface. This is accomplished through a DH+ gateway and requires one of the aforementioned PLCs, an EtherNet/IP communication module, and a 1756-DHRIO-interface module (both residing in the ControlLogix rack).
www. kepware.com
1761-NET-ENI
The driver supports communications with the 1761-NET-ENI device. The ENI device adds extra flexibility in device networking and communications by providing an Ethernet-to-serial interface for both Full Duplex DF1 controllers and Logix controllers. In conjunction with the ENI device, this driver supports the following:
l l l l l l l
ControlLogix 5500 Series* CompactLogix 5300 Series* FlexLogix 5400 Series* Micrologix Series SLC 500 Fixed I/O Processor SLC 500 Modular I/O Series PLC-5 Series
MicroLogix 1100
The driver supports communications with the MicroLogix 1100 (CH1 Ethernet) using EtherNet/IP.
www. kepware.com
9 Device Setup
Supported Devices
Device ControlLogix 5550 / 5553 / 5555 / 5561 / 5562 / 5563 / 5564 / 5565 / 5571 / 5572 / 5573 / 5574 / 5575 processors
Communications Via 1756-ENBT / ENET / EN2F / EN2T / EN2TR / EN3TR / EWEB / EN2TXT Ethernet module. Via Serial Gateway. Via 1761-NET-ENI Series B or higher using Channel 0 (Serial).
CompactLogix 5320 / 5323 / 5330 / 5331 / 5332 / 5335 / 5343 / 5345 / 5370
Built-in EtherNet/IP port on processors with E suffix.* Via Serial Gateway. Via 1761-NET-ENI Series B or higher using Channel 0 (Serial).
Via 1788-ENBT Ethernet Daughtercard. Via Serial Gateway. Via 1761-NET-ENI Series B or higher using Channel 0 (Serial).
Via MicroLogix 1100 / 1400 Channel 1 (Ethernet). Via 1761-NET-ENI. Via EtherNet/IP Gateway.
SLC 500 Modular I/O Processors (SLC 5/01, SLC 5/02, SLC 5/03, SLC 5/04, SLC 5/05)
*For example, 1769-L35E. **This driver supports any SLC 500 series PLC that supports DH+ or that can be interfaced to a DH+ network (such as the KF2 interface module).
Firmware Versions
Device ControlLogix 5550 (1756-L1) ControlLogix 5553 (1756-L53) Version 11.35 - 13.34 11.28
www. kepware.com
10
Communication Protocol
The Communications Protocol is EtherNet/IP (CIP over Ethernet) using TCP/IP. Logix and Gateway Models Logix and Gateway models support the following:
l l l l l l
Connected Messaging Symbolic Reads Symbolic Writes Symbol Instance Reads (V21 or higher) Physical (DMA) Reads (V20 or lower) Symbol Instance Writes
Cable Diagrams
www. kepware.com
11
Communications Routing
Routing provides a way to communicate with a remote device over various networks. It can be thought of as a bridge between the local device and a remote device even if they are on two different field bus networks. Access to a remote (destination) back plane allows for direct communication with the supported modules located on this back plane. Supported modules include the following:
l l l l
ControlLogix 5500 processor for ControlLogix applications. SoftLogix 5800 processor for SoftLogix applications. 1756-DHRIO interface module for DH+ Gateway applications. 1756-CNB or 1756-CNBR interface module for ControlNet Gateway applications.
A routing path is a series of back plane hops, whose last hop points to the destination back plane. Each hop requires a Logix back plane (not a Logix processor). An individual hop can utilize one of the following networks as its medium:
l l l
Important: Routing is not supported for ENI and MicroLogix 1100 models.
www. kepware.com
12
The routing path specification begins and ends with the left and right bracket respectively ([]). The path itself is a series of port/link address pairs, identical to the Communication Path syntax in RSLogix 5000 Message Configuration dialog. Designator Type Port ID Link Address Description Specifies a way out of the interface module in question.* If the corresponding port is the backplane, then the link address is the slot number of the interface module that will go out. If the corresponding port is an interface module port, then the link address specifies a destination node as follows. - DH+/ControlNet: Node ID - EtherNet/IP communication module: IP address - SoftLogix EtherNet/IP module: IP address * For more information, refer to "Port Reference" below. Single Hop IP Address, Port ID0, [Link Address0, Port ID1, Link Address1, Port ID2], Link Address2. Multi-Hop (N Hops) IP Address, Port ID0, [Link Address0, Port ID1, Link Address1, Port ID2, Link Address2, ... Port ID(N+1), Link Address(N+1), Port ID(N+2)], Link Address(N+2). Note 1: The last Port ID in the path (Port ID2 and Port ID(N+2) for single hop and multi-hop respectively) must be 1 (port for back plane). Note 2: Port ID0 must be 1 (port for back plane). Link Address2 and Link Address (N+2) are the slot numbers of the remote Logix processor/1756-DHRIO module/1756-CNB module. Formats Decimal Decimal Range 0-65535 0-255
Port Reference
Interface Module Ethernet/IP Communication Module SoftLogix EtherNet/IP Messaging Module 1756-DHRIO 1756-CNB Port 1 Backplane Backplane Backplane Port 2 Ethernet Network DH+ Network on Ch. A ControlNet Network Port 3 N/A N/A DH+ Network on Ch. B N/A
Application Notes
1. Messages cannot be routed in or out of the same interface module channel more than once within the path. Doing so will result in CIP Error 0x01 Ext. Error 0x100B. 2. For multiple channel interface modules, messages cannot be routed into and then immediately out of that same module (using different channels), regardless of whether the message is directed to the back plane first or avoids the back plane all together. As previously mentioned, the latter is not supported since each hop requires a ControlLogix back plane. An example would be to route a DH+ message from one DH+ link (such as Channel A of 1756-DHRIO) to another DH+ link (such as Channel B of same 1756-DHRIO) through one 1756-DHRIO-interface module. This is commonly referred to as Remote DH+ messaging and is not supported.
Routing Examples
The routing examples below include the entire Device ID minus the IP of the local 1756-ENBT. The perspective of the Device ID/Routing Path is from the local 1756-ENBT Module. Hop descriptions are in the following form: Link Address (N), Port ID(N+1), Link Address(N+1), Port ID(N+2) Note: For more information, refer to Connection Path Specification . For further details on building a connection/routing path, refer to Allen-Bradley Publication 1756-6.5.14, pp. 4-5 through 4-8. In the illustration below, all DH+/ControlNet Node IDs are specified in Decimal format. The Node ID specified in the PLC and displayed in RSWho is in Octal format. Descriptions of the colors are as follows:
www. kepware.com
13
l l l
Note:For more information, refer to DataHighwayPlus (TM)Gateway Setup and ControlNet Gateway Setup.
Example 1
Logix5550 to PLC-5 via DH+ Gateway.
www. kepware.com
14
Example 2
Logix5550 to PLC-5C via CN Gateway. Destination Node PLC-5/40C (B) Model CN Gateway Routing No Device ID less IP 1,2.A.1
Example 3
Logix5550 to Logix5550 via Routing over DH+. Destination Node Logix5550 (C) Model ControlLogix 5550 Routing Yes Device ID less IP 1,[1,2,8,1],0
Routing Path Breakdown for Example 3. Hop 1 Segment 1,2,8,1 Description Slot 1 (DHRIO) -> Port 2 (DH+ Ch A) -> DH+ Node 8 -> Logix C Back plane
Example 4
Logix5550 to PLC-5C via CN Gateway, Routing over DH+. Destination Node PLC-5/80C (E) Model CN Gateway Routing Yes Device ID less IP 1,[1,2,8,1],2.A.3
Routing Path Breakdown for Example 4. Hop 1 Segment 1,2,8,1 Description Slot 1 (DHRIO) -> Port 2 (DH+ Ch A) -> DH+ Node 8 -> Logix C Back plane
Example 5
Logix5550 to Logix5550 via Routing over DH+, ControlNet Destination Node Logix5550 (F) Model ControlLogix 5550 Routing Yes Device ID less IP 1,[1,2,8,1,2,2,15,1],0
Routing Path Breakdown for Example 5. Hop 1 2 Segment 1,2,8,1 2,2,15,1 Description Slot 1 (DHRIO) -> Port 2 (DH+ Ch A) -> DH+ Node 8 -> Logix C Back plane Slot 2 (CNB) -> Port 2 (CN Ch A) -> CN Node 15 -> Logix F Back plane
Example 6
Logix5550 to SLC 5/04 via Routing over DH+, ControlNet. Destination Node SLC 5/04 (G) Model DH+ Gateway Routing Yes Device ID less IP 1,[1,2,8,1,2,2,15,1],1.A.2
Routing Path Breakdown for Example 6. Hop 1 2 Segment 1,2,8,1 2,2,15,1 Description Slot 1 (DHRIO) -> Port 2 (DH+ Ch A) -> DH+ Node 8 -> Logix C Back plane Slot 2 (CNB) -> Port 2 (CN Ch A) -> CN Node 15 -> Logix F Back plane
Example 7
Logix5550 to Logix5550 via Routing over DH+, ControlNet, Ethernet.
www. kepware.com
15
Destination Node Model Logix5550 (H) ControlLogix 5550 Routing Yes
Routing Path Breakdown for Example 7. Hop 1 2 3 Segment 1,2,8,1 2,2,15,1 3,2,192.192.180.101,1 Description Slot 1 (DHRIO) -> Port 2 (DH+ Ch A) -> DH+ Node 8 -> Logix C Back plane Slot 2 (CNB) -> Port 2 (CN Ch A) -> CN Node 15 -> Logix F Back plane Slot 3 (ENBT) -> Port 2 -> Remote1756-ENBT IP -> Logix H Back plane
Decimal
0-255
*For more information, refer to Connection Path Specification . Example 123.123.123.123,1,0 This equates to an EtherNet/IP of 123.123.123.123. The Port ID is 1 and the CPU resides in slot 0.
CompactLogix Ethernet IP Address or host Decimal name. Port to backplane. Decimal Specifies a way out of the Ethernet port Decimal and must equal 1 (port to the back plane). Slot Number of the CompactLogix processor. Decimal
*For more information, refer to Connection Path Specification . Example 123.123.123.123,1,0 This equates to CompactLogix IP of 123.123.123.123. The Port ID is 1 and the CPU resides in slot 0.
www. kepware.com
16
Decimal
0-255
*For more information, refer to Connection Path Specification . Example 123.123.123.123,1,0 This equates to 1788-ENBT IP of 123.123.123.123. The Port ID is 1 and the CPU resides in slot 0.
0-255
*For more information, refer to Connection Path Specification . Example 123.123.123.123,1,1 This equates to SoftLogix PC IP Address of 123.123.123.123. The Port ID is 1 and the CPU resides in slot 1. Note: For information on supplementing a Device ID with a routing path to a remote back plane, refer to Communications Routing. See Also: SoftLogix 5800 Connection Notes
www. kepware.com
17
Port Number: This parameter specifies the port number that the device is configured to use. The default setting is 44818. Inactivity Watchdog: This parameter specifies the amount of time a connection can remain idle (without Read/Write transactions) before being closed by the controller. In general, the larger the watchdog value, the more time it will take for connection resources to be released by the controller and vice versa. The default setting is 32 seconds. Note: If the Event Log error "CIP Connection timed-out while uploading project information" occurs frequently, increase the Inactivity Watchdog value. Otherwise, an Inactivity Watchdog value of 32 seconds is preferred.
Array Block Size: This parameter specifies the maximum number of array elements to read in a single transaction. The value is adjustable and ranges from 30 to 3840 elements. The default setting is 120 elements. Note: For Boolean arrays, a single element is considered a 32-element bit array. Thus, setting the block size to 30 elements translates to 960 bit elements, whereas 3840 elements translate to 122880 bit elements.
Logix Options
www. kepware.com
18
Protocol Mode: This parameter specifies how Logix Tag data will be read from the controller. This option should only be changed by advanced users who are looking to increase Client/Server Tag update performance. Options include Symbolic Mode, Logical Non-Blocking Mode and Logical Blocking Mode. The server project is interchangeable between these three modes. The default setting is Logical Non-Blocking Mode. For more information, refer to Choosing a Protocol Mode. Note: Logical Non-Blocking Mode and Logical Blocking Mode are not available to Serial Gateway models.
Online Edits: When enabled, the driver will synchronize its own project image with that of the controller project when an online project edit (or project download from RSLogix/Studio5000) is detected. This option prevents unnecessary errors from occurring during a project change. It is only available when the selected protocol is Logical Mode. The default setting is Yes. Offline Edits: When enabled, the driver will synchronize its own project image with that of the controller project when an offline project edit (or project download from RSLogix/Studio5000) is detected. This option prevents unnecessary errors from occurring during a project change. It is only available when the selected protocol is Logical Mode. The default setting is Yes. Caution: Failure to synchronize with project changes can lead to reading from and writing to the wrong Native Tag address.
Automatically Read String Length: When checked, the driver will automatically read the LEN member of the STRING structure whenever the DATA member is read. The DATA string will be terminated at the first null character encountered, the character whose position equals the value of LEN, or the maximum string length of DATA (whichever occurs first). When unchecked, the driver will bypass the LEN member read and terminate the DATA string at either the first null character encountered or the maximum string length of DATA (whichever occurs first). Therefore, if LEN is reduced by an external source without modification to DATA, the driver will not terminate DATA according to this reduced length. The default setting is Yes. Default Type: This parameter specifies the data type that will be assigned to a Client/Server Tag when the default type is selected during tag addition, modification, or import. The default setting is Float. For more information, refer to Default Data Type Conditions. Note: Since the majority of I/O module tags are not bit-within-Word/DWord tags, it is advised that the Default Type be set to the majority data type as observed in the .ACD project. For example, if 75% of alias I/O module tags are INT tags, set the Default Type to INT.
www. kepware.com
19
Enable Performance Statistics: The Allen-Bradley ControlLogix Ethernet Driver has the ability to gather communication statistics to help determine the driver's performance. When checked, this option will be enabled. The driver will then track the number and types of Client/Server Tag updates. On restart of the server application, the results will be displayed in the server's Event Log. The default setting is No. Note: Once a project configuration is designed for optimal performance, it is recommended that users disable Performance Statistics. Furthermore, since the statistics are outputted to the Event Log on shutdown, the server will need to be re-launched to view the results.
Create Tag Database from Device: This option retrieves tags directly from the controller over the same Ethernet connection that is used for data access. Although it is fast, comprehensive, and imports all
www. kepware.com
20
tags (including I/O tags), this option requires access to the controller and does not import descriptions. Timer/Counter CTL bits are imported. Note 1: Add-On Instruction In/Out parameters are not automatically generated, whether creating the tag database from the controller or from an import file. Note 2: This feature is not available to Serial Gateway models.
l
Create Tag Database from Import File:This option retrieves tags directly from an RSLogix L5K/L5X file. Although access to the controller is not necessary, descriptions are imported, and users have the ability to work offline, this option is slow and does not import I/O tags. Timer/Counter CTL bits are not imported. Note: Add-On Instruction In/Out parameters are not automatically generated, whether creating the tag database from the controller or from an import file.
Tag Import File: This parameter specifies the exact location of the L5K/L5X import file from which tags will be imported. This file will be used when Automatic Tag Database Generation is instructed to create the tag database. All tags, including Global and Program, will be imported and expanded according to their respective data types. Display Descriptions: When checked, this option imports tag descriptions. Descriptions will be imported for non-structure, non-array tags only. If necessary, a description will be given to tags with long names stating the original tag name.
Limit Tag/Group Names to 31 Characters?: When checked, this parameter limits the tag and group names to 31 characters. Before OPC server version 4.70, tag and group name lengths were restricted to 31 characters; however, the current length restriction of 256 characters can fit Logix 40 character Logix Tag names. The default setting is unchecked. Note: If an older OPC server version was used to import tags via L5K/L5X import, inspect the Event Log or scan the server project to see if any tags were cut due to the character limit. If so, it is recommended that this option be enabled in order to preserve the server tag names. OPC client tag references will not be affected. If not chosen, new longer tag names will be created for those that were clipped. OPC clients referencing the clipped tag would have to be changed in order to reference the new tag. If an older OPC server version was used to import tags via L5K/L5X import and no tags were clipped due to the 31 character limit, do not select this option. Similarly, if tags were imported via L5K/L5X with OPC server version 4.70 or above, do not select this option.
www. kepware.com
21
Tag Hierarchy: This parameter specifies the tag hierarchy. Options include Condensed and Expanded. The default setting is Expanded. Descriptions of the options are as follows:
l
Condensed Mode: In this mode, the server tags created by automatic tag generation follow a group/tag hierarchy consistent with the tag's address. Groups are created for every segment preceding the period. Expanded Mode: In this mode, the server tags created by automatic tag generation follow a group/tag hierarchy consistent with the tag hierarchy in RSLogix 5000. This is the default setting. Groups are created for every segment preceding the period as in Condensed mode, but groups are also created to represent logical groupings. Note: For more information on the groups created, refer to Tag Hierarchy.
Note: To enable this functionality, check Allow Automatically Generated Subgroups in Device Properties. See Also: Controller-to-Server Name Conversions
Impose Array Element Count Limit: When checked, an array element count limit will be imposed. Tags in the controller can be declared with very large array dimensions. By default, arrays are completely expanded during the tag generation process, thus becoming time consuming for large arrays. By imposing a limit, only a specified number of elements from each dimension will be generated. Limits only takes effect when the array dimension size is exceeds the limit. The default setting is unchecked. Element Count Limit: This parameter is used to specify the element count limit. The default setting is 2000.
1761-NET-ENI Setup
1761-NET-ENI provides a means of communicating with ControlLogix, CompactLogix, FlexLogix, MicroLogix, SLC 500, and PLC-5 Series PLCs on Ethernet with the Allen-Bradley ControlLogix Ethernet Driver.
Requirements
MicroLogix, SLC 500, or PLC-5 series PLC supporting Full Duplex DF1 utilizing the CH0 RS232 Channel. 1761-NET-ENI Device Series A, B, C, or D. ControlLogix, CompactLogix or FlexLogix PLC utilizing the CH0 RS232 Channel. 1761-NET-ENI Device Series B and newer.
www. kepware.com
22
ENI Device ID
The Device ID specifies the IP address of the 1761-NET-ENI. Device IDs are specified as the following: <IP Address> Designator IP Address Example 123.123.123.123 This equates to an ENI IP of 123.123.123.123. Since the device only supports Full Duplex DF1, a Node ID is not required. Note: For more information on communications parameters, refer to Logix Communications Parameters. Designator Type N/A Description 1761-NET-ENI IP Address Formats Decimal Range 0-255
Requirements
Ethernet/IP Interface module. 1756-DHRIO Interface Module with appropriate channel configured for DH+. SLC500 or PLC-5 series PLC on DH+ Network. Note: DH+ Gateway models do not support automatic tag database generation.
Slot Number of the 1756-DHRIO interface Decimal module. DH+ Channel to use. DH+ Node ID of target PLC in Decimal Format.** Alpha Decimal
*For more information, refer to Connection Path Specification . **For more information, refer to "Node ID Octal Addressing" below. Example 123.123.123.123,1,2.A.3 This equates to an EtherNet/IP of 123.123.123.123. The DH+ card resides in slot 2: use DH+ Channel A and addressing target DH+ Node ID 3 (dec).
www. kepware.com
23
Requirements
Ethernet/IP Interface Module. 1756-CNB or 1756-CNBR Interface Module. PLC-5C series PLC on ControlNet Network. Note: ControlNet Gateway models do not support automatic tag database generation.
*For more information, refer to Connection Path Specification . **For more information, refer to "Node ID Octal Addressing" below. Example 123.123.123.123,1,2.A.3 This equates to an EtherNet/IP of 123.123.123.123. The ControlNet card resides in slot 2: use ControlNet Channel A and addressing target ControlNet Node ID 3.
www. kepware.com
24
It is important to verify communications with the proper controller. In the example above, if 10 was entered as the ControlNet Node ID in the ControlNet Gateway Device ID, communications will take place with Node 12 (octal equivalent of 10 decimal), not Node 10 (octal). If Node 12 (octal) does not exist, then the CNB module will return DF1 STS 0x02. This means that the link layer could not guarantee delivery of the packet. In short, the ControlNet Node could not be located on the ControlNet network. Note 1: For more information on supplementing a Device ID with a routing path to remote ControlNet node, refer to Communications Routing. Note 2: For more information on communications parameters, refer to ENI DF1/DH+/ControlNet Gateway Communications Parameters.
Requirements
2 or more Ethernet/IP Interface modules (such as 1756-ENBT). MicroLogix, SLC500, or PLC-5 series PLC with EtherNet/IPconnectivity. Note: EtherNetIP Gateway models do not support automatic tag database generation.
*For more information, refer to Connection Path Specification . Example 123.123.123.123,1,2.A.192.168.1.10 This equates to a local IP of 123.123.123.123. The second EtherNet/IP card resides in slot 2: use port A and addressing target device with IP 192.168.1.10. Note 1: For information on supplementing a Device ID with a routing path to a remote EtherNet/IP device, refer to Communications Routing. Note 2: For more information on communications parameters, refer to ENI DF1/DH+/ControlNet Gateway Communications Parameters. Note 3: When configuring the Device ID, users should verify that the device can be detected using the same route through RSLinx.
Requirements
Ethernet/IP Interface module.
www. kepware.com
25
Decimal
0-255
Alpha Decimal
A and B 0-255
*For more information, refer to Connection Path Specification . Example 123.123.123.123,1,0.A.3 This equates to an EtherNet/IP of 123.123.123.123. The CPU card resides in slot 0: use Channel A (Serial Port) and addressing target Station ID 3 (dec). Note 1: For information on supplementing a Device ID with a routing path to a remote serial node, refer to Communications Routing. Note 2: For more information on communications parameters, refer to Logix Communications Parameters. Note 3: When configuring the Device ID, users should verify that the device can be detected using the same route through RSLinx.
www. kepware.com
26
CLENET Port Number: This parameter specifies the port number that the remote device is configured to use (such as 1756-ENBT). The default setting is 44818. Request Size: This parameter specifies the number of bytes that may be requested from a device at one time. To refine the performance of this driver, configure the request size to one of the following settings: 32, 64, 128, or 232. The default setting is 232 bytes. Perform Block Writes for Function Files Supporting Block Writes: Function files are structurebased files (much like PD and MG data files) and are unique to the MicroLogix 1100, 1200 and 1500. Supported function files include the following: High Speed Counter (HSC), Real-Time Clock (RTC), Channel 0 Communication Status File (CS0), Channel 1 Communication Status File (CS1), and I/O Module Status File (IOS). For more information, refer to "Block Writes" below. For applicable function files, data can be written to the device in a single operation. By default, when data is written to a function file sub element (field within the function file structure), a write operation occurs immediately for that tag. For such files as the RTC file, whose sub elements include hour (HR), minute (MIN) and second (SEC), individual writes are not always acceptable. With such sub elements relying solely on time, values must be written in one operation to avoid time elapsing between sub elements writes. For this reason, there is the option to "block write" these sub elements. The default setting is unchecked.
Block Writes
Block writing involves writing to the device the values of every Read/Write sub element in the function file in a single write operation. It is not necessary to write to every sub element before performing a block write. Sub elements that are not affected (written to) will have their current value written back to them. For example, if the current (last read) date and time is 1/1/2001, 12:00.00, DOW = 3 and the hour is changed to 1 o'clock, then the values written to the device would be 1/1/2001, 1:00.00, DOW = 3. For more information, refer to the instructions below. 1. To start, locate the Function File Options tab in Device Properties. Then, select the Perform Block Writes for Function Files Supporting Block Writes checkbox to notify the driver to utilize block writes on function files that support block writes. Note: Changes will take effect upon clicking OK or Apply.
www. kepware.com
27
2. Next, write the desired value to the sub element tag in question. The sub element tag will immediately take on the value written to it. Note: After a sub element is written to at least once in block write mode, the tag's value will not originate from the controller, but instead from the driver's write cache. After the block write is done, all sub element tag values will originate from the controller. 3. Once the entire desired sub elements are written to, perform the block write that will send these values to the controller. To instantiate a block write, reference tag address RTC:<element>._SET . Setting this tag's value to 'true' will cause a block write to occur based on the current (last read) sub elements and the sub elements affected (written to). Immediately after setting the tag to 'true', it will be automatically reset to "false." This is the default state and performs no action.
Add:When clicked, this button will add the selected module to the selected slot. Note: Before adding a module, users must know the number of input and output words in each slot. This
www. kepware.com
28
is necessary for the driver to correctly address the I/O. In order to address the I/O in a particular slot, all slots up to and including that slot must be configured with I/O. For example, if a user is only interested in the I/O in slot 3, the I/O for slots 1 and 2 must be configured.
l
Remove: When clicked, this button will remove the selected model from the selected slot.
www. kepware.com
29
1746-NT4 4 Ch Thermocouple Input Module 1746-NR4 4 Ch Rtd/Resistance Input Module 1746-HSCE High Speed Counter/Encoder 1746-HS Single Axis Motion Controller 1746-OG16 16 Output [TLL] (SINK) 5 VDC 1746-BAS Basic Module 500 5/01 Configuration 1746-BAS Basic Module 5/02 Configuration 1747-DCM Direct Communication Module (1/4 Rack) 1747-DCM Direct Communication Module (1/2 Rack) 1747-DCM Direct Communication Module (3/4Rack) 1747-DCM Direct Communication Module (Full Rack) 1747-SN Remote I/O Scanner 1747-DSN Distributed I/O Scanner 7 Blocks 1747-DSN Distributed I/O Scanner 30 Blocks 1747-KE Interface Module, Series A 1747-KE Interface Module, Series B 1746-NI8 8 Ch Analog Input, Class 1 1746-NI8 8 Ch Analog Input, Class 3 1746-IC16 16 Input (Sink) 48 VDC 1746-IH16 16 Input [Trans] (Sink) 125 VDC 1746-OAP12 12 Output [Triac] 120/240 VDC 1746-OB6EI 6 Output [Trans] (Source) 24 VDC 1746-OB16E 16 Output [Trans] (Source) Protected 1746-OB32E 32 Output [Trans] (Source) 10/50 VDC 1746-OBP8 8 Output [Trans 2 amp] (Source) 24 VDC 1746-IO12DC 6 Input 12 VDC, 6 Output [Rly 1746-INI4I Analog 4 Ch. Isol. Current Input 1746-INI4VI Analog 4 Ch. Isol. Volt./Current Input 1746-INT4 4 Ch. Isolated Thermocouple Input 1746-NT8 Analog 8 Ch Thermocouple Input 1746-HSRV Motion Control Module 1746-HSTP1 Stepper Controller Module 1747-MNET MNET Network Comm Module 1747-QS Synchronized Axes Module 1747-QV Open Loop Velocity Control 1747-RCIF Robot Control Interface Module 1747-SCNR ControlNet SLC Scanner 1747-SDN DeviceNet Scanner Module 1394-SJT GMC Turbo System 1203-SM1 SCANport Comm Module - Basic 1203-SM1 SCANport Comm Module - Enhanced AMCI-1561 AMCI Series 1561 Resolver Module
www. kepware.com
30
For more information on optimization at the communication and application levels, select a link from the list below. Optimizing Your Communications Optimizing Your Application Performance Statistics and Tuning Performance Tuning Example
Protocol Mode
The Protocol Mode determines how Logix Tag data will be accessed from the controller. There are three types of protocol modes: Symbolic, Logical Non-Blocking and Logical Blocking. Descriptions are as follows:
l
Symbolic Mode: Each Client/Server Tag address is represented in the packet by its ASCII character name. Logical Non-Blocking Mode: Each Client/Server Tag is represented by its logical memory address in the PLC. Logical Blocking Mode: The Logix Tag is accessed as a single chunk of data. Each Client/Server Tag (such as MYTIMER.ACC) has a corresponding Logix Tag (MYTIMER). Many Client/Server Tags can belong to the same Logix Tag, as in the case of structures. On every read cycle, the Logix Tag is read, its block is updated in the driver cache and all Client/Server Tags are updated from this cache.
Logical Non-Blocking Mode is generally recommended because it is the most efficient mode for gathering and processing Logix Tag data. Symbolic Mode is recommended for backward compatibility, whereas Logical NonBlocking Mode is recommended for projects containing a small number of references to UDT and/or predefined structure Logix Tags. Although Logical Blocking Mode can be efficient, it can also hurt performance if used incorrectly. For more information on each mode's benefits and detriments, refer to Choosing a Protocol Mode.
www. kepware.com
31
Multi-Request Packets
The Allen-Bradley ControlLogix Ethernet Driver has been designed to optimize reads and writes. For non-array, non-string tags (which only request one element), requests are blocked into a single transaction. This provides drastic improvement in performance over single tag transactions. The only limitation is the number of data bytes that can fit in a single transaction. Important: In Symbolic Mode, each tag's ASCII string value is inserted into the request packet until no more tag requests fit. For optimum performance, users should keep the tag names' size to a minimum. The smaller the tag name, the more tags that will fit in a single transaction, and the fewer transactions needed to process all tags.
www. kepware.com
32
If the Allen-Bradley ControlLogix Ethernet Driver could only define one single channel, then the example shown above would be the only option available; however, the Allen-Bradley ControlLogix Ethernet Driver can define up to 256 channels. Using multiple channels distributes the data collection workload by simultaneously issuing multiple requests to the network. An example of how the same application may appear when configured using multiple channels to improve performance is shown below.
www. kepware.com
33
Device: These statistics provide the data access performance on a particular device. Channel: These statistics provide the average data access performance for all the devices under a given channel with Performance Statistics enabled. Driver: These statistics provide the average data access performance for all devices using the AllenBradley ControlLogix Ethernet Driver with Performance Statistics enabled.
Locating Statistics
Server statistics are outputted to the server's Event Log upon shutdown. To view the results, shut down the server and then restart it.
www. kepware.com
34
3. Server Tags referencing a Structure Logix Tag composed of one-third or more of the Structure Tag should be assigned to Logical Blocking devices. 4. If Symbolic Mode is used, Logix names should be kept to a minimum length. 5. Logix Arrays should be used as often as possible. 6. Only the necessary amount of System Overhead Time Slice for Ladder Logic/FBD should allocated in order to leave the rest for driver communications. 7. For projects that read a large number of string tags in Logical Mode, uncheck the "Automatically Read String Length" option located in the Logix Options tab of Device Properties. For information on increasing driver statistic results, refer to the instructions below. For more information, refer to Optimizing Your Application . 1. Devices should be spread across channels. More than one device should not be put on a channel unless necessary. 2. Load should be spread evenly across devices. A single device should not be overloaded unless necessary. 3. The same Logix Tag should not be referenced across different devices. Note: Although these general rules can help optimize performance, it ultimately depends on the application. The scan rate can obscure results: if tag requests are light, Read and Write transactions can complete before the next request comes in. In this case, Logical Blocking and Logical Non-Blocking will have the same Performance Statistics results. If tag requests are high (many tags or high scan rates), transaction completion time may take longer. This is when the strengths and weaknesses of Logical Blocking and Logical Non-Blocking become apparent. Performance Statistics can help tune the application for maximum performance. For an example, refer to Performance Tuning Example.
www. kepware.com
35
2. After performing Automatic Tag Database Generation from this controller, the server will produce the following project.
3. In order to illustrate the benefits of tag division, this example will not reference all tags. More than onethird of the ProcessPID tags, less than one-third of the FlowRates tags, and all other tags will be referenced. As such, the new tag count is 105.
4. Next, prepare the client for the test. To do so, launch the Quick Client from the server application by clicking on the icon as shown below.
www. kepware.com
36
5. Once the project is loaded, remove all groups except those containing tags of interest. Statistics and System tags, for example, are not needed. Note: For small projects, set the Group Update Rate to 0-10 ms. For large projects, set the rate to 1050 ms. 6. Next, click Tools | Test Mode. 7. Then, select Test 8. Activate items on start. Deactivate items on stop and then set a test interval. Note: Since this project is fairly small, the interval has been set to 2 minutes. For larger projects, the interval should be increased in order to get a more accurate reading. 8. Next, click to select Enable.
9. Return to Tools | Test Mode and then disable test mode. All tags should be deactivated. 10. Disconnect the Quick Client so that time trials can begin. 11. Shutdown the server. 12. Next, launch the server and set the Protocol Mode to Logical Blocking. This is the default setting.
www. kepware.com
37
14. Connect to the server using the Quick Client. Then, click Tools | Test Mode. Enable test mode. Note: Data reading will begin. When the test interval expires, all tags will be deactivated and the driver will cease all statistics gathering. The results can then be viewed. 15. Disconnect the Quick Client from the server and then shutdown the server. 16. Next, re-launch the server and search its Event Log for statistics. The image below displays the first trial utilizing Logical Blocking for the device.
Note: The image below displays the first trial utilizing Logical Blocking for the channel and driver.
www. kepware.com
38
Note: This is the control set for comparisons. 17. In the server, set the Protocol Mode to Logical Non-Blocking. 18. Connect to the server using Quick Client. Then, click Tools | Test Mode and enable test mode. Note: Data reading will begin. When the test interval expires, all tags will be deactivated and the driver will cease all statistics gathering. The results can then be viewed. 19. Disconnect the Quick Client from the server and then shutdown the server. 20. Next, re-launch the server and then search its Event Log for statistics. The image below displays the second trial utilizing Logical Non-Blocking for the device.
Note: The image below displays the second trial utilizing Logical Non-Blocking for the channel and driver.
www. kepware.com
39
21. From the server, set the Protocol Mode to Symbolic in order to see how the performance fared prior to Allen-Bradley ControlLogix Ethernet Driver version 4.6.0.xx. 22. Connect to the server using the Quick Client. Then, click Tools | Test Mode and enable test mode. Note: Data reading will begin. When the test interval expires, all tags will be deactivated and the driver will cease all statistics gathering. The results can then be viewed. 23. Disconnect the Quick Client from the server and then shutdown the server. 24. Next, re-launch the server and search its Event Log for statistics. The image below displays the third trial utilizing Symbolic for the device.
The image below displays the third trial utilizing Symbolic for the channel and driver.
www. kepware.com
40
Note: It appears that Logical Blocking is most optimal for the given application.
1. Repeat Steps 4 through 15. In Step 11, make sure that Device 1 is Logical Blocking and Device 2 is Logical Non-Blocking. 2. Launch the server and search the server Event Log for statistics. The image below displays the fourth trial utilizing tag division for the device.
www. kepware.com
41
Note:The image below displays the fourth trial utilizing tag division for the channel and driver.
Note: The individual device statistics do not look impressive because the two devices are running on separate statistic counters. The key to this test is that the channel and driver statistics are better (6126) than using one channel/one device with either Logical Blocking (5972) or Logical Non-Blocking (3705).
Optimize Application
The application can be optimized by moving Device 1 to one channel and Device 2 to another.
www. kepware.com
42
Logical Blocking (Channel1.Device 1 ProcessPID OverflowCounter Logical Non-Blocking (Channel2.Device 2) FlowRate ValveOpen InProcess Tank Volume
1. Repeat Steps 4 through 15. In Step 11, make sure Channel1.Device 1 is Logical Blocking and Channel2.Device 2 is Logical Non-Blocking. 2. Launch the server and search the server Event Log for statistics. The image below displays the fifth trial utilizing Logix Tag coupled with multiple channels for Channel 1.Device1.
Note: The image below displays the fourth trial utilizing Logix Tag for Channel2.Device2.
www. kepware.com
43
Note: The image below displays the fourth trial utilizing tag division for the driver.
Results
Server Project Layout Single Channel Single Device with Logical Blocking Single Channel Single Device with Logical NonBlocking Single Channel Single Device with Symbolic Single Channel Multiple Devices with Tag Division Multiple Channels Multiple Devices with Tag Division Driver Performance (Reads/Sec) 5972 3705 Improvement Over Symbolic 768% 476%
Conclusions
The project began with a single channel and a single device, which is the default behavior for a single controller. All tags were imported from this controller to this channel.device. All three protocol modes were then tested to see which would provide the best performance. In this case, Logical Blocking Protocol was the best. The best
www. kepware.com
44
Measures were taken to optimize communications using the tips outlined in Optimizing Your Communications. Most notably, tag division was used to place the Logical Blocking type tags in a device assigned Logical Blocking and the Logical Non-Blocking type tags in a device assigned Logical Non-Blocking. Furthermore, both devices resided on the same channel. The results show an improvement over using Logical Blocking on a single device. This is because some tags lend themselves better to one protocol mode over another. For example, reading an entire COUNTER will benefit from Logical Blocking over Logical Non-Blocking since it's much faster reading the COUNTER as a block then as individual members. Measures were also taken to optimize the application by placing devices on their own channel. Using the devices created in the previous trial, a Logical Blocking device was placed on one channel and a Logical Non-Blocking device on another. The results show improvement over the single channel/multiple devices scenario from the previous trial. This reinforces the idea that performance is improved by having as few devices per channel and as many channels as necessary. After using these three optimization methods, the project has an 827% performance increase over Allen-Bradley ControlLogix Ethernet Driver version earlier than 4.6.0.xx. Tag division and multiple channels improved the performance by 107%. The performance increases will be more apparent with larger projects.
www. kepware.com
Two byte packed BCD, four decimal digits Four byte packed BCD, eight decimal digits 32 bit IEEE Floating point 64 bit IEEE Floating point 64 bit Date/Time Null terminated character array
Note: For a description of Logix platform-specific data types, refer to Logix Advanced Addressing.
www. kepware.com
46
Address specifications vary depending on the model in use. For the model of interest's address information, refer to the table below. Protocol Class Logix-Ethernet Models ControlLogix 5500 Ethernet, CompactLogix 5300, Ethernet, FlexLogix 5400 Ethernet, SoftLogix 5800 DH+ Gateway: PLC-5 DH+ Gateway: SLC 5/04 ControlNet Gateway: PLC-5C ENI: ControlLogix 5500, ENI: CompactLogix 5300, ENI: FlexLogix 5400 ENI: MicroLogix ENI: SLC 500 Fixed I/O ENI: SLC 500 Modular I/O ENI: PLC-5 MicroLogix 1100 Ethernet MicroLogix 1400 Ethernet MicroLogix 1100 MicroLogix 1400 Help Link Logix Addressing
PLC-5 Series Addressing SLC 500 Modular I/O Addressing PLC-5 Series Addressing Logix Addressing
MicroLogix Addressing SLC 500 Fixed I/O Addressing SLC 500 Modular I/O Addressing PLC-5 Series Addressing MicroLogix Addressing MicroLogix Addressing
Note: For more information on the controller's pre-defined data types, refer to the device's documentation.
Logix Addressing
For more information on these models' tag-based addressing and relationship to the Allen-Bradley ControlLogix Ethernet Driver, refer to Logix Tag-Based Addressing.
www. kepware.com
47
MicroLogix Addressing
Micrologix Addressing for EtherNet/IP Gateway
The actual number of addresses available depends on the model of the PLC. The ranges have been opened up to allow for maximum flexibility with future models. If the driver finds at Runtime that an address is not present in the device, it will post an error message and then remove the tag from its scan list. For more information on filespecific addressing, select a link from the list below. Output Files Input Files Status Files Binary Files Timer Files Counter Files Control Files Integer Files Float Files ASCIIFiles String Files Long Files MicroLogix PID Files MicroLogix Message Files For information on function files, select a link from the list below. High Speed Counter File (HSC) Real-Time Clock File (RTC) Channel 0 Communication Status File (CS0) Channel 1 Communication Status File (CS1) I/O Module Status File (IOS)
www. kepware.com
48
www. kepware.com
49
ASCII Files String Files Long Files MicroLogix PID Files MicroLogix Message Files
For information on function files, select a link from the list below. High Speed Counter File (HSC) Real-Time Clock File (RTC) Channel 0 Communication Status File (CS0) Channel 1 Communication Status File (CS1) I/O Module Status File (IOS)
www. kepware.com
50
www. kepware.com
51
Control Files Integer Files Float Files ASCII Files String Files BCD Files PID Files Message Files Block Transfer Files
www. kepware.com
52
Description Single bit value Signed 8 bit value Signed 16 bit value Signed 32 bit value Signed 64 bit value 32 bit IEEE Floating point VT_ BOOL VT_UI1 VT_I2 VT_I4 VT_I8 VT_R4
Range 0, 1 -128 to 127 -32,768 to 32,767 -2,147,483,648 to 2,147,483,647 9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 1.1755 E-38 to 3.403E38, 0, -3.403E-38 to -1.1755
See Also: Logix Advanced Addressing Client/Server Tag Address Rules Logix Tag names correspond to Client/Server Tag addresses. Logix Tag names (entered via RSLogix5000) follow the IEC 1131-3 identifier rules. Client/Server Tag addresses follow these same rules. They are as follows:
l l l l l
Must begin with an alphabetic (A-Z, a-z) character or an underscore (_). Can only contain alphanumeric characters and underscores. Can have as many as 40 characters. Cannot have consecutive underscores. Are not case sensitive.
Client/Server Tag Name Rules Tag name assignment in the server differs from address assignment in that names cannot begin with an underscore. Note: Logix Tag names should be kept to a minimum in size for optimum performance. The smaller the name, the more requests that will be able fit in a single transaction. Important: Symbolic Mode users should keep the Client/Server Tag addresses below 400 characters. For example, tagarray[1,2,4].somestruct.substruct_array[3].basetag.[4] is 57 characters in length. Since a packet can only hold 500 data bytes, any overhead bytes that need to be added to the packet can greatly diminish the room available to the characters themselves. By keeping the address below 400, the tag request will remain complete and valid. See Also: Performance Optimizations
Address Formats
There are several ways to address a Logix Tag statically in the server or dynamically from a client. The format used depends on the type and usage of the tag. For example, the bit format would be used when accessing a bit within a SINT-type tag. For information on address format and syntax, refer to the table below. Note: All formats except for Array and String are native to RSLogix5000. Therefore, when referencing an atomic data type, an RSLogix 5000 tag name could be copied and pasted into the server's tag address field and be valid. Format Standard Array Element Array w/o Offset* Syntax <logix tag name> <logix Array Tag name> [dim 1, dim2, dim 3] <logix Array Tag name> {# columns} <logix Array Tag name> {# rows}{# columns} Example tag_1 tag_1 [2, 58, 547] tag_1 [0, 3] tag_1 {8} tag_1 {2}{4} Notes Tag cannot be an array. Dimension Range = 1 to 3 | Element Range = 0 to 65535 Dimension Range = 1 to 2 | Element Range = 1 to 65535 The number of elements to Read/Write equals # of rows times # of columns. If no rows are specified, # of rows will default to 1.
www. kepware.com
53
Bit
tag_1.0 tag_1.[0]
*Since this format may request more than one element, the order in which array data is passed depends on the dimension of the Logix Array Tag. For example, if rows times cols = 4 and the Controller Tag is a 3X3 element array, then the elements that are being referenced are array_tag [0,0], array_tag [0,1], array_tag [0,2], and array_tag [1,0] in that exact order. The results would be different if the Controller Tag were a 2X10 element array. Note: For more information on how elements are referenced for 1, 2 and 3 dimensional arrays, refer to Ordering of Array Data.
Tag Scope
Global Tags
Global Tags are Logix Tags that have global scope in the controller. Any program or task can access Global Tags; however, the number of ways a Global Tag can be referenced depends on its Logix data type and the address format being used.
Program Tags
Program Tags are identical to Global Tags except that a Program Tag's scope is local to the program in which it is defined. Program Tags follow the same addressing rules and limitations as Global Tags, but are prefixed with the following notation: Program: <program name> . For example, Logix Tag "tag_1" in program "prog_1" would be addressed as "Program:prog_1.tag_1" in a Client/Server Tag address.
www. kepware.com
54
www. kepware.com
55
Data Type Advanced Client/Server Tag Example LINT Client/Server Data Type Advanced Client/Server Tag Example REAL Client/Server Data Type Advanced Client/Server Tag Example REALTAG REALARR[0] Float Float Float Array LINTTAG LINTARR[0] Double, Date Double, Date DINTTAG DINTARR[0] Long
Double Array
LINTARR[0]{4}
***
***
REALARR[0]{4}
*See Also: Advanced Addressing INT. **See Also: Advanced Addressing DINT. ***See Also: Advanced Addressing REAL.
Reads
The STRING read from DATA will be terminated by the following: a. The first null terminator encountered. b. The value in LEN if a) doesn't occur first. c. The <Maximum STRING length > if either a) or b) doesn't occur first. Example
www. kepware.com
56
Writes
When a STRING value is written to DATA, the driver will also write to LEN with the length of DATA written. If the write to LEN fails for any reason, the write operation to DATA will be considered failed as well (despite the fact that the DATA write to the controller succeeded). Note: This behavior was designed specifically for Logix Tags of type STRING or a custom derivative of it. The following precautions apply to users who wish to implement their own STRING in UDTs.
l
If a UDT exists that has a DATA member referenced as a STRING and a LEN member referenced as a DINT, the write to LEN will succeed regardless of the intentions of LEN for the given UDT. Care must be taken when designing UDTs to avoid this possibility if LEN is not intended to be the length of DATA. If a UDT exists that has a DATA member referenced as a STRING but does not have a LEN member, the write to LEN will fail silently without consequence to DATA.
Example MYSTRING.DATA/82 holds the value "Hello World." MYSTRING.LEN holds 11. If the value "Alarm Triggered" is written to MYSTRING.DATA/82, 15 will be written to MYSTRING.LEN. If the write to MYSTRING.LEN fails, MYSTRING.LEN will hold its previous value of 11 while MYSTRING.DATA/82 displays the first 11 characters ("Alarm Trigg"). If the write to MYSTRING.DATA/82 fails, neither tag is affected.
www. kepware.com
57
array [0, 2, 1] array [0, 2, 2] array [1, 0, 0] array [1, 0, 1] array [1, 0, 2] array [1, 1, 0] array [1, 1, 1] array [1, 1, 2] array [1, 2, 0] array [1, 2, 1] array [1, 2, 2] array [2, 0, 0] array [2, 0, 1] array [2, 0, 2] array [2, 1, 0] array [2, 1, 1] array [2, 1, 2] array [2, 2, 0] array [2, 2, 1] array [2, 2, 2]
The Controller Tag must be a 1 dimensional array. 1. The Controller Tag must be a 1 dimensional array. 2. The number of elements must be a factor of 8. Not supported.
Byte Array, Char Array Word Array, Short Array, BCD Array DWord Array, Long Array, LBCD Array Float Array* Boolean Array
Array w/ Offset
1. The Controller Tag must be a 1 dimensional array. 2. The offset must lie on 32-bit boundary. 3. The number of elements must be a factor of 8. 1. The Controller Tag must be a 1 dimensional array. 2. The range is limited from 0 to 31. Not supported.
Bit
Boolean
String
String
*The Float value will equal face value of the Controller Tag in Float form (non-IEEE Floating point number).
Examples
Examples highlighted in yellow signify common use cases.
www. kepware.com
58
BOOL Controller Tag - booltag = true Server Tag Address booltag booltag booltag booltag booltag booltag [3] booltag [3] booltag {1} booltag {1} booltag [3] {32} booltag . 3 booltag / 1 booltag / 4 Format Standard Standard Standard Standard Standard Array Element Array Element Array w/o Offset Array w/o Offset Array w/ Offset Bit String String Data Type Boolean Byte Word DWord Float Boolean Word Word Boolean Boolean Boolean String String Notes Value = true Value = 1 Value = 1 Value = 1 Value = 1.0 Invalid: Tag not an array. Invalid: Tag not an array. Invalid: Not supported. Invalid: Not supported. Invalid: Tag not an array. Invalid: Tag not an array. Invalid: Not supported. Invalid: Not supported.
BOOL Array Controller Tag - bitarraytag = [0,1,0,1] Server Tag Address bitarraytag bitarraytag bitarraytag bitarraytag bitarraytag bitarraytag [3] bitarraytag [3] bitarraytag {3} bitarraytag {1} bitarraytag {1} bitarraytag {32} bitarraytag [3] {32} bitarraytag[0]{32} bitarraytag[32]{64} bitarraytag . 3 bitarraytag / 1 bitarraytag / 4 Format Standard Standard Standard Standard Standard Array Element Array Element Array w/o Offset Array w/o Offset Array w/o Offset Array w/o Offset Array w/ Offset Array w/ Offset Array w/ Offset Bit String String Data Type Boolean Byte Word DWord Float Boolean Word Word Word Boolean Boolean Boolean Boolean Boolean Boolean String String Notes Invalid: Tag cannot be an array. Invalid: Tag cannot be an array. Invalid: Tag cannot be an array. Invalid: Tag cannot be an array. Invalid: Tag cannot be an array. Value = true Invalid: Bad data type. Invalid: Tag cannot be an array. Invalid: Tag cannot be an array. Invalid: Array size must be a factor of 8. Value = [0,1,0,1,...] Offset must begin on 32-bit boundary. Value = [0,1,0,1,...] Value = [...] values not provided above Value = true Invalid: Not supported. Invalid: Not supported.
Array Element
1. Use this case to have the bits within an SINT in array form. Note: This is not an array of SINTs in Boolean notation. 2. Applies to bit-within-SINT only. Example: tag_1.0{8}.
www. kepware.com
59
Array w/ Offset
Bit
1. The range is limited from 0 to 7. 2. If the Controller Tag is an array, the bit class reference must be prefixed by an array element class reference. Example: tag_1 [2,2,3].0. 1. If accessing a single element, the Controller Tag need not be an array. Note: The value of the string will be the ASCII equivalent of the SINT value. Example: SINT = 65dec = "A". 2. If accessing more than a single element, the Controller Tag must be an array. The value of the string will be the nullterminated ASCII equivalent of all the SINTs in the string. 1 character in string = 1 SINT
String
String
*non-zero values will be clamped to true. **Each element of the array corresponds to an element in the SINT array. Arrays are not packed. *** Float value will equal face value of Controller Tag in Float form (non-IEEE Floating point number).
Examples
Examples highlighted in yellow signify common use cases. SINT Controller Tag - sinttag = 122 (decimal) Server Tag Address sinttag sinttag sinttag sinttag sinttag sinttag [3] sinttag [3] sinttag {3} sinttag {1} sinttag {1} sinttag [3] {1} sinttag . 3 sinttag . 0 {8} sinttag / 1 sinttag / 4 Format Standard Standard Standard Standard Standard Array Element Array Element Array w/o Offset Array w/o Offset Array w/o Offset Array w/ Offset Bit Array w/o Offset String String Data Type Boolean Byte Word DWord Float Boolean Byte Byte Byte Boolean Byte Boolean Boolean String String Notes Value = true Value = 122 Value = 122 Value = 122 Value = 122.0 Invalid: Tag not an array. Also, Boolean is invalid. Invalid: Tag not an array. Invalid: Tag not an array. Value = [122] Invalid: Bad data type. Invalid: Tag not an array. Value = true Value = [0,1,0,1,1,1,1,0] Bit value of 122 Value = "z" Invalid: Tag not an array.
SINT Array Controller Tag - sintarraytag [4,4] = [[83,73,78,84],[5,6,7,8],[9,10,11,12], [13,14,15,16]] Server Tag Address Format Data Type Notes
www. kepware.com
60
Array Element
1. Use this case to have the bits within an INT in array form. Note: This is not an array of INTs in Boolean notation. 2. Applies to bit-within-INT only. Example: tag_1.0{16}. 3. .bit + array size cannot exceed 16 bits. Example: tag_1.1{16} exceeds an INT, tag_1.0{16} does not.
Byte Array, Char Array** Word Array, Short Array, BCD Array DWord Array, Long Array, LBCD Array***Float Array***,**** Byte Array, Char Array** Word Array, Short Array, BCD Array DWord Array, Long Array, LBCD Array*** Float Array***,**** Boolean
If accessing more than a single element, the Controller Tag must be an array.
Array w/ Offset
Bit
1. The range is limited from 0 to 15. 2. If the Controller Tag is an array, the bit class reference must be prefixed by an
www. kepware.com
61
Examples
Examples highlighted in yellow signify common use cases. INT Controller Tag - inttag = 65534 (decimal) Server Tag Address Class inttag inttag inttag inttag inttag inttag [3] inttag [3] inttag {3} inttag {1} inttag {1} inttag [3] {1} inttag . 3 inttag . 0 {16} inttag / 1 inttag / 4 Standard Standard Standard Standard Standard Array Element Array Element Array w/o Offset Array w/o Offset Array w/o Offset Array w/ Offset Bit Array w/o Offset String String Data Type Notes Boolean Byte Word DWord Float Boolean Word Word Word Boolean Word Boolean Boolean String String Value = true Value = 255 Value = 65534 Value = 65534 Value = 65534.0 Invalid: Tag not an array. Also, Boolean is invalid. Invalid: Tag not an array. Invalid: Tag not an array. Value = [65534] Invalid: Bad data type. Invalid: Tag not an array. Value = true Value = [0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] Bit value of 65534 Value = unprintable character = 255 decimal. Invalid: Tag not an array.
INT Array Controller Tag - intarraytag [4,4] = [[73,78,84,255],[256,257,258,259],[9,10,11,12], [13,14,15,16]] Server Tag Address intarraytag intarraytag intarraytag intarraytag intarraytag intarraytag [3] intarraytag [1,3] Class Standard Standard Standard Standard Standard Array Element Array Element Data Type Boolean Byte Word DWord Float Word Boolean Notes Invalid: Tag cannot be an array. Invalid: Tag cannot be an array. Invalid: Tag cannot be an array. Invalid: Tag cannot be an array. Invalid: Tag cannot be an array. Invalid: Server Tag missing dimension 2 address. Invalid: Boolean not allowed for array elements.
www. kepware.com
62
Array Element
1. Use this case to have the bits within an DINT in array form. Note: This is not an array of DINTs in Boolean notation. 2. Applies to bit-within-DINT only. Example: tag_1.0{32}. 3. .bit + array size cannot exceed 32 bits. Example: tag_1.1{32} exceeds an DINT, tag_1.0{32} does not.
Byte Array, Char Array** Word Array, Short Array, BCD Array*** DWord Array, Long Array, LBCD Array Float Array **** Byte Array, Char Array** Word Array, Short Array, BCD Array*** DWord Array, Long Array, LBCD Array Float Array **** Boolean
If accessing more than a single element, the Controller Tag must be an array.
Array w/ Offset
Bit
1. The range is limited from 0 to 31. 2. If Controller Tag is an array, bit class reference must be prefixed by an array element class reference. Example: tag_1 [2,2,3].0. 1. If accessing a single element, the Controller Tag need not be an array. Note: The value of the string will be the ASCII equivalent of the DINT value (clamped to 255). Example: SINT = 65dec = "A".
String
String
www. kepware.com
63
2. If accessing more than a single element, the Controller Tag must be an array. The value of the string will be the nullterminated ASCII equivalent of all the DINTs (clamped to 255) in the string. 1 character in string = 1 DINT, clamped to 255 Note: DINT strings are not packed. For greater efficiency, use SINT strings or the STRING structure instead. *non-zero values will be clamped to true. **Values exceeding 255 will be clamped to 255. ***Values exceeding 65535 will be clamped to 65535. ****Float value will equal face value of Controller Tag in Float form (non-IEEE Floating point number).
Examples
Examples highlighted in yellow signify common use cases. DINT Controller Tag - dinttag = 70000 (decimal) Server Tag Address dinttag dinttag dinttag dinttag dinttag dinttag [3] dinttag [3] dinttag {3} dinttag {1} dinttag {1} dintag [3] {1} dinttag . 3 dinttag . 0 {32} dinttag / 1 dinttag / 4 Format Standard Standard Standard Standard Standard Array Element Array Element Array w/o Offset Array w/o Offset Array w/o Offset Array w/ Offset Bit Array w/o Offset String String Data Type Boolean Byte Word DWord Float Boolean DWord DWord DWord Boolean DWord Boolean Boolean String String Notes Value = true Value = 255 Value = 65535 Value = 70000 Value = 70000.0 Invalid: Tag not an array. Also, Boolean is invalid. Invalid: Tag not an array. Invalid: Tag not an array. Value = [70000] Invalid: Bad data type Invalid: Tag not an array. Value = false Value = [0,0,0,0,1,1,1,0,1,0,0,0,1,0,0,0,1,0,...0] Bit value for 70000 Value = unprintable character = 255 decimal Invalid: Tag not an array.
DINT Array Controller Tag - dintarraytag [4,4] = [[68,73,78,84],[256,257,258,259],[9,10,11,12], [13,14,15,16]] Server Tag Address dintarraytag dintarraytag dintarraytag dintarraytag dintarraytag dintarraytag [3] dintarraytag [1,3] dintarraytag [1,3] dintarraytag {10} dintarraytag {2}{5} Format Standard Standard Standard Standard Standard Array Element Array Element Array Element Array w/o Offset Array w/o Offset Data Type Boolean Byte Word DWord Float DWord Boolean DWord Byte DWord Notes Invalid: Tag cannot be an array. Invalid: Tag cannot be an array. Invalid: Tag cannot be an array. Invalid: Tag cannot be an array. Invalid: Tag cannot be an array. Invalid: Server Tag missing dimension 2 address. Invalid: Boolean not allowed for array elements. Value = 259 Value = [68,73,78,84,255,255,255,255,9,10] Value = [68,73,78,84,256] [257,258,259,9,10]
www. kepware.com
64
*Double value will equal face value of Controller Tag in Float form (non-IEEE Floating point number). **Date values are in universal time (UTC), not localized time.
Examples
Examples highlighted in yellow signify common use cases. LINT Controller Tag - linttag = 2007-01-01T16:46:40.000 (date) == 1.16767E+15 (decimal) Server Tag Address linttag linttag linttag linttag linttag linttag [3] linttag [3] linttag {3} linttag {1} linttag {1} lintag [3] {1} linttag . 3 linttag / 1 Format Standard Standard Standard Standard Standard Array Element Array Element Array w/o Offset Array w/o Offset Array w/o Offset Array w/ Offset Bit String Data Type Boolean Byte Word Double Date Boolean Double Double Double Boolean Double Boolean String Notes Invalid: Boolean not supported. Invalid: Byte not supported. Invalid: Word not supported. Value = 1.16767E+15 Value = 2007-01-01T16:46:40.000* Invalid: Tag not an array. Also, Boolean is invalid. Invalid: Tag not an array. Invalid: Tag not an array. Value = [1.16767E+15] Invalid: Bad data type. Invalid: Tag not an array. Invalid: Syntax/data type not supported. Invalid: Syntax/data type not supported.
*Date values are in universal time (UTC), not localized time. LINT Array Controller Tag dintarraytag [2,2] = [0, 1.16767E+15],[9.4666E+14, 9.46746E+14] where: 1.16767E+15 == 2007-01-01T16:46:40.000 (date) 9.4666E+14 == 1999-12-31T17:06:40.000 9.46746E+14 == 2000-01-1T17:00:00.000 0 == 1970-01-01T00:00:00.000 Server Tag Address Format Data Type Notes
www. kepware.com
65
lintarraytag lintarraytag lintarraytag lintarraytag lintarraytag lintarraytag [1] lintarraytag [1,1] lintarraytag [1,1] lintarraytag [1,1] lintarraytag {4} lintarraytag {2} {2} lintarraytag {4} lintarraytag {1} lintarraytag {1} lintarraytag [0,1] {2} lintarraytag . 3 lintarraytag / 1 Standard Standard Standard Standard Standard Array Element Array Element Array Element Array Element Array w/o Offset Array w/o Offset Array w/o Offset Array w/o Offset Array w/o Offset Array w/ Offset Bit String Boolean Byte Word Double Date Double Boolean Double Date Double Double Date Double Boolean Double Boolean String
Array Element
1. Use this case to have the bits within an REAL in array form. Note: This is not an array of REALs in Boolean notation. 2. Applies to bit-within-REAL only. Example: tag_1.0{32}. 3. .bit + array size cannot exceed 32 bits. Example: tag_1.1{32} exceeds an REAL, tag_1.0{32} does not.
Byte Array, Char Array** Word Array, Short Array, BCD Array*** DWord Array, Long Array, LBCD Array Float Array**** Byte Array, Char Array** Word Array, Short Array, BCD Array*** DWord Array, Long Array, LBCD Array Float Array**** Boolean
If accessing more than a single element, the Controller Tag must be an array.
Array w/ Offset
Bit
1. The range is limited from 0 to 31. 2. If the Controller Tag is an array, the bit
www. kepware.com
66
Examples
Examples highlighted in yellow signify common use cases. REAL Controller Tag - realtag = 512.5 (decimal) Server Tag Address realtag realtag realtag realtag realtag realtag [3] realtag [3] realtag {3} realtag {1} realtag {1} realtag [3] {1} realtag . 3 realtag . 0 {32} realtag / 1 realtag / 4 Format Standard Standard Standard Standard Standard Array Element Array Element Array w/o Offset Array w/o Offset Array w/o Offset Array w/ Offset Bit Array w/o Offset String String Data Type Notes Boolean Byte Word DWord Float Boolean DWord DWord Float Boolean Float Boolean Boolean String String Value = true Value = 255 Value = 512 Value = 512 Value = 512.5 Invalid: Tag not an array. Also, Boolean is invalid. Invalid: Tag not an array. Invalid: Tag not an array. Value = [512.5] Invalid: Bad data type. Invalid: Tag not an array. Value = true Value = [0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,...0] Bit value for 512 Value = unprintable character = 255 decimal Invalid: Tag not an array.
REAL Array Controller Tag - realarraytag [4,4] = [[82.1,69.2,65.3,76.4], [256.5,257.6,258.7,259.8],[9.0,10.0,11.0,12.0],[13.0,14.0,15.0,16.0]] Server Tag Address realarraytag realarraytag realarraytag realarraytag Format Standard Standard Standard Standard Data Type Boolean Byte Word DWord Notes Invalid: Tag cannot be an array. Invalid: Tag cannot be an array. Invalid: Tag cannot be an array. Invalid: Tag cannot be an array.
www. kepware.com
67
realarraytag realarraytag [3] realarraytag [1,3] realarraytag [1,3] realarraytag {10} realarraytag {2} {5} realarraytag {1} realarraytag {1} realarraytag [1,3] {4} realarraytag . 3 realarraytag [1,3] . 3 realarraytag [1,3] . 0 {32} realarraytag / 1 realarraytag / 3 Standard Array Element Array Element Array Element Array w/o Offset Array w/o Offset Array w/o Offset Array w/o Offset Array w/ Offset Bit Bit Array w/o Offset String String Float Float Boolean Float Byte Float Float Boolean Float Boolean Boolean Boolean String String
File Listing
Select a link from the list below for information on a specific file supported by various device models. Output Files Input Files Status Files Binary Files Timer Files Counter Files Control Files Integer Files Float Files ASCII Files String Files BCD Files Long Files MicroLogix PID Files PID Files MicroLogixMessage Files Message Files Block Transfer Files
Output Files
The syntax for accessing data in the output file differs depending on the PLC model. Arrays are not supported for output files. The default data types are shown in bold.
PLC-5 Syntax
www. kepware.com
68
Note: Word and bit address information is in octal for PLC-5 models. This follows the convention of the programming software.
Micrologix Syntax
Syntax O:<word> O:<word>/<bit> O/bit Data Type Short, Word, BCD Boolean Boolean Access Read/Write Read/Write Read/Write
Micrologix models have two types of I/O: embedded I/O and expansion I/O (not applicable for Micrologix 1000). Embedded I/O resides with the CPU base unit while Expansion I/O plugs into the CPU base unit. The table below lists the I/O capabilities of each Micrologix model. Micrologix Model 1000 1100 1200 1400 1500 Embedded I/O Slot 0 Slot 0 Slot 0 Slot 0 Slot 0 Expansion I/O N/A Slots 1-4 Slots 1-6 Slots 1-7 Slots 1-16
The address syntax for Micrologix I/O references a zero-based word offset, not a slot. Users must determine the word offset to a particular slot. This requires knowledge of the modules and their respective size in words. The table below specifies the size of some available modules; however, it is recommended that users consult both the Micrologix documentation and the controller project to determine the module's true word size.
www. kepware.com
69
1769-OB16P 1769-OB32 1769-OF2 1769-OF8C 1769-OF8V 1769-OV16 1769-OW8 1769-OW16 1769-OW8I 1769-SDN 1769-SM1 1769-SM2 1769-ASCII 1762-IA8 1762-IF2OF2 1762-IF4 1762-IQ8 1762-IQ8OW6 1762-IQ16 1762-OA8 1762-OB8 1762-OB16 1762-OW8 1762-OW16 1762-IT4 1762-IR4 1762-OF4 1762-OX6I 0 0 2 11 11 0 0 0 0 66 12 7 108 1 6 7 1 1 1 0 0 0 0 0 6 6 2 0 1 2 2 9 9 1 1 1 1 2
12 7 108 0 2 0 0 1 0 1 1 1 1 1 0 0 4 1
Calculation
Output Word Offset for Slot x = # Output Words in Slot 0 through Slot (x-1). Note 1: The Embedded I/O needs to be taken into account when offsetting to Expansion I/O. Note 2: The number of Input words does not factor into the calculation for Output Word Offset.
I/O Example
Let Slot 0 = Micrologix 1500 LRP Series C = 4 Output Words Slot 1 = 1769-OF2 = 2 Output Words Slot 2 = 1769-OW8 = 1 Output Word Slot 3 = 1769-IA16 = 0 Output Word Slot 4 = 1769-OF8V = 9 Output Word Bit 5 of Slot 4 = 4 + 2 + 1 = 7 words = O:7/5
Ranges
PLC Model Micrologix SLC 500 Fixed I/O Min Slot NA NA Max Slot NA NA Max Word 2047 1
www. kepware.com
70
*The number of Input or Output words available for each I/O module can be found in the SLC 500 Modular I/O Selection Guide. For slot configuration help, refer to Device Setup.
Examples
Micrologix O:0 O/2 O:0/5 SLC 500 Fixed I/O O:0 O:1 O/16 O:1/0 PLC5* O:0 O:37 O/42 O:2/2 *Addresses are in Octal. SLC 500 Modular I/O O:1 O:1.0 O:12 O:12.2 O:4.0/0 O:4/0 O:4.2/0 O:4/32 Description word 0 slot 1 word 0 slot 1 (same as O:1) word 0 slot 12 word 2 slot 12 bit 0 word 0 slot 4 bit 0 slot 4 (same as O:4.0/0) bit 0 word 2 slot 4 bit 32 slot 4 (same as O:4.2/0) Description word 0 bit 2 bit 5 Description word 0 word 1 bit 16 bit 0 word 1 (same as O/16) Description word 0 word 31 (37 octal = 31 decimal) bit 34 (42 octal = 34 decimal) bit 2 word 2 (same as O/42)
Input Files
The syntax for accessing data in the input file differs depending on the PLC model. Arrays are not supported for input files. The default data types are shown in bold.
PLC-5 Syntax
Syntax I:<word> I:<word>/<bit> I/bit Data Type Short, Word, BCD Boolean Boolean Access Read/Write Read/Write Read/Write
Note: Word and bit address information is in octal for PLC-5 models. This follows the convention of the programming software.
Micrologix Syntax
Syntax I:<word> I:<word>/<bit> I/bit Data Type Short, Word, BCD Boolean Boolean Access Read/Write Read/Write Read/Write
Micrologix models have two types of I/O: embedded I/O and expansion I/O (not applicable for Micrologix 1000). Embedded I/O resides with the CPU base unit while Expansion I/O plugs into the CPU base unit. The table below lists the I/O capabilities of each Micrologix model.
www. kepware.com
71
Expansion I/O N/A Slots 1-4 Slots 1-6 Slots 1-7 Slots 1-16
The address syntax for Micrologix I/O references a zero-based word offset, not a slot. Users must determine the word offset to a particular slot. This requires knowledge of the modules and their respective size in words. The table below specifies the size of some available modules; however, it is recommended that the Micrologix documentation and controller project be consulted in order to determine a module's true word size.
www. kepware.com
72
Calculation
Input Word Offset for Slot x = # Input Words in Slot 0 through Slot (x-1). Note 1: The Embedded I/O needs to be taken into account when offsetting to Expansion I/O. Note 2: The number of Output words does not factor into the calculation for Input Word Offset.
I/O Example
Let Slot 0 = Micrologix 1500 LRP Series C = 4 Input Words Slot 1 = 1769-OF2 = 2 Input Words Slot 2 = 1769-OW8 = 0 Input Word Slot 3 = 1769-IA16 = 1 Input Word Slot 4 = 1769-OF8V = 11 Input Word Bit 5 of Slot 3 = 4 + 2 = 6 words = I:6/5
Ranges
PLC Model Micrologix SLC 500 Fixed I/O SLC 500 Modular I/O PLC-5 Series Min Slot NA NA 1 NA Max Slot NA NA 30 NA Max Word 2047 1 * 277 (octal)
*The number of Input or Output words available for each I/O module can be found in the SLC 500 Modular I/O Selection Guide. For slot configuration help, refer to Device Setup.
Examples
Micrologix I:0 I/2 I:1/5 SLC 500 Fixed I/O I:0 I:1 I/16 I:1/0 Description Word 0 Bit 2 Bit 5 word 1 Description Word 0 Word 1 bit 16 Bit 0 word 1 (same as I/16)
www. kepware.com
73
PLC5* I:0 I:10 I/20 I:1/0 *Addresses are in Octal. SLC 500 Modular I/O I:1 I:1.0 I:12 I:12.2 I:4.0/0 I:4/0 I:4.2/0 I:4/32 Description Word 0 slot 1 Description Word 0
Word 8 (10 octal = 8 decimal) Bit 16 (20 octal = 16 decimal) Bit 0 word 1 (same as I/20)
Word 0 slot 1 (same as I:1) Word 0 slot 12 Word 2 slot 12 Bit 0 word 0 slot 4 Bit 0 slot 4 (same as I:4.0/0) Bit 0 word 2 slot 4 Bit 32 slot 4 (same as I:4.2/0)
Status Files
To access status files, specify a word and an optional bit in the word. The default data types are shown in bold. Syntax S:<word> S:<word> [rows][cols] S:<word> [cols] S:<word>/<bit> S/bit Data Type Short, Word, BCD, DWord, Long, LBCD Short, Word, BCD, DWord, Long, LBCD (array type) Short, Word, BCD, DWord, Long, LBCD (array type) Boolean Boolean Access Read/Write Read/Write Read/Write Read/Write Read/Write
The number of array elements (in bytes) cannot exceed the block request size specified. This means that the array size cannot exceed 16 words given a block request size of 32 bytes.
Ranges
PLC Model Micrologix SLC 500 Fixed I/O SLC 500 Modular I/O PLC-5 Series Max Word 999 96 999 999
The maximum word location is one less when accessing as a 32 bit data type (such as Long, DWord, or Long BCD).
Examples
Example S:0 S/26 S:4/15 S:10 [16] S:0 [4] [8] Description Word 0 Bit 26 Bit 15 word 4 16 element array starting at word 10 4 by 8 element array starting at word 0
Binary Files
To access binary files, specify a file number, a word and optional bit in the word. The default data types are shown in bold. Syntax B<file>:<word> B<file>:<word> [rows][cols] B<file>:<word> [cols] Data Type Short, Word, BCD, DWord, Long, LBCD Short, Word, BCD, DWord, Long, LBCD (array type) Short, Word, BCD, DWord, Long, LBCD (array type) Access Read/Write Read/Write Read/Write
www. kepware.com
74
The number of array elements (in bytes) cannot exceed the block request size specified. This means that array size cannot exceed 16 words given a block request size of 32 bytes.
Ranges
PLC Model Micrologix SLC 500 Fixed I/O SLC 500 Modular I/O PLC-5 Series File Number 3, 9-999 3, 9-255 3, 9-999 3-999 Max Word 999 255 999 1999
The maximum word location is one less when accessing as a 32 bit data type (such as Long, DWord, or Long BCD).
Examples
Example B3:0 B3/26 B12:4/15 B3:10 [20] B15:0 [6] [6] Description Word 0 Bit 26 Bit 15 word 4 20 element array starting at word 10 6 by 6 element array starting at word 0
Timer Files
Timer files are a structured type whose data is accessed by specifying a file number, an element and a field. The default data types are shown in bold. Syntax T<file>:<element>.<field> Data Type Depends on field Access Depends on field
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation. Element Field ACC PRE DN TT EN Data Type Short, Word Short, Word Boolean Boolean Boolean Access Read/Write Read/Write Read Only Read Only Read Only
Ranges
PLC Model Micrologix SLC 500 Fixed I/O SLC 500 Modular I/O PLC-5 Series File Number 4, 9-999 4, 9-255 4, 9-999 3-999 Max Element 999 255 999 1999
Examples
Example T4:0.ACC T4:10.DN T15:0.PRE Description Accumulator of timer 0 file 4 Done bit of timer 10 file 4 Preset of timer 0 file15
Counter Files
Counter files are a structured type whose data is accessed by specifying a file number, an element, and a field. The default data types are shown in bold.
www. kepware.com
75
Syntax C<file>:<element>.<field> Data Type Depends on field
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation. Element Field ACC PRE UA UN OV DN CD CU Data Type Word, Short Word, Short Boolean Boolean Boolean Boolean Boolean Boolean Access Read/Write Read/Write Read Only Read Only Read Only Read Only Read Only Read Only
Ranges
PLC Model Micrologix SLC 500 Fixed I/O SLC 500 Modular I/O PLC-5 Series File Number 5, 9-999 5, 9-255 5, 9-999 3-999 Max Element 999 255 999 1999
Examples
Example C5:0.ACC C5:10.DN C15:0.PRE Description Accumulator of counter 0 file 5 Done bit of counter 10 file 5 Preset of counter 0 file 15
Control Files
Control files are a structured type whose data is accessed by specifying a file number, an element, and a field. The default data types are shown in bold. Syntax R<file>:<element>.<field> Data Type Depends on field Access Depends on field
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation. Element Field LEN POS FD IN UL ER EM DN EU EN Data Type Word, Short Word, Short Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Access Read/Write Read/Write Read Only Read Only Read Only Read Only Read Only Read Only Read Only Read Only
Ranges
PLC Model Micrologix SLC 500 Fixed I/O SLC 500 Modular I/O PLC-5 Series File Number 6, 9-999 6, 9-255 6, 9-999 3-999 Max Element 999 255 999 1999
Examples
www. kepware.com
76
Integer Files
To access integer files, specify a file number, a word, and an optional bit in the word. The default data types are shown in bold. Syntax N<file>:<word> N<file>:<word> [rows][cols] N<file>:<word> [cols] N<file>:<word>/<bit> N<file>/bit Data Type Short, Word, BCD, DWord, Long, LBCD Short, Word, BCD, DWord, Long, LBCD (array type) Short, Word, BCD, DWord, Long, LBCD (array type) Boolean Boolean Access Read/Write Read/Write Read/Write Read/Write Read/Write
The number of array elements (in bytes) cannot exceed the block request size specified. This means that array size cannot exceed 16 words given a block request size of 32 bytes.
Ranges
PLC Model Micrologix SLC 500 Fixed I/O SLC 500 Modular I/O PLC-5 Series File Number 7, 9-999 7, 9-255 7, 9-999 3-999 Max Word 999 255 999 1999
The maximum word location is one less when accessing as a 32 bit data type (such as Long, DWord, or Long BCD).
Examples
Example N7:0 N7/26 N12:4/15 N7:10 [8] N15:0 [4] [5] Description Word 0 Bit 26 Bit 15 word 4 8 element array starting at word 10 4 by 5 element array starting at word 0
Float Files
To access float files, specify a file number and an element. The default data types are shown in bold. Syntax F<file>:<element> F<file>:<element> [rows][cols] F<file>:<element> [cols] Data Type Float Float (array type) Float (array type) Access Read/Write Read/Write Read/Write
The number of array elements (in bytes) cannot exceed the block request size specified. This means that array size cannot exceed 8 Floats given a block request size of 32 bytes.
Ranges
PLC Model Micrologix SLC 500 Fixed I/O SLC 500 Modular I/O PLC-5 Series File Number 8-999 NA 8-999 3-999 Max Word 999 NA 999 1999
Examples
www. kepware.com
77
Example F8:0 F8:10 [16] F15:0 [4] [4] Description Float 0
ASCII Files
To access ASCII file data, specify a file number and a character location. The default data types are shown in bold. Syntax A<file>:<char> A<file>:<char> [rows][cols] A<file>:<char> [cols] A<file>:<word offset>/length Data Type Char, Byte* Char, Byte* Char, Byte* String** Access Read/Write Read/Write Read/Write Read/Write
*The number of array elements cannot exceed the block request size specified. Internally, the PLC packs two characters per word in the file, with the high byte containing the first character and the low byte containing the second character. The PLC programming software allows access at the word level or two-character level. The Allen-Bradley ControlLogix Ethernet Driver allows accessing to the character level. Using the programming software, "A10:0 = AB," would result in 'A' being stored in the high byte of A10:0 and 'B' being stored in the low byte. Using the Allen-Bradley ControlLogix Ethernet Driver, two assignments would be made: "A10:0 = A" and "A10:1 = B." This would result in the same data being stored in the PLC memory. **Referencing this file as string data allows access to data at word boundaries like the programming software. The length can be up to 232 characters. If a string that is sent to the device is smaller in length than the length specified by the address, the driver null terminates the string before sending it down to the controller.
Ranges
PLC Model Micrologix SLC 500 Fixed I/O SLC 500 Modular I/O PLC-5 Series File Number 3-255 NA 9-999 3-999 Max Character 511 NA 1999 1999
Note: Not all Micrologix and SLC 500 PLC devices support ASCII file types. For more information, refer to the PLC's documentation.
Examples
Example A9:0 A27:10 [80] A15:0 [4] [16] A62:0/32 Description character 0 (high byte of word 0) 80 character array starting at character 10 4 by 16 character array starting at character 0 32 character string starting at word offset 0
String Files
To access string files, specify a file number and an element. Strings are 82 character null terminated arrays. The driver places the null terminator based on the string length returned by the PLC. The default data types are shown in bold. Note: Arrays are not supported for String files. Syntax ST<file>:<element>.<field> Data Type String Access Read/Write
Ranges
PLC Model Micrologix File Number 9-999 Max Word 999
www. kepware.com
78
Examples
Example ST9:0 ST18:10 Description String 0 String 10
BCD Files
To access BCD files, specify a file number and a word. The default data types are shown in bold.
PLC-5 Syntax
Syntax D<file>:<word> D<file>:<word> [rows][cols] D<file>:<word> [cols] Data Type BCD, LBCD BCD, LBCD (array type) BCD, LBCD (array type) Access Read/Write Read/Write Read/Write
The number of array elements (in bytes) cannot exceed the block request size specified. This means that array size cannot exceed 16 BCD, given a block request size of 32 bytes.
Ranges
PLC Model Micrologix SLC 500 Fixed I/O SLC 500 Modular I/O PLC-5 Series File Number NA NA NA 3-999 Max Word NA NA NA 999
Examples
Example D9:0 D27:10 [16] D15:0 [4][8] Description word 0 16 element array starting at word 10 32 element array starting at word 0
Long Files
To access long integer files, specify a file number and an element. The default data types are shown in bold. Syntax L<file>:<DWord> L<file>:<DWord> [rows][cols] L<file>:<DWord> [cols] Data Type Long, DWord, LBCD Long, DWord, LBCD (array type) Long, DWord, LBCD (array type) Access Read/Write Read/Write Read/Write
The number of array elements (in bytes) cannot exceed the block request size specified. This means that array size cannot exceed 8 longs given a block request size of 32 bytes.
Ranges
PLC Model Micrologix SLC 500 Fixed I/O SLC 500 Modular I/O PLC-5 Series File Number 9-999 NA NA NA Max Word 999 NA NA NA
Examples
Example L9:0 L9:10 [8] L15:0 [4] [5] Description word 0 8 element array starting at word 10 4 by 5 element array starting at word 0
www. kepware.com
79
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation for the meaning of each field. Element Field SPS KC TI TD MAXS MINS ZCD CVH CVL LUT SPV CVP TM AM CM OL RG SC TF DA DB UL LL SP PV DN EN Data Type Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Access Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write
Ranges
PLC Model Micrologix All SLC PLC-5 File Number 3-255 NA PID Files Max Element 255 NA PID Files
Examples
Example PD14:0.KC PD18:6.EN Description Proportional gain of PD 0 file 14 PID enable bit of PD 6 file 18
PID Files
PID files are a structured type whose data is accessed by specifying a file number, an element, and a field. The default data types are shown in bold.
PLC-5 Syntax
www. kepware.com
80
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation. Element Field SP KP KI KD BIAS MAXS MINS DB SO MAXO MINO UPD PV ERR OUT PVH PVL DVP DVN PVDB DVDB MAXI MINI TIE FILE ELEM EN CT CL PVT DO SWM CA MO PE, INI SPOR OLL OLH EWD DVNA DVHA PVLA PVHA Data Type Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real Real Word, Short Word, Short Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Access Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write
Ranges
PLC Model Micrologix SLC 500 Fixed I/O SLC 500 Modular I/O File Number NA NA NA Max Element NA NA NA
www. kepware.com
81
PLC-5 Series 3-999
Examples
Example PD14:0.SP PD18:6.EN Description Set point field of PD 0 file 14 Status enable bit of PD 6 file 18
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation for the meaning of each field. Element Field IA RBL LBN RBN CHN NOD MTO NB TFT TFN ELE SEL TO CO EN RN EW ER DN ST BK Data Type Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Access Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write
Ranges
PLC Model Micrologix All SLC PLC5 File Number 3-255 NA Message Files Max Element 255 NA Message Files
Examples
Example MG14:0.TO MG18:6.CO Description Ignore if timed out bit of MG 0 file 14 Continue bit of MG 6 file 18
Message Files
Message files are a structured type whose data is accessed by specifying a file number, an element, and a field. The default data types are shown in bold.
PLC-5 Syntax
www. kepware.com
82
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation. Element Field ERR RLEN DLEN EN ST DN ER CO EW NR TO Data Type Short, Word Short, Word Short, Word Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Access Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write
Ranges
PLC Model Micrologix SLC 500 Fixed I/O SLC 500 Modular I/O PLC-5 Series File Number NA NA NA 3-999 Max Element NA NA NA 999
Examples
Example MG14:0.RLEN MG18:6.CO Description Requested length field of MG 0 file 14 Continue bit of MG 6 file 18
PLC-5 Syntax
Syntax BT<file>:<element>.<field> Data Type Depends on field Access Depends on field
The following fields are allowed for each element. For more information on the meaning of each field, refer to the PLC's documentation. Element Field RLEN DLEN FILE ELEM RW ST DN ER CO EW NR TO Data Type Word, Short Word, Short Word, Short Word, Short Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Access Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write
Ranges
www. kepware.com
83
PLC Model Micrologix SLC 500 Fixed I/O SLC 500 Modular I/O PLC-5 Series File Number NA NA NA 3-999
Examples
Example BT14:0.RLEN BT18:6.CO Description Requested length field of BT 0 file 14 Continue bit of BT 6 file 18
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation. Element Field ACC HIP LOP OVF UNF PFN ER MOD OMB HPO LPO UIX UIP AS ED SP LPR HPR DIR CD CU UIE Default Type DWord, Long DWord, Long DWord, Long DWord, Long DWord, Long Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Boolean Access Read Only Read/Write Read/Write Read/Write Read/Write Read Only Read Only Read Only Read Only Read/Write Read/Write Read Only Read Only Read Only Read Only Read Only Read Only Read Only Read Only Read Only Read Only Read/Write
www. kepware.com
84
Ranges
PLC Model Micrologix All SLC PLC5 File Number N/A N/A N/A Max Element 254 N/A N/A
Examples
Example HSC:0.OMB HSC:1.ED Description Output mask setting for high speed counter 0. Error detected indicator for high speed counter 1.
The following fields are allowed for each element. For the meaning of each field, refer to the PLC's documentation. Element Field YR MON DAY HR MIN SEC DOW DS BL _SET (for block writes) Data Type Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Word, Short Boolean Boolean Boolean Access Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read/Write Read Only Read Only Read/Write
Ranges
PLC Model Micrologix All SLC PLC5 File Number N/A N/A N/A Max Element 254 N/A N/A
Examples
www. kepware.com
85
Example RTC:0.YR RTC:0.BL Description Year setting for real-time clock 0.
Ranges
PLC Model Micrologix All SLC PLC5 File Number N/A N/A N/A Max Element 254 N/A N/A
Examples
Example CS0:0 CS0:4/2 Description Word 0. Bit 2 word 4 = MCP.
Note: For more information on CS0 words/bit meanings, refer to the Rockwell documentation.
Ranges
PLC Model Micrologix All SLC PLC5 File Number N/A N/A N/A Max Element 254 N/A N/A
Examples
Example CS1:0 CS1:4/2 Description Word 0. Bit 2 word 4 = MCP.
Note: For more information on CS1 words/bit meanings, refer to the Rockwell documentation.
www. kepware.com
86
Ranges
PLC Model Micrologix All SLC PLC5 File Number N/A N/A N/A Max Element 254 N/A N/A
Examples
Example IOS:0 IOS:4/2 Description Word 0. Bit 2 word 4.
Note: For a listing of 1769 expansion I/O status codes, refer to the instruction manual.
www. kepware.com
The Allen-Bradley ControlLogix Ethernet Driver can be configured to automatically generate a list of server tags within the server that correspond to device-specific data. The automatically generated tags are based on the Logix Tags defined in the Logix device, and can be browsed from the OPC client. Logix Tags can be atomic or structured. Structure and array tags can quickly increase the number of tags imported (and therefore the number of tags available in the server). Note: ENI/DH+, ControlNet Gateway, and MicroLogix 1100 models do not support automatic tag database generation: only ENI ControlLogix, CompactLogix, and FlexLogix models do. Atomic Tag -> one-to-one-> Server Tag Structure Tag -> one-to-many -> Server Tags Array Tag -> one-to-many> -> Server Tags Note: For more information on the Database Creation settings, refer to the server help file.
Tag Hierarchy
The server tags created by automatic tag generation can follow one of two hierarchies: Expanded or Condensed. To enable this functionality, make sure "Allow Automatically Generated Subgroups" is enabled in Device Properties. The default setting is Expanded Mode.
Expanded Mode
In Expanded Mode, the server tags created by automatic tag generation follow a group/tag hierarchy consistent with the tag hierarchy in RSLogix 5000. Groups are created for every segment preceding the period as in Condensed Mode, but are also created in logical groupings. Groups created include the following:
l l l l
Note: Groups are not created for .bit addresses. The root level groups (or subgroup levels of the group specified in "Add generated tags to the following group") are "Prgm_<program name>" and "Global". Each program in the controller will have its own "Prgm_<program name>" group. The driver recognizes this as the first group level. Basic Global Tags (or non-structure, non-array tags) are placed under the Global group; basic Program Tags are placed under their respective program group. Each structure and Array Tag is provided in its own subgroup of the parent group. By organizing the data in this fashion, the server's tag view mimics RSLogix5000. The name of the structure/array subgroup also provides a description of the structure/array. For instance, an array tag1[1,6] defined in the controller would have a subgroup name "tag1_x_y"; x signifies dimension 1 exists, and y signifies dimension 2 exists. The tags within an array subgroup are all the elements of that array (unless explicitly limited). The tags within a structure subgroup are the structure members themselves. If a structure contains an array, an array subgroup of the structure group will be created as well. With a complex project, the tag hierarchy could require a number of group levels. The maximum number of group levels created by automatic tag generation is seven. This does not include the group specified in "Add generated tags to the following group". When more than seven levels are required, the tags will be placed in the seventh group (causing the hierarchy to plateau). Array Tags A group is created for each array that contains the array's elements. Group names will have the notation: <array name>_x_y_z where: x_y_z = 3 dimensional array x_y = 2 dimensional array x = 1 dimensional array Array Tags will have the notation: <tag element>_XXXXX_YYYYY_ZZZZZ. For example, element tag1[12,2,987] would have the tag name "tag1_12_2_987". Simple Example
www. kepware.com
88
Complex Example A Logix Tag is defined with the address "Local:1:O.Slot[9].Data". This would be represented in the groups "Global" - "Local_1_O" - "Slot_x" - "Slot_09". Within the last group would be the tag "Data". The static reference to "Data" would be "Channel1.Device1.Global.Local_1_O.Slot_x.Slot_09.Data". The dynamic reference to "Data" would be "Channel1.Device1.Local:1:O.Slot[9].Data".
Condensed Mode
In Condensed Mode, the server tags created by automatic tag generation follow a group/tag hierarchy consistent with the tag's address. Groups are created for every segment preceding the period. Groups created include the following:
l l
Note: Groups are not created for arrays or .bit addresses. With a complex project, it is easy to see how the tag hierarchy could require a number of group levels. The maximum number of group levels created by automatic tag generation is seven. This does not include the group specified in "Add generated tags to the following group". When more than seven levels are required, the tags will be placed in the seventh group (causing the hierarchy to plateau). Note: Tag or structure member names leading off with an underscore will be converted to "U_". This is required because the server does not support leading underscores. For more information, refer to Controller-to-Server Name Conversion . Simple Example
www. kepware.com
89
Complex Example Logix Tag is defined with address "Local:1:O.Slot[9].Data". This would be represented in the groups "Local:1:O" -> "Slot[9]". Within the last group would be the tag "Data". The static reference to "Data" would be "Channel1.Device1.Local:1:O.Slot[9].Data". The dynamic reference would be "Channel1.Device1.Local:1:O.Slot[9].Data". Note: I/O module tags cannot be directly imported in Offline mode. Since aliases can be imported, it is recommended that they be created for I/O module tags of interest in RSLogix5000.
www. kepware.com
90
Online
It is recommended that all communications to the Logix CPU of interest cease during the database creation process. In RSLogix5000 Set the project OFFLINE. In the OPC Server 1. Open the Device Properties of the device for which tags will be generated. 2. Click Logix Database Settings and then select Create tag database from device. 3. Next, click Options. In Logix Database Options, make any desired changes. Then, click OK. 4. Next, click Filtering. In Logix Database Filtering, make any desired changes. Then, click OK. 5. Select the Database Creation tab and utilize as instructed in the server help file.
Offline
The Allen-Bradley ControlLogix Ethernet Driver uses a file generated from RSLogix5000 called an L5K/L5X import/export file to generate the tag database. In RSLogix5000 1. Open the project containing the tags that will be ported over to the OPC server. 2. Click File | Save As. 3. Select L5K/L5X Import/Export File and then specify a name. RSLogix will export the project's contents into this L5K/L5X file. In the OPC Server 1. Open the Device Properties of the device for which tags will be generated. 2. Select Logix Database Settings and then select Create tag database from import file. 3. Enter or browse for the location of the L5K/L5X file previously created. 4. Next, click Options. In Logix Database Options, make any desired changes. Then, click OK. 5. Next, click Filtering. In Logix Database Filtering, make any desired changes. Then, click OK. 6. Select the Database Creation tab and utilize as instructed in the server help file. Note: Imported pre-defined tag types will be based on the latest version supported by the Allen-Bradley ControlLogix Ethernet Driver. For more information, refer to Firmware Versions.
www. kepware.com
91 Error Codes
The following sections define error codes that may be encountered in the server's Event Log. For more information on a specific error code type, select a link from the list below. Encapsulation Error Codes CIP Error Codes
www. kepware.com
92
*See Also: 0x0001 Extended Error Codes **See Also: 0x001FExtended Error Codes
*See Also: 0x00FF Extended Error Codes Note: For unlisted error codes, refer to the Rockwell documentation.
www. kepware.com
93
Error Code 2104 2105 2106 2107 Description Address out of range.
Attempt to access beyond end of data object. Data in use. Data type is invalid or not supported.
www. kepware.com
94
Address Validation
Address '<address>' is out of range for the specified device or register Array size is out of range for address '<address>' Array support is not available for the specified address: '<address>' Data Type '<type>' is not valid for device address '<address>' Device address '<address>' contains a syntax error Device address '<address>' is not supported by model '<model name>' Device address '<address>' is Read Only Memory could not be allocated for tag with address '<address>' on device '<device name>' Missing address
Possible Cause:
A tag address that has been specified statically references a location that is beyond the range of the device's supported locations.
Solution:
Verify that the address is correct; if it is not, re-enter it in the client application.
Note:
For valid bit and array element ranges, refer to Address Formats.
Possible Cause:
A tag address that has been specified statically is requesting an array size that is too large.
Solution:
1. Specify a smaller value for the array. 2. Specify a different starting point by re-entering the address in the client application.
Note:
For valid array size ranges, refer to Address Formats.
www. kepware.com
95
Possible Cause:
A tag address that has been specified statically contains an array reference for an address type that doesn't support arrays.
Solution:
1. Re-enter the address in the client application to remove the array reference. 2. Correct the address type.
Possible Cause:
A tag address that has been specified statically has been assigned an invalid data type.
Solution:
Modify the requested data type in the client application.
Possible Cause:
A tag address that has been specified statically contains one or more of the following errors. 1. Address doesn't conform to the tag address naming conventions. 2. Address is invalid according to the address format and underlying Controller Tag data type. 3. A Program Tag was specified incorrectly. 4. An invalid address format was used.
Solution:
Re-enter the address in the client application.
See Also:
Addressing Atomic Data Types Address Formats
Possible Cause:
A tag address that has been specified statically references a location that is valid for the communications protocol but not supported by the target device.
Solution:
Verify the address is correct; if it is not, re-enter it in the client application. Also verify that the selected model name for the device is correct.
Possible Cause:
A tag address that has been specified statically has a requested access mode that is not compatible with what the device supports for that address.
Solution:
www. kepware.com
96
Memory could not be allocated for tag with address '<address>' on device '<device name>'
Error Type:
Warning
Possible Cause:
Resources needed to build a tag could not be allocated. Tag will not be added to the project.
Solution:
Close any unused applications and/or increase the amount of virtual memory. Then, try again.
Missing address
Error Type:
Warning
Possible Cause:
A tag address that has been specified statically has no length.
Solution:
Re-enter the address in the client application.
Communication Errors
The following is a list of sub type error topics. Click on a link for more information about that specific error message.
Communication Errors
Unable to bind to adapter: '<adapter>'. Connect failed Winsock initialization failed (OS Error = n) Winsock V1.1 or higher must be installed to use the Allen-Bradley ControlLogix Ethernet device driver
Possible Cause:
The driver was unable to bind to the specified network adapter, which is necessary for communications with the device.
Reasons:
1. The adapter is disabled or no longer exists. 2. A network system failure occurred (such as Winsock or network adapter failure). 3. There are no more available ports.
Solution:
1. For network adapters available on the system, check the Network Adapter list in the communications server application (located in Channel Properties). If the specified adapter is not in this list, steps should be taken to make it available to the system. This includes verifying that the network connection is enabled and connected in the PC's Network Connections. 2. Determine how many channels are using the same adapter in the communications server application. Then, reduce this number so that only one channel is referencing the adapter. If the error still occurs, check to see if other applications are using that adapter and then shut down those applications.
www. kepware.com
97
Indication The underlying network subsystem is not ready for network communication. The limit on the number of tasks supported by the Windows Sockets implementation has been reached.
Possible Solution Wait a few seconds and restart the driver. Close one or more applications that may be using Winsock and restart the driver.
Winsock V1.1 or higher must be installed to use the Allen-Bradley ControlLogix Ethernet device driver
Error Type:
Fatal
Possible Cause:
The version number of the Winsock DLL found on the system is less than 1.1.
Solution:
Upgrade Winsock to version 1.1 or higher.
Possible Cause:
1. The Ethernet connection between the device and the Host PC is broken. 2. The communications parameters for the Ethernet connection are incorrect. 3. The named device may have been assigned an incorrect IP address. 4. When using the Serial Gateway device model, one or more devices has an incorrect serial port configuration. 5. The response from the device took longer to receive than the amount of time specified in the "Request Timeout" device setting.
Solution:
1. Verify the cabling between the PC and the device. 2. Verify that the correct port is specified for the named device. 3. Verify that the IP address given to the named device matches that of the actual device. 4. Verify that all devices have the correct serial port and system protocol configuration. 5. Increase the Request Timeout setting so that the entire response can be handled.
Encapsulation error occurred during a request to device '<device name>'. [Encap. Error=<code>]
Error Type:
Warning
www. kepware.com
98
Solution:
The driver will attempt to recover from such an error. If the problem persists, contact Technical Support. This excludes error 0x02, which is device-related, not driver-related.
See Also:
Encapsulation Error Codes
Error occurred during a request to device '<device name>'. [CIP Error=<code>, Ext. Error=<code>]
Error Type:
Warning
Possible Cause:
The device returned an error within the CIP portion of the Ethernet/IP packet during a request. All reads and writes within the request failed.
Solution:
The solution depends on the error code(s) returned.
See Also:
CIP Error Codes
Possible Cause:
1. The packets are misaligned due to connection and/or disconnection between the PC and device. 2. There is bad cabling connecting the device that is causing noise.
Solution:
1. Place the device on less noisy network. 2. Increase the Request Timeout and/or Attempts.
Unable to retrieve the Identity for device '<device>'. [CIP Error=<error>, Ext. Error=<error>]. All tags will use Symbolic Protocol Mode
Error Type:
Warning
Possible Cause:
The Identity was unable to be retrieved because the device returned an error within the CIP portion of the EtherNet/IP packet during a request. Devices set to a Logical mode will revert to Symbolic Mode until the issue is resolved.
Solution:
The solution depends on the error code that is returned. If the problem persists, contact Technical Support.
See Also:
CIP Error Codes
Unable to retrieve the Identity for device '<device>'. [Encap. Error=<error>]. All tags will use Symbolic Protocol Mode
Error Type:
Warning
www. kepware.com
99
Possible Cause:
The Identity was unable to be retrieved because the device returned an error within the Encapsulation portion of the EtherNet/IP packet during a request. Devices set to a Logical mode will revert to Symbolic Mode until the issue is resolved.
Solution:
The driver will attempt to recover from such an error. If the problem persists, contact Technical Support. This excludes error 0x02, which is device-related, not driver-related.
See Also:
Encapsulation Error Codes
Unable to retrieve the Identity for device '<device>'. Frame received contains errors. All tags will use Symbolic Protocol Mode
Error Type:
Warning
Possible Cause:
1. The packets are misaligned due to connection and/or disconnection between the PC and device. 2. There is bad cabling connecting the devices that is causing noise. 3. The wrong frame size was received. 4. There is a TNS mismatch. 5. An invalid response command was returned from the device. 6. The device is not EtherNet/IP enabled.
Solution:
1. The driver will recover from this error without intervention. If this error occurs frequently, there may be an issue with the cabling, the network, or the device itself. 2. Verify that the device being communicated with is a Rockwell EtherNet/IP-enabled device.
Read request for tag '<tag address>' on device '<device name>' failed due to a framing error. Tag deactivated
Error Type:
www. kepware.com
100
Possible Cause:
A read request for the specified tag failed due to one of the following reasons: 1. Incorrect request service code. 2. Received more or less bytes than expected.
Solution:
If this error occurs frequently, there may be an issue with the cabling or the device itself. If the error occurs frequently for a specific tag, contact Technical Support. Increasing the request attempts will also give the driver more opportunities to recover from this error. In response to this error, the tag will be deactivated; thus, it will not be processed again.
Possible Cause:
1. The Ethernet connection between the device and the Host PC is broken. 2. The communication parameters for the Ethernet connection are incorrect. 3. The named device may have been assigned an incorrect IP address.
Solution:
1. Verify the cabling between the PC and the device. 2. Verify that the correct port has been specified for the named device. 3. Verify that the IP address given to the named device matches that of the actual device.
Note:
In response to this error, the tag will be deactivated and will not be processed again.
Unable to read tag '<tag address>' on device '<device name>'. [CIP Error=<code>, Ext. Error=<code>]
Error Type:
Warning
Possible Cause:
The device returned an error within the CIP portion of the Ethernet/IP packet during a read request for the specified tag.
Solution:
The solution depends on the error code(s) returned.
See Also:
CIP Error Codes
Unable to read tag '<tag address>' on device '<device name>'. Controller Tag data type '<type>' unknown. Tag deactivated
Error Type:
Warning
Possible Cause:
A read request for the specified tag failed because the Controller Tag's data type is not currently supported.
Solution:
Contact Technical Support so that support may be added for this type. In response to this error, the tag will be deactivated; thus, it will not be processed again.
Unable to read tag '<tag address>' on device '<device name>'. Data type '<type>' is illegal for this tag. Tag deactivated
Error Type:
www. kepware.com
101
Warning
Possible Cause:
A read request for the specified tag failed because the client's tag data type is illegal for the given Controller Tag.
Solution:
Change the tag's data type to one that is supported. For example, data type Short is illegal for a BOOL array Controller Tag. Changing the data type to Boolean would remedy this problem. In response to this error, the tag will be deactivated; thus, it will not be processed again.
See Also:
Addressing Atomic Data Types
Unable to read tag '<tag address>' on device '<device name>'. Data type '<type>' not supported. Tag deactivated
Error Type:
Warning
Possible Cause:
A read request for the specified tag failed because the client's tag data type is not supported.
Solution:
Change the tag's data type to one that is supported. In response to this error, the tag will be deactivated; thus, it will not be processed again.
See Also:
Addressing Atomic Data Types
Unable to read tag '<tag address>' on device '<device name>'. Tag does not support multi-element arrays. Tag deactivated
Error Type:
Warning
Possible Cause:
A read request for the specified tag failed because the driver does not support multi-element array access to the given Controller Tag.
Solution:
Change the tag's data type or address to one that is supported. In response to this error, the tag will be deactivated; thus, it will not be processed again.
See Also:
Addressing Atomic Data Types
www. kepware.com
102
Unable to read '<count>' element(s) starting at '<tag address>' on device '<device name>'. Block does not support multi-element arrays. Block Deactivated
Read request for '<count>' element(s) starting at '<tag address>' on device '<device name>' failed due to a framing error. Block Deactivated
Error Type:
Warning
Possible Cause:
A read request for tags <tag address> to <tag address>+<count> failed due to one of the following reasons: 1. Incorrect request service code. 2. Received more or less bytes than expected.
Solution:
If this error occurs frequently, there may be an issue with the cabling or the device itself. If the error occurs frequently for a specific tag, contact Technical Support. Increasing the request attempts will also give the driver more opportunities to recover from this error. In response to this error, <count> elements of the block will be deactivated; thus, it will not be processed again.
Unable to read '<count>' element(s) starting at '<tag address>' on device '<device name>'. Block Deactivated
Error Type:
Warning
Possible Cause:
1. The Ethernet connection between the device and the Host PC is broken. 2. The communication parameters for the Ethernet connection are incorrect. 3. The named device may have been assigned an incorrect IP address.
Solution:
1. Verify the cabling between the PC and the device. 2. Verify that the correct port has been specified for the named device. 3. Verify that the IP address given to the named device matches that of the actual device.
Note:
In response to this error, <count> elements of the block will be deactivated; thus, it will not be processed again.
Unable to read '<count>' element(s) starting at '<tag address>' on device '<device name>'. [CIP Error=<code>, Ext. Error=<code>]
Error Type:
Warning
Possible Cause:
The device returned an error within the CIP portion of the Ethernet/IP packet during a read request for the specified tag.
Solution:
The solution depends on the error code(s) returned.
See Also:
CIP Error Codes
Unable to read '<count>' element(s) starting at '<address>' on device '<device>'. Controller Tag data type '<type>' unknown. Block deactivated
Error Type:
Warning
Possible Cause:
www. kepware.com
103
Solution:
Contact Technical Support so that support may be added for this type. In response to this error, <count> elements of the block will be deactivated; thus, it will not be processed again.
Unable to read '<count>' element(s) starting at '<address>' on device '<device>'. Data type '<type>' is illegal for this block
Error Type:
Warning
Possible Cause:
A read request for tags <tag address> to <tag address>+<count> failed because the client's tag data type is illegal for the given Controller Tag.
Solution:
Change the data type for tags within this block to one that is supported. For example, data type Short is illegal for a BOOL array Controller Tag. Changing the data type to Boolean would remedy this problem. In response to this error, <count> elements of the block will be deactivated; thus, it will not be processed again.
See Also:
Addressing Atomic Data Types
Unable to read '<count>' element(s) starting at '<address>' on device '<device>'. Data type '<type>' not supported
Error Type:
Warning
Possible Cause:
A read request for tags <tag address> to <tag address>+<count> failed because the client's tag data type is not supported.
Solution:
Change the data type for tags within this block to one that is supported. In response to this error, <count> elements of the block will be deactivated; thus, it will not be processed again.
See Also:
Addressing Atomic Data Types
Unable to read '<count>' element(s) starting at '<tag address>' on device '<device name>'. Block does not support multi-element arrays. Block Deactivated
Error Type:
Warning
Possible Cause:
A read request for tags <tag address> to <tag address>+<count> failed because the driver does not support multi-element array access to the given Controller Tag.
Solution:
Change the data type or address for tags within this block to one that is supported. In response to this error, <count> elements of the block will be deactivated; thus, it will not be processed again.
See Also:
Addressing Atomic Data Types
Write Errors
The following error/warning messages may be generated. Click on the link for a description of the message.
www. kepware.com
104
Unable to write to '<tag address>' on device '<device name>' Unable to write to tag '<tag address>' on device '<device name>'. [CIP Error=<code>, Ext. Status=<code>] Unable to write to tag '<tag address>' on device '<device name>'. Controller Tag data type '<type>' unknown Unable to write to tag '<tag address>' on device '<device name>'. Data type '<type>' is illegal for this tag Unable to write to tag '<tag address>' on device '<device name>'. Data type '<type>' not supported Unable to write to tag '<tag address>' on device '<device name>'. Tag does not support multielement arrays Write request for tag '<tag address>' on device '<device name>' failed due to a framing error
Possible Cause:
1. The Ethernet connection between the device and the Host PC is broken. 2. The communication parameters for the Ethernet connection are incorrect. 3. The named device may have been assigned an incorrect IP address.
Solution:
1. Verify the cabling between the PC and the device. 2. Verify that the correct port has been specified for the named device. 3. Verify that the IP address given to the named device matches that of the actual device.
Unable to write to tag '<tag address>' on device '<device name>'. [CIP Error=<code>, Ext. Status=<code>]
Error Type:
Warning
Possible Cause:
The device returned an error within the CIP portion of the Ethernet/IP packet during a write request for the specified tag.
Solution:
The solution depends on the error code(s) returned.
See Also:
CIP Error Codes
Unable to write to tag '<tag address>' on device '<device name>'. Controller Tag data type '<type>' unknown
Error Type:
Warning
Possible Cause:
A write request for the specified tag failed because the Controller Tag's data type is not currently supported.
Solution:
Contact Technical Support so that support may be added for this type.
Unable to write to tag '<tag address>' on device '<device name>'. Data type '<type>' is illegal for this tag
Error Type:
Warning
www. kepware.com
105
Possible Cause:
A write request for the specified tag failed because the client's tag data type is illegal for the given Controller Tag.
Solution:
Change the tag's data type to one that is supported. For example, data type Short is illegal for a BOOL array Controller Tag. Changing the data type to Boolean would remedy this problem.
See Also:
Addressing Atomic Data Types
Unable to write to tag '<tag address>' on device '<device name>'. Data type '<type>' not supported
Error Type:
Warning
Possible Cause:
A write request for the specified tag failed because the client's tag data type is not supported.
Solution:
Change the tag's data type to one that is supported.
See Also:
Addressing Atomic Data Types
Unable to write to tag '<tag address>' on device '<device name>'. Tag does not support multi-element arrays
Error Type:
Warning
Possible Cause:
A write request for the specified tag failed because the driver does not support multi-element array access to the given Controller Tag.
Solution:
Change the tag's data type or address to one that is supported.
See Also:
Addressing Atomic Data Types
Write request for tag '<tag address>' on device '<device name>' failed due to a framing error
Error Type:
Warning
Possible Cause:
A write request for the specified tag failed after so many retries due to one of the following reasons: 1. Incorrect request service code. 2. Received more or less bytes than expected.
Solution:
If this error occurs frequently, there may be an issue with the cabling or device. Increasing the Retry Attempts will also give the driver more opportunities to recover from this error.
www. kepware.com
106
Possible Cause:
The device returned an error within the Encapsulation portion of the Ethernet/IP packet while uploading the controller project.
Solution:
The solution depends on the error code that is returned. If the problem persists, contact Technical Support.
Note:
A project upload is required for the Logical Addressing Modes.
See Also:
Encapsulation Error Codes
Error occurred while uploading project information. [CIP Error=<code>, Ext. Error=<code>]
Error Type:
Warning
Possible Cause:
The device returned an error within the CIP portion of the Ethernet/IP packet while uploading the controller project.
Solution:
The solution depends on the error code that is returned. If the problem persists, contact Technical Support.
Note:
A project upload is required for the Logical Addressing Modes.
See Also:
CIP Error Codes
Possible Cause:
1. The packets are misaligned (due to connection/disconnection between the PC and device). 2. There is bad cabling connecting the device that is causing noise.
Solution:
1. Place the device on a less noisy network. 2. Increase the request timeout and/or attempts.
www. kepware.com
107
3. Restart the server and try again.
Note:
A project upload is required for the Logical Addressing Modes.
Invalid or corrupt controller project detected while synchronizing. Synchronization will be retried shortly
Error Type:
Warning
Possible Cause:
An invalid or corrupt controller project was detected during synchronization.
Solution:
No action is required. The driver will re-attempt synchronization after a period of 30 seconds.
Note:
Project synchronization is required for the Logical Addressing Modes.
Possible Cause:
Memory required for controller project upload could not be allocated.
Solution:
Close any unused applications and/or increase the amount of virtual memory. Then, restart the server and try again.
Note:
A project upload is required for the Logical Addressing Modes.
Possible Cause:
A project download was attempted while the device was synchronizing with the controller project.
Solution:
No action is required. The driver will re-attempt synchronization after a period of 30 seconds.
Note:
Project synchronization is required for the Logical Addressing Modes.
Unable to read '<element>' element(s) starting at '<address>' on device '<device name>'. Native Tag size mismatch
Error Type:
Warning
Possible Cause:
The Native Tag's size (footprint) does not match the expected size that was determined from the project upload.
Solution:
Contact Technical Support to report the issue. Then, change the Protocol Mode to Symbolic as a workaround.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver Help Unable to read tag '<tag name>' on device '<device name>'. Native Tag size mismatch
Error Type:
Warning
108
Possible Cause:
The Native Tag's size (footprint) does not match the expected size that was determined from the project upload.
Solution:
Contact Technical Support to report the issue. Then, change the Protocol Mode to Symbolic as a workaround.
Unable to write to tag '<tag name>' on device '<device name>'. Native Tag size mismatch
Error Type:
Warning
Possible Cause:
The Native Tag's size (footprint) does not match the expected size that was determined from the project upload.
Solution:
Contact Technical Support to report the issue. Then, change the Protocol Mode to Symbolic as a workaround.
Device '<device name>' is not responding. Local node responded with error ' [DF1 STS=<value>]'
Error Type:
Warning
Possible Cause:
This error means that the PLC did not respond to the read request from the local node. A local node could be an intermediate node like 1756-DHRIO, 1756-CNB, 1761-NET-ENI, and so forth.
Solution:
Refer to A-B documentation for STS error code definitions. For example, if STS code '0x02'(hex) is returned, verify the cabling between the remote node (PLC) and the local node.
Unable to read '<block size>' element(s) starting at '<address>' on device '<device name>'. [DF1 STS=<value>, EXT STS=<value>]. Tag(s) deactivated
Error Type:
Warning
Possible Cause:
www. kepware.com
109
Solution:
Check the status and extended status codes that are being returned by the PLC. An extended status code may not always be returned; therefore, the error information is contained within the status code. The codes are displayed in hexadecimal. Status code errors in the low nibble of the status code indicate errors found by the local node. The driver will continue to retry reading these blocks of data periodically. Errors found by the local node occur when the KF module cannot see the destination PLC on the network. Status code errors in the high nibble of the status code indicate errors found by the PLC. These errors are generated when either the block of data the driver is asking for is not available in the PLC or the address does not exist in the PLC. The driver will not ask for these blocks again after receiving this kind of error.
Note:
The block starting at address <address> may be deactivated in the process depending on the severity of the error.
See Also:
A-B documentation for STS and Ext. STS error code definitions.
Unable to read '<block size>' element(s) starting at '<address>' on device '<device name>'. Frame received contains errors
Error Type:
Warning
Possible Cause:
1. Misalignment of packets due to connection/disconnection between PC and device. 2. There is bad cabling connecting the devices that is causing noise.
Solution:
The driver will recover from this error without intervention. If this error occurs frequently, there may be an issue with the cabling or the device itself.
Unable to write to address <address> on device '<device name>'. '[DF1 STS=<value>, EXT STS=<value>]'
Error Type:
Warning
Possible Cause:
The address written to does not exist in the PLC.
Solution:
Check the status and extended status codes that are being returned by the PLC. Note that an extended status code may not always be returned and thus the error information is contained within the status code. The codes are displayed in hexadecimal.
Note:
Status code errors in the low nibble of the status code indicate errors found by the local node. Errors found by the local node occur when the KF module cannot see the destination PLC on the network for some reason. Status code errors in the high nibble of the status code indicate errors found by the PLC. These errors are generated when the data location is not available in the PLC or not writeable.
See Also:
A-B documentation for STS and Ext. STS error code definitions.
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver Help Unable to write to address <address> on device '<device name>'. Frame received contains errors
Error Type:
Warning
110
Possible Cause:
1. Misalignment of packets due to connection/disconnection between PC and device. 2. There is bad cabling connecting the devices that is causing noise. 3. Incorrect frame size received. 4. TNS mismatch. 5. Invalid response command returned from device.
Solution:
The driver will recover from this error without intervention. If this error occurs frequently, there may be an issue with the cabling or the device itself.
Unable to write to address <address> on device '<device name>'. Local node responded with error '[DF1 STS=<value>]'
Error Type:
Warning
Possible Cause:
This error means that the PLC did not respond to the write request from the local node. A local node could be an intermediate node like 1756-DHRIO, 1756-CNB, 1761-NET-ENI, and so forth.
Solution:
Refer to A-B documentation for STS error code definitions. For example, if the STS code '0x02'(hex) is returned, verify the cabling between the remote node (PLC) and the local node.
Unable to write to function file <address> on device '<device name>'. Local node responded with error '[DF1 STS=<value>]'
Error Type:
Warning
Possible Cause:
This error means that the PLC did not respond to the write request from the local node. A local node could be an intermediate node like 1756-DHRIO, 1756-CNB, 1761-NET-ENI, and so forth.
Solution:
Refer to A-B documentation for STS error code definitions. For example, if the STS code '0x02'(hex) is returned, verify the cabling between the remote node (PLC) and the local node.
www. kepware.com
111
Database Error: Array tags '<orig. tag name><dimensions>' exceed 31 characters. Tags renamed to '<new tag name><dimensions>'
Error Type:
Warning
Possible Cause:
The name assigned to an Array Tag originates from the tag name in the controller. This name exceeds the 31 character limitation and will be renamed to one that is valid. <Dimensions> define the number of dimensions for the given Array Tag . XXX for 1 dimension, XXX_YYY for 2, XXX_YYY_ZZZ for 3. The number of X's, Y's and Z's approximates the number of elements for the respective dimensions. Since such an error will occur for each element, generalizing with XXX, YYY and ZZZ implies all array elements will be affected.
Solution:
None.
See Also:
Controller-to-Server Name Conversions
Database Error: Data type '<type>' for tag '<tag name>' not found in Tag Import file. Tag not added
Error Type:
Warning
Possible Cause:
The definition of data type '<type>', for tag <tag name>, could not be found in the Tag Import file. Tag will not be added to the database.
Solution:
Contact Technical Support.
Database Error: Data type for Ref. Tag '<tag name>' unknown. Setting Alias Tag '<tag name>' data type to Default ('<type>')
Error Type:
Warning
Possible Cause:
The data type of the "Alias For" *tag referenced in the Alias Tag's declaration could not found in the Tag Import file. This data type is necessary to generate the alias tag correctly.
Solution:
The Alias Tag will take on the default type specified in the Default Type tab in Device Properties.
Note:
In RSLogix5000, "Alias For" is a column in the tag view under the Edit Tags tab. This is where the reference to the tag, structure tag member, or bit that the alias tag will represent is entered.
See Also:
Logix Options
www. kepware.com
Allen-Bradley ControlLogix Ethernet Driver Help Database Error: Error occurred processing Alias Tag '<tag name>'. Tag not added
Error Type:
Warning
112
Possible Cause:
An internal error occurred processing alias tag <tag name>. Alias tag could not be generated.
Solution:
None.
Database Error: Member data type '<type>' for UDT '<UDT name>' not found in Tag Import file. Setting to Default Type '<type>'
Error Type:
Warning
Possible Cause:
The definition of data type '<type>', for a member in the user-defined type <UDT name>, could not be found in the Tag Import file.
Solution:
This member will take on the default type specified in the Default Type tab of Device Properties.
See Also:
Logix Options
Database Error: Program group '<orig. program name>' exceeds 31 characters. Program group renamed to '<new program name>'
Error Type:
Warning
Possible Cause:
The program name assigned to this group exceeds the 31 character limitation and will be renamed to one that is valid.
Solution:
None.
See Also:
Controller-to-Server Name Conversions
Database Error: Tag '<orig. tag name>' exceeds 31 characters. Tag renamed to '<new tag name>'
Error Type:
Warning
Possible Cause:
The name assigned to a tag originates from the tag name in the controller. This name exceeds the 31 character limitation and will be renamed to one that is valid.
Solution:
None.
See Also:
Controller-to-Server Name Conversions
www. kepware.com
113
Allen-Bradley ControlLogix Ethernet Driver Help Database Error: Unable to resolve CIP data type '<hex value>' for tag '<tag name>'. Setting to Default Type '<logix data type>'
Error Type:
Warning
Possible Cause:
1. The CIP data type in the import file is unknown. 2. The import file may contain an error.
Solution:
Resolve any errors in RSLogix. Then, retry the tag export process in order to produce a new tag import file.
See Also:
Preparing for Automatic Tag Database Generation
Invalid or corrupt controller project detected while synchronizing. Try again later
Error Type:
Warning
Possible Cause:
An invalid or corrupt controller project was detected during synchronization.
Solution:
Wait for the project download to complete, and then attempt automatic tag generation.
Possible Cause:
A project download was attempted while the device was synchronizing with the controller project.
Solution:
Wait for the project download to complete, and then attempt automatic tag generation.
Unable to generate a tag database for device <device name>. Reason: Import file not found
Error Type:
Warning
Possible Cause:
The file specified as the Tag Import File in the Database Settings tab of Device Properties cannot be found.
Solution:
Select a valid Tag Import file or retry the tag export process in RSLogix to produce a new Tag Import file.
See Also:
Preparing for Automatic Tag Database Generation Logix Database Settings
Unable to generate a tag database for device <device name>. Reason: L5K File is invalid or corrupt
Error Type:
Warning
Possible Cause:
The file specified as the Tag Import File in the Database Settings tab of Device Properties is not an L5K file (or it is a corrupt L5K file).
www. kepware.com
114
Solution:
Select a valid L5K file or retry the tag export process in RSLogix to produce a new L5K file.
See Also:
Preparing for Automatic Tag Database Generation Logix Database Settings
Unable to generate a tag database for device <device name>. Reason: Low memory resources
Error Type:
Warning
Possible Cause:
Memory required for database generation could not be allocated. The process is aborted.
Solution:
Close any unused applications and/or increase the amount of virtual memory. Then, try again.
www. kepware.com
Select a link from the list below for more information on a specific topic. Choosing a Protocol Mode Detecting a Change in the Controller Project SoftLogix 5800 Connection Notes Glossary
www. kepware.com
116
Note: To take advantage of the Multi-Request Packet optimization, as many tags should be represented in a single packet as possible. Since tag addresses are represented by their ASCII character name in the packet, the tag addresses should be as short as possible. For example, "MyTag" is preferred over "MyVeryLongTagNameThatContains36Chars."
Logical Modes
Logical Non-Blocking and Logical Blocking encapsulate two read protocols. The protocol used is automatically determined by the driver and is based on the controller revision. The table below summarizes the modes and the protocols to which they map. Protocol Mode Symbolic Logical Non-Blocking Logical Blocking *Deprecated in V21. The information necessary to perform Logical reads is retrieved in a controller project upload sequence performed automatically by the driver. For the sake of brevity, the term "Logical Address" will be used to represent the Symbol Instance ID or Physical Address, depending on the protocol used. The Logical Modes avoid the time-consuming address parsing and lookups that are required for every symbolic request. Note: These Logical Modes are not available to Serial Gateway models. Logical Non-Blocking Mode Logical Non-Blocking Mode requests all Client/Server Tags individually and at a fixed size. Benefits 1. Contains the maximum request per Multi-Request Packet because each request is a fixed size. 2. Low device turnaround time because the Client/Server Tags are specified in the packet with their logical address. 3. Only the data that is being accessed in the Client/Server Tags will be requested from the PLC. Note: This mode is preferred when the minority of Structure Tag members are referenced by a client/server. Logical Blocking Mode Logical Blocking retrieves all data for a Logix Tag in a single request that may be initiated by only one Client/Server Tag. When the data block is received, it is placed in a cache in the driver and then time stamped. Successive Client/Server Tags that belong to the given Logix Tag then get their data from this cache. When all tags are updated, a new request is initiated provided that the cache is not old. The cache is old when the current time > cache timestamp + tag scan rate. If this case holds, another block request is made to the device, the cache is refreshed, and the cycle repeats. Benefits Detriments Detriments Initialization overhead when uploading the project to determine the logical addresses. Read Protocol Used FRN V21 and Higher Symbolic (Non-Blocking) Symbol Instance Non-Blocking Symbol Instance Blocking FRN V20 and Lower Symbolic (Non-Blocking) Physical Non-Blocking* Physical Blocking* Write Protocol Used All FRN Symbolic Symbol Instance Symbol Instance
www. kepware.com
117
1. Contents will be retrieved on every read. 2. Low device turnaround time because the Client/Server Tags are specified in the packet with their logical address. 3. Contains the maximum request per Multi-Request Packet because each request is a fixed size.
Note: This mode is preferred when the majority of Structure Tag members are referenced by a client/server. See Also: Performance Statistics and Tuning
Downloads in Progress: The driver monitors for both online and offline edits in every request. It will detect if a download occurs while actively reading or writing to Native Tags, and will then follow a project change procedure depending on its mode. To enable this synchronization, right-click on the device and then select Properties. In the Logix Options tab, locate either Online Edits or Offline Edits and select Yes. Online Edits: The driver monitors for online edits in every request. It will detect if an online edit occurs with the controller on the following read or write operation, and will then follow a project change procedure depending on its mode. To enable this synchronization, right-click on the device and then select Properties. In the Logix Options tab, locate Online Edits and select Yes. Offline Edits:The driver monitors for offline edits in every request. It will detect if an offline edit occurs with the controller on the following read or write operation, and will then follow a project change procedure depending on its mode. To enable this synchronization, right-click on the device and then select Properties. In the Logix Options tab, locate Offline Edits and select Yes.
All reads and writes in progress halt and fail. The controller is polled every 2 seconds to monitor for project change completion. The project change is no longer detected. A message is posted to the Event Log indicating that a change is no longer detected.
www. kepware.com
118
4. During project change, the scenario for online and offline edits is as follows:
l l
The response data is ignored. All reads and writes in progress are retried.
All reads and writes in progress halt and fail. The controller is polled every 2 seconds to monitor for project change completion. The project change is no longer detected. A message is posted to the Event Log indicating that the change is no longer detected.
4. During project change, the scenario for online and offline edits is as follows:
l l
The response data is ignored. All reads and writes in progress are retried.
5. The reads and writes resume using Symbolic Mode. 6. If the Synchronize with Controller options are enabled:
l
After 30 seconds of Symbolic Mode, the driver uploads (synchronizes) the project from the controller. The reads and writes resume using Logical Mode with the new logical addresses.
7. If the Synchronize with Controller options are disabled, the reads and writes resume using Logical Mode with the old logical addresses.
www. kepware.com
119 Glossary
Term Protocol Mode Default Type Definition
The means by which Controller Tag addresses are specified in data access communication packets. Due to the symbolic nature of Logix Tag-Based Addressing, tags can be of any data type. This is in contrast to DF1 where file access (such as N7:0) is always a given set of data types (Word, Short). Because of this flexibility, there needs to be a data type that tags default to when no data type is explicitly set. This is the case when a tag is created in a client and assigned the data type "Native" or created in the server and assigned the data type "Default". In these cases, the tag in question will be assigned the data type set as the Default Type. There are also cases in Automatic Tag Database Generation where the Default Type is used to set a server tag's data type. Utilizing an EtherNet/IP communication module to obtain access to a DH+ or ControlNet network from the same backplane. Rack must contain an EtherNet/IP communication module and a DHRIO or CNB module. Unique identifier for an interface module (such as Node ID, IP address and so forth). Stream of data bytes on the wire representing the request(s) being made. Packets are limited in size. A Protocol Mode in which Controller Tag addresses are specified by their logical address in the controller. This provides a performance increase over Symbolic Mode but requires a project upload to gather the logical addresses. There are two logical addresses that can be used. If the controller revision is V20 or lower, the logical address is the Physical (DMA) address. If the controller revision is V21 or higher, the logical address is the Symbol Instance ID. Non-Blocking: Each Client/Server Tag is requested individually from the device. Similar to Symbolic in nature but much faster in performance. Blocking: Each Controller Tag is requested as a single block of data. Each Client/Server Tag is updated via cache storage of this data in the server. Much faster performance over Symbolic Mode.
Gateway
Specifies a way out of the interface module in question (such as channel). Synchronization of the driver's project image with that of the controller project. This is required for the Logical Protocol modes. Utilizing one or more Logix racks to hop to another Logix rack. A Protocol Mode in which Controller Tag addresses are specified by their ASCII character equivalent. Each Client/Server Tag is requested individually. This provides immediate access to controller data without a project upload but is overall slower in performance when compared to any of the Logical Modes. Special assignment of tags to devices whose Protocol Mode is set for Logical Blocking or Logical Non-Blocking Mode. Assignment is based on rules that maximize the performance of access to these tags.*
Tag Division
*For more information on tag division, refer to Performance Statistics and Tuning and Optimizing Your Communications.
www. kepware.com
120
Logix Pre-Defined Data Type Server Structure Data Type Structure Tag
www. kepware.com
121
Index
0
0x0001 Extended Error Codes 92 0x001F Extended Error Codes 92 0x00FF Extended Error Codes 92
1
1761-NET-ENI 21
A
Address '<address>' is out of range for the specified device or register 94 Address Descriptions 46 Address Formats 52 Address Validation Errors 94 Addressing Atomic Data Types 54 Addressing STRING Data Type 55 Addressing Structure Data Types 55 Advanced Addressing: BOOL 57 Advanced Addressing: DINT 62 Advanced Addressing: INT 60 Advanced Addressing: LINT 64 Advanced Addressing: SINT 58 Advanced Addressing:REAL 65 Array Block Size 17 Array size is out of range for address '<address>' 94 Array support is not available for the specified address: '<address>' 94 Array Tags 52, 87 ASCII Files 77 Automatic Tag Database Generation 87, 110 Automatic Tag Database Generation Errors 110
www. kepware.com
122
B
BCD 45 BCD Files 78 Binary Files 73 Block Transfer Files 82 Boolean 45 Byte 45
C
Cable Diagrams 10 Channel 0 Communication Status File 85 Channel 1 Communication Status File 85 Char 45 Choosing a Protocol Mode 116 CIP Error Codes 91 Communication Errors 96 Communication Protocol 10 Communications Routing 11 CompactLogix 5300 Addressing for ENI 46 CompactLogix 5300 Addressing for Ethernet 46 CompactLogix 5300 Addressing for Serial Gateway 46 Connection Path Specification 11 Control Files 75 Controller-to-Server Name Conversions 89 ControlLogix 5000 Addressing 51 ControlLogix 5500 Addressing for ENI 46 ControlLogix 5500 Addressing for Ethernet 46 ControlLogix 5500 Addressing for Serial Gateway 46 ControlLogix 5500 Ethernet 15 ControlLogix Communications Parameters 16 ControlLogix Database Filtering 21 ControlLogix Database Settings 19 ControlLogix Options 17 ControlLogix Specific Error Messages 99 ControlNet (TM) Gateway 23 ControlNet Gateway Device ID 23
www. kepware.com
123
Counter Files 74 Create Tag Database from Device 19 Create Tag Database from Import File 20
D
Data Type '<type>' is not valid for device address '<address>' 95 Data Types Description 45 Database Error: Array tags '<orig. tag name><dimensions>' exceed 31 characters. Tags renamed to '<new tag name><dimensions>' 111 Database Error: Data type '<type>' for tag '<tag name>' not found in Tag Import file. Tag not added 111 Database Error: Data type for Ref. Tag '<tag name>' unknown. Setting Alias Tag '<tag name>' data type to Default ('<type>') 111 Database Error: Error occurred processing Alias Tag '<tag name>'. Tag not added 112 Database Error: Member data type '<type>' for UDT '<UDT name>' not found in Tag Import file. Setting to Default Type '<type>' 112 Database Error: Program group '<orig. program name>' exceeds 31 characters. Program group renamed to '<new program name>' 112 Database Error: Tag '<orig. tag name>' exceeds 31 characters. Tag renamed to '<new tag name>' 112 Database Error: Unable to resolve CIP data type '<hex value>' for tag '<tag name>'. Setting to Default Type '<logix data type>' 113 DataHighwayPlus (TM) Gateway Setup 22 Detecting a Change in the Controller Project 117 Device '<device name>' is not responding 97 Device '<device name>' is not responding. Local node responded with error '[DF1 STS=<value>]' 108 Device address '<address>' contains a syntax error 95 Device address '<address>' is not supported by model '<model name>' 95 Device address '<address>' is Read Only 95 Device Setup 9 Device Specific Error Messages 97 DH+ Gateway Device ID 22, 24 Display Descriptions 20 DWord 45
E
Encapsulation Error Codes 91
www. kepware.com
124
Encapsulation error occurred during a request to device '<device name>'. [Encap. Error=<code>] 97 Encapsulation error occurred while uploading project information. [Encap. Error <code>] 106 ENI Device ID 22 ENI DF1/DH+/ControlNet Gateway Communications Parameters 25 ENI/DH+/ControlNet Gateway Specific Error Messages 108 Error Codes 91 Error Descriptions 94 Error occurred during a request to device '<device name>'. [CIP Error=<code>, Ext. Error=<code>] 98 Error occurred while uploading project information. [CIP Error=<code>, Ext. Error=<code>] 106 EtherNet/IP Gateway Setup 24
F
File Listing 67 FlexLogix 5400 Addressing for Serial Gateway 47 FlexLogix 5400 Addressing for ENI 47 FlexLogix 5400 Addressing for Ethernet 46 Float 45, 76 Float Files 76 Frame received from device '<device name>' contains errors 98 Framing error occurred while uploading project information 106 Function File Listing 83
G
Global Tags 53 Glossary 119
H
Help Contents 7 High Speed Counter File (HSC) 83
www. kepware.com
125
I
I/O Module Statis File (IOS) 85 Inactivity Watchdog 17 Input Files 70 Integer Files 76 Invalid or corrupt controller project detected while synchronizing. Synchronization will be retried shortly 107 Invalid or corrupt controller project detected while synchronizing. Try again later 113
L
LBCD 45 Leading Underscores 89 Link Address 12 Logix Addressing 46, 51 Logix Advanced Addressing 57 Logix Communications Parameters 16 Logix Database Filtering 21 Logix Database Options 20 Logix Database Settings 19 Logix Device IDs 15 Logix Options 17 Logix Tag-Based Addressing 51 Long 45 Long Controller Program & Tag Names 87 Long Files 78 Low memory resources 107
M
Memory could not be allocated for tag with address '<address>' on device '<device name>' 96 Message Files 81 Micrologix 1100 Device ID 25 MicroLogix 1100 Setup 25 Micrologix Addressing 47 Micrologix Addressing for ENI 47
www. kepware.com
126
Micrologix Addressing for EtherNet/IP Gateway 47 MicroLogix Message Files 81 MicroLogix PID Files 79 Missing address 96
N
Non-Blocking 99
O
Optimizing Your Application 32 Optimizing Your Communications 30 Ordering of Logix Array Data 56 Output Files 67 Overview 7
P
Performance Optimizations 30 Performance Statistics and Tuning 33 Performance Tuning Example 34 PID Files 79 PLC-5 Series Addressing 50 PLC-5 Series Addressing for ControlNet 50 PLC-5 Series Addressing for EtherNet/IP Gateway 51 Port ID 12 Port Number 17 Predefined Term Tags 54 Preparing for Automatic Tag Database Generation 89 Program Tags 53 Project download detected while synchronizing. Synchronization will be retried shortly 107 Project download detected while synchronizing. Try again later 113 Project Synchronization Errors 105
www. kepware.com
127
R
Read Errors 99, 101 Read request for '<count>' element(s) starting at '<address>' on device '<device>' failed due to a framing error. Block deactivated 102 Read request for tag '<tag address>' on device '<device name>' failed due to a framing error. Tag deactivated 99 Real-Time Clock File (RTC) 84 Reference Material 115 Routing Examples 12
S
Serial Gateway Device ID 25 Serial Gateway Setup 24 Short 45 SLC 500 Fixed I/O Addressing 49 SLC 500 Fixed I/O Addressing for ENI 49 SLC 500 Fixed I/O Addressing for EtherNet/IP Gateway 49 SLC 500 Modular I/O Addressing 49 SLC 500 Modular I/O Addressing for DH+ 49 SLC 500 Modular I/O Addressing for ENI 50 SLC 500 Modular I/O Addressing for EtherNet/IP Gateway 49 SLC 500 Modular I/O Selection Guide 28 SLC 500 Slot Configuration 27 SoftLogix 5800 Addressing 47 SoftLogix 5800 Addressing for Serial Gateway 47 SoftLogix Communications Parameters 16 SoftLogix Database Filtering 21 SoftLogix Database Settings 19 SoftLogix Options 17 SoftLogix Soft PLC Connection Notes 118 Status Files 73 String Files 77 Structure Tag Addressing 53 Supported Devices 9
www. kepware.com
128
T
Tag Hierarchy 87 Tag Import File 20 Tag Scope 53 Timer Files 74
U
Unable to bind to adapter: '<adapter>'. Connect failed 96 Unable to generate a tag database for device <device name>. Reason: Import file not found 113 Unable to generate a tag database for device <device name>. Reason: L5K File is invalid or corrupt 113 Unable to generate a tag database for device <device name>. Reason: Low memory resources 114 Unable to read '<block size>' element(s) starting at '<address>' on device '<device name>'. [DF1 STS_EXT STS]. Tag(s) deactivated 108 Unable to read '<block size>' element(s) starting at '<address>' on device '<device name>'. Frame received contains errors 109 Unable to read '<count>' element(s) starting at '<address>' on device '<device>'. Controller Tag data type '<type>' unknown. Block deactivated 102 Unable to read '<count>' element(s) starting at '<address>' on device '<device>'. Data type '<type>' is illegal for this block 103 Unable to read '<count>' element(s) starting at '<address>' on device '<device>'. Data type '<type>' not supported 103 Unable to read '<count>' element(s) starting at '<tag address>' on device '<device name>'. [CIP Error=<code>, Ext. Error=<code>] 102 Unable to read '<count>' element(s) starting at '<tag address>' on device '<device name>'. Block Deactivated 102 Unable to read '<count>' element(s) starting at '<tag address>' on device '<device name>'. Block does not support multi-element arrays. Block Deactivated 103 Unable to read '<element>' element(s) starting at '<address>' on device '<device name>'. Native Tag size mismatch 107 Unable to read '<tag address>' on device '<device name>'. Tag deactivated 100 Unable to read tag '<tag address>' on device '<device name>'. [CIP Error=<code>, Ext. Error=<code>] 100 Unable to read tag '<tag address>' on device '<device name>'. Controller Tag data type '<type>' unknown. Tag deactivated 100 Unable to read tag '<tag address>' on device '<device name>'. Data type '<type>' is illegal for this tag. Tag deactivated 100
www. kepware.com
129
Unable to read tag '<tag address>' on device '<device name>'. Data type '<type>' not supported. Tag deactivated 101 Unable to read tag '<tag address>' on device '<device name>'. Tag does not support multielement arrays. Tag deactivated 101 Unable to read tag '<tag name>' on device '<device name>'. Native Tag size mismatch 108 Unable to retrieve the Identity for device '<device>'. [CIP Error=<error>, Ext. Error=<error>]. All tags will use Symbolic Protocol Mode 98 Unable to retrieve the Identity for device '<device>'. [Encap. Error=<error>]. All tags will use Symbolic Protocol Mode 98 Unable to retrieve the Identity for device '<device>'. Frame received contains errors. All tags will use Symbolic Protocol Mode 99 Unable to write to '<tag address>' on device '<device name>' 104 Unable to write to address <address> on device '<device name>'. '[DF1 STS=<value>, EXT STS=<value>]' 109 Unable to write to address <address> on device '<device name>'. Local node responded with error '[DF1 STS=<value>]' 110 Unable to write to address <address> on device <device name>. Frame received contains errors 110 Unable to write to function file <address> on device '<device name>'. Local node responded with error '[DF1 STS=<value>]' 110 Unable to write to tag '<tag address>' on device '<device name>'. [CIP Error=<code>, Ext. Status=<code>] 104 Unable to write to tag '<tag address>' on device '<device name>'. Controller Tag data type '<type>' unknown 104 Unable to write to tag '<tag address>' on device '<device name>'. Data type '<type>' is illegal for this tag 104 Unable to write to tag '<tag address>' on device '<device name>'. Tag does not support multielement arrays 105 Unable to write to tag '<tag name>' on device '<device name>'. Native Tag size mismatch 108 Unable to write to tag <tag address> on device <device name> . Data type <type> not supported 105
W
Winsock initialization failed (OS Error = n) 96 Winsock V1.1 or higher must be installed to use the Allen-Bradley ControlLogix Ethernet device driver 97 Word 45 Write Errors 103 Write request for tag '<tag address>' on device '<device name>' failed due to a framing error 105
www. kepware.com