0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

手把手帶小白做MODBUS通訊實驗

opkgjew ? 來源: PLC標(biāo)準(zhǔn)化編程 ? 2023-08-06 17:05 ? 次閱讀

我們做程序庫封裝的基本要義是高內(nèi)聚低耦合, 而評價低耦合的終極體現(xiàn)則是使用實現(xiàn)過程的優(yōu)雅程度。

換大白話說便是,即便一個啥都不懂的小白,經(jīng)過簡單的輔導(dǎo),就可以實現(xiàn)應(yīng)用。具備應(yīng)用到工程現(xiàn)場中的能力。而至于原理不懂, 無所謂。能獨立先把工作任務(wù)完成了最重要。這就是優(yōu)雅。

我曾經(jīng)發(fā)布了《0601 【萬泉河】優(yōu)雅的80個MODBUS通訊的變頻器例子》,并將例子有償或無償分發(fā)給了部分感興趣的學(xué)員。

然而發(fā)現(xiàn),其實MODBUS通訊的技能, 并不是工控行業(yè)必備。有一些做非標(biāo)設(shè)備的學(xué)員,各種軸類,張力控制應(yīng)用等非常嫻熟,然而十幾年工作經(jīng)驗,都有可能沒用過MODBUS通訊。因為實在用不到。

而有用過的學(xué)員, 經(jīng)驗也非常少??赡芤簿陀羞^一次兩次跟MODBUS儀表的通訊經(jīng)驗,所帶的站點也不過是1-2臺。所以80的例子就對他們來說有些上頭。有學(xué)員來參加會議從飛機場見面后,就開始反復(fù)問我程序塊中的SUBNET接口是什么。反復(fù)解釋都不能理解。主要是他們的工程應(yīng)用中沒有機會遇到我們一個CPU下動輒幾百臺RTU需要控制的情況。

所以, 直到做相關(guān)行業(yè)的學(xué)員,在會上做了應(yīng)用分享之后,疑惑才稍微打消。

然后,我在會上就許諾大家,我會做一個小白教程,帶大家學(xué)會使用這套GML庫的方法。所以本文另一個題目可以叫做: GML 庫函數(shù)使用方法。

需要的設(shè)備:

1,一臺CPU1214。

2,一臺電腦。

即,我們可以在只有一臺電腦+一臺CPU的情況下,就完成MODBUS通訊實驗學(xué)習(xí)。當(dāng)然,也有可能不使用實體的CPU硬件,只用一臺電腦,電腦上用PLCSIM的某個版本也可以實現(xiàn)。但我因為有這個CPU硬件,而電腦上跑不起來更高性能的PLCSIM,所以就沒做這方面的測試驗證。歡迎有讀者參照本文做完實驗后,可以再嘗試在PLCSIM中驗證實現(xiàn)。然后把是否可行的結(jié)果告訴我。

電腦上需要的軟件:

1,TIA PORTAL V17

2,MODSCAN

3,MODSIM

以下是實驗的具體步驟:

步驟1:

PORTAL軟件中打開80變頻器程序,檢查CPU的IP:169.254.1.100

b3bc8394-3417-11ee-9e74-dac502259ad0.png

則設(shè)置電腦的網(wǎng)卡的IP為同網(wǎng)段,比如169.254.1.13。

步驟2:

打開程序中的NM_ACS500 (FB32),看到程序中讀取變頻器的頻率和電流分別在4005和4006 。那么我們知道了,如果相應(yīng)的地址有數(shù)據(jù)了,并且通訊成功了,PLC程序監(jiān)控中就會有數(shù)值。

b3dc8f22-3417-11ee-9e74-dac502259ad0.png

當(dāng)然,這部分工作是倒敘的,是在已經(jīng)有現(xiàn)成的設(shè)備塊的情況下。而實際應(yīng)用中,你應(yīng)該根據(jù)所要通訊的設(shè)備的數(shù)據(jù)表來編寫相應(yīng)設(shè)備的控制程序。

步驟3:

運行MODSIM,打開MODBUS TCP通訊,并將40005和40006設(shè)置為數(shù)值自動增長。這里的device ID為1, 代表站地址為1,也可以再新開一個窗口,地址為2,則模擬了地址=2的站。

b3eb39aa-3417-11ee-9e74-dac502259ad0.png

步驟4:

運行MODSCAN來檢查從站通訊,設(shè)置通訊目標(biāo)的IP為本機IP,或者127.0.0.1

b403d050-3417-11ee-9e74-dac502259ad0.png

