to4ever
级别: 正式会员
精华主题: 0
发帖数量: 3 个
工控威望: 94 点
下载积分: 530 分
在线时间: 8(小时)
注册时间: 2016-06-21
最后登录: 2017-08-30
查看to4ever的 主题 / 回贴
楼主  发表于: 2017-02-13 17:10
各位大大們好~

小弟我遇上了一個問題~

電表MODBUS連線回PLC~

已讀取該值的高低位元~

但該電表只有float的資料型態~

所以想請教PLC如何將DWORD轉換成 FLOAT~

該值須為Float~

我找了好多個函數好像沒辦法直接轉 ~

請問各位先進這種狀態要怎麼處裡比較好?

謝謝

例如:
量測值為 123.45
PLC讀取DWORD 為 42F6E666
要如何轉換到帶正負號的REAL或DINT~

我現在是用WAGO的PLC
因為他沒有直轉 FLOAT的FC
所以想請教若沒有直轉的FC
大大會怎麼做呢~@@
那三菱或是西門子~大大會怎麼做呢?
謝謝
[ 此帖被to4ever在2017-02-14 12:50重新编辑 ]
yk_schzzn
级别: 探索解密
精华主题: 0
发帖数量: 38 个
工控威望: 136 点
下载积分: 7772 分
在线时间: 307(小时)
注册时间: 2016-11-26
最后登录: 2022-08-12
查看yk_schzzn的 主题 / 回贴
1楼  发表于: 2017-02-13 17:56
得区分不同的plc厂家吧,比如西门子的将寄存器定义为real格式就可以直接取值了,也可以用现成的函数来转换,要注意高,低位数据的存放位置可能不同 ,还有你仪表的FLOAT数据是不是标准。
[ 此帖被yk_schzzn在2017-02-13 18:01重新编辑 ]
Q183996768
月泽
时间嘛!就象乳沟,挤一挤总归还是有的!
级别: 工控侠客
精华主题: 1 篇
发帖数量: 1285 个
工控威望: 2921 点
下载积分: 4511 分
在线时间: 642(小时)
注册时间: 2009-03-28
最后登录: 2024-06-12
查看月泽的 主题 / 回贴
2楼  发表于: 2017-02-14 08:33
几十家PLC厂家   你用的是哪一款?
楼主留言:
我現在是用WAGO的PLC
因為他沒有直轉 FLOAT的FC
所以想請教若沒有直轉的FC
大大會怎麼做呢~@@
那三菱~大大會怎麼做呢?
謝謝
揭开神秘的工控面纱
QQ:2631001081
Emal:strong20671713@163.com
roy_poon
级别: 略有小成
精华主题: 0
发帖数量: 114 个
工控威望: 237 点
下载积分: 63823 分
在线时间: 596(小时)
注册时间: 2013-11-09
最后登录: 2024-11-29
查看roy_poon的 主题 / 回贴
3楼  发表于: 2017-02-14 10:52
图片:
H42F6E666 本就是E123.45
楼主留言:
謝謝R大大~
那請問帶正負號的要怎麼表示呢?
-123.45
C2F6E666

有ST語法的寫法嗎
感謝
roy_poon
级别: 略有小成
精华主题: 0
发帖数量: 114 个
工控威望: 237 点
下载积分: 63823 分
在线时间: 596(小时)
注册时间: 2013-11-09
最后登录: 2024-11-29
查看roy_poon的 主题 / 回贴
4楼  发表于: 2017-02-14 15:10
图片:
其值就是FLOAT,你用浮点指令对地址操作就可以。注意软件不要有数据操作类型识别。
楼主留言:
謝謝R大大~
若本身沒有轉float的指令~
有辦法轉換嗎?
roy_poon
级别: 略有小成
精华主题: 0
发帖数量: 114 个
工控威望: 237 点
下载积分: 63823 分
在线时间: 596(小时)
注册时间: 2013-11-09
最后登录: 2024-11-29
查看roy_poon的 主题 / 回贴
5楼  发表于: 2017-02-14 17:15
只要PLC支持 FLOAT及其去算 ,都应该可以。
zhanaoshen
级别: 探索解密
精华主题: 0
发帖数量: 11 个
工控威望: 103 点
下载积分: 686 分
在线时间: 14(小时)
注册时间: 2017-02-23
最后登录: 2020-10-23
查看zhanaoshen的 主题 / 回贴
6楼  发表于: 2017-02-23 14:55
直接用  DWORD_to_REAL就可以了

CodeSYS 的转换语法是   待转换的数据类型_to_需转换的数据类型