PAGE1
PAGE1
PPI通信
1.PPI通信概述
PPI(Point-to-PointInterface)通信是西门子S7-200系列PLC之间以及PLC与编程设备之间的一种简单、低成本的通信方式。PPI通信基于RS-485标准,支持主从模式的通信。在主从模式中,一个主设备可以与多个从设备进行通信,每个从设备有唯一的地址。PPI通信的传输速率可以设置为9.6kbps、19.2kbps、187.5kbps等,具体取决于应用需求。
2.PPI通信的物理层
2.1RS-485物理层
PPI通信使用RS-485标准的物理层,该标准支持多点通信,能够在一个网络中连接多个设备。RS-485使用差分信号传输,能够提高通信的抗干扰能力,适用于较长距离的通信。RS-485的最大传输距离为1200米,最大通信速率为10Mbps,但在PPI通信中通常使用较低的速率以确保稳定性和可靠性。
2.2通信线缆
PPI通信通常使用两根差分信号线(A和B)和一根地线(GND)进行通信。通信线缆的选择应考虑传输距离和速率,常见的线缆类型包括屏蔽双绞线,以减少电磁干扰,提高通信质量。
3.PPI通信的协议层
3.1PPI协议
PPI协议是一种半双工通信协议,支持主从模式。主设备发起通信请求,从设备响应。每个PPI帧由多个字节组成,包括起始字节、地址字节、控制字节、数据字节和校验字节。通信过程中,主设备和从设备通过这些字节进行数据交换和状态确认。
3.2帧格式
PPI通信的帧格式如下:
字段|位数|描述|
|————|——|————————————-|
起始字节|1|标识通信帧的开始|
地址字节|1|从设备的地址,范围0x00到0xFF|
控制字节|1|包含命令和通信类型等控制信息|
数据字节|0-n|实际传输的数据,长度可变|
校验字节|1|用于校验帧的完整性|
3.3通信命令
PPI协议支持多种通信命令,包括读取输入寄存器、写入输出寄存器、读取状态字等。每个命令都有特定的控制字节和数据格式。
4.PPI通信的编程方法
4.1使用指令实现PPI通信
S7-200系列PLC提供了专门的通信指令,如SEND和RECEIVE,用于实现PPI通信。这些指令可以方便地在梯形图或指令列表中使用。
4.1.1SEND指令
SEND指令用于主设备发送数据到从设备。其语法如下:
SENDP1,P2,P3,P4,P5,P6,P7,P8
P1:从设备的地址
P2:通信端口(0或1)
P3:要发送的数据的起始地址
P4:要发送的数据长度
P5:收到确认的起始地址
P6:收到确认的长度
P7:超时时间(以毫秒为单位)
P8:状态字
4.1.2RECEIVE指令
RECEIVE指令用于从设备接收主设备发送的数据。其语法如下:
RECEIVEP1,P2,P3,P4,P5,P6,P7,P8
P1:主设备的地址
P2:通信端口(0或1)
P3:接收数据的起始地址
P4:接收数据的长度
P5:发送确认的起始地址
P6:发送确认的长度
P7:超时时间(以毫秒为单位)
P8:状态字
4.2通信参数设置
在使用PPI通信之前,需要设置通信参数,包括波特率、通信端口、设备地址等。这些参数可以在编程软件中进行设置,也可以通过硬件跳线进行配置。
4.2.1波特率设置
波特率的选择应根据实际应用的需求进行。常见的波特率设置包括9.6kbps、19.2kbps、187.5kbps等。在编程软件中,可以通过以下方式设置波特率:
;设置波特率为19200bps
SMB30=0x0A
4.2.2通信端口设置
S7-200系列PLC通常有两个通信端口(0和1)。在编程软件中,可以通过以下方式设置通信端口:
;设置使用端口1
P2=1
4.2.3设备地址设置
设备地址的设置确保每个设备在网络中具有唯一的标识。在编程软件中,可以通过以下方式设置设备地址:
;设置设备地址为0x01
SMB66=0x01
4.3通信状态字
通信状态字用于指示通信的状态,包括成功、失败、超时等。状态字的值可以通过编程软件中的监控功能进行查看。常见的状态字值如下:
状态字|描述|
|——–|————————–|
0x00|通信成功|
0x01|通信失败|
0x02|超时|
0x03|从设备未响应|
4.4通信超时设置
在PPI通信中,超时设置是一个重要的参数,用于防止通信过程中长时间等待。超时时间的设置应根据实际通信距离和速率进行调整。在编程软件中,可以通过以下方式设置超时时间:
;设置超时时间为1000ms
P7