德阳西门子PLC模块授权代理商
西门子PLC时间中断组织块的功能是什么
S7-400 CPU可以使用的时间中断 OB(OB10~OB17)的个数与CPU的型号有关。绝大多数S7-300 CPU只能使用OB10。
可以设置在某一特定的日期时间产生一次时间中断,也可以设置从设定的日期时间开始,周期性地重复产生中断,例如每分钟、每小时、每天、每周、每月、每年产生一次时间中断。可以用**的SFC28~SFC30设置、取消和时间中断。
为了启动时间中断,用户首先必须设置时间中断的参数,然后再它。可以用组态或编程的方法来启动时间中断。
1. 基于硬件组态的时间中断
要求在到达设置的日期和时间时,用Q4.0自动起动某台设备。用新建项目向导生成一个名为“OB10_1”的项目(见随书光盘中的同名例程),CPU模块的型号为CPU315-2DP。
打开硬件组态工具HW Config(见图4-43),双击机架中的CPU,打开CPU的属性对话框。在“时刻中断”选项卡中,设置执行起动设备的日期和时间,执行的方式为“一次”。用复选框中断,按“确定”按钮结束设置。单击工具栏上的壁按钮,保存和编译组态信息。
在SIMATIC管理器中生成OB10,下面是用语句表编写的OB10的程序,设置的时间到时,将需要起动的设备对应的输出点置位:
打开PLCSIM,生成4的视图对象。下载所有的块和系统数据后,将PLC切换到RUN-P模式。时间中断在PLC暖启动或热启动时被,在PLC启动过程结束之后才能执行。达到设置的日期和时间时,可以看到Q4.0变为1状态。
做实验时应设置比当前的日期时间稍晚一点的日期和时间,以免等待的时间太长。
2. 用 SFC 控制时间中断
除了在硬件组态工具中设置和时间中断之外,也可以在用户程序中调用SFC来设置和时间中断。用新建项目向导生成一个名为“OB10_2”的项目(见随书光盘中的同名例程)。在OB1中调用SFC31“QRY_TINT”来查询时间中断的状态(见图4-44),读取的状态字用MW8保存。
IEC功能FC3“D_TOD_TD”用于合并日期和时间值,它在程序编辑器左边窗口的文件夹“\库\ Standard Library \ IEC Function Blocks”中。首先生成 OB1 的临时局部变量(TEMP)“DTI”,其数据类型为Date_And_Time,“D_TOD_TD”的执行结果用DT1保存。
在I0.0的上升沿,调用SFC28“SET_TINT”和SFC30“ACT_TINT”分别来设置和时间中断 OB10。在 I0.1的上升沿,调用SFC 29“CAN_TINT”来禁止时间中断。
各SFC的参数中的RET_VAL是执行时可能出现的错误代码,为0时无错误。OB_NR 是组织块编号,SFC28“SET_TINT”用来设置时间中断,它的参数SDT是开始产生中断的日期和时间。PERIOD用来设置执行的方式,W#16#0201表示每分钟产生一次时间中断。
浔之漫智控技术(上海)有限公司专注于西门子等