VB与三菱PLC通讯
来源:互联网 发布:linux忘记用户名密码 编辑:程序博客网 时间:2024/04/27 15:08
一.
随着生产自动化程度的不断提高,可编程序控制器PLC得到了广泛的应用,特别是小型PLC具有编程简单、性能可靠和价格低的特点,被大量应用于单机控制系统中,如啤酒的稀释控制、离心机控制等。作为设备维修技术人员,一般都能掌握PLC和计算机PC的应用知识,但如何利用PLC和PC来设计小型自控系统,实现简单的数据采集和监控操作,从而满足生产需要,却是一个要深入学习研究的问题。
面向生产操作,设计简单有效的控制系统,涉及到三部分的软件编程:
第一:PC上人机操作界面的设计。PC作为上位机,一般都是运行在Windows
第二:实现生产工艺要求的PLC控制程序设计。因为是小型控制系统,其生产控制过程并不复杂,技术人员只要充分了解了生产工艺和控制要求,运用PLC编程工具,此部分设计编程并不难。
第三:PC与PLC通讯程序的设计。此部分的开发设计较难,需要掌握PC和PLC的有关通讯硬件驱动和通讯协议的知识。但对于小型控制系统来说,主要通过PC串口来通讯,所以通讯程序设计的关键是如何利用Visual
下面以啤酒稀释自控系统设计为例,主要讲解PC和PLC通讯程序的设计要点。
二.
1.
啤酒稀释是啤酒生产中一个重要环节,通过把高浓度的酒液与脱氧水按比例混合成稀释酒,从而提高啤酒产量和增加啤酒品种,稀释的控制过程很简单,主要步骤有:
1)
2)
3)
4)
由于酒和水的瞬时流量是变化的,所以3)、4)步要反复进行。以上所有的计算功能和PID调节功能都由PLC完成。
2.
人机操作主要用来输入啤酒浓度数据、操作命令,直观显示各种流量数据并记录偏差曲线,界面图如下:
3.
本例子中上位机PC选用联想奔腾Ⅱ品牌机,外加RS232转RS485通讯转换卡。下位机PLC选用三菱FX2N-16MR,另加模拟输入模块FX2N-2AD
三.
在分析具体的VB通讯程序之前,先要介绍有关VB串口通信控件MSComm的应用知识和三菱PLC
1.
如图所示是Mscomm控件的图标。
它可以用来提供简单的串行端口通信功能,也可以用来创建功能完备、事件驱动的高级通信工具。Mscomm控件提供了一系列标准通信命令的使用界面。使用它可以建立与串行端口的连接,通过串行端口再连接到其它设备(如调制解调器、PLC),发出命令,交换数据,以及监视和响应串行连接中发生的事件和错误。
2.
MSComm
属性
CommPort
Settings
PortOpen
Input
Output
如下程序打开串行端口COM1
MSComm1.CommPort
MSComm1.Settings
MSComm1.PortOpen
3.
通信控件有2种不同的方式来处理和解决各类通信软件的开发和设计问题。
(1)
事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知,例如:当线路数据到达本端或CD线和RTS信号线状态发生变化时,要求我们使用相应的事件来跟踪和出理。在这些情况下,
(2)查询方式
利用定时器控件Timer,我们可以设计程序每隔一段时间去读取CommEvent的值并处理所发生错误和事件。
4.
在本例子中,PC与PLC
(1)
(2)
在啤酒稀释的人机操作界面中,有运行时不可见的通信控件(MSComm1)一个、定时器控件一个Timer1。通信控件(MSComm1)用于初始化串口数据并打开串口;定时器控件(Timer1)用于每隔0.5秒执行通讯命令,把查询命令从PC发送到PLC,同时接收PLC返回的应答数据。设计通讯数据的发送和查询功能,必须掌握PLC所遵循的通讯协议。
5.
三菱FX系列PLC共有四种通信模式,本实例采用的是PLC与计算机专用协议通信方式(无须PLC编程,电脑直接读写操纵PLC),其通讯命令字和通讯格式介绍如下:
PC发送给PLC的通信命令字
命令字
BR
WR
BW
WW
BT
WT
RR
RS
PC
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号、元件数量、和效验都是以十六进制表示;
1)
1
PC侧:
PLC侧:
例如:要读出站号为5的PLC的X40到X44共5点的状态值,延时100毫秒,假设PLC中X40与X43为OFF,其余为ON,则指令数据如下:
注释:
代码:
ASCII码:
只要将以上代码以字符串形式(VB中可以表示为chr(5)&”05FFBRAX00400547”)发送到PLC,就会有正确的回应信息,如下:
注释:
代码:
ASCII码:
2)
1
PC侧:
PLC侧:
该命令使用与BR命令相同。
3)
1
PC侧:
PLC侧:
4)
1
PC侧:
PLC侧:
6.
根据三菱PLC的通讯指令格式,在PC中编写数据查询功能块RevData(
1)
(没有和校验)
Sub
''
Dim
Dim
Dim
Dim
Select
Case
Comm
cha
Case
Comm
cha
End
iAdd
iNum
Stmp
ChaCount
main.MSComm1.InBufferCount
main.MSComm1.Output
Now=Second()
Do
DoEvents
If
Loop
RevDataTmp
''RevDataTmp中
End
2)
(没有和校验)
Sub
''
Dim
Dim
Select
Case
Comm
iValue
Case
Comm
End
iAdd
iNum
Stmp
MSComm1.Output
Now=
Do
DoEvents
If
Loop
End
- VB与三菱PLC通讯
- VB与三菱40点PLC的通讯程序
- labview与三菱PLC通讯研究
- MX Component 上位机与三菱PLC通讯
- 紫金桥与三菱FX2N系列PLC编程口通讯
- 紫金桥软件与三菱PLC-FX3G通讯帮助
- 易控INSPEC软件与三菱FX系列PLC以太网通讯
- 三菱PLC与研华webaccess以太网通讯配置
- 【PLC】三菱FX3U通讯篇
- 三菱fx3u PLC 通讯设置
- 斑马打印机连三菱PLC与VB.NET
- 三菱Q系列PLC的modbusTCP通讯
- 三菱FX系列PLC的modbusTCP通讯
- 三菱 PLC 485通讯模块 接线
- BCNet-FX(Q)在威纶通触摸屏与三菱PLC以太网通讯中的应用
- VB与S7-200PLC通过Modbus-Rtu通讯
- 三菱PlC计数器与定时的使用
- 上位机与三菱PLC通信
- RIP协议与向量距离算法
- html头文件
- TCP SYN Flooding
- Android数据库SQLite的使用示例
- JMS简介
- VB与三菱PLC通讯
- win7(旗舰版)VC添加控件显示不支持此接口
- MX Component 上位机与三菱PLC通讯
- MFC给按钮添加图片 SetBitmap
- MFC实现“指示灯”
- MFC从外部加载BMP
- win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程
- CListCtrl控件
- MFC的CListCtrl的使用与技巧