西門子S7-1200 控制器是我們新推出產(chǎn)品的核心,可實(shí)現(xiàn)簡(jiǎn)單卻高度精確的自動(dòng)化任務(wù)。西門子S7-1200 控制器實(shí)現(xiàn)了模塊化和緊湊型設(shè)計(jì),功能強(qiáng)大、投資安全并且*適合各種應(yīng)用??蓴U(kuò)展性強(qiáng)、靈活度高的設(shè)計(jì),可實(shí)現(xiàn)標(biāo)準(zhǔn)工業(yè)通信的通信接口以及一整套強(qiáng)大的集成技術(shù)功能,使該控制器成為完整、全面的自動(dòng)化解決方案的重要組成部分。
產(chǎn)品簡(jiǎn)介
西門子S7-1200 控制器是我們新推出產(chǎn)品的核心,可實(shí)現(xiàn)簡(jiǎn)單卻高度精確的自動(dòng)化任務(wù)。西門子S7-1200 控制器實(shí)現(xiàn)了模塊化和緊湊型設(shè)計(jì),功能強(qiáng)大、投資安全并且*適合各種應(yīng)用??蓴U(kuò)展性強(qiáng)、靈活度高的設(shè)計(jì),可實(shí)現(xiàn)標(biāo)準(zhǔn)工業(yè)通信的通信接口以及一整套強(qiáng)大的集成技術(shù)功能,使該控制器成為完整、全面的自動(dòng)化解決方案的重要組成部分。
詳細(xì)介紹
江蘇西門子S7-1200代理商(歡迎您)總代理
S7-1200和S7-1500支持哪些錯(cuò)誤處理OB
OB按優(yōu)先級(jí)大小執(zhí)行,如果所發(fā)生事件的優(yōu)先級(jí)高于當(dāng)前執(zhí)行的OB ,則中斷此 OB 的執(zhí)行。優(yōu)先級(jí)相同的事件,將按發(fā)生的時(shí)間順序進(jìn)行處理。
與S7-300/400比較,S7-1200/1500的錯(cuò)誤處理有了較大的變化,本文主要介紹S7-1200/1500所支持的錯(cuò)誤處理組織塊以及CPU對(duì)這些錯(cuò)誤的響應(yīng)。
1 S7-1200/1500的錯(cuò)誤處理組織塊
1.1 S7-1200的錯(cuò)誤處理組織塊
圖1-1
S7-1200不再支持同步錯(cuò)誤中斷組織塊OB121,OB122 。
1.2 S7-1500的錯(cuò)誤處理組織塊
圖1-2
S7-1200與S7-1500支持的錯(cuò)誤處理組織塊的塊號(hào)與S7-300/400保持*,不同的是S7-1500除時(shí)間錯(cuò)誤中斷組織塊OB80的優(yōu)先級(jí)22不能改變外,其它的錯(cuò)誤處理組織塊的優(yōu)先級(jí)都可以修改。如診斷中斷OB82:
圖1-3
除了可以修改錯(cuò)誤中斷OB的優(yōu)先級(jí),S7-1500的事件中斷(如硬件中斷)的優(yōu)先級(jí)也可以修改,這樣用戶通過(guò)修改優(yōu)先級(jí)可避免重要的中斷請(qǐng)求被其它中斷請(qǐng)求延遲或中斷。
2 CPU對(duì)會(huì)引起錯(cuò)誤中斷的響應(yīng)
CPU對(duì)錯(cuò)誤處理組織塊的響應(yīng)表:
錯(cuò)誤處理OB | 故障類別 | ‘到達(dá)事件‘ 觸發(fā) | ‘離去事件‘ 觸發(fā) | OB沒(méi)有裝載CPU停機(jī) | |||
S7-1200 | S7-1500 | S7-300/400 | |||||
OB80 | 超出大循環(huán)時(shí)間* |
異步 |
是 |
否 | 是 | 是 | 是 |
時(shí)間錯(cuò)誤** | 否*** | 否*** | 是 | ||||
OB82 | 異步 | 是 | 是 | 否*** | 否*** | 是 | |
OB83 | 異步 | 是 | 是 | - | 否*** | 是 | |
OB86 | 異步 | 是 | 是 | - | 否*** | 是 | |
OB121 | 同步 | 是 | 否 | - | 是 | 是 | |
OB122 | 同步 | 是 | 否 | - | 否*** | 是 |
表2-1
注:
-: 不支持。
*: 超出大循環(huán)時(shí)間請(qǐng)求OB80時(shí)而下載OB80并不會(huì)使CPU停機(jī),但如果一個(gè)周期內(nèi)超時(shí)兩倍的循環(huán)監(jiān)控時(shí)間 S7-1200/1500/300/400都會(huì)停機(jī)。
**: 由時(shí)間事件(如循環(huán)中斷,延時(shí)中斷,時(shí)間中斷)觸發(fā)的時(shí)間錯(cuò)誤。
***:CPU不會(huì)停機(jī),但會(huì)在診斷緩沖區(qū)產(chǎn)生診斷記錄。
3 GET_ERROR,GET_ERR_ID對(duì)PLC錯(cuò)誤處理的影響
GET_ERROR和GET_ERR_ID是“獲取本地錯(cuò)誤信息”指令,S7-1200/1500可通過(guò)編程用來(lái)查詢程序塊內(nèi)出現(xiàn)的錯(cuò)誤,這種程序執(zhí)行中發(fā)生的錯(cuò)誤就是所說(shuō)的‘同步‘錯(cuò)誤。
圖3-1
“獲取本地錯(cuò)誤信息”指令支持塊內(nèi)進(jìn)行本地錯(cuò)誤處理。將“獲取本地錯(cuò)誤信息”插入塊
的程序代碼中時(shí),如果發(fā)生錯(cuò)誤,則將忽略所有預(yù)定義的系統(tǒng)響應(yīng)。
GET_ERROR指令可以讀到詳細(xì)的錯(cuò)誤信息,GET_ERR_ID只讀到其中的錯(cuò)誤編號(hào)。
3.1 GET_ERROR對(duì)S7-1200同步錯(cuò)誤處理的影響
因?yàn)镾7-1200不支持OB121,OB122,在發(fā)生‘同步‘錯(cuò)誤時(shí),只在CPU的診斷緩沖區(qū)產(chǎn)生錯(cuò)誤記錄:同時(shí)ERR LED閃爍
舉例:IO訪問(wèn)錯(cuò)誤
程序中訪問(wèn)了外設(shè)地址ID1000:P,對(duì)S7-1200來(lái)說(shuō),ID1000是默認(rèn)分配給高速計(jì)數(shù)通道HSC1,但是在實(shí)際的組態(tài)中沒(méi)有使能HSC1,那么就不存在這個(gè)外設(shè)。
圖3-2
S7-1200每執(zhí)行一次這條指令,在診斷緩沖區(qū)產(chǎn)生一條錯(cuò)誤記錄,同時(shí)ERR LED閃爍,直到 ”Tag_1”復(fù)位。
圖3-3
在發(fā)生錯(cuò)誤指令的下面執(zhí)行GET_ERROR:
圖3-4
錯(cuò)誤仍然存在,但CPU不報(bào)錯(cuò),診斷緩沖區(qū)也不會(huì)產(chǎn)生任何相關(guān)錯(cuò)誤記錄。
3.2 GET_ERROR對(duì)S7-1500同步錯(cuò)誤處理的影響
與S7-1200比較,因?yàn)镾7-1500支持兩個(gè)同步錯(cuò)誤處理組織塊OB121,OB122,GET_ERROR對(duì)S7-1500的同步錯(cuò)誤處理的影響還要考慮對(duì)OB121,OB122的影響。
本文的表2-1說(shuō)明了S7-1500沒(méi)有執(zhí)行GET_ERROR的情況下CPU的響應(yīng),下面對(duì)同步錯(cuò)誤發(fā)生時(shí)執(zhí)行GET_ERROR后CPU的響應(yīng)。
S7-1500在發(fā)生兩種同步錯(cuò)誤時(shí)在有無(wú)下載對(duì)應(yīng)錯(cuò)誤處理組織塊(程序錯(cuò)誤:OB121,IO訪問(wèn)錯(cuò)誤:O122)的響應(yīng)是不同的,但在發(fā)生這兩種錯(cuò)誤的程序塊中執(zhí)行GET_ERROR后,S7-1500將忽略預(yù)定義的對(duì)這個(gè)程序塊中出現(xiàn)的錯(cuò)誤的系統(tǒng)響應(yīng),因此會(huì)產(chǎn)生以下結(jié)果:
S7-1200和S7-1200之間S7通信
S7-1200 和 S7-1200 之間 S7 通信
S7-1200 的 PROFINET 通信口可以做 S7 通信的服務(wù)器端或客戶端(CPU V2.0及以上版本)。S7-1200 僅支持 S7 單邊通信,僅需在客戶端單邊組態(tài)連接和編程,而服務(wù)器端只準(zhǔn)備好通信的數(shù)據(jù)就行。
硬件:
CPU 1214C DC/DC/DC,V2.0
CPU 1214C DC/DC/DC,V4.1
軟件:
Step7 V13 SP1
所完成的通信任務(wù):
S7-1200 CPU Clinet 將通訊數(shù)據(jù)區(qū) DB1 塊中的 10 個(gè)字節(jié)的數(shù)據(jù)發(fā)送到 S7-1200 CPU server 的接收數(shù)據(jù)區(qū) DB1 塊中;
S7-1200 CPU Clinet 將S7-1200 CPU server 發(fā)送數(shù)據(jù)區(qū) DB2 塊中的 10 個(gè)字節(jié)的數(shù)據(jù)讀到 S7-1200 CPU Clinet 的接收數(shù)據(jù)區(qū) DB2 塊中。
S7-1200之間 S7 通訊,可以分2種情況來(lái)操作,具體如下:
*種情況:兩個(gè) S7-1200 在一個(gè)項(xiàng)目中操作;
第二種情況:兩個(gè) S7-1200 不在一個(gè)項(xiàng)目中的操作。
一. *種情況(同一項(xiàng)目中操作)
使用 STEP 7 V13 在同一個(gè)項(xiàng)目中,新建兩個(gè)S7-1200站點(diǎn),然后做 S7 通訊。
1.1 使用 Step7 V13生成項(xiàng)目
使用 STEP7 V13 創(chuàng)建一個(gè)新項(xiàng)目,并通過(guò)“添加新設(shè)備”組態(tài) S7-1200 站 client V4.1,選擇 CPU1214C DC/DC/DC V4.1(client IP:192.168.0.10);接著組態(tài)另一個(gè)S7-1200站 server v2.0,選擇 CPU1214C DC/DC/DC V2.0(server IP:192.168.0.12),如圖 1 所示。
圖 1 在新項(xiàng)目中插入2個(gè) S7-1200 站點(diǎn)
1.2 網(wǎng)絡(luò)配置,組態(tài) S7 連接
在“設(shè)備組態(tài)”中 ,選擇“網(wǎng)絡(luò)視圖”欄進(jìn)行配置網(wǎng)絡(luò),點(diǎn)中左上角的“連接”圖標(biāo),連接框中選擇“S7連接”,然后選中client v4.1 CPU(客戶端),右鍵選擇“添加新的連接”,在創(chuàng)建新連接對(duì)話框內(nèi),選擇連接對(duì)象“server v2.0 CPU”,選擇“主動(dòng)建立連接”后建立新連接,如圖 2 所示。
圖 2 建立 S7 連接
1.3 S7 連接及其屬性說(shuō)明
在中間欄的“連接”條目中,可以看到已經(jīng)建立的“S7_連接_1”,如圖 3 所示。
圖 3 S7 連接
點(diǎn)中上面的連接,在“S7_連接_1”的連接屬性中查看各參數(shù),如圖 4 所示。
在常規(guī)中,顯示連接雙方的設(shè)備,IP地址。
在本地ID中:顯示通訊連接的ID 號(hào),這里ID=W#16#100(編程使用)。
在特殊連接屬性中:可以選擇是否為主動(dòng)連接,這里client v4.1是主動(dòng)建立連接。
在地址詳細(xì)信息中:定義通訊雙方的 TSAP 號(hào),這里不需要修改。
圖 4 連接的屬性
配置完網(wǎng)絡(luò)連接,雙方都編譯存盤并下載。如果通訊連接正常,連接在線狀態(tài),如圖 5 所示。
圖 5 連接狀態(tài)
1.4 軟件編程
在 S7-1200 兩側(cè),分別創(chuàng)建發(fā)送和接收數(shù)據(jù)塊 DB1 和 DB2,定義成 10 個(gè)字節(jié)的數(shù)組,如圖 6 所示。
圖 6 數(shù)據(jù)塊
注意: 數(shù)據(jù)塊的屬性中,需要選擇非優(yōu)化塊訪問(wèn)(把默認(rèn)的勾去掉),如圖 7 所示。
圖 7 數(shù)據(jù)塊屬性-非優(yōu)化的塊訪問(wèn)
在主動(dòng)建連接側(cè)編程(client v4.1 CPU),在OB1中,從“Instruction” >“Communication” >“S7 Communication”下,調(diào)用 Get、Put 通信指令,如圖 8 所示。
圖 8 發(fā)送接收指令調(diào)用
功能塊參數(shù)意義如下表1.
CALL “PUT” | , %DB3 | //調(diào)用 PUT,使用背景DB塊:DB3 |
REQ | :=%M0.0 | //上升沿觸發(fā) |
ID | :=W#16#100 | //連接號(hào),要與連接配置中*,創(chuàng)建連接時(shí)的本地連接號(hào) |
DONE | :=%M0.5 | // 為1時(shí),發(fā)送完成 |
ERROR | :=%M0.6 | // 為1時(shí),有故障發(fā)生 |
STATUS | :=%MW10 | // 狀態(tài)代碼 |
ADDR_1 | :=P#DB1.DBX0.0 BYTE 10 | // 發(fā)送到通信伙伴數(shù)據(jù)區(qū)的地址 |
SD_1 | :=P#DB1.DBX0.0 BYTE 10 | // 本地發(fā)送數(shù)據(jù)區(qū) |
CALL “GET” | , %DB4 | //調(diào)用 GET,使用背景DB塊:DB4 |
REQ | :=%M1.0 | //上升沿觸發(fā) |
ID | :=W#16#100 | //連接號(hào),要與連接配置中*,創(chuàng)建連接時(shí)的本地連接號(hào) |
NDR | :=%M1.5 | //為1時(shí),接收到新數(shù)據(jù) |
ERROR | :=%M1.6 | //為1時(shí),有故障發(fā)生 |
STATUS | :=%MW12 | //狀態(tài)代碼 |
ADDR_1 | :=P#DB2.DBX0.0 BYTE 10 | //從通信伙伴數(shù)據(jù)區(qū)讀取數(shù)據(jù)的地址 |
RD_1 | :=P#DB2.DBX0.0 BYTE 10 | //本地接收數(shù)據(jù)地址 |
表1. 功能塊參數(shù)意義
1.5 監(jiān)控結(jié)果
通過(guò)在 S7-1200 客戶機(jī)側(cè)編程進(jìn)行 S7 通訊,實(shí)現(xiàn)兩個(gè) CPU 之間數(shù)據(jù)交換,監(jiān)控結(jié)果如圖 9 所示。
圖 9 監(jiān)控結(jié)果
二. 第二種情況(不在同一項(xiàng)目中操作)
使用 STEP 7 V13 不在一個(gè)項(xiàng)目中,新建兩個(gè)S7-1200站點(diǎn),然后做 S7 通訊。
2.1 使用 Step7 V13生成項(xiàng)目
使用 STEP7 V13 創(chuàng)建一個(gè)新項(xiàng)目,并通過(guò)“添加新設(shè)備”組態(tài) S7-1200 站 client V4.1,選擇 CPU1214C DC/DC/DC V4.1;接著在另一個(gè)項(xiàng)目組態(tài)S7-1200站 server v2.0,選擇 CPU1214C DC/DC/DC V2.0。
2.2 網(wǎng)絡(luò)配置,組態(tài) S7 連接
在“設(shè)備組態(tài)”中 ,選擇“網(wǎng)絡(luò)視圖”欄進(jìn)行配置網(wǎng)絡(luò),點(diǎn)中左上角的“連接”圖標(biāo),連接框中選擇“S7連接”,然后選中client v4.1 CPU(客戶端),右鍵選擇“添加新的連接”,在創(chuàng)建新連接對(duì)話框內(nèi),選擇連接對(duì)象“未”,如圖 10 所示。
圖 10 建立 S7 連接
2.3 S7 連接及其屬性說(shuō)明
在中間欄的“連接”條目中,可以看到已經(jīng)建立的“S7_連接_1”,如圖 11 所示。
圖 11 S7 連接
點(diǎn)中上面的連接,在“S7_連接_1”的連接屬性中查看各參數(shù),如圖 12 所示。
在常規(guī)中,顯示連接雙方的設(shè)備,在伙伴方“站點(diǎn)”欄選擇“未知”;在“地址”欄填寫伙伴的IP地址192.168.0.12。
在本地ID中:顯示通訊連接的ID 號(hào),這里ID=W#16#100。
在特殊連接屬性中:建未的連接,建連接側(cè)為主動(dòng)連接,這里client v4.1是主動(dòng)建立連接。
在地址詳細(xì)信息中:定義伙伴側(cè)的 TSAP 號(hào)(注意:S7-1200預(yù)留給S7連接兩個(gè)TSAP地址:03.01和03.00),這里設(shè)置伙伴的 TSAP:03.00。
圖 12 連接的屬性及設(shè)置后連接狀態(tài)
配置完網(wǎng)絡(luò)連接,編譯存盤并下載。如果通訊連接正常,連接在線狀態(tài),如圖 13 所示。
圖 13 連接狀態(tài)
2.4 軟件編程
在主動(dòng)建連接的客戶機(jī)側(cè)調(diào)用 Get、Put 通信指令,具體使用同上一種情況。
三、附加說(shuō)明
請(qǐng)注意,以上例子中使用的作為服務(wù)器的PLC是固件版本V2.0的S7-1200 CPU,如果您使用固件版本為 V4.0 以上的 S7-1200 CPU 作為服務(wù)器,則需要如下額外設(shè)置,才能保證S7通信正常。
請(qǐng)點(diǎn)開作為S7服務(wù)器(sever)的 CPU 的設(shè)備組態(tài),“屬性->常規(guī)->保護(hù)”里“連接機(jī)制”一項(xiàng)需要勾選“允許從遠(yuǎn)程伙伴(PLCHMIOPC...)使用 PUT/GET 通信訪問(wèn)”,如下圖所示:
- CPU ERR LED不會(huì)閃爍
- 診斷緩沖區(qū)不會(huì)產(chǎn)生錯(cuò)誤記錄
- 不再觸發(fā)OB121和OB122,發(fā)生程序錯(cuò)誤時(shí)即使不下載OB121 CPU也不會(huì)停機(jī)
江蘇西門子S7-1200代理商(歡迎您)總代理