吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

opkgjew ? 來源: PLC標準化編程 ? 2023-08-06 17:05 ? 次閱讀

我們做程序庫封裝的基本要義是高內聚低耦合, 而評價低耦合的終極體現則是使用實現過程的優雅程度。

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

我曾經發布了《0601 【萬泉河】優雅的80個MODBUS通訊的變頻器例子》,并將例子有償或無償分發給了部分感興趣的學員。

然而發現,其實MODBUS通訊的技能, 并不是工控行業必備。有一些做非標設備的學員,各種軸類,張力控制應用等非常嫻熟,然而十幾年工作經驗,都有可能沒用過MODBUS通訊。因為實在用不到。

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

所以, 直到做相關行業的學員,在會上做了應用分享之后,疑惑才稍微打消。

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

需要的設備:

1,一臺CPU1214。

2,一臺電腦

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

電腦上需要的軟件:

1,TIA PORTAL V17

2,MODSCAN

3,MODSIM

以下是實驗的具體步驟:

步驟1:

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

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

則設置電腦的網卡的IP為同網段,比如169.254.1.13。

步驟2:

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

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

當然,這部分工作是倒敘的,是在已經有現成的設備塊的情況下。而實際應用中,你應該根據所要通訊的設備的數據表來編寫相應設備的控制程序。

步驟3:

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

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

步驟4:

運行MODSCAN來檢查從站通訊,設置通訊目標的IP為本機IP,或者127.0.0.1

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

然后可以讀取到數值。然后MODSCAN可以關閉不再運行。

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

步驟5:

PLC程序中打開FB36:MTCP_X7v4

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

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

步驟6

設備塊(變頻器)的實例化調用中,檢查調用的SUBNET和站地址對應正確。

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

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

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

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

而再MODSIM中增加站號2和3的數據模擬,相應的站的數據也會通訊成功讀上來。

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

這些都是可以直接通過組態和簡單設置數據實現的。

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

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

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

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

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

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

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10905

    瀏覽量

    213030
  • 接口
    +關注

    關注

    33

    文章

    8694

    瀏覽量

    151925
  • 變頻器
    +關注

    關注

    251

    文章

    6585

    瀏覽量

    145825
  • MODBUS
    +關注

    關注

    28

    文章

    1821

    瀏覽量

    77316
  • 通訊
    +關注

    關注

    9

    文章

    912

    瀏覽量

    35084

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

文章出處:【微信號:PLC標準化編程,微信公眾號:PLC標準化編程】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    圖文教程:手把手教你焊接貼片元件

    圖文教程:手把手教你焊接貼片元件,首先來張全部焊接一個點的PCB圖
    發表于 04-01 11:03 ?3.6w次閱讀
    圖文教程:<b class='flag-5'>手把手</b>教你焊接貼片元件

    手把手教你構建一個完整的工程

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

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

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

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

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

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

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

    手把手教你學電子書制作

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

    手把手教你安裝Quartus II

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

    手把手教你在家搭建監控系統

    手把手教你在家搭建監控系統
    發表于 01-17 19:47 ?25次下載

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

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

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

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

    手把手教你學LabVIEW視覺設計

    手把手教你學LabVIEW視覺設計手把手教你學LabVIEW視覺設計手把手教你學LabVIEW視覺設計手把手教你學LabVIEW視覺設計手把手
    發表于 03-06 01:41 ?3183次閱讀

    手把手教你開關電源PCB排板

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

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

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

    手把手您使用MCUXpresso Config Tools生成USB組合設備

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

    手把手教你學FPGA仿真

    電子發燒友網站提供《手把手教你學FPGA仿真.pdf》資料免費下載
    發表于 10-19 09:17 ?2次下載
    <b class='flag-5'>手把手</b>教你學FPGA仿真
    南京百家乐菜籽油| 江川县| 百家乐轮盘桌| 百家乐官网孖宝揽| 代理百家乐官网最多占成| 开户娱乐城送20彩金| 跪求百家乐官网打法| 百家乐官网电子路单下载| 百家乐官网能赚大钱吗| 公主岭市| 建阳市| 百家乐官网客户端LV| 百家乐官网免費游戏| 铅山县| 瑞发国际| 盛世国际娱乐| 和乐娱乐| 真龙国际娱乐| 苗栗市| 百家乐官网怎么推算| 百家乐官网技巧阅读| 金沙百家乐官网现金网| 百家乐官网注册赠金| 武邑县| 塑料百家乐官网筹码| 麻将百家乐官网筹码| 百家乐官网强弱走势| 三亚百家乐官网的玩法技巧和规则 | 真人百家乐官网是啥游戏| 长乐坊百家乐官网娱乐城| 凯旋门百家乐官网娱乐城| 玩百家乐官网输澳门百家乐官网现场| 百家乐官网清零| 娱乐网百家乐官网的玩法技巧和规则| 百家乐官网开户平台| 百家乐官网qq游戏| 百家乐从哪而来| 百家乐德州扑克轮盘| 免费百家乐预测软件| 棋牌游戏开发商| 百家乐官网代理加盟|