基于ZigBee和ModBus的分布式電子警察系統(tǒng)
2.3 控制系統(tǒng)軟件設(shè)計
2.3.1 ModBus通信的實現(xiàn)
ModBus通信分為RTU和ASCII兩種模式。相對于ASCII模式,RTU模式表達(dá)相同的信息需要較少的位數(shù),且在相同通信速率下具有更大的數(shù)據(jù)流量,因此系統(tǒng)中采用RTU模式。在RTU模式中,新的消息幀以3.5個字節(jié)時間間隔的靜默時間開始,緊接著傳送第一個域――從站地址。每個域允許傳輸?shù)淖址际?6進(jìn)制數(shù)。網(wǎng)絡(luò)設(shè)備始終監(jiān)視著通信總線的活動,包括靜默時間。當(dāng)接收到第一個信息域(即地址信息)時,每個網(wǎng)絡(luò)中的設(shè)備都對此進(jìn)行譯碼,以確定所要尋址的設(shè)備;第二個信息域是功能碼,主站發(fā)送數(shù)據(jù)幀的功能碼表示從站需要執(zhí)行的動作,從站發(fā)送的功能碼與接收到的主站發(fā)送功能碼一致,表示從站響應(yīng)主站進(jìn)行操作;數(shù)據(jù)域的數(shù)據(jù)值取決于功能碼,校驗域采用CRC校驗,CRC碼由發(fā)送設(shè)備計算,放置于發(fā)送信息的尾部;接收信息的設(shè)備再重新計算接收到信息的CRC碼,比較計算得到的CRC碼是否與接收到的相符,如果兩者不相符,則表明出錯。當(dāng)一幀數(shù)據(jù)最后一個域傳輸完畢,再次產(chǎn)生一個3.5個字節(jié)時間間隔的靜默時間,表示該幀數(shù)據(jù)結(jié)束。ModBus RTU消息幀格式如表1所示。本文引用地址:http://www.ex-cimer.com/article/157815.htm
2.3.2 ModBus控制器軟件設(shè)計
控制器完成初始化后開始搜索并申請加入ZigBee網(wǎng)絡(luò)。加入ZigBee網(wǎng)絡(luò)后對信道進(jìn)行掃描,掃描是否接收到由網(wǎng)絡(luò)中其他控制器發(fā)送的數(shù)據(jù)幀。如果掃描過程中發(fā)現(xiàn)接收到數(shù)據(jù)幀,則對該幀依次進(jìn)行地址碼校驗,并檢查幀中的目的地址是否為本機(jī)地址。如果目的地址非本站地址,則丟棄該幀數(shù)據(jù);如果目的地址與本機(jī)地址相同,則對數(shù)據(jù)幀進(jìn)行CRC校驗,并檢驗功能碼是否合法,若任何一項校驗未通過,則丟棄該幀數(shù)據(jù);如校驗全部通過,則回發(fā)一個應(yīng)答幀,并根據(jù)幀中的功能碼,向系統(tǒng)其他單元發(fā)送命令,軟件流程如圖4所示。
CRC_16校驗的算法實現(xiàn)程序如下:
3 結(jié) 語
在資源、環(huán)境矛盾越來越突出的今天,道路設(shè)施的增長將受到限制。本文提出的基于ZigBee和ModBus的分布式電子警察系統(tǒng)架構(gòu),相對于目前的電子警察系統(tǒng),更加節(jié)省占地空間,減少設(shè)備安裝施工量,降低施工成本,在智能交通領(lǐng)域有著廣闊的應(yīng)用前景。
評論