欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人

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

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

西門子S7-200系列PLC的MODBUS通信功能 指令MBUS_CTRL

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

在上一篇文章中我們說(shuō)到了MODBUS RTU 協(xié)議的信息幀的格式,同時(shí)也跟到大家提到了如何通過(guò)從站設(shè)備提供的通信說(shuō)明中的信息幀格式及地址去準(zhǔn)備相應(yīng)的數(shù)據(jù),那么今天我們主要說(shuō)一下S7-200系列PLC中MODBUS RTU庫(kù)指令意思。

在S7-200SMART系列PLC中的庫(kù)指令中集成了MODBUS RTU通信的庫(kù)指令,庫(kù)指令中包含了S7-200SMART系列PLC作為主站功能的庫(kù)指令及S7-200SMART系列PLC作為從站功能的庫(kù)指令(如下圖所示)

 

在這里我們主要介紹下主站的庫(kù)指令,主站的庫(kù)指令中根據(jù)所使用的通信口的個(gè)數(shù)不一樣分為兩個(gè),若使用時(shí)PLC的本體的RS485端口需要作為modbus的主站功能,而擴(kuò)展的RS485的信號(hào)板又需要作為MODBUS的主站的功能,那么前者使用第一個(gè)主站庫(kù)的指令,后者可以使用第二個(gè)主站庫(kù)指令,每個(gè)主站庫(kù)指令中都有兩個(gè)指令,分別為初始化指令MBUS_CTRL ,數(shù)據(jù)讀寫發(fā)送請(qǐng)求指令MBUS_MSG指令。下面我們對(duì)這兩個(gè)指令的意思以及指令上的管腳進(jìn)行一些說(shuō)明:

MBUS_CTRL指令

 

EN:初始化指令使能端,需要保持每個(gè)掃描周期都接通

Mode:通信協(xié)議的選擇,若需選擇MODBUS RTU通信,這需要保持該位為1狀態(tài),所以此處可以使用SM0.0接通。

Baud:通信波特率的設(shè)置

Parity:奇偶校驗(yàn)的選擇,0表示無(wú)校驗(yàn),1表示奇校驗(yàn),2表示偶校驗(yàn)

Port :端口號(hào)設(shè)置,若使用PLC本體上的RS485端口,則應(yīng)選擇為0(注意S7-200PLC中的庫(kù)指令中的MBUS_CTRL沒(méi)有此管腳)

Timeout: 該參數(shù)用于確定 Modbus 從站設(shè)備是否對(duì)主站發(fā)出請(qǐng)求做出響應(yīng)。若達(dá)到設(shè)定值后,還未獲得從站的響應(yīng),則PLC認(rèn)為從站出問(wèn)題,同時(shí)MBUS-MSG指令中的故障代碼存儲(chǔ)器中會(huì)存儲(chǔ)相應(yīng)的故障代碼,同時(shí)完成位的狀態(tài)為1.

Done:完成位,當(dāng)初始化完成后,該位的狀態(tài)為1,編寫程序時(shí),可以根據(jù)這個(gè)完成位來(lái)判斷初始化是否完成,完成后可以用于激活MBUS_MSG指令進(jìn)行數(shù)據(jù)請(qǐng)求的發(fā)送,(需要注意是:初始化完成后,至少需要過(guò)一個(gè)掃描周期后,才能去激活MBUS-MSG指令,否則可能通信不成功)

Error:故障代碼存儲(chǔ)器(使用一個(gè)字節(jié)進(jìn)行存儲(chǔ)),當(dāng)初始化出現(xiàn)錯(cuò)誤后,在故障存儲(chǔ)器中會(huì)產(chǎn)生一個(gè)代碼,查看指令幫助中的代碼說(shuō)明,可以查看到可能出錯(cuò)的原因是什么。

MBUS_MSG指令

 

EN:指令的使能

