广东湘恒智能科技有限公司
主营产品: 西门子PLC代理商,plc变频器,伺服电机,人机界面,触摸屏,线缆,DP接头
SIEMENS西门子河北省石家庄市(授权)伺服电机一级代理商——西门子华北总代理

平常我们编写程序的时候用到最多的指令也许就是定时器指令了。有时候我们需要通过人机界面修改定时器的设定时间。这就存在一个问题:许多人机界面不支持西门子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 。


展开全文
相关产品
拨打电话 微信咨询 发送询价