去年一個偶然的機會, 發現了一款國產的PLC編程平臺,ANYCONTROL, 我們約等于可以認為它是一款國產的CODESYS。比較新穎,據說已經成功于不少國產PLC和驅動器平臺。
這個軟件平臺的特點是比較小。最新得到的版本才80M,然而我測試下來,功能相當完備,一點都不比完整的CODSYS軟件差。非常驚訝他是如何做到的。
軟件平臺天生支持各種主流通訊總線協議, PROFINET, ETHERCAT, ETHERNET/IP , MODBUS TCP, MODBUS RTU等。
我們可以用電腦模擬PLC控制器來做通訊實驗,系統給了一定的試用時間授權,對于實現功能測試,足夠了。
上來測試,我沒有使用PN, EIP等的硬件設備,一則硬件需要成本,二則硬件需要接線,也比較麻煩。所以我選擇最入門的MODBUS TCP來做測試。因為它的成本最低。我們甚至可以在1臺電腦內通過運行模擬軟件,就可以實現。
當然,通訊成功后如果還想繼續拓展,也可以用一臺S7-1200來做PN從站,EIP從站以及MODBUS TCP服務端來實現硬件實驗。我本來是有S7-1214的,所以本來想對為什么用軟件模擬的理由解釋是沒有硬件,后來發現不對,我主要還是懶得折騰了。對面的從站那些功能的實現都是基本功能, 對我來說沒什么懸念的,所以就沒什么必要。
但讀者們如果技能還不夠熟練,也正在想盡各種途徑找一些折騰的方案以鍛煉自己, 那么搞一臺S7-1200甚至SMART 200,再配合本題,就可以做很多事情,積累很多經驗。尤其,西門子官方有出了PORTAL環境下的EIP通訊庫,可以借機會了解一下。
上面是對讀者的建議,而我本文的主題只做MODBUS TCP的通訊實驗。
ANYCONTROL中建立X64的標準項目,增加ETHETNET網口,再在其中添加MODBUS TCP SERVER, 并在SERVER之下增加若干個從站,我這里是7個。
我在去年一開始第一次摸這個軟件的時候,沒有找到MODBUS TCP,以為其沒有,就覺得很奇怪。后來發現在ETHERNET的類里。我是想當然的把ETHERNET當成了AB公司推行的ETHERNET/IP了。然而認知不一樣,軟件里是把EIP和MODBUS都作為了ETHERNET的一個子類。
為每一個從站設定網絡參數,其中IP指向本地電腦網卡的IP,當然也可以127.0.0.1的。而ID各不同,相當有一個MODBUS TCP網關下的多個RTU從站。
也給每個從站設置分配了所要通訊讀寫的數值,這里分別是讀寫40001開始的10個字
在IO映射配置中就自動得到了輸入輸出地址。
比如2#站,讀取40001數據的地址在IW60,而要寫入數據到40001,則是QW60。
多個從站所分配得到的地址,分別為IW/QW 50,60,70,80,90,100,110。
PLC_PRG任務中,簡單編寫一些程序:
即完成了各站點數據的通訊編程工作。
電腦中打開MODSIM32軟件,建立多個數據模擬窗口,分別設置不同的ID,對應PLC中所定義的各個從站。
然后PLC和MODSIM32分別開啟模擬運行,通訊實驗就成功了!
對。就是這么簡單。
即便是MODBUS通訊這樣在我們用習慣了SIEMENS PLC, 通常認為比較麻煩, 需要在PLC中編制復雜策略的輪詢程序來實現,在這里都異常簡單,就是簡單地以模塊化的組態的方式拖拖拽拽,填填參數,就完成了。尤其是,即便實際項目中,需要增加或者刪除一個站點,也只是增加或者減少這個站點本身,而不需要對其他原本存在的站點進行任何變動。這樣的模塊化才是真正的模塊化。
而在SIEMENS應用圈里,要實現MODBUS和MODBUS TCP通訊,可是一件了不得的大事。所有在工程項目中有成功應用的工程師,都值得拿出來總結一下大書特書。歷屆的西門子專家會議論文中,這方面的話題總是不斷。而網上相關這方面的文章更是多如牛毛。
我自己,寫過的關于MODBUS通訊的文章就不下20篇。因為我逐步不僅僅實現了輪詢,還做了封裝和模塊化,并做成了標準的庫函數GML,做到了如本文ANYCONTROL組態一樣簡單設置參數就可以實現通訊任務。當然,我們的組態是在程序里,通過模塊的參數設置實現。
也曾經想征集有理想有需求的同行, 將這個模式拓展到三菱,歐姆龍等同樣配置需求的PLC系統中。然而得到響應并不積極。
現在則發現,就像汽車有傳統車廠和新的造車新勢力一樣, PLC行業也有傳統勢力和新勢力之分。對于PLC新勢力,不管是ANYCONTROL , CODESYS,以及我沒摸過的其它平臺,至少在MODBUS通訊方面已經系統內置了輪詢功能,應用工程師在使用時,只需要簡單模塊化使用, 當然,對施耐德來說,MODBUS本來就是其自家協議,當然也早就內置的,根本不需要專門做邏輯程序實現。
近些年, PLC新勢力蓬勃發展,這種細節方面的簡單易用一定在其中起到了重要的作用。也不可避免地導致了那些舊勢力的被日漸冷落。而即便如西門子這樣的行業龍頭,也必然不可避免會受到沖擊。
那么對于我們這些多年使用西門子,偏愛西門子,甚至曾經入職西門子為其工作,將其視為自己家人般的工程師來說, 指出來事實真相當然不能算作是背叛,而我們能做的則是對發現的其中的短板幫忙加以補足,也算是彌補這一缺陷方面做出些自己的貢獻。
所以,我打算將我前面開發的S7-1200/1500和SMART 200的MODBUS 封裝庫GML以極低的價格出售。3年前都是價格1000的。但現在需要的工程師以幾十元價格就可以得到,就可以以后在項目中重復永久使用了。
因為在TIA PORTAL中的庫函數在軟件升級后加密塊無法編譯,所以會針對V16-V19的每個版本單獨做成加密庫,TCP和RTU分開,S7-1200和S7-1500因為代碼參數不同也分開的,另外SMART 200只做了RTU版本, 對于TCP因為一直沒有需求,所以暫時沒做,以后估計不大會有這方面的需求。
審核編輯:劉清
-
RTU
+關注
關注
0文章
405瀏覽量
28627 -
GML
+關注
關注
0文章
4瀏覽量
8237 -
modbus通訊
+關注
關注
0文章
13瀏覽量
1697
原文標題:1231 【萬泉河】體驗模塊化的MODBUS通訊以及GML開放計劃
文章出處:【微信號:PLC標準化編程,微信公眾號:PLC標準化編程】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論