資料介紹
其實很早就想寫寫關于Modbus的開發歷程,但牽扯項目較多,不同語言版本較多,頭緒繁雜,一時不知從何寫起。最近的醫療項目的通信部分,重新調整為Modbus協議,并且內容幾乎涵蓋了Modbus的方方面面(Rtu/Tcp,Slave/Client相關開發),所以更堅定了寫Modbus信心,今天忙里偷閑,以時間為序,以項目為綱,把Modbus相關開發經歷一一道來。
操作系統:Win2000/XP
1、 主PLC與PC機的通信
最早主PLC與PC機通信,采用自定義的協議,主PLC中做了一個類似木馬的程序來響應PC機下發的讀寫V變量區的指令。這樣就完成了PLC的讀寫操作。
后來西門子PLC的開發軟件進行了升級,提供了Modbus Rtu Slave庫,這樣只要上位機實現Modbus Rtu Client就可以直接讀寫PLC變量區了,之后用VB開發了Modbus相應的組件,這樣很長一段內,該系統PC與主PLC就采用了Modbus的通信。
前兩年開發組態軟件,所以西門子PPI協議順禮成章也就知道了,當然PC與西門子采用PPI協議是最棒的,因為PLC中不需要寫一行代碼,也無需占用程序和變量空間。所以之后Modbus被放棄了,轉而采用了PPI通信協議。
2、 主PLC與從PLC的通信(無線電臺通信)
剛開始主PLC與從PLC采用自定義協議,最早在首鋼做實驗的時候,只有四個從站,并且個數是唯一確定的,所以自定義協議用的很好,效率也很高;但是項目推廣后,在其它現場有7個從站的,也有8個,9個的,不確定,并且從站要分組,此外通信傳遞內容也更多了,不光位置信息、推焦電流、推焦、平煤信號、連鎖信號都要傳遞,最后選擇了Modbus協議。
但是使用Modbus有幾個問題,第一西門子提供的Modbus Slave不支持廣播命令,第二只提供了Modbus Slave程序,從PLC 沒有什么問題,但是主PLC卻沒有Modbus Client程序。
對第一個問題,沒有辦法,不支持就算了,只要一個個來寫。(注:后來的某一天,西門子MicroWIN開發環境突然出bug 了,竟然看到了部分的西門子Modbus Slave源碼,我在此基礎上實現了可支持廣播的Modbus Slave代碼)。
對第二個問題,只好老老實實的用西門子 PLC 語句表命令開發Modbus Client,只要實現3號和16號命令就可以了,還好,Modbus Client本身協議不難,難在PLC的運行機制和PC程序不同,PLC是大循環掃描的,等待數據返回時,不能直接等待,否則運行看門狗會超時,總之克服重重困難,終于開發出穩定可靠的Modbus Client程序,直到現在,現場的PLC通信仍采用該方式。
附記:有人會問,為什么沒有采用PPI協議,PLC本身就支持主和從協議啊?但太讓人遺憾的是,PPI協議通信節奏太快,目前還沒有無線電臺(普通工業用)可以正常實現PPI協議通信。
- ESP32教程之如何搭建linux開發環境的詳細資料說明 11次下載
- Rockchip Linux SDK的開發指南的詳細資料說明 74次下載
- LabVIEW開發教程之LabVIEW界面設計秘訣的詳細資料說明 241次下載
- Protel DXP的常用快捷鍵詳細資料說明 0次下載
- 如何使用ubuntu和eclipse與sdcc搭建C51開發環境詳細資料說明
- 進行ARM開發的初體驗資料說明
- 嵌入式開發教程之SCPI命令參考的詳細資料說明 38次下載
- MODBUS的協議整理和功能代碼的應用資料說明 8次下載
- 嵌入式C語言的5個位操作筆記資料說明
- 決策支持系統的開發與實例詳細資料說明 11次下載
- 如何使用eclipse和Wamp Server搭建PHP開發環境的詳細資料說明 14次下載
- 機械原理的詳細筆記資料說明 10次下載
- python基礎教程之如何進行靜態方法和類方法詳細筆記說明 17次下載
- Git軟件的安裝筆記的詳細資料說明 0次下載
- RTC日歷程序詳細中文資料(免費下載) 10次下載
- 迪文串口屏ModBus開發流程 561次閱讀
- 如何快速生成Modbus指令?教程來啦 1338次閱讀
- Modbus和Profibus協議有什么區別 3967次閱讀
- 使用協議棧實現Modbus ASCII從站應用 1313次閱讀
- 使用協議棧實現Modbus ASCII主站應用 998次閱讀
- 使用協議棧實現Modbus RTU從站應用 2097次閱讀
- 使用協議棧實現Modbus RTU主站應用 1690次閱讀
- Modbus RTU的設計與實現 2035次閱讀
- 對DTU進行Modbus RTU協議的配置流程 3860次閱讀
- Modbus協議調試工具的軟件功能說明 3859次閱讀
- FPGA的入門基礎知識詳細說明 9595次閱讀
- 使用AT89S51單片機制作紅外遙控器的資料和源代碼詳細說明 6260次閱讀
- 如何進行PLC控制程序的設計詳細資料PPT說明 6010次閱讀
- PLC常用基本環節梯形圖和詳細文字說明詳細資料概述 1w次閱讀
- modbus rtu通訊協議格式詳細說明 7w次閱讀
下載排行
本周
- 1PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 2AN158 GD32VW553 Wi-Fi開發指南
- 1.51MB | 2次下載 | 免費
- 3模擬電路仿真實現
- 2.94MB | 2次下載 | 免費
- 4AN148 GD32VW553射頻硬件開發指南
- 2.07MB | 1次下載 | 免費
- 5PZT驅動開關電路
- 0.09 MB | 1次下載 | 免費
- 6PCB繪制基礎知識
- 2.44MB | 1次下載 | 免費
- 7電子線路板及仿真實現
- 1.54MB | 1次下載 | 免費
- 8AN4873-使用PIC單片機的集成運算放大器測量水中的總溶解固體
- 591.02KB | 1次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 139次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 133次下載 | 免費
- 4美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 5如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 6PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 7萬用表UT58A原理圖
- 0.09 MB | 9次下載 | 5 積分
- 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統EMC試驗方法及要求
- 1.97 MB | 8次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論