回复:初始化编程问题?

n次看你的背影

  • 帖子

    2321
  • 精华

    73
  • 被关注

    53

论坛等级:奇侠

注册时间:2008-03-11

普通 普通 如何晋级?

发布于 2008-03-21 19:05:09

0楼

OB100: "Complete Restart";OB101: "Restart";OB102: "Cold Restart"。讲起来是比较复杂了一些,所以你还是去参考一下S7-300/400PLC系统维护手册,用心去理解一下。你没有测试成功的原因可能是因为还没有理解OB100的执行过程,OB100是在事件发生的时候执行一次,事件结束的时候又执行了一次。而你用的延时3ms在OB100里面可能是行不通的,因为OB100并不是每个程序周期都执行,而且OB100执行的时间你是无法把握的。而且你的3ms的延时也太短了,一般情况下OB1执行一个循环需要几十ms,或者上百ms。建议你把下面的程序放到你的OB100,OB101,OB102里面试试看。具体程序如下:
在OB100/OB101/OB102里面的程序:
SET //置位RLO
= M 10.0 //把RLO赋给M10.0;CUP从STOP到RUN,置位初始化标志位
L “常数A” //载入常数A到累加器1
T MW 0 //将累加器1的当前值赋给MW0

在OB1的最后写程序如下:
A M 10.0 //判断初始化标志位是否被复位。
JC M001 //如果初始化标志位没有被复位,那么掉转到M001
L “常数B ” //载入常数B到累加器1
T MW 0 //将累加器1的当前值赋给MW0
JU END //无条节跳转到END
M001:A M 10.0 //判断初始化标志位是否被复位。
R M 10.0 //如果初始化标志位没有被复位,那么复位初始化标志位
END: NOP 0
这段程序表达的意思是:在PLC的CPU从STOP到RUN第一个OB1循环周期将“常数A”赋给MW10,从第二个OB1循环结束前,就一直把常数B赋给MW10。我还不知道你具体的程序,所以你可以先用这段程序试试看。看看能不能满足你的要求。
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。