MBUS_MSG指令使用時(shí)一定要注意的一點(diǎn)就是,同一個(gè)掃描周期內(nèi),只能由一條MBUS_MSG的EN端的狀態(tài)為1.如果在一個(gè)掃描周期內(nèi)出現(xiàn)2條及2條以上的MBUS_MSG的EN端的狀態(tài)為1的情況。則MBUS_MSG指令中的故障代碼的值會(huì)為6,通信會(huì)不成功。

First:觸發(fā)請(qǐng)求,僅保持一個(gè)掃描周期的時(shí)長(zhǎng) ,因此在使用時(shí)需要使用沿脈沖進(jìn)行觸發(fā)。

Slave:從站站號(hào),根據(jù)從站中設(shè)置的地址進(jìn)行填寫

RW:讀寫操作選擇,0表示讀,1表示寫,若控制變頻器運(yùn)行,使用寫的功能,若需要讀取變頻器的電流等需要用讀的命令。

Addr:起始的MODBUS寄存器地址,此地址使用時(shí)一定要正確編寫。

MODBUS寄存器的地址,根據(jù)功能碼的不一樣,主要有4種類型的表示方式,分別為0XXXX(讀寫線圈狀態(tài)),1XXXX(讀開關(guān)輸入狀態(tài)),3XXXX(讀輸入寄存器),4XXXX(讀寫保持寄存器)四種類型,對(duì)于第四種類型4XXXX的類型,地址可以擴(kuò)展,擴(kuò)展為4XXXXX六位數(shù)的類型格式。

各功能碼對(duì)應(yīng)的MODBUS地址寄存器類型如下圖所示,而每種地址的起始地址都是從0001開始,而且都是以十進(jìn)制數(shù)進(jìn)行表示的。

 

地址類型確認(rèn)后,如何來(lái)確定輸入的地址呢?

該地址的確定與在上篇文章中提到的MODBUS RTU信息幀格式中的Data內(nèi)容有關(guān),Data的內(nèi)容包括兩部分內(nèi)容,一部分內(nèi)容為數(shù)據(jù)區(qū)的地址,一部為數(shù)據(jù)區(qū)的內(nèi)容,則此處的MODBUS寄存器的地址與數(shù)據(jù)區(qū)的地址有關(guān)。如圖所示:

 

此處中的數(shù)據(jù)區(qū)的地址,指的是寄存器地址,從圖中可以看到他的范圍是從十六進(jìn)制數(shù)的0000到十六進(jìn)制數(shù)的FFFF,因此從這我們可以看到功能碼為06,對(duì)應(yīng)的寄存器地址是0000的時(shí)候,那么在我們MBUS_MSG指令中的Adder的地址應(yīng)填寫為40001(因?yàn)槎际潜硎镜牡谝粋(gè)地址,需要一一對(duì)應(yīng)上)。

根據(jù)這個(gè)計(jì)算方法,我們可以寫出 在上一篇文章中提到的控制變頻器運(yùn)行的寄存器地址對(duì)應(yīng)都MBUS_MSG指令中Adder的地址為:

 

功能碼為06,所以類型為4XXXX的類型,地址為16# 3200,相對(duì)于16#0000來(lái)講,偏移了12800.(此為十進(jìn)制數(shù))所以對(duì)應(yīng)到MBUS_MSG指令中的地址為在1的基礎(chǔ)上上偏移12800,即12801,而功能碼06對(duì)應(yīng)的類型為4,所以我們?cè)谑褂脮r(shí)應(yīng)在MBUS_MSG指令的Adder出填寫412801這個(gè)地址。

Count:讀寫的格式,表示從adder這個(gè)管腳指的的地址開始的連續(xù)多少個(gè)地址進(jìn)行數(shù)據(jù)的讀寫。

