当前位置:文档之家› 第8章 PLC的通信功能及应用

第8章 PLC的通信功能及应用

第8章 PLC的通信功能及应用
第8章 PLC的通信功能及应用

第8章PLC通信功能及应用

学习目标

理解计算机、文本显示器、人机界面在S7-200系列PLC网络中的作用及PLC与变频器通信的实现方法;

理解S7-200系列PLC自由端口通信协议的含义及实现方法;

掌握S7-200系列PLC网络通信协议及网络通信的实现方法。

随着计算机网络技术的发展,现代企业的自动化程度越来越高。在大型控制系统中,由于控制任务复杂,点数过多,各任务间的数字量、模拟量相互交叉,因而出现了仅靠增强单机的控制功能及点数已难以胜任的现象。所以,各PLC生产厂家为了适应复杂生产的需要,也为了便于对PLC 进行监控,均开发了各自的PLC通讯技术及PLC通讯网络。

PLC的通讯就是指PLC与计算机之间、PLC与PLC之间、PLC与其它智能设备之间的数据通讯问题。

8.1 S7-200系列PLC的通信协议及通信指令

8.1.1 S7-200系列PLC的自由端口通信

1.自由端口通信模式

S7-200系列PLC的串行通信口可以由用户程序来控制,这种由用户程序控制的通信方式称为自由端口通信模式。利用自由口模式,可以实现用

235

户定义的通信协议,可以同多种智能设备进行通信。当选择自由端口通信模式时,用户程序可通过发送/接收中断、发送/接收指令来控制串行通信口的操作。通讯所使用的波特率、奇偶校验以及数据位数等由特殊存储器位SMB30(对应端口0)和SMBl30(对应端口1)来设定。特殊存储器位SMB30和SMB130的具体内容如表8-1所示。

表8-1 通信用特殊存储器位SMB30和SMBl30的具体内容

为了方便的设置自由口通信模式,可参照表8-2直接选取SMB30(或SMB130)的值。

表8-2 SM30通信功能控制字节值与自由口通信模式特性选项参照表

236

237

在对SMB30赋值之后,通信模式就被确定。要发送数据则使用XMT 指令;要接收数据则可在相应的中断程序中直接从特殊存储区中的SMB2(自由口通信模式的接收寄存)读取。若是采用有奇偶校验的自由口通信模式,还需在接收数据之前检查特殊存储区中的SMB3.0(自由口通信模式奇偶校验错误标志位,置位时表示出错)。

注意:只有PLC 处于RUN 模式时,才能进行自由端口通讯。处于自由端口通讯模式时,不能与可编程设备通讯,比如编程器、计算机等。若要修改PLC 程序,则需将PLC

处于STOP 方式。此时,所有的自由口通信被禁止,通信协议自动切换到PPI 通信模式。

2. 自由口通信发送/接收指令

(1)发送/接收数据指令格式与功能(见表8-3)

说明:

1/发送数据缓冲区的首地址。可寻址的寄存器地址为

表8-3 发送/接收数据指令格式及功能

VB、IB、QB、MB、SMB、SB、*VD、*AC;

2)TBL数据缓冲区中的第一个字节用于设定应发送/应接收的字节数,缓冲区的大小在255个字符以内。

3)PORT指定通讯端口,可取0或1。

4)对发送XMT指令

①在缓冲区内的最后一个字符发送后会产生中断事件9(通信端口0)或中断事件26(通信端口1),利用这一事件可进行相应的操作。

②SM4.5(通信端口0)或SM4.6(通信端口1)用于监视通信口的发送空闲状态,当发送空闲时,SM4.5或SM4.6将置1。利用该位,可在通信口处空闲状态时发送数据。

5)对接收RCV指令

①可利用字符中断控制接收数据

每接收完成1个字符,通信端口0就产生一个中断事件8(或通信端口1产生一个中断事件25)。接收到的字符会自动的存放在特殊存储器SMB2中。利用接收字符完成中断事件8(或25),可方便地将存储在SMB2中的字符及时取出。

