Troubleshooting and Error Codes
Section 10
Final Checks After entering CIO configuration, the following should be done to check the communication: •
Check the export tag list described in Section 7. It should show all the DCU modules tagname.atoms configured as DTAGs associated with CTAGs during collection list configuration. If an asterisk appears next to an entry on the display, the DTAG tagname.atom does not exist in the DCU database. Resolve the discrepancy.
•
Check the configured station address of all nodes.
•
Reset the node error history for all of the nodes.
•
Wait one minute and check the error history of all configured nodes.
•
Check the port message buffer. There may be no additional errors.
Troubleshooting If there is no communication between the CIO and a remote node, the following is a recommended check-list to isolate the problem: 1. Check if the communication settings (interface, baud rate, parity, etc.) are correct in both the Modbus PLC and the CIO. Refer to Appendix A for instructions. 2. Check if the Modbus node is mounted. There will be no communication if the node is dismounted. Refer to Section 5. 3. Check if the correct station address is configured via node configuration. Refer to Section 5. 4. The Modbus active light on a PLC must blink every 10 seconds if it is mounted/down. To accelerate the blink rate for trouble shooting purposes, change the Node Restart Period to
WFPEEUI200004B0
10 - 1
Trace Messages
one second. The blinking rate should become faster. If blinking does not occur, check the cable between the PLC and the CIO. 5. Further verification of the communication activity can be made using the node error history, node up/down history and the trace function as described in Section 5. It is advised that errors be checked in the error history if all collection entries are configured. There may be no errors generated after the history has been reset. 6. Check the CIO port buffer messages.
Trace Messages The trace function is used to track the transmitted and received messages while the application program is running. The trace function is activated by setting TRACE to YES on the communication setup menu. Refer to Section 5. The Modbus application provides two trace options: TRACE ON ERROR
NORMAL TRACE
This option is activated by selecting both TRACE=YES (communication setup menu) and TRACE OPTION = TRACE ON ERROR (options menu). The application software will only generate a trace message if an error is detected. This option is activated by selecting both TRACE=YES and TRACE OPTION = NORMAL TRACE. The application software will generate a trace message for each data transfer. NOTE: Be sure that the trace function is disabled if not needed. The data is shown in hexadecimal format. An example of a trace message is shown below. 07:19:27 01-Dec-92
(Most recent message)
07:19:27 01-Dec-92 RECEIVED 07:19:27 01-Dec-92 0x1 0x1 0x0 0x0 0x0 0x1 0xfd 0xca 07:19:27 01-Dec-92 TRANSMITTED
(Oldest message)
These messages tell that there was no data received within the configured communication time out. The transmitted message is Read Coil Status 1 from station address 1. The messages appear on the screen in this order, and have to be interpreted from the lower to the upper end to reveal the error's history.
10 - 2
WFPEEUI200004B0
Modbus Tag Errors
Modbus Tag Errors A Modbus tagname (entered in VENDOR TAG field) is validated after it has been entered. If the tag is invalid a message is generated in the collection entry menu. The following tag errors can be generated: TAG ERROR, MOD TEXT MISSING
The first three characters of a tagname must be 'MOD'.
TAG ERROR, NODE OUT OF RANGE
Invalid node number. Node number ranges from 1 to 64.
TAG ERROR, NO COLON AFTER NODE #
There must be a ':' specified after the Node number.
TAG ERROR, INVALID DATA TYPE
Data type must be one of the data types described in Section 3.5.6 Vendor Tag in this document.
TAG ERROR, DATA ADDRESS A PLC memory address reference must be a OUT OF RANGE decimal figure between 1 and 65535. TAG ERROR, NO COLON AFTER ADDRESS
There must be a ':' specified after the memory address reference.
TAG ERROR, ITEM COUNT OUT OF RANGE
The minimum value of item count equals 1. The maximum value depends on the data type.
TAG ERROR, CANNOT ALLOC This error indicates that there is not enough MODBUS TAG LINK memory.
Node Errors The node error history menu (see Section 5) permits access to a list of the detected errors for each of the nodes. Each error message is formatted as follows: Collection nmbr= Where:
Date and time the error occurred
Collection point number in the collection list. The error occurred while executing the displayed collection number. The will be 0 if the error occurred while reading the startup memory location (if a node is Mounted Down).
WFPEEUI200004B0
10 - 3
Node Errors
One of the error messages listed in the following table.
Invalid Station Add: An invalid station address is configured for the Node in the specified collec tion entry. is the currently configured station address for that node in the Modbus network. To correct: Change the station address for that node. Write Action Not Allowed
An operation other than read (R) is configured for a read only data item. To correct: Delete this collection entry or configure the R operation.
CRC16 Error
A CRC16 error is a checksum error. Each transmitted Modbus message contains a checksum which guarantees reliable data transactions. The CIO Modbus application compares the received checksum to the expected checksum. If these are not equal this error message is displayed. To correct: Check communication link if this error occurs frequently.
Receive Buffer Overflow
A receive buffer overflow has been detected. To correct: If this message occurs frequently contact us.
Received Error Response Exception Code=
An error response was received from the Modicon controller. is the Modbus exception code number. Refer to the Modicon Modbus Protocol Reference Guide for a description of these errors. To correct: If this error occurs frequently, check the collection entry and the .
Received Invalid Resp.
An unexpected character has been received, e.g., if the station address in the response is not the same as the station address in the request.
Conversion Error
For future use.
CIO DB Write Error Received Controller data could not be written to one of the configured CIO atoms. This error will be generated if no CIO tags are configured in the collection entry. To correct: Check CIO tags in collection entry. If there are CIO tags configured and this error occurs frequently, contact us. CIO DB Read Error At least one of the configured CIO atom values could not be read. This error will be generated if no CIO tags are configured in the collection entry. To correct: Check CIO tags in collection entry. If there are CIO tags configured and this error occurs frequently, contact us. BAD CIO DB Data
The bad data indication is set in the STAT[ ] field of one of the configured CIO atoms. This error may indicate that one of the configured DCU3200 tags has a bad output in case of a write (W) operation. The specified data in the collection entry is not transferred to the Modicon controller if this message is generated.
VOS Error=
A VOS (virtual operating system error) error has occurred. This error normally deals with communication errors (timeout, parity error, framing error, etc.). This error message indicates a bad cable or a bad communication setting. To correct: If this error occurs frequently, check the cable, baud rate (in CIO and Modicon controller), the parity, number of stop bits, number of data bits, and communication time out on the port setup menu.
10 - 4
WFPEEUI200004B0
VOS (Virtual Operating System) Errors
VOS (Virtual Operating System) Errors VOS (virtual operating system) error codes are used to return error indications from the system to application programs. The error codes are stored in external variable 'errno' files as on UNIX systems. In some cases, error messages are automatically generated when errors are detected. These messages will be visible if a CRT terminal is connected to the console connector, or, in some cases, if a message monitor is running on the host system (as with ECCM boards on XDCs and DMCs). The following list shows the symbolic value of error codes placed in 'errno.' In error messages, only the text description of the error code is shown, not the symbolic value. Not all of the errors shown in this list actually occur. 1
BADQID
Bad QID
2
BAD_FID
Bad file ID
3
BAD_FILE_TYPE
Bad file type
4
BAD_FREE
Bad free call
5
BAD_FS
Bad file system structure
6
DEVERR
Device Error
7
DEVFAIL
Device Failure
8
DIRFUL
Directory Full
9
FBUSY
File Busy
10
INVARG
Invalid Argument or operation
11
NOBLKS
No Free Blocks in File System
12
NOFIDS
No File IDs
13
NOFILE
No Such File
14
NOHEAP
Out of Heap Space
15
NOQROOM
No Room in Queue
16
NOTSTARTED
Task Not Started
17
PAST_EOF
Past End of File
18
QEXISTS
Queue Exists
19
QNOTFOUND
Queue Not Found
20
QTOOSMALL
Queue too small
21
TOO_BIG
File too big
22
READ_ONLY
File read only
WFPEEUI200004B0
10 - 5
VOS (Virtual Operating System) Errors
23
RUNNING
Task already running
24
NO_VOL
Too many open volumes
25
NO_INODES
Too many open files
26
FEXISTS
File already exists
27
ILL_OP
Illegal operation
28
SHUTDOWN
System is shutting down
29
MEDIA_ERR
Media Error
30
WR_PROTECT
Media is write protected
31
NO_MEDIA
No media in drive
32
FRAMING_ERR
Framing Error
33
PARITY_ERR
Parity Error
34
OVERRUN_ERR
Overrun error
35
BREAK_ERR
Break detected
36
QBUSY
Queue is busy
37
ODDSIZE
Odd size
38
NOMEM
No shared memory
39
ISFREE
Memory already free
40
EWOULDBLOCK
Operation would block
41
BAD_LOCKID
Bad lock ID
42
ISLOCKED
Lock is locked
43
EXIT_REQUESTED
Exit requested
44
TIMEOUT
Timeout
45
UNDERFLOW
Underflow
46
LATE_COLLISION
Late collision
47
EXCESS_COLLISIONS
Excess collisions
48
LOST_CARRIER
Lost carrier
49
BAD_PID
Bad process ID
50
DEVICE_OFFLINE
Device off-line
51
BAD_SEMID
Bad semaphore ID
52
SEM_BUSY
Semaphore busy
53
BAD_MSGQID
Bad message queue ID
54
ENOTSOCK
Socket operation on non-socket
55
EDESTADDRREQ
Destination address required
56
EMSGSIZE
Message too long
57
EPROTOTYPE
Protocol wrong type for socket
10 - 6
WFPEEUI200004B0
VOS (Virtual Operating System) Errors
58
ENOPROTOOPT
Protocol not available
59
EPROTONOSUPPORT
Protocol not supported
60
ESOCKTNOSUPPORT
Socket type not supported
61
EOPNOTSUPP
Operation not supported on socket
62
EPFNOSUPPORT
Protocol family not supported
63
EAFNOSUPPORT
Address family not supported by protocol family
64
EADDRINUSE
Address already in use
65
EADDRNOTAVAIL
Can't assign requested address
66
ENETDOWN
Network is down
67
ENETUNREACH
Network is unreachable
68
ENETRESET
Network dropped connection on reset
69
ECONNABORTED
Software caused connection abort
70
ECONNRESET
Connection reset by peer
71
ENOBUFS
No buffer space available
72
EISCONN
Socket is already connected
73
ENOTCONN
Socket is not connected
74
ESHUTDOWN
Can't send after socket shutdown
75
ETOOMANYREFS
Too many references
76
ETIMEDOUT
Connection timed out
77
ECONNREFUSED
Connection refused; should be rearranged
78
EHOSTDOWN
Host is down
79
EHOSTUNREACH
No route to host
80
ENOTEMPY
81
ESTALE
83
EPIPE
84
EALREADY
Operation already in progress
85
ENXIO
No such device or address
86
EPERM
Not owner
87
EBUSY
Mount device busy
88
EACCES
Permission denied
89
ESRCH
No such process
90
EFAULT
Bad address
91
EINPROGRESS
Operation now in progress
92
EINTR
Interrupt system call
WFPEEUI200004B0
Can't send data on connection
10 - 7
Database Transfer Status
93
ENOTTY
Device not character type
94
ENOSYS
Operation not supported
95
ESPIPE
illegal seek
96
ENFILE
File table overflow (can't happen)
97
ERANGE
Result too large
Database Transfer Status All CIO database modules have a STAT atom associated with their respective input or output values. Some modules, such as the AIOB, DIOB, and XCON modules have an array of STAT values because each type of module can deal with a block of data (see Section 4). The STAT atom is automatically updated by the CIO or DCU3200 on every transaction. The STAT atom contains bits which indicate which board last wrote the database point, whether the value is good, and whether the value was updated since the last operation. The STAT atom is typically used internally, but it may be used by CCL programs within the DCU3200. A STAT atom is a byte field containing eight bits, as shown below in binary format. Reading the bits right to left, the defined values are: XXXXXXXX Update bit - A 1 in this field indicates that the value has been newly written and has not been read yet. A 0 in this field indicates that no update occurred; nothing was written to this bit; or update flag was set. Once the value is read, the CIO or DCU3200 will change the value to 0. Bad status - A 1 in this field indicates that something is wrong with the data, such as no communications, or bad Controlware data, etc. Indicates source of last write (0 = CIO, 1 = DCU3200) Example:
STAT = 5, Equivalent to 00000101 binary, means value updated and DCU wrote value. STAT = 1, Equivalent to 00000001 binary, means value updated and CIO wrote value.
10 - 8
WFPEEUI200004B0
Database Transfer Status
STAT = 4, Equivalent to 00000100 binary, means value is not new and DCU wrote value last. STAT = 6, Equivalent to 00000110 binary, means value is bad and DCU wrote value last.
WFPEEUI200004B0
10 - 9
WFPEEUI200004B0