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