6ES7132-6GD51-0BA0
當(dāng)寫入離散輸出數(shù)據(jù)類型(線圈)時,用戶負(fù)責(zé)在通過DataPtr將數(shù)據(jù)傳遞到MBUS_MSG指令之前,將 位組合字節(jié)內(nèi)的正確位位置。
在發(fā)送請求和接收響應(yīng)期間,Done輸出關(guān)閉。當(dāng)響應(yīng)完成,或MBUS_MSG指令因出錯而中止時,
Donw輸出接通。
只有在Done輸出接通時,Error輸出才有效。請參見由MBUS_MSG指令返回的Modbus主站
MBUS_MSG執(zhí)行錯誤。
低編號的錯誤代碼(1- 8)是由MBUS_MSG指令檢測的錯誤。這些錯誤代碼通常指示MBUS_MSG指令的輸入?yún)?shù)錯誤,或從從站接收響應(yīng)錯誤。奇偶校驗和CRC錯誤指示存在響應(yīng),但數(shù)據(jù)沒有正確接收。這通常由電氣故障引起,例如連接不良或電氣噪聲。
高編號的錯誤代碼(從101開始)是由Modbus從站設(shè)備返回的錯誤。這些錯誤指示從站不支持所請求的 功能,或Modbus從站設(shè)備不支持所請求的地址(數(shù)據(jù)類型或地址范圍)。
表12- 11 Modbus主站MBUS_MSG執(zhí)行錯誤代碼
錯誤代碼 | 描述 |
0 | 無錯 |
1 | 響應(yīng)中的奇偶校驗錯誤:只有在使用偶校驗或奇校驗時才可能發(fā)生此類錯誤。傳輸受 到,可能接收錯誤的數(shù)據(jù)。該錯誤通常由電氣故障引起,例如接線錯誤或影響通 訊的電氣噪聲。 |
2 | 不用 |
3 | 接收超時:在Timeout時間內(nèi)沒有來自從站的響應(yīng)。一些可能的原因是到從站設(shè)備的電 氣連接不良,主站和從站設(shè)為一種不同的波特率/奇偶校驗設(shè)置以及錯誤的從站地址。 |
4 | 請求參數(shù)出錯:一個或多個輸入?yún)?shù)(Sle、RW、Addr或Count)被設(shè)為非法數(shù)值。查 看輸入?yún)?shù)允許數(shù)值的文檔。 |
5 | Modbus主站未啟用:在每次掃描時在調(diào)用MBUS_MSG之前調(diào)用MBUS_CTRL。 |
表12- 11 Modbus主站MBUS_MSG執(zhí)行錯誤代碼
錯誤代碼 | 描述 |
6 | Modbus正忙于處理另一個請求:一次只有一個MBUS_MSG指令處于活動狀態(tài)。 |
7 | 響應(yīng)出錯:所接收的響應(yīng)與請求不*。這表示從站設(shè)備出現(xiàn)某些故障或錯誤的從站 設(shè)備對請求進行了響應(yīng)。 |
8 | 響應(yīng)中的CRC錯誤:傳輸受到,可能接收到錯誤的數(shù)據(jù)。該錯誤通常由電氣故障 引起,例如接線錯誤或影響通訊的電氣噪聲。 |
101 | 從站不支持該地址的請求功能:請參見“使用Modbus主站指令”幫助主題中的所要求 的Modbus從站功能支持表。 |
102 | 從站不支持?jǐn)?shù)據(jù)地址:Addr和Count所請求的地址范圍超出從站的允許地址范圍。 |
103 | 從站不支持?jǐn)?shù)據(jù)類型:從站設(shè)備不支持Addr類型。 |
105 | 從站接受消息,但響應(yīng)被:這是MBUS_MSG錯誤,用戶程序應(yīng)稍后重新發(fā)送 請求。 |
106 | 從站接受消息,但響應(yīng)被:這是MBUS_MSG錯誤,用戶程序應(yīng)稍后重新發(fā)送請 求。從站忙碌,拒絕消息:可以重新嘗試同一個請求來獲取響應(yīng)。 |
107 | 由于某種未知原因,從站拒絕消息 |
108 | 從站存儲器奇偶校驗錯誤:從站設(shè)備出錯。 |
程序?qū)嵗?/span>
該實例程序顯示每當(dāng)輸入I0.0接通時,如何使用Modbus主站指令向Modbus從站寫或從Modbus從站
讀4個保持寄存器。
S7- 200 CPU將從VW100開始的4個字寫入Modbus從站。數(shù)據(jù)將寫入從站中從地址40001開始的4
個保持寄存器。
然后,S7- 200 CPU將從Modbus從站讀4個保持寄存器。數(shù)據(jù)來自保持寄存器40010- 40013,并將放到S7- 200 CPU中從VW200開始的V存儲器中。
S7-200 CPU
存儲器
.... |
VW100 |
VW102 |
VW104 |
VW106 |
.... |
.... |
VW200 |
VW202 |
VW204 |
VW206 |
.... |
圖12- 3 數(shù)據(jù)傳送實例程序
Modbus從站保持寄存器
.... |
40001 |
40002 |
40003 |
40004 |
.... |
.... |
40010 |
40011 |
40012 |
40013 |
.... |
Modbus主站協(xié)議編程示例 |
如果從MBUS_MSG指令返回一個錯誤,則程序?qū)⒔油ㄝ敵?/span>Q0.1和Q0.2。 |
| Network 1 //通過在每次掃描時調(diào)用MBUS_CTRL //初始化和 //Modbus主站。 //Modbus主站設(shè)為9600波特, //無奇偶校驗。從站允許1000 //毫秒(1秒)內(nèi)進行響應(yīng)。 Network 2 //在次掃描時,復(fù)位用于 //兩個MBUS_MSG指令的 //啟用標(biāo)記(M2.0和M2.1)。 Network 3 //當(dāng)I0.0從OFF變?yōu)?/span>ON時, //設(shè)置個MBUS_MSG //指令(M2.0)的啟用標(biāo)記。 Network 4 //當(dāng)個啟用標(biāo)記(M2.0)為ON時,調(diào)用 //MBUS_MSG指令。 //只需為啟用該指令的 //次掃描設(shè)置First參數(shù)。 //該指令將(RW = 1) 4個保持寄存器 //寫入從站2。從CPU的 //VB100 VB107 (4個字)獲取寫數(shù)據(jù), //然后寫入到 //Modbus從站的地址 //40001 - 40004 。 Network 5 //當(dāng)個MBUS_MSG指令完成時 //(Done從0變?yōu)?/span>1),清除個 //MBUS_MSG的啟用標(biāo)記,然后設(shè)置 //第二個MBUS_MSG //指令的啟用標(biāo)記。 //如果Error (MB1)不為零,則置位Q0.1 //顯示錯誤。 Network 6 //當(dāng)?shù)诙€啟用標(biāo)記(M2.1)為ON時, //調(diào)用第二個MBUS_MSG指令。 //只需為啟用此指令的 //個掃描 //設(shè)置First參數(shù)。 //該指令從站2讀取(RW = 0) 4個保持 //寄存器。從Modbus從站的地址 //40010- 40013 //讀取數(shù)據(jù), //然后將數(shù)據(jù)到CPU中的VB200 - VB207 (4個字)。 Network 7 //當(dāng)?shù)诙€MBUS_MSG指令完成 //(Done從0改為1)時,清除第二個 //MBUS_MSG指令 //的啟用標(biāo)記。 //如果Error (MB1)不為零,則置位Q0.2 //來顯示錯誤。 |
議題
該主題包含供Modbus主站協(xié)議庫的用戶使用的信息。Modbus主站協(xié)議庫的大部分用戶不需要該 信息,不得修改Modbus主站協(xié)議庫的缺省操作。
重試
如果檢測到下列其中一個錯誤,則Modbus主站指令將自動將請求重新發(fā)送至從站設(shè)備。 q 在響應(yīng)超時時間(MBUS_CTRL上的Timeout參數(shù))指令內(nèi)沒有響應(yīng)(錯誤代碼3)。q 響應(yīng)字符之間的時間超出允許的數(shù)值(錯誤代碼3)。
q 在來自從站的響應(yīng)中出現(xiàn)奇偶校驗錯誤(錯誤代碼1)。
q 在來自從站的響應(yīng)中出現(xiàn)CRC錯誤(錯誤代碼8)。
q 返回的功能與請求不匹配(錯誤代碼7)。
Modbus主站在置位Done和Error輸出參數(shù)之前將請求重新發(fā)送兩次。
在執(zhí)行了MBUS_CTRL后,通過查找Modbus主站符號表中的符號mModbusRetries,然后更改該數(shù)值來更改重試。mModbusRetries數(shù)值是BYTE類型,范圍為0- 250次重試。
字符間隔超時
如果響應(yīng)中各字符之間的時間超出的時間,則Modbus主站將中止來自從站設(shè)備的響應(yīng)。缺 省時間設(shè)為100毫秒,這允許Modbus主站協(xié)議通過有線或電話調(diào)制解調(diào)器與大部分從站設(shè)備一起工作。如果檢測到該錯誤,則MBUS CTRL Error參數(shù)將被設(shè)為錯誤代碼3。
當(dāng)字符間需要較長時間時可能出現(xiàn)該類情況,原因可能是傳輸介質(zhì)(即,電話調(diào)制解調(diào)器)或因為從站 設(shè)備本身需要更多的時間。在執(zhí)行了MBUS_CTRL后,可通過查找Modbus主站符號表中的符號mModbusCharTimeout,然后更改該數(shù)值來超時。mModbusCharTimeout數(shù)值是INT型,范圍為 1- 30000毫秒。
單個與多個位/字寫功能
一些Modbus從站設(shè)備不支持Modbus功能寫單個離散輸出位(Modbus功能5)或?qū)憜蝹€保持寄存器(Modbus功能6)。相反,這些設(shè)備僅寫支持多個位(Modbus功能15)或?qū)懚鄠€寄存器(Modbus功能 16)。如果從站設(shè)備不支持單個位/字Modbus功能,則MBUS_MSG指令將返回錯誤代碼101。
Modbus主站協(xié)議允許強制使用MBUS_MSG指令使用多個位/字Modbus功能,而不使用單個位/字Modbus功能。在執(zhí)行了MBUS_CTRL后,可通過查找Modbus主站符號表中的mModbusForceMulti,然后更改該數(shù)值來強制使用多個位/字指令。 mModbusForceMulti數(shù)值是BOOL型數(shù)據(jù)類型, 當(dāng)寫入單個位/寄存器時,應(yīng)設(shè)為 1 ,強制使用多個位/字功能。
累加器用法
累加器(AC0、AC1、AC2、AC3)由Modbus主站指令使用并顯示在交叉參考列表中。由Modbus主站 指令保存和恢復(fù)累加器中的數(shù)值。在執(zhí)行Modbus主站指令期間,保留累加器中的所有用戶數(shù)據(jù)。
保持寄存器地址大于9999
Modbus保持寄存器通常位于范圍40001到49999之間。該范圍足以大多數(shù)應(yīng)用的要求,但有些Modbus從站設(shè)備將數(shù)據(jù)映地址大于9999的保持寄存器中。這些設(shè)備不常規(guī)的Modbus尋址方案。
Modbus主站指令通過另一種尋址支持尋址大于9999的保持寄存器。MBUS_MSG指令允許參數(shù) Addr的一個附加范圍,用于支持保持寄存器的附加地址范圍。
用于保持寄存器的400001到465536
例如:若要訪問保持寄存器16768, MBUS_MSG的Addr參數(shù)必須設(shè)為416768。
擴展尋址允許訪問Modbus協(xié)議支持的65536的*地址范圍。該擴展尋址僅用于保持寄存器。

