基于Delphi7.0 的上位机与PLC 的通信

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Delphi7.0 的上位机与PLC 的通信

安宪军1 , 黄尔烈1 , 贾少锐1 , 张常全2

(1.河北工程大学信息与电气工程学院, 河北邯郸056038 2.邯郸职业技术学院, 河北

邯郸056001)

摘要:本文介绍在将计算机与PLC 结合起来,组成高性能价格比的小型集散控制

系统―热电厂循环水过程控制系统中,在基于Delphi7.0 上位机监控软件开发环

境中如何实现上位机与S7-200 系列PLC 之间通信。

关键词:上位机; S7-200 PLC; 串行通信; Delphi7.0

中图分类号:TP273 文献标识码: B

1、引言

随着微电子技术、计算机技术以及自动控制技术的迅猛发展,PLC(Programmable Logic Controller)作为新一代工业控制器,以其高性能价格比在工业测控系统中获得了广泛的应用。

在由PLC构成的小型集散控制系统中,PLC具有使用简单方便,故障率低,对现场环境要求不

高等优点;但它也有一些缺点,即数据的计算处理与管理能力较弱,特别是不能提供良好的人机界面。将计算机与PLC结合起来,可使两者优势互补,既可以充分利用PLC的高可靠性、

开发周期短、编程容易等特点;又可充分利用计算机友好的人机界面,实现人机对话和监控功能,并可进行一定的辅助决策,组成高性能价格比的控制系统。实现计算机与PLC结合的

控制系统的关键之一是二者之间的通信。本文以热电厂循环水过程控制的监控系统为基础,详细介绍了基于Delphi7.0的监控软件开发环境中上位机与S7-200系列PLC之间通信的实现。

2、S7-200系列PLC与PC的通信及通信协议

2.1、S7-200系列PLC的通信协议

S7-200系列PLC的通信协议有以下四种。

⑴、PPI(点到点接口)协议:该通信协议是一个主/从协议,是西门子公司专为S7-200 系列PLC开发的一个通信协议,用于PLC与其编程器或其它西门子公司的人机接口产品之间

的通信,一般不对外公开。

⑵、MPI(多点接口)协议:MPI协议是集成在西门子公司的PLC、操作面板和编程器

上的集成通信接口协议,用于建立小型的通信网络。在MPI网络中,S7-200系列PLC可以与

S7-300/S7-400 PLC进行通信,但S7-200 PLC之间不能通信。

⑶、PROFIBUS协议:PROFIBUS协议用于分布式I/O设备(远程I/O)的高速通信。PLC 可通过Profibus的DP通信接口接入Profibus现场总线网络,从而扩大PLC的使用范围。

⑷、自由口通信协议(用户定义协议):对用户完全开放,用户通过编程定义通信协议。

采用自由通信口协议,不需要增加投资,PLC可以与任何有串行接口的外设进行通信,特别

适合中、小规模的集散控制系统。

在热电厂循环水过程控制的监控系统中采用了西门子S7-200紧凑型PLC、CPU模块为SM226,利用PLC自由口通信协议实现上位机与PLC的通信。

2.2、S7-200系列PLC与PC的物理连接及通信

S7-200 系列PLC 的通信口是RS485 串行接口,而计算机是RS232 串行接口,由于PLC

与计算机在串行接口上的不同,计算机与PLC 的通信电缆中必须有RS485/RS232 转换器,

一般采用西门子公司的PC/PPI 电缆,就可以实现S7-200 系列PLC 与PC 的物理连接。S7-200

系列PLC 与PC 的物理连接如图1 所示。

在自由口通信方式中,用户在程序中就可控制通信口的操作。在进行自由口通信之前,

需要对通信口初始化。S7-200 系列PLC 处于RUN 模式时才能进行自由口通信;当处于STOP

模式时,自由口通信停止,通信口转换成PPI 通信。自由口通信采用主/从方式,以计算机作为主机发起通信,从站PLC 始终处于被动状态,随时准备响应计算机的通信请求。PLC 的通信以“接受命令→发送命令”为一个通信循环,每次循环将中断服务程序连接到串口中

断事件。当PLC 接收到信息后;PLC 程序应能识别其信息内容,这就需要根据通信要求编

制PLC 接收的信息帧的格式和定义,即定义通信协议。在自由口模式下,通信协议完全由用户程序控制。下面将介绍上位机与S7-200 系列PLC 通信编程。

图1 S7-200系列PLC与PC的物理连接

3、S7-200系列PLC的通信编程

在自由口通信模式下,PLC的通信编程首先是对串口初始化。对S7—200系列PLC的初始化是通过对特殊标志位SMB30写入通信控制字,设置通信的波特率、奇偶校验位、停止位和字符长度。本系统设定值为9600bps,无校验位,8位数据位,1位停止位。这些设定必

须与PC机设定值相一致。S7-200系列PLC在通信程序中通过使用接收中断、发送中断、发送

指令(XMT)和接收指令(RCV)控制串口通信操作。发送指令格式为:XMT TABLE PORT。PORT为通信端口,本系统设为端口0,TABLE为发送数据的数据缓冲区,其第一个字节为

发送字符的个数,最大为255。接收指令格式为:RCV TABLE PORT。其中TABLE 和PORT 的含义与XMT一致。在自由口模式下,通信协议完全有程序控制。PLC与上位机的数据通信

的程序如下:

NETWORK 1 //NETWORK TITLE (single line) 串口初始化

LD SM0.1

MOVB 16#09, SMB30

MOVB 16#B0, SMB87

MOVB 16#0A, SMB89

MOVW +5, SMW90

MOVB 100, SMB94

ATCH INT_0, 23

ATCH INT_2, 9

MOVD +0, VD100

ENI

相关文档
最新文档