西门子PLC经销模块代理商
国际化工业自动化科技产品供应商,西门子G120、G120C V20 变频器; S120 V90 伺服控制系统;6EP电源;电线;电缆;
网络交换机;工控机等工业自动化的设计、技术开发、项目选型安装调试等相关服务是专业从事工业自动化控制系统、机电一体化装备和信息化软件系统
集成和硬件维护服务的综合性企业。与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们
的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销
售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。其产品范围包括西门子S7-SMART200、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。西门子授权代理商、西门子一级代理商 西门子PLC模块代理商﹐西门子模块代理商供应全国范围:
与此同时,我们还提供。
西门子中国授权代理商—— 浔之漫智控技术(上海)有限公司,本公司坐落于松江工业区西部科技园,西边和全球zhuming芯片制造商台积电毗邻,
东边是松江大学城,向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等
交通主干道将松江工业区与上海市内外连接,交通十分便利。
目前,浔之漫智控技术(上海)有限公司将产品布局于中、高端自动化科技产品领域,
PLC模块S7-200、S7-1200、S7-300、S7-400、ET200分布式I/O等
HMI触摸屏、SITOP电源、6GK网络产品、ET200分布式I/O SIEMENS 驱动产品MM系列变频器、G110 G120变频器、直流调速器、电线电缆
用于处理时间中断的 SFC
9.1 处理时间中断
定义
时间中断将导致操作系统调用一个时间中断 OB (OB10 到 OB17)。
调用条件
必须满足下列条件,操作系统才能够调用时间中断 OB:
必须使用下列工具为时间中断 OB 分配了参数 (启动日期和时间、执行)
- STEP 7 或
- SFC 28“SET_TINT”(在用户程序中)。
必须使用下列工具激活时间中断 OB
- STEP 7 或
- SFC 30“ACT_TINT”(在用户程序中)。
不得使用 STEP 7 取消选择时间中断 OB。
时间中断 OB 必须存在于 CPU 中。
如果通过 SFC 30“ACT_TINT”设置中断,且指定 OB 执行仅一次,则当前时间必须尚未超过启动
日期和时间。如果选择定期执行,则将在下一个周期结束 (启动时间 + 指定周期时间的倍数) 时调
用时间中断 OB。
提示
可以使用 STEP 7 为时间中断分配参数,然后在用户程序 (SFC 30“ACT_TINT”) 中激活中断。
SFC 28 到 SFC 31 的用途
以下各部分所介绍的系统功能 SFC 28 到 SFC 31 的用途如下:
设置时间中断 (SFC 28“SET_TINT”)SFC 28 到 31 的特征
状况与影响...
下表列出一些不同的状况,并说明它们对时间中断的影响。
如果... 那么...
设置时间中断 (通过调用 SFC 28;SET_TINT) 将取消当前的时间中断。
取消时间中断 (通过调用 SFC 29;CAN_TINT) 将清除启动日期和时间。必须重新设置时间中断,然后才能将
其激活。
调用不存在的时间中断 OB。 将自动生成优先级错误,这意味着操作系统将调用 OB85。
如果 OB85 不存在,CPU 将切换到 STOP 模式。
如果将实时时钟同步或向前调整时钟 如果因为向前调整了时间而跳过启动日期/时间:
操作系统将调用 OB801
。
调用 OB80 之后,操作系统还将调用未在 OB802 中操作
的每个被跳过的时间中断 OB (调用一次,无论跳过多少
个周期)。
如果 OB80 不存在,CPU 将切换到 STOP 模式。
如果将实时时钟同步或向后调整时钟 S7-400-CPU 和 CPU 318:
如果在时钟向后调整的这段时间里已调用时间中断 OB,则在
第二次到达该时间时不会再调用它们。
S7-300-CPU:执行所有受影响的时间中断 OB。
1) OB80包含编码的启动事件信息,用以指示哪些时间中断OB因向前调整了时钟而无法调用。启动事件信息中的时
间对应于向前调整的时间。
2) 在跳过后被激活的时间中断的启动事件信息中的时间对应于第一个被跳过的时间中断的启动时间。
暖启动或冷启动
暖启动或冷启动过程中,用户程序中通过 SFC 指定的所有时间中断设置均将被清除。
然后,使用 STEP 7 设置间中断 OB
下表列出了“执行”参数的不同影响。可以通过 STEP 7 或 SFC 28“SET_TINT”设置此参数 (输入参
数 PERIOD)。
时间中断 OB 的执行 响应
无
(只能通过 STEP 7 设置)
即使 CPU 中存在时间中断 OB,也会不执行。
可以在用户程序中使用 SFC 28“SET_TINT”重新分配参数 (设置时间中断)。
单次 调用时间中断 OB 后,将取消时间中断。然后,可以重新设置和激活此中断。
定期
(每分钟、每小时、每天、每周、
每月、每年)
如果激活中断时启动日期和时间已过,则时间中断 OB 将在下一可能点
(“启动日期/时间 + 所选周期的倍数”) 上中断循环程序。
在极少数情况下,当再次调用时间中断 OB 时,其处理可能尚未完成。
结果:
时间错误 (操作系统将调用 OB80;如果 OB80 不存在,则 CPU 将切换
到 STOP 模式)。
将在以后执行时间中断 OB。使用 SFC 28“SET_TINT”设置时间中断
描述
通过 SFC 28“SET_TINT”(设置时间中断),可以设置时间中断组织块的启动日期和时间。将忽略指定
的启动时间的秒和毫秒值,并将其设置为 0。
参数 声明 数据类型 存储区 描述
OB_NR INPUT INT I、Q、M、D、L、
常数
在时间 SDT + PERIOD 的倍数处启动的 OB 的编
号 (OB10 到 OB17)。
SDT INPUT DT D、L、常数 启动日期和时间:将忽略指定的启动时间的秒和毫
秒值 ,并将其设置为 0。
如果要设置每月启动时间中断 OB,则只能使用日
期 1、2、...28 号作为启动日期。
PERIOD INPUT WORD I、Q、M、D、L、
常数
从启动点 SDT 开始的周期:
W#16#0000 = 一次
W#16#0201 = 每分钟
W#16#0401 = 每小时
W#16#1001 = 每日
W#16#1202 = 每周
W#16#1401 = 每月
W#16#1801 = 每年
W#16#2001 = 月末
RET_VAL OUTPUT INT I、Q、M、D、L 如果在功能处于激活状态时出错,则 RET_VAL 的
实际参数将包含错误代码。
故障信息
错误代码 (W#16#...) 解释
0000 未出错
8090 不正确的参数 OB_NR
8091 不正确的参数 SDT
8092 不正确的参数 PERIOD
80A1 设置的启动时间已过。(只有在 PERIOD= W#16#0000 时才出现该错误代码。)
8xyy 一般错误信息,请参见使用输出参数 RET_VAL 判断故障数据类型 存储区 描述
OB_NR INPUT INT I、Q、M、D、L、
常数
OB 的编号,将在其中取消启动日期和时间
(OB10 到 OB17)。
RET_VAL OUTPUT INT I、Q、M、D、L 如果在功能处于激活状态时出错,则 RET_VAL
的实际参数将包含错误代码。
故障信息
错误代码 (W#16#...) 解释
0000 未产生故障。
8090 不正确的参数 OB_NR
80A0 没有为时间中断 OB 指定启动日期/时间
8xyy 一般错误信息,请参见使用输出参数 RET_VAL 判断故障SFC 30“ACT_TINT”(激活时间中断),可以激活一个时间中断组织块。
参数 声明 数据类型 存储区 描述
OB_NR INPUT INT I、Q、M、D、L、
常数
将激活的 OB 的编号 (OB10 到 OB17)。
RET_VAL OUTPUT INT I、Q、M、D、L 如果在功能处于激活状态时出错,则 RET_VAL
的实际参数将包含错误代码。
故障信息
错误代码 (W#16#...) 解释
0000 未产生故障。
8090 不正确的参数 OB_NR。
80A0 没有为相应的时间中断 OB 设置启动日期/时间。
80A1 激活的时间已过。只有当选择“执行 = 一次”时才会出现此错误。用 SFC 31“”查询时间中断
描述
使用系统功能 SFC 31“”(查询时间中断),可以在输出参数 STATUS 上显示时间中断组织块
的状态。
参数 声明 数据类型 存储区 描述
OB_NR INPUT INT I、Q、M、D、L、
常数
将被查询状态的 OB 的编号 (OB10 到 OB17)。
RET_VAL OUTPUT INT I、Q、M、D、L 如果在功能处于激活状态时出错,则 RET_VAL
的实际参数将包含错误代码。
STATUS OUTPUT WORD I、Q、M、D、L 时间中断的状态;
参见下表。
输出参数 STATUS
注意
如果 RET_VAL 包含非零值,则不得判断 STATUS 状态。
0 =0:CPU 处于 RUN 模式。
=1:CPU 正在启动。
1 =0:中断已启用。
=1:中断已通过调用 SFC39“DIS_IRT”被禁用。
2 =0:中断未激活或已过期。
=1:中断已激活。
3 始终为 0
4 =0:编号为 OB_NR 的 OB 不存在处理延时中断
定义
调用 SFC 32“SRT_DINT”后,操作系统将在指定的延迟时间过去后生成一个中断,也就是说,调用
所选择的延时中断 OB。此中断被称为延时中断。
调用条件
必须满足下列条件,操作系统才能调用延时中断 OB:
必须通过 SFC 32“SRT_DINT”启动延时中断 OB。
不得使用 STEP 7 取消选择延时中断 OB。
延时中断 OB 必须存在于 CPU 中。
SFC 32 到 SFC 34 的用途
以下各部分所介绍的系统功能 SFC 32 到 SFC 34 的用途如下:
启动延时中断 (SFC 32“SRT_DINT”)
取消延时中断 (SFC 33“CAN_DINT”)况与影响...
下表列出了一些不同状况,并说明了它们对延时中断的影响。
如果... 且... 那么...
该延时中断已经启动。 将重写延迟时间,并重新启动延时
中断。
在调用时延时中断 OB 不存在。 操作系统将生成优先级错误
(调用 OB85)。
如果 OB85 不存在,CPU 将切换到
STOP 模式。
延时中断被启动 (通过调用
SFC 32“SRT_DINT”)。
CPU 切换为 RUN 模式前,已在启动
OB 中启动中断且延迟时间已过。
将延迟对延时中断 OB 的调用,直到
CPU 处于 RUN 模式。
延迟时间已过。 先前启动的延时中断 OB 仍在执行。 操作系统将生成时间错误 (调用
OB80)。如果 OB80 不存在,CPU 将
切换到 STOP 模式。
暖启动和冷启动
暖启动或冷启动期间,用户程序中使用 SFC 指定的所有延时中断设置均将被清除。
在启动 OB 中启动
可以在启动 OB 中启动延时中断。要调用延时中断 OB,必须满足下列两个条件:
延迟时间必须已过。
CPU 必须处于 RUN 模式。
如果延迟时间已过而 CPU 未处于 RUN 模式,则延时中断 OB 调用将被延迟,直到 CPU 处于 RUN 模式。
然后,将在执行 OB1 中的第一条指令前调用延时中断 OB。使用 SFC 32“SRT_DINT”启动延时中断
描述
通过 SFC 32“SRT_DINT”(启动延时中断),可以在延迟时间过去 (参数 DTIME) 后立即启动调用延时
中断组织块的延时中断。
使用 SIGN 参数,可以输入用于标识延时中断开始的标识符。执行指定的 OB 时,DTIME 和 SIGN 值将
再次显示在该 OB 的启动事件信息中。
参数 声明 数据类型 存储区 描述
OB_NR INPUT INT I、Q、M、D、L、
常数
将在延时后启动的OB的编号 (OB20到OB23)。
DTIME INPUT TIME I、Q、M、D、L、
常数
延时值 (1 到 60000 毫秒)
要实现更长时间的延时,例如,可以通过在延时
中断 OB 中使用计数器来实现。
SIGN INPUT WORD I、Q、M、D、L、
常数
调用延时中断 OB 时将显示在启动事件信息中的
标识符。
RET_VAL OUTPUT INT I、Q、M、D、L 如果在系统功能处于激活状态时出错,则
RET_VAL 的实际参数将包含错误代码。
精度
只要没有中断事件延迟该调用,调用 SFC 32“SRT_DINT”和启动延时中断 OB 之间的时间最多比所选
时间少一毫秒。
故障信息
错误代码 (W#16#...) 解释
0000 未产生故障。
8090 不正确的参数 OB_NR
8091 不正确的参数 DTIME
8xyy 一般错误信息,请参见使用输出参数 RET_VAL 判断故障