日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 梯形圖實(shí)例 >> 正文

主站從站實(shí)例_兩臺(tái)西門子plc S7-200實(shí)現(xiàn)MODBUS RTU通訊_mbus_init指令說(shuō)明

作者:佚名    文章來(lái)源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2023/3/5

兩臺(tái)S7-200通過(guò)Modbus實(shí)現(xiàn)通訊

從站設(shè)置:

需要使用MBUS_INIT、MBUS_SLAVE即可;

MBUS_INIT指令被用于啟用和初始化或禁止Modbus通訊。(這一步在程序的前面,配置類的程序基本都放在程序前面)。在S7-200中,通訊的程序塊調(diào)用都需要設(shè)定完成為,確保通訊的完整性,只有把完整的數(shù)據(jù)格式發(fā)送或接收,才可以實(shí)現(xiàn)通訊,因此完成位是必須要有的。在每次掃描且EN輸入打開時(shí)執(zhí)行該指令。應(yīng)當(dāng)在每次通訊狀態(tài)改變時(shí)執(zhí)行 MBUS_INIT指令。一般程序設(shè)計(jì)僅在首次掃描時(shí)執(zhí)行。功能塊圖如下:

 

MODE:模式選擇位,1表示將port0指定給Modbus協(xié)議并啟用協(xié)議;0表示將port0指定給PPI;

!!!注意:指定給Modbus后,該端口不可以下載上傳程序,因此在程序設(shè)計(jì)中,可以加入控制位,串聯(lián)給I點(diǎn)即可,例程中未加入,可以自己嘗試;

Addr:從站地址1~247;

Baud:波特率設(shè)置1200、2400、4800、9600、19200、38400、57600或 115200;

Parity:校驗(yàn)位0- 無(wú)校驗(yàn),1- 奇數(shù)校驗(yàn),2- 偶數(shù)校驗(yàn);

Delay:時(shí)延,通過(guò)將指定的毫秒數(shù)增加至標(biāo)準(zhǔn) Modbus信息超時(shí)的方法延長(zhǎng)標(biāo)準(zhǔn)Modbus信息結(jié)束超時(shí)條件。該參數(shù)的典型數(shù)值在有線網(wǎng)絡(luò)上應(yīng)為 0。如果您在使用帶有糾錯(cuò)功能的調(diào)制解調(diào)器,將時(shí)延設(shè)為50至100毫秒的數(shù)值。如果您在使用擴(kuò)展頻譜無(wú)線電,將時(shí)延設(shè)為10至100毫秒的數(shù)值。數(shù)值可以是0至32767毫秒。

MaxIQ:參數(shù)將供 Modbus地址 00xxxx 和 01xxxx 使用的I和Q點(diǎn)數(shù)設(shè)為0至128之間的數(shù)值。數(shù)值0禁止所有向輸入和輸出的讀取。建議使用的MaxIQ數(shù)值是128,該數(shù)值可在S7-200中存取所有的I和Q點(diǎn)。

MaxAI:參數(shù)將供 Modbus地址 03xxx 使用的字輸入(AI)寄存器數(shù)目設(shè)為0至32之間的數(shù)值。數(shù)值0禁止模擬輸入的讀數(shù)。建議使用的 MaxAI數(shù)值如下,這些數(shù)值可允許存取所有的S7-200模擬輸入。0 用于 CPU 221,16 用于 CPU 222,32 用于 CPU 224、 226 和 226XM;

MaxHold:參數(shù)設(shè)定供 Modbus地址04xxx使用的V內(nèi)存中的字保持寄存器數(shù)目。例如,為了允許主設(shè)備存取200字節(jié)的V內(nèi)存,將MaxHold設(shè)為100個(gè)字的數(shù)值(保持寄存器);

HoldStart: 參數(shù)是V內(nèi)存中保持寄存器的起始地址。該數(shù)值一般被設(shè)為VB0,因此 HoldStart 參數(shù)被設(shè)為&VB0(VB0地址)。其他V內(nèi)存地址可指定為保持寄存器的起始地址,以便在項(xiàng)目的其他地方使用VB0。Modbus主設(shè)備可存取V內(nèi)存MaxHold個(gè)字?jǐn)?shù),從 HoldStart開始。

Done:完成標(biāo)志位;

Error:錯(cuò)誤代碼,字節(jié);

MBUS_SLAVE 指令被用于為Modbus主設(shè)備發(fā)出的請(qǐng)求服務(wù),并且必須在每次掃描時(shí)執(zhí)行,以便允許該指令檢查和回答Modbus請(qǐng)求。在每次掃描且EN輸入開啟時(shí)執(zhí)行該指令。MBUS_SLAVE指令無(wú)輸入?yún)?shù)。當(dāng)MBUS_SLAVE指令對(duì)Modbus請(qǐng)求作出應(yīng)答時(shí), " 完成"輸出打開。如果沒(méi)有需要服務(wù)的請(qǐng)求時(shí), "完成"輸出關(guān)閉。"錯(cuò)誤"輸出包含執(zhí)行該指令的結(jié)果。該輸出只有在"完成"打開時(shí)才有效。如果"完成"關(guān)閉,錯(cuò)誤參數(shù)不會(huì)改變。

 

通俗講法:將程序?qū)懺谶@個(gè)地方就可以了。

測(cè)試Network程序:

 

主站設(shè)置:

主站的設(shè)置通過(guò)MBUS_CTRL和MBUS_MSG子程序?qū)崿F(xiàn)通訊;

MBUS_CTRL如下

 

Mode模式:為 1 時(shí),使能 Modbus 協(xié)議功能;為 0 時(shí)恢復(fù)為系統(tǒng) PPI 協(xié)議

Baud波特率:支持的通訊波特率為1200240048009600192003840057600115200

Parity校驗(yàn):校驗(yàn)方式選擇

0=無(wú)校驗(yàn)

1=奇較驗(yàn)

2=偶較驗(yàn)

Timeout超時(shí):主站等待從站響應(yīng)的時(shí)間,以毫秒為單位,典型的設(shè)置值為 1000 毫秒(1 秒),允許設(shè)置的范圍為 1 - 32767

注意: 這個(gè)值必須設(shè)置足夠大以保證從站有時(shí)間響應(yīng)。

Done完成位:初始化完成,此位會(huì)自動(dòng)置1。可以用該位啟動(dòng) MBUS_MSG 讀寫操作(見例程)

Error初始化錯(cuò)誤代碼(只有在 Done 位為1時(shí)有效):

0 無(wú)錯(cuò)誤

1 校驗(yàn)選擇非法

2 波特率選擇非法

3 模式選擇非法

MBUS_MSG:

 

EN使能:同一時(shí)刻只能有一個(gè)讀寫功能(即 MBUS_MSG)使能

注意:建議每一個(gè)讀寫功能(即 MBUS_MSG)都用上一個(gè) MBUS_MSG 指令的 Done 完成位來(lái)激活,以保證所有讀寫指令循環(huán)進(jìn)行(見例程)。

First讀寫請(qǐng)求位:每一個(gè)新的讀寫請(qǐng)求必須使用脈沖觸發(fā)

Slave從站地址:可選擇的范圍 1 - 247

RW從站地址:0 讀, 1

注意:

1. 開關(guān)量輸出和保持寄存器支持讀和寫功能

2. 開關(guān)量輸入和模擬量輸入只支持讀功能

Addr讀寫從站的數(shù)據(jù)地址:

選擇讀寫的數(shù)據(jù)類型

00001 0xxxx - 開關(guān)量輸出

10001 1xxxx - 開關(guān)量輸入

30001 3xxxx - 模擬量輸入

40001 4xxxx - 保持寄存器

Count數(shù)據(jù)個(gè)數(shù)

通訊的數(shù)據(jù)個(gè)數(shù)(位或字的個(gè)數(shù))

注意: Modbus主站可讀/寫的最大數(shù)據(jù)量為120個(gè)字(是指每一個(gè) MBUS_MSG 指令)

DataPtr數(shù)據(jù)指針:1. 如果是讀指令,讀回的數(shù)據(jù)放到這個(gè)數(shù)據(jù)區(qū)中

2. 如果是寫指令,要寫出的數(shù)據(jù)放到這個(gè)數(shù)據(jù)區(qū)中

Done完成位讀寫功能完成位

Error錯(cuò)誤代碼:

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