②可利用接收结束中断控制接收数据

当由TABLE指定的多个字符接收完成时,将产生接收结束中断事件23(通信端口0)或接收结束中断事件24(通信端口1),利用这个中断事件可在接收到最后一个字符后,通过中断子程序迅速处理接收到缓冲区的字符。

③接收信息特殊存储器字节SMB86~SMB94(SMB186~SMB194)

238

PLC在进行数据接收通信时,通过SMB87(或SMB187)来控制接收信息;通过SMB86(或SMB186)来监控接收信息。其具体字节含义如表8-4所示。

表8-4 通讯用特殊存储器字节SMB86(SMBl86)~SMB94(SMB194)的含义

(2)发送/接收指令编程举例

239

240

例1 当输入信号I0.0接通并发送空闲状态时,将数据缓冲区VB200中的数据信息发送到打印机或显示器。

编程要点是首先利用首次扫描脉冲,进行自由口通信协议的设置,即初始化自由端口;然后在发送空闲时执行发送命令。对应的梯形图程序如用8-1所示。

例2 用本地CPU224的输入信号I0.0上升沿控制接收来自远程CPU224的20个字符,接收完成后,又将信息发送回远程PLC ;当发送任务完成后用本地CPU224的输出信号Q0.1进行提示。

设置通信参数SMB30=9,即无奇偶检验、有效据数位8位、波特率9600bps 、自由口通信模式;不设超时时间,接收和发送使用同一个数据缓冲区,首地址为VB200。对应的梯形图程序如图8-2所示。

图8-1 发送数据梯形图程序

第一次扫描接通

创建一个发送数据的指针

初始化自由端口

当I0.0接通及发送空闲(SM4.5=1)时,发送由VDl00指向的缓冲区的信息

241

例3 两个PLC 之间的自由口通信。已知有两台S7-224型号PLC 甲和乙。要求甲机和乙机采用可编程通信模式进行数据交换。乙机的IB0控制甲机的QB0。对发送和接收的时间配合关系无特殊要求。

1)编程要领

设乙机发送数据缓冲区首地址为VB200,在方式开关由RUN

位置转向

接收完成时发送数据

b )接收完成中断服务程序

发送完成时Q0.1得电

c )发送完成中断服务程序1

图8-2 接收指令编程举例

a )接收指令编程主程序

首次扫描标志位SM0.1

初始化自由端口

传送字节数20装入缓冲器首地址

接收完成时连接到中断服务程序INT_0

发送完成时连接到中断服务程序INT_1

全局开中断

在I0.1的上升沿接收数据

TERM位置时,建立自由口通信协议,将IB0的数据送至数据缓冲区,执行XMT指令发送数据;甲机通过SMB2接收乙机发送过来数据,在方式开关由RUN位置转向TERM位置时,建立自由口通信协议,将接收字符中断事件8连接到中断子程序0,在中断服务程序中从SMB2读取乙机数据,然后再送至QB0。

2)控制程序

乙机的发送程序如图8-3所示,甲机的接收程序如图8-4所示。

3)程序说明

①发送程序由于指令XMT的格式要求,其PORT端除支持直接寻址方式外,还可支持间接寻址。考虑到该程序对发送数据所存放地址的灵活性,故选用指针方式的间接寻址。指针的内容放在VD300中。通过查表8-3,将SMB30设置为09H表示:自由口通信模式,每字符8位,无奇偶校验,波特率为9600bps等特性。一直将IB0的内容送往发送缓冲区表VB201中,这样可保证乙机的IB0对甲机的QB0的控制作用一直有效。

②接收程序同发送程序,先进行通信方式的设定,在主程序中将接收中断(事件号8)与中断子程序0相连接,之后全局开中断。在中断服务程序中只是简单地读取接收缓冲寄存器SMB2的内容送至甲机的QB0即可,这样符合中断程序编制得越短越好的原则。

242

243

CPU 工作方式开关在TERM 位置

时,设置自由有口通信协议

