我这里是用串口服务器接收外围485设备,于是串口1接温度采集模块1,用DB块1接收;串口2接温度采集模块2,用DB块2接收;所有编程思路、数据结构都一样,就是站号不一样。结果温度采集模块1的数据往往显示到温度采集模块2那个HMI区域去了,也就是温度采集模块1进了DB块2,温度采集模块2输进了DB块1。
因为以前我看到的资料都是说MB_Client的使能脚(EN脚)必须得常开,我为了解决目前的两串口互换数据的问题,就把EN脚用常开来控制。每次读完一个站号的数据,就将EN脚断开;去读下一个站号的数据时,再把EN脚接通。这样一来,互换数据的频率大大减轻;有倒是有,但是是偶尔看到的,我后来盯着看了很长一段时间都没有。看是依然还是有的,只是极少发生。
末了问一下,每读完一个站号的数据时,用不用Disconnnect此指令一下?是不是就可以彻底断绝互换数据的事发生?

