签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
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
各位网友可以学习一下方法
感谢分享!
谢谢,下载来瞧瞧。
谢谢分享,下载学习
貌似FC350里面,L2.7和#PT_T_1有冲突。不知楼主是如何考虑的?
居然还有工程文件,,谢谢!
,相当不错,非常灵活,使用起来事半功倍
首先为楼主分享精神点个赞!
确实如此,定时器由于plc机型不同,能够调用的数量也是有限制的,自己做定时器意味着突破了这个“瓶颈”,在某一些特殊应用中能够充分体现该功能,为用户带来了方便。
学习了。。
以前我见过网友自己写的PID控制块,比系统自带的要小很多,而且性能也没有什么差别
学习了。学习
感谢分享。的确用心了
引用楼主详细内容:
西门子自带的S_ODT块由于定时器的时间长度问题,精度问题导致很多人都不愿意使用,很多人也喜欢使用IEC定时器。但是程序如果要做成标准程序或需要多重调用的话,FC块明显是最好的使用方法。因此我早期就根据S_ODT的功能自行编写了一个FC的定时器块。此块在我长时间的编程中频繁使用,感觉的确不错,不敢藏私,特拿来分享。S_ODT块支持最长32767h(3年)定时,精度为500MS。在定时器使用过程中可设置N时间类型(0-S 1-M 2-H)的数值即可方便的进行秒、分钟、小时的定时。同时可通过比较ET(已用时间)方便通过一个定时器实现对多个设备的定时的临活需求。
在FC定时器的制作中,如果加入上升沿输入,程序就会简单很多。但是在FC输入中就要增多一个输入接口或在程序中定义多一个上升沿。由于定时器是需要经常使用的,多一个接口就多一份麻烦,因此在S_ODT中巧妙利用了PT(中间变量(保持型))中的符号位作为一个上升沿的标志位,这样就减少了上升沿输入的接口。临时变量里的L0.7的置位和L2.7的复位就是利用了LW0和LW2里的符号位,在程序编写过程中,利用变量内部的某个位有可能可以简化程序,明白变量的冲突,巧妙的利用变量的冲突也是编程的一种思路。
在这里也是谢谢版主的加精,正是因为我利用了临时变量的一些小技巧这个块才有分享出来的必要,如果按平常思路制作的FC定时器,功能实现是很简单的,但应该没我这个好用
引用5楼详细内容:
学习了,的确充分理解数据里面每个位的功能,可以简化程序
下载学习去!
谢谢楼主分享,点赞。
顶顶顶顶顶顶顶顶
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录