1. 前言 当晶体管输出的PLC间的通讯口不足时,可考虑使用IO口建立点对点通讯。
★ 本方法只适用于晶体管输出的PLC。
1.1. 优点
PLC的IO用于通讯时,省去了通讯专用模块,或者不需要为使用编程口尤其是OMRON不敞开的协议而烦恼,IO口号任意指定,更无PLC互联的品牌要求,星型外接的数量可任意增加。
1.2. 局限
PLC由于扫描周期相对较长,所以通讯速度有限,在成本允许或者数据流量大的场合,还是应该采用PLC厂商各自提供的通讯途径。
继电器输出的PLC,由于通讯高速切换输出,切不可使用本方法,否则PLC会在短时间内损坏。
2. IO通讯原理
串行通讯是按时间序列送出一串0/1编码,接收方需要进行同步以正确接收和解释代码来完成通讯。
PLC由于扫描周期长、定时不够精确而不宜采用时间同步的方法。数据传输除需要一根数据线外还需要一根同步信号线,用于告诉发送方新数据收到,否则将无法分辨连续发送的00…或者11…数据。
2.1. PLC-PLC
2.1.1. 双向(2-2线)
以发送4位数据为例,例中A、B机Q0.1口做数据口,Q0.0口做同步口。A机为主机,发送1001(9),从机B发送0101(5),先低位后高位。
500)this.width=500" border="0">
1) A机发送启动同步A-Q0.0=1;
2) B收到同步,也响应发送同步B-Q0.0=1;
3) A机收到B机同步响应后,发送数据A-Q0.1=1,并交变同步A-Q0.0=0
4) B机收到A机同步交变,记录数据A0=1,并发送数据B-Q0.1=1,同时交变同步B-Q0.0=0;
5) A机收到B机同步交变,记录数据B0=1,并发送数据A-Q0.1=0,同时交变同步A-Q0.0=1;
6) 同4,B机记录数据A1=0,发送0,并交变B-Q0.0=1;
7) A机记录数据B1=0,发送0,并交变A-Q0.0=0;
8) ~10)同上,A机发送A2=0,A3=1,B机发送B2=1,B3=0;
11) A机交变同步,完成通讯;
12)B机收到A完成信号,也交变同步,结束通讯。
此方法通讯2周期1位,速度较快,但通讯的帧间隔需要用一定延时来保证后续帧的同步,连绵不断是无法确定当前传输的数据位号的。
通讯的同步信号设计应偶数次交变,以返回初始的状态,可以不要起始信号而第一次就发数据和同步信号,但一定要有结束同步,否则最后1位收完,对方机不知道,会处在多余的等待状态。
编程时因注意由于PLC的2个输出不会严格同步,应先建立数据位,再交变同步,以免对方误收。
2.1.2. 单向(1-2线)
单向通讯较双向为简单,接收机只要交变送出确认信号即可,因此发送机需要2输出、1输入,接收机反之。此方法也是2周期1位的速度。
2.2. 快慢机通讯
由于PLC速度较慢(10ms级),当外接快速的数据设备(如MCU、DSP等μs级)时,可只用更少的输入和输出来完成通讯过程。原理籍于PLC一经送出,在下一个扫描周期的时候对方早已收到并准备了新数据,省去了确认对方是否收到这一步骤,所以PLC每次扫描在发出交变确认信号时均能收到一个新数据,步骤省却的同时也增加了通讯速度。PLC发出交变同步是让接收机甄别出发送的位来。
2.2.1. 双向协议(1-2线)
PLC用1个输入和2个输出, PLC先接收对方数据,再用两个输出表达同步和数据,在下一个扫描周期时也是先接收再发送数据和交变同步,每个周期交换1位数据。