青年加油
好好学习,努力挣钱
级别: 论坛先锋
精华主题: 0
发帖数量: 182 个
工控威望: 1057 点
下载积分: 9974 分
在线时间: 151(小时)
注册时间: 2019-06-08
最后登录: 2024-11-17
查看青年加油的 主题 / 回贴
楼主  发表于: 2022-07-20 10:36
图片:
用的SB CM01 通过modbus读取模块的参数,读取出来的数据都存在VW3000,VW3002,VW3004,,,,VW3030,一共16通道,现在问题是,参数实际应该是小数,然后读取出的数值是实际数值的100倍,如果就一个通道,一路参数,我可以运算一下,但是现在16个通道,换算起来太繁琐了,要先整数转双整数,在转小数,再除以100,而且这个模块有很多,我想请问一下有什么便捷办法吗,我该怎么转换才好呢
[ 此帖被青年加油在2022-07-20 12:04重新编辑 ]
13821917697
承接电气自动化项目、电气接线图设计、IO点表、电气元器件选型
级别: 工控侠客
精华主题: 0
发帖数量: 755 个
工控威望: 3141 点
下载积分: 13344 分
在线时间: 1067(小时)
注册时间: 2019-12-26
最后登录: 2024-11-17
查看13821917697的 主题 / 回贴
1楼  发表于: 2022-07-20 10:49
PLC里面就让他整数吧,然后触摸屏或者上位机里面,弄个脚本什么的换算下小数
楼主留言:
读出来的是字,不知道屏上,工程值转换行不行,我正在试
青年加油
好好学习,努力挣钱
级别: 论坛先锋
精华主题: 0
发帖数量: 182 个
工控威望: 1057 点
下载积分: 9974 分
在线时间: 151(小时)
注册时间: 2019-06-08
最后登录: 2024-11-17
查看青年加油的 主题 / 回贴
2楼  发表于: 2022-07-20 12:05
问题解决了,感谢各位的解答

我是用的昆仑的屏,然后选择16位VW存储器,小数点留2位,用工程转换100倍的关系,最后显示的数值完全正确

这样程序里什么都不用运算了,很方便
honggun
级别: 网络英雄
精华主题: 0
发帖数量: 1576 个
工控威望: 6998 点
下载积分: 31618 分
在线时间: 908(小时)
注册时间: 2009-11-16
最后登录: 2024-11-18
查看honggun的 主题 / 回贴
3楼  发表于: 2022-07-20 20:14
引用
引用第2楼青年加油于2022-07-20 12:05发表的  :
问题解决了,感谢各位的解答

我是用的昆仑的屏,然后选择16位VW存储器,小数点留2位,用工程转换100倍的关系,最后显示的数值完全正确

这样程序里什么都不用运算了,很方便

有始有终,方便后来人学习。赞一个
zjy000
级别: 略有小成
精华主题: 0
发帖数量: 26 个
工控威望: 219 点
下载积分: 561 分
在线时间: 179(小时)
注册时间: 2007-11-12
最后登录: 2024-11-12
查看zjy000的 主题 / 回贴
4楼  发表于: 2022-07-22 13:00
做一个功能块,8个vw入, 4的个· VD出,如果16个·vw, 调用它两次就行,输入多了, 就多次调用它。  还有一点要注意, 西门子的VD是低字节在前,整合成FLOAT 的 VD时、经常 输入的·高低vW 要相互交换的。
jlzxclgx
级别: 工控侠客
精华主题: 0
发帖数量: 478 个
工控威望: 2067 点
下载积分: 9343 分
在线时间: 286(小时)
注册时间: 2021-11-16
最后登录: 2024-11-14
查看jlzxclgx的 主题 / 回贴
5楼  发表于: 2022-07-22 13:29
感谢楼主分享
yuanbubble
级别: 略有小成
精华主题: 0
发帖数量: 151 个
工控威望: 299 点
下载积分: 247 分
在线时间: 242(小时)
注册时间: 2019-05-27
最后登录: 2024-11-15
查看yuanbubble的 主题 / 回贴
6楼  发表于: 2022-07-22 16:19
图片:
图片:
套接字发给上位机的,我是这样取值的
张平全
为国出力的时候到了
级别: 家园常客
精华主题: 0
发帖数量: 955 个
工控威望: 965 点
下载积分: 1895 分
在线时间: 466(小时)
注册时间: 2008-04-25
最后登录: 2022-11-19
查看张平全的 主题 / 回贴
7楼  发表于: 2022-07-24 19:58
指针间接选址,配合FOR+NEXT一定是捷径
1、每次开始采集前执行一次VW10~vw30,清零;
2、每次采集完成标志出来时,执行对应次数的FOX+NEXT;
3、每执行一次FOR,修改一次FOR值,直到最后一次;
4、多个模块利用ADDR,建立多个间接指针连续数据块。
1、2只做过类似的,有待验证,3、4做过很多最多的做过30多个单元,但缺点非常明显,CPU太慢
[ 此帖被张平全在2022-07-24 20:24重新编辑 ]