SCL调用的子程序里如何把一个布尔量置位后复位?

今天做一个流量计累积流量,同时具有清零功能的SCL语音子程序,意图是通过触摸屏点击清零的变量(FTRset)后,累积流量清零,同时清零的变量(FTRset)置位后马上复位。
以前是通过FC块直接把清零的DB布尔量为真时,让流量累积量清零,然后复位自己,是可以做到的。
用SCL写成子程序,里面是IF FTRset=true;Then 流量=0;FTRset:=FALSE;
编译用另一个FB块调用这个子程序后发现,点击清零后,流量是归零了,但FTRset,这个变量无法复位。我想请教一下,SCL子程序里怎么能做到让FTRset让他本身复位?

最佳答案

FTRset 这个变量定义的是In 还是INOUT
应该是INOUT类型的才能复位的吧
刚测试了一下
FTRset 这个定义In的话,调用FB的时候不能填写地址,填写地址之后就不能复位,如果用背景数据块的位可以复位
inout类型没有限制

提问者对于答案的评价:
的确是这个,看到答案一下就醒悟了,今天现场试了,问题解决了,谢谢。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc163759.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月9日 下午6:11
下一篇 2017年6月9日

相关推荐