quote:以下是引用ericiii在2014-03-11 09:18:05的发言:不知大家看了这次的征集令是不是已经跃跃欲试了呢,肯定都在琢磨该晒自己哪个得意作品了吧。小编在这里先抛砖引玉一下,希望大家多多交流。
在一些项目中常常需要计算设备的运行时间,比如控制管道压力时需要几台水泵配合工作,而此时还会配置备用泵。比如正常工作时,有3台水泵根据管道压力变化长期运行,同时还需要监测各台水泵的每次运行时间,如果累计到达一定长度,就切换为备用泵。那么如何知道设备运行了多长时间,在什么时候需要切换呢?解决这个问题就要在程序逻辑控制里就要添加计算设备运行时间的程序。说到这可能有的编程高手们就开始构思如何编写这段程序了。先别急着动手,这里小编告诉你。
在西门子技术资源库中是有这样一个样例功能块的,该功能块实际上是通过在两个事件(比如水泵的启动和停止)发生之时分别调用读系统时钟功能块SFC64“TIME_TCK”来记录系统时间,然后通过DINT的相减获得两次返回值的差值,即运行时间。如图所示。

当输入“I1.0”上升沿到来,读系统时钟功能块SFC64“TIME_TCK”第一次被调用,系统时间被读入临时缓冲区。之后当输入“I1.1”上升沿到来,SFC64再次被调用,第二个系统时间被读入临时缓冲区。当输入“I1.2”上升沿到来时,两次系统时间的差值被计算出,结果输出到管脚“Out_Time”。
此功能块可以在程序里方便的多次调用,计算所需设备的某次运行时间,或者累计运行时间,以便进行后续的逻辑控制。
该功能块链接地址为:http://support.automation.siemens.com/CN/view/zh/29598009
欲知其中奥妙,请点击此链接,欢迎大家积极试用,试用报告可以跟贴哦。
我到西门子网站下载使用了,添加该源程序后,编译报错啊!无法生成相应的FC功能块啊?请问有什么玄机?