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

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

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

S7-200SMART最新推出的Modbus TCP通信功能

1X4o_GKB1508 ? 來(lái)源:未知 ? 作者:李倩 ? 2018-07-05 17:41 ? 次閱讀

上次給大家分享了S7-200 SMART的開(kāi)放以太網(wǎng)通信,雖然可以實(shí)現(xiàn)SMART與第三方設(shè)備進(jìn)行以太網(wǎng)通信,但是很多人始終覺(jué)得雙邊的通信程序書(shū)寫(xiě)時(shí)較為麻煩,能不能實(shí)現(xiàn)單邊以太網(wǎng)通信呢?其實(shí)SMART還支持Modbus TCP通信,結(jié)合了TCP通信和Modbus RTU通信的優(yōu)點(diǎn),只是編寫(xiě)Modbus TCP通信的庫(kù)并非軟件標(biāo)配的功能,需要另外購(gòu)買(mǎi)西門(mén)子公司開(kāi)發(fā)的庫(kù)文件,最多包括8個(gè)客戶(hù)端庫(kù)和8個(gè)服務(wù)器庫(kù)。

1.MB_Client指令庫(kù)安裝

打開(kāi)STEP 7-Micro/WIN SMART V2.2及以上版本軟件,鼠標(biāo)右鍵項(xiàng)目樹(shù)的“庫(kù)”節(jié)點(diǎn),并從快捷菜單中選擇“打開(kāi)庫(kù)文件夾”,如圖1-1所示。

圖1-1打開(kāi)庫(kù)文件夾

1)將MB_Client指令庫(kù)添加到打開(kāi)的STEP 7-Micro/WINSMART庫(kù)文件夾中,如圖1-2所示。

圖1-2添加MB_Client指令庫(kù)

備注:STEP 7-Micro/WIN SMART庫(kù)文件夾一般存儲(chǔ)路徑為C:\Users\Public\Documents\Siemens\STEP7-MicroWIN SMART\Lib可以通過(guò)軟件修改。

關(guān)閉STEP 7-Micro/WIN SMART庫(kù)文件夾,然后鼠標(biāo)右鍵項(xiàng)目樹(shù)的“庫(kù)”節(jié)點(diǎn),并從快捷菜單中選擇“刷新庫(kù)”。刷新后,您可以看見(jiàn)“MB_Client”指令庫(kù)已經(jīng)被添加到項(xiàng)目樹(shù)的庫(kù)節(jié)點(diǎn)下,如圖1-3所示。。MB_Server服務(wù)器庫(kù)添加方法類(lèi)似。。

圖1-3

2.通信程序編寫(xiě)

有了Modbus TCP通信庫(kù)后,只需要調(diào)用庫(kù)進(jìn)行編程,使ModbusTCP通信程序變得非常簡(jiǎn)單,首先看客戶(hù)端程序如何編寫(xiě):

1)建立連接,如圖1-4所示:

圖1-4建立連接

MBC_Connect指令各個(gè)參數(shù)定義如下:

·EN使能:必須保證每一掃描周期都被使能。

·Connect:?jiǎn)?dòng)TCP 連接建立操作。

·Disconnect: 斷開(kāi)TCP連接操作。

·ConnID: TCP 連接標(biāo)識(shí)。

注意:Modbus TCP 屬于TCP通信,也是開(kāi)放式用戶(hù)通信中的一種,所以ConnID參數(shù)不能與其他TCP、ISO-on-TCP、UDP通信相同。

·IPaddr1~IPaddr4: Modbus TCP 客戶(hù)端的IP地址,IPaddr1 是 IP 地址的最高有效字節(jié),IPaddr4 是 IP 地址的最低有效字節(jié)。

·RemPort: Modbus TCP 客戶(hù)端的端口號(hào)。

·LocPort:本地設(shè)備上端口號(hào)。

·ConnectDone:Modbus TCP連接已經(jīng)成功建立。

·Busy: 連接操作正在進(jìn)行時(shí)。

·Error: 建立或斷開(kāi)連接時(shí),發(fā)生錯(cuò)誤。

