设为首页
收藏本站
开启辅助访问
登录
立即注册
只需一步,快速开始
会员
首页
BBS
文章
Portal
教程
最新
供电设计
联系我
直达
搜索
搜索
图文教程
磁力开关
馈电开关
采煤机
华宁集控
高爆开关
掘进机
视频教程
初入煤电
组合开关
移变低馈
资料下载
书籍
标规
资料
说明书
社区分类
煤电入门
煤电维修
维修电工
电气软件
电子技术
工控自动
本版
文章
帖子
百技网
»
首页
›
工控自动
›
PLC技术
›
PLC应用
›
三菱PLC编程口通信技术在机械手远程控制中的应用 ...
返回列表
发新帖
三菱PLC编程口通信技术在机械手远程控制中的应用
[复制链接]
1231
|
0
|
2011-10-24 20:27:39
|
显示全部楼层
|
阅读模式
<
摘 要: 介绍了根据三菱FX系列
PLC
编程口通信技术的特点,设计基于VB的PC与PLC机械手远程 控制程序。通过机械手监控系统软件的具体应用,系统地介绍了VB环境下的MSComm通讯控件 、PLC与上位机的编程口通信协议、系统控制方法设计以及监控软件的实现过程。
关键词:可编程控制器;编程口VB;通信;机械手
中图分类号:TN919.3∶TP241 文献标识码:A 文章 编号:1007—6921(2008)18—0116—03
可编程控制器PLC由于可靠性高、适应性好、接口功能强、体积小以及组态灵活等优点,在 工业控制领域得到了广泛的应用。但是PLC在实际的工程应用中一般与上位计算机组成分布 式/分级型控制系统来完成监控任务,这就需要使用PLC的通讯技术。而PLC的编程口在上传 控制程序后,一般处于闲置状态,在机械手监控系统中,三菱FX1N 40MR PLC作为下位机并 以编程口作为通信口,用来完成控制量的输出、传感器数据的采集等工作,上位机采用个人 计算机(PC),用来完成传感数据分析、运动规划,状态显示等功能,以实现对机械手的实 时监控。
为实现PLC与上位计算机的数据通讯,有多种开发平台可以使用,其中VB是一套完 全独立的WINDOWS开发系统,是可视化的、面向对象、采用事件驱动方式的高级程序设计语 言。尤其是它提供了一个预定义对象——MSComm通讯控件。通过设置该对象的属性,向对象 发送信息,以及为对象事件编写响应代码,可以很方便地完成用户应用程序之间的串行通讯 ,对于通过编程口与串行口进行数据通讯的PLC与上位计算机组成的监控系统,它提供了稳 定、可靠的通讯。
1 机械手的系统控制方法
机械手是由机械本体、气动控制系统、PC-PLC监控系统组成,其机械结构如图1所示。机械 手是由基座、腰部、手臂和手爪等几部分组成,分别完成扭转、升降、手爪翻转、手臂伸缩 和手爪夹持动作。而上述5种动作是由气缸驱动实现的,气动原理如图2所示。其中扭转气缸 、升降气缸、手臂伸缩气缸是由三位五通阀来控制,而手臂翻转、手爪夹持、气动系统通断 是由二位五通阀来控制的。对各电磁阀的控制是由PLC远程实现的。
为了实现对机械手工作状态的监视和控制,充分利用计算机系统具有的远程控制和管理功能 。为此,我们将控制系统确定为两级计算机监控系统:PC计算机为管理级,可编程控制器PL C为控制级。系统组成如图3所示:系统由上位机PC、PLC、驱动电路、执行元件以及传感器 、外部控制信号等几部分组成。
2 PLC编程口与上位机的通信协议基础
带有异步通信适配器的PC机与PLC只有满足以下几个条件,才能互联通信:
2.1 PC与PLC的异步通信接口采用的总线标准一致,否则要通过“总线标准变换单元”变换 后才能互联。在机械手的控制系统中,PC机与FX系列PLC不能直接连接,要通过FX-232AW单 元进行RS232C/RS-422的变换,即上位机与可编程控制器是通过RS232/422编程电缆进行连接 通信的。
2.2 双方的初始化,使波特率、数据位数、停止位、奇偶校验都相同。FX系列PLC采用异步 格式,由1位起始位、7位数据位、1位奇偶校验位以及1位停止位组成,波特率为9600bps, 字符为ASCII码。
2.3 严格按照PLC通信协议的规定及帧格式编写PC机的通信程序。FX系列PLC有4个通信命令 ,它们是读命令(0)、写命令(1)、强制通命令(7)、强制断命令(8)。同时FX系列PL C采用面向字符的传输规程,用到5个通信控制字符:
ENQ——计算机发出请求(05H)
ACK——PLC对ENQ的确认回答(06H)
NAK——PLC对ENQ的否认回答(15H)
STX——信息帧开始标记(02H)
ETX——信息帧结束标记(03H)
PC机向PLC发送的报文格式如下:
3 利用VB编写通信程序
利用VB提供的定时器控件和MSComm通讯控件,可以很方便地编制面向对象的应用程序,命令 传递、数据交换、图形显示在定时器控件和通讯控件中完成。
使用MSComm通讯控件的第一步是建立与串行口的连接。通过设置CommPort , PortOpen和Se ttings属性来打开串行端口。
CommPort属性:设置或返回通讯端口号。注意:每个使用的MSComm控件对应着一个串行端口 。如果应用程序要访问多个串行端口,例如应用程序需要和多个下位PLC通讯,必须使用多 个使用MSComm控件。
Settings属性:以字符串的形式设置或返回串行通讯协议。该属性值由4个设置值组成,有如 下的形式:“BBBB, P, D, S”, BBBB为波特率,P为奇偶校验,D为数据位数,S为停止 位 数。在实现上位机和PLC的通讯中,Settings属性值的设置应该根据下位机PLC的D8120单元 的值来设定。Fx系列的标准通讯参数为9600,E,7,1
PortOpen属性:设置并返回通讯端口的状态。将PorlOpen属性设置为True打开端口,将Port Open属性设置为False关闭端口。注意:打开端口建立连接之前,必须先用CommPort, Sett ings属性正确指定端口号(必须是物理或逻辑存在的端口)和通讯协议,一旦打开端口后, 不可以随便更改CommPort , Settings属性的设置,如果在程序运行中必须更改这两项属性 ,应该先关闭端口,改变设置值之后,再重新打开端口。
端口打开后,就创建了空的接收和发送缓冲区,端口关闭缓冲区被清零。MSComm控件提供了 一系列的属性来管理这些缓冲区。
1nBufferSize和OutBufferSize属性:分配接收和发送缓冲区内存的大小。
InBufferCount和OutBuffeiCount属性:分别获得接缓冲区和发送缓冲区中字节的数目。在程 序执行过程中,将这两个属性的值设置为零,即可清空接收或发送缓冲区。
Rthreshold和Sthreshold属性:设定OnComm事件发生前,接收或发送缓冲区中可以存放的字 节数。将这两个属性值设置为零,可以抑制相应的OnComm事件发生。
Input属性:获取输入缓冲区中的数据,并将保存在输人缓冲区的数据删除。
Output属性:向发送缓冲区写人数据。
InputLen属性:设置并返回Input属性从接收缓冲区读取的字符数。如果把Input属性设置为 零,在使用Input属性时,MSComm控件将读取接收缓冲区的所有内容。
通信口初始化程序举例如下:
Private Sub Form_Load() 进行通讯端口和初始化设置。
MSComm1.CommPort=1
MSComm1.Settings=“9600,e,7,1”端口设置:波特率为9600bit/s、偶校验、7位数据 位、1位停止位。
MSComm1.InputMode=comInputModeText '文本字符串接收方式
MSComm1.InBufferSize=1024 '输入数据接收缓冲区长度
MSComm1.OutBufferSize=512 '输出数据缓冲区长度
MSComm1.RThreshold=0 '每接受到字符就产生接受中断
MSComm1.SThreshold=0 '禁止发送中断,进行无条件发送
If MSComm1.PortOpen=False Then
MSComm1.PortOpen=True '打开串行通信接口COM1
End If
End Sub
4 机械手监控软件的实现
利用计算机语言VB编写的机械手监控程序主要分为以下几部分:登陆及选择控制方式画面、 手动控制界面和自动控制界面。手动控制界面与自动控制界面如图4所示。
上位计算机主要完成运动命令的生成,在获取机械手传感器信息的基础上,完成机械手动作 在计算机屏幕上的实时显示。在机械手出现故障时,允许通过手动控制界面的按钮来远程控 制机械手动作。下位机PLC完成对电磁阀的控制从而驱动气动执行元件。
手动控制界面主要由状态显示区、按钮控制区、位置显示区、时间显示区以及各种交互控制 按钮组成。如图4(a)所示。按钮控制区的按钮通过用户程序和PLC与各电磁阀的线圈相连 ,实现远程控制气缸动作。每个气缸控制按钮的多少是与电磁阀的线圈数相对应的,如果是 三位五通阀则有三个按钮,二位五通阀有两个按钮。
自动循环控制界面主要由状态显示区、按钮控制区、位置显示区、时间显示区、报警区以及 日志报告区等。如图4(b)所示。匣置显示区的各状态显示是通过PC与PLC实时通信实现的 。
4.1 控制命令的发送:手动控制界面与自动循环控制界面中控制命令都是通过按钮控制区 的按钮发送出去的,在发送控制命令之前,必须先形成控制命令帧。通常,按钮对PLC的控 制是对中间辅助继电器的控制,是软件对PLC内部写命令过程,该过程是通过WriteToPLC() 函数实现的,其程序如下:
Public Sub WriteToPLC()
Dim DUMMY As String
If MSComm1.PortOpen=False Then
MSComm1.PortOpen=True ''''''打开通信端口Comm1
End If
MSComm1.InputLen=0 '''''初始化通信端口Comm1
MSComm1.Output=MWRITE)nCmdCounter) '''''通信端口Comm1写出数据包
End Sub
控制界面中的所有的写命令又是通过数组MWRITE()来实现的。其元素包括举例如下:
MWRITE(1)=Chr$(2)+“1”+“0111011”+Chr$(3)+“89” '''手爪夹持M136置1
MWRITE(2)=Chr$(2)+“1”+“0111010”+Chr$(3)+“88” '''''手爪松开M136置 0
4.2 定时读取机械手状态信息:在状态显示区内,显示的是手爪气缸、手臂气缸、升降气 缸、扭转气缸和手腕气缸的电磁阀的工作状态。当按钮控制区的按钮被按下时,状态显示区 的状态指示灯将被点亮,表示PLC的某个对应的输出端子正在工作。该信号是通过与PLC进行 的实时数据交换得到的,是PLC的端子的实时状态。同样地,在位置显示区,显示的是机械 手运动气缸的活塞杆位置状态,是否到达左右极限。当活塞杆到达极限位置,相应的位置显 示区的极限报警灯将被点亮,表示PLC的某个对应的输入端子正在工作。该信号也是通过与P LC进行的实时数据交换得到的,是PLC的端子的实时状态。软件对PLC各个元器件状态的获取 是通过读命令和软件的定时器控件Timer()来实现的。读命令是通过函数ReadFromPLC()实 现的。其程序为:
Public Sub ReadFromPLC()
Dim DUMMY As String
''''向计算机发送读取命令''''''''''''
If MSComm1.PortOpen=False Then
MSComm1.PortOpen=True
End If
''读取D数据寄存器的数据''''''
MSComm1.InputLen=0
MSComm1.Output=ReadCmd(nCounter) '''''''从MSComm1.Output发送数组ReadCmd(20) 中的字符串
Do
DUMMY=DoEvents()
Loop Until MSComm1.InBufferCount >=6
ReturnData(nCounter)=MSComm1.Input
将MSComm1.Input接收到的信号存放在数组ReturnData()中,然后根据接收到的数据分配给 用户界面中的各种状态显示。
手控界面中的所有的读命令又是通过数组ReadCmd()来实现的。其元素包括举例如下:
ReadCmd(0)=Chr$(2)+“0”+“100001”+Chr$(3)+“55” '''读取D0数据
5 结束语
通过机械手监控系统的具体程序,系统地阐述了VB环境下的PC与PLC编程口通信应用程序的 设计方法。系统运行表明,用PLC编程口与VB通信控件编写的实时通讯程序可靠、稳定,很 好地满足了机械手实时监控系统的应用要求。
[参考文献]
[1] 郁汉琪,郭健,等.可编程序控制器原理及应用[M].北京:中国电力出版社 ,2004.
[2] 刘圣才,李春葆.Visual Basic 6程序设计导学[M].北京:清华大学出版社 ,2002.
三菱
,
plc
,
通信技术
,
通信
,
机械手
热帖推荐
减少不安全行为 加强矿工安全教育
群众监员在安全生产中发挥监督作用的探讨
OHSMS在煤矿安全生产中的应用
煤矿企业如何选人用人留人
实现安全所需要的
实现煤矿安全的三大任务
扎实做好安全质量标准化工作 不断提升矿井本质
关于煤矿企业职工安全思想状况的调查与思考
煤矿矿用产品安全标志在安全管理中的作用
小煤矿安全生产存在的问题及其对策研究
关于矿区瓦斯管理的几点思考
煤矿安全文化的探索与实践
相关帖子
•
求助LS XGT XP-10BKA/DC人机界面通讯
•
三菱PLC仿真软件GX Simulator6安装使用教程
•
80开关启动正常,停止时有时掉电顶到移动变电站,显示漏电
•
请问大家有语音通信信号装置的内部电路吗想了解打点停车怎么控制的
•
T007三菱Q系列PLC从入门到精通视频教程
•
PLC在采煤机中的应用.PDF
•
如何使用elecworks绘制PLC
•
双京,电磁启动器plc款QJZ2-80
•
T010西门子S7-200PLC入门视频教程
•
泰安众诚移变高低压开关原理及常见故障维修
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
tom
回复楼主
返回列表
PLC基础
PLC教程
PLC应用
图文推荐
如何升级VIP用户组
2018-01-13
天津华宁KTC101主控器的内部结构
2021-05-14
煤矿电工教程:10、风机开关过流、短路、断相保护工作原理
2022-03-12
软启动器的工作过程
2018-12-26
矿用防爆软启开关教程——13、软启开关近控启动过程
2020-02-15
热门排行
1
KJZ1-200(400)馈电开关原理分析
2
这个电气元件符号你认识吗?
3
煤矿电工教程:10、风机开关过流、短路、断相保护工作原理
4
馈电开关漏电闭锁故障维修_成伟维修笔记1
5
馈电开关漏电闭锁故障的维修_成伟维修笔记7
6
馈电开关漏电试验不跳闸故障维修_成伟维修笔记4
7
煤矿风机开关教程:11、过、欠压保护相关参数的设置
8
煤矿高压防爆开关漏电保护的研究
9
天津华宁KTC101主控器的内部结构
10
高防开关短路跳闸故障的维修_成伟维修笔记8