Dataptr:讀寫數(shù)據(jù)存放的地址,使用指針的方式表示,實(shí)際地址以十六位的方式表示,假設(shè)使用的地址是&VB100。前面的指令管腳定義的是對(duì)變頻器運(yùn)行命令的控制,則當(dāng)把16#1001寫入到VW100中,則電機(jī)正轉(zhuǎn)運(yùn)行,若把16#1003寫入到VW100中,則表示的是反轉(zhuǎn)運(yùn)行。若是讀取的功能,假設(shè)MBUS_MSG指令中adder為413077,count為2,Dataptr為&VB102, 則表示把413077這個(gè)地址中的數(shù)據(jù)讀取出來(lái)存放于VW102,把413078的數(shù)據(jù)讀取出來(lái)存放于VW104中。

Done:完成位。當(dāng)執(zhí)行完成后,該為位1,因此當(dāng)出現(xiàn)需要使用多個(gè)MBUS_MSG指令是,可以使用每個(gè)指令的Done來(lái)實(shí)現(xiàn)輪詢的功能。

Error:故障代碼存儲(chǔ)器,方便查詢通信故障。

通過(guò)本篇文章,希望大家對(duì)MODBUS的庫(kù)指令有進(jìn)一步的了解

Tags:西門子S7-200,MODBUS通信,指令  
責(zé)任編輯:admin
相關(guān)文章列表
初學(xué)者如何快速入門plc?PLC基礎(chǔ)入門,硬件和語(yǔ)法指令等
一文學(xué)會(huì)設(shè)備運(yùn)行時(shí)間累計(jì)程序編寫, 從零基礎(chǔ)到精通,收藏這篇就
三菱PLC實(shí)現(xiàn)設(shè)備累計(jì)運(yùn)行時(shí)間_時(shí)間指令HOUR三菱計(jì)時(shí)長(zhǎng)程序怎么用
三菱FX3U的MODBUS通信篇,三菱PLC的MODBUS通訊
三菱/信捷 PLC PLSR/DPLSR 多段雙向脈沖帶加減速脈沖輸出指令詳解
三菱/信捷 PLC脈沖停止[STOP] 指令詳解
三菱FX2N系列PLC的TO指令、FROM指令解析,緩沖存儲(chǔ)器BFM
三菱plc特殊功能模塊讀取與寫入指令,TO指令和FROM指令,緩沖存儲(chǔ)
西門子200SMART與眾辰變頻器的MODBUS通信實(shí)例40001和十六進(jìn)制的轉(zhuǎn)
組態(tài)王modbus通信用法教程modbus-rtu、modbus-tcp莫迪康通信配置
信捷plc modbus通信_(tái)信捷modbus通訊程序
【干貨】三菱PLC定位控制指令講解,DSZR、ZRN、PLSV、DRVI、DRVA
【三菱PLC指令教程】加法指令A(yù)DD和減法指令SUB
三菱PLC和臺(tái)達(dá)PLC的區(qū)別_三菱PLC特殊輔助輔助繼電器_臺(tái)達(dá)PLC實(shí)例
三菱PLC兩軸定位案例分析(建議收藏)DDRVI和DDRVA指令用法
三菱PLC控制伺服常用指令和程序段總結(jié),ZRN和DDRVA、DDRVI指令
三菱FX3U—加減乘除指令_三菱plc加減乘除指令程序
三菱PLC特殊模塊的讀寫指令解說(shuō),三菱FROM指令和TO指令詳解
三菱FX2N系列PLC的模擬量模塊的編程,三菱PLC的TO指令用法
三菱plc控制步進(jìn)電機(jī)實(shí)例
請(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è)底
晶體管查詢
主站蜘蛛池模板: 淮南市| 房产| 三亚市| 张家港市| 九龙县| 凤城市| 宜城市| 阿拉善左旗| 岗巴县| 枣庄市| 太保市| 金平| 普安县| 江源县| 壤塘县| 永仁县| 黑山县| 罗源县| 石屏县| 河东区| 商水县| 乃东县| 章丘市| 南华县| 大安市| 郎溪县| 馆陶县| 女性| 西乡县| 墨竹工卡县| 澄江县| 洛宁县| 乐昌市| 玛多县| 新绛县| 清流县| 兴国县| 井研县| 萨嘎县| 崇阳县| 日喀则市|