怎样将整型转换成s5time

作者&投稿:揣拜 (若有异议请与网页底部的电邮联系)
如何把一个整数转换成s5time的时间格式~

如何转换,首先要弄清整数INT、时间S5Time及Time的数据结构。整数INT是16位的数据:

时间S5Time是16位数据,BCD码格式:



时间Time是32位数据,类似于双整数DINT:

由此可见,三者之间的转换即是整数INT、双整数DINT及BCD码之间的转换。可以根据数据结构特点,自己编程实现相互转换,这样比较复杂。利用库函数FC33/FC40是最简单方便的。方法如下: 1. 整数INT到时间S5Time的转换方法: INT -> I_DI指令 -> DINT -> MOVE指令 -> Time -> 库函数FC40 -> S5Time。



2. 整数INT到时间Time的转换方法:INT -> I_DI指令 -> DINT -> MOVE指令 -> Time。如图示:


3. 时间S5Time到整数INT的转换方法: S5Time -> 库函数FC33 -> Time -> MOVE指令 -> DINT -> 取其高字部分,用MOVE指令 -> INT。



将时间存在MW100里通过I_BCD指令转一下啦,再存到MW100,MW100再加上8192,就可以喽,,,MW100里的数不可以大于999哦

  1、从上位机写整型数INT或实数REAL到PLC,首先该数值需包含以毫秒为单位的时间值,在写入PLC的数据存储区后,利用ITD(Integer to Double Integer)或RND(Real to Double Integer with Rounding Off)将该值转换为双整形,然后将该值写到类型为TIME的变量里,在程序中调用FC40,将TIME转换成S5TIME即可。
  2、从上位机写WORD到PLC,首先该数值需包含以某时基为单位的时间值,在写入PLC的数据存储区后,用Word Logic下的WOR_W指令将该值与其时基相或,再利用MOVE指令将得到的数值写入S5TIME类型的变量中。
  3、如果使用WinCC作为上位软件,或上位软件支持32位带符号浮点数,可以从上位写32位带符号浮点数到PLC中定义为TIME的变量,然后在程序中调用FC40,将TIME转换成S5TIME即可。

现看在线帮助,理解S5TIME的编码方式,然后根据时间常数,选取计时最小单位,计算S5T的值。

LMW20ITDTLD10LLD10LL#1000*DTLD10CALL"TIM_S5TI"IN:=LD10RET_VAL:=LW20MW20为整型值,LW20为最后生成的S5TIME的值,我用过很多次了,都很正常啊,你用不行吗?

谢谢各位指点。感觉用fc40不好,转换时间不正确。用了楼上两位说的方法,转换很成功。谢谢各位了!

我跟“四书五经”的方法一样,转换的很好啊


如何把一个整数转换成s5time的时间格式
1.从上位机写整型数INT或实数REAL到PLC,首先该数值需包含以毫秒为单位的时间值,在写入PLC的数据存储区后,利用ITD(Integer to Double Integer)或RND(Real to Double Integer with Rounding Off)将该值转换为双整形,然后将该值写到类型为TIME的变量里,在程序中调用FC40,将TIME转换成S5TIME即可。

定时器设定值从浮点转为S5Time格式有没有好办法?
回答:如果你用的是西门子的人机界面就很简单的,如使用winccflex编程,将设定时间的数据格式为定时器就行了,单位是毫秒。数据就不需要转换了。

如何在操作面板上设定定时器时间,同时如何输出定时器的剩余时间_百度知 ...
如图1所示,在线性标定中设定“操作面板,上限值=1,控制器,上限值= 1000”意味着面板上输入的1会转换为1000传输到控制器中,因此面板可以秒为单位直接输入时间值(1000=1000毫秒=1秒)2 将定时器的剩余时间以秒为单位在面板上输出:介绍:时间输出值与时基相关,下图是Step7关于S5TIME定义的在线帮...

step7如何把时间格式转成int
IEC时间格式的数据类型为TIME类型,TIME类型实质上就是一个UDINT(无符号长整型),其单位为MS,因为占用32位存储空间,因此如果转换为INT类型的话,会损失精度,你完全可以直接读取高字存储空间来或者TIME类型的低字数据。S5TIME类型占用存储空间为16位,其0~11位存放的是BCD码表示的3位数字,其12~13...

请高手解释一下此条语句含义!!!
sizeof( S5 ); \/\/ 结果为18. 含位域结构体的sizeof前面已经说过,位域成员不能单独被取sizeof值,我们这里要讨论的是含有位域的结构体的sizeof,只是考虑到其特殊性而将其专门列了出来。C99规定int、unsigned int和bool可以作为位域类型,但编译器几乎都对此作了扩展,允许其它类型类型的存在。使用位域的主要...

东秦的操作系统答案第二章
答:首先建立一个管程,命名为ProclucerConsumer,包括两个过程:(1)Put(item)过程。生产者利用该过程将自己生产的产品放到缓冲池,用整型变量count 表示在缓冲池中已有的产品数目,当count≥n 时,表示缓冲池已满,生产者须等待。(2)get(item)过程。消费者利用该过程从缓冲池中取出一个产品,当count≤0时,表示缓冲池...

