技术论坛

300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!

作者 主题
yzs
侠圣

经验值: 3553
发帖数: 441
精华帖: 7
主题:【分享】300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
精华帖精华帖星级3级 推荐帖


只看楼主 只看精华 楼主 2019-06-13 15:56:30
西门子自带的S_ODT块由于定时器的时间长度问题,精度问题导致很多人都不愿意使用,很多人也喜欢使用IEC定时器。但是程序如果要做成标准程序或需要多重调用的话,FC块明显是最好的使用方法。因此我早期就根据S_ODT的功能自行编写了一个FC的定时器块。此块在我长时间的编程中频繁使用,感觉的确不错,不敢藏私,特拿来分享。

S_ODT块支持最长32767h(3年)定时,精度为500MS。在定时器使用过程中可设置N时间类型(0-S 1-M 2-H)的数值即可方便的进行秒、分钟、小时的定时。同时可通过比较ET(已用时间)方便通过一个定时器实现对多个设备的定时的临活需求。

S_ODT FC块运用了一些对保持型变量,临时变量的一些小技巧希望能够对大家的编程思路有一定的启发。

S_ODT(YZS).zip

1.jpg

注:此程序版权所有,转载请注明出处。



 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1565521&b_id=4&s_id=0&num=50

版主

经验值: 12752
发帖数: 5866
精华帖: 44
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 1楼 2019-06-14 07:34:41

 各位网友可以学习一下方法


数字飞舞
以下网友喜欢您的帖子:

  
至圣

经验值: 12543
发帖数: 1843
精华帖: 0
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 2楼 2019-06-14 07:58:08

感谢分享!


邮箱 yongquancun@126.com
以下网友喜欢您的帖子:

  
侠士

经验值: 1332
发帖数: 136
精华帖: 0
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 3楼 2019-06-14 08:08:59

谢谢,下载来瞧瞧。


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 2326
发帖数: 77
精华帖: 3
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 4楼 2019-06-14 08:46:14

谢谢分享,下载学习


学海无涯
以下网友喜欢您的帖子:

  
奇侠

经验值: 7264
发帖数: 558
精华帖: 2
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 5楼 2019-06-14 09:42:07
以下是引用yzs在2019-06-13 15:56:30的发言 >楼主:西门子自带的S_ODT块由于定时器的时间长度问题,精度问题导致很多人都不愿意使用,很多人也喜欢使用IEC定时器。但是程序如果要做成标准程序或需要多重调用的话,FC块明显是最好的使用方法。因此我早期就根据S_ODT的功能自行编写了一个FC的定时器块。此块在我长时间的编程中频繁使用,感觉的确不错,不敢藏私,特拿来分享。

S_ODT块支持最长32767h(3年)定时,精度为500MS。在定时器使用过程中可设置N时间类型(0-S 1-M 2-H)的数值即可方便的进行秒、分钟、小时的定时。同时可通过比较ET(已用时间)方便通过一个定时器实现对多个设备的定时的临活需求。

S_ODT FC块运用了一些对保持型变量,临时变量的一些小技巧希望能够对大家的编程思路有一定的启发。

S_ODT(YZS).zip

1.jpg

注:此程序版权所有,转载请注明出处。


貌似FC350里面,L2.7和#PT_T_1有冲突。不知楼主是如何考虑的?


低调做人 高调做事
以下网友喜欢您的帖子:

  
游士

经验值: 161
发帖数: 8
精华帖: 0
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 6楼 2019-06-14 10:24:15

居然还有工程文件,,谢谢!


 
以下网友喜欢您的帖子:

  
至圣

经验值: 13075
发帖数: 1081
精华帖: 8
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 7楼 2019-06-14 10:48:25

,相当不错,非常灵活,使用起来事半功倍


做最好的自己!活出自我!
以下网友喜欢您的帖子:

  
至圣

经验值: 72010
发帖数: 8043
精华帖: 145
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 8楼 2019-06-14 11:01:26

首先为楼主分享精神点个赞!

确实如此,定时器由于plc机型不同,能够调用的数量也是有限制的,自己做定时器意味着突破了这个“瓶颈”,在某一些特殊应用中能够充分体现该功能,为用户带来了方便。


 
以下网友喜欢您的帖子:

  
游士

经验值: 186
发帖数: 8
精华帖: 0
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 9楼 2019-06-14 11:25:55

学习了。。


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 5095
发帖数: 1041
精华帖: 15
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 10楼 2019-06-14 11:27:24

以前我见过网友自己写的PID控制块,比系统自带的要小很多,而且性能也没有什么差别


路漫漫而求索!
以下网友喜欢您的帖子:

  
奇侠

经验值: 9046
发帖数: 375
精华帖: 0
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 11楼 2019-06-15 08:00:53


学习了。学习


随心所欲
以下网友喜欢您的帖子:

  
奇侠

经验值: 8613
发帖数: 1829
精华帖: 4
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 12楼 2019-06-15 08:33:09

感谢分享。的确用心了


学无止境
以下网友喜欢您的帖子:

  
yzs
侠圣

经验值: 3553
发帖数: 441
精华帖: 7
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 楼主 13楼 2019-06-15 08:46:29
以下是引用Kapok_ZXM在2019-06-14 09:42:07的发言 >5楼

貌似FC350里面,L2.7和#PT_T_1有冲突。不知楼主是如何考虑的?

以下是引用yzs在2019-06-13 15:56:30的发言 >楼主:西门子自带的S_OD...

引用楼主详细内容:

