回复:在s7-1500中怎么给S_ODT定时器赋值?

Letham

西门子1847工业学习平台

  • 帖子

    2023
  • 精华

    43
  • 被关注

    360

论坛等级:至圣

注册时间:2006-04-15

钻石 钻石 如何晋级?

发布于 2016-07-31 10:54:31

9楼

展开查看
以下是引用海边玩耍的孩子在2016-07-31 09:11:18的发言 >8楼

再问一下版主,这个方法以前也见过,

但他的原理是什么呢,为何执行 OR 2#16#2000 可以写入时基呢?

以下是引用Letham在2016-07-29 09:26:27的发言 >2楼:楼主如果用IEC定时...

引用2楼详细内容:

楼主如果用IEC定时器TON 就没有这个烦恼了,在博途下,可以转变下编程思路。


S_ODT TV值可以进行赋值操作的,预置值肯定是可以改变的。

为什么S_ODT TV即可以是WORD或者是S5TIME 因为它们都占用16 bits空间,同时,WORD类型是非数字类型的数据类型。

S5TIME 是以BCD码格式来存储时间的。是以你只要对WORD 或者INT类型,进行相应的转换就行

比如,先用CONVERT转换成BCD码,然后写时基,比如 OR 2#16#2000 就是以1秒为时基(在使用S5time 时,时基是CPU自动分配的)

时基和S5TIME时间格式见下图

程序见如下

你的时间在MW300里设定(INT),先转换成BCD格式 存放在MW400(WORD),然后就是,保留 时间值 AND W#16#0FFF过程,最后写入时基w#16#2000,结果仍然存放在MW400(word),用它来当做TV值

见第一张图片啊!

人生就像一场旅行!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10590条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。