AB KTx RIO TLM
  SoftPLC    Font size:      

Runtime Errors

Scanning Errors

The KTx card reports processing problems by putting a fault code into status word 15. Your ladder logic should monitor this word, copy it when not zero, and reset S15 to zero, since the driver never resets the word. The meaning of fault and error codes stored in S15 is documented in the table below and this information supersedes the similar information in the TOPDOC for SoftPLC help system.

Some of these errors occur only during driver initialization discussed above, and this subset of errors will prevent you from placing the system into REM/RUN mode. In order to enter RUN mode, ALL needed adapters must have been powered up and communicating during driver initialization, and S15 should reflect a value of 0 at that time. Otherwise the next attempted transition to RUN mode will fail, even if that is months later. The only way to catch these errors is to either have a monitor hooked up to SoftPLC so you see them on the console, or you can use TOPDOC or your MMI to read from SoftPLC while it is in FAULT mode. SoftPLC will not enter RUN mode under these circumstances.

Other errors can occur while in RUN mode, and these fall into two subsets: those that will fault the CPU and those that will not. When the CPU faults, it turns off all OUTPUTS to the best of its ability and enters FAULT mode.

The one error that you should pay most attention to is number 5324. This can happen in RUN mode and indicates that at least one I/O rack adapter is not communicating properly. (Remember that in order to enter RUN mode, ALL needed adapters had to have been communicating during driver initialization. So this means that an adapter that once was working is now not working.) Error 5324 will not FAULT the CPU. If you want it to, then you will need to add logic to EQU word S15 for 5324 and then set bit S11/6, setting bit S11/6 should fault the CPU. Test this logic to verify it actually faults the CPU as you desire. To determine which I/O rack adapters are faulted, use the TOPDOC Loadable Instruction (TLI) named KTXGETFAULTMAP described in the TLI section.


S15 Error CodeDescription
5301Illegal baudrate in the KTX.LST file
5302The MemAddr field in KTX.LST for a CARD is not correct, or the card is conflicting with another device at the same memory address.
5303One of the files ONEKTX*.BIN is missing.
5304KT diagnostics timeout at CARD load time.
5305One of the KT startup diagnostics tests failed.
5306A mode change was attempted while one of the CARDS was faulted.
5307A file read error happened while reading one of the ONEKT*.BIN files.
5308A CARD is not processing load requests properly.
5309A CARD did not respond to the IRQ test. The IRQ setting for a card is wrong or it is conflicting with another device. KTX.TLM dis not see the interrupt as it should have.
5310A CARD concluded that it was not ready to run.
5312A mode change was denied by a CARD.
5313KTX.TLM timed out a CARD waiting for it to change mode.
5314The KTX.TLM timed out a CARD waiting for it to AUTOCONFIGURE the adapters.
5315The KTX.TLM received an error response from a CARD while doing an AUTOCONFIGURE.
5316A CARD was flagged as dead by KTX.TLM because it was not responsive to the WATCHDOG checks done by the KTX.TLM.
5317The service thread could not be created. There may not be enough RAM in the host.
5318KTX.TLM timed out a card waiting for it to complete the GET_SCANLIST command.
5319The KTX.TLM detected that a CARD has been marked as dead.
5320You have an [INPUTS] or [OUTPUTS] block in your KTX.LST for which there is no powered up, communicating adapter.
5324At least one of your I/O rack adapters is faulted.
5325There was insufficient RAM in the host for the BLOCK TRANSFER buffers.
5326A CARD did not prepare its input mailbox in time.
5331KTX.LST is not found in the same directory as KTX.TLM.
5332KTX.LST has a format error in it.
5333The event flag could not be created.

Block Transfer Errors

All block transfer errors are stored in the 3rd word of the respective block transfer "control block". When using BTW or BTR instructions, it is recommended that you use the BTxxx:yyy datatable elements to store the control block information rather than the N (integer) blocks. The advantage of BT elements for control blocks, is that TOPDOC can present a more discernable view of the control block, and will name the 3rd word DLEN. In either case, N or BT control block, upon a successful block transfer the 3rd control block word contains the number of 16 bit words actually transferred and the DN bit comes on. Upon a failed block transfer, this 3rd word instead gets a negative error code, and the ER bit is also set in the control block.

The .NR and .TO bits in the block transfer control block are not used in this driver and therefore have no meaning. If an adapter does not respond to a block transfer command within 4 seconds, the corresponding control block will timeout with an error code of -36 in the 3rd word.

Note
SoftPLC versions 3.x and 4.x do not support "N" type blocks for Block Transfer Instructions.


Control Block Error Codes in 3rd control block wordDescription
-28The Rack Group Slot in the block transfer control block points to an adapter that is not in the scan list.
-30If even for an instant, you had 2 block transfer requests queued up for the same module group slot. There can only be one active at one time. For bi-directional modules, you must stagger the read and write in time. The PLC-5 Instruction Set Reference Guide, section 15, has an example under "Bidirectional Alternating Block Transfer" that will work fine with SoftPLC.
-36The block transfer timed out. The module did not respond to the request, or you asked for a number of words unexpected by the module.
-38Host requested a write, module responded with a read request, or vice versa.
-39Length mismatch between what the host requested and what the adapter requested.
-40Module requested more data than host supplied.
-50A block transfer was requested for a module attached to a faulted adapter.