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