【分享】整数转换S5TIME

已锁定

愿我能

西门子1847工业学习平台

  • 帖子

    2974
  • 精华

    7
  • 被关注

    281

论坛等级:至圣

注册时间:2009-11-06

白金 白金 如何晋级?

【分享】整数转换S5TIME

11184

45

2016-07-19 11:41:14

star star star

 平常我们编写程序的时候用到最多的指令也许就是定时器指令了。有时候我们需要通过人机界面修改定时器的设定时间。这就存在一个问题:许多人机界面不支持西门子S5 TIME时间格式。怎么办呢?我们可以通过西门子库文件系统程序将整数转换为S5 TIME格式,但是比较麻烦。当然,论坛中也有许多类似的讨论,也给出了许多不错的解决方案。刚好看了一个很早以前一个德国人写的程序,关于整数转换为S5 TIME的,感觉很不错。下面分享给大家。程序很简洁,因为使用的是局部变量,可以直接移植使用。

首先定义输入输出接口,见上图。

IME_SET:人机界面时间设定值输入,数据类型为:INT整型。

TIME_BASE:时间时基,数据类型也为INT 整型 。

OUT :S5 TIME 。

具体程序见下面:(假设这个程序是写在FC1块中)

     L     #TIME_SET
      ITB  
      L     W#16#FFF
      AW   

      L     #TIME_BASE
      SLW   12
      OW   
      T     #S5_TIME



假设我们在OB1中调用,程序如下:

        CALL  FC     1
       TIME_SET :=DB1.DBW0
       TIME_BASE:=DB1.DBW2
       S5_TIME  :=DB1.DBW4

这里需要注意的是DB1.DBW2 是时间时基,当DB1.DBW2=0,表示时基10MS ,DB1.DBW2=1,表示时基100MS,DB1.DBW2=2,表示时基1S,DB1.DBW2=3,表示时基10S,可以根据工程实际需要选择合适的时基。例如:DB1.DBW0=45,如果DB1.DBW2=0,则DB1.DBW4=450MS,就是0.45S 。


【分享】整数转换S5TIME 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54028条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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