0 無(wú)錯(cuò)誤

1 響應(yīng)校驗(yàn)錯(cuò)誤

2 未用

3 接收超時(shí)(從站無(wú)響應(yīng))

4 請(qǐng)求參數(shù)錯(cuò)誤(slave address, Modbus address, count, RW

5 Modbus/自由口未使能

6 Modbus正在忙于其它請(qǐng)求

7 響應(yīng)錯(cuò)誤(響應(yīng)不是請(qǐng)求的操作)

8 響應(yīng)CRC校驗(yàn)和錯(cuò)誤

-

101 從站不支持請(qǐng)求的功能

102 從站不支持?jǐn)?shù)據(jù)地址

103 從站不支持此種數(shù)據(jù)類型

104 從站設(shè)備故障

105 從站接受了信息,但是響應(yīng)被延遲

106 從站忙,拒絕了該信息

107 從站拒絕了信息

108 從站存儲(chǔ)器奇偶錯(cuò)誤

常見的錯(cuò)誤:

  • 如果多個(gè) MBUS_MSG 指令同時(shí)使能會(huì)造成 6 號(hào)錯(cuò)誤
  • 庫(kù)存儲(chǔ)區(qū)被程序其它地方復(fù)用,有時(shí)也會(huì)造成6 號(hào)錯(cuò)誤
  • 從站 delay 參數(shù)設(shè)的時(shí)間過(guò)長(zhǎng)會(huì)造成主站 3 號(hào)錯(cuò)誤
  • 從站掉電或不運(yùn)行,網(wǎng)絡(luò)故障都會(huì)造成主站 3 號(hào)錯(cuò)誤

例程:

 

 

 

 

Tags:MBUS_INIT,指令,西門子plc,s7-200  
責(zé)任編輯:admin
相關(guān)文章列表
西門子200SMART PLC編程通過(guò)指針輕松實(shí)現(xiàn)多個(gè)數(shù)據(jù)排列
西門子S7-200SMART PLC如何實(shí)現(xiàn)星三角降壓?jiǎn)?dòng)多次調(diào)用?子程序編
西門子PLC子程序?qū)嵗琒7-200 SMART PLC帶參數(shù)子程序應(yīng)用實(shí)例
詳解步進(jìn)電機(jī)與PLC的接線,西門子、三菱等PLC接線(總結(jié)篇)PLC和
三菱/信捷 PLC PLSR/DPLSR 多段雙向脈沖帶加減速脈沖輸出指令詳解
三菱/信捷 PLC脈沖停止[STOP] 指令詳解
西門子PLC編程實(shí)例  4個(gè)基本控制電路設(shè)計(jì)方法
三菱FX2N系列PLC的TO指令、FROM指令解析,緩沖存儲(chǔ)器BFM
三菱plc特殊功能模塊讀取與寫入指令,TO指令和FROM指令,緩沖存儲(chǔ)
S7-200smart 恒溫PID控制_STEP7中PID設(shè)置溫度自動(dòng)控制編程
西門子plc傳送帶操作控制,傳輸帶控制
西門子PLC實(shí)現(xiàn)汽車涂裝前處理生產(chǎn)線中的磷化槽液位控制
|分享| S7-200SMART常用指令(二)
S7-200SMART PLC 模擬量輸入案例,AM06模擬量擴(kuò)展模塊和SIT_R指令
|實(shí)用|一文讓你讀懂使用中斷功能  ATCH和DTCH和RETI、DISI
神級(jí)匯總,西門子PLC中斷指令及例程 ATCH和ENI
STEP7【步驟詳解】西門子 PLC PID組態(tài)設(shè)置及PID常見問(wèn)題解答
西門子plc怎么產(chǎn)生PWM信號(hào),脈沖輸出向?qū)WM輸出向?qū)?/a>
西門子200SMART與眾辰變頻器的MODBUS通信實(shí)例40001和十六進(jìn)制的轉(zhuǎn)
西門子PLC控制的專用自動(dòng)攻絲系統(tǒng)設(shè)計(jì),運(yùn)動(dòng)控制伺服控制系統(tǒng)設(shè)計(jì)
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
推薦文章
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁(yè)面
下到頁(yè)底
晶體管查詢