登录
注册
登录
注册
学院
工具云
项目外包
技术会议
计算公式
资源
资讯
社区
文库
专题
项目
请
登录
后使用快捷导航
没有帐号?
立即注册
社区
›
研发信息&资源
›
研发应用
SIMATIC S7-300 400 为什么循环中断被跳过?
魏冲
/
于 2013-6-6 15:55
/
1
/
685
/
[复制链接]
[只看该作者]
[打印]
[上一主题]
[下一主题]
魏冲
积分
0
精华
0
学分
165
技术分
0
最后登录 2014-3-30
加为好友
发送消息
访问家园
动力与电气工程292
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
分享
淘帖
0
支持
0
反对
0
相关帖子
•
在用flotherm做热设计时,手机主板里面的含铜量与导热系数存在什么样的量化关系?还是只有经验值?
举报
使用道具
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
|
回复
共 1 个关于本帖的回复 最后回复于 2013-6-6 16:02
姬晓军
积分
0
精华
0
学分
234
技术分
0
最后登录 2014-3-30
加为好友
发送消息
访问家园
个人资料
主题列表
发消息
沙发
姬晓军
新来的
发表于 2013-6-6 16:02:13
|
只看该作者
中断程序的长度如果在处理某个循环中断时,又来了一个相同的循环中断,此时操作系统会调用OB80,存储这个没有执行的循环中断并且在下一个合适的时候执行此循环中断(如果没有下载时间错误处理组织块(OB80),则CPU会切换到停机STOP状态)。所以如果中断程序持续的时间与调用间隔一样长-由于中断程序不断变化-偶尔情况下循环中断OB执行的时间会大于调用间隔时间。当中断程序(由随后应该执行的循环中断触发)由于处理时间过长而覆盖了随后的两个循环中断时,就存在丢失一个循环中断的危险。由于操作系统只存储一个循环中断,所以在这种情况下就会丢失一个中断。优先级和相位偏移参数设置不当由于当前正在处理另外的循环中断,而这时又调用一个循环中断,该循环中断就会被跳过。使用优先级以及相位偏移可以调整程序处理时间。· 避免在一个优先级内分配多个循环中断处理;· 不要将优先级0分配给要使用的循环中断OB。如果存在其它OB,则不会执行这个循环中断;· 在调用间隔内设置循环中断的相位偏移(互为公倍数关系)禁止循环中断检查是否在循环程序中使用SFC 39“DIS_IRT”禁止了不希望出现的循环中断。在这种情况下,操作系统既不会调用循环中断OB,也不会触发非编程循环中断OB定义的响应过程。即使使用SFC 40“EN_IRT”解除了对循环中断的禁止,也不会立即执行此循环中断。禁止循环中断的事件会影响所有的优先级。此处可以参见这两个SFC的在线帮助。延迟循环中断检查是否在循环程序中使用SFC 41“DIS_AIRT”延迟了不希望出现的循环中断或者中断驱动的程序,结果造成这些中断或者程序丢失。使用SFC 41“DIS_AIRT”,可以延迟处理优先级高于当前OB的循环中断OB。可以在OB中多次调用SFC 41。操作系统会计算调用SFC 41的次数,处理延迟一直有效,除非使用SFC 42“EN_AIRT”取消使用SFC 41设置的中断延迟,或者直到处理完当前OB为止。此处可以参见这两个SFC的在线帮助。
举报
使用道具
照妖镜
回复
支持
反对
返回列表
B
Color
Image
Link
Quote
Code
Smilies
高级模式
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
发表主题
热门导读
回复
点评
评分
分享
关注我们
快速回复
快速发帖
返回顶部
返回列表
360网站安全检测平台
共 1 个关于本帖的回复 最后回复于 2013-6-6 16:02