您现在所在的是:

信捷XINJE

回帖:8个,阅读:401 [上一页] [1] [下一页]
* 帖子主题:

求助一段计算算法

114
憨憨小白
文章数:50
年度积分:114
历史总积分:114
注册时间:2022/1/19
发站内信
发表于:2024/8/16 11:14:50
#0楼
附件 1723777707559.jpg

如图
是一台电阻仪的通讯数据,提取的是ASCII码的十六进制数据,通讯方式是RS232,结果值是当前电阻

PLC是信捷的XD5-48T-E,支持C函数



42319
YXBK 版主
文章数:19442
年度积分:2733
历史总积分:42319
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2024/8/16 12:07:15
#1楼
先用HEX指令把对应数字的寄存器转换成数字,然后乘以相应倍数后再加在一起

正负的判断,负号的十进制是45,可以用比较指令,如果D600等于45,就用0减去

如果有小数点的,可以把相加的结果转换成浮点后再除以倍率

比如12.345,先把12345转成单个数字,然后1*10000+2*1000+3*100+4*10+5=12345

转成浮点后再除以1000,就是12.345了

如果需要更详细的解答,请上传通讯协议,或者告知实际测量的数值与PLC监控到得ASCII数据(就是你截图的内容)

附件 微信截图_20240816120237.jpg
大家一起学习
114
憨憨小白
文章数:50
年度积分:114
历史总积分:114
注册时间:2022/1/19
发站内信
发表于:2024/8/16 12:38:58
#2楼
回复 #1楼 YXBK
D602处的小数点是不变的,主要问题在于2个正负和10的次方,不考虑10的﹣次方的话我写了,C函数我也是初学所以写的比较烂
附件 1723783199164.jpg

附件 1723783243798.jpg
[此贴子已经被作者于2024/8/16 12:42:50编辑过]
114
憨憨小白
文章数:50
年度积分:114
历史总积分:114
注册时间:2022/1/19
发站内信
发表于:2024/8/16 12:49:26
#3楼
附件:
[本地下载]
至于具体的协议是
附件 1723783671443.jpg
[此贴子已经被作者于2024/8/16 12:54:47编辑过]
42319
YXBK 版主
文章数:19442
年度积分:2733
历史总积分:42319
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2024/8/16 15:17:21
#4楼
回复 #2楼 憨憨小白
提到函数,我就靠边了

不知道用死办法行不行,先把D601-D608整理出来成小数

然后再算次方那里,比如次方那里是3,你就乘以1000,如果是-2就除以100

最后再根据D600判断整个数据的正负

我只鞥想出这个办法了,不知行不行


期待高手解答
大家一起学习
114
憨憨小白
文章数:50
年度积分:114
历史总积分:114
注册时间:2022/1/19
发站内信
发表于:2024/8/17 13:26:23
#5楼
回复 #4楼 YXBK
感谢大佬,我回来教作业了。
附件 1.jpg

附件 2.jpg

附件 3.jpg

附件 4.jpg
429
jiashijiang
文章数:37
年度积分:429
历史总积分:429
注册时间:2021/5/9
发站内信
发表于:2024/8/17 15:06:49
#6楼


附件 微信图片_20240817150800.jpg
[此贴子已经被YXBK于2024/8/17 20:07:08编辑过]
12465
蛇会大学
文章数:4619
年度积分:791
历史总积分:12465
注册时间:2015/12/14
发站内信
2018论坛分享达人
发表于:2024/8/18 18:39:51
#7楼
这些是16进制的数据,每位除了0至9以外,还有A至F

你的程序直接减H30还原的数据会不会出错?
敏问找算丁亏楼累
敏问找算哭哲累嘿
敏问够算恐哈做累揍忍没催妹
比漏累伤醒更八音舍黑
我晕能以身问晕陪笨累
114
憨憨小白
文章数:50
年度积分:114
历史总积分:114
注册时间:2022/1/19
发站内信
发表于:2024/8/20 10:25:01
#8楼
回复 #7楼 蛇会大学
这段程序只是为了处理提取电阻通讯后的参数,我只针对数字位进行提取的16进制转换成10进制,用肯定没问题啊,但是通用肯定不行。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004