LabVIEWwilliam hill官网
直播中

世人皆不同

4年用户 289经验值
擅长:可编程逻辑
私信 关注
[问答]

如何将数组转换成整形数值

PLC中写连续两个寄存器的值在labviewmodbus模块中显示为一维数组,比如写HD316和HD317两个寄存器值分别为100和200,在PLC监控中10进制双字的值为13107300,如何在labview中将一维数组转换成对应的整型数值呢?
...可能我描述的不清楚,就像图上显示的那样,如何将labview中那个100,200的一维数组转换成PLC监控到的10进制双字的 13107300那个值呢?
  • PLC中监控到双字10进制值.png
  • 单字10进制数组.png

回帖(7)

h1708587190.9282

2020-8-26 00:23:45

最佳答案

希望你能够解决你的问题
2 举报
  • 世人皆不同: 谢谢了,就是这样的。请问能给我说说那两个控件的作用嘛,索引数组,特别是那个逻辑移位有点没怎么理解...
  • 世人皆不同: 还有请问反过来如何将一个数值输入控件按照这种高低位转换成数组输入控件呢,因为我更多的是需要写入2个寄存器,需要数值输入控件。
  • 无标题.png

ssl

2020-8-26 11:27:14
你在函数选板-编程-数值-数据操作-整数拼接,HD317为高位,HD316为低位,拼接到一起就可以得到双字数了!
用个For循环把数组里的每两个字按先低后高的顺序拼接一下就可以了。
现在william hill官网 发不了图了啊!
2 举报
  • 世人皆不同: 嗯嗯 谢谢您的回答
  • 世人皆不同: 啊 上面那老哥的方法适合用在读寄存器时候,可我大部分情况都需要写两个连续的寄存器。请问如何将数组输入控件,按照双字数转换成数值输入控件显示在界面中?我在界面里可以直接操作数值输入控件改变寄存器的值啊?

ssl

2020-8-27 08:43:09
你是这意思吗?自己写的U32的数拆成两个U16的数,分别写到两个寄存器里。
3 举报
  • ssl: LabVIEW都给准备好函数了,为什么还有自己写??????????????
  • 世人皆不同 回复 ssl: labviewmodbus写多个寄存器函数不是只能用数组输入控件嘛,这样界面里显示的也是数组,我想把那个数组输入控件变成数值输入控件,这样界面里方便看寄存器里的脉冲值....大哥您看看我下面的发的图
  • 世人皆不同 回复 ssl: 图好像发不出来,我的意思就是把modbus写多个寄存器那个输入寄存器值的数组输入控件转换成普通的数值输入控件,不想用数组,界面输入具体脉冲值的时候比较直观....
  • 1.jpg

世人皆不同

2020-8-27 22:19:18
大哥你看我这图,就是把函数要求数组输入两个寄存器的值,转换成一个数值输入控件,这样在前面板中赋值比较直观.....
举报
  • 数组转换成数值输入控件.jpg

更多回帖

发帖
×
20
完善资料,
赚取积分