西门子plc的普通定时器的定时精度较差,点击两次10.2对应的小方框,OB40被允许执行如果需要高精度的翅时,可以使用西门子plcs7300CPU316延时中断组织块OB。用SFC2“SRT_DINT”启动延时中断, 延迟时间为1~60000ms,间到时触发中断, 调用SFC 32指定的OB。CPU316及以下的CPU只能使用OB 20。
1、硬件组态
用新建项目向导生成一个名为“OB 20”的项目,西门子plcCPU模快的型号为CPU316-2DP打开硬件组态工具HW Config, 将硬件目录中名为I4xNAMUR, Ex”的4点DI模块插入4号槽,自动分配的DI模块的字节地址为0.双击该模块,打开它的属性对话框(见图)。用复选框启用硬件中断,设置10.0产生上升沿中断。
2.程序设计
在OBI中调川SFC 34“QRY_DINT”米查询延时中断的状态字STATUS(见图) ,查询的结果保存在MW 8, 其低字节为MB 9.OB_NR是延时中断OB的编号, RET_VAL为SFC执行时的错误代码,为0时无错误。在延时过程中, 可以用10.1调用SFC 33“C AND INT”米取消延时中断过程。在的上升沿触发硬件中断, CPU调用OB 40, 在OB 40中调用SFC32“SRT_DINT”启动延时中断(见图) , 延时时间为10s。从LD 12开始的8B临时局剖变量是调用OB 40的日期时间值, 用MOVE指令保存其中的后4个字节LD 16。10S后延时时间到,CPU调用SFC32指定的OB20。在OB20中用MOVE指令保存调用OB20的日期时间值后4个字节。同时将Q4.0置位,并通过PQB4立即输出。可以用I0.2将Q4.0复位。
仿真实验
打开仿真软件PLCSIM,将程序和组态软件信息下载到仿真PLC.切换到RUN-P模式是,M9.4马上变为1状态,表示已经下载到CPU中。
执行PLCSIM的菜单命令“Execute”-“Trigger Error OB”-“Hardware Interrupt(OB40-OB47)”,在“Hardware Interrupt OB(40-47)”对话框中,输入模块的起始字符0和模块内的位置地址0.单击“Apply”按钮,I0.0产生硬件中断,CPU调用OB40,M9.2变为1状态,表示正在执行SFC32启动的时间延时。
在SIMATIC管理器中生成变量表,单击工具栏上的监视按钮,启动监控功能。MD20是在OB40中读出的BCD格式的时间值,后1位为星期的代码,5表示星期4,10s的延时时间到时,CPU调用OB20,M9.2变成0状态,表示延时结束时。OB20中的程序将Q4.0置为1状态,并且用MOVE指令立即写入DO模块。可以用I0.2复位Q4.0。在OB20中保存在MD4的当前值为25分19秒643毫秒,与OB40中保存的时间值相减,可知定时精度是相当高的。
在延时过程中用仿真软件将I0.1置位1,M9.2变为00状态,表示OB20的延时被取消,定时时间到不会调用OB20
总结:以上内容就是小编为大家介绍的西门子plcs7300CPU316延时中断组织块的应用,本公司是西门子plc代理商,如果您有这方面的任何需求,欢迎大家咨询容感电气,我们将给您真诚的服务。