然后可以讀取到數(shù)值。然后MODSCAN可以關(guān)閉不再運行。

b40be574-3417-11ee-9e74-dac502259ad0.png

步驟5:

PLC程序中打開FB36:MTCP_X7v4

程序段3中IP4=13,即電腦的IP。這里是SUBNET=101,如果有更多的網(wǎng)絡(luò)總線,可以為102,103等等。這個塊里最多做了7條線。每條線對應(yīng)了不同的IP。而工程應(yīng)用中,同事們已經(jīng)最多做到了10條,都是在這里簡單復(fù)制增加。

b441559c-3417-11ee-9e74-dac502259ad0.png

步驟6

設(shè)備塊(變頻器)的實例化調(diào)用中,檢查調(diào)用的SUBNET和站地址對應(yīng)正確。

b45946ac-3417-11ee-9e74-dac502259ad0.png

我前面給的例子的版本中,忘記了這里的MODBUS TCP通訊的SUBNET是從101開始的,因為原本做的是MODBUS RTU,定義在100以下,是另外一個程序塊中實現(xiàn)的。那個時候大量使用的CP ptp模塊來實現(xiàn)和RTU的通訊,后來增加了MODBUS TCP網(wǎng)關(guān)的方式,庫函數(shù)中就做了2種方式兼容,再后來基本不再使用PTP模塊,而是統(tǒng)一都用網(wǎng)關(guān)來轉(zhuǎn)換,就把舊的模塊刪掉了,而SUBNET的定義還沒變。

程序修改下載之后,CPU切換到運行,自動就通訊上了,ABB01站的頻率和電流的數(shù)據(jù)已經(jīng)有數(shù)值了。

b48e872c-3417-11ee-9e74-dac502259ad0.png

而再MODSIM中增加站號2和3的數(shù)據(jù)模擬,相應(yīng)的站的數(shù)據(jù)也會通訊成功讀上來。

更進一步,如果增加一臺電腦,比如運行虛擬機,通過不同的IP中運行MODSIM的數(shù)據(jù)仿真,也可以實現(xiàn)更多SUBNET總線的數(shù)據(jù)通訊。

這些都是可以直接通過組態(tài)和簡單設(shè)置數(shù)據(jù)實現(xiàn)的。

而實現(xiàn)之后發(fā)現(xiàn),對MODBUS通訊的機理特別是輪詢部分絲毫沒有涉及,有多少個站就平行調(diào)用多少個站的實例。就像PROFINET 的PN站點一樣簡單。

對MODBUS通訊需要做輪詢這一點, 其實只有西門子和三菱等老牌PLC系統(tǒng)里面才需要做。而對于新的CODESYE等環(huán)境的平臺, 子站都是組態(tài)之后就可以直接通訊的,與ETHERCAT, PROFINET并沒有多少區(qū)別。這應(yīng)該也是一大半同行對輪詢不太感興趣的原因。因為他們根本用不到啊!

所以倒過來看, 掌握所謂的輪詢的技能也并不是行業(yè)必備的必殺技。你完全可以不選用這些產(chǎn)品, 以繞過這些難點嘛!比如頂多可以花點錢買個貴一點的PN/MODBUS網(wǎng)關(guān),也可以省掉這些工作量。而實際上,我們開發(fā)這一套庫函數(shù),也只是因為以前的方案選用的專用的網(wǎng)關(guān)產(chǎn)品太貴,工程中反復(fù)用到,花費有點多,出于要省一點成本的目的,而另外花出了幾個月的時間做的庫。

最后對那些白嫖不到卻強烈要求開源的同行說一下, 所謂的開源,是建立在各方水平級別相等的基礎(chǔ)上的。至少對方開放源代碼的代碼,自己要能看得懂,理念方法要能認(rèn)同,要有共同的價值觀。最好還要能對方開源的內(nèi)容有改進有貢獻,這種開源才有意義。否則都算不上真正意義的開源。開源從來不是單向輸出,也更不是什么道德楷模。

我近幾年專門制作了不少例子的源代碼供同行學(xué)習(xí)提高。比如80系列的一些例子,80模擬量的標(biāo)準(zhǔn)答案等,然而收效并不太好,大多數(shù)的同行表示從中學(xué)到了技能。然而也有不少的聲音認(rèn)為我做的太簡單而借此反而嘲笑攻擊我。甚至有人在我的帖子下面回復(fù):看到有人罵你我就放心了。

