用Visual C++实现PC与PLC之间的串行通讯
2006年6月
重庆大学学报(自然科学版)
Jun.2006
箜圣!叁箜!塑
!竺竺竺苎竺塞!竺墼!!§望呈垒型坚!坠竺竺堂皇:!竺!!兰!!塑2
1些:翌垡::曼
文章编号:1000一582X(2006)06一0019一04
用VisualC++实现PC与PLC之间的串行通讯。
高
潮,罗
强,郭永彩,扶新
(重庆大学光电工程学院,重庆400030)
摘要:在工业控制中,常常需要对PLC的采集数据和工作状态进行监测控制,实现的方式有VB、DELPHI、PB等.Vi8ualC++是一种windows应用程序开发工具,在图形处理和数据库管理等方面具有较强的功能。用它来实现底层的通信控制有着更快的速度.采用Vi叭alC++和MFC实现实时要求较高的小型控制系统中的PC和PLC的串行通讯系统,给出了系统的通讯原理和软件设计方法,实现数据的快速发送和接收,实时自动控制准确、快速.该系统简单、经济、稳定、实用性强并已成功应用于实际系统中.
关键词:Visu8lC++;MSComm控件;可编程控制器;监督控制与数据采集;串行通讯
中围分类号:TP3ll
文献标识码:A当前,对于中小型控制系统而言,可编程控制器所示.
(PLC)控制具有故障率低,可靠性高,维修方便等优点.将PC和PLC组合起来,利用PC机强大的人机接口功能、丰富的应用软件和低廉的价格来负责接口管
厂—]黼瑚5j
蜂璧基门妇]
适配器
U…’
理和系统资源的高层控制;利用PLC来负责采集、处
上位机适配器{
理和控制,共同实现管理控制一体化,成为一个新的发
_口L—师嗣展趋势.
一—函一.出l
在工业控制中,常常需要对PLC的采集数据和工作状态进行监测控制,实现的方式有VB、DELPHI、PBH“bd早]
j}I
R黝CLJ刊等.VisualC++是一种Windows应用程序开发工具,
在图形处理和数据库管理等方面具有较强的功能,用
1最多可连接趁台眦
它来实现底层的通信控制有着更快的速度.笔者采用
圈1上位机与PLc的连接(1:N连接)
Visual
C++6.O开发PC和PLC之间的串行通讯,实
1.2
S7—200
PLC通讯协议
现数据的发送和接收.
s7—200PLC是西门子s7系列PLC中的重要成员,它支持多种通讯协议,如点对点接口PPI(Point
to
1上位机与PLC的通信
Point
Inte血ce)、多点接口MPI(Multi—P0int
Inter-
l一上位机与PLC的连接
face)和PROFIBuS等,而其用户自定义协议(自由Siemens公司生产的s7系列PLC与上位机的通口)很有特色,它通过用户程序可以控制s7—200
信是通过Rs232C,Rs422和Rs485通讯接口,可实现cPu通讯口的操作模式.利用自由口模式,可以实现有协议通讯和Rs232C无协议通信.该模块本身不带用户自定义的通讯协议连接多种智能设备.在自由口
RS232C接口,应使用Rs232C通信模块或通信适配模式下,通讯完全由用户程序控制.用户程序通过使用器,再与上位机的RS232C接口连接.一台上位机可以接收中断、发送中断、发送指令(xMT)和接收指令控制一台PLC(1:1)连接,通过RS232C—RS422/485(RcV)控制通讯口的操作,这给程序设计带来了很大适配器可以连接多至32台PLC(1:N连接),如图1
的灵活性.采用自由协议实现计算机与s7—200的通
+收稿日期:2005—12—20
基金项目:“十五”军工计划(JGS.『03一S379)资助
作者简介:高潮(1959一),男,山西柳林人,重庆大学教授,主要研究方向为测控技术及仪器
万方数据


