推广 热搜: 电机  PLC  变频器  服务机器人  培训  变送器  危化品安全,爆炸  西门子PLC  触摸屏  阀门 

金相切割机PC-PLC串行通信的实现

   日期:2013-03-23     来源:工控之家网    作者:工控之家    浏览:26    评论:0    
摘  要:本文以大型金相试样切割机的PC-PLC控制系统为应用背景,在PC与PLC串行通信协议的基础上,具体解释了OMRON CPM2AH系列PLC与计算机间通信的命令帧和响应帧格式,利用VB6.0中的MSComm控件实现了PC与PLC的串行通信,并给出了相应的数据通讯程序。

关键词:PC-PLC;控制系统;串行通信;MSComm控件

Abstract:This paper regards PC-PLC control system of the large metallographic specimen cutter as the background . On the basis of PC and PLC serial communication protocol, it explains the order frame and the response frame of communication between PLC and computer specifically. Making use of VB MSComm control, it realizes the serial communication of PC and PLC. In the end, the data communication procedure is provided.

Key words:PC-PLC;control system;serial communication;MSComm control

0 引言

  可编程控制器(PLC)具有使用方便、可靠性高、抗干扰能力强等优点,因而在工业控制领域中得到了广泛应用。但是大多数中小型PLC的显示功能较差,人机交互操作不便。在实际的控制系统中,通常将PLC与个人计算机(PC)结合起来,使PLC和PC优势互补,极大地提高了控制系统的性价比。实现PC-PLC控制系统的关键是实现两者之间可靠的数据通信。

  本文以课题组开发设计的基于PC-PLC的大型金相试样切割机控制系统为背景,在windows环境下,利用Visual Basic 6.0中的MSComm控件设计了计算机与OMRON CPM2AH型PLC的串行通信程序,从而实现了PC与PLC的可靠通信,能够对大型金相试样切割机进行实时设备监控与信息管理。

1 大型金相试样切割机控制方案

  针对国内金相试样切割设备切割范围比较小(切割直径≤100mm),且自动化程度较低,不能够对大尺寸零件进行直接取样等缺点,课题组设计了基于PC-PLC的大型金相试样切割机自动控制系统。

  该系统对三相异步电动机进行变频调速,使切割片的转速从0~3400r/min无级可调,可以根据试样的材质设定切割片的转速。一台步进电机通过蜗轮蜗杆传动使摆臂摆动,以实现切割片的Z向进给(即垂直进给)。另两台步进电机分别通过丝杠和螺母副驱使工作台可以X向(即左右方向)、Y向(即前后方向)运动。系统具备恒速切割、进三退一切割、逐层切割和连续切割等四种切割模式。

  在该系统中,PLC作为下位机,利用传感器采集监控电机、变频器等相关对象的信息,经过对输入信息的处理,综合采集器所获得的信息,反馈控制监控对象,将信息送入上位PC机;另一方面,PLC接受PC的控制指令,通过对输入和操作指令的分析、判断、进行综合处理,输出控制信号,实现对切割机的控制。上位机对PLC进行监控、发送控制信息,同时计算机还能够接受PLC采集的信息,对监控对象进行故障报警与参数显示。该系统具有切割方式选择控制,系统的启动、停止、暂停控制,切割状态的显示,切割速度的显示,事故报警显示等功能 。

2 PC-PLC串行通信的硬件构成

  PC与PLC的通信采用RS-232C接口的异步串行方式。CPM2AH与PC机的连接,首先通过CPM2AH的外围端口与RS-232C适配器连接,使用的RS-232C适配器型号为CPM1-CIF01,其模式设定开关设定为“OFF”。然后,通过XW2Z-500S电缆与计算机的串口连接。电缆接线如图1所示 。


图1 RS-232C电缆接线图

3 VB中的MSComm通讯控件

  综合比较各种可视化编程语言之后,将简单易学且高效的VB6.0作为上位机的编程语言,它提供有专门用于串行通信的MSComm控件。该控件具有十分完善的串行数据发送和接收功能,只需设置和监视MSComm控件的属性和事件,就可以轻易地实现异步串行通信。它的属性众多,对其中常用的几个主要属性说明如下:

  CommPort:设置并返回通信连接端口代号;

  Settings:设置初始化参数,以字符串的形式设置或返回波特率、奇偶校验、数据位、停止位等4个参数;

  PortOpen:设置并返回通信连接端口的状态,也可以打开和关闭端口;

  InputMode:设置并返回Input属性取回的数据类型,即确定以二进制方式接收数据还是以文本方式接收数据;

  CommEvent:在通信错误或事件发生时都会产生OnComm事件,CommEvent属性存有该错误或事件的数值码 。

  MSComm控件提供了两种处理通信的方式:一种是事件驱动,它是处理串行端口交互作用的一种非常有效的方法;另一种是查询方式,在程序的每个关键功能之后,可以通过读取CommEvent属性的值查询通信事件和错误,并做出相应的处理。

