ricken 发表于 2006-10-26 01:38:19

LV串口如何与仪表进行通信

仪表通讯协议规定,地址代号为两个字节,其数值范围(16进制)是80H-BFH,两个字节必需相同,数值为“仪表地址+80H”。例如,仪表参数Addr=10(16进制数为0AH,0A+80H=8AH),则该仪表的地址表示为:8AH 8AH 读/写指令分别如下:读:地址代号+52H(82)+要读参数的代号+0+0+CRC校验码写:地址代号+43H(67)+要写参数的代号+写入数低字节+写入数高字节+CRC校验码无论是读还是写,仪表都返回以下数据:测量值PV+给定值SV+输出值mV及报警状态+所读/写参数值 假定要读参数的代号是0,CRC校验码是83,用LV应该如何编程发送读命令呢?哪位高手指点一下.在VB中是用一个字节数组发送到串口的,LV中的VISA如何设置呢?

ricken 发表于 2006-10-28 16:42:26

谢谢楼上的兄弟.我试一下先.

ricken 发表于 2006-10-28 17:00:35

<p>是不是要将命令中的16进制数变为10进制数再组合一个数组啊.</p>

cpubbs 发表于 2006-10-26 02:15:48

在发送框里面直接输入你需要的东西即可以的兄弟,不过要右击选择HEX DISPLAY,然后输入需要的指令就可以了,这时候看到的就是发送的!

wdyjz 发表于 2006-10-26 02:18:26

<p>可以先builde array,然后byte array to string,</p>

wdyjz 发表于 2006-10-30 01:36:05

<p>just it is.</p>

ricken 发表于 2006-10-26 19:45:39

以下是引用cpubbs在2006-10-25 18:15:48的发言:在发送框里面直接输入你需要的东西即可以的兄弟,不过要右击选择HEX DISPLAY,然后输入需要的指令就可以了,这时候看到的就是发送的! 请问版主,根据通信协议,要读取数据的命令如下:假定仪表地址是01 81 81 82 00 0 0 83 那在发送框里输入的时候是不是要加空格还有结束符什么的啊.

wdyjz 发表于 2006-10-26 20:29:37

<p>这个根据情况可以添加,如果使用cpubbs的方法,最好加上以区分;我使用的为byte array的方式,就不用加结束符或空格之类的东西了。</p>

ricken 发表于 2006-10-30 23:26:57

谢谢楼上的兄弟,再试一下.

ricken 发表于 2006-10-27 19:56:27

以下是引用wdyjz在2006-10-26 12:29:37的发言:<p>这个根据情况可以添加,如果使用cpubbs的方法,最好加上以区分;我使用的为byte array的方式,就不用加结束符或空格之类的东西了。</p> 请问一下如何将这些命令代码建立一个byto array 啊.能给出框图吗?谢谢!

wdyjz 发表于 2006-10-27 21:38:03

请参考!
页: [1]
查看完整版本: LV串口如何与仪表进行通信