国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于BTF340開發(fā)板的Modbus從機協(xié)議實現(xiàn)

2011-12-08 12:12:45宋國清
關鍵詞:個字符開發(fā)板串口

宋國清 劉 暢

基于BTF340開發(fā)板的Modbus從機協(xié)議實現(xiàn)

宋國清 劉 暢

借助BTF340開發(fā)版的串口,按照GB/Z 19582.2—2004的規(guī)范,編寫了Modbus的下位機通訊協(xié)議。介紹了通訊協(xié)議的實現(xiàn)過程,并且結(jié)合JCBus串口調(diào)試助手的Modbus調(diào)試功能,驗證了程序的正確性。

Modbus;國家標準;程序流程

一 Modbus通訊協(xié)議簡介

Modbus是目前國內(nèi)外應用最普遍的工業(yè)現(xiàn)場總線協(xié)議,結(jié)構(gòu)上屬于主從協(xié)議。系統(tǒng)通訊時,主站按照預先特定的格式向從站發(fā)送指令,從站接受到指令后按照該格式解析該指令的含義,并進行相應的數(shù)據(jù)處理或采集。然后按照規(guī)定格式將處理結(jié)果發(fā)回主機。并且從站在沒有接到主站指令前,不向主機和其它從機發(fā)送數(shù)據(jù)。具體格式規(guī)定可以參考GB/Z 19582.2—2004的第2部分:Modbus協(xié)議在串行鏈路上的實現(xiàn)指南。由于該協(xié)議通訊效率高,實現(xiàn)簡單,各大知名廠家的PLC、DCS和多數(shù)的智能儀表都嵌入了Modbus從機協(xié)議,同時組態(tài)王等工控軟件可以支持上述符合Modbus規(guī)范的設備,這樣很容易對工業(yè)控制變量的狀態(tài)進行集中監(jiān)控。

二 JCBus串口調(diào)試助手簡介

JCBus串口調(diào)試助手是上海集成儀器儀表研究所有限公司開發(fā)的軟件,它可以自動添加CRC16校驗碼,按需存儲8條調(diào)試消息,軟件關閉后自動存儲,收發(fā)對應且時間戳精確1毫秒,易于查找等。調(diào)試過程中發(fā)現(xiàn)其它的串口調(diào)試工具,比如:ModBusTest-CSEC通訊測試軟件,ModbusRTU,ModbusSim11等都存在不同程度的缺陷,像不能進行奇偶校驗,不能進行CRC16校驗等問題,相比之下JCBus串口調(diào)試助手顯示了較強的通訊和測試能力,因此測試過程主要是在該軟件下完成的。軟件界面如圖1所示。

圖1

三 BTF340開發(fā)版簡介

BTF340開發(fā)板是針對C8051F340單片機片上資源及功能特點,而推出的一款開發(fā)、評估板。可通過開發(fā)板上的各種經(jīng)典電路的實際操作及附帶光盤提供的完整的范例程序,可迅速地進行程序代碼的編寫,達到縮短產(chǎn)品開發(fā)周期的目的,程序主要是在該開發(fā)板上完成的,并開始進入電機軟啟動控制儀器測試階段。

四 設計實現(xiàn)

圖2

在硬件方面按照圖2進行連接,一路,采用BTF340開發(fā)版的DB9接口經(jīng)過串口線和PC的RS232接口相連,用來檢查是否實現(xiàn)了Modbus的正常通訊功能,另外一路,采用BTF340開發(fā)版的JTAG接口連接上仿真器U-EC5,然后經(jīng)USB線與電腦的USB相連,用來調(diào)試編寫的代碼。在軟件方面采用應用廣泛的keil 公司的開發(fā)環(huán)境uvision 3開發(fā)環(huán)境,針對BTF340開發(fā)板,要安裝SiC8051F_uv2、SiC8051F_uv3、U—PDC、U-EC5等程序,這樣就可以進行程序的編寫和調(diào)試,借助JCBus串口調(diào)試助手檢查程序正確性。下面簡述程序的實現(xiàn)步驟:

圖3

1.當PC機發(fā)送數(shù)據(jù)時,從機C8051F340的串口產(chǎn)生中斷對發(fā)來的數(shù)據(jù)計數(shù)和存儲。與此同時,定時器3中的“虛擬時鐘”啟動,當時鐘發(fā)現(xiàn)有3.5個字符的時間沒有接收到數(shù)據(jù)時,認為一幀數(shù)據(jù)接收完畢,馬上對接收的數(shù)據(jù)進行功能代碼識別,并做出標記。