4 串行通信协议

  PLC通过对数据存贮器DM区某此单元的设置实现串行通信接口的初始化,选择上位机链接通信方式。选择通信协议为:9600波特,7个数据位,2个停止位,偶校验。选PC的串行口COM2作为与PLC的通信端口。

  PC与PLC之间通信方式采用主从应答方式,PC始终具有传送优先权,根据需要向PLC发出读写命令;PLC处于被动状态响应上位PC机的命令。PC和PLC先初始化,设置其通信格式(主要包括波特率、奇偶校验、数据位、停止位),通信格式必须一致 。

  从上位计算机发送命令时,程序中编写的命令数据的格式如图2所示。


图2 命令帧格式

  其中:@为帧开始标志符;IP2、IP1为PLC的节点标识码,两位十进制数,用来指定与上位机通信的PLC,对应上位机,PLC可在DM中设置自己的通信节点码;ID2、ID1为两字节命令码;CT为正文内容,用以设置具体的命令参数;F2、F1为两字节的帧校验码FCS,它是从开始符“@”到正文结束的所有字符的ASCII码按位异或的结果;“*”和“/”两字符表示命令结束。

  命令帧成功传送后,PLC立即向PC传送一个响应帧,格式如图3所示。


图3 响应帧格式

  其中:@为帧开始标志符;TP2、TP1为与主机通信的PLC节点标识码;ID2、ID1为两字节命令码;E2、E1为命令结束状态码,00表示正常结束,01表示RUN模态下无法完成;CT为正文内容,仅在收到读数据命令时产生;P2、P1为两字节的帧校验码FCS,它是从开始符“@”到正文结束的所有字符的ASCII码按位异或的结果;“*”和“/”两字符表示命令结束 。

5 PC-PLC串行通信程序设计

  在PC与PLC通信过程中,采用PC优先权,向PLC发送命令启动通信,PLC自动返回响应的通信方式。读数据时,PC通过串行口向PLC发出读数据命令,PLC响应并将数据准备好,这时PC再次读串行口就可读到需要的数据。写数据时,PC通过串行口向PLC发出写命令及数据,PLC接收。数据传送流程如图4所示。


图4 数据通信流程图

  以下给出部分通信程序 :

  (1)串行口初始化

  Private Sub Form_load ()

  MSComm1.CommPort=2 ‘选择COM2口通信

  MSComm1.Settings=“9600,E,7,2” ‘设置通信格式,9600波特,偶校验,7位数据,2个停止位

  MSComm1.InputLen=0 ‘读取缓存区中的全部数据

  MSComm1.InputMode=ComInputModeBinaiy ‘设置通讯格式为一进制

  MSComm1.PortOpen=True ‘打开端口

  End Sub

  (2)发送数据程序

  Private Sub Send_Click ()

  Dim outarr As Byte

  MSComm1.Output= Outarr ‘发送数据

  End Sub

  (3)接收数据程序

  Private Sub MSComm1_OnComm ()

  Dim buffer As Variant ‘由缓冲区读取的数据用Variant变量接受

  Dim inarr As Byte

  Select Case MSComm1. CommEvent ‘由ComEvReceive事件引发后,将数据存入相应的数组,并且调用工作状态显示子程序

  Case ComEvReceive

  inarr=MSComm1.Input

  End Select

  End Sub

6 结束语

  利用VB6.0的MSComm控件设计了PC和PLC的串行通信,从而实现了大型金相试样切割机远距离实时监控与数据管理。实际运行证明切割机的PC-PLC控制系统稳定可靠、操控简单,且具有灵活、实时性强、性能价格比高等优点,不仅使切割工件直径达到150mm,而且提高了制样效率,具有广阔的应用前景。

本文作者创新点:

  将PC-PLC串行通信技术应用于大型金相试样切割机中,使PLC强大的控制功能和PC高效的信息管理功能有机结合,实现了切割机远距离实时监控与数据管理。运用可视化的高级编程语言VB6.0中MSComm控件,设计了串行通信程序,程序简洁且功能强大。实验证明,该系统能对直径150mm的大型零件直接取样,在国内同行业中占据领先的地位。

参考文献:

  [1] 李杰.基于PLC控制的大型金相试样切割机的研究[D].保定:河北农业大学,2004,6

  [2] 杨永刚,杨继东.PLC与上位计算机串行通信的设计及研究[J].机械与电子,2004,8:68-70

  [3] 肖应旺,徐保国.PLC与上位机串行通信程序的实现[J].仪器仪表与分析监测,2003,4:8-10

  [4] OMRON—CPM2AH系列编程手册[Z].上海欧姆龙自动化系统有眼公司.1999

  [5] 李琰,郭宗仁,王志凯,李鹏.PLC和计算机间串行通讯方式及程序设计[J].控制工程,2002,9(3):84-86

  [6] 田红芳,李颖宏.PLC与上位计算机的串行通信[J].微计算机信息,2001,17(3):36-37

 
打赏
 
更多>同类环保知识
0相关评论

推荐图文
推荐环保知识
点击排行
网站首页  |  免责声明  |  联系我们  |  关于我们  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅  |  违规举报  |  鲁ICP备12015736号-1
Powered By DESTOON