台达应该是半双工,就算是全双工,每次通讯间也会有间隔。一笔MODBUS数据通过485总线传输大概是要20多ms。就算读写同时进行,两次采集间也是需要时间间隔,这个和你的控制要求有关系,到底是要多块。如果需要快,建议你使用CAN或者以太网来进行通讯。你同时进行的话,我觉得和半双工模式差距就是一个效率的问题。也就是说目前的方式是大概40ms写一次以及读一次,全双工则是20ms。(如果数据量大的话时间会增加)如果你觉得这个控制周期还是太长,那么我建议你可以使用别的通讯方式,CAN或者以太网。
如果说只要满足读取,写入相对同时进行,不是很关注每次完成时间,也就是说大概80ms以内完成一次读取一次写入可以接受的话,你还是可以通过通讯座轮询,当然这个时序你必须控制好。我不知道你PC端是用什么区实现的,通讯大致有这几种结果。1.通讯成功 2.通讯逾时 3.通讯错误 如果通讯完成(成功,逾时,错误),你PC端都可以继续发下一次的数据(无论读写)。当然发下一笔数据的前提必须是通讯成功!如果PC端发了,PLC没有回你就继续直接发下一笔的话,可能会和回来的数据有冲突导致通讯失败。