天天看點

五大通信庫,圍攻莫迪康

前記

本文主要以C#作為程式設計語言,結合目前市場上常用的5種通信庫,分别與台達DVP-32 PLC、西門子S7-1200PLC、S7-1500PLC進行通信研究,并對研究的結論進行分享。

通信庫簡介

一、EasyModbus

簡介:EasyModbus支援Modbus TCP, Modbus UDP及Modbus RTU,開源協定為MIT。

二、SharpModbus

簡介:SharpModbus是一個開源的Modbus工具,支援ModbusTCP與ModbusRTU,開源協定為MIT。

三、NModbus4

簡介:NModbus4是一個開源的Modbus通信庫,開源協定為MIT。

四、HslCommunication

簡介:HslCommunication是一個商業通信庫,涵蓋各種不同裝置的通信。

五、xktComm

簡介:xktComm是一個商業通信庫,涵蓋西門子、歐姆龍、三菱、基恩士等PLC,也支援Modbus及OPC通信。

通信開發

  • 針對各種庫建立了一個枚舉類型:
五大通信庫,圍攻莫迪康

 針對每個庫建立一個通信對象:

五大通信庫,圍攻莫迪康

 針對各個庫實作連接配接方法:

五大通信庫,圍攻莫迪康

 針對各個庫實作斷開連接配接方法

五大通信庫,圍攻莫迪康

 針對各個庫實作一個讀取變量的方法:

五大通信庫,圍攻莫迪康

功能開發

  • 由于每個庫實作的功能都一樣,是以開發了一個控件,将相關接口預留出來,後續直接調用即可。
五大通信庫,圍攻莫迪康
  • 控件提供了啟動(Start)、停止(Stop)事件,提供了Modbus庫類型,可以選擇設定,也可以通過屬性對通信結果和耗時時間進行指派。
  • 使用也非常簡單,直接拖到界面上,設定好庫類型,綁定上Start和Stop事件即可。
  • 測試的核心代碼如下:
五大通信庫,圍攻莫迪康

 連接配接台達PLC,測試結果如下:

五大通信庫,圍攻莫迪康

 采用MThings作為伺服器,測試結果如下:

五大通信庫,圍攻莫迪康

 連接配接西門子1200PLC,測試結果如下:

五大通信庫,圍攻莫迪康

連接配接西門子1500PLC,測試結果如下:

五大通信庫,圍攻莫迪康

整體總結

通過以上測試發現,ModbusTCP通信周期與ModbusTCP伺服器(PLC硬體)緊密關聯,台達PLC可以達到3ms,西門子1500PLC也在3ms左右,而西門子1200PLC在11ms左右,ModbusTCP通信可以達到毫秒級。

可能有的小夥伴會感到疑惑,為什麼SharpModbus連接配接台達PLC那麼慢,連接配接其他PLC都正常呢?

寫在最後

近幾年, 随着越來越多的裝置開始加入IIoT 網絡(Industrial Internet of Things,工業物聯網簡稱IIoT),IT與OT之間的界限将逐漸消失,直到成為一個或相同的系統為止。

是以,越來越多的電氣工程師開始轉型上位機開發。因為在已有電氣技能的基礎上,如果掌握了上位機開發技能,薪資達到20K,甚至30K,都會變得更容易。

為了便于大家更好地學習這個項目,我将通過免費直播課的方式示範整個項目的部署及開發,通過完整的項目分析及編寫,即使你是零基礎,也能帶你實作項目功能。想要學習的童鞋,趕緊掃描下方二維碼,加微信,進入班級群。

PS:名額有限,先到先得,僅限當天。

如果掃碼無法添加,可以添加備用微信:xiketang777

五大通信庫,圍攻莫迪康

繼續閱讀