260 likes | 460 Views
十、 PLC 通讯技术. 一、问题提出. 在前面的学习和试验中,我们用编程软件进行编辑和下载程序,学习用人机交互装置给 PLC 控制系统加上更多的功能。在这些应用中,我们无一例外的使用了通讯技术,本节我们将更进一步的学习 PLC 的通讯技术。. 二、任务描述. 本节的任务是使用两台 PLC 进行相互通信,交互数据。. 三、 通信 技术介绍. 随着计算机控制技术的普及和大量的智能化设备的使用,利用通讯技术,可以把设备连接起来,相互交互数据,从而实现分散控制集中管理。
E N D
一、问题提出 • 在前面的学习和试验中,我们用编程软件进行编辑和下载程序,学习用人机交互装置给PLC控制系统加上更多的功能。在这些应用中,我们无一例外的使用了通讯技术,本节我们将更进一步的学习PLC的通讯技术。
二、任务描述 • 本节的任务是使用两台PLC进行相互通信,交互数据。
三、通信技术介绍 • 随着计算机控制技术的普及和大量的智能化设备的使用,利用通讯技术,可以把设备连接起来,相互交互数据,从而实现分散控制集中管理。 • 为使得通讯能够通用化,接入方便,在国际上对通讯的硬件接口和软件接口进行了规定,硬件接口的标准有RS232、RS485等,软件协议有TCP/IP协议、Modbus协议等。
四、通信方式分类 按照数据通信方式的不同,可以按不同的标准进行分类: • 并行通信和串行通信方式 • 并行通信一般以字节或字为单位进行通信,一次传输一个字节或字,硬件上除了控制线以外,还最少要用9根( 8位数据线和1个地线)或17根(16位数据线和1个地线)线传输数据。特点是传输速度快,但是硬件成本高,通信距离有限,一般用在近距离通信,如打印机等。 • 并行通信以位为单位进行通信,一次传输一位。用两根线即可通信,传输的距离远,但是通信传输速度比较慢,S7-200PLC就是采用的串行通信方式。
全双工和半双工通信方式 • 全双工通信是指在通信时可以同时进行收发数据。半双工通信是指在通信时不能够同时收发数据,同一时刻要么发数据,要么收数据。 单工通信 双工通信
三、串行通信接口标准 • RS-232C RS-232C是应用在广泛的接口标准,计算机串行通信口就是此接口标准。信号采用负逻辑,-5V~-15V表示逻辑状态“1”,+5V~+15V表示逻辑状态“0”,最大的通信速率为20K/s,最大的通信距离为15m。采用9针(孔)或25针(孔)D型连接器。通信时最少用三根线:Rx(接受)线、 Tx(发送)线、 GND(地)线。 RS-232C接线
RS-232C9针(孔)接口定义 实际使用时可以把4、6相连,7、8相连
RS-422A接口 • RS-422A采用的是平衡驱动、差分接受电路,从而取消了地线信号。平衡驱动器相当于两个单端驱动器,其输入信号相同,两个输出信号互为相反,图中的小圆圈表示相反。实际使用时,为提高抗干扰的能力,在输入端并联一个120Ω电阻。
RS-422A接口 • RS-422A的最大通信速率为10Mbit/S,此时通信的距离为12m。当速度为100Kbit/S时,通信的距离可以达到1200m。
RS-485通信接口 • RS-485 RS-485时RS-422的变形, RS-422是全双工,有两对平衡差分信号线用于发送和接收数据。 RS-485只有一对平衡差分信号线,为半双工方式。 使用RS-485通信接口和连接线路可以组成串行通信网络,实现分布式系统。最多可以有32个子站组成。为提高网络的抗干扰能力,在网络的两端要并联两个电阻,值一般为120 Ω。 S7-200的通信口采用的就是RS-485通信接口。
四、通信数据格式参数 • 对于串行通信方式,在通信时双方必须约定好线路上通信数据的格式,其主要参数有: • 波特率:由于是以位为单位进行传输数据,所以必须规定每位传输的时间,一般用每秒传输多少位来表示。常用的有1200Kbit/S、2400Kbit/S、4800Kbit/S、9600Kbit/S、19200Kbit/S。 • 起始位个数:表示开始传输数据的位,称为起始位,在通信之前双方必须确定起始位的个数,以便协调一致。起始位数一般位1个。 • 数据位数:一次传输数据的位数。在传输数据时,一次不是仅仅传输一位,而是传输多位,一般为8位,正好一个字节,常见的还有7位,用于传输ASCII码。
通信数据格式 • 检验位:为了提高传输的可靠性,一般要设定检验位,以指示在传输过程中是否出错,一般单独占用一位。常用的检验方式有:偶检验、奇检验。当然也可以不用检验位。 • 停止位:当一次数据位数传输完毕后,必须发出传输完成的信号,即停止位。停止位一般有1位、1.5位和2位的形式。 • 站号:在通信网络中,为了标示不同的站,必须给每个站一个唯一的表示符,称为站号。通一个网络中所有的站的站号不能相同,否则会出现通信混乱。 思考:波特率位9600Kbit/S、8个数据位、1个停止位、偶检验、1个起始位,问:每秒钟能够传输多少个字节?
五、通信协议 • 要进行通信,光有硬件是不够的,还必须对通信的数据格式进行定义和说明,称为通信协议。S7-200PLC支持的通信协议有PPI协议和MPI协议。同时,通过直接操作通信口,可以实现其他的通信协议,如Modbus协议等。我们此处以PPI协议为例进行讲解。 • 在使用PPI协议时,网络中不论连接多少台PLC或计算机,当只能有一个主站,其他的为从站。即只能有一个站能够主动发送数据,其他的只能被动的接收数据或当主站要求自己发送数据时才能够发送数据,而不能主动发送数据。
PPI通信协议 • 在PPI通信协议中规定了如何才能够读取数据、如何才能够把数据写到PLC中。 • PPI才传输数据时,传输的格式为:8位数据位、1位偶检验、1位停止位、1位起始位,通信速率和站地址可以更改。
七、S7-200PLC和计算机通信 • 计算机所用的通信接口为RS-232A, S7-200PLC的通信接口为RS-485,所以两者必须进行转换,常用的就是我们编程时用的PC/PPI电缆。
S7-200PLC和计算机通信 • PC/PPI电缆在使用之前,必须进行设置,这样才可以和PLC通信参数一致。设置方法如下:
八、利用PPI协议实现双PLC之间的通信 • 要进行双PLC通信,首先必须设置PLC的通信波特率和站号。 • 选择【系统参数】的【通信端口】命令,出现提示窗口后设置站号和波特率。 • 设置完成后必须重新下载,而且要选中【系统块】选项,否则设置参数在PLC中没有生效。 站号 波特率 必须选中
利用PPI协议实现双PLC之间的通信 • 通信数据的读写指令为NETR(写)和NETW(读)。 • 注意事项: • 每次读或写最多16个字节; • 同时只能有8个NETR(写)和NETW (读)同时执行。 • PORT用于指定通信端口,S7-200只有一个端口,所以此值始终为0,对于S7-226因为有两个端口,通信端口可以为0或1,分别对应两个通信口。
利用PPI协议实现双PLC之间的通信 • TBL为一个数据表的起始单元,此数据表规定了对方PLC地址,要读会写数据单元的地址,读写数据的长度和要写入的数据和读取的数据,以由PLC根据通信状况写入的状态。其格式如下:
利用PPI协议实现双PLC之间的通信 • 表的首字节表示的通信状态,含义如下
读数据实例 • 以下实例是读取地址为3的PLC中VB100到VB115共16个单元中的16个字节的数据。表存放在VB200开始的存储单元中。
写数据实例 • 以下实例是把数据写到地址为3的PLC中VB100到VB115共16个单元。表存放在VB200开始的存储单元中。
九、项目任务 • 把水位测量装置中计算出的水位值送到另外一台PLC中。