詳細(xì)介紹
西門子6FC5357-0BB23-0AA0
6FC5357-0BB23-0AA0
SINUMERIK 840D/DE NCU 572.3,400MHz,64MB 不帶系統(tǒng)軟件 存儲器:NC 0.5MB,PLC 96KB PROFIBUS-DP 準(zhǔn)備 符合 IEC 61508
問題:
如何為S7-22x編程一個時間控制的中斷?
解答:
下列CPU可以處理一個時間控制的中斷:
中斷 | CPU221 | CPU222 | CPU224 | CPU226 | CPU226XM |
支持的時間控制中斷的個數(shù) | 2 | 2 | 2 | 2 | 2 |
中斷個數(shù) | 0 和 1 | 0 和 1 | 0 和 1 | 0 和 1 | 0 和 1 |
可能的中斷程序的個數(shù) | INT 0 | INT 0 | INT 0 | INT 0 | INT 0 |
S7-200 支持一個或更多的時間控制的中斷??梢杂脮r間控制中斷來定義要在周期中執(zhí)行的動作。定義的周期時間以 1 毫秒為單位。范圍在 1毫秒(1)至 255 毫秒(255)間。在特殊標(biāo)志字節(jié)SMB34中寫入中斷 0 的周期時間,在SMB35中寫入中斷 1的周期時間。
每當(dāng)延時時間到達(dá)時,時間控制中斷事件就會調(diào)用相應(yīng)的中斷程序。通??梢允褂脮r間控制中斷控制模擬量輸入的定期采樣。當(dāng)把一個中斷程序分配給一個時間控制中斷事件時,時間控制中斷就被激活后并開始計時。在樣例中,這是啟動子程序“SBR 0”所做的一的事情。系統(tǒng)確定該周期時間使后續(xù)的修改不會影響到該周期時間。如果想要修改周期時間,必須為周期時間一個新值然后重新將中斷程序賦予該時間控制的中斷。重新賦予時,函數(shù)會刪除以前賦予中累計的時間值并以新值開始運行時間。
命令的作用 | Command | Operand | Example of |
主程序 |
|
|
|
網(wǎng)絡(luò) 1 |
|
|
|
通過查詢只在*個周期里置“1”的標(biāo)志,給該事件分配一個少有的中斷程序號 | LD | SM 0.1 | SM 0.1 |
在*個循環(huán)中調(diào)用子程序“0” | CALL | 0 |
|
主程序結(jié)束 | MEND |
|
|
啟動子程序“0” | SBR | 0 |
|
使用“確定為“ 1 ”的系統(tǒng)標(biāo)志SM 0.1 ”,設(shè)置時間控制段的時間間隔為 100 * 1ms = 100 ms | LD | SM 0.1 |
|
允許使用所有中斷 | ENI |
|
|
分配時間控制中斷“0”到中斷程序“0” | ATCH | INT,EVENT | 0,10 |
終止子程序 | RET |
|
|
啟動中斷程序 | INT | 0 |
|
現(xiàn)在可以寫想要每隔 100 毫秒處理一次的程序 | ....... | .... | .... |
從中斷程序返回 | RETI |
|
|
注意事項:
- CPU根據(jù)中斷發(fā)生的次序和它的優(yōu)先級狀態(tài)對其進(jìn)行處理。因此對于中斷處理始終只能有 一個程序是激活的。如果一個中斷程序正在被處理,那么它就會首先被處理完畢。它不會被后面出現(xiàn)的中斷程序所打斷即使這個程序有更高的優(yōu)先級。當(dāng)另一個中斷正在被處理時,發(fā)生了一個中斷,那么后面的中斷就會被放入隊列中等待以后的處理。時控中斷隊列中多可放入8個中斷。
- 有可能發(fā)生出現(xiàn)的中斷要多于隊列里可容納的中斷個數(shù)的情況,這樣,系統(tǒng)就會發(fā)出隊列溢出標(biāo)志,而該標(biāo)志指出不能被包括在隊列里的中斷事件的類型。下面的表格為發(fā)生隊列溢出時所設(shè)置的特殊標(biāo)志。只能在中斷程序中使用位 SM 4.0 至 4.2,因為當(dāng)中斷隊列處理完畢后,主程序的處理繼續(xù)進(jìn)行時它們會被復(fù)位。
隊列 | 特殊標(biāo)志 |
通訊中斷的隊列溢出 | SM 4.0 |
I/O中斷的隊列溢出 | SM 4.1 |
時間控制中斷的隊列溢出 | SM 4.2 |
西門子6FC5357-0BB23-0AA0
1. 說明
本條目描述了在 S7-200 程序塊中那些參數(shù)需要設(shè)置來接收其他站點的 GPRS 數(shù)據(jù)。
兩個或多個包含 S7-200 CPU 和 調(diào)制解調(diào) SINAUT MD 720-3 模塊的遠(yuǎn)程站通過 GPRS 連接到一個中心站。中心站采用 SINAUT MICRO SC 來管理與所有已組態(tài)的遠(yuǎn)程站的通訊(圖 1 )。
圖 1 :結(jié)構(gòu)圖
2. WDC_SEND 和 WDC_RECEIVE 功能塊
SINAUT MICRO SC 庫內(nèi)的功能塊 WDC_SEND 和 WDC_RECEIVE 負(fù)責(zé)發(fā)送和接收數(shù)據(jù)。數(shù)據(jù)的接收由調(diào)制解調(diào)模塊上 LED 燈“C”的閃爍來指示。如果塊的參數(shù)設(shè)置錯誤,接收的數(shù)據(jù)就會被舍棄不會寫入 CPU。下列參數(shù)決定數(shù)據(jù)的交換:
WDC_SEND:
- DATA_STAR:*個數(shù)據(jù)字節(jié)的起始地址,比如 VB100 就是“100”
- DATA_LENGTH:發(fā)送數(shù)據(jù)的長度,比如 10 個字節(jié)就是“10”
WDC_RECEIVE:
- DATA_START:接收數(shù)據(jù)的起始地址(接收的數(shù)據(jù)自動更新)
- DATA_LENGTH:接收數(shù)據(jù)的長度(接收的數(shù)據(jù)自動更新)
- RECVBUFFER_START 和 RECVBUFFER_LENGTH 說明了接收地址區(qū),該區(qū)域會被CPU中接收到的數(shù)據(jù)覆蓋。
發(fā)送地址區(qū) DATA_START 和 DATA-LENGTH 必須適合接收地址區(qū)以保證接收 CPU 所發(fā)送的數(shù)據(jù)都是可以訪問的。
3. 接收的數(shù)據(jù)被舍棄并不寫入 CPU
下面舉例說明當(dāng) WDC_RECEIVE 參數(shù)設(shè)置錯誤時發(fā)生的問題:
圖 2:沒有數(shù)據(jù)寫入 CPU
- 遠(yuǎn)程站 1 發(fā)送起始地址為 VB100 長度為 10 字節(jié)的數(shù)據(jù)
- 遠(yuǎn)程站 2 允許起始地址為 VB200 長度為 10 字節(jié)的接收區(qū)
- 發(fā)送的數(shù)據(jù)在 WDC_RECEIVE 所允許的范圍之外,數(shù)據(jù)沒有寫入 CPU,發(fā)送請求被告知出錯。
圖 3:沒有數(shù)據(jù)寫入 CPU
- 遠(yuǎn)程站 1 發(fā)送起始地址為 VB100 長度為 20 個字節(jié)的數(shù)據(jù)
- 遠(yuǎn)程站 2 允許起始地址為 VB100 長度為 10 個字節(jié)的接收區(qū)
- 部分發(fā)送數(shù)據(jù)在 WDC_RECEIVEP 允許的范圍之外,數(shù)據(jù)沒有寫入 CPU,發(fā)送請求被告知出錯。
4. 接收數(shù)據(jù)準(zhǔn)確寫入 CPU
WDC_RECEIVE 的接收區(qū)必須至少和發(fā)送數(shù)據(jù)區(qū)一樣大。
4.1 允許的區(qū)域準(zhǔn)確匹配
圖 4:允許的地址區(qū)準(zhǔn)確匹配
- 遠(yuǎn)程站 1 發(fā)送起始地址為 VB100 長度為 10 個字節(jié)的數(shù)據(jù)
- 遠(yuǎn)程站 2 允許起始地址為 VB100 長度為 10 個字節(jié)的接收區(qū)
- 發(fā)送的數(shù)據(jù)在 WDC_RECEIVE 允許的地址區(qū)之內(nèi),從 VB100 開始的 10 個字節(jié)寫入 CPU,發(fā)送請求被告知“完成”。
4.2 允許區(qū)域大于接收的數(shù)據(jù)
圖 5:允許的地址區(qū)大于接收的數(shù)據(jù)
- 遠(yuǎn)程站 1 發(fā)送起始地址為 VB100 長度為 10 個字節(jié)的數(shù)據(jù)
- 遠(yuǎn)程站 2 允許起始地址為 VB50 長度為 100 個字節(jié)的數(shù)據(jù)區(qū)
- 發(fā)送的數(shù)據(jù)在 WDC_RECEIVE 允許的地址區(qū)之內(nèi),從 VB100 開始的 10 個字節(jié)寫入 CPU,發(fā)送請求被告知“完成”。
6GK17061NX003AE0
6GK17061NX003AE1
6GK17061NX003AL0
6GK17061NX081AA0
6GK17061NX082AA0
6GK17061NX633AB0
6GK17061NX643AA0
6GK17061NX643AE0
6GK17061NX713AA0
6GK17061NX713AC0
6GK17061NX803AA0
6GK17061NX803AC0
6GK17111EW081AA0
6GK17135CB003AE0
6GK17135CB003AE1
6GK17135CB003AL0
6GK17135CB003AN0
6GK17135CB003MA0
6GK17135CB081AA0
6GK17135CB633AB0
6GK17135CB643AA0
6GK17135CB643AE0
6GK17135CB713AA0
6GK17135CB803AA0
6GK17135DB003AE0
6GK17135DB003AE1
6GK17135DB003AL0
6GK17135DB003AN0
6GK17135DB003AR8
6GK17135DB003MA0
6GK17135DB633AB0
6GK17135DB643AA0
6GK17135DB643AE0
6GK17135DB713AA0
6GK17135DB803AA0
6GK17135FB003AE0
6GK17135FB003AE1
6GK17135FB003AL0
6GK17135FB003AN0
6GK17135FB003MA0
6GK17135FB633AB0
6GK17135FB643AA0
6GK17135FB643AE0
6GK17135FB713AA0
6GK17160HB003AE0
6GK17160HB003AE1
6GK17160HB003AL0
6GK17160HB003AN0
6GK17160HB003MA0
6GK17160HB081AA0
6GK17160HB081AC0
6GK17160HB082AA0
6GK17160HB082AC0
6GK17160HB633AB0
6GK17160HB633AD0
6GK17160HB643AA0
6GK17160HB643AC0
6GK17160HB643AE0
6GK17160HB703AC0
6GK17160HB713AA0
6GK17160HB713AC0
6GK17160HB803AA0
6GK17160HB803AC0
6GK17161CB003AE0
6GK17161CB003AE1
6GK17161CB003AN0
6GK17161CB003MA0
6GK17161CB081AA0
6GK17161CB082AA0
6GK17161CB633AB0
6GK17161CB643AA0
6GK17161CB643AE0
6GK17161CB713AA0
6GK17161CB803AA0
6GK17161PB003MA0
6GK17161TB003AE0
6GK17161TB003AE1
6GK17161TB003AL0
6GK17161TB003MA0