PI Point Configuration The PI point is the basic building block for controlling data flow to and from the PI Server. A single point is configured for each measurement value that needs to be archived. Point Attributes Use the point attributes below to define the PI point configuration for the Interface, including specifically what data to transfer. Tag The Tag attribute (or tagname) is the name for a point. There is a one-to-one correspondence between the name of a point and the point itself. Because of this relationship, PI documentation uses the terms “tag” and “point” interchangeably. Follow these rules for naming PI points: The name must be unique on the PI Server. The first character must be alphanumeric, the underscore (_), or the percent sign (%). Control characters such as linefeeds or tabs are illegal. The following characters also are illegal: * ’ ? ; { } [ ] | \ ` ' " Length Depending on the version of the PI API and the PI Server, this Interface supports tags whose length is at most 255 or 1023 characters. The following table indicates the maximum length of this attribute for all the different combinations of PI API and PI Server versions. PI API PI Server Maximum Length 1.6.0.2 or higher 3.4.370.x or higher 1023 1.6.0.2 or higher Below 3.4.370.x 255 Below 1.6.0.2 3.4.370.x or higher 255 Below 1.6.0.2 Below 3.4.370.x 255 PointSource The PointSource attribute contains a unique, single or multi-character string that is used to identify the PI point as a point that belongs to a particular interface. For additional information, see the /ps command-line parameter and the "PointSource" section.
[UFO2_HEARTBEAT:#] (IF-Node1) Required Heartbeat 1 Tag The ExDesc must start with the case sensitive string: [UFO2_HEARTBEAT:#] The number following the colon (:) must be the Failover ID for the interface running on IFNode1. The pointsource must match the interfaces’ point source. Location1 must match the ID for the interfaces. 0 – 31 / None Updated by the Interface on IFNode1 [UFO2_HEARTBEAT:#] (IF-Node2) Required Heartbeat 2 Tag The ExDesc must start with the case sensitive string: [UFO2_HEARTBEAT:#] The number following the colon (:) must be the Failover ID for the interface running on IFNode2. The pointsource must match the interfaces’ point source. Location1 must match the id for the interfaces. 0 – 31 / None Updated by the Interface on IFNode2 [UFO2_DEVICESTAT :#] (IF-Node1) Required Device Status 1 Tag The ExDesc must start with the case sensitive string: [UFO2_HEARTBEAT:#] The value following the colon (:) must be the Failover ID for the interface running on IF-Node1 The pointsource must match the interfaces’ point source. Location1 must match the id for the interfaces. A lower value is a better status and the interface with the lower status will attempt to become the primary interface. The failover 1 device status tag is very similar to the UniInt Health Device Status tag except the data written to this tag are integer values. A value of 0 is good and a value of 99 is OFF. Any value between these two extremes may result in a failover. The interface client code updates these values when the health device status tag is updated. 0 – 99 / None Updated by the Interface on IFNode1
[UFO2_STATE:#] (IF-Node2) Optional State 2 Tag The ExDesc must start with the case sensitive string: [UFO2_STATE:#] The number following the colon (:) must be the Failover ID for the interface running on IFNode2 The failover state tag is recommended. Normally updated by the Interface currently in the Primary state. Values range between 0 and 5. See description of State 1 tag.
Message ID 43482 Message All devices are now communicating properly. Meaning All connected devices are now communicating properly. This message will occur after at least one device changes its status from a previous state and now all known devices are communicating. Message ID 43484 Message Changes to the configuration file have been made. Meaning Changes to the configuration file have been made without any errors while the interface is running. Warning Message ID 43417 Message Tag 'V1' was rejected because it was invalid. Example Tag 'DemoTag25' was rejected because it was invalid. Cause The tag was not properly configured. Resolution The interface will continue on without loading the tag. The tag must be correctly configured and the interface must be restarted before the tag can be loaded. Meaning The format of this message is the same for all interface parameter out of range errors. The meaning of the values in the message itself are as follows: V1 Long name of the tag NOTE: This message is preceded by a more specific message noting the exact problem with the tag. Message ID 43430 Message Load PI point failed for tag 'tagname'. An invalid combination of data type and function code was used in Location3. Values read: Location3 = L3, Data Type = DT, Function Code = FC. Cause The attribute of tag tagname contains an invalid combination of data type and function code. Resolution Modify the Location3 attribute value L3 of tag tagname so that the combination of the function code value FC and the data type value DT is valid. Message ID 43431 Message Changing function code for tag 'tagname' from 6 to 16. Function code 6 does not support data types 5, 6, 7, 8, 12, 13, 15 and 16. Values read: Location3 = L3, Data Type = DT, Function Code = FC. Cause The attribute of tag tagname contains a data type that is not supported by function code 6. Resolution The interface will change the Location3 attribute value L3 of tag tagname so that the function code value FC is 16.
Modbus Message Packets The message packets described below correspond to the Modbus protocol. For more information on Modbus message packets, see the Modbus Protocol Reference Guide, available from AEG Schneider Automation. For additional reference on Modbus message packets, see the Modbus Application Protocol Specification V1.1b which can be found on the website . Function Code 1: Read Coils Request PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x01 Starting Address 2 Bytes 0x0000 to 0xFFFF Quantity of Coils 2 Bytes 1 to 2000 CRC 2 Bytes Variable Response PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x01 Byte Count 1 Byte N = Quantity of coils / 8 Coil Status N Bytes Value(s) CRC 2 Bytes Variable
Function Code 2: Read Discrete Inputs Request PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x02 Starting Address 2 Bytes 0x0000 to 0xFFFF Quantity of Inputs 2 Bytes 1 to 2000 CRC 2 Bytes Variable Response PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x02 Byte Count 1 Byte N = Quantity of inputs / 8 Input Status N Bytes Value(s) CRC 2 Bytes Variable Function Code 3: Read Holding Registers Request PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x03 Starting Address 2 Bytes 0x0000 to 0xFFFF Quantity of Registers 2 Bytes 1 to 125 CRC 2 Bytes Variable Response PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x03 Byte Count 1 Byte 2 * N (Quantity of registers) Holding Registers N * 2 Bytes Value(s) CRC 2 Bytes Variable
Function Code 4: Read Input Registers Request PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x04 Starting Address 2 Bytes 0x0000 to 0xFFFF Quantity of Registers 2 Bytes 1 to 125 CRC 2 Bytes Variable Response PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x04 Byte Count 1 Byte 2 * N (Quantity of registers) Holding Registers N * 2 Bytes Value(s) CRC 2 Bytes Variable Function Code 5: Write Single Coil Request PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x05 Output Address 2 Bytes 0x0000 to 0xFFFF Output Value 2 Bytes 0x0000 or 0xFF00 CRC 2 Bytes Variable Response PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x05 Output Address 2 Bytes 0x0000 to 0xFFFF Output Value 2 Bytes 0x0000 or 0xFF00 CRC 2 Bytes Variable
Function Code 6: Write Single Register Request PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x06 Register Address 2 Bytes 0x0000 to 0xFFFF Register Value 2 Bytes 0x0000 to 0xFFFF CRC 2 Bytes Variable Response PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x06 Register Address 2 Bytes 0x0000 to 0xFFFF Register Value 2 Bytes 0x0000 to 0xFFFF CRC 2 Bytes Variable Function Code 15: Write Multiple Coils Request PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x0F Starting Address 2 Bytes 0x0000 to 0xFFFF Quantity of Outputs 2 Bytes 1 to 1968 Byte Count 1 Byte N = Quantity of outputs / 8 Outputs Value N Bytes Value(s) CRC 2 Bytes Variable Response PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x0F Starting Address 2 Bytes 0x0000 to 0xFFFF Quantity of Outputs 2 Bytes 1 to 1968 CRC 2 Bytes Variable
Function Code 16: Write Multiple Registers Request PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x10 Starting Address 2 Bytes 0x0000 to 0xFFFF Quantity of Registers 2 Bytes 1 to 123 Byte Count 1 Byte 2 * N (Quantity of registers) Outputs Value N * 2 Bytes Value(s) CRC 2 Bytes Variable Response PLC Node Address 1 Byte 1 to 255 Function Code 1 Byte 0x10 Starting Address 2 Bytes 0x0000 to 0xFFFF Quantity of Registers 2 Bytes 1 to 123 CRC 2 Bytes Variable
timeout error from occurring in the client (or master). The client (or master) can next issue a Poll Program Complete message to determine if processing is completed. 06 43405 SLAVE DEVICE BUSY Specialized use in conjunction with programming commands. The server (or slave) is engaged in processing a long–duration program command. The client (or master) should retransmit the message later when the server (or slave) is free. 07 43406 NEGATIVE ACKNOWLEDGEMENT The slave cannot perform the program function received in the query. This code is returned for an unsuccessful programming request using function code 13 or 14 (codes not supported by this interface). The master should request diagnostic information from the slave. NOTE: This exception code is for function codes not supported by this interface, but is included to be fully compatible with all Modbus exceptions. 08 43407 MEMORY PARITY ERROR Specialized use in conjunction with function codes 20 and 21 and reference type 6, to indicate that the extended file area failed to pass a consistency check. The server (or slave) attempted to read record file, but detected a parity error in the memory. The client (or master) can retry the request, but service may be required on the server (or slave) device. 10 43408 GATEWAY PATH UNAVAILABLE Specialized use in conjunction with gateways; indicates that the gateway was unable to allocate an internal communication path from the input port to the output port for processing the request. Usually means that the gateway is not configured correctly or overloaded. 11 43409 GATEWAY TARGET DEVICE FAILED TO RESPOND Specialized use in conjunction with gateways; indicates that no response was obtained from the target device. Usually means that the device is not present on the network. 21 43410 Response CRC did not match calculated CRC Indicates that the CRC contained in the response packet does not match the CRC calculated by the interface after receiving the packet. NOTE: This exception code is not standard Modbus and is provided by the interface so that a CRC mismatch will be handled as if it is an exception. ?? 43411 Unknown Error Indicates an undefined exception occurred. This should never occur, but will be handled by the interface as if a known exception occurred.
Requests Made This section consists of a list of all of the requests made by the test. Each item in the list will display a request number, status of the request (see Error Display below), the device ID, function code, data type, number of registers requested and the starting register address. NOTE: The Request number is a generated number and represents the order in which a request was made. Its main purpose though is to associate a request with a response. If there is a succesful response to a given request, the reponse number will be equal to the request number. Request Packet This section contains the packet buffer displayed in hexadecimal form. Packet Data This section contains the key information from the request packet buffer labeled and formatted. In addition, the data type associated with the request is displayed for reference. Error Display This section displays the status icon and error message text of any non-critical error that occurred. Normally the requests section will actually show a response error since there will be no response to display. The lists below indicate the status icons and error messages that may occur. Status Icons When an error occurs a status icon will be displayed on the far left side of the Error Display area (an icon will always be displayed in the list of requests). Below is a list of all of the possible status images: Icon Status (Error) Type Successful Modbus exception code Unknown Modbus exception code Read error Write error Unknown error Error Messages When a non-critical error or a Modbus exception occurs an error number or Modbus exception code followed by an error message will be displayed to the right of the status image. The possible errors and Modbus exceptions are as follows:
25-Apr-2012 MStone Version 4.0.6.x; Revision B; Added note that ExDesc may contain non-parameter data. 17-Oct-2012 TWilliams Version 4.0.7.x; Modified Title field, ICU control name and the body of the document to use new marketing name formats