The function code received in the query is not an allowable action for the slave. If a Poll Program Complete command was issued, this code indicates that no program function preceded it.The data address received in the query is not an allowable address for the slave.A value contained in the query data field is not an allowable value for the slave.An unrecoverable error occurred while the slave was attempting to perform the requested action The slave has accepted the request and is processing it, but a long duration of time will be required to do so. This response is returned to prevent a time-out error from occurring in the master. The master can next issue a Poll Program Complete message to determine if processing is completed.
SLAVE DEVICE BUSY
The slave is engaged in processing a long duration program command. The master should retransmit the message later when the slave is free. 07 NEGATIVE ACKNOWLEDGE 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 decimal. The master should request diagnostic or error information from the slave. 08 MEMORY PARITY ERROR The slave attempted to read extended memory, but detected a parity error in the memory. The master can retry the request, but service may be required on the slave device.
CRC Generation
The Cyclical Redundancy Check (CRC) field is two bytes, containing a 16-bit binary value. The CRC value is calculated by the transmitting device, which appends the CRC to the message. The receiving device recalculates a CRC during receipt of the message, and compares the calculated value to the actual value it received in the CRC field. If the two values are not equal, an error results. The CRC is started by first preloading a 16-bit register to all 1’s. Then a process begins of applying successive 8-bit bytes of the message to the current contents of the register. Only the eight bits of data in each character are used for generating the CRC. Start and stop bits, and the parity bit if one is used, do not apply to the CRC.