|
FX3U PLC求助 D寄存有32位浮点怎样才能读出。
我用的是TCP连接,读出来是字节集。请问师兄们怎么才能正确读出并换算成10进制的。
下面是写入32位浮点地址和我写出的功能的,麻烦问下怎样才能返回读出来
AMX-FX3U带网口.e
(134.32 KB, 下载次数: 27)
.版本 2
.子程序 XF3U写入浮点, 字节集, 公开, 支持D
.参数 元件, 文本型, , 支持D
.参数 数据, 小数型
.局部变量 存储器类型, 文本型
.局部变量 地址, 文本型
.局部变量 临时数据, 文本型
.局部变量 取出数据, 整数型
.局部变量 i, 整数型
.局部变量 临时写出, 文本型
.局部变量 取出文本, 文本型
.局部变量 转换数据, 文本型
.局部变量 写出数据, 字节集
存储器类型 = 到大写 (取文本左边 (元件, 1))
地址 = 取文本右边 (“0000” + 取文本右边 (元件, 取文本长度 (元件) - 1), 4)
.如果 (到整数 (地址) < 8000 且 存储器类型 = “D”)
转换数据 = 字节集到十六进制文本 (数值到字节集 (数据))
临时数据 = “E10” + 取文本右边 (“0000” + 取十六进制文本 (16384 + 到整数 (地址) × 2), 4) + “04” + 转换数据 + 字符 (3)
.否则
返回 ({ })
.如果结束
.计次循环首 (18, i)
取出数据 = 取出数据 + 取代码 (临时数据, i)
.计次循环尾 ()
取出文本 = 取文本右边 (“00” + 取十六进制文本 (取出数据), 2)
临时写出 = 字符 (2) + 临时数据 + 取出文本
写出数据 = 到字节集 (临时写出)
返回 (写出数据)
|
|