我不知道他放的什么心。我唯一可以讓他, 以及讓所有同行放心一點的是,只要有一個這樣謾罵的聲音在,我就不會免費開源。毫無價值,毫無意義。我沒有必要去討好這樣的價值觀的同行。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10863

    瀏覽量

    211799
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8605

    瀏覽量

    151197
  • 變頻器
    +關(guān)注

    關(guān)注

    251

    文章

    6555

    瀏覽量

    144749
  • MODBUS
    +關(guān)注

    關(guān)注

    28

    文章

    1805

    瀏覽量

    77011
  • 通訊
    +關(guān)注

    關(guān)注

    9

    文章

    903

    瀏覽量

    34912

原文標(biāo)題:0806 【萬泉河】手把手帶小白做MODBUS通訊實驗

文章出處:【微信號:PLC標(biāo)準(zhǔn)化編程,微信公眾號:PLC標(biāo)準(zhǔn)化編程】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    手把手配套資料

    手把手配套資料
    發(fā)表于 01-04 11:14

    手把手教你構(gòu)建一個完整的工程

    手把手教你構(gòu)建一個完整的工程
    發(fā)表于 08-03 09:54 ?33次下載
    <b class='flag-5'>手把手</b>教你構(gòu)建一個完整的工程

    手把手教你寫批處理-批處理的介紹

    手把手教你寫批處理-批處理的介紹
    發(fā)表于 10-25 15:02 ?69次下載

    美女手把手教你如何裝機(中)

    美女手把手教你如何裝機(中) 再來是硬碟的部份,這款機殼還不錯,可以旋轉(zhuǎn)支架~
    發(fā)表于 01-27 11:14 ?1467次閱讀

    美女手把手教你如何裝機(下)

    美女手把手教你如何裝機(下) 接著下來就是今天的重頭戲,開核蘿!~
    發(fā)表于 01-27 11:16 ?2923次閱讀

    手把手教你學(xué)電子書制作

    手把手教你學(xué)電子書制作,可以自己DIY電子書
    發(fā)表于 09-13 11:26 ?0次下載

    手把手教你安裝Quartus II

    本章手把手把地教你如何安裝 Quartus II 軟件 ,并將它激活 。此外 還有USB -Blaster下載器的驅(qū)動安裝步驟 。
    發(fā)表于 09-18 14:55 ?9次下載

    手把手教你在家搭建監(jiān)控系統(tǒng)

    手把手教你在家搭建監(jiān)控系統(tǒng)
    發(fā)表于 01-17 19:47 ?25次下載

    手把手教你做電子時鐘---前言

    手把手教你做彩鈴電子時鐘
    發(fā)表于 11-14 16:53 ?11次下載

    手把手教你如何開始DSP編程

    手把手教你如何開始DSP編程。
    發(fā)表于 04-09 11:54 ?12次下載
    <b class='flag-5'>手把手</b>教你如何開始DSP編程

    手把手教你學(xué)LabVIEW視覺設(shè)計

    手把手教你學(xué)LabVIEW視覺設(shè)計手把手教你學(xué)LabVIEW視覺設(shè)計手把手教你學(xué)LabVIEW視覺設(shè)計手把手教你學(xué)LabVIEW視覺設(shè)計手把手
    發(fā)表于 03-06 01:41 ?3142次閱讀

    手把手教你開關(guān)電源PCB排板

    手把手教你開關(guān)電源PCB排板(新型電源技術(shù))-分享一下開關(guān)電源PCB排板的基本要點及分析,以及例子講解。絕對的手把手
    發(fā)表于 09-18 12:27 ?58次下載
    <b class='flag-5'>手把手</b>教你開關(guān)電源PCB排板

    手把手教你pcb壓合的整個流程,小白也能玩轉(zhuǎn)電路板制作

    手把手教你pcb壓合的整個流程,小白也能玩轉(zhuǎn)電路板制作
    的頭像 發(fā)表于 09-18 10:43 ?3918次閱讀

    手把手您使用MCUXpresso Config Tools生成USB組合設(shè)備

    手把手您使用MCUXpresso Config Tools生成USB組合設(shè)備
    的頭像 發(fā)表于 10-31 16:55 ?1163次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>帶</b>您使用MCUXpresso Config Tools生成USB組合設(shè)備

    手把手教你學(xué)FPGA仿真

    電子發(fā)燒友網(wǎng)站提供《手把手教你學(xué)FPGA仿真.pdf》資料免費下載
    發(fā)表于 10-19 09:17 ?2次下載
    <b class='flag-5'>手把手</b>教你學(xué)FPGA仿真