S7300对TIME类型数据的处理

老哥们,我又遇到问题了,网上好像找不到类似的问题,所以厚起脸皮再来提一些简单的问题!
是这样的,我在PLC里面写了一个定时器SFB4,其中有个输出ET的数据格式是TIME,这个时间我可以将它链接到WinCC上位机里面,但是单位确是ms,我想在下位机将它除以1000。
现在的问题就是,我无法对这个TIME类型的数据进行任何计算,以下失败:
1、直接用框框进行计算,均出现类型冲突
2、没有找到转换器用来转换TIME类型
3、还尝试过直接move给real数据…不过失败
咋办呢?我的目的就是将它除以1000而已,有没有办法在下位机实现?

图片说明:

S7300对TIME类型数据的处理    S7300对TIME类型数据的处理   

最佳答案

此回答已完善

你在上位机就可以线性化啊 
是乘以1000吧

如何在WinCC项目中监控S7 300/400 PLC中的定时器及计数器
https://support.industry.siemens.com/cs/document/79552957/%E5%A6%82%E4%BD%95%E5%9C%A8wincc%E9%A1%B9%E7%9B%AE%E4%B8%AD%E7%9B%91%E6%8E%A7s7-300-400-plc%E4%B8%AD%E7%9A%84%E5%AE%9A%E6%97%B6%E5%99%A8%E5%8F%8A%E8%AE%A1%E6%95%B0%E5%99%A8?dti=0&lc=zh-CN

Step7中有关时间和定时器的使用和例程
https://support.industry.siemens.com/cs/document/84136147/step7%E4%B8%AD%E6%9C%89%E5%85%B3%E6%97%B6%E9%97%B4%E5%92%8C%E5%AE%9A%E6%97%B6%E5%99%A8%E7%9A%84%E4%BD%BF%E7%94%A8%E5%92%8C%E4%BE%8B%E7%A8%8B?dti=0&lc=zh-CN

提问者对于答案的评价:
感谢所有人的回答。
最后我的解决方法还是直接在上位机做线性,之前是因为选择32位浮点数的数据格式选择不对,所以读不上来,应该选择floattounsignedDword,然后直接线性标定就可以了。
也试了楼上所有的方法,使用库里自带的IEC函数块将TIME转换成S5TIME也是可以的,上位机再链接S5TIME数据,效果也一样的。
直接用TIME格式进行计算的话,我实践的结论应该是不行的,首先简单的move命令不能将TIME变成DINT,而赋值之后再用除法框计算,数据类型兼容没问题,不会报错,但是实际上TIME格式没有变化,计算不出来结果。
再次谢谢大家热心解答!

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc346191.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月4日 下午10:54
下一篇 2021年7月4日

相关推荐

发表回复

登录后才能评论