登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:s7-200smart关于带参数子程序的问题

点击:14284 回复:24

还是有问题。第一次调用正常,第二次调用直接三角型运行。时间寄存器两个都到最大值了。断开第二个,第一个又变成星行运行。时间到,变为三角型运行。
16-06-07 11:23
很明显的一个错误,你应该把那些输出变量类型都改为in-out类型
16-06-07 11:47
还是有问题,时间寄存还是会影响的
16-06-07 12:19
附件 截图1465446706.jpg
16-06-07 12:28
改成这样终于达到预期的效果,多谢大哥的指点。其中的原因能帮忙分析一下吗。第一次接触西门子产品,局部变量不是很清楚。
16-06-07 12:31
OUT变量仅供输出使用,不能作为输入点使用,也就是说一个线圈定义为OUT变量,就不能在子程序中使用其触点
16-06-07 15:54
选用out的时候,上一个子程序运行的out结果会保留到下一个程序,无论下一个程序执不执行。in-out和out的区别在于,用in-out时,当调用子程序时,在第一个扫描周期先把结果(上个子程序的结果)清零,只作用第一个扫描周期,所以就能避免前一个子程序的运算结果影响到下一个子程序。当输出结果是boot时,结果是自锁的,或者置位,或者在程序里还再用到时,用in-out。输出结果是数值时,一定要用in-out。做功能子程序,尽量不要用out,如果你做这个子程序只调用一次的话用就没关系。多次调用的就用in-out,这样解析明白吗
16-06-07 17:19

引用 mai寒流 在 2016/6/7 17:19:40 发言【内容省略】

高见,一语道破天机,学习了
16-06-07 17:23
主接触,标志,时间用输入输出
16-06-09 20:30
西门子200系列  in-out局部变量一直都是这样
16-06-10 00:09

上一页 下一页

工控新闻

更多新闻资讯