quote:以下是引用Automann在2014-01-16 18:56:25的发言:quote:以下是引用江湖小虾米在2014-01-16 15:24:05的发言:
用定时器和累加器计数器来做从目前来看不会是好的方法 ,原因大概有3个:
1.西门子S5定时器最长时间是2个多小时,要实现时间长时间及时,定时器和计数器联合使用是没法避免的,这种方式对于个数少并且定时不太长的计时方式是有用的,但是64个超长时间记时都用这种方式实现起来那是相当麻烦 。
2.现场工艺决定了电机和阀门开启的无序性,决定了电机和阀门开启时刻任意性,用S5定时器开启'以及关段计时时刻的准确和定时器关断以后的计时数据保存实现起来也是比较困难的。
3.从程序设计的结构来说,这种控制方式设计的程序可读性会比较差,估计不是一种理想的方法。
IEC定时器最长时间24天多,够用吗?
也可以使用SFC 64 "TIME_TCK" (报时信号)读取CPU的系统时间来计时。系统时间是循环时间计数器,范围0~2147483647毫秒。如果出现溢出,系统时间将从0开始重新计数。分辨率和系统时间精度为1 ms。
奇侠说的不错,iEC标准时间定时器是可以很长时间,具体多长没看资料
首先, 这里说的计时时间 是动态时间,不是绝对的时间CPU运行时间,打个比方,A电机开了1个小时,接着开启B电机,AB电机同时运行了4小时,接着又关闭了A电机,B电机又单独运行了1.5小时,这样的话,总运行时间就是10.5小时,而不是单台电机运行了10.5小时。
其次,要从IEC定时器实时读取定时器实际运行时间估计比S5定时器麻烦得多吧。