CPU 工作方式开关在RUN 位置时,设置点对点接口协议

设置接收完成中断连接

开中断

a ) 甲机接收主程序

图8-3 乙机发送梯形图程序

CPU 工作方式开关在TERM 位置时,设置自由有口通信协议

CPU 工作方式开关在RUN 位置时,设置点对点接口协议

创建一个发送数据的指针

指定发送的字节数

将要发送的数据置于待发送的数据缓冲区中

执行发送命令,将数据从端口0发送到甲机的数据缓冲器SMB2中

b )甲机接收中断服务程序

将接收到缓冲区的数据取出

244

8.1.2 S7-200系列PLC 的网络通信

1.S7-200系列PLC 的网络连接形式 1)点对点通信网络

在这种连接形式中,采用一根PC/PPI 电缆,将计算机与PLC 连接在一个网络中,PLC 之间的连接则通过网络连接器来完成,如图8-5所示。这种网络使用PPI 协议进行通讯。

PPI 协议是一个主/从协议。这是一种基于字符的协议,共使用字符11位:1位起始位,8位数据位,1位奇偶较验位,1位结束位。通讯帧依赖于特定起始位字符和结束字符,源和目的站地址,帧长,以及全部数据和校验字符。这个协议支持一主机多从机连接和多主机多从机连接方式。在这个协议中,主站给从站发送申请,从站进行响应。从站不初始化信息,但是当主站发出申请或查询时,从站才响应。网络上的所有S7-200CPU 都作为从站。

如果在程序中允许PPI 主站模式,一些S7-200CPU 在RUN 模式下可以作为主站。一旦允许主站模式,就可以利用网络读和网络写指令读写其他CPU 。当S7-200CPU 作为PPI

主站时,它还可以作为从站响应来自其他主

图8-5 一台电脑与多台PLC 相连

图8-4 甲机接收梯形图程序

245

站的申请。对于任何一个从站有多少个主站和他通讯,PPI 没有限制,但是在网络中最多只能有32个主站。

2)多点网络

在计算机或编程设备中插入一块MPI (多点接口卡)卡或CP (通讯处理卡)卡,由于该卡本身具有RS —232/RS —485信号电平转换器,因此可以将计算机或编程设备直接通过RS-485电缆与S7-200系列PLC 进行相连,如图8-6所示。这种网络使用MPI 协议通讯。

MPI 协议可以是主/主协议或主/从协议。协议如何操作有赖于设备类型。如果设备是S7-300CPU ,那么就建立主/主连接。因为所有的S7-300CPU 都是网络主站。如果是S7-200CPU ,那么就建立主/从连接,因为S7-200CPU 是从站。MPI 总是在两个相互通讯的设备之间建立连接。主站为了应用可以短时间建立一个连接,或无限地保持连接的断开。

3)PROFIBUS 网络

S7-200系列PLC 通过EM277 PROFIBUS-DP 模块可以方便地与PROFIBUS 现场总线进行连接,进而实现低档设备的网络运行,如图8-7所示。

MPI 电缆 (RS-485)

从站

CPU221 CPU224 CPU221 CPU224

CPU224

OP15

TD200

主站 CP 卡

图8-6 多点网络示意图

246

PROFIBUS 协议设计用于分布式I/O 设备(远程I/O )的高速通讯。在S7-200中,CPU222、CPU224和CPU226都可以通过EM277 PROFIBUS-DP 扩展模板支持PROFIBUS-DP 网络协议。

PROFIBUS 网络通常由一个主站和几个I/O 从站。主站初始化网络并核对网络上的从站设备和配置中的是否匹配。当DP (Distributed Peripheral )主站成功的组态一个从站时,他就拥有该从站,如果网络中有第二个主站,它只能很有限的访问第一个主站的从站。

4)IT 网络

