您现在所在的是:

三菱Mitsubishi

回帖:8个,阅读:4020 [上一页] [1] [下一页]
7662
jiouai84
文章数:655
年度积分:50
历史总积分:7662
注册时间:2013/1/7
发站内信
发表于:2021/5/27 16:53:12
#0楼
附件 微信截图_20210527164915.jpg

如图片所示,HEX指令,我用m8000后面直接用HEX指令,就会报运算错误,后来我加了个脉冲,M30来执行,等到M30ON的时候还是会报运算错误,想问下大家,这个指令应该 是怎么设置它的运行条件。

1734
clooer2000
文章数:19
年度积分:50
历史总积分:1734
注册时间:2008/6/2
发站内信
发表于:2021/5/27 17:45:05
#1楼
你的K1M152是干什么用的?直接写HEX D93 D42 K1  不行么?
37240
cvlsam 版主
文章数:12401
年度积分:1592
历史总积分:37240
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2021/5/27 20:43:33
#2楼
以下是引用jiouai842021/5/27 16:53:12的发言:
附件 微信截图_20210527164915.jpg

如图片所示,HEX指令,我用m8000后面直接用HEX指令,就会报运算错误,后来我加了个脉冲,M30来执行,等到M30ON的时候还是会报运算错误,想问下大家,这个指令应该 是怎么设置它的运行条件。


HEX仅能转换字符0~9,字符A~F,其他值均不可转换,请为你需要转换的源数据赋值,确保它存储的ASCII码为0~9,A~F之间的值。

例如可以如下图赋值:
附件 workpicture1.jpg

Good Luck~
7662
jiouai84
文章数:655
年度积分:50
历史总积分:7662
注册时间:2013/1/7
发站内信
发表于:2021/5/28 8:25:24
#3楼
回复 #2楼 cvlsam
前面还有一截程序我没有贴出来,就是用自由口通讯和易能的变频器通讯,变频器返回的频率,电压,电流值,是ASC码,比如是30 31 35 39  频率的实际值是0159,所以要用HEX指令,把这个0159别转换出来
7662
jiouai84
文章数:655
年度积分:50
历史总积分:7662
注册时间:2013/1/7
发站内信
发表于:2021/5/28 8:29:19
#4楼
回复 #1楼 clooer2000
因为从变频器返回的频率值占了四个存储位置,所以用K4M140,把四个存储器分别赋值给M,然后把K1M140整体读出来,合成一个整体的数据
37240
cvlsam 版主
文章数:12401
年度积分:1592
历史总积分:37240
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2021/5/28 8:55:56
#5楼
以下是引用jiouai842021/5/28 8:25:24的发言:
前面还有一截程序我没有贴出来,就是用自由口通讯和易能的变频器通讯,变频器返回的频率,电压,电流值,是ASC码,比如是30 31 35 39  频率的实际值是0159,所以要用HEX指令,把这个0159别转换出来

我已经告诉你HEX运算出错的原因了,我不关心你前面的程序,你也不需要关心前面的程序,你只需要确保执行HEX指令时你的源寄存器中的数据。

Good Luck~
42328
YXBK 版主
文章数:19445
年度积分:2742
历史总积分:42328
注册时间:2007/4/14
发站内信
2015论坛优秀版主
2015春节活动
2013论坛优秀版主
2012论坛优秀版主
发表于:2021/5/28 8:59:02
#6楼
以下是引用jiouai842021/5/28 8:25:24的发言:
前面还有一截程序我没有贴出来,就是用自由口通讯和易能的变频器通讯,变频器返回的频率,电压,电流值,是ASC码,比如是30 31 35 39  频率的实际值是0159,所以要用HEX指令,把这个0159别转换出来

直接转到数据寄存器D里面,然后再乘以倍数最后相加

比如转换到 D80 D81 D82 D83

然后D80*1000+D81*100+D82*10+D83=0*1000+1*100+5*10+9=159
大家一起学习
37240
cvlsam 版主
文章数:12401
年度积分:1592
历史总积分:37240
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2021/5/28 10:15:17
#7楼
以下是引用YXBK2021/5/28 8:59:02的发言:
以下是引用jiouai842021/5/28 8:25:24的发言:
前面还有一截程序我没有贴出来,就是用自由口通讯和易能的变频器通讯,变频器返回的频率,电压,电流值,是ASC码,比如是30 31 35 39  频率的实际值是0159,所以要用HEX指令,把这个0159别转换出来

直接转到数据寄存器D里面,然后再乘以倍数最后相加

比如转换到 D80 D81 D82 D83

然后D80*1000+D81*100+D82*10+D83=0*1000+1*100+5*10+9=159

原始数据并非16进制数据,而是ASC,所以不能如此处理。

Good Luck~
10603
heshilih
文章数:1061
年度积分:910
历史总积分:10603
注册时间:2010/8/25
发站内信
发表于:2021/5/28 10:58:58
#8楼
学习了,还是很不错的

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

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

78.0005