流程五:5、客戶收到合同查閱同意后蓋章回傳并按照合同銷售額到公司行
當(dāng)對品牌的從企業(yè)層面正式上升到層面,當(dāng)更多企業(yè)以品質(zhì)迎接消費結(jié)構(gòu)升級,這意味我國的品牌建設(shè)將翻開全新的一頁。核心競爭力也不再是一家企業(yè)的核心,快遞企業(yè)需要打開新的創(chuàng)新空間。一帶一路”沿線都面臨著發(fā)展經(jīng)濟和保護等共性問題,并且,沿線與產(chǎn)業(yè)結(jié)構(gòu)互補性強,具有攜手共建“一帶一路”的共同需求。實體產(chǎn)品檢測業(yè)務(wù)將呈下降趨勢,與此同時教育、培訓(xùn)等服務(wù)性業(yè)務(wù)有較高的增長潛力。這也標(biāo)志著,地表水監(jiān)測事權(quán)上收工作邁出了的一步。
配方的定義和術(shù)語
為了幫助您理解配方向?qū)?,首先來解釋以下定義和術(shù)語。
q 配方結(jié)構(gòu)是由配方向?qū)傻囊惶捉M件。這些組件包括指令子程序、數(shù)據(jù)塊標(biāo)簽和符號表。
q 配方集是指一個配方的,它們擁有相同的參數(shù)。但是依賴于配方,參數(shù)的數(shù)值各不相同。
q 一條配方是一組參數(shù)值,它提供了生產(chǎn)一種產(chǎn)品和控制一個所需要的信息。
例如:生產(chǎn)多納圈和餅干的配方就分別屬于不同的配方集。而餅干配方集中又包含多種不同的配方。 表13- 1中列出了例子中的域和值。
表13- 1 配方應(yīng)用舉例--餅干
域名 | 數(shù)據(jù)類型 | 巧克力夾心(配方0) | 甜餅干 (配方1) | 注釋 |
黃油 | Byte | 8 | 8 | 盎司 |
白糖 | Byte | 6 | 12 | 盎司 |
紅糖 | Byte | 6 | 0 | 盎司 |
雞蛋 | Byte | 2 | 1 | 個 |
香草 | Byte | 1 | 1 | 茶匙 |
面粉 | Byte | 18 | 32 | 盎司 |
碳酸氫鈉 | Real | 1.0 | 0.5 | 茶匙 |
發(fā)酵粉 | Real | 0 | 1.0 | 茶匙 |
鹽 | Real | 1.0 | 0.5 | 茶匙 |
巧克力夾心 | Real | 16 | 0.0 | 盎司 |
檸檬皮 | Real | 0.0 | 1.0 | 大湯匙 |
烹調(diào)時間 | Real | 9.0 | 10.0 | 分鐘 |
6ES7132-6GD51-0BA0
位模式測試(Dark test/Light test/Switch on test)
故障安全輸出模塊為了實現(xiàn)功能安全,采取了一些*的設(shè)計用來診斷輸出短路、斷線或是接地故障等,使用的方法是位模式測試,分為3種形式:Dark test、Light test、Switch on test。
Dark test:在安全輸出模塊輸出激活時(輸出為1),模塊內(nèi)部周期的以脈沖方式交替的將P和M開關(guān)斷開(PM方式輸出模塊 6ES7 136-6DB00-0CA0)或兩個P開關(guān)交替斷開(PP方式輸出模塊6ES7136-6DC00-0CA0),同時有測試電路回讀狀態(tài)進行診斷。

