labview一个串口与两个设备通讯的问题
实验用到一台232的设备,通过232转485转换器转为485信号,再和一台485设备并在一起,送入485转232转换器,转换成232信号,送入电脑的一个串口,用LABVIEW编程与之通讯,不知道如何实现分时通讯,分不同的时段分别给两台设备发送查询命令 定义一个软件协议,里面包含通信地址,通过地址进行区分 回复 飞雨天 的帖子谢谢啊,能不能稍微说得具体一点呢,因为我是新手,导师的一个项目需要用到这个,刚刚学了点皮毛,现在带的两个采集设备,一个是本来就是485的设备,所以通讯命令中包含地址,另一个是232设备,所以通信命令中不包含地址,也不知道它的地址是什么,现在就这么并行的把两条命令通过一个串口发送出去,导致两个设备的响应很混乱,时对时错的,我具体该怎么做呢? 232和485标准只是定义电气特性,没有协议吧?你485协议肯定是自己或第三方写的,那你232也定义一个协议,反正只要两个协议能区分就可以了 回复 mizhir 的帖子
自己定义一个地址,每个设备定义一个协议,协议格式可以是相似的,但是中间只要有一个值不同就可以区分两台设备了。
比如设备1可以写一个协议:
帧头:AA 55
设备地址:01 00
设备数据:.........
校验位:.........
帧尾:CC 33 C3 3C
设备2写一个协议:
帧头:AA 55
设备地址:02 00
设备数据:.........
校验位:.........
帧尾:CC 33 C3 3C
最好做一个握手协议。
回复 wanshiwch 的帖子
不好意思啊,再问一个可能很幼稚的问题,我的232设备数据查询命令是,fetch?,我就用visa write 将这个命令写进去,它就会响应,将测试数据传送回来,我的485设备的数据查询命令是AA 01 A0 00 00 4B 其中AA是查询的意思,01是设备的地址号,4B是校验位,我如何给我的232设备设置一个您刚才所说的那种协议?将它的查询命令也改成像485设备这种格式的命令?另外请教一下VISA清空缓冲区命令里,接受缓冲区和传输缓冲区,各具体指什么?接受缓冲区是存储电脑接受的命令,然后传输缓冲区存储设备返回的数据么?谢谢您的指教了!
页:
[1]