您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页S7300与S7200自由口无线通信

S7300与S7200自由口无线通信

来源:华佗小知识
S7-300与S7-200自由口无线通信

S7-300及S7-200自由口无线通信实现方法

1、项目简介

S7-300是模块化小型PLC系统,能满足中等性能要求的应用。SIMATIC S7-300 可编程序控制器是模块化结构设计。各种单独的模块之间可进行广泛组合以用于扩展。属于可编程序控制器,通过软件和硬件的连接来实现自动化无人操作的控制,自动化控制中心使用的S7-300的PLC只是其中的一种,现在PLC有很多厂家就是西门子在我国的市场占有率大一点。

S7-200PLC作为小型PLC,以其功能强、性价比高在工控领域中被广泛应用。是一种小型的可编程序控制器,适用于各行各业,各种场合中的检测、监测及控制的自动化。S7-200系列的强大功能使其无论在运行中,或相连成网络皆能实现复杂控制功能。因此S7-200系列具有极高的性能/价格比。在S7-200及S7-300或WINCC通信时,通常需要安装EM277或CP243-1模块,成本升高,使得S7-200性价比优势大打折扣。自由口通信是S7-200的突出特点之一,本文介绍了一种经济灵活的通信方法,其可行性、可靠性在实际工程中得到验证。图1为滨州污水处理厂监控中心。

1 / 191 / 19

S7-300与S7-200自由口无线通信

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

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

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

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

2 / 192 / 19

S7-300与S7-200自由口无线通信

3、通信功能的实现

通信程序要实现S7-300向一个S7-200站发送7个字节的数据,然后接收并存储该S7-200返回的6个字节数据。S7-300发送的7个字节中,第1个字节是地址信息,第2、3、4字节是吸泥泵及刮泥桥控制数据信息,第5、6字节为校验信息,第7位字节数据信息无意义,仅仅是为了触发一次S7-200的字符接收中断程序。

3.1 S7-300端通信程序

在自由口模式下,无论S7-200还是S7-300,通信协议完全由程序控制。

S7-300及现有的 CPU 312、314 和 315(F)-2 DP 相比,创新型 S7-300 CPU 的性能有了显著提高;例如,创新型 CPU 上的用户程序处理速度至少提高了 1 倍,在某些情况下甚至更快。位处理时间甚至降至 50 ns,而字处理时间降至 90 ns。

S7-300采用轮循方式及两S7-200通信,即第一秒内向1号站发送数据,然后接收1

3 / 193 / 19

S7-300与S7-200自由口无线通信

号站返回的数据;第二秒内向2号站发送数据,然后接收2号站返回的数据,不停地循环通信。S7-300通信程序流程如图3。

S7-300通信程序详细介绍

AN M 30.0

L S5T#2S

SD T 1

A M 30.0

R T 1

L T 1

4 / 194 / 19

S7-300与S7-200自由口无线通信

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

5 / 195 / 19

S7-300与S7-200自由口无线通信

)

= M30.1

// 定时器第一秒钟内,即102A(

L MW 40

L 2

>I

)

A(

L MW 40

L 100

6 / 196 / 19

S7-300与S7-200自由口无线通信

)

= M 30.2

//定时器第二秒钟内M30.2为1

A (

A M 30.1

JNB _001

L 0

T MW 34

SET

SAVE

CLR

_001: A BR

)

7 / 197 / 19

S7-300与S7-200自由口无线通信

JNB _002

L 0

T MW 36

_002: NOP 0

// M30.1为1时,即定时器第一秒内,使MW34=0、A (

A M 30.2

JNB _003

L 8

T MW 34

SET

SAVE

CLR

8 / 198 / 19

MW36=0,作为起始字节值

S7-300与S7-200自由口无线通信

_003: A BR

)

JNB _004

L 8

T MW 36

_004: NOP 0

// M30.2为1时,即定时器第二秒内,使MW34=8、O M 30.1

O M 30.2

= M 33.0

A M 33.0

= L 20.0

BLD 103

9 / 199 / 19

MW36=8,作为起始字节值

S7-300与S7-200自由口无线通信

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

// 调用发送指令,当M30.1为1时(其上升沿初始化发送请求),第一个字节为1站地址;当M30.2为1时(其上升沿初始化发送请求),第一个字节为2站地址

A M 33.0

10 / 1910 / 19

S7-300与S7-200自由口无线通信

= L 20.0

BLD 103

CALL \"P_RCV\" , DB20

EN_R :=L20.0

R :=

LADDR :=320

DB_NO :=22

DBB_NO:=MW36

NDR :=M60.1

ERROR :=M60.2

LEN :=MW62

STATUS:=MW

NOP 0

/ 1911 / 19

11 S7-300与S7-200自由口无线通信

// 调用接收指令,当M30.1为1时(允许读数据),存入DB22数据块中,起始字节为DB22.DBB0;当M30.2为1时,存入DB22数据块中,起始字节为DB22.DBB8

3.2 S7-200端通信程序