·Status:如果指令置位“Error”輸出,Status 輸出會(huì)顯示錯(cuò)誤代碼。該錯(cuò)誤代碼為參考開(kāi)放式用戶(hù)通信庫(kù)指令錯(cuò)誤代碼,具體請(qǐng)參考STEP 7-Micro/WIN SMART在線幫助

注意:每個(gè) MB_Client指令庫(kù)只能創(chuàng)建一個(gè)Mdobus TCP連接,如果一個(gè)S7-200SMART需要連接多個(gè)Modbus TCP服務(wù)器,則需要購(gòu)買(mǎi)多個(gè)名稱(chēng)不同的MB_Client指令庫(kù)(例如MB_Client_0,MB_Client_1,MB_Client_2,MB_Client_3)

2)讀寫(xiě)數(shù)據(jù)MBC_MSG,如圖1-4所示:

圖1-4讀寫(xiě)數(shù)據(jù)

MBC_MSG指令各個(gè)參數(shù)定義如下:

·EN 使能:同一時(shí)刻只能有一條MB_Client_MSG指令使能,EN 輸入?yún)?shù)必須一直接通直到MB_Client_MSG 指令 Done 位被置 1。

·First讀寫(xiě)請(qǐng)求:每一條新的讀寫(xiě)請(qǐng)求需要使用信號(hào)沿觸發(fā)。

·RW讀寫(xiě)請(qǐng)求:為 0 時(shí),讀請(qǐng)求;為 1 時(shí),寫(xiě)請(qǐng)求。開(kāi)關(guān)量輸出線圈和保存寄存器支持讀請(qǐng)求和寫(xiě)請(qǐng)求,開(kāi)關(guān)量輸入觸點(diǎn)和模擬量輸入通道只支持讀請(qǐng)求。

·Addr讀寫(xiě)Modbus 服務(wù)器的Modbus 地址: 00001 至 0XXXX 為開(kāi)關(guān)量輸出線圈;10001 至 1XXXX 為開(kāi)關(guān)量輸入觸點(diǎn); 30001 至 3XXXX 為模擬量輸入通道; 40001 至 4XXXX 為保持寄存器。

·Count讀寫(xiě)數(shù)據(jù)的個(gè)數(shù):對(duì)于Modbus 地址 0XXXX、1XXXX ,Count 按位的個(gè)數(shù)計(jì)算;對(duì)于 Modbus 地址 3XXXX、4XXXX ,Count 按字的個(gè)數(shù)計(jì)算;一個(gè) MB_Client_MSG 指令最多讀取或?qū)懭?120 個(gè)字或 1920 個(gè)位數(shù)據(jù)。

·DataPtr數(shù)據(jù)指針:參數(shù) DataPtr 是間接地址指針,指向 CPU 中與讀/寫(xiě)請(qǐng)求相關(guān)的數(shù)據(jù)的 V 存儲(chǔ)器地址。對(duì)于讀請(qǐng)求,DataPtr應(yīng)指向用于存儲(chǔ)從 Modbus 服務(wù)器讀取的數(shù)據(jù)的第一個(gè) CPU存儲(chǔ)單元。對(duì)于寫(xiě)請(qǐng)求,DataPtr應(yīng)指向要發(fā)送到 Modbus 服務(wù)器的數(shù)據(jù)的第一個(gè) CPU 存儲(chǔ)單元。

·Done完成位:讀寫(xiě)功能完成或者出現(xiàn)錯(cuò)誤時(shí),該位會(huì)自動(dòng)置1。多條 MBC_MSG 指令執(zhí)行時(shí),可以使用該完成位激活下一條 MBC_MSG 指令的執(zhí)行。

·Error:錯(cuò)誤代碼,只有在 Done 位為1時(shí)錯(cuò)誤代碼有效。

如下表1-5所示:

