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

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

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

最全解析西門子S7-200使用Modbus協(xié)議

1bGT_GKYXT1508 ? 來源:lq ? 2019-05-01 15:46 ? 次閱讀

在使用Modbus協(xié)議時,計(jì)算機(jī)與S7-200之間通訊直接使用PPI通訊電纜即可。但如果通訊距離較遠(yuǎn),或者需要將多個S7-200連接到一個通訊總線上時,我們可以通過如下方法配制通訊鏈路。

選配一個計(jì)算機(jī)通訊端口

由于S7-200通訊端口物理層使用的是RS-485通訊規(guī)范,因此我們需要在計(jì)算機(jī)端增加一個RS-485通訊端口,才能與計(jì)算機(jī)通訊建立通訊。如果計(jì)算機(jī)閑置的串口,我們可以選配一個RS-232轉(zhuǎn)RS-484轉(zhuǎn)換器即可;如果沒有閑置的串口,我們通過在計(jì)算機(jī)中增加一個RS-485通訊卡也可以;現(xiàn)在很多計(jì)算機(jī)都有USB口,我們也可以在計(jì)算機(jī)上外接一個USB轉(zhuǎn)RS-485轉(zhuǎn)換器。連接通訊電纜

S7-200的通訊端口是一個9孔(famel)D型插頭,針腳分布如下所示:

針腳 信號
1 地線 (RS-485 邏輯地)
2 24 V 地線 (RS-485 邏輯地)
3 信號B (RxD/TxD+)
4 RTS (TTL level)
5 地線 (RS-485 邏輯地)
6 (空)
7 24 V 電源
8 信號A (RxD/TxD-)
9 通訊選擇

S7-200通訊端口(端口0)與RS-485板卡或RS-485/RS-232轉(zhuǎn)換器之間接線,如下圖所示:

S7-200編程及設(shè)置

在缺省情況下S7-200的通訊端口是不支持Modbus協(xié)議的,要想實(shí)現(xiàn)Modbus通訊必需在PLC的主程序模塊中調(diào)用Modbus通訊子程序。Modbus通訊子程序可以從“STEP 7-Micro/WIN Add-On: Instruction Library (STEP 7-Micro/WIN附件:指令庫)”中獲得。在安裝了“STEP 7-Micro/WIN附件:指令庫”后,在導(dǎo)航樹“指令/庫”下面我們可以找到“Modbus Protocol”。在其下面包含了MBUS_INIT和MBUS_SLAVE兩個子程序,MBUS_INIT用于對Modbus通訊進(jìn)行初始化,MBUS_SLAVE用于在指定端口上提供Modbus從站通訊服務(wù)。下在介紹如何在主程序中調(diào)相關(guān)子程序及環(huán)境參數(shù)設(shè)置:調(diào)用Modbus通訊初始化命令

首先為MBUS_INIT命令建立一個觸發(fā)條件(只觸發(fā)一次),如:SM0.1;從導(dǎo)航樹“指令/庫/ Modbus Protocol”下面,將MBUS_INIT指令拖拽到主程序塊中。再就是正確設(shè)置MBUS_INIT各項(xiàng)調(diào)用參數(shù)和執(zhí)行結(jié)果輸出地址,我們可以建立一下如下圖所示初始化調(diào)用過程:

Mode:協(xié)議類型,1-Modbus協(xié)議;0-PPI協(xié)議。

Addr: PLC地址,1~247,。

Baud: 通訊波特率,1200、2400、4800、9600、19200、38400、57600或11520。

Parity: 校驗(yàn)方式,0-無校驗(yàn);1-奇數(shù)校驗(yàn);2-偶數(shù)校驗(yàn)。

Delay:信息結(jié)束超時時間,0~32767,有線連接設(shè)置為0即可。

MaxIQ:0~128,映射在離散輸入寄存器或離散輸出寄存器中的I或Q數(shù)。建議為:128。

MaxAI:0~32;映射在模擬輸入寄存器中AIW數(shù);CPU 221為0,CPU 222為16,CPU 224、226和226XM為32。