圖1 PM輸出模塊的Dark test

圖2 PP輸出模塊的Dark test
西門子6ES71326BF610AA0
Light test:在安全輸出模塊輸出沒有激活時(輸出為0),模塊內(nèi)部周期的以脈沖方式同時的將P和M開關(guān)接通(PM方式輸出模塊 6ES7 136-6DB00-0CA0)或兩個P開關(guān)同時接通(PP方式輸出模塊6ES7136-6DC00-0CA0),同時有測試電路回讀狀態(tài)進行診斷。

圖3 PM輸出的Light test

圖4 PP輸出的Light test
注意:Dark test可能會導(dǎo)致某些負(fù)載執(zhí)行器出現(xiàn)短暫斷開的現(xiàn)象,Light test可能會導(dǎo)致某些負(fù)載執(zhí)行器自動接通的現(xiàn)象,避免這兩種現(xiàn)象需要正確設(shè)置最大回讀時間,參考2.7章節(jié)和模塊技術(shù)手冊。
Switch on test:在安全輸出模塊輸出沒有激活時(輸出為0),模塊內(nèi)部周期的以脈沖方式交替的將P和M開關(guān)接通(PM方式輸出模塊 6ES7 136-6DB00-0CA0),同時有測試電路回讀狀態(tài)進行診斷。這種方式只有PM方式輸出模塊具有,相對于Light test方式?jīng)]有電流通過負(fù)載執(zhí)行器,不會自動接通。

圖5 PM輸出的Switch on test