回复:请教一个编程问题

n次看你的背影

  • 帖子

    2321
  • 精华

    73
  • 被关注

    53

论坛等级:奇侠

注册时间:2008-03-11

普通 普通 如何晋级?

发布于 2011-04-23 10:11:50

10楼

当然能实现了,这个问题应该不难吧,关键是你的思路问题!我以前就做过类似设备的控制!你可以参考一下我的编程思路:
第一步:建立一个脉冲发生器,脉冲发生器的高电平宽度和低电平宽度可调!(建议:可以用定时器相互触发产生脉冲发生器,作为脉冲源的高电平,作为脉冲源的低电平,改变两个定时器的PT值,脉冲源的高电平和低电平的宽度到你想要的值。可以让这个脉冲源始终在工作。)
第二步:当启动条件不满足时,跳转到这个子程序的Q点的输出位址(jump to output)。
第三步:当启动条件满足时,将这个启动条件与上脉冲源高电平上升沿并计数Cx;如果你有n个电磁阀,那么当Cx=n时,把计数值清零。(电磁阀循环、复归功能)
第四步:判断Cx的值,建立输出指针位。(比如当Cx=1指向1#电磁阀的输出地址[point(y.z)])
第五步:建立输出,将启动条件与上脉冲源高电平与上指针位并赋值到Q[point(y.z)]。

注:脉冲发生器高电平宽度就是电磁阀得电时间,低电平宽度就是电磁阀间隔时间。如果要编写成一个通用的模块,实现在程序中n次调用,脉冲发生器就不能用内部定时器了,因为200的内部定时器不具备全局形参功能,那么脉冲发生器的定时器就只能自己编写了。
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33274条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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