精华内容
下载资源
问答
  • vb三菱PLC通信实例

    热门讨论 2012-01-02 23:41:43
    vb三菱PLC通信实例函数原型及使用说明 该组件包括4个可使用的函数及1个类型 在函数调用中访问I/O使用标识符,它与FX元件名的对照见表1: 表1 元件名与标识符名对照表 标 识 符 元件名 Device 元件号 取值范围 ...
  • VB写的和三菱PLC通讯程序 ,测试通过。可以自行修改添加内容。
  • VB6.0与三菱FX3U通讯VB代码.
  • VB三菱PLC通讯

    千次阅读 2014-04-11 13:27:55
    作为设备维修技术人员,一般都能掌握PLC和计算机PC的应用知识,但如何利用PLC和PC来设计小型自控系统,实现简单的数据采集和监控操作,从而满足生产需要,却是一个要深入学习研究的问题。 面向生产操作,设

    一. 前言

    随着生产自动化程度的不断提高,可编程序控制器PLC得到了广泛的应用,特别是小型PLC具有编程简单、性能可靠和价格低的特点,被大量应用于单机控制系统中,如啤酒的稀释控制、离心机控制等。作为设备维修技术人员,一般都能掌握PLC和计算机PC的应用知识,但如何利用PLC和PC来设计小型自控系统,实现简单的数据采集和监控操作,从而满足生产需要,却是一个要深入学习研究的问题。

    面向生产操作,设计简单有效的控制系统,涉及到三部分的软件编程:

    第一:PC上人机操作界面的设计。PC作为上位机,一般都是运行在Windows 98/2000操作系统下,利用微软提供的可视化编程软件Visual Basic 6.0,设备维修技术人员就可设计出优美的人机操作界面,只需进行主要操作功能编程和少量界面控制编程。

    第二:实现生产工艺要求的PLC控制程序设计。因为是小型控制系统,其生产控制过程并不复杂,技术人员只要充分了解了生产工艺和控制要求,运用PLC编程工具,此部分设计编程并不难。

    第三:PC与PLC通讯程序的设计。此部分的开发设计较难,需要掌握PC和PLC的有关通讯硬件驱动和通讯协议的知识。但对于小型控制系统来说,主要通过PC串口来通讯,所以通讯程序设计的关键是如何利用Visual Basic 6.0中的串口通信控件——MSComm控件,并根据PLC的串口通信协议设计出上下位机的数据交换程序。

    下面以啤酒稀释自控系统设计为例,主要讲解PC和PLC通讯程序的设计要点。

    二. 啤酒稀释自控系统设计分析

    1. 啤酒稀释控制要求

    啤酒稀释是啤酒生产中一个重要环节,通过把高浓度的酒液与脱氧水按比例混合成稀释酒,从而提高啤酒产量和增加啤酒品种,稀释的控制过程很简单,主要步骤有:

    1) 输入高浓度的浓度A和稀释后要达到的浓度B 

    2) 计算出加水量的百分比 [(B-A) A]*100% 

    3) 根据此百分比和高浓酒的瞬时流量,计算出脱氧水要达到的流量;

    4) 比较水的瞬时流量和计算出的流量,来控制水调节阀的开度,使水瞬时流量等于计算流量。

    由于酒和水的瞬时流量是变化的,所以3)、4)步要反复进行。以上所有的计算功能和PID调节功能都由PLC完成。

    2. 啤酒稀释的人机操作界面:

    人机操作主要用来输入啤酒浓度数据、操作命令,直观显示各种流量数据并记录偏差曲线,界面图如下:

    3. 硬件配置

    本例子中上位机PC选用联想奔腾Ⅱ品牌机,外加RS232转RS485通讯转换卡。下位机PLC选用三菱FX2N-16MR,另加模拟输入模块FX2N-2AD 和模拟输出模块FX2N-2DA各一块,外加一个485串口通讯模块PC-485BD。

    三. PC与PLC通讯程序设计分析

    在分析具体的VB通讯程序之前,先要介绍有关VB串口通信控件MSComm的应用知识和三菱PLC 通讯协议。

    1. MSComm控件简介

    如图所示是Mscomm控件的图标。

    它可以用来提供简单的串行端口通信功能,也可以用来创建功能完备、事件驱动的高级通信工具。Mscomm控件提供了一系列标准通信命令的使用界面。使用它可以建立与串行端口的连接,通过串行端口再连接到其它设备(如调制解调器、PLC),发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。

    2. MSComm控件的基本属性

    MSComm 控件有很多重要的属性,基本属性如下:

    属性     描述 

    CommPort    设置并返回通讯端口号。 

    Settings     以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。 

    PortOpen    设置并返回通讯端口的状态。也可以打开和关闭端口。 

    Input     从接收缓冲区返回和删除字符。 

    Output     向传输缓冲区写一个字符串。

    如下程序打开串行端口COM1

    MSComm1.CommPort         使用 COM1 

    MSComm1.Settings "9600,N,7,1"   9600波特率,无奇偶校验,7位数据,一个停止位。

    MSComm1.PortOpen True   ''打开端口,开始通信。

    3. MSComm控件的通信方式

    通信控件有2种不同的方式来处理和解决各类通信软件的开发和设计问题。

    (1) 事件驱动

    事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知,例如:当线路数据到达本端或CD线和RTS信号线状态发生变化时,要求我们使用相应的事件来跟踪和出理。在这些情况下, Mscomm控件将触发OnComm事件,CommEvent属性值也将被改变。所以在OnComm事件中读取CommEvent属性值就可以检测和处理通信错误等方面的问题。

    (2)查询方式

    利用定时器控件Timer,我们可以设计程序每隔一段时间去读取CommEvent的值并处理所发生错误和事件。

    4. 本实例中采用的通讯方式

    在本例子中,PC与PLC 采用无握手协议的串行通信,它们只用两根数据线 TD和RD、一根信号地线连接,数据通信采用查询方式。根据系统功能要求,PC需发送两种类型的命令:

    (1) 周期性命令,它由定时器触发引起,每隔0.5秒发送一次。用它来向PLC查询实时显示的数据。如酒、水的瞬时流量,调节阀开度等。

    (2) 非周期性命令,它由操作者按动命令按钮引起,非周期性发送。用它来传送输入参数、操作命令给PLC 

    在啤酒稀释的人机操作界面中,有运行时不可见的通信控件(MSComm1)一个、定时器控件一个Timer1。通信控件(MSComm1)用于初始化串口数据并打开串口;定时器控件(Timer1)用于每隔0.5秒执行通讯命令,把查询命令从PC发送到PLC,同时接收PLC返回的应答数据。设计通讯数据的发送和查询功能,必须掌握PLC所遵循的通讯协议。

    5. 三菱FX系列PLC通讯协议

    三菱FX系列PLC共有四种通信模式,本实例采用的是PLC与计算机专用协议通信方式(无须PLC编程,电脑直接读写操纵PLC),其通讯命令字和通讯格式介绍如下:

    PC发送给PLC的通信命令字

    命令字 注释

    BR 以1点为单位,读出位元件的状态

    WR 以16点为单位,读出位元件的状态,或以1字为单位,读出字元件的值

    BW 以1点为单位,写入位元件的状态

    WW 以16点为单位,写入位元件的状态,或以1字为单位,写入值到字元件

    BT 以1点为单位,设置/复位 位元件

    WT 以16点为单位,设置/复位 位元件,或以1字为单位,写入值到字元件

    RR 控制PLC运行RUN

    RS 控制PLC停止STOP

    PC 读出PLC设备类型

    TT 连接测试

    PC发送给PLC的通信命令格式

    约定说明:ENQ为请求标志,ASCII值5,VB中以chr(5)表示;

         ACK为正确标志,ASCII值6,VB中以chr(6)表示; 

         STX为请求标志,ASCII值2,VB中以chr(2)表示;

         EXT为请求标志,ASCII值3,VB中以chr(3)表示; 

         表格中粗体字为需要求和效验的部分;

         和效验为每一项的ASCII值的总和转换成十六进制后,取其低两位;

         站号、PLC号、元件数量、和效验都是以十六进制表示;

           等待延时为0-150毫秒,以十六进制0H-FH表示,如100ms为AH。

    1) 批量读出位元件—BR指令格式

      

          15 16 17

    PC侧: ENQ 站号 PLC号 BR 延时 首地址 数量 和校验       ACK 站号 PLC号

    PLC侧:         STX 站号 PLC号 数据 EXT 和校验   

             10 11 12 13 14   

    例如:要读出站号为5的PLC的X40到X44共5点的状态值,延时100毫秒,假设PLC中X40与X43为OFF,其余为ON,则指令数据如下:

    注释: 请求 站号 PLC号 命令 延时 元件首地址 元件数量 和校验

    代码: ENQ 7

    ASCII码: 05H 30H 35H 46H 46H 42H 52H 41H 58 30H 30H 34H 30H 30H 35H 34H 37H

    只要将以上代码以字符串形式(VB中可以表示为chr(5)&”05FFBRAX00400547”)发送到PLC,就会有正确的回应信息,如下:

    注释: 头 站号 PLC号 位元件状态值 尾 和校验

    代码: STX EXT 7

    ASCII码: 02H 30H 35H 46H 46H 30H 31H 31H 30H 31H 03H 45H 37H

    2) 批量读出字元件—WR指令格式

          15 16 17

    PC侧: ENQ 站号 PLC号 WR 延时 首地址 数量 和校验       ACK 站号 PLC号

    PLC侧:         STX 站号 PLC号 数据 EXT 和校验   

             10 11 12 13 14   

    该命令使用与BR命令相同。

      

    3) 批量写入位元件—BW指令格式  

      

    PC侧: ENQ 站号 PLC号 BW 延时 首地址 数量 写入值 和校验   

    PLC侧:          ACK 站号 PLC号

              10 11 12

    4) 批量写入字元件—WW指令格式

      

    PC侧: ENQ 站号 PLC号 WW 延时 首地址 数量 写入值 和校验   

    PLC侧:          ACK 站号 PLC号

              10 11 12

    6. VB通讯功能块设计分析

    根据三菱PLC的通讯指令格式,在PC中编写数据查询功能块RevData( )和数据发送功能块SendData( ),就可以在定时中断处理块TIMER1( )中调用查询功能块RevData( ),实现PC界面数据定时刷新;在每一次操作命令执行时,调用数据发送功能块SendData( ),把控制值写入PLC中,从而实现控制。下面给出这两个功能块的设计程序。

    1) 查询数据函数RevData( )

    (没有和校验)

    Sub  RevPLC (iNo As String, iType As String, iAdd As String, iNum As String)

    '' iNo为PLC站号,iType为元件类型,iAdd为首地址,iNum为元件数量

    Dim Stmp As String

    Dim cha, As Integer

    Dim ChaCount As Integer

    Dim Comm As String

    Select Case  iType

    Case "D"          ''查询数据寄存器的值

    Comm "WR"       ''命令类型:数据字读

    cha Val("&H" iNum)      ''数据寄存器的值为十六进制表示,占4个字符

    Case "M", "X", "Y"     ''查询继电器触电的值

    Comm "BR"      ''命令类型:二进制位读

    cha Val("&H" iNum)

    End Select

    iAdd Right$("000" iAdd, 4)

    iNum Right$("0" iNum, 2)

    Stmp Chr$(5) iNo "FF" Comm "A" iType iAdd iNum    ''输出命令格式

    ChaCount cha  ''要返回字符个数

    main.MSComm1.InBufferCount  ''输入缓冲区清零

    main.MSComm1.Output Stmp  ''设传送缓冲区内容为命令格式

    Now=Second()

    Do

    DoEvents              ''转让控制权,以便让操作系统进行数据传输

    If  Second()-Now>1  Then  Exit  Sub

    Loop Until main.MSComm1.InBufferCount ChaCount  ''当接收到规定字符时停止循环

    RevDataTmp Mid$(main.MSComm1.Input, 6, cha)     ''返回数据字符串保存在全局变量

    ''RevDataTmp中

    End Sub

    2) 发送数据函数SendData( )

    (没有和校验)

    Sub SendPLC(iNo As String, iType As String, iAdd As String, iNum As String, iValue As String)

    '' iNo为PLC站号,iType为元件类型,iAdd为首地址,iNum为元件数量,iValue为写入值

    Dim Stmp As String

    Dim Comm As String

    Select Case  iType

    Case "D"          ''写数据寄存器的值

    Comm "WW"        ''命令类型:数据字写

    iValue Right$("0000" Hex$(Val(iValue)), 4)  ''写入值转换成十六进制表示

    Case "M"          ''写继电器触点的值

    Comm "BW"        ''命令类型:二进制位写

    End Select

    iAdd Right$("000" iAdd, 4)

    iNum Right$("0" iNum, 2)

    Stmp Chr$(5) iNo "FF" Comm "A" iType iAdd iNum iValue  ''输出命令格式

    MSComm1.Output Stmp                   ''输出命令到传送缓冲区

    Now= Second()

    Do

    DoEvents                                ''转让控制权,以便让操作系统进行数据传输

    If  Second()-Now>1  Then  Exit  Sub

    Loop Until main.MSComm1.OutBufferCount   ''当命令传送完时停止循环

    End Sub

    展开全文
  • 编程口通讯源码,无需调用DLL
  • 采用vb.NET 2010 编写,需用 MX4.0 以上控件,能用于三菱系列所有PLC 及其通讯方式。
  • 【亲测有效】C# 三菱PLC通讯包含C#和VB两套程序 文件类型:c# VB 主要功能: 带有完整的测试界面,连接测试、地址类型选择、写入读取、地址计数等多种功能,适用所有的开发测试 适合人群:新手及有一定经验的开发...
  • VB6与三菱PLC串口通讯

    2015-11-15 09:37:15
    VB6通过串口对三菱PLC进行读写,实现通讯功能。
  • fx1n 232通信程序,网上分想的,有时会死机。我也不知是什么 问题,
  • 三菱FXPLC编程口通讯实例,可以快速实现对与PLC的控制。注意:采用的是编程口通信,而不是采用的通信模块进行通信。
  • vb.net&C#和PLC通过Modbus——TCP通讯代码;PC通过Modbus_TCP和PLC进行通讯,简单稳定
  • vb三菱fx系列plc通讯源码.rar 介绍了关于vb三菱fx系列plc通讯源码的详细说明,提供PLC的技术资料的下载。
  • 利用vb上位机,通过串口, 对三菱PLC实现M点控D寄存器的读写
  • 【亲测实用】c# 与三菱FX5U PLC通讯交互实例源码 文件类型:程序源代码 主要功能: VB.NET、C#等PC高级语言与三菱FX5U通讯的源代码,采用TCP方式,支持整数、双整数、浮点数据; 无须安装,直接复制到项目工程即可...
  • 利用 VB6.0 实现 PC 与三菱 PLC 的通信

    千次阅读 2019-07-21 23:03:24
    本文介绍的 PC 与三菱 FX 系列 PLC 通信,是通过 PLC 的编程口与 PC 机的串口进行的,采用 SC-09 编程电缆作为计算机与 PLC 通信的连线。电缆的 9 芯 D 形插头连接在计算机串口上,另一端连接 PLC 的 RS-422 编程口...

    http://www1.eccn.com/tech06/te083733.asp

     

    本文介绍的 PC 与三菱 FX 系列 PLC 通信,是通过 PLC 的编程口与 PC 机的串口进行的,采用 SC-09 编程电缆作为计算机与 PLC 通信的连线。电缆的 9 芯 D 形插头连接在计算机串口上,另一端连接 PLC 的 RS-422 编程口。

    编写 PC 的通信程序可采用汇编语言、各种高级语言,也可以采用工控组态软件或直接采用 PLC 厂家的通信软件。本文采用 VB6 . 0 软件,它必须依据所连接 PLC 的通信规程来编写通信协议,所以先简单介绍 FX 系列 PLC 的通信协议。

    一、 FX 系列 PLC 的通讯协议

    1 .数据传输格式

    FX 系列 PLC 采用异步格式,由 1 位起始位、 7 位数据位、 l 位偶校验位及 l 位停止位组成,波特率为 9600bps ,字符为 ASCi Ⅱ码。

    2 .通信命令

    FX 系列 PLC 有 4 条通信命令,即读命令、写命令、强制通命令、强制断命令。表 1 中, X 为输入继电器; Y 为输出继电器; M 为辅助继电器; S 为状态元件; T 为定时器; C 为计数器; D 为数据寄存器。

    te083733-1.jpg

    3 .通信控制字符

    FZ 系列 PLC 采用面向字符的传输规程,用到 5 个通信控制字符,如表 2 所示。

    te083733-2.jpg

    4 .报文格式

    PC 机向 PLC 发送的报文格式如表 3 所示。其中, STX 为开始标志; ETS 为结束标志; CMD 为命令的 ASC Ⅱ码: SUMH 、 SUML 为从 CMD 到 ETX 按字节求累加和,溢出不计。由于每字节十六进制数变为两字节 ASC Ⅱ代码,故校验和为 SUMH 与 SUMI 。

    te083733-3.jpg

    PLC 向 PC 机发送的应答报文格式如表 4 所示。

    te083733-4.jpg

    二、 PC 通信程序的编写

    1 .通信口初始化

    , MSComm 控件简介: VB 带有专门管理串行通讯的 MSComm 控件。只需设置几个主要参数就可以实现 PLC 与 PC 间的串行通讯。要完成通信必须设置 MSComm 的相关属性值,即通信口初始化,其步骤如下:

    (1)CoinmPort :设置或传回通信连接端口代号。

    (2)Settings :设置初始化参数。以字 - 符串的形式设置或传回连接速度、奇偶校验、数据位、停止位等 4 个参数。

    (3)PortOpen :设置或传回通信连接端口的状态。

    (4)Input :从输入寄存器传回并移除字符。

    (5)Output :将一个字符串写入输出寄存器。

    (6)InputLen :指定由串行端口读入的字符串长度。

    (7)InBufferCount :传回在接收寄存器中的字符数。

    te083733-5.jpg

    2 .通讯程序举例

    首先,在窗体开始设计之前,添加 MSComm 控件和按钮、文本框、标签等。

    (1)PC 从 PLC 中读取数据

    假设 PC 要从 PLC 中读入从 D123 开始的 4 个字节的数据 ( 占用两个数据寄存器: D123 、 D124) ,其报文如表 5 所示。

    te083733-6.jpg

    根据三菱 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 为 "7" , SUML 为 "4" ,相应的 ASC Ⅱ码为“ 37H ”和“ 34H ”。

    PLC 的应答报文格式如表 6 所示。

    te083733-7.jpg

    (2) 把数据写入 PLC

    例如,向 PLC 的 D123 数据寄存器写入数据“ 1234ABCD ”的报文格式如表 7 所示

    te083733-8.jpg

    本文介绍的利用 VB6 . O 实现 PC 与三菱 PLC 通信的基本方法,切实可行,具有广泛的实用价值。对初学者很有帮助。

     

    转载于:https://www.cnblogs.com/tecsoon/archive/2010/08/27/1810148.html

    展开全文
  • 三菱FX5U型号PLC以太网通讯源码,支持C#与VB.NET语言,通讯支持ASCII二进制两种编码格式,自定义使用可直接引用.dll文件即可,使用时建议对照pdf文件内容。
  • VB-NET与三菱PLC自働化控制,包含PDF文件源代码,实例教程循序渐进内容特别详细!
  • 三菱Q/L系列PLC以太网通讯源码,支持C#和VB.NET开发语言,通讯支持ASCII二进制两种编码格式,自定义使用可直接引用.dll文件到工程中,使用时建议对照PDF文件内容。
  • 【亲测实用】VB三菱Q系列PLC通讯数据传输源码 文件类型:程序源代码 主要功能: 工程实例源码 很适合借鉴学习 适合人群:新手及有一定经验的开发人员
  • 三菱PLCVB通讯

    2018-12-13 21:45:36
    VB编写的上位机程序和三菱PLC进行串口通讯,,,,,,
  • vb三菱a系列plc通讯源码rar,vb三菱a系列plc通讯源码
  • vb通过mx component操作三菱plc例程

    热门讨论 2014-06-10 09:02:05
    vb通过mx component中间件,读写三菱plc的程序,包括: 1、mx component v3安装程序 2、使用vb通过以太网、串口读写寄存器的例程 3、mx component的教程、手册 由于文件大,只能分开传2次,这部分主要是手册例程,...
  • 【工控老马出品,必属精品,质量保证,亲测能用】...资源名:与三菱PLC以太网通讯VB程序源码 资源类型:程序源代码 源码介绍: 与三菱PLC以太网通讯VB程序(上传,下载程序) 适合人群:新手及有一定经验的开发人员
  • VB三菱PLC串口通讯 利用MX component 控件 MSCOMM控件
  • vb6.0实现pc与三菱plc通讯 由于Visual Basic6.0 具有可视化,支持面向对象的程序设计,具有结构化的事件驱动编程 模式,编程效率高等优点,所以我们VB6.0 提供串口通信控件MSComm 来进行通信编程。 在VB6.0 的开发...
  • 摘要:VB源码,数据库应用,串口通信 plcfx VB开发的串口与三菱PLC通讯源码,三菱FX系列通讯程序,功能有通信回路测试,PLC运行,元件数据读写,支持10进制16进制,另外还支持通信参数设置,设置通信口接口PLC站,
  • 控制三菱PLC(编程口)通讯
  • VB三菱FXPLC通讯

    2012-09-12 13:26:31
    VB三菱FXPLC通讯,包含源代码,请下载学习
  • 通过vb三菱FX系列PLC通信源代码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 414
精华内容 165
关键字:

vb和三菱plc通讯