sizeof的用法
在 Pascal 语言中,sizeof() 是一种内存容量度量函数,功能是返回一个变量或者类型的大小(以字节为单位);在 C 语言中,sizeof() 是一个判断数据类型或者表达式长度的运算符。1、Pascal中的用法:如果longint改为Integer,也输出(Pascal中longInt和Integer都是4字节);2、C语言中用法:判断数据...

单片机行列式按键
,1,1),当数一个列扫描码,得到的行如输入信号为有一个为0的时候,这是得到的列扫描码与行扫描码就是这个键的扫面码。比如上图按下S6的时候,列与行扫描码就分别为1101,1011。然后通过扫描码在Scan table里面找对应的键码,传给OS,确定是哪个键。在上面的图中,我们看到,在输入信号每个...

C语言中 sizeof 运算的值是在编译时还是运
struct S5 { }; sizeof( S5 ); \/\/ 结果为1含位域结构体的sizeof 前面已经说过,位域成员不能单独被取sizeof值,我们这里要讨论的是含有位域的结构体的sizeof,只是考虑到其特殊性而将其专门列了出来。 C99规定int、unsigned int和bool可以作为位域类型,但编译器几乎都对此作了扩展,允许其它类型类型的存在。

java和c的区别,具体点。。。求解
但不支持它的使 用,使程序简洁易读。l0.类型转换 在c和c十十中有时出现数据类型的隐含转换,这就涉及了自动强制类型转换问题。例 如,在c十十中可将一浮点值赋予整型变量,并去掉其尾数。Java不支持c十十中的自动强 制类型转换,如果需要,必须由程序显式进行强制类型转换。

渠县18337828747: 如何把一个整数转换成s5time的时间格式 -
浦筠艾汀: 如何转换,首先要弄清整数INT、时间S5Time及Time的数据结构.整数INT是16位的数据:时间S5Time是16位数据,BCD码格式:时间Time是32位数据,类似于双整数DINT: 由此可见,三者之间的转换即是整数INT、双整数DINT及BCD码...

渠县18337828747: 怎样将整型转换成s5time -
浦筠艾汀: 1、从上位机写整型数INT或实数REAL到PLC,首先该数值需包含以毫秒为单位的时间值,在写入PLC的数据存储区后,利用ITD(Integer to Double Integer)或RND(Real to Double Integer with Rounding Off)将该值转换为双整形,然后将该值写到类...

渠县18337828747: 转化为S5TIME类型的2种方法?
浦筠艾汀: 我没问为什么显示60与60000,这个我自已乘出来的我肯定知道. 我问的是采用WOR指令得到的S5TIME类型数据MW189是一分钟,改为16进制显示是2060.而用FC40得到的S5TIME类型数据也是1分钟的数据MW310.改为16进制显示为什么是1600. 是为什么是2060和1600,而不是60与60000.

渠县18337828747: 定时器设定值从浮点转为S5Time格式有没有好办法? -
浦筠艾汀: 如果你用的是西门子的人机界面就很简单的,如使用winccflex编程,将设定时间的数据格式为定时器就行了,单位是毫秒.数据就不需要转换了.

渠县18337828747: 十进制怎样转化为S5TIME -
浦筠艾汀: 介绍一个偷懒的方法,定义一time数据类型的数据(md,db.dbd等),调用fc40,把这一数据转化成s5t了

渠县18337828747: 300里定时器TV值在数据块里格式为S5TIME,相加减怎么做? -
浦筠艾汀: 1、省事情的做法:使用FC33(S5TI_TIME)将S5Time转换为TIME,然后进行累加,TIME就是长整型数据,以MS为单位.接下来使用FC40(Time_S5TI)将结果转换为S5Time,转换过程请注意S5Time所能接受的最大数值.2、和上述类似,也就是上述的原理实现,通过提取S5time的0~11位数据,然后BCD相加,最后为结果添加时基.

渠县18337828747: 定时器开关怎么设置 - 定时器开关怎么设置时间说明书
浦筠艾汀: 1.定时器开关怎么设置时间说明书照明定时器调时间方法是:1、先按恢复取消键,... 方法如下:1:在DB块里设置DINT数据,TIME数据和S5TIME数据;2:使用MOV转换...

渠县18337828747: sql 整型数字怎么转换成时间格式 -
浦筠艾汀: 字符串或类似字符串的整数转换为日期时间 str_to_date(20150711201734, '%Y%m%d%H%i%s') 或 str_to_date('2015-07-11 20:17:34', '%Y-%m-%d %H:%i:%s')

渠县18337828747: 求助:西门子时间转化
浦筠艾汀: 使用FC40功能块可以将S5TIME-〉TIME使用FC33功能块将TIME-〉S5TIME转化时请注意S5TIME限制.

渠县18337828747: 如何在WinCC中显示枚举类型变量的文本 -
浦筠艾汀: 组态'输入/输出域':选择变量,更新选'有变化时',类型选择'输出'.组态完毕.然后激活你的WinCC工程,确认和PLC的通讯正常,这个时候I/0域应该能显示你所设定的对应PLC中的某个量的数值了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网