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