MaxHold:V內(nèi)存映射在保持寄存器中的寄存器數(shù)。

HoldStart:V內(nèi)存的映射時的起始地址。

Done:初始化指完成時,輸出為開狀態(tài);開關(guān)量(Bit)。

Error:初始化錯誤代碼,請參閱Modbus從機(jī)協(xié)議執(zhí)行錯誤代碼;輸出為字節(jié)。調(diào)用Modbus從機(jī)通訊命令

初始化完成后,就可以調(diào)用Modbus從機(jī)通訊命令(MBUS_SLAVE)了。通常Modbus從機(jī)通訊命令在主程序塊的每個執(zhí)行周期都要初執(zhí)行(始終保持通訊狀態(tài)),因?yàn)榭梢杂靡粋€常開量作為命令的觸發(fā)條件,如:SM0.0。從導(dǎo)航樹“指令/庫/ Modbus Protocol”下面,將MBUS_SLAVE指令拖拽到主程序塊中。調(diào)用過程如下圖所示:

Done: 當(dāng)MBUS_SLAVE指令響應(yīng)對Modbus請求時,"Done"為開狀態(tài)。沒通訊請求時"Done"為關(guān)狀態(tài)。

Error:指令執(zhí)行結(jié)果。只有"Done"為開狀態(tài)時,此狀態(tài)有效。請參閱Modbus從機(jī)協(xié)議執(zhí)行錯誤代碼;輸出為字節(jié)。庫存儲區(qū)分配

在完成前面兩個指令調(diào)用后,還要為庫指令使用的符號分配內(nèi)存。當(dāng)庫指令被插入到主程序塊中,在導(dǎo)航樹“程序塊”下會出現(xiàn)一個“庫”節(jié)點(diǎn)。在“庫”節(jié)點(diǎn)上點(diǎn)擊鼠標(biāo)右鍵,在彈出菜單中選擇“庫存儲區(qū)”,進(jìn)入“庫存儲區(qū)分配”對話框。

在地址框中輸入分配內(nèi)存的開始地址,或者通過點(diǎn)擊“建議地址”按鈕自動分配內(nèi)存。注意,分配的內(nèi)存不要與已使用的內(nèi)存重疊

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

    關(guān)注

    27

    文章

    8507

    瀏覽量

    145995
  • RS-485
    +關(guān)注

    關(guān)注

    11

    文章

    664

    瀏覽量

    83752
  • ModBus協(xié)議
    +關(guān)注

    關(guān)注

    3

    文章

    167

    瀏覽量

    33315

原文標(biāo)題:西門子S7-200使用Modbus協(xié)議(最全解析)

文章出處:【微信號:GKYXT1508,微信公眾號:工控云學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    S7-200西門子PLC視頻教程大全

    以下是西門子S7-200PLC視頻教程,全文共有36個視頻。詳細(xì)介紹了西門子S7-200PL的各種概念,基礎(chǔ)的知識,及各案例的講解。 1、S7-20
    發(fā)表于 09-26 09:15 ?12w次閱讀

    西門子s7-200(Windows版編程軟件)

    西門子s7-200(Windows版編程軟件) step 7-Micro/win 32 V3.1
    發(fā)表于 12-02 10:03 ?0次下載
    <b class='flag-5'>西門子</b><b class='flag-5'>s7-200</b>(Windows版編程軟件)

    西門子S7-200 PPI協(xié)議獲取及其通信控件研究

    西門子S7-200 PPI協(xié)議獲取及其通信控件研究
    發(fā)表于 01-10 12:46 ?40次下載
    <b class='flag-5'>西門子</b><b class='flag-5'>S7-200</b> PPI<b class='flag-5'>協(xié)議</b>獲取及其通信控件研究

    西門子S7-200 PLC應(yīng)用100例

    西門子S7-200 PLC應(yīng)用100例》主要以西門子S7-200 PLC為主體,按基礎(chǔ)知識、擴(kuò)展提高和高級應(yīng)用的結(jié)構(gòu)體系,由淺入深、循序漸進(jìn)地介紹了PLC基本邏輯控制、高級功能模塊、
    發(fā)表于 09-17 10:02 ?690次下載
    <b class='flag-5'>西門子</b><b class='flag-5'>S7-200</b> PLC應(yīng)用100例

    西門子S7-200應(yīng)用實(shí)例(入門經(jīng)典)

    西門子S7-200應(yīng)用實(shí)例(入門經(jīng)典)。
    發(fā)表于 03-22 14:14 ?133次下載

    西門子S7-200使用教程

    西門子S7-200 PLC仿真軟件超詳細(xì)使用教程西門子S7-200使用教程
    發(fā)表于 05-06 16:43 ?0次下載

    西門子S7-200 PLC Modbus庫文件[Toolbox_

    西門子S7-200 PLC Modbus庫文件[Toolbox_V32-STEP 7-Micro WIN 32 Instruction Library]。
    發(fā)表于 11-29 17:55 ?62次下載

    西門子S7-200與變頻器Modbus RTU通訊調(diào)試說明

    西門子S7-200與-Danfoss-VLT2800變頻器Modbus-RTU通訊調(diào)試說明。
    發(fā)表于 04-22 14:46 ?84次下載

    西門子PLC教案(S7-200)

    關(guān)于西門子PLC教案(S7-200)資料免費(fèi)下載。
    發(fā)表于 04-29 14:50 ?227次下載

    西門子S7-200高級應(yīng)用

    西門子S7-200高級應(yīng)用說明。
    發(fā)表于 05-06 17:28 ?85次下載

    西門子S7協(xié)議轉(zhuǎn)Modbus協(xié)議網(wǎng)關(guān)

    西門子S7協(xié)議轉(zhuǎn)Modbus協(xié)議網(wǎng)關(guān)
    發(fā)表于 11-13 15:03 ?1720次閱讀

    西門子S7系列如何轉(zhuǎn)換MQTT/Modbus

    西門子S7-200 S7-200Smart S7-300 S7-400 MQTT Modbu
    的頭像 發(fā)表于 11-02 09:54 ?1490次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>S7</b>系列如何轉(zhuǎn)換MQTT/<b class='flag-5'>Modbus</b>

    西門子S7-200 SMART編程技巧

    【導(dǎo)讀】分享一個西門子S7-200 SMART編程技巧。
    的頭像 發(fā)表于 07-10 10:10 ?2131次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>S7-200</b> SMART編程技巧

    S7協(xié)議讀取西門子S7-200 Smart PLC數(shù)據(jù)

    西門子S7-200 Smart PLC因其穩(wěn)定性和易用性而廣泛應(yīng)用。通過使用S7協(xié)議,可以實(shí)現(xiàn)對PLC數(shù)據(jù)的高效讀取和控制。本文將詳細(xì)介紹如何使用S
    的頭像 發(fā)表于 07-11 11:55 ?2899次閱讀
    <b class='flag-5'>S7</b><b class='flag-5'>協(xié)議</b>讀取<b class='flag-5'>西門子</b><b class='flag-5'>S7-200</b> Smart PLC數(shù)據(jù)

    EG網(wǎng)關(guān)采集西門子S7-200smart轉(zhuǎn)Modbus協(xié)議

    通過EG邊緣計(jì)算網(wǎng)關(guān),用戶可以輕松實(shí)現(xiàn)西門子S7-200 Smart PLC數(shù)據(jù)的采集,并將其轉(zhuǎn)換為標(biāo)準(zhǔn)Modbus協(xié)議輸出。這種跨協(xié)議的數(shù)據(jù)轉(zhuǎn)換方案極大簡化了工業(yè)系統(tǒng)的集成,使不同品
    的頭像 發(fā)表于 09-10 10:42 ?168次閱讀
    EG網(wǎng)關(guān)采集<b class='flag-5'>西門子</b><b class='flag-5'>S7-200</b>smart轉(zhuǎn)<b class='flag-5'>Modbus協(xié)議</b>