技术频道

一种S7-300与S7-200自由口无线通信实现方法

1 项目简介

滨州市污水处理厂占地100万立方米。采用德国BIOLAK污水处理工艺,日处理水规模为10万立方米。项目使用四套S7-300和两套S7-200建成分布式控制系统,完成整个污水处理的控制、数据采集功能,本文仅叙述了项目的一部分——S7-300S7-200通信内容。

S7-200PLC作为小型PLC,以其功能强、性价比高在工控领域中被广泛应用。在S7-200S7-300WINCC通信时,通常需要安装EM277CP243-1模块,成本升高,使得S7-200性价比优势大打折扣。自由口通信是S7-200的突出特点之一,本文介绍了一种经济灵活的通信方法,其可行性、可靠性在实际工程中得到验证。图1为滨州污水处理厂监控中心。

 图1 滨州污水处理厂监控中心

1 滨州污水处理厂监控中心

2 工程应用中的硬件及网络结构

滨州污水处理厂自动化监控系统中,两刮泥桥上各有一台S7-200PLC,每台PLC控制8台吸泥泵及刮泥桥的正反向运动。S7-200PLC的柜子安装在刮泥桥上,处于不停地来回运动中,不适合进行有线通信,采取了无线数传电台方式。

S7-200CPU上的通信口是基于RS485的,通过一个RS485/232转换器将S7-200连接到电台;在脱水机房的S7-300上挂一串口通信模块CP340,并连接到数传电台,通过编程便可以实现S7-300S7-200间的通信;监控室的上位机以MPI总线方式与S7300通信,便可间接监控S7-200。系统网络结构如图2

图2 通信结构图

2 通信结构图

3 通信功能的实现

通信程序要实现S7-300向一个S7-200站发送7个字节的数据,然后接收并存储该S7-200返回的6个字节数据。S7-300发送的7个字节中,第1个字节是地址信息,第234字节是吸泥泵及刮泥桥控制数据信息,第56字节是12字节和34字节异或值,作为校验判断信息,第7位字节数据信息无意义,仅仅是为了触发一次S7-200的字符接收中断程序;S7-200S7-300发送的6个字节中,第1个字节是S7-200的站地址信息,第234字节是吸泥泵及刮泥桥状态数据信息,第56字节为校验信息。

3.1 S7-300端通信程序

在自由口模式下,无论S7-200还是S7-300,通信协议完全由程序控制。CP340通过调用FB2 P_RCV来接收数据,调用FB3 P_SEND来发送数据。发送功能块FB3 P_SEND的参数REQ上升沿初始化发送请求,参数DB_NO指定发送数据块编号,参数DBB_NO是发送数据在参数DB_NO指定数据块中起始字节,LEN指定传输数据的字节长度;接收功能块FB2 P_RCV参数EN_R允许读数据,参数DB_NO指定接收数据块编号,参数DBB_NO是接收数据在参数DB_NO指定数据块中起始字节。

S7-300采用轮循方式与两S7-200通信,即第一秒内向1号站发送数据,然后接收1号站返回的数据(S7-200在接收到S7-300发送的数据后会立刻向S7-300发送数据);第二秒内向2号站发送数据,然后接收2号站返回的数据,不停地循环通信。S7-300通信程序流程如图3

图3 S7-300通信程序流程图

3 S7-300通信程序流程图

S7-300通信程序详细介绍

AN M 30.0

L S5T#2S

SD T 1

A M 30.0

R T 1

L T 1

T MW 40

NOP 0

A T 1

= M 30.0

//设一2秒定时器,定时时间到自动进行下一次定时,当前值存入MW40

A(

L MW 40

L 102

>I

)

A(

L MW40

L 200

<I

)

= M30.1

// 定时器第一秒钟内,即102<MW40<200,M30.11

A(

L MW 40

L 2

>I

)

A(

L MW 40

L 100

<I

)

= M 30.2

//定时器第二秒钟内M30.21

A (

A M 30.1

JNB _001

L 0

T MW 34

SET

SAVE

CLR

_001: A BR

)

JNB _002

L 0

T MW 36

_002: NOP 0

// M30.11时,即定时器第一秒内,使MW340MW360,作为起始字节值

A (

A M 30.2

JNB _003

L 8

T MW 34

SET

SAVE

CLR

_003: A BR

)

JNB _004

L 8

T MW 36

_004: NOP 0

// M30.21时,即定时器第二秒内,使MW348MW368,作为起始字节值

O M 30.1

O M 30.2

= M 33.0

A M 33.0

= L 20.0

BLD 103

CALL "P_SEND" , DB19

REQ :=L20.0

R :=

LADDR :=320

DB_NO :=2

DBB_NO:=MW34

LEN :=7

DONE :=M50.1

ERROR :=M50.2

STATUS:=MW52

NOP 0


文章版权归西部工控xbgk所有,未经许可不得转载。