S7-200 是一种小型的可编程序控制器,适用于各行各业,各种场合中的检测、监测及控制的自动化。S7-200系列的强大功能使其无论在运行中,或相连成网络皆能实现复杂控制功能。因此S7-200系列具有极高的性能/价格比。

S7-200系列在集散自动化系统中充分发挥其强大功能。使用范围可覆盖从替代继电器的简单控制到更复杂的自动化控制。

S7-200 PLC程序分为主程序、子程序和中断程序,主程序完成控制和子程序调用功能,子程序完成通信口初始化功能,中断程序完成数据的接收和发送功能。发送数据采用发送指令XMT,通信口接收每个字节都会暂存到特殊存储器SMB2中,利用中断程序控制数据的接收。

当SM0.7为1时,调用子程序SBR_0设置SMB30,允许进行自由口通信;SM0.7为0时,调用子程序SBR_1重新设置SMB30,便于用Micro/WIN软件对CPU运行状态进行监视。S7-200通信程序流程如图4

12 / 1912 / 19

S7-300与S7-200自由口无线通信

S7-200通信程序详细介绍(1号站)

主程序MAIN(只给出及通信有关程序)

LD SM0.1

13 / 1913 / 19

S7-300与S7-200自由口无线通信

MOVB 1, VB1

//设置站地址

LD SM0.7

EU

O SM0.1

CALL SBR_0

//首次运行或模式开关从TERM打到ON时定义通信口为自由口

LD SM0.7

ED

CALL SBR_1

//模式开关从ON拨到TERM时定义通信口为PPI从站

子程序SBR_0

LD SM0.0

14 / 1914 / 19

S7-300与S7-200自由口无线通信

MOVB 16#09, SMB30

ENI

ATCH INT_11, 8

//定义通信口0为自由口模式,9.6K波特率,无校验,8位数据位,连接接收字符中断为中断程序INT_11

子程序SBR_1

LD SM0.0

MOVB 16#C0, SMB30

DTCH 8

DTCH 9

//恢复普通PPI通信设置

中断程序INT_11

LD SM0.0

AB= SMB2, VB1

15 / 1915 / 19

S7-300与S7-200自由口无线通信

MOVW +5, VW200

MOVD &VB0, VD688

ATCH INT_12, 8

//若站地址正确,连接接收字符中断到中断程序INT_12,并使VW200=5来计数,在INT_12中连续接收五个字节,在S7-300中程序中将其余六个字节的高位进行设计,避免出现为内容1或2地址信息的字节,程序也会在接下来1~2个接收过程中,恢复到正常接收状态。

中断程序INT_12

LD SM0.0

MOVB SMB2, *VD688

INCD VD688

DECW VW200

//接收5个字节

LD SM1.0

MOVB 1, VB639

16 / 1916 / 19

S7-300与S7-200自由口无线通信

MOVW VW639, VW700

XORW VW1, VW700

ATCH INT_13, 8

//通过异或指令进行数据校验,连接接收字符中断到中断程序INT_13,即由第七个字节触发中断程序INT_13

中断程序INT_13

LD SM0.0

DTCH 8

//中断分离

LDW= VW700, VW3

MOVD VD0, VD400 //校验正确,将控制信息数据存到VB400~VB402

MOVB 6, VB600

MOVB VB1, VB601

BMB VB100, VB602, 5

17 / 1917 / 19

S7-300与S7-200自由口无线通信

ATCH INT_14, 9

XMT VB600, 0

//校验正确,使能发送,发送6字节数据VB601~VB606,连接发送指令结束到中断程序INT_14

LDW<> VW700, VW3

ATCH INT_11, 8

//校验不正确,连接接收字符中断到中断程序INT_11,进行新一次接收

中断程序INT_14

LD SM0.0

DTCH 9

ATCH INT_11, 8

//发送结束则连接接收字符中断到中断程序INT_11,进行新一次接收

4、电台选型和故障判断

数传电台选择了深圳友讯达科技发展公司的FC-201/B,该数传电台以其价格合理、

18 / 1918 / 19

S7-300与S7-200自由口无线通信

运行稳定在国内得到广泛应用。通过友讯达提供的电台软件pfc5对电台进行参数设置:发射频率453.00,接收频率465.00,空中速率1200bps,工作模式为透明模式,串口波特率9600bps,串口校验和设为无;在S7-300站处将电台的参数中发射频率设为465.00,接收频率设为453.00,及S7-200站处电台收发频率对应,其余参数一致。

FC-201/B数传电台有一个发送和接收指示灯。根据此灯可以方便的判断通讯是否正常。在无外界干扰,数据发送没有校验错误的情况下,S7-200站处的电台通讯灯是绿闪两下,红闪一下,处在不停的绿-绿-红循环状态,即接收两次数据,发送一次数据。如果通讯出现故障,根据通讯灯的闪烁状态,便可很容易查出通讯故障所在。

5、结束语

上位机WINCC通过访问S7-300的数据块DB2和DB22,就可以实现对两个S7-200PLC站的监控。本通信方案经济、灵活,程序可移植性强,对于类似项目具有很高的借鉴意义。

19 / 1919 / 19

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务