回复:步进顺序控制的表驱动法实现

'Razor

西门子1847工业学习平台

  • 帖子

    3208
  • 精华

    41
  • 被关注

    222

论坛等级:至圣

注册时间:2008-03-31

钻石 钻石 如何晋级?

发布于 2017-10-30 16:44:35

10楼

展开查看
以下是引用question在2017-10-30 14:07:08的发言 >9楼

每明白楼主的程序适用场合,

我感觉这类程序用SCL会很方便。

建议楼主用具体的控制任务来讲解会好理解。


谢谢楼主的分享。。

以下是引用唐诗宋瓷在2017-10-28 21:49:45的发言 >楼主:顺序控制有多种方法...

引用楼主详细内容:

顺序控制有多种方法,这里提供一种以数值为处理对象,结合表驱动的理念,进行程序设计。

步进控制系统中,输入通道的值,反馈信号的类型值(上升沿有效还是下降沿有效?),输出通道的值,

分别构建各自对应的三个数组,形成“表”,然后根据现行的“步”号建立索引下标,对上述的表进行寻址操作,将输出通道值表中的值输出到实际输出,根据读取的“反馈信号类型值”,结合表中的“输入通道值”进行计算,并根据计算结果,控制“步”的触发。

控制流程简图如下:


控制主程序如下:




解释一下:

1、以当前输出的“步”数作为对三个表寻址的下标,分别对三个表进行寻址,获得对应的预设置在表中的输入通道值inputValue、反馈信号类型值(ON有效?OFF有效?)feedbackValue、输出通道值outValue;

2、将输出通道值outValue直接输出到实际的输出通道;

3、将输入通道值inputValue结合反馈信号类型值feedbackValue(0:上升沿有效,1:下降沿有效)计算出控制“步”触发的“计算输入值”,当实际的输入通道有输入点发生变化时,判断此时实际的输入通道值与“计算输入值”是否相等,若相等,则说明当前步的动作已经完成;触发下一步。

循环执行1、2、3(小循环),直到总步数完成,完成一个大循环;如果处于“自动工作”模式,会进入下一个大循环。




少即是多
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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