MB_Client錯(cuò)誤代碼 描述
0 無(wú)錯(cuò)誤
1 TCP 發(fā)送數(shù)據(jù)錯(cuò)誤
2 TCP接收數(shù)據(jù)錯(cuò)誤
3 Modbus 接收響應(yīng)超時(shí)
4 請(qǐng)求參數(shù)出錯(cuò):一個(gè)或多個(gè)輸入?yún)?shù)(“從站”(Slave)、“讀寫(xiě)”(RW)、“地址”(Addr) 或“計(jì)數(shù)”(Count))被設(shè)置為非法值。
5 TCP連接未成功建立
6 Modbus 正忙于處理另一請(qǐng)求。
7 Modbus響應(yīng)出錯(cuò),接收到的響應(yīng)與請(qǐng)求不符合。
8 Modbus響應(yīng)長(zhǎng)度校驗(yàn)錯(cuò)誤。
101 Modbus 服務(wù)器不支持該地址的請(qǐng)求功能。
102 Modbus 服務(wù)器不支持?jǐn)?shù)據(jù)地址:“地址”(Addr) 加上“計(jì)數(shù)”(Count) 的請(qǐng)求地址范圍超出服務(wù)器允許的地址范圍。
103 Modbus服務(wù)器不支持?jǐn)?shù)據(jù)類(lèi)型:服務(wù)器設(shè)備不支持“地址”(Addr) 類(lèi)型。
104 Modbus服務(wù)器設(shè)備故障

表1-5MB_Client錯(cuò)誤代碼

3)為MB_Client指令庫(kù)分配庫(kù)存儲(chǔ)器地址。

MB_Client指令庫(kù)需要占用 300個(gè)字節(jié) V 存儲(chǔ)區(qū)用于庫(kù)存儲(chǔ)器地址分配。該庫(kù)存儲(chǔ)器分配地址不能與 MBC_MSG 指令參數(shù)DataPtr指向的 V 存儲(chǔ)器地址重疊,也不能與其它程序使用的地址有重疊,庫(kù)存儲(chǔ)器地址分配過(guò)程見(jiàn)圖1-5所示。

圖1-5為MB_Client分配庫(kù)存儲(chǔ)區(qū)

接下來(lái)就是服務(wù)端程序的編寫(xiě)了:

注意:每個(gè) MB_Server指令庫(kù)只能創(chuàng)建一個(gè)Mdobus TCP連接,如果一個(gè)S7-200 SMART 需要連接多個(gè)Modbus TCP 客戶(hù)端,則需要購(gòu)買(mǎi)多個(gè)名稱(chēng)不同的MB_Server指令庫(kù)(例如MB_Server_0,MB_Server_1,MB_Server_2)

1)建立與客戶(hù)端連接,如圖1-6所示:

圖1-6建立與客戶(hù)端連接

MBS_Connect指令各個(gè)參數(shù)定義如下:

·EN使能:必須保證每一掃描周期都被使能。

·Connect:?jiǎn)?dòng)TCP 連接建立操作。

·Disconnect: 斷開(kāi)TCP連接操作。

·ConnID: TCP 連接標(biāo)識(shí)。

注意:Modbus TCP 屬于TCP通信,也是開(kāi)放式用戶(hù)通信中的一種,所以ConnID參數(shù)不能與其他TCP、ISO-on-TCP、UDP通信相同。

·IPaddr1~IPaddr4: Modbus TCP 客戶(hù)端的IP地址,IPaddr1 是 IP 地址的最高有效字節(jié),IPaddr4 是 IP 地址的最低有效字節(jié)。如果不指定伙伴 IP ,則可以設(shè)置為0.0.0.0 。

·LocPort:本地設(shè)備上端口號(hào)

MaxHold: 用于設(shè)置 Modbus 地址 4xxxx 或 4yyyyy 可訪問(wèn)的 V 存儲(chǔ)器中的字保持寄存器數(shù)。

· HoldStart:間接地址指針,指向 CPU 中 V 存儲(chǔ)器中保持寄存器的起始地址,即40001從哪個(gè)地址開(kāi)始。

· ConnectDone:Modbus TCP連接已經(jīng)成功建立。

· Busy: 連接操作正在進(jìn)行時(shí)。

· Error: 建立或斷開(kāi)連接時(shí),發(fā)生錯(cuò)誤。

· Status:如果指令置位“Error”輸出,Status 輸出會(huì)顯示錯(cuò)誤代碼。

MB_Server指令庫(kù)錯(cuò)誤代碼如表1-7所示。

