回复:如何写循环判定的SCL语句

已锁定

Zane

版主 西门子1847工业学习平台

  • 帖子

    21062
  • 精华

    399
  • 被关注

    1486

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2023-08-14 17:53:20

12楼

展开查看
以下是引用偶阵雨在2023-08-14 13:49:58的发言 >10楼

老哥,我早上试过FOR语句,发现i会到23然后也不会回0继续循环,因为每个i有自己的对应的位置组,使用不同配方时,位置组的限位也不一样

当我用配方1时,i对应的参数是数组【0】,当我切换配方2时,i对应数组【1】参数,所以要再次循环,只循环一次不够。

这是早上用FOR做的测试,监视值发现i一直是0,(运行完FOR语句后,i是23,后面强制赋值0,想让他重新执行FOR语句发现不行,一直是0)



以下是引用zhangli0在2023-08-14 10:24:27的发言 >8楼:你程序需要22个扫描...

引用8楼详细内容:

你程序需要22个扫描周期才能处理完你的数据。for循环一个扫描周期就处理完了。你这不需要判断是那个的偏差大吗?只要有偏差就报警?


你试试我的逻辑,找到一个偏差大的就退出循环了,后面的就不用管了,假设是第一个就偏差大了,那么我的for循环只要一个循环周期就结束了。

以下是引用偶阵雨在2023-08-14 09:49:22的发言 >7楼:好了,结束,不用fo...

引用7楼详细内容:


好了,结束,不用for语句,写了个i的自加循环就ok了



22个判断,与每个判断使用不同配方是两回事儿。


你现在讲的是22个判断如何批处理,FOR/NEXT一般是扫描周期同步处理,也就是批处理是在一个扫描周期内完成的,而楼主你的做法是扫描周期异步处理,22个判断需要2.2s才能完成。


至于每个判断究竟使用哪个配方,与是否同步异步处理是没有关系的

Zane 注册自动化系统工程师 Always save before download
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15112条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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