資料介紹
其實(shí)很早就想寫(xiě)寫(xiě)關(guān)于Modbus的開(kāi)發(fā)歷程,但牽扯項(xiàng)目較多,不同語(yǔ)言版本較多,頭緒繁雜,一時(shí)不知從何寫(xiě)起。最近的醫(yī)療項(xiàng)目的通信部分,重新調(diào)整為Modbus協(xié)議,并且內(nèi)容幾乎涵蓋了Modbus的方方面面(Rtu/Tcp,Slave/Client相關(guān)開(kāi)發(fā)),所以更堅(jiān)定了寫(xiě)Modbus信心,今天忙里偷閑,以時(shí)間為序,以項(xiàng)目為綱,把Modbus相關(guān)開(kāi)發(fā)經(jīng)歷一一道來(lái)。
操作系統(tǒng):Win2000/XP
1、 主PLC與PC機(jī)的通信
最早主PLC與PC機(jī)通信,采用自定義的協(xié)議,主PLC中做了一個(gè)類(lèi)似木馬的程序來(lái)響應(yīng)PC機(jī)下發(fā)的讀寫(xiě)V變量區(qū)的指令。這樣就完成了PLC的讀寫(xiě)操作。
后來(lái)西門(mén)子PLC的開(kāi)發(fā)軟件進(jìn)行了升級(jí),提供了Modbus Rtu Slave庫(kù),這樣只要上位機(jī)實(shí)現(xiàn)Modbus Rtu Client就可以直接讀寫(xiě)PLC變量區(qū)了,之后用VB開(kāi)發(fā)了Modbus相應(yīng)的組件,這樣很長(zhǎng)一段內(nèi),該系統(tǒng)PC與主PLC就采用了Modbus的通信。
前兩年開(kāi)發(fā)組態(tài)軟件,所以西門(mén)子PPI協(xié)議順禮成章也就知道了,當(dāng)然PC與西門(mén)子采用PPI協(xié)議是最棒的,因?yàn)镻LC中不需要寫(xiě)一行代碼,也無(wú)需占用程序和變量空間。所以之后Modbus被放棄了,轉(zhuǎn)而采用了PPI通信協(xié)議。
2、 主PLC與從PLC的通信(無(wú)線電臺(tái)通信)
剛開(kāi)始主PLC與從PLC采用自定義協(xié)議,最早在首鋼做實(shí)驗(yàn)的時(shí)候,只有四個(gè)從站,并且個(gè)數(shù)是唯一確定的,所以自定義協(xié)議用的很好,效率也很高;但是項(xiàng)目推廣后,在其它現(xiàn)場(chǎng)有7個(gè)從站的,也有8個(gè),9個(gè)的,不確定,并且從站要分組,此外通信傳遞內(nèi)容也更多了,不光位置信息、推焦電流、推焦、平煤信號(hào)、連鎖信號(hào)都要傳遞,最后選擇了Modbus協(xié)議。
但是使用Modbus有幾個(gè)問(wèn)題,第一西門(mén)子提供的Modbus Slave不支持廣播命令,第二只提供了Modbus Slave程序,從PLC 沒(méi)有什么問(wèn)題,但是主PLC卻沒(méi)有Modbus Client程序。
對(duì)第一個(gè)問(wèn)題,沒(méi)有辦法,不支持就算了,只要一個(gè)個(gè)來(lái)寫(xiě)。(注:后來(lái)的某一天,西門(mén)子MicroWIN開(kāi)發(fā)環(huán)境突然出bug 了,竟然看到了部分的西門(mén)子Modbus Slave源碼,我在此基礎(chǔ)上實(shí)現(xiàn)了可支持廣播的Modbus Slave代碼)。
對(duì)第二個(gè)問(wèn)題,只好老老實(shí)實(shí)的用西門(mén)子 PLC 語(yǔ)句表命令開(kāi)發(fā)Modbus Client,只要實(shí)現(xiàn)3號(hào)和16號(hào)命令就可以了,還好,Modbus Client本身協(xié)議不難,難在PLC的運(yùn)行機(jī)制和PC程序不同,PLC是大循環(huán)掃描的,等待數(shù)據(jù)返回時(shí),不能直接等待,否則運(yùn)行看門(mén)狗會(huì)超時(shí),總之克服重重困難,終于開(kāi)發(fā)出穩(wěn)定可靠的Modbus Client程序,直到現(xiàn)在,現(xiàn)場(chǎng)的PLC通信仍采用該方式。
附記:有人會(huì)問(wèn),為什么沒(méi)有采用PPI協(xié)議,PLC本身就支持主和從協(xié)議啊?但太讓人遺憾的是,PPI協(xié)議通信節(jié)奏太快,目前還沒(méi)有無(wú)線電臺(tái)(普通工業(yè)用)可以正常實(shí)現(xiàn)PPI協(xié)議通信。
- ESP32教程之如何搭建linux開(kāi)發(fā)環(huán)境的詳細(xì)資料說(shuō)明 11次下載
- Rockchip Linux SDK的開(kāi)發(fā)指南的詳細(xì)資料說(shuō)明 74次下載
- LabVIEW開(kāi)發(fā)教程之LabVIEW界面設(shè)計(jì)秘訣的詳細(xì)資料說(shuō)明 240次下載
- Protel DXP的常用快捷鍵詳細(xì)資料說(shuō)明 0次下載
- 如何使用ubuntu和eclipse與sdcc搭建C51開(kāi)發(fā)環(huán)境詳細(xì)資料說(shuō)明
- 進(jìn)行ARM開(kāi)發(fā)的初體驗(yàn)資料說(shuō)明
- 嵌入式開(kāi)發(fā)教程之SCPI命令參考的詳細(xì)資料說(shuō)明 38次下載
- MODBUS的協(xié)議整理和功能代碼的應(yīng)用資料說(shuō)明 8次下載
- 嵌入式C語(yǔ)言的5個(gè)位操作筆記資料說(shuō)明
- 決策支持系統(tǒng)的開(kāi)發(fā)與實(shí)例詳細(xì)資料說(shuō)明 11次下載
- 如何使用eclipse和Wamp Server搭建PHP開(kāi)發(fā)環(huán)境的詳細(xì)資料說(shuō)明 14次下載
- 機(jī)械原理的詳細(xì)筆記資料說(shuō)明 9次下載
- python基礎(chǔ)教程之如何進(jìn)行靜態(tài)方法和類(lèi)方法詳細(xì)筆記說(shuō)明 17次下載
- Git軟件的安裝筆記的詳細(xì)資料說(shuō)明 0次下載
- RTC日歷程序詳細(xì)中文資料(免費(fèi)下載) 10次下載
- 迪文串口屏ModBus開(kāi)發(fā)流程 235次閱讀
- 如何快速生成Modbus指令?教程來(lái)啦 925次閱讀
- Modbus和Profibus協(xié)議有什么區(qū)別 1874次閱讀
- 使用協(xié)議棧實(shí)現(xiàn)Modbus ASCII從站應(yīng)用 1131次閱讀
- 使用協(xié)議棧實(shí)現(xiàn)Modbus ASCII主站應(yīng)用 827次閱讀
- 使用協(xié)議棧實(shí)現(xiàn)Modbus RTU從站應(yīng)用 1787次閱讀
- 使用協(xié)議棧實(shí)現(xiàn)Modbus RTU主站應(yīng)用 1477次閱讀
- Modbus RTU的設(shè)計(jì)與實(shí)現(xiàn) 1804次閱讀
- 對(duì)DTU進(jìn)行Modbus RTU協(xié)議的配置流程 3415次閱讀
- Modbus協(xié)議調(diào)試工具的軟件功能說(shuō)明 3341次閱讀
- FPGA的入門(mén)基礎(chǔ)知識(shí)詳細(xì)說(shuō)明 9211次閱讀
- 使用AT89S51單片機(jī)制作紅外遙控器的資料和源代碼詳細(xì)說(shuō)明 5862次閱讀
- 如何進(jìn)行PLC控制程序的設(shè)計(jì)詳細(xì)資料PPT說(shuō)明 5753次閱讀
- PLC常用基本環(huán)節(jié)梯形圖和詳細(xì)文字說(shuō)明詳細(xì)資料概述 8957次閱讀
- modbus rtu通訊協(xié)議格式詳細(xì)說(shuō)明 7w次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 651單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)大棚環(huán)境控制器仿真程序
- 1.10 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多