Applies To:
  • CitectSCADA 5.xx, 6.00
  • CitectHMI 5.xx, 6.00

I have setup an I/O Device using TITCPIP. The communications is working well, except I am getting #COM on certain Variable Tags, and the following error in the syslog.dat:
READ error Generic: 8 Driver: 8259 (0x2043).

I have checked the Knowledge Base, and the Driver help, but cannot find any information on error 0x2043. What is causing this error, and how do I find further information on possible errors returned by the TITCPIP driver?

Since this error code is not documented, it is necessary to consult the TITCIPIP protocol manual. The error code 0x2043 can be split into two parts. The first two numbers indicate that the error is a CTI Ethernet module error, while the second two numbers are the specific CTI Ethernet module error code. From the CTI documentation, it was found that error code 0x43 means a Control Block being requested does not exist.

Therefore this is a configuration issue, and an appropriate Control Block must be configured in the TI PLC. Once this was done, the error was resolved.

For more information on what other error codes mean, below is an extract from the CTI 2572 Programming Reference Manual V2.1:

01 Reset Current Transaction
02 Address out of Range (Other than Ladder Logic)
03 Requested Data not Found
04 Illegal Task Code Request (e.g. Task Code not Supported)
05 Request Exceeds Program Memory Size (Ladder Logic)
06 Diagnostic Fail upon Power Up
07 Fatal Error Detected
08 Keylock Protect Error
09 Incorrect amount of Data sent with Request
0A Illegal Request in Current Operational Mode
0B Network was not Deleted
0C Attempted Write Operation Did Not Verify
0D Illegal Number of ASCII Characters Received
0E Illegal Write to Program Memory (Non Volatile)
0F Data not Inserted
10 Data not Written
11 Invalid Data sent with the Command
12 Invalid Operation with NIM (Obsolete)
13 The store and forward buffer is busy
14 No response from the Special Function Module
15 Illegal Instruction found in program memory on a Program to Run transition
16 Attempted Write to a Protected Variable (e.g. TCC, TCP)
17 No response from PLC (e.g. Single Scan not performed)
18 Requested memory size exceeds total available memory
19 Requested Memory size is not a multiple of block allocation size
1A Requested memory size is less than minimum defined value.
1B Requested memory size is larger than maximum defined value
1C PLC Busy - Cannot complete the requested operation
1D Comm error in HOLD mode - Transition to Run not allowed
1E Port Lockout is Active (ref task Code 48)
21 I/O Configuration Error - too many points
22 I/O Configuration Conflict
3F Bus Error Detected
40 Operating System Error Detected
41 Invalid Control Block Type
42 Control Block Number out of range
43 Control Block does not exist
44 Control Block already exists
46 Offset out of range.
47 Arithmetic error detected while writing loop or analog alarm parameters
48 Invalid SF Program type
49 Instruction number or RAMP/SOAK Step number out of range
4A Attempt to access an integer only variable as a real.
4B Attempt to access a real -only value as an integer.
4C Task Code buffer overflow -- too much data requested
4D Control Block size error. (Maximum = 32767 bytes)
4E Attempt to write a read only variable.
4F Invalid variable type for this operation
50 Task code request buffer too large (PLC internal error)
51 Invalid SF Statement size specified
52 Invalid return value
53 Attempt to execute a Cyclic statement in a non-cyclic SF program
54 Control Block is disabled
55 Control Block is not disabled
56 Attempt to perform a FTSR-OUT Statement on an empty FIFO
57 Attempt to perform a FTSR-IN Statement on a full FIFO
58 Stack overflow while evaluating a MAATH, IF-THEN, or IMATH expression
59 Maximum SF Subroutine nesting level exceeded (Max depth = 4)
5A Arithmetic Overflow
5B Invalid Operator in an IF, MATH, or IMATH expression
5C S Memory Overflow
5D Attempt to divide by 0 (IMATH Statement)
5E FIFO is incompatible with FTSR-IN or FTSR-OUT statement
5F FIFO is invalid
60 Invalid Data Type code (Usually MATH, IMATH, or IF-THEN statement)
61 RAMP/SOAK step type mismatch. Error is logged by Task Code 6 (Write
RAMP/SOAK step) if the fields are being updated and the step type indicated but the
task code does not match the step type of the step being modified.

0x2043, TITCPIP