发布于 2008-07-25 22:26:12
0楼
会不会有冲突,要看变频器的通讯协议。
有的厂家变频器是RS232的全双工。但是PLC不支持,你只能按半双工来写通讯程序,这就意味着:对每台的发送都要等待应答,否则就会产生冲突,丢失报文、造成混乱。
因此,轮询的方式:
首先,做“表”,通讯的数据是放在“表”里。控制程序和“表”交换,通讯程序也周期的和“表”交换(读写)。
对每一台的地址通讯采用时间线(万一没有应答,别傻等)。跳出、轮询下一台。
在每一地址的时间线内,可以考虑再分几次(例如:3次),也就是应答出错,再次发送、等待应答。如果应答无误,立即跳出,发送下一个报文。
周而复始....。
这样,不管变频器是否上电、不管通讯是否有些干扰,这样的通讯程序一般就可以了。
学而时习之,不亦说乎?温故而知新,不亦乐乎?