《Vb6.0 实现计算机与三菱PLC的通讯.docx》由会员分享,可在线阅读,更多相关《Vb6.0 实现计算机与三菱PLC的通讯.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Vb6.0实现计算机与三菱PLC的通讯dujing导语:本文介绍了VB进展串口通讯的各种根本方式和三菱可编程控制器之间的通讯的程序设计,重点介绍了利用MSCOMM.OCX进展串行通讯的设计方法。摘要:本文介绍了VB进展串口通讯的各种根本方式和三菱可编程控制器之间的通讯的程序设计,重点介绍了利用MSCOMM.OCX进展串行通讯的设计方法。关键词:串行通讯,PLC,VisualBasic6.0一、引言在工业消费中,人们经常面临着数据收集与治理。作为工厂自动化的三大支柱可编程控制器PLCProgrammableLogicController,由于其平安可靠,广泛的用于数据收集与控制。消费经过中,要监
2、视PLC内部的数据与运行状况,选用市场上的人机界面或者组态软件,固然功能丰富,但大都价格昂贵,在一些中小规模的消费场合,人们希望能自己用高级语言开发一个简易实用的通讯程序。微软公司推出的VisualBasic6.0,开发串行通讯程序时,有两种方法,一种是用WindowsAPI函数,另一种是用VB支持的通讯控件MSCOMM.OCX。利用WindowsAPI函数是通过调用读写等函数来操纵串口。两种比拟,使用MSCOMM.OCX控件编程方便,具有更完善的发送和接收功能。这里采用了MSCOMM.OCX控件。本文根据杭州某包装材料公司原料配料控制系统为背景,简述实现计算机与三菱FX系列PLC通讯的实现经
3、过。二、硬件与选型日本三菱公司是国际著名的工厂自动化设备制造商,工业可编程控制器在国内市场占有率一直保持前列。工程选用三菱FX2N-64MR型PLC,SC-09电缆作为计算机与PLC通讯的连线。连接电缆的9针端连接在计算机串口上,另一端连接在PLC的RS-422编程口。系统框图如图一所示。三、软件编程软件设计主要包括PLC梯形图设计和计算机VB程序、数据库设计。计算机操纵系统为Windows98,编程语言用VisualBasic6.0,数据库选用Access97,梯形图程序在三菱PLC编程软件GPPWIN软件环境设计。上位机软件实现计算机对PLC内部数据读取、写入参数和保存数据到数据库。三菱F
4、X2N型PLC编程口通讯协议如下:波特率9600,偶校验,8位数据位,一位停顿位。在新建工程的表单上添加MSCOMM.OCX控件,初始化程序:PrivateSubForm_LoadMSComm1.CommPort=1选择COM1口MSComm1.Settings=9600,e,7,1EndSub系统参数主画面如下列图所示:align=center图二/align数据读取子程序:PublicFunctionGetDataByValStartAddressAsString,ByValGetBytesAsInteger,ByValHex_BytesAsStringAsStringMSComm1.In
5、putLen=GetBytes2+4MSComm1.Output=STX+CMD_Read+StartAddress+Hex_Bytes+ETX+GetSumChkCMD_Read+StartAddress+Hex_Bytes+ETX传送数据组成:起始符+命令+首地址+数据位+完毕符+和检验码GetData=MSComm1.InputMSComm1.InBufferCount=0MSComm1.InputLen=0EndFunction如需读取数据,通过调用GetData子程序。参数设置程序可参考读取子程序,只是改变命令而已。Access97数据库中包含三个表单,包括参数表、记录表、报警记录表
6、。通过如下子程序是将实际称量值记录表更新到数据库:PrivateSubSaveDataDimiAsIntegerDimvalidAsBooleanOnErrorResumeNextvalid=TrueData1.Recordset.AddNewData1.Recordset.Fieldsdtime=TimeSerialOnHour,OnMinute,OnSecondData1.Recordset.Fieldssystime=Time系统时间Data1.Recordset.Fieldsget_xl=LF1小料当前称量值Data1.Recordset.Fieldsget_fjs=LF2方解石当前称
7、量值Data1.Recordset.Fieldsget_cs=LF3长石当前称量值Data1.Recordset.Fieldsget_sys=LF4石英砂当前称量值Data1.Recordset.Fieldsget_cj=LF5纯碱当前称量值OnErrorResumeNextData1.Recordset.Update更新数据库记录Data1.Recordset.MovePreviousEndSub程序中,LFi变量对应为图二系统参数表单中实称值。保存参数子程序只是对数据库操纵,程序构造可参考以上子程序。上位机与PLC通讯质量的好坏,对系统的平安可靠运行影响极大,因此,编写程序时,除了在两者之间的通讯协议上保持绝对一致和采取相应的容错技术外,还要考虑系统的整体容错技术,防止系统的不正常。四、完毕语串行通讯是目前计算机与其他设备之间通讯广泛采用的方式之一,传送数据准确,程序稳定运行是系统开发的主要目的。本设计中充分利用计算机和PLC的资源,在几乎不增加设备开支的情况下成功的实现上位机与PLC之间的通讯。0