首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]LV串口如何与仪表进行通信

[求助]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如何设置呢?
想看更多的东西?来我的博客,精彩多多! http://blog.eccn.com/u/bjxiong/index.htm

这个问题我很早就解决过,其实问题并不难,就是你还没有搞明白串口总线上的传输的数据格式罢了。

串口总线上传输的是ASCII码,而你使用vb读出来的都是字符。所以要把读回来的数据进行一次转换然后才能够表示正确的意识。

给仪表传指令也是一样的。

希望能够在不久的将来有次合作的机会  群:18994538 QQ: 364304745  个人主页:http://ldmcu.shangwusou.com/

传输和发送一般都是两个字节一位的传送。

假定要读参数的代号是0,CRC校验码是83

那就是

地址代号+52H(82)+0+0+0+83H

将这个二进制代码转换为字符串代码然后由串口进行发送就可以了

希望能够在不久的将来有次合作的机会  群:18994538 QQ: 364304745  个人主页:http://ldmcu.shangwusou.com/

测量值PV+给定值SV+输出值mV及报警状态+所读/写参数值

要想从这个公式里读出测量值,你首先必须知道给定值SV,输出值mV及报警状态,所读/写参数值这几个参数值才能够从返回的数值里解算出测量值 。

希望能够在不久的将来有次合作的机会  群:18994538 QQ: 364304745  个人主页:http://ldmcu.shangwusou.com/

有关串口通讯的帖子里有个串口工作的例子

有时间可以看一下我已经帮你找出来了。

希望能够在不久的将来有次合作的机会  群:18994538 QQ: 364304745  个人主页:http://ldmcu.shangwusou.com/

谢谢版主了!!非常感谢!

想看更多的东西?来我的博客,精彩多多! http://blog.eccn.com/u/bjxiong/index.htm

不谢

欢迎你长来,有问题大家共同解决

希望能够在不久的将来有次合作的机会  群:18994538 QQ: 364304745  个人主页:http://ldmcu.shangwusou.com/
所以要把读回来的数据进行一次转换然后才能够表示正确的意识。
沥青靶式流量计http://www.hsdyb.com/
假定要读参数的代号是0,CRC校验码是83,用LV应该如何编程发送读命令呢?哪位高手指点一下.在VB中是用一个字节数组发送到串口的,LV中的VISA如何设置呢?
沥青靶式流量计http://www.hsdyb.com/
所以要把读回来的数据进行一次转换然后才能够表示正确的意识。

给仪表传指令也是一样的。
沥青靶式流量计http://www.hsdyb.com/
返回列表