西门子自带的S_ODT块由于定时器的时间长度问题,精度问题导致很多人都不愿意使用,很多人也喜欢使用IEC定时器。但是程序如果要做成标准程序或需要多重调用的话,FC块明显是最好的使用方法。因此我早期就根据S_ODT的功能自行编写了一个FC的定时器块。此块在我长时间的编程中频繁使用,感觉的确不错,不敢藏私,特拿来分享。

S_ODT块支持最长32767h(3年)定时,精度为500MS。在定时器使用过程中可设置N时间类型(0-S 1-M 2-H)的数值即可方便的进行秒、分钟、小时的定时。同时可通过比较ET(已用时间)方便通过一个定时器实现对多个设备的定时的临活需求。

S_ODT FC块运用了一些对保持型变量,临时变量的一些小技巧希望能够对大家的编程思路有一定的启发。

S_ODT(YZS).zip

1.jpg

注:此程序版权所有,转载请注明出处。


在FC定时器的制作中,如果加入上升沿输入,程序就会简单很多。但是在FC输入中就要增多一个输入接口或在程序中定义多一个上升沿。由于定时器是需要经常使用的,多一个接口就多一份麻烦,因此在S_ODT中巧妙利用了PT(中间变量(保持型))中的符号位作为一个上升沿的标志位,这样就减少了上升沿输入的接口。临时变量里的L0.7的置位和L2.7的复位就是利用了LW0和LW2里的符号位,在程序编写过程中,利用变量内部的某个位有可能可以简化程序,明白变量的冲突,巧妙的利用变量的冲突也是编程的一种思路。

在这里也是谢谢版主的加精,正是因为我利用了临时变量的一些小技巧这个块才有分享出来的必要,如果按平常思路制作的FC定时器,功能实现是很简单的,但应该没我这个好用


 
以下网友喜欢您的帖子:

  
lzm
奇侠

经验值: 8709
发帖数: 1297
精华帖: 8
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 14楼 2019-06-15 09:23:00


        


Querer es poder! 修福粒米藏日月 持慧毫芒有乾坤
以下网友喜欢您的帖子:

  
奇侠

经验值: 5103
发帖数: 520
精华帖: 7
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 15楼 2019-06-15 10:01:09
以下是引用yzs在2019-06-15 08:46:29的发言 >13楼

在FC定时器的制作中,如果加入上升沿输入,程序就会简单很多。但是在FC输入中就要增多一个输入接口或在程序中定义多一个上升沿。由于定时器是需要经常使用的,多一个接口就多一份麻烦,因此在S_ODT中巧妙利用了PT(中间变量(保持型))中的符号位作为一个上升沿的标志位,这样就减少了上升沿输入的接口。临时变量里的L0.7的置位和L2.7的复位就是利用了LW0和LW2里的符号位,在程序编写过程中,利用变量内部的某个位有可能可以简化程序,明白变量的冲突,巧妙的利用变量的冲突也是编程的一种思路。

在这里也是谢谢版主的加精,正是因为我利用了临时变量的一些小技巧这个块才有分享出来的必要,如果按平常思路制作的FC定时器,功能实现是很简单的,但应该没我这个好用

以下是引用Kapok_ZXM在2019-06-14 09:42:07的发言 >5楼:貌似FC350里面,L...

引用5楼详细内容:

貌似FC350里面,L2.7和#PT_T_1有冲突。不知楼主是如何考虑的?

以下是引用yzs在2019-06-13 15:56:30的发言 >楼主:西门子自带的S_O...

引用楼主详细内容:

西门子自带的S_ODT块由于定时器的时间长度问题,精度问题导致很多人都不愿意使用,很多人也喜欢使用IEC定时器。但是程序如果要做成标准程序或需要多重调用的话,FC块明显是最好的使用方法。因此我早期就根据S_ODT的功能自行编写了一个FC的定时器块。此块在我长时间的编程中频繁使用,感觉的确不错,不敢藏私,特拿来分享。

S_ODT块支持最长32767h(3年)定时,精度为500MS。在定时器使用过程中可设置N时间类型(0-S 1-M 2-H)的数值即可方便的进行秒、分钟、小时的定时。同时可通过比较ET(已用时间)方便通过一个定时器实现对多个设备的定时的临活需求。

S_ODT FC块运用了一些对保持型变量,临时变量的一些小技巧希望能够对大家的编程思路有一定的启发。

S_ODT(YZS).zip

1.jpg

注:此程序版权所有,转载请注明出处。


学习了,的确充分理解数据里面每个位的功能,可以简化程序


认真做事,低调做人
以下网友喜欢您的帖子:

  
至圣

经验值: 18904
发帖数: 2108
精华帖: 0
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 16楼 2019-06-15 12:25:26

 下载学习去!


 
以下网友喜欢您的帖子:

  
奇侠

经验值: 7493
发帖数: 630
精华帖: 1
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 17楼 2019-06-16 20:47:50

 

谢谢楼主分享,点赞。


 
以下网友喜欢您的帖子:

  
游民

经验值: 118
发帖数: 6
精华帖: 0
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 18楼 2019-06-17 08:20:20
看看楼主大神的作品
 
以下网友喜欢您的帖子:

  
游侠

经验值: 327
发帖数: 32
精华帖: 0
回复:300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
推荐帖


只看楼主 只看精华 19楼 2019-06-17 09:32:43


顶顶顶顶顶顶顶顶


 
以下网友喜欢您的帖子:

  
收起
300 的自编写S_ODT定时器FC块,比程序自带定时器好用多了,特此共享!
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。