2.主程序檢測到該標記后,對剛剛接收完畢的數(shù)據(jù)進行CRC16校驗,如果不成功就丟掉該數(shù)據(jù),校驗成功后才調(diào)用功能解析子函數(shù)。

3.解析子函數(shù)分析數(shù)據(jù)接收的功能代碼范圍、數(shù)據(jù)長度是否正確,不正確,發(fā)送對應的錯誤代碼;正確后進行處理或采集,然后發(fā)回對應的數(shù)據(jù)。

圖3是程序主要部分的流程圖,詳細介紹了程序的思想和實現(xiàn)方法。左邊是定時器中斷程序,右邊是串口中斷程序。

流程圖中的字母說明:

在定時器中定一個167um的周期。并將該周期設置為虛擬時鐘A。

定義以下時件:時間超過傳輸1.5個字符所用時間為B;時間超過傳輸3個字符所用時間為C;檢查從傳輸1.5個字符~3個字符的時間間隔內(nèi)接收到的數(shù)據(jù)變化與否為D;檢測接受過程中有無奇偶校驗錯誤出現(xiàn)E。流程圖如圖3所示。

五 結(jié)語

本通訊協(xié)議經(jīng)過測試后可以進行數(shù)據(jù)的接收,并正確回傳處理數(shù)據(jù),實現(xiàn)了常用的功能,功能代碼是GB中定義的:3、4、5、6。希望協(xié)議實現(xiàn)方法,能為進一步簡化協(xié)議的軟件編寫過程提供參考。

[1]Modbus通訊協(xié)議國家標準,GB/Z 19582.2—2004[S],GB/Z 19582.1—2004[S].

[2]400/420/430/530控制器通信協(xié)議[Z],深圳市達英行電器有限公司.

[3]崔鵬.基于Modbus協(xié)議的單片機智能電爐溫度采集系統(tǒng)[D],昆明理工大學,2008.

[4]李娜.基于Modbus協(xié)議的智能儀表的設計[D].北京郵電大學,2008.

[5]代航陽,等.基于ModbusRTU通訊的組態(tài)王與ADAM5510通訊[J].工業(yè)控制計算機,2005.

ClassNo.:TP393.04DocumentMark:A

(責任編輯:孔祥春 鄭英玲)

OnImplementationofSubordinatedComputerProtocolBasedonBTF340developingProgram

Song Guoqing Liu Chang

In accordance with GB/Z 19582.2—2004 specification and with the help of the serial port of BTF340 ,the modbus communication protocol running in the subordinate computer has been developed . The implementation process is described in this paper and the testing of the program has been done to prove be correctness by using JCBus serial debugging assistant test .

Modbus ;National Standards;program flow

宋國清,碩士,助教,齊齊哈爾高等師范??茖W校,黑龍江·齊齊哈爾。郵政編碼:161005

劉暢,碩士,講師,齊齊哈爾高等師范??茖W校,黑龍江·齊齊哈爾。郵政編碼:161005

1672-6758(2011)01-0044-2

TP393.04

A

猜你喜歡
個字符開發(fā)板串口
淺談AB PLC串口跟RFID傳感器的通訊應用
Microchip最新推出兩款PIC32 Curiosity開發(fā)板
淺析單片機開發(fā)板的設計與制作
電子制作(2017年22期)2017-02-02 07:10:14
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
地礦測繪(2015年3期)2015-12-22 06:27:26
不讓長文件名成為“絆腳石”
電腦迷(2014年8期)2014-04-29 07:37:40
Mouser為您呈上開發(fā)關鍵之STMicroelectronics Nucleo開發(fā)板
Arduino和Atmel發(fā)布Arduino Zero開發(fā)板
基于并行控制的FPGA多串口拓展實現(xiàn)
工資報表計算機軟件論述
卷宗(2011年9期)2011-05-14 17:51:19
子长县| 灵川县| 澄迈县| 镇原县| 新平| 南华县| 宁乡县| 潞城市| 二连浩特市| 望江县| 冷水江市| 扬中市| 大英县| 巴彦县| 师宗县| 奎屯市| 海伦市| 西平县| 波密县| 白城市| 余干县| 茶陵县| 阳信县| 镇平县| 宁陵县| 铜陵市| 集安市| 青河县| 寻甸| 蓝山县| 如东县| 泽州县| 隆子县| 五常市| 衡南县| 大洼县| 平乐县| 巴彦淖尔市| 泾川县| 双柏县| 奎屯市|