modbus字符串的結(jié)束符介紹
Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語言。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通信。它已經(jīng)成為一通用工業(yè)標準。有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進行集中監(jiān)控。此協(xié)議定義了一個控制器能認識使用的消息結(jié)構(gòu),而不管它們是經(jīng)過何種網(wǎng)絡(luò)進行通信的。它描述了一控制器請求訪問其它設(shè)備的過程,如何回應(yīng)來自其它設(shè)備的請求,以及怎樣偵測錯誤并記錄。它制定了消息域格局和內(nèi)容的公共格式。
當在一Modbus網(wǎng)絡(luò)上通信時,此協(xié)議決定了每個控制器須要知道它們的設(shè)備地址,識別按地址發(fā)來的消息,決定要產(chǎn)生何種行動。如果需要回應(yīng),控制器將生成反饋信息并用Modbus協(xié)議發(fā)出。在其它網(wǎng)絡(luò)上,包含了Modbus協(xié)議的消息轉(zhuǎn)換為在此網(wǎng)絡(luò)上使用的幀或包結(jié)構(gòu)。這種轉(zhuǎn)換也擴展了根據(jù)具體的網(wǎng)絡(luò)解決節(jié)地址、路由路徑及錯誤檢測的方法。
此協(xié)議支持傳統(tǒng)的RS-232、RS-422、RS-485和以太網(wǎng)設(shè)備。許多工業(yè)設(shè)備,包括PLC,DCS,智能儀表等都在使用Modbus協(xié)議作為他們之間的通訊標準。
modbus字符串的結(jié)束符
接收到一串字符,總要知道在那個地方結(jié)束吧,這就是結(jié)束符的作用,接收方不管以后還會收到多少個字符。當接收到結(jié)束符時,以后再接收的字符就算是下一輪的東西了,從起始符到結(jié)束符之間的字符就是它要分析的字符! MODBUS的ASCII方式結(jié)束符是--- Chr$(13) + Chr$(10)
現(xiàn)在的組合是“:02030A000004FB“+ Chr$(13) + Chr$(10)
至此,ASCII方式的發(fā)送就完成了,控制器接收到此串字符后,根據(jù)MODBUS協(xié)議定義的通訊規(guī)范分析此串字符的作用,然后返回相應(yīng)的字符!
注意:發(fā)送的字符都是以十六進制數(shù)表示!
RTU方式發(fā)送時的規(guī)范定義如下:
至少3.5個字符傳輸時間的停頓間隔時間標定消息的開始 設(shè)備地址 + 功能代碼+ 數(shù)據(jù) + 校驗 + 至少3.5個字符傳輸時間的停頓間隔時間標定了消息的結(jié)束
其他的就不用說了,與ASCII方式一樣的作用,唯獨這3.5個字符的時間搞暈了很多人,實際我也不敢太解釋,大致說一下吧,您就當聽著玩,比如通訊格式是9600,E,8,1 波特率是做什么的?一秒傳輸多少個位(比如一秒傳送9600個位),一個字符是多少個位呢?通訊格式已經(jīng)標定了(7個位或是8個位),那3.5個字符的傳送時間就好算了吧:
3.5*11(或10)=39個位(35個位),傳3.5個字符需要的時間是:39/9600=4毫秒。
不是說八位嘛,怎么乘11,記住了,還有一個起始位,奇或偶的校驗位(無奇偶校驗,則沒有此位),停止位(兩個停止位就是2了。)
如9600,N,8,2為11個位, 9600,N,7,1.為9個位
就是說,您得保證發(fā)送字符串的連續(xù)性,中間停頓時間超過4毫秒,接收方就認為您已經(jīng)發(fā)送完了這組消息,開始處理了。這就是至少3.5個字符傳輸時間的停頓間隔時間標定了消息的結(jié)束的含義
如果您發(fā)送的太連續(xù),下一組消息與上一組消息之間的間隔時間沒超過4毫秒,接收方就認為這些字符是一組消息,按一組消息去處理。所以,您發(fā)送結(jié)束一組命令后,必須間隔4毫秒才能發(fā)送下一組命令。 這就是至少3.5個字符傳輸時間的停頓間隔時間標定消息的開始的含義
非常好我支持^.^
(1) 100%
不好我反對
(0) 0%
相關(guān)閱讀:
- [電子說] EtherCAT從站轉(zhuǎn)modbus RTU協(xié)議轉(zhuǎn)換網(wǎng)關(guān)用modbus slave測試的方法 2023-10-24
- [電子說] DLT698轉(zhuǎn)modbus協(xié)議網(wǎng)關(guān)把電能數(shù)據(jù)接到wincc的方法 2023-10-24
- [電子說] 軟啟動器與PLC通過ModbusRTU轉(zhuǎn)Profinet網(wǎng)關(guān)連接的配置案例 2023-10-24
- [電子說] Modbus485轉(zhuǎn)profinet網(wǎng)關(guān)連接伺服主軸驅(qū)動器與PLC的具體應(yīng)用 2023-10-24
- [電子說] 通過MODBUS轉(zhuǎn)PROFINET(PROFINET轉(zhuǎn)MODBUS)網(wǎng)關(guān)連接EP1C系列通用伺服驅(qū)動器 2023-10-24
- [電子說] 軟啟動器與PLC通過ModbusRTU轉(zhuǎn)Profinet網(wǎng)關(guān)連接的配置案例 2023-10-24
- [電子說] Modbus485轉(zhuǎn)profinet網(wǎng)關(guān)連接伺服主軸驅(qū)動器與PLC的具體應(yīng)用 2023-10-24
- [電子說] Python 中的5種隱藏技巧 2023-10-21
( 發(fā)表人:李建兵 )