西門子模塊6ES7211-0BA23-0XB0型號(hào)規(guī)格
西門子模塊6ES7211-0BA23-0XB0型號(hào)規(guī)格
Mode('模式')輸入數(shù)值選擇通訊協(xié)議。輸入值1(可用SM0.0替代或者直接用數(shù)值1)將CPU端口分配給Modbus協(xié)議并啟用該協(xié)議。輸入值0將CPU端口分配給PPI系統(tǒng)協(xié)議并禁用Modbus協(xié)議。
Baud (波特率)一般選擇9600。
Parity (奇偶校驗(yàn)) 參數(shù)被設(shè)為與Modbus從站奇偶校驗(yàn)相匹配。所有設(shè)置使用一個(gè)起始位和一個(gè)停止位。一般選擇偶校驗(yàn)2.
Timeout('超時(shí)')參數(shù)設(shè)為等待來(lái)自從站應(yīng)答的毫秒時(shí)間數(shù)。'超時(shí)'數(shù)值可以設(shè)置的范圍為1毫秒到32767毫秒。典型值是1000毫秒(1秒)(一般都設(shè)定為1000)
。'超時(shí)'參數(shù)應(yīng)該設(shè)置的足夠大,以便從站有時(shí)間對(duì)所選的波特率作出應(yīng)答。
'超時(shí)'參數(shù)用于確定Modbus從站是否對(duì)請(qǐng)求做出應(yīng)答。'超時(shí)'值確定Modbus主設(shè)備在發(fā)送了請(qǐng)求的最后一個(gè)字符后,將要等待多長(zhǎng)時(shí)間才會(huì)有應(yīng)答的第一個(gè)字符。如果在'超時(shí)'規(guī)定的時(shí)間內(nèi)至少收到應(yīng)答的一個(gè)字符,Modbus主設(shè)備將從Modbus從站接收到整個(gè)應(yīng)答。
Done(完成) MBUS_CTRL指令完成時(shí),'完成'輸出打開(kāi)。
Error(錯(cuò)誤) 輸出包含執(zhí)行該指令的結(jié)果。下表定義了在執(zhí)行MBUS_CTRL指令時(shí)會(huì)產(chǎn)生的錯(cuò)誤條件。一個(gè)字節(jié)來(lái)存放錯(cuò)誤代碼。
錯(cuò)誤代碼 說(shuō)明
0 無(wú)錯(cuò)誤
1 奇偶校驗(yàn)選擇無(wú)效
2 波特率選擇無(wú)效
3 超時(shí)選擇無(wú)效
4 模式選擇無(wú)效
初始化完成!
NO.2 啟動(dòng)Modbus協(xié)議
讀操作
MBUS_MSG(端口0使用)指令(或用于端口1的MBUS_MSG_P1)用于啟動(dòng)對(duì)Modbus從站的請(qǐng)求并處理應(yīng)答。
當(dāng)EN輸入和'輸入打開(kāi)時(shí),BUS_MSG指令啟動(dòng)對(duì)Modbus從站的請(qǐng)求。發(fā)送請(qǐng)求、等待應(yīng)答、并處理應(yīng)答通常需要多次掃描。EN輸入必須打開(kāi)以啟用請(qǐng)求的發(fā)送,并應(yīng)該保持打開(kāi)直到'完成'位(M10.1)被置位。
First(啟動(dòng)),在有新請(qǐng)求要發(fā)送時(shí)才打開(kāi)以進(jìn)行一次掃描,通過(guò)一個(gè)邊沿檢測(cè)元素(例如上升沿)打開(kāi),這將導(dǎo)致請(qǐng)求被傳送一次。
Slave(從站地址) 從站的地址,允許的范圍是0到247,地址0是廣播地址,只能用于寫請(qǐng)求。不存在對(duì)地址0的廣播請(qǐng)求的應(yīng)答。從站的實(shí)際地址范圍為1-247(從站的地址(Slave)在1-247范圍內(nèi)任選一個(gè)數(shù)即可,但需要和從站程序中的地址對(duì)應(yīng),否則通訊失?。?。主站在Modbus網(wǎng)絡(luò)上沒(méi)有地址。
RW('讀寫') 是用來(lái)讀取還是寫入該消息。'讀寫'參數(shù)允許使用下列兩個(gè)值。
0 讀
1 寫
Addr (地址) 是指向讀取或?qū)懭氲钠鹗糓odbus地址,'地址'的取值范圍基于Modbus從站支持的地址。一般都取40001。
Count (計(jì)數(shù)) 在該請(qǐng)求中讀取或?qū)懭氲臄?shù)據(jù)元素的數(shù)目,MBUS_MSG指令將讀取或?qū)懭胱畲?20個(gè)字或1920個(gè)位(240字節(jié)的數(shù)據(jù))。'計(jì)數(shù)'的實(shí)際限值將取決于Modbus從站中的限制。
DataPtr(地址指針) 指向S7-200 CPU的V存儲(chǔ)器中與讀取或?qū)懭胝?qǐng)求相關(guān)的數(shù)據(jù)的間接地址指針。DataPtr值作為間接地址指針傳遞到MBUS_MSG。例如,如果要寫入Modbus從站的數(shù)據(jù)從S7-200 CPU中的地址VW200開(kāi)始,則DataPtr的數(shù)值將會(huì)是&VB200 (VB200的地址)。指針必須始終是VB類型,即使它們指向字?jǐn)?shù)據(jù)。
Done(完成位) 輸出在發(fā)送請(qǐng)求和接收應(yīng)答時(shí)關(guān)閉。'完成'輸出在應(yīng)答完成或MBUS_MSG指令因錯(cuò)誤而中止時(shí)打開(kāi)。完成信息存入輔助寄存器中(如M10.1)
Error(錯(cuò)誤) 輸出僅當(dāng)'完成'輸出打開(kāi)時(shí)有效,反饋錯(cuò)誤代碼,存入輔助位寄存器中(如MB6)
MBUS_MSG。
錯(cuò)誤代碼 說(shuō)明
0 無(wú)錯(cuò)誤
1 應(yīng)答時(shí)奇偶校驗(yàn)錯(cuò)誤:僅當(dāng)使用偶校驗(yàn)或奇校驗(yàn)時(shí)才會(huì)發(fā)生。傳輸被干擾,可能會(huì)收到不正確的數(shù)據(jù)。該錯(cuò)誤通常是由電氣故障(例如錯(cuò)誤接線或者影響通訊的電噪聲)引起的。
2 未使用
3 接收超時(shí):在'超時(shí)'時(shí)間內(nèi),沒(méi)有來(lái)自從站的應(yīng)答??赡苡幸韵乱恍┰颍号c從站的電氣連接有問(wèn)題、主設(shè)備和從站設(shè)置為不同的波特率/奇偶校驗(yàn)設(shè)置,以及錯(cuò)誤的從站地址。
4 請(qǐng)求參數(shù)出錯(cuò):一個(gè)或多個(gè)輸入?yún)?shù)(從站、讀寫、地址或計(jì)數(shù))被設(shè)置為非法值。檢查文檔中輸入?yún)?shù)的允許值。
5 Modbus主設(shè)備未啟用:在調(diào)用MBUS_MSG前,每次掃描時(shí)都調(diào)用MBUS_CTRL。
6 Modbus忙于處理另一個(gè)請(qǐng)求:一次只能激活一條MBUS_MSG指令。
7 應(yīng)答時(shí)出錯(cuò): 收到的應(yīng)答與請(qǐng)求不相關(guān)。這表示從站中出現(xiàn)了某些錯(cuò)誤,或者錯(cuò)誤的從站應(yīng)答了請(qǐng)求。
8 應(yīng)答時(shí)CRC錯(cuò)誤: 傳輸被干擾,可能會(huì)收到不正確的數(shù)據(jù)。該錯(cuò)誤通常是由電氣故障(例如錯(cuò)誤接線或者影響通訊的電噪聲)引起的。
101 從站不支持在該地址處所請(qǐng)求的功能:請(qǐng)參閱'使用Modbus主設(shè)備指令'幫助主題中的所需Modbus從站功能支持表。
102 從站不支持?jǐn)?shù)據(jù)地址:'地址'加上'計(jì)數(shù)'所要求的地址范圍超出了從站所允許的地址范圍。
103 從站不支持?jǐn)?shù)據(jù)類型:該'地址'類型不被從站支持。
104 從站故障
105 從站已接受消息但應(yīng)答延遲:這是MBUS_MSG的錯(cuò)誤,用戶程序應(yīng)在稍后重新發(fā)送請(qǐng)求。
106 從站忙,因此拒絕消息:可以再次嘗試相同的請(qǐng)求,以獲得應(yīng)答。
107 從站因未知原因而拒絕消息。
108 從站存儲(chǔ)器奇偶校驗(yàn)錯(cuò)誤:從站中有錯(cuò)誤。
低位編號(hào)的錯(cuò)誤代碼(1到8)是由MBUS_MSG指令檢測(cè)到的錯(cuò)誤。這些錯(cuò)誤代碼通常指示與MBUS_MSG指令的輸入?yún)?shù)有關(guān)的問(wèn)題,或接收來(lái)自從站的應(yīng)答時(shí)出現(xiàn)的問(wèn)題。奇偶校驗(yàn)和CRC錯(cuò)誤指示存在應(yīng)答但是數(shù)據(jù)未正確接收。這通常是由電氣故障(例如連接有問(wèn)題或者電噪聲)引起的。
高位編號(hào)的錯(cuò)誤代碼(從101開(kāi)始)是由Modbus從站返回的錯(cuò)誤。這些錯(cuò)誤指示從站不支持所請(qǐng)求的功能,或者所請(qǐng)求的地址(或數(shù)據(jù)類型或地址范圍)不被Modbus從站支持。
由于一次只能激活一條MBUS_MSG指令。所以在第一條MBUS_MSG指令完成后,啟動(dòng)第二條指令,同時(shí)必須復(fù)位第一條指令。如果啟用了多條MBUS_MSG指令,則將處理所執(zhí)行的第一條MBUS_MSG指令,之后的所有MBUS_MSG指令將中止并產(chǎn)生錯(cuò)誤代碼6。
Mode(模式) 為1,啟用Modbus協(xié)議。
Addr(地址) 與主站的尋址對(duì)應(yīng)一致。
Baud (波特率)一般選擇9600。
Parity (奇偶校驗(yàn)) 參數(shù)被設(shè)為與Modbus從站奇偶校驗(yàn)相匹配。所有設(shè)置使用一個(gè)起始位和一個(gè)停止位。一般選擇偶校驗(yàn)2.(和主站保持一致)
Delay('延時(shí)')參數(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。
MaxIQ 參數(shù)將供Modbus地址0xxxx和1xxxx使用的I和Q點(diǎn)數(shù)設(shè)為0至128之間的數(shù)值。建議使用的MaxIQ數(shù)值是128,該數(shù)值可在S7-200中存取所有的I和Q點(diǎn)。
MaxAI參數(shù)將供Modbus地址3xxxx使用的字輸入(AI)寄存器數(shù)目設(shè)為0至32之間的數(shù)值。
建議使用的MaxAI數(shù)值如下,這些數(shù)值可允許存取所有的S7-200模擬輸入:(根據(jù)CPU型號(hào)選擇數(shù)值)
0用于CPU 221
16用于CPU 222
32用于CPU 224、224XP、226和226XM。
MaxHold 參數(shù)設(shè)定供Modbus地址4xxxx使用的V存儲(chǔ)器中的字保持寄存器數(shù)目。例如,為了允許主設(shè)備存取2000個(gè)字節(jié)的V存儲(chǔ)器,將MaxHold 設(shè)為1000個(gè)字的數(shù)值(保持寄存器)。
HoldStart參數(shù)是V存儲(chǔ)器中保持寄存器的起始地址,Modbus主設(shè)備可存取V內(nèi)存MaxHold個(gè)字?jǐn)?shù),從HoldStart開(kāi)始。
Done(完成)MBUS_INIT指令完成時(shí),'完成'輸出打開(kāi)。
Error(錯(cuò)誤)'錯(cuò)誤'輸出字節(jié)包含執(zhí)行指令的結(jié)果。
錯(cuò)誤代碼 說(shuō)明
0 無(wú)錯(cuò)誤
1 內(nèi)存范圍錯(cuò)誤
2 非法波特率或奇偶校驗(yàn)
3 非法從屬地址
4 非法Modbus參數(shù)值
5 保持寄存器與Modbus從屬符號(hào)重疊
6 收到奇偶校驗(yàn)錯(cuò)誤
7 收到CRC錯(cuò)誤
8 非法功能請(qǐng)求/功能不受支持
9 請(qǐng)求中的非法內(nèi)存地址
10 從屬功能未啟用
MBUS_SLAVE指令被用于為Modbus主設(shè)備發(fā)出的請(qǐng)求服務(wù)。
如果'完成'關(guān)閉,錯(cuò)誤參數(shù)不會(huì)改變。