VB与三菱PLC通信 - 图文
更新时间:2024-01-23 06:58:01 阅读量: 教育文库 文档下载
VB与三菱PLC通信
VB源代码下载
http://www.dbank.com/download.action?t=40&k=MTQzOTcxMTM=&pcode=LCw1NTkwMzYsNTU5MDM2&r
PLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。实现PC机与PLC通信的目示、动态数据画面显示、报表显示、窗口技术等多种功能,为PLC提供良好的人机界面。本文详在Windows环境下,使用VB6.0开发通信程序,实现了PC机与FX系列PLC之间的协议进行了详细的介绍,并以VB为开发工具实现了PC机与FX系列PLC的串行通信。 1 前言
PLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。实现PC机与PLC通信的目示、动态数据画面显示、报表显示、窗口技术等多种功能,为PLC提供良好的人机界面。本文详在Windows环境下,使用VB6.0开发通信程序,实现了PC机与FX系列PLC之间的2 PC机与PLC实现通信的条件
带异步通信适配器的PC机与PLC只有满足如下条件,才能互联通信:
(1)带有异步通信接口的PLC才能与带异步通信适配器的PC机互联。还要求双方采用的总线元”变换之后才能互联。
(2)双方的初始化,使波特率、数据位数、停止位数、奇偶校验都相同。
(3)要对PLC的通信协议分析清楚,严格地按照协议的规定及帧格式编写PC机的通信程序。程。
3 PC机及与FX系列PLC的串行通讯 3.1 硬件连接
PC机与FX系列PLC不能直接连接,要经过FX-232AW单元进行RS232C/RS-接关系:
3.2 FX系列PLC的通信协议
在PC机中必须依据互联的PLC的通信协议来编写通信程序,因此先介绍FX系列PLC的通信(1)数据格式
FX系列PLC采用异步格式,由1位起始位、7位数据位、1位偶校验位及1位停止位组成,波I码。
(2)通信命令
FX系列PLC有4个通信命令,它们是读命令、写命令、强制通命令、强制断命令,如下表所示M—辅助继电器;S—状态元件;T—定时器;C—计数器;D—数据寄存器。 (3)通信控制字符
FX系列PLC采用面向字符的传输规程,用到5个通信控制字符,如下表所示。 *当PLC对PC机发来的ENQ不理解时,用NAK回答。 (4)报文格式
PC机向PLC发送的报文格式如下:
其中STX为开始标志:02H;ETX为结束标志:03H;CMD为命令的ASCII码;S字节求累加和,溢出不计。由于每字节十六进制数变为两字节ASCII代码,故校验和为SUM数据段格式与含义如下:
*写命令的数据段有数据,读命令的数据段则无数据。 读/写字节数为01H~40H(1~64)个。 PLC向PC机发送的应答报文格式如下:
*对读命令的应答报文数据段为要读取的数据,一个数据占两个字节,分上位下位: 对写命令的应答报文无数据段,而用ACK及NAK作为应答内容。 (5)传输过程
PC机与FX系列PLC之间采用应答方式通信,传输出错则组织重发。其传输过程如下:
PLC根据PC机的命令,在每个循环扫描结束处的END语句后组织自动应答,无需用户在PL4 利用VB6.0编写通信程序
下面以一个简单的例子来说明编写通信程序的要点。假设PC机要求从PLC中读入从D123开4),其传输应答过程及报文如下(图略可向作者索取):
命令报文中10F6H为D123的地址,04H表示要读入4个字节的数据。校验和SUM=3+30H+34H+
03H=174H,溢出部分不计,故SUMH为'7',SUML为‘4’,相应的ASCII
中4个字节的十六进制数,其相应的ASCII码为8个字节,故应答报文长度为12个字节。 根据PC机与FX系列PLC的传输应答过程编制出如下所示的通信程序流程图略。
利用VB的MSComm控件,按照流程图可以编写如下通信程序实现PC机与FX系列PLC之omm控件可以采用轮询或事件驱动的方法从端口获取数据。在这个例子中使用了轮询方法。 (1)通信口初始化
Private Sub Initialize() MSComm1.CommPort = 1
MSComm1.Settings = ″9600,E,7,1″ MSComm1.InBufferSize = 1024 MSComm1.OutBufferSize = 1024 MSComm1.InputLen = 0
MSComm1.InputMode = comInputModeText MSComm1.Handshaking = comNone MSComm1.PortOpen = True End Sub (2)请求通信与确认
Private Function MakeHandShaking() As Boolean Dim InPackage As String MSComm1.OutBufferCount = 0 MSComm1.InBufferCount = 0 MSComm1.Output = Chr(&H5) Do
DoEvents
Loop Until MSComm1.InBufferCount = 1 InPackage = MSComm1.Input If InPackage = Chr(&H6) Then MakeHandShaking = True Else
MakeHandShaking = FalseEnd If End Function (3)发送命令报文
Private Sub SendFrame() Dim OutString As String MSComm1.OutBufferCount = 0 MSComm1.InBufferCount = 0
OutStrin = Chr(&H2)+″0″+″10F604″+Chr(&H3)+″74″MSComm1.Output = OutString End Sub (4)读取应答报文
Private Sub ReceiveFrame() Dim InString As String Do
DoEvents
Loop Until MSComm1.InBufferCount = 12 InString = MSComm1.Input End Sub
5 结束语
以本文所述机制编写的通信程序已成功用于以FX2N型PLC作为主控制器的高层建筑玻璃幕墙现了PC机对PLC的监视和控制。同时,本程序对PC机与其它型号PLC之间的通信也有一定
下面是我自己写的一个VB与三菱FX系列PLC通讯的软件,如果想学习的可以下下来看看,下载地要源代码的留下邮箱!有什么不懂得也可以给我留言。我会做出解答的。 下载地址
http://www.dbank.com/download.action?t=40&k=MTMzNDg4MDg=&pcode=LCw1NTkwMzYsNTU5MDM2&r
正在阅读:
VB与三菱PLC通信 - 图文01-23
水洗服装厂环评报告书04-16
住宅小区车辆行驶、停放的管理规定(暂行)04-17
宋门学区中心校2013年学校安全稳定目标管理责任书05-10
妙语连珠90句超级英语01-21
《道德法律与人生》-期末16年01-20
M70系统PLC操作10-01
工作检讨书结尾02-07
最新 民族传统体育文化当代困境消解的路径与思路-精品12-24
无私的春雨作文【精华】06-13
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 三菱
- 通信
- 图文
- PLC
- 大学生职业生涯规划期末考试答案
- 电子琴课程设计报告
- 考研指导:考研专业课“四轮”复习(李凤军)
- 工资管理系统(软件工程,面向对象)
- 有色金属及轴承合金习题(答案)
- 刮板输送机司机试题
- 师德试题及答案1
- 200种多肉植物习性及栽培要领 - 图文
- 浦东进才、建平2016学年第二学期期中素养分析 初二年级 语文学科
- 2011年“新希望杯”全国数学大赛试题(三年级)
- 北师大版一年级数学第一册第三单元教学设计
- 宁波北仑岩东排水有限公司小港污水处理厂
- 第3期美术在线作业22
- 门诊输液室规章制度
- 四川省阳光体育示范学校管理办法
- 使用Multiwfn结合VMD分析和绘制分子表面静电势分布
- 研究生FPGA实验项目(LED显示及秒表计时器设计)
- 关于2015年河南普通高等学校专升本的通知
- 财经法规课后巩固6
- 施工质量管理作业指导书 - 图文