表 1-7 MB_Server錯(cuò)誤代碼

2)收到客戶(hù)端發(fā)來(lái)的命令要進(jìn)行應(yīng)答,如圖1-8所示。

圖1-8服務(wù)器應(yīng)答

3)為MB_Server指令庫(kù)分配庫(kù)存儲(chǔ)器地址。

MB_Server指令庫(kù)需要占用 300個(gè)字節(jié) V 存儲(chǔ)區(qū)用于庫(kù)存儲(chǔ)器地址分配。該庫(kù)存儲(chǔ)器分配地址不能與 MBS_Connect 指令參數(shù) HoadStart指向的 V 存儲(chǔ)器地址重疊,也不能與其它程序使用的地址有重疊,否則可能導(dǎo)致通信故障無(wú)法實(shí)現(xiàn)通信,庫(kù)存儲(chǔ)器地址分配過(guò)程見(jiàn)圖1-9所示。

圖1-9 為MB_Server庫(kù)分配存儲(chǔ)器

耐心看完本文的小伙伴們,恭喜你已經(jīng)學(xué)會(huì)了S7-200SMART最新推出的Modbus TCP通信功能啦,是不是迫不及待的想去測(cè)試一下呢?

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

    關(guān)注

    40

    文章

    5427

    瀏覽量

    171791
  • 西門(mén)子
    +關(guān)注

    關(guān)注

    94

    文章

    3041

    瀏覽量

    115930
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1356

    瀏覽量

    79098
  • S7-200
    +關(guān)注

    關(guān)注

    13

    文章

    408

    瀏覽量

    50457

原文標(biāo)題:西門(mén)子S7-200SMART原來(lái)還支持Modbus TCP通信

