詳細介紹
西門子6FC5357-0BB35-0AB0
6FC5357-0BB35-0AB0
SINUMERIK 840D/DE CNC 硬件 NCU 573.5B 1.4 GHz,128 MB 不帶系統(tǒng)軟件 存儲器:NC 3MB,PLC 128KB PROFIBUS-DP 準(zhǔn)備
問題:
如何為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)延時時間到達時,時間控制中斷事件就會調(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)對其進行處理。因此對于中斷處理始終只能有 一個程序是激活的。如果一個中斷程序正在被處理,那么它就會首先被處理完畢。它不會被后面出現(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ù)進行時它們會被復(fù)位。
隊列 | 特殊標(biāo)志 |
通訊中斷的隊列溢出 | SM 4.0 |
I/O中斷的隊列溢出 | SM 4.1 |
時間控制中斷的隊列溢出 | SM 4.2 |
問題:
在自動重啟后,為什么CPU無法正常啟動,反而停止并出現(xiàn)出錯信息“QVZ”或“PEU”?在 USTACK中常常不顯示更多有用信息。
解答:
如果各自帶有電源的幾個系統(tǒng)(中央控制器和擴展單元的分布式連接)連接到同一電壓上并且同時開關(guān)這些系統(tǒng),則 會發(fā)生諸如中央控制器無法自動啟動(QVZ,PEU)的現(xiàn)象。
根據(jù)裝載的不同系統(tǒng),在不同時間將系統(tǒng)電源切換到內(nèi)置5V系統(tǒng)電壓。這對整個系統(tǒng)都有影響,在設(shè)計和編程時要注意。本 文中開/關(guān)狀態(tài)下的影響是不同的,需要分別考慮。
I. 關(guān)狀態(tài)
- 如果中央控制器比擴展單元(5V系統(tǒng)電壓)早死機,則不會發(fā)生問題。在該情況下CPU因受電源故障(NAU)影響而停止運行,在 電壓恢復(fù)后可以重新運行。
- 在擴展單元比中央控制器早死機的情況下,CPU能夠檢測并保存來自分布式擴展單元的錯誤。這 些錯誤可以是無法確定外圍設(shè)備(PEU)或是確認延遲(QVZ)。鑒于安全考慮,SIMATIC S5系統(tǒng)在這種情況下表現(xiàn)為:在供電恢復(fù)后,C PU回到電源故障(NAU)前所處的模式。
例如,由于CPU在電源故障之前快速保存了錯誤(PEU或QVZ),所以CPU仍保持停止。鑒于安全考慮,用 戶必須通過打開電源或是重啟CPU對已辨識的錯誤進行確認。如果未對OB23/24進行編程或在OB23/24中對停止進行編程,則 S5-115U系列的CPU將會停止,這是該系列CPU的系統(tǒng)屬性。
補救措施:
通過分布式接口(可通過軟件評估的CPU 945)可以關(guān)閉PEU信號。在 由QVZ而不是PEU錯誤導(dǎo)致CPU停止的情況下,可以通過OB23/24使用軟件來抑制確認延遲。但缺點是,例如無法再辨識出 一個草擬的或有錯誤的CPU模塊(“實際QVZ”)。為區(qū)分“實際QVZ”和由電源故障產(chǎn)生的QVZ,特提出以下解決方法:
- 創(chuàng)建一個塊并在OB 23/24中打開它。
- 在塊中編寫時間環(huán)的程序。環(huán)長度根據(jù)設(shè)備和經(jīng)驗值來確定時間(建議為:100...500ms)。
- 在該時間環(huán)(比如停止)結(jié)束后,對“實際QVZ"結(jié)果進行編程。
功能塊中的程序?qū)嵗?br />西門子6FC5357-0BB35-0AB0
:A | F 0.0 | ||
:AN | F 0.0 | ||
:SP | T x | 用RLO=0觸發(fā)定時器x | |
: | |||
:O | F 0.0 | ||
:ON | F 0.0 | ||
:L | KT 10.0 | 時間環(huán)=100毫秒 | |
:SP | T x | 用RLO=1啟動定時器x | |
TIME | : | ||
:A | T x | ||
:JC | = TIME | ||
:STS | 停止,作為對“實際QVZ”的 響應(yīng) | ||
:BE |
注意事項:
- 時間環(huán)>關(guān)狀態(tài)時系統(tǒng)之間的時間差異。
- 需要重新觸發(fā)循環(huán)時間。
- 應(yīng)用臨界時間重新設(shè)置輸出。
程序描述
在(由電源故障或“實際QVZ”)已辨識QVZ的情況下,CPU插入到OB23/24并處理時間環(huán)。& nbsp;
在電源故障情況下,甚至在處理時間環(huán)(正常程序處理)時CPU也會停止。不記錄其它錯誤,并在供電恢復(fù)后CPU開始運行。
在“實際QVZ”的情況下,在結(jié)束該時間環(huán)后處理下一個STEP 5操作/序列。
在此可以對全部“實際QVZ”(比如停止?fàn)顟B(tài))響應(yīng)進行編程。
II. 開狀態(tài)
在開狀態(tài)下,需要注意的是:CPU檢測到所有外圍設(shè)置的數(shù)字設(shè)定并將它保存在一個控制扇區(qū)中。在 循環(huán)程序中,過程映像更新時只讀取和寫入外圍設(shè)置。如果擴展單元比中央控制器要早連到電源上,就不會發(fā)生問題。
補救措施:
有了S5-115U中央模塊(CPU版本B),“可編程啟動延遲”( 參見S5-115U Manual Chapter 2.5.1 Start-up Behaviour)就是可行的。這種情況下,在 終止啟動延遲后讀取外圍設(shè)置。此時如果已經(jīng)讀取了控制扇區(qū),則OB21/22中的延遲就不起作用了。
根據(jù)該方法,無需任何硬件花費就可以消除上面提到的錯誤。當(dāng)電源恢復(fù)后,CPU將在(也應(yīng)該在)無錯模式下運行。
1,【北京】2,【天津】
3,【上?!?/span>
4,【重慶】
二、【自治區(qū)】1,【新疆】:2地級市——烏魯木齊、克拉瑪依19縣級市——石河子、阿拉爾市、圖木舒克、五家渠、哈密、吐魯番、阿克蘇、喀什、和田、伊寧、塔城、阿勒泰、奎屯、博樂、昌吉、阜康、庫爾勒、阿圖什、烏蘇
2,【西藏】:1地級市-
1縣級市-日喀則
3,【寧夏】:5地級市——銀川、石嘴山、吳忠、固原、中衛(wèi)
2縣級市——青銅峽市、靈武市
4,【內(nèi)蒙古】:9地級市——呼和浩特、包頭、烏海、赤峰、通遼、鄂爾多斯、呼倫貝爾、巴彥淖爾、烏蘭察布11縣級市——霍林郭勒市、滿洲里市、牙克石市、扎蘭屯市、根河市、額爾古納市、豐鎮(zhèn)市、錫林浩特市、二連浩特市、烏蘭浩特市、阿爾山市
5,【廣西】:14地級市——南寧、柳州、桂林、梧州、北海、崇左、來賓、賀州、玉林、百色、河池、欽州、防城港、貴港
7縣級市——岑溪、憑祥、合山、北流、宜州、東興、桂平
三、【省級行政單位】
1,【黑龍江】13地級市——哈爾濱、大慶、齊齊哈爾、佳木斯、雞西、鶴崗、雙鴨山、牡丹江、伊春、七臺河、黑河、綏化
19縣級市——五常、雙城、尚志、納河、虎林、密山、鐵力、同江、富錦、綏芬河、海林、寧安、穆林、北安、五大連池、肇東、海倫、安達
2,【吉林】:8地級市——長春、吉林、四平、遼源、通化、白山、松原、白城
20縣級市——九臺市、榆樹市、德惠市、舒蘭市、樺甸市、蛟河市、磐石市、公主嶺市、雙遼市、梅河口市、集安市、臨江市、大安市、洮南市、延吉市、圖們市、敦化市、龍井市、琿春市、和龍市
3,【遼寧】:14地級市——沈陽、大連、鞍山、撫順、本溪、丹東、錦州、營口、阜新、遼陽、盤錦、鐵嶺、朝陽、葫蘆島
17縣級市——新民、瓦房店、普蘭、莊河、海城、東港、鳳城、凌海、北鎮(zhèn)、大石橋、蓋州、燈塔、調(diào)兵山、開原、凌源、北票、興城
4,【河北】:11地級市——石家莊、唐山、邯鄲、秦皇島、保定、張家口、承德、廊坊、滄州、衡水、邢臺
22縣級市——辛集市、藁城市、晉州市、新樂市、鹿泉市、遵化市、遷安市、武安市、南宮市、沙河市、涿州市、定州市、安國市、高碑店市、泊頭市、任丘市、黃驊市、河間市、霸州市、三河市、冀州市、深州市
5,【山東】:17地級市——濟南、青島、淄博、棗莊、東營、煙臺、濰坊、濟寧、泰安、威海、日照、萊蕪、臨沂、德州、聊城、菏澤、濱州
28縣級市——章丘、膠南、膠州、平度、萊西、即墨、滕州、龍口、萊陽、萊州、招遠、蓬萊、棲霞、海陽、青州、諸城、安丘、高密、昌邑、兗州、曲阜、鄒城、乳山、文登、榮成、樂陵、臨清、禹城
6,【江蘇】:13地級市——南京、鎮(zhèn)江、常州、無錫、蘇州、徐州、連云港、淮安、鹽城、揚州、泰州、南通、宿遷
27縣級市——江陰市、宜興市、邳州市、新沂市、金壇市、溧陽市、常熟市、張家港市、太倉市、昆山市、吳江市、如皋市、通州市、海門市、啟東市、東臺市、大豐市、高郵市、江都市、儀征市、丹陽市、揚中市、句容市、泰興市、姜堰市、靖江市、興化市
7,【安徽】:17地級市——合肥、蚌埠、蕪湖、淮南、亳州、阜陽、淮北、宿州、滁州、安慶、巢湖、馬鞍山、宣城、黃山、池州、銅陵
5縣級市——界首、天長、明光、桐城、寧國
8,【浙江】:11地級市——杭州、嘉興、湖州、寧波、金華、溫州、麗水、紹興、衢州、舟山、臺州
22縣級市——建德市、富陽市、臨安市、余姚市、慈溪市、奉化市、瑞安市、樂清市、海寧市、平湖市、桐鄉(xiāng)市、諸暨市、上虞市、嵊州市、蘭溪市、義烏市、東陽市、永康市、江山市、臨海市、溫嶺市、龍泉市
9,【福建】:9地級市——福州、廈門、泉州、三明、南平、漳州、莆田、寧德、龍巖
14縣級市——福清市、長樂市、永安市、石獅市、晉江市、南安市、龍海市、邵武市、武夷山、建甌市、建陽市、漳平市、福安市、福鼎市
10,【廣東】:21地級市——廣州、深圳、汕頭、惠州、珠海、揭陽、佛山、河源、陽江、茂名、湛江、梅州、肇慶、韶關(guān)、潮州、東莞、中山、清遠、江門、汕尾、云浮
22縣級市——增城市、從化市、樂昌市、南雄市、臺山市、開平市、鶴山市、恩平市、廉江市、雷州市 吳川市、高州市、化州市、高要市、四會市、興寧市、陸豐市、陽春市、英德市、連州市、普寧市、羅定市
11,【海南】:2地級市——??凇⑷齺?/span>
6縣級市——瓊海、文昌、萬寧、五指山、儋州、東方
12,【云南】:8地級市——昆明、曲靖、玉溪、保山、昭通、麗江、普洱、臨滄
9縣級市——安寧市、宣威市、個舊市、開遠市、景洪市、楚雄市、大理市、潞西市、瑞麗市
13,【貴州】:4地級市——貴陽、六盤水、遵義、安順
9縣級市——清鎮(zhèn)市、赤水市、仁懷市、銅仁市、畢節(jié)市、興義市、凱里市、都勻市、福泉市
14,【四川】:18地級市——成都、綿陽、德陽、廣元、自貢、攀枝花、樂山、南充、內(nèi)江、遂寧、廣安、瀘州、達州、眉山、宜賓、雅安、資陽
14縣級市——都江堰市、彭州市、邛崍市、崇州市、廣漢市、什邡市、綿竹市、江油市、峨眉山市、閬中市、華鎣市、萬源市、簡陽市、西昌市
15,【湖南】:13地級市——長沙、株洲、湘潭、衡陽、岳陽、郴州、永州、邵陽、懷化、常德、益陽、張家界、婁底
16縣級市——瀏陽市、醴陵市、湘鄉(xiāng)市、韶山市、耒陽市、常寧市、武岡市、臨湘市、汨羅市、津市市、沅江市、資興市、洪江市、冷水江市、漣源市、吉首市
16,【湖北】:12地級市——武漢、襄樊、宜昌、黃石、鄂州、隨州、荊州、荊門、十堰、孝感、黃岡、咸寧
24縣級市——大冶市、丹江口市、洪湖市、石首市、松滋市、宜都市、當(dāng)陽市、枝江市、老河口市、棗陽市、宜城市、鐘祥市、應(yīng)城市、安陸市、漢川市、麻城市、武穴市、赤壁市、廣水市、仙桃市、天門市、潛江市、恩施市、利川市
17,【河南】:17地級市——鄭州、洛陽、開封、漯河、安陽、新鄉(xiāng)、周口、三門峽、焦作、平頂山、信陽、南陽、鶴壁、濮陽、許昌、商丘、駐馬店
21縣級市——鞏義市、新鄭市、新密市、登封市、滎陽市、偃師市、汝州市、舞鋼市、林州市、衛(wèi)輝市、輝縣市、沁陽市、孟州市、禹州市、長葛市、義馬市、靈寶市、鄧州市、永城市、項城市、濟源市
18,【山西】:11地級市——太原、大同、忻州、陽泉、長治、晉城、朔州、晉中、運城、臨汾、呂梁
11縣級市——古交、潞城、高平、介休、永濟、河津、原平、侯馬、霍州、孝義、汾陽
19,【陜西】:10地級市——西安、咸陽、銅川、延安、寶雞、渭南、漢中、安康、商洛、榆林
3縣級市——興平市、韓城市、華陰市
20,【甘肅】:12地級市——蘭州、天水、平?jīng)?、酒泉、嘉峪關(guān)、金昌、白銀、武威、張掖、慶陽、定西、隴南
4縣級市——玉門市、敦煌市、臨夏市、合作市
21,【青海】:1地級市——西寧
2縣級市——格爾木、德令哈
22,【江西】:11地級市——南昌、九江、贛州、吉安、鷹潭、上饒、萍鄉(xiāng)、景德鎮(zhèn)、新余、宜春、撫州