通过CP-243-1 IT 通讯处理器,可以将S7-200系统连接到工业以太网(IE )中。通过工业以太网,一台S7-200可以与另一台S7-200、S7-300或S7-400PLC 进行通讯,也可与OPC 服务器及PC 机进行通讯。还可以通过CP-243-1 IT 通讯处理器的IT 功能,非常容易的与其它计算机以及控制器系统交换文件,可以在全球范围内实现控制器和当今办公环境中所使用的普通计算机之间的连接。这种连接的系统示意图如图8-8所示。

S7-200 图8-8 通过CP-243-1 IT 组成的IT 网

247

2.网络读/写通信指令

在SIMATIC S7的网络中,S7-200被默认为从站。只有在采用PPI 通信协议时,有些S7-200系列的PLC 允许工作于PPI 主站模式。将PLC 的通信端口0或通信端口1设定工作于PPI 主站模式,是通过设置SMB30或SMB130的低两位的值来进行的(见表8-1)。所以只要将SMB30或SMB130的低两位取值2#10,就将PLC 的通信端口0或通信端口1设定工作于PPI 主站模式,就可以执行网络读写指令了。 1)网络读指令的格式与功能(见表8-5)

说明:

(1

/写的网络通信数据表,其寻址的寄存器为VB 、

MB 、8-5;

(20或1;

表8-5 网络读指令的格式与功能

(3)NETR(NETW)指令可从远程站最多读入(写)16字节的信息,同时可最多激活8条NETR和NETW指令。例如,在一个S7-200 系列PLC 中可以有4条NETR和4条NETW指令,或6条NETR指令和2条NETW 指令。

2)网络通信数据表的格式

在执行网络读写指令时,PPI主站与从站之间传送数据的网络通信数据表(TBL)的格式如表8-6所示。

表8-6 PPI主站与从站之间传送数据的网络通信数据表格式

248

249

3)网络读/写指令编程举例

例4 要求A 机用网络读指令读取B 机的IB0的值后,将它写入本机的QB0,A 机同时用网络写指令将它的IB0的值写入B

机的QB0中。在这一网络通信过程中,B 机是被动的,它不需要编写通信程序。所以只要求设计A 机的通信程序。假定A 机的网络地址是2,B 机的网络地址是3。对应的网络通信数据表如表8-8所示,对应的梯形图程序如图8-9和图8-10所示。

首次扫描

初始化自由口通信

将VW200开始的连续的20个存储单元清0

将接收到的B 机的数据送QB0

250

图8-9 A 机通信与控制程序

图8-10 A 机通信与控制程序(续)

当NETR 有效且无错误时: 将B 机的站地址送数据表

将数据表中指针指向B 机的IB0

设置读取B 机字节的个数

读B 机IB0的状态

当NETW 有效且无错误时:

将B 机的站地址送数据表

将数据表中指针指向B 机的QB0

设置写到B 机的字节个数

将A 机的IB0状态存数据交换表

将A 机的IB0状态写入B 机的QB0中

8.2 PLC与变频器之间的通讯

PLC与变频器之间的通讯在西门子产品中是分以下几个步骤来完成的:首先要在STEP7-MicroWIN编程软件上对变频器的控制通过USS协议指令进行各种设定,然后将其设定下载到PLC,最后连接变频器与PLC。当PLC进入运行状态后,就会根据USS协议指令的要求与变频器进行通信,实现对变频器的控制。

1.USS协议指令

1)USS_INIT初始化指令(见表8-9)

表8-9 USS_INIT初始化指令格式及功能

表8-10 USS_INIT初始化指令的输入输出端子说明

251

2) USS_CTRL驱动变频器指令(见表8-12)

252

表8-12 USS_CTRL驱动变频器指令格式及功能

253

254

准备启动 准备操作 已启用操作 存在驱动器故障 当前是滑行停止命令 当前是快速停止命令 禁止接通

驱动器警告信息

没有使用(始终为1) 允许串联运行

锁定串联运行,只能本地操作 频率已达到 频率没有达到 变频器输出顺时针 变频器输出逆时针 留作将来使用 留作将来使用 留作将来使用

图8-11 变频器工作状态指示含义

相关主题
文本预览
相关文档 最新文档