注册名:

密码:

个人注册

企业注册

商务申请

商务管理平台

企业管理平台

个人管理平台

我的工控博客

中国工控网www.chinakong.com

首页 | 新闻中心 | 工控论坛 | 经验视点 | 工控商务 | 电气手册 | 工控博客 | 招聘求职 | 网上调查 | 企业中心 | 供求信息 | 资料中心 | 工控书店

所在位置:工控论坛 -- PLC论坛 -- 三菱PLC论坛 -- PLC网络通信

中国工控网搜索:

 自动化企业招聘

更多..

 登陆:密码:  注册  密码

搜索:

发表人:欧阳军元 发表时间:2008/11/23 15:52:00  

 

 本栏论题: Vb6.0 实现计算机与三菱PLC的通信  [2597]

    
    摘要:本文介绍了VB 进行串口通信的各种基本方式和三菱可编程控制器之间的通信的程序设计,重点介绍了利用MSCOMM.OCX进行串行通信的设计方法。
    关键词:串行通信, PLC, Visual Basic 6.0
    Abstract: Describes all kinds of basic serial port communication methods using Visual Basic 6.0 and design of free port communication program of MITSUBISH PLC, furthermore set focus on the designing method of serial port communication through dynamic linked library in Visual Basic 6.0
    Key Words: Serial port communication, PLC, Visual Basic 6.0
   
    一、引言
    在工业生产中,人们常常面临着数据采集与管理。作为工厂自动化的三大支柱可编程控制器PLC(Programmable Logic Controller),由于其安全可靠,广泛的用于数据采集与控制。生产过程中,要监视PLC内部的数据与运行状况,选用市场上的人机界面或组态软件,虽然功能丰富,但大都价格昂贵,在一些中小规模的生产场合,人们希望能自己用高级语言开发一个简易实用的通信程序。微软公司推出的Visual Basic 6.0,开发串行通信程序时,有两种方法,一种是用Windows API函数,另一种是用VB支持的通信控件MSCOMM.OCX。利用Windows API函数是通过调用读写等函数来操作串口。两种比较,使用MSCOMM.OCX控件编程方便,具有更完善的发送和接收功能。这里采用了MSCOMM.OCX控件。
    本文根据杭州某包装材料公司原料配料控制系统为背景,简述实现计算机与三菱FX系列PLC通信的实现过程。
   
    二、硬件与选型
    日本三菱公司是国际著名的工厂自动化设备制造商,工业可编程控制器在国内市场占有率一直保持前列。项目选用三菱FX2N-64MR型PLC,SC-09电缆作为计算机与PLC通信的连线。连接电缆的9针端连接在计算机串口上,另一端连接在PLC的RS-422编程口。
    三、软件编程
    软件设计主要包括PLC梯形图设计和计算机VB程序、数据库设计。计算机操作系统为Windows98,编程语言用Visual Basic 6.0,数据库选用Access97,梯形图程序在三菱PLC编程软件GPPWIN 软件环境设计。上位机软件实现计算机对PLC内部数据读取、写入参数和保存数据到数据库。
    三菱FX2N型PLC编程口通信协议如下:
    命令 命令字 控制元件 备注
    读元件 0 X,Y,M,S,T,C,D 读字/位元件状态
    写元件 1 X,Y,M,S,T,C,D 写字/位元件状态
    置位 7 X,Y,M,S,T,C 位元件置位
    复位 8 X,Y,M,S,T,C 位元件复位
   
   
    通信格式:
    起始符 命令字 首地址 数据区 结束符 和校验
   
   
    波特率9600,偶校验,8位数据位,一位停止位。
    在新建工程的表单上添加MSCOMM.OCX控件,初始化程序:
    Private Sub Form_Load()
    MSComm1.CommPort = 1 '选择COM1口
    MSComm1.Settings = "9600,e,7,1"
    End Sub
   
    系统参数主画面如下图所示:
    图二
    数据读取子程序:
    Public Function GetData(ByVal StartAddress As String, ByVal GetBytes 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
    MSComm1.InBufferCount = 0
    MSComm1.InputLen = 0
    End Function
    如需读取数据,通过调用GetData子程序。
    参数设置程序可参考读取子程序,只是改变命令而已。
    Access97数据库中包含三个表单,包括参数表、记录表、报警记录表。
    通过如下子程序是将实际称量值(记录表)更新到数据库:
   
    Private Sub SaveData()
    Dim i As Integer
    Dim valid As Boolean
    On Error Resume Next
    valid = True
    Data1.Recordset.AddNew
    Data1.Recordset.Fields("dtime") = TimeSerial(OnHour, OnMinute, OnSecond)
    Data1.Recordset.Fields("systime") = Time ‘系统时间
    Data1.Recordset.Fields("get_xl") = LF(1) ‘小料当前称量值
    Data1.Recordset.Fields("get_fjs") = LF(2) ‘方解石当前称量值
    Data1.Recordset.Fields("get_cs") = LF(3) ‘长石当前称量值
    Data1.Recordset.Fields("get_sys") = LF(4) ‘石英砂当前称量值
    Data1.Recordset.Fields("get_cj") = LF(5) ‘纯碱当前称量值
    On Error Resume Next
    Data1.Recordset.Update ‘更新数据库记录
    Data1.Recordset.MovePrevious
    End Sub
    程序中,LF(i)变量对应为图二系统参数表单中实称值。
    保存参数子程序只是对数据库操作,程序结构可参考以上子程序。
    上位机与PLC通信质量的好坏,对系统的安全可靠运行影响极大,因此,编写程序时,除了在两者之间的通信协议上保持绝对一致和采取相应的容错技术外,还要考虑系统的整体容

以下是关于《Vb6.0 实现计算机与三菱PLC的通信》论题的回复(共3篇)

回复人:plc5130 

 回复时间:2009/1/8 11:53:00

支持(503) | 反对(587)

 

    深圳三凌机电科技有限公司
    我公司主要生产三凌PLC,文本显示器。触摸屏。
    特价国产单板PLC:SL1S32MR-B(32路IO开关量实惠板24V)。
    专业用于木工机械,电梯,切割机等非标机械。。。。。
    优惠国产,高仿三菱FX1S全系列PLC。(全新日本进口芯片)
    外观,包装,软件;功能; 指令全兼容日本三菱。
    最新推出单板式FX1N40MR-B(兼容1N全部指令,支持三菱扩展
    使用方便,价格优惠,质量保证。欢迎咨询,了解。。。。
    联系人:陈 平 在线qq: 403598174
   

回复人:bestlovejz 

 回复时间:2009/2/18 11:00:00

支持(354) | 反对(273)

 

    非常感谢楼主!谢谢

回复人:舞者 

 回复时间:2012/4/1 13:39:00

支持(549) | 反对(492)

 

    【可编程序控制系统(plc)设计师】专业学习和资格报考网:
    QQ,1647833127 http://www.zyzgjd.org/zyzgrz_03.html

如果要回复本栏论题,请首先中国工控网www.chinakong.com

·如果你已经是中国工控网www.chinakong.com成员,请直接登录。

·如果你还不是中国工控网www.chinakong.com成员,请首先注册,注册为免费!

注册名:

密  码:

           注册中国工控网www.chinakong.com
           忘记密码

关闭该窗口

关于我们     免责声明     服务项目     广告联系     友情链接     联系方式     意见反馈     设为首页     加入收藏

 ©2023-2025 中国工控网(www.chinakong.com) 版权所有 豫ICP备17046657号

管理员信箱:chinakong98@163.com  服务热线:13525974529

洛阳博德工控自动化技术有限公司

中国    洛阳