SIMATIC S7PLC處理輸入/輸出中斷的使用方法介紹
概述
本程序適用于SIMATIC S7-212和S7-214的計數器,可以從0計到255,這要取決于輸入10.0的狀態。如果將輸入10.0置為1,則程序減計數;如果將輸入10.0置為0,則程序加計數。
如果輸入10.0的狀態改變,則將立即激活輸入/輸出中斷程序,中斷程序0或1分別將有儲器位M0.0置成1或0。
例圖

程序框圖

程序和注解
本程序是一個輸入/輸出中斷程序的范例,計數器從0計到255。如果輸入10.0為0,則程序加計數;如果輸入10.0為1,則程序減計數。
本程序包括以下三個程序:
Main (主程序) 初始化和計數
INT0 (中斷程序0) 輸入10.0為1時,減計數。
INT1 (中斷程序1) 輸入10.0為0時,加計數。
本程序長度為32個字
//標題:事件中斷
//********主程序*********
//主程序包括初始化程序和計數程序。
//計數器的存儲器標志位M0.0的0或1狀態,決定計數方向為加或減計數。
//當輸入10.0山0變為1時,產生中斷事件0,激活中斷程序0 (INT0)。
//中斷程序0將存儲器位M0.0置成1,導致主程序減計數。
//當輸入10.0山1變為0時,產生中斷事件1,激活中斷程序1 (INT1)。
//中斷程序1將存儲器位M0.0置成0,導致主程序加計數。
//主程序
|
LD
MOVB
ENI
ATCH
ATCH
LDN
AB>=
A
EU
INCW
|
SM0.1
+0, AC0
+0, 0
+1,1
M0.0
16#FE, ACO
SM0.5
AC0
|
//僅首次掃描時,SM0.1才為1,進行以下初始化
//將計數累加器ACO清Oa
//允許中斷。
//輸入10.0為上升沿時激活事件中斷0
//輸入10.0為上升沿時激活事件中斷1
//如果存儲器的標志位M 0.0為0狀態
//且計數累加器ACO的當前計數值小于或等于254
//且0.5秒脈沖
//且上升沿
//那么計算累加器ACO加1
|
|
LD
AB<=
A
EU
DECW
|
M0.0
16#1,AC0
SM0.5
ACO |
//如果存儲器的標志位M 0.0為1狀態
//且計數累加器ACO的當前計數值大于或等于
//且0.5秒脈沖
//且上升沿
//那么計算器累加器ACO減1
|
|
LD
MOVB
MEND
|
SM0.0
AC0, QB0 |
// SM0.0總是1。
//在輸出端00.0至00.7顯示ACO的當前計數值。
//主程序結束。
|
//******中斷程序0******
//事件中斷程序0將存儲器的標志位M0.0置成
//此情況下程序減計數。
//
INT 0 //中斷事件0減計數。
S M0.0,1 //將存儲器的標志位M0.0置成
RETI //中斷程序0結束。
//******中斷程序1******
//事件中斷程序1將存儲器的標志位M 0.0置成Oa
//此情況下程序增計數。
INT 1
R M0.0,1
RETI
//中斷事件1加計數。
//將存儲器的標志位M0.0置成O。
//中斷程序1結束。
請參考SIMATIC S丁EP 7編程參考手冊的6.2節“中斷指令”,為您提供了更多的有關輸入輸出中斷的信息。
本文標簽:SIMATIC S7PLC處理輸入/輸出中斷的使用方法介紹
* 由于無法獲得聯系方式等原因,本網使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《SIMATIC S7PLC處理輸入/輸出中斷的使用方法介紹》相關權利人與機電之家網取得聯系。
關于“SIMATIC S7PLC處理輸入/輸出中斷的使用方法介紹”的更多資訊










