我编写了一个需要重复调用的子程序(不同时调用),在子程序里面用到上升、定时器、输入型临时变量会有问题吗?
钻石用户推荐最佳答案
会有问题。
1、子程序中一般不用沿指令,要用沿,沿要提到子程序外面,即接口处;
2、《什么子程序中的定时器和计数器不工作或者工作不正常?》下面链接的最下面问题2有如下的解释
如果有下面情况产生:
A.一个在内部使用了定时器或计数器的子程序,在同一时刻被调用了多次
B. 相同编号的定时器或计数器被多个子程序使用,且同一时刻这些子程序有两个或者以上被调用
则定时器或者计数器资源会因重叠使用而相互影响,造成程序逻辑等方面的错误。
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/programming/Timer.html
若在子程序中用定时器则用优化的定时器,不要用常规的 T 类型定时器
3、临时变量一定要先赋值后引用,否则其值是不定的值,会引起逻辑错误
4、参考资料,主要看第一个链接
《中断,子程序常见问题》
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/009.html
《定时器常见问题》
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/030.html
《计数器使用》
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/036.html
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc344109.html