文章出處:【微信號(hào):GKB1508,微信公眾號(hào):工控幫】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    西門(mén)子s7-200smart modbus-tcp通信實(shí)例編程詳細(xì)指導(dǎo)

    西門(mén)子s7-200smart modbus-tcp通信實(shí)例編程詳細(xì)指導(dǎo)
    發(fā)表于 11-24 12:21

    winCC modbus TCP方式與S7-200 SMART PLC通信視頻教程免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是winCC modbus TCP方式與S7-200 SMART PLC通信視頻教程免費(fèi)下載。
    發(fā)表于 12-07 08:00 ?101次下載
    winCC <b class='flag-5'>modbus</b> <b class='flag-5'>TCP</b>方式與<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b> PLC<b class='flag-5'>通信</b>視頻教程免費(fèi)下載

    S7-200smart 與臺(tái)達(dá)變頻器通訊功能及參數(shù)程序

    S7-200smart 與臺(tái)達(dá)變頻器通訊控制程序
    的頭像 發(fā)表于 07-27 08:59 ?2.6w次閱讀
    <b class='flag-5'>S7-200smart</b> 與臺(tái)達(dá)變頻器通訊<b class='flag-5'>功能</b>及參數(shù)程序

    西門(mén)子S7-200SMART接入BL102 PLC網(wǎng)關(guān)

    ,BL102網(wǎng)關(guān)采集西門(mén)子S7-200SMART的數(shù)據(jù)通過(guò) WAN 口連接 4G 路由器 R40,使用 R40 的路由功能將數(shù)據(jù)上傳到各個(gè)云平臺(tái)。 注:WAN 口和 LAN 口都可以采集設(shè)備,示例是介紹
    發(fā)表于 10-28 17:08 ?1961次閱讀
    西門(mén)子<b class='flag-5'>S7-200SMART</b>接入BL102 PLC網(wǎng)關(guān)

    PLC網(wǎng)關(guān)采集西門(mén)子S7-200SMART數(shù)據(jù)配置流程

    PLC網(wǎng)關(guān)采集西門(mén)子S7-200SMART數(shù)據(jù)配置流程
    發(fā)表于 11-04 11:37 ?4051次閱讀
    PLC網(wǎng)關(guān)采集西門(mén)子<b class='flag-5'>S7-200SMART</b>數(shù)據(jù)配置流程

    西門(mén)子S7-200SMART如何接入MQTT云平臺(tái)

    西門(mén)子S7-200SMART如何接入MQTT云平臺(tái)
    發(fā)表于 11-10 16:49 ?3397次閱讀

    S7-200 SMART與調(diào)試助手之間TCP通信

    TCP 通信為面向連接的通信,需要雙方都調(diào)用指令以建立連接及交換數(shù)據(jù)。S7-200 SMARTS7
    的頭像 發(fā)表于 03-14 10:08 ?5133次閱讀

    組態(tài)王與S7-200SMART PLC以太網(wǎng)通信

    組態(tài)王與S7-200SMART PLC以太網(wǎng)通信,對(duì)于剛接觸者有點(diǎn)難度,不知如何進(jìn)行配置,如何通信,那么接下來(lái)教大家來(lái)一步一步來(lái)做通信
    的頭像 發(fā)表于 09-07 16:26 ?5455次閱讀

    西門(mén)子s7-200smarts7-1200PLC通信技術(shù)

    S7-1200與S7-200SMART S7 通訊的另外一種方法是S7-200SAMRT PLC做客服端,S7-1200做服務(wù)器。該方式需要
    發(fā)表于 11-17 20:16 ?8061次閱讀

    以西門(mén)子S7-200/S7-200SMART/和S7-1200為例對(duì)Modbus地址進(jìn)行說(shuō)明

    門(mén)子S7-200/S7-200SMART/和S7-1200為例來(lái)說(shuō)明: 第一種情況:西門(mén)子PLC作Modbus主站,Modbus地址和PLC
    的頭像 發(fā)表于 03-16 15:16 ?1.2w次閱讀

    組態(tài)王軟件與S7-200SMART無(wú)線MODBUS通信

    本方案是組態(tài)軟件與西門(mén)子 S7-200 Smart 進(jìn)行無(wú)線 MODBUS 通信的實(shí)現(xiàn)方法。此方案可以作為西門(mén)子 S7-200
    的頭像 發(fā)表于 04-04 09:46 ?1714次閱讀
    組態(tài)王軟件與<b class='flag-5'>S7-200SMART</b>無(wú)線<b class='flag-5'>MODBUS</b><b class='flag-5'>通信</b>

    西門(mén)子S7-200Smart如何轉(zhuǎn)換Modbus

    西門(mén)子S7-200Smart Modbus網(wǎng)關(guān)
    的頭像 發(fā)表于 11-03 18:41 ?4082次閱讀
    西門(mén)子<b class='flag-5'>S7-200Smart</b>如何轉(zhuǎn)換<b class='flag-5'>Modbus</b>

    如何實(shí)現(xiàn) S7-200smart系列PLC的本地?cái)?shù)采及云端數(shù)采?

    客戶(hù)創(chuàng)造更多的價(jià)值。S7-200SMARTCPU支持多種通信協(xié)議,可與PLC、觸摸屏、變頻器、伺服驅(qū)動(dòng)器、上位機(jī)等連網(wǎng)通信。S7-200SMART在工業(yè)場(chǎng)景應(yīng)用廣泛
    的頭像 發(fā)表于 10-12 18:08 ?1251次閱讀
    如何實(shí)現(xiàn) <b class='flag-5'>S7-200smart</b>系列PLC的本地?cái)?shù)采及云端數(shù)采?

    西門(mén)子S7-1200與S7-200SMART進(jìn)行PN通信!

    S7-200SMART編程軟件自V2.4版本、CPU固件也是自2.4版本起起開(kāi)始支持Profinet通信。S7-200SMART即可以做IO控制器,也可以做IO設(shè)備。下面的例程以S7-200S
    的頭像 發(fā)表于 07-10 16:05 ?4904次閱讀
    西門(mén)子<b class='flag-5'>S7</b>-1200與<b class='flag-5'>S7-200SMART</b>進(jìn)行PN<b class='flag-5'>通信</b>!

    PLC西門(mén)子S7-200smartS7-1200的區(qū)別?

    PLC西門(mén)子S7-200smartS7-1200的區(qū)別? 西門(mén)子S7-200 smartS7-1200是西門(mén)子公司
    的頭像 發(fā)表于 11-17 11:41 ?1w次閱讀