您现在的位置是:首页 > PLC技术 > PLC技术

S7-300 PLC日期时间中断组织块

来源:艾特贸易2017-06-04

简介日期时间中断组织块包括 OB10~OB17 , S7-300 CPU 除 CPU318 可以使用 OB10 和 OB11 外,其余 CPU 只能使用 OB10 (局域变量表见表 5-2 )。用户通过 STEP 7 编程,可在特定日期、时间(如每分钟、每

    日期时间中断组织块包括OB10~OB17S7-300 CPUCPU318可以使用OB10OB11外,其余CPU只能使用OB10(局域变量表见表5-2)。用户通过STEP 7编程,可在特定日期、时间(如每分钟、每小时、每天、每周、每月、每年)执行一次中断操作,也可以从设定的日期时间开始,周期性地重复执行中断操作。8个日期时间中断具有相同的优先级,CPU按启动事件发生顺序进行处理。使用SFC28~30取消、重新设置或激活日期时间中断。只有中断参数设置正确且已编程,日期时间中断才能被执行。    1.设置和启动日期时间中断    为了启动日期时间中断,首先要设置中断参数,然后再激活它。可以通过3种方法启动日期时间中断。    1)调用系统功能SFC28SET_TINI”设置参数,调用SFC30ACT_TINI”激活日期时间中断。    2)STEP7HW Config中,双击CPU,在CPU属性对话框中,单击Time-Of-Day Interrupts选项卡,设置要产生中断的日期和时间,选中Active(激活)以激活多选框,在Execution列表框中选择中断执行方式(不执行、1次、每分钟、每小时、每天、、每周、每月、每年)。完成设置后安装到CPU中,可以实现日期时间中断的自动启动。    3)STEP7HW Config中,双击CPU,在CPU属性对话框中,单击Time-Of-Day Interrupts选项卡,设置要产生中断的日期和时间,不选中Active(激活),而是在用户程序中调用SFC30ACT_TINI”激活日期时间中断。    5-2    OB10的局域变量表
OB10的局域变量表
    2.查询日期时间中断    通过调用系统功能SFC31QRY_TINI”或者查询中断状态表,可以查询设置了哪些中断参数,以及这些中断发生的时间。SFC31查询的结果保存在输出状态字节中,字节中各位含义如表5-3所示。    5-3   SFC31状态字节各位含义
SFC31状态字节各位含义
    3.禁止日期时间中断    通过调用系统功能SFC29CAN-TINI”,可以禁止日期时间中断。用SFC28SET TINT”重新设置那些被禁止的日期时间中断,用SFC30ACT_TINT”重新激活日期时间中断。    在调用SFC28时,如果参数“OB10_PERIOD_EXE”为十六进制数W#16 #0000W#16#0201, W#16#0401, W#16#1001, W#16#1201, W#16#1401, W#16#1801W#16 #2001,分别表示执行一次、每分钟、每小时、每天、每周、每月、每年和月末执行一次。    4.影响OB10执行的因素    因为日期时间中断只在规定的时间间隔发生,某些条件会在程序执行时影响OB的运行。表5-4列出了影响日期时间中断运行的可能因素。    5-4    影响日期时间中断运行的可能因素
影响日期时间中断运行的可能因素
    [5-1] 20093141325分起,启动日期时间中断OB10,每分钟中断一次使MW10010    方法1    使用设置方法中的方法2,进入CPU属性对话框,选择Time-of-Day Interrups选项卡(如图5-2所示)进行设置,设置完成并安装后中断自动启动并每隔1分钟执行一次OB10,完成对MW10010功能。    OB10程序如下:    OB10 :    L    MW100     +   10     T    MW100
通过属性对话框设置和启动中断
    5-2    通过属性对话框设置和启动中断    方法2    使用设置方法中的方法1,通过SFC28SFC30设置和激活中断,并通过I1.0控制中断启动,I1.1控制SFC29的调用,以禁止中断,程序如下:    OB1中的相应程序为: