基于串口通信实现vb/vc与plc逻辑控制的方法

文档序号:9596877阅读:975来源:国知局
基于串口通信实现vb/vc与plc逻辑控制的方法
【技术领域】
[0001] 本发明涉及一种基于串口通信实现VB/VC (Microsoft Visualbasic 6. 0/ Microsoft Visual C++)与PLC (可编程逻辑控制器)逻辑控制的方法。本方法不需要往 PLC里面写入复杂的逻辑梯形图,直接利用上位机即可实现对输出口的控制。
【背景技术】
[0002] 当今世界是一个高度自动化的世界,各种各样的设备都可以与计算机相连。工业 现场已形成集中管理、分散控制的现代管理体系。在工业生产中,由于PLC具有安全可靠、 运行速度快、性价比高、可通过编程完成复杂的控制逻辑等优点,被广泛的应用于工业生产 的各个领域。在生产过程中,监视PLC内部的数据与运行状况,选用组态等软件,虽然功 能丰富,但价格昂贵,编程自由度有限,可开发性不高。利用VB/VC软件实现对PLC的监 控,可在几乎不增加设备开支的情况下成功实现上位机与PLC之间的通信,并且可开发性 没有限制,可以根据实际需求编写所需功能。本方法适用于任何FX型PLC本文以FX2N型 PLC为例,PC机的数据处理、保存,报表等功能是PLC所不具有的,在PC机上用微软Visual Basic6. 0的通信控件MSCOMM. OCX实现读取和修改PLC内部数据的功能。要实现PC机与 FX2N PLC的串口通信,有专用的FX2N-232-BD通讯模块,而三菱FX2N系列PLC自身所带的 编程口在通信时候只能使用有限的四条控制命令,并且经过多次测试反应速度与稳定性远 不如通信模块可靠,本文利用VB基于串口通信模块与三菱FX2N系列PLC实现良好通信, 成功开发了上位机与PLC间通信数据传输与控制系统,实现VB对PLC的单点控制。更 重要的是,传统的PLC控制程序需要往PLC里面写入复杂庞大的T形图程序,来完成各种工 艺过程,编程工作量庞大,并且极易出错,修改难度更大,本方法不需要往PLC里面写入任 何逻辑程序只需要上位机发指令即可实现输入输出口监控,并且只用发送一条指令就可以 对要监控的目标(X,Y,M,D等元件)进行全部监控,稳定可靠;在信号解码方面采用"管道" 方式,降低CPU运算符合,使程序响应时间短,程序可分门别类进管理,并且本方法没有点 数限制可以控制任意点数的PLC并且在电路接线方面也极大的简化了接线,不需要电路连 锁,安全便捷。

【发明内容】

