FW depending differences in the handling of the diagnosic flags
There are firmware depending differences in the handling of the Serial-S-Bus communication diagnosic flags TDIA and RDIA. Those flags are refreshed continuously by older FW versions but not by the Saia PCD® COSinus Classic PCD firmware (used for PCD2.M480 and PCD3 controllers).
The diagnosic flags do indicate whether there has been a communication error. The flags are directly depending on the diagnostic register RDIA. If the RDIA holds any value not equal to 0, the according diagnostic flag is set.
The state of the diagnostic flags is refreshed every ms by conventional FW versions (used for PCD1, PCD2.M1x0, PCD4, PCD6).
The Saia PCD® COSinus Classic PCD firmware (used for PCD2.M480 and PCD3) does not any more refresh the diagnostic flags cyclically. On this FW, the diagnostic flags are only refreshed on a communication event (such as e.g. a SRXM instruction).
Basically the diagnositc flags are refreshed by the communication routine of the FW. Conventional FW is polling the communication routine cyclically (every ms).
The Saia PCD® COSinus Classic PCD dosn't call the communication routine cyclically but only on interrupt (e.g. the communication instruction SRXM does generate such an interrupt). This means that the diagnostic flags are only refreshed on a communication event.
The advantage of this method is a minimized CPU load due to the communication task.
This change of the behaviour of the diagnostic flags isn't conflicting with any description or manual. However, there could be some program code that bases on the automatic refres of those flags. In this case the code has to be adapted when intended to use on a PCD running Saia PCD® COSinus Classic PCD FW.
The adaption could be realized in the way that on reset of the RDIA (which has to be done anyways) also the diagnostic flags are reset.
PCD2 / _Firmware Classic
PCD3 / _Firmware Classic
PG5 2.0 / Serial-S-Bus
Last update: 01.06.2015 08:00
First release: 15.02.2005 16:11