典型的消息形式是由從主服務(wù)器(如PLC)發(fā)送的請(qǐng)求(查詢消息)和從服務(wù)器(精創(chuàng)溫控儀表)的應(yīng)答(響應(yīng)消息)組成牡拇。
當(dāng)主機(jī)開(kāi)始數(shù)據(jù)傳輸時(shí)茵窃,一組數(shù)據(jù)以固定的順序發(fā)送到從機(jī)叶撒。當(dāng)接收到數(shù)據(jù)時(shí)融乖,從設(shè)備對(duì)其進(jìn)行解碼缓待,采取必要的操作咒舰,并將數(shù)據(jù)返回給主設(shè)備妨屑。
uint16 calculate_crc(byte *z_p, unit16 z_message_length)
{
uint16 CRC= 0xffff;
uint16 next;
uint16 carry;
uint16 n;
uint8 crch, crcl;
while (z_messaage_length--) {
next = (uint16) *z_p;
CRC ^= next;
for (n = 0; n < 8; n++) {
carry = CRC & 1;
CRC >>= 1;
if (carry) {
CRC ^= 0xA001;
}
}
z_p++;
}
crch = CRC / 256;
crcl = CRC % 256
z_p [z_messaage_length++] = crcl;
z_p [z_messaage_length] = crch;
return CRC;
}
1.查詢消息中從機(jī)地址不正確
2.主機(jī)的CRC代碼與從機(jī)的CRC代碼不一致对番。
3.在查詢消息中發(fā)現(xiàn)諸如溢出码署、數(shù)據(jù)位、奇偶校驗(yàn)等傳輸錯(cuò)誤每缎。
4.第一條主從機(jī)應(yīng)答完成和下一條主從機(jī)答的間隔小于250ms