




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Vb6.0 实现计算机与三菱PLC的通信 来源: 摘要:本文介绍了VB 进行串口通信的各种基本方式和三菱可编程控制器之间的通信的程序设计,重点介绍了利用MSCOMM.OCX进行串行通信的设计方法。关键词:串行通信, PLC, Visual Basic 6.0Abstract: Describes all kinds of basic serial port communication methods using Visual Basic 6.0 and design of free port communication program
2、 of MITSUBISH PLC, furthermore set focus on the designing method of serial port communication through dynamic linked library in Visual Basic 6.0Key Words: Serial port communication, PLC, Visual Basic 6.0 一、引言 在工业生产中,人们常常面临着数据采集与管理。作为工厂自动化的三大支柱可编程控制器PLC(Programmable Logic Contr
3、oller),由于其安全可靠,广泛的用于数据采集与控制。生产过程中,要监视PLC内部的数据与运行状况,选用市场上的人机界面或组态软件,虽然功能丰富,但大都价格昂贵,在一些中小规模的生产场合,人们希望能自己用高级语言开发一个简易实用的通信程序。微软公司推出的Visual Basic 6.0,开发串行通信程序时,有两种方法,一种是用Windows API函数,另一种是用VB支持的通信控件MSCOMM.OCX。利用Windows API函数是通过调用读写等函数来操作串口。两种比较,使用MSCOMM.OCX控件编程方便,具有更完善的发送和接收功能。这里采用了MSCOMM.OCX控件。本文根据杭州某包装
4、材料公司原料配料控制系统为背景,简述实现计算机与三菱FX系列PLC通信的实现过程。 二、硬件与选型日本三菱公司是国际著名的工厂自动化设备制造商,工业可编程控制器在国内市场占有率一直保持前列。项目选用三菱FX2N-64MR型PLC,SC-09电缆作为计算机与PLC通信的连线。连接电缆的9针端连接在计算机串口上,另一端连接在PLC的RS-422编程口。系统框图如图一所示: SC-09电缆
5、 计算机
6、60; 三菱 PLC 图一三、软件编程 软件设计主要包括PLC梯形图设计和计算机VB
7、程序、数据库设计。计算机操作系统为Windows98,编程语言用Visual Basic 6.0,数据库选用Access97,梯形图程序在三菱PLC编程软件GPPWIN 软件环境设计。上位机软件实现计算机对PLC内部数据读取、写入参数和保存数据到数据库。三菱FX2N型PLC编程口通信协议如下:命令命令字控制元件 备注读元件0X,Y,M,S,T,C,D读字/位元件状态写元件1X,Y,M,S,T,C,D写字/位元件状态置位7X,Y,M,S,T,C位元件置位复位8X,Y,M,S,T,C位元件复位
8、; 通信格式: 起始符命令字首地址数据区结束符和校验 波特率9600,偶校验,8位数据位,一位停止位。 在新建工程的表单上添加MSCOMM.OCX控件,初始化程序: Private Sub Form_Load() MSComm1.CommPort = 1 '选择COM1口 MSComm1.Settings = "9600,e,7,1"
9、 End Sub系统参数主画面如下图所示: 图二 数据读取子程序:Public Function GetData(ByVal StartAddress As String, ByVal Get
10、Bytes As Integer, ByVal Hex_Bytes As String) As String MSComm1.InputLen = GetBytes * 2 + 4 MSComm1.Output = STX + CMD_Read + StartAddress + Hex_Bytes + ETX + GetSumChk(CMD_Read + StartAddress + Hex_Bytes + ETX) 传送数据组成:起始符+命令+首地址+数据位+结束符+和检验码 GetData = MSComm1.Input
11、 MSComm1.InBufferCount = 0 MSComm1.InputLen = 0End Function 如需读取数据,通过调用GetData子程序。 参数设置程序可参考读取子程序,只是改变命令而已。Access97数据库中包含三个表单,包括参数表、记录表、报警记录表。通过如下子程序是将实际称量值(记录表)更新到数据库: Private Sub SaveData()Dim i As IntegerDim valid As BooleanOn Error Resume Nextvalid
12、= TrueData1.Recordset.Fields("dtime") = TimeSerial(OnHour, OnMinute, OnSecond)Data1.Recordset.Fields("systime") = Time 系统时间Data1.Recordset.Fields("get_xl") = LF(1) 小料当前称量值Data1.Recordset.Fields("get_fjs"
13、;) = LF(2) 方解石当前称量值Data1.Recordset.Fields("get_cs") = LF(3) 长石当前称量值Data1.Recordset.Fields("get_sys") = LF(4) 石英砂当前称量值Data1.Recordset.Fields("get_cj") = LF(5)
14、160; 纯碱当前称量值On Error Resume Next 更新数据库记录End Sub程序中,LF(i)变量对应为图二系统参数表单中实称值。保存参数子程序只是对数据库操作,程序结构可参考以上子程序。上位机与PLC通信质量的好坏,对系统的安全可靠运行影响极大,因此,编写程序时,除了在两者之间的通信协议上保持绝对一致和采取相应的容错技
15、术外,还要考虑系统的整体容错技术,防止系统的不正常。四、结束语 串行通信是目前计算机与其他设备之间通信广泛采用的方式之一,传送数据准确,程序稳定运行是系统开发的主要目的。本设计中充分利用计算机和PLC的资源,在几乎不增加设备开支的情况下成功的实现上位机与PLC之间的通信。 参考文献1、美国 ·Microsoft Visal Basic 6.0 Controls reference 控件参考手册 2、舒继武·Visual Basic 中通信及应用·微型机与应用,1996;3、陈小欧·Windows环境下串口异步
16、通信程序设计·电子技术应用利用 VB6.0 实现 PC 与三菱 PLC 的通信 哈尔滨李松颖 本文介绍的 PC 与三菱 FX 系列 PLC 通信,是通过 PLC 的编程口与 PC 机的串口进行的,采用 SC-09 编程电缆作为计算机与 PLC 通信的连线。电缆的 9 芯 D 形插头连接在计算机串口上,另一端连接 PLC 的 RS-422 编程口。 编写 PC 的通信程序可采用汇编语言、各种高级语言,也可以采用工控组态软件或直接采用 PLC 厂家的通信软件。本文采用 VB6 0 软件,它必须依据所连接 PLC 的通信规程来编写通信协议,所以先简单介绍 FX 系列 PLC 的通信协议。
17、一、 FX 系列 PLC 的通讯协议 1 数据传输格式 FX 系列 PLC 采用异步格式,由 1 位起始位、 7 位数据位、 l 位偶校验位及 l 位停止位组成,波特率为 9600bps ,字符为 ASCi 码。 2 通信命令 FX 系列 PLC 有 4 条通信命令,即读命令、写命令、强制通命令、强制断命令。表 1 中, X 为输入继电器; Y 为输出继电器; M 为辅助继电器; S 为状态元件; T 为定时器; C 为计数器; D 为数据寄存器。 3 通信控制字符 FZ 系列 PLC 采用面向字符的传输规程,用到 5 个通信控制字符,如表 2 所示。 4 报文格式 PC 机向 PLC 发送的
18、报文格式如表 3 所示。其中, STX 为开始标志; ETS 为结束标志; CMD 为命令的 ASC 码: SUMH 、 SUML 为从 CMD 到 ETX 按字节求累加和,溢出不计。由于每字节十六进制数变为两字节 ASC 代码,故校验和为 SUMH 与 SUMI 。 PLC 向 PC 机发送的应答报文格式如表 4 所示。 二、 PC 通信程序的编写 1 通信口初始化 , MSComm 控件简介: VB 带有专门管理串行通讯的 MSComm 控件。只需设置几个主要参数就可以实现 PLC 与 PC 间的串行通讯。要完成通信必须设置 MSComm 的相关属性值,即通信口初始化,其步骤如下: (1)
19、CommPort :设置或传回通信连接端口代号。 (2)Settings :设置初始化参数。以字 - 符串的形式设置或传回连接速度、奇偶校验、数据位、停止位等 4 个参数。 (3)PortOpen :设置或传回通信连接端口的状态。 (4)Input :从输入寄存器传回并移除字符。 (5)Output :将一个字符串写入输出寄存器。 (6)InputLen :指定由串行端口读入的字符串长度。 (7)InBufferCount :传回在接收寄存器中的字符数。 2 通讯程序举例 首先,在窗体开始设计之前,添加 MSComm 控件和按钮、文本框、标签等。 (1)PC 从 PLC 中读取数据 假设 PC
20、 要从 PLC 中读入从 D123 开始的 4 个字节的数据 ( 占用两个数据寄存器: D123 、 D124) ,其报文如表 5 所示。 根据三菱 FX 系列 PLC 编程口通信协议,地址算法为 address=address×2+1000h 将地址 123 转换成十六进制为 7Bh ,因此首地址为: address=addressx2+1000h=7Bhx2+1000h= 10F 6h 再转换成 ASCII 码为 31h,30h,46h,36h 校验和 SUM=30H+31H+30H+46H+36H+30H+34H+03H=174H ,溢出部分不计,故 SUMH 为 "
21、7" , SUML 为 "4" ,相应的 ASC 码为“ 37H ”和“ 34H ”。 PLC 的应答报文格式如表 6 所示。 (2) 把数据写入 PLC 例如,向 PLC 的 D123 数据寄存器写入数据“ 1234ABCD ”的报文格式如表 7 所示 本文介绍的利用 VB6 O 实现 PC 与三菱 PLC 通信的基本方法,切实可行,具有广泛的实用价值。对初学者很有帮助。三菱FXPLC与VB通讯的实现 你想了解吗?滑环电机无刷无环液阻起动器、磁控(磁饱和)软启动器、高低压电机液阻起动器与液阻调速器编辑:电机软启动网-电机软起动网
22、 发表时间:2008-11-10 阅读次数:246 1.硬件 采用SC-09编程电缆,连接PC串口与PLC编程口实现通讯。 2PLC编程口的通信协议简介 1)、DEVICE READ(读出软设备状态值)计算机向PLC发送: 3具体程序说明 MSComm控件简介用来提供简单的串行端口通信功能,也可以用来创建
23、功能完备、事件驱动的高级通信工具。Mscomm控件提供了一系列标准通信命令的使用界面。使用它可以建立与串行端口的连接,通过串行端口再连接到其它设备(如调制解调器、PLC),发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。 数据读与写采用函数input和output (1)窗口加载程序 Private Sub Form_Load() MSComm1.CommPort = 1&
24、#160;选择COM1口 MSComm1.Settings = "9600,e,7,1" If mscomm1.portopen=false then mscomm1.portopen=true End Sub (2)数据读取子程序: Public Function GetData(ByVal
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学三年级下册译林版英语第四单元测试卷+参考答案
- 初级测量考试题库及答案
- 卫生知识科普课件
- 新沂数学面试试题及答案
- 社会影响的试题及答案
- 2024广告设计师考试品牌形象分析题及答案
- 山东 教育学试题及答案
- 商业美术设计师考试复习试题及答案要点
- 学生洗碗考试题及答案
- 2024年国际商业美术设计师考试项目管理与时间控制试题及答案
- 《运算的意义》(教学设计)-2023-2024学年六年级下册数学北师大版
- 高效养中蜂关键技术
- 广州小学六年级英语下册知识点归纳和习题(全册)
- (正式版)JTT 1482-2023 道路运输安全监督检查规范
- MH-T 5035-2017民用机场高填方工程技术规范
- MOOC 英国社会与文化-武汉大学 中国大学慕课答案
- MOOC 数据挖掘-国防科技大学 中国大学慕课答案
- 儿科护理行政查房
- 测温仪及测振仪的原理及使用 课件
- 船舶操纵与避碰智慧树知到期末考试答案2024年
- 食品加工肉类行业食品安全培训
评论
0/150
提交评论