西門子plcs7300CPU316延時中斷組織塊的應(yīng)用
西門子plc的普通定時器的定時精度較差,點(diǎn)擊兩次10.2對應(yīng)的小方框,OB40被允許執(zhí)行如果需要高精度的翅時,可以使用西門子plcs7300CPU316延時中斷組織塊OB。用SFC2“SRT_DINT”啟動延時中斷, 延遲時間為1~60000ms,間到時觸發(fā)中斷, 調(diào)用SFC 32指定的OB。CPU316及以下的CPU只能使用OB 20。
1、硬件組態(tài)
用新建項目向?qū)梢粋€名為“OB 20”的項目,西門子plcCPU模快的型號為CPU316-2DP打開硬件組態(tài)工具HW Config, 將硬件目錄中名為I4xNAMUR, Ex”的4點(diǎn)DI模塊插入4號槽,自動分配的DI模塊的字節(jié)地址為0.雙擊該模塊,打開它的屬性對話框(見圖)。用復(fù)選框啟用硬件中斷,設(shè)置10.0產(chǎn)生上升沿中斷。
2.程序設(shè)計
在OBI中調(diào)川SFC 34“QRY_DINT”米查詢延時中斷的狀態(tài)字STATUS(見圖) ,查詢的結(jié)果保存在MW 8, 其低字節(jié)為MB 9.OB_NR是延時中斷OB的編號, RET_VAL為SFC執(zhí)行時的錯誤代碼,為0時無錯誤。在延時過程中, 可以用10.1調(diào)用SFC 33“C AND INT”米取消延時中斷過程。在的上升沿觸發(fā)硬件中斷, CPU調(diào)用OB 40, 在OB 40中調(diào)用SFC32“SRT_DINT”啟動延時中斷(見圖) , 延時時間為10s。從LD 12開始的8B臨時局剖變量是調(diào)用OB 40的日期時間值, 用MOVE指令保存其中的后4個字節(jié)LD 16。10S后延時時間到,CPU調(diào)用SFC32指定的OB20。在OB20中用MOVE指令保存調(diào)用OB20的日期時間值后4個字節(jié)。同時將Q4.0置位,并通過PQB4立即輸出。可以用I0.2將Q4.0復(fù)位。
仿真實(shí)驗
打開仿真軟件PLCSIM,將程序和組態(tài)軟件信息下載到仿真PLC.切換到RUN-P模式是,M9.4馬上變?yōu)?狀態(tài),表示已經(jīng)下載到CPU中。
執(zhí)行PLCSIM的菜單命令“Execute”-“Trigger Error OB”-“Hardware Interrupt(OB40-OB47)”,在“Hardware Interrupt OB(40-47)”對話框中,輸入模塊的起始字符0和模塊內(nèi)的位置地址0.單擊“Apply”按鈕,I0.0產(chǎn)生硬件中斷,CPU調(diào)用OB40,M9.2變?yōu)?狀態(tài),表示正在執(zhí)行SFC32啟動的時間延時。
在SIMATIC管理器中生成變量表,單擊工具欄上的監(jiān)視按鈕,啟動監(jiān)控功能。MD20是在OB40中讀出的BCD格式的時間值,后1位為星期的代碼,5表示星期4,10s的延時時間到時,CPU調(diào)用OB20,M9.2變成0狀態(tài),表示延時結(jié)束時。OB20中的程序?qū)4.0置為1狀態(tài),并且用MOVE指令立即寫入DO模塊。可以用I0.2復(fù)位Q4.0。在OB20中保存在MD4的當(dāng)前值為25分19秒643毫秒,與OB40中保存的時間值相減,可知定時精度是相當(dāng)高的。
在延時過程中用仿真軟件將I0.1置位1,M9.2變?yōu)?0狀態(tài),表示OB20的延時被取消,定時時間到不會調(diào)用OB20
總結(jié):以上內(nèi)容就是小編為大家介紹的西門子plcs7300CPU316延時中斷組織塊的應(yīng)用,本公司是西門子plc代理商,如果您有這方面的任何需求,歡迎大家咨詢?nèi)莞须姎猓覀儗⒔o您真誠的服務(wù)。
標(biāo)題:西門子plcs7300CPU316延時中斷組織塊的應(yīng)用 地址:http://m.1314899.com.cn/hangye/3922.html