来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转

来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
主题:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-02 11:48:55 楼主更多精彩请去这里作为热线工程师,每天面临客户大量的各种技术问题,从产品功能、组态设置、参数含义、编程细节到故障诊断,林林总总。不过,总有一些共性的问题,常常在热线中出现。下面就是一个出镜频率很高的例子。
客户1:“西门子热线工程师,你好,我用第三方组态软件(如Intouch、iFix、组态王等),想在画面上设置定时器T的时间,以便人工及时修改。但组态软件中没有S5Time数据类型,怎么办?”
客户2:“我想在PLC程序中,用整数INT给定时器T的预设时间赋值,怎么做?”
客户3:“我用的第三方组态软件(如Intouch、iFix、组态王等),想在画面上设置PID积分时间,但FB41的积分时间TI是Time类型,组态软件中没有Time类型,怎么办?”
客户4:“在PLC程序中,数据类型S5Time如何转换到整数INT类型?”
以上四个客户,遇到的问题实质上是一样的,就是整数INT、时间S5Time及Time之间的相互转换。
如何转换,首先要弄清整数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。








cqedajy
新手

经验值: 21
发帖数: 11
精华帖: 0
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-02 17:49:02 1楼注意数据类型www.lunwendz.com
冲向蓝天
游侠

经验值: 500
发帖数: 176
精华帖: 1
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-03 16:17:54 2楼应该做一个块来转换。那样的话就省劲了。
无胆英雄
游民

经验值: 64
发帖数: 18
精华帖: 0
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-04 07:39:58 3楼没看懂L#1000,为什么要乘?能解释下吗?
Automann
侠圣

经验值: 4371
发帖数: 2101
精华帖: 74
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-04 19:38:14 4楼quote:以下是引用无胆英雄在2011-09-0407:39:58的发言:
没看懂L#1000,为什么要乘?能解释下吗?

因为是双整数运算指令,常数必须是L#表示的双整数。追求完美
Automann
侠圣

经验值: 4371
发帖数: 2101
精华帖: 74
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-04 19:47:28 5楼楼主的帖子有很大的参考价值,但是下述说法有点小瑕疵:”时间S5Time是16位数据,BCD码格式”,“三者之间的转换即是整数INT、双整数DINT及BCD码之间的转换。“
S5Time格式并非严格意义的BCD码,其最高2位为0,下面两位为时间基准,低12位为3位BCD码。如果是普通的BCD码,用BCD与整数或双整数的转换指令就可以了。而IEC库函数指令FC33、40考虑了S5Time的特点,因此能实现正确的转换。追求完美
Zaehler
侠客

经验值: 841
发帖数: 228
精华帖: 3
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-05 08:20:20 6楼quote:以下是引用无胆英雄在2011-09-0407:39:58的发言:
没看懂L#1000,为什么要乘?能解释下吗?


时基是ms吧。所以ms转换为s
QQ:23013014
游民

经验值: 73
发帖数: 44
精华帖: 0
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-06 13:15:05 7楼因为time是毫秒级别的所以要乘,呵呵

这个转换好像很简单的
臣臣
侠客

经验值: 977
发帖数: 703
精华帖: 0
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-06 14:29:33 8楼quote:以下是引用Zaehler在2011-09-0508:20:20的发言:
quote:以下是引用无胆英雄在2011-09-0407:39:58的发言:
没看懂L#1000,为什么要乘?能解释下吗?


时基是ms吧。所以ms转换为s

2000才是s的时基吧
冬日
侠圣

经验值: 3682
发帖数: 2604
精华帖: 26
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-07 08:53:07 9楼转换要自己写,再调用西门子的库就没啥意思了。Ifanything can go wrong, it will.
纯属虚构
侠士

经验值: 1059
发帖数: 733
精华帖: 3
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-07 19:21:41 11楼前几天直接把S5Time输入设置成MW100,在监控的时候输入的整数与S5Time时间不对应,当时就怀疑是否有某个装换,对数据的类型结构还不是很了解,介绍的非常有价值,谢谢!1我有什么,我凭什么 2 我要什么 3 挣35岁以后的钱
啊啊啊啊哦
游士

经验值: 277
发帖数: 96
精华帖: 0
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-08 14:09:50 12楼3月份的时候碰到这个问题,搞了几天才搞好
沉默人生
游侠

经验值: 579
发帖数: 159
精华帖: 2
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-13 16:01:29 14楼一直对此类问题不是太明白,现在有点明白了,继续学习。在学习中提高
zzwtt
新手

经验值: 14
来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转
发帖数: 2
精华帖: 0
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-15 15:35:32 18楼以前老是不明白,学习了!
林冲
侠士

经验值: 1064
发帖数: 753
精华帖: 1
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-17 22:33:31 20楼呵呵,这个问题我刚开始学习时也困扰了我很久,说实话用起来确实不太方便
水寒风刀
游侠

经验值: 455
发帖数: 170
精华帖: 0
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-20 17:40:32 22楼正好解决当前遇到的这个问题啊,谢谢
炸酱面
侠客

经验值: 718
发帖数: 365
精华帖: 0
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-21 01:35:38 23楼这个帖子的问题真是解决了很多人的疑问啊
晓川
新手

经验值: 44
发帖数: 8
精华帖: 0
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-28 16:22:17 24楼问一下,DB块中的数据格式有S5Time,在上位机直接调用该DB数据块地址可以吗?勇于创新,超越自我!
晓川
新手

经验值: 44
发帖数: 8
精华帖: 0
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-28 16:22:55 25楼当然单独做一个转换块更方便调用勇于创新,超越自我!
迷 芒
游民

经验值: 121
发帖数: 90
精华帖: 0
主题:回复:来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转换的困惑
2011-09-30 15:39:10 26楼看到这个帖子是深有感触呀,前面也因为这个数据转换的事,折腾了好久,后来上网一搜找到了FC33可以实现。愿这个分享能让更多人,小走弯路。天天向上

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/55750.html

更多阅读

拳手的故事:荒诞拳击手、拳师禁恋

荒诞拳击手/A cock and bull story(2003)又一部说明恐同即深柜的影片。拳击手和他的死党朋友的故事,两个人从小一起长大,感情好的容不下第三者,但却极度恐同。拳击手甚至要利用他对同性恋的恐惧来赢得比赛,因为他在比赛中和对手扭抱时会

一个哀而不伤的故事:读《亲爱的小孩,原谅我不能陪你长大》

时间:2015-03-22除了没能天长地久,他们能够拥有的都拥有了,所以这算个哀而不伤的故事。古语有“天嫉英才”之说,认为上天因嫉妒一个人的才华,而让他命运坎坷。这本纪实型小说,让我想到了天嫉幸福,倘若一个人太过幸福,上天也会给他增加诸多阻

灵感点亮生活-西门子 点亮生活的99个灵感

西门子手机秉承了西门子公司一贯的严谨、实用、创新的风格,以圆润造型著称,其特色为功能强大、造型时尚、软件开放性高、价格适中,具有很高的性价比。收藏了两部西门子经典三防手机3618、M65.

叶挺的故事:性情一君子 铮铮一男人 铮铮

叶挺的故事:性情一君子 铮铮一男人兔小跳于2013-03-04 19:24发表(转自新华社区)卖过烧饼 爱好摄影1927年11月,叶挺作为总指挥发动广州起义,却以失败告终。共产国际东方部的领导人听信王明的谗言,对叶挺产生了偏见。叶挺一气之下出走西欧

声明:《来自西门子技术支持热线的故事:整数INT_时间S5Time及Time相互转》为网友刺眼的青春分享!如侵犯到您的合法权益请联系我们删除