[0003] 本发明的目的在于摆脱传统组态软件对下位机PLC的点数限制,提供一种基于串 口通信实现VB/VC与PLC逻辑控制的方法,不需要向PLC中写入T形图的情况下通过发指 令进行逻辑控制。摆脱以往上下位机都需要编程的复杂编程思想,开发出一套能够便捷高 效控制PLC的工控软件。
[0004] 为达到上述目的,本发明的构思是:通过PLC与计算机专有通信协议实现FX型 PLC通过232-BD模块与VB6的通信,通过软件编写监控X、Y、Μ软元件,实时读取数据寄存 器D的内容,也可以根据需要进行数据写入操作。软件的设计功能可读可写,可置位复位, 满足传统方法对PLC的任何控制操作。整个工程实现的具体过程如下:首先完成硬件的连 接,保证硬件线路连接畅通能使设备正常运行.其次编写通信协议及上下位机程序,先完 成下位机的参数设置,下位机不需要写任何逻辑控制程序,只需要把监控的软元件利用MOV 指令移动到挨着的要读取的目标数据寄存器;在D8120中设置通信参数;如果有发脉冲指 令则直接在每个脉冲输出口(一般Υ〇, Y1)写一句发脉冲指令用一个常开触点的Μ继电器触 发;如果主单元接有AD采集模块,或者D/A模块只需在主单元中写入模块连接程序即可。 上位机程序的编写核心是通信的编写,即通信协议的编写,还有对信号数据的解码显示,在 软件界面实现对任意X Y M D的监控,工业控制中的所有逻辑控制都在上位机通过调用按 钮来实现,方便快捷安全可靠。
[0005] 根据上述发明构思,本发明采用下述技术方案: 一种基于串口通信实现VB/VC与PLC逻辑控制的方法,其特征在于操作步骤如下: 一.PC与PLC通信的物理连接 正常情况下硬件上三菱PLC的编程口是RS-422接口,通过测试编程口的传输效率偏 低,需要买232BD,或者485BD通信模块,232BD模块只能连接一台PLC,485BD模块可以连接 最多16台PLC,由于PC机的串口通信口是RS-232接口,便于研究方便采用232BD模块,但 两者不能直接连接,因为通信模块和PC机的232 口都是公口,必须要用交叉线才能实现正 常的通信,因为串口中2号线是发送数据的,3号是接收数据的,电脑发送的指令通过2号口 发送给PLC的3号接收口,PLC的2号口返回的数据发送给PC的3号接收口。
[0006] 二·通信协议的编写制定 通信协议采用三菱FX系列PLC与PC机专用通信协议,PC机向PLC发送读/写命令, PLC接受命令和向PC机传送数据。
[0007] 1.数据传输格式。
[0008] 三菱FX2n系列PLC采用异步格式,有1位起始位,7位数据位,1位奇偶校验位和 1位停止位,波特率位9600bit/s,字符为ASCII码。
[0009] 2.通信命令,本方法十分简单可靠只使用6条通信指令,通信过程中最常用的是 WR,BW,WW这三条指令,而TT指令只在串口激活时检测通信是否正常的时候使用一次,RR 和RS指令只在远程对PLC进行运行关闭操作通常情况下不用。
[0010] TT指令,主要在通信开始时候检测通信线路是否受到干扰,其通信格式为:计算 机传送155个任意的字符数据给PLC,PLC会回传相同的字符,计算机即可利用程序对比这 两次数据是否相同,若不同则表示通信受到干扰。若相同则通信正常。
[0011] 第一阶段计算机侧发送:
第二阶段PLC侧发送: WR指令,主要是读取PLC的元件中属于word的数据(如D, TN及CN等元件),可以批量 读取,本方法的特色是,把PLC中要监控的所有软元件全部事先在PLC中加上几句MOV指令 传送给指定的挨着的数据寄存器,这样每次只发送一条指令读取批量挨着的寄存器即可实 现全部监控,其通信格式如下: 第一阶段计算机侧发送:
第二阶段PLC侧发送: 第三阶段计算机再回应: 通信正确时返回 通信错误时返回
BW指令,用于写入PLC的位元件的数据,主要用来对X,Y,Μ继电器进行置位复位操作, 当置位时写入的数据是1,当复位时写入的数据是〇,通信格式如下: 第一阶段计算机侧发送:
第二阶段PLC返回: 通信正确时返回
通信错误时返回
WW指令,计算机写入PLC的元件中属于Word的数据,可以批量挨着写入,通信格式如 下: 第一阶段计算机侧发送:
第二阶段PLC返回: 通信正确时返回
通信错误时返回
RR及RS指令,分别用来远程对PLC进行置为复位,就不需要就地去拨动开关的Run/ Stop按钮了,这两个按钮的指令格式类似,只是命令不同,其指令格式如下: 第一阶段计算机侧发送:
第二阶段PLC返回: 通信正确时返回 通信错误时返回

值得注意的是,对PLC进行置位复位的时候会出现,当PLC已经处于RUN(或者STOP)状 态,我们再次发送RR(或者STOP)指令时,就会返回出来错误信号,当返回的错误码是十六 进制字符" 18"时代表着PLC已经处于原先的RUN (或者STOP)状态,当返回的错误码是十六 进制字符"02"时代表着通信失败。
[0012] 3.通信命令中PLC站号,有两位十六进制数组成,如果只控制一台PLC则站号为 "00"以此类
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1