Sample Time大家在PCS7中都经常看到,编译时经常给你提示,告诉你XX的SampleTime给更新了,但它到底是干什么的。首先分析一下诸如MOTOR,VALVE之类的监控功能。打开监控功能到了一定时间设备没有正确的反馈就提示看门狗错误,从其中我们可以看到,系统肯定进行了某种定时操作,但是HOW?用定时器?这也太低端了,正确的答案就是利用了Sample Time。注意在编译的时候SampleTime的值都改为了这个CFC被调用的运行组的周期。比如说你把MOTOR放在OB35的运行组中,OB35100ms的运行周期,那么对应的SampleTime的值就是0.1。然后你要实现定时,嗯,这下明白了吧。每运行一次减去个SampleTime,到0了就是时间到了。这就是PCS7 Library的定时方式。这样方便了一个功能块在不同的OB中调用所产生的差异。
我们在自己的程序中也可以使用,如果你自己创建FC/FB,那么建一个IN的类型为real的输入,属性中添加S7_sampletime为true,在CFC中调用、编译就可以了。然后至于如何使用,自己去发掘吧,都说到这地步了。