签到有奖
消息提醒
运维工程师专区
官方商城
点击复制链接
关注该帖后,有多人参加探讨会对您通知与提示!
帖子
精华
被关注
论坛等级:侠士
注册时间:2004-06-25
普通 如何晋级?
发布于 2020-12-24 10:37:40
19楼
太感谢啦。
但是你用定时中断的计时不准确呀!我看资料上说用IEC的定时器,时间最准确。
引用3楼详细内容:
用循环中断ob中计数实现定时器功能,比如ob35中,中断周期是1s
timecounter:=timecounter+1;//计时器计时
if timecounter>=timecounter_sp1 then//计时器超过设定值1(30分钟,即1800)后归零重新计时
timecounter:=0;
end_if;
if timecounter"气动阀":=1;else"气动阀":=0;end_if;if timecounter>=timecounter_sp1 and timecounter_sav<=timecounter_sp1 then//计时器第一次大于设定值,则电机选择切换一次 motor_select:=1-motor_select;end_if;timecounter_sav:=timecounter;//保存计时值if timecounter>=timecounter_sp1 then//计时大于10分钟则 if motor_select then//如果motor_select为1,启动电机1,否则启动电机2 motor1:=1; else motor2:=1; end_if;else//如果计时小于设定值(10分钟)则电机1和2都关闭 motor1:=0; motor2:=0;end if;
"气动阀":=1;
else
"气动阀":=0;
if timecounter>=timecounter_sp1 and timecounter_sav<=timecounter_sp1 then//计时器第一次大于设定值,则电机选择切换一次
motor_select:=1-motor_select;
timecounter_sav:=timecounter;//保存计时值
if timecounter>=timecounter_sp1 then//计时大于10分钟则
if motor_select then//如果motor_select为1,启动电机1,否则启动电机2
motor1:=1;
motor2:=1;
else//如果计时小于设定值(10分钟)则电机1和2都关闭
motor1:=0;
motor2:=0;
end if;
用中断定时更准确!
请填写推广理由:
AI 小西智伴登场,7×24 小时权威支援,让技术支持告别等待!
助你技有所长,论有所获
首次发帖探讨工控技术话题 立获新人礼包,100中奖哦! (包含周边、书籍、兑奖西币)
共有10587条技术帖
恭喜,你发布的帖子
快扫描右侧二维码晒一晒吧!
再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!
分享
只看 楼主
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!