VB编程软件来开发上位机和PLC之间的通信

合集下载

编程软件来开发上位机和PLC之间的通信

编程软件来开发上位机和PLC之间的通信

绪论Visual Basic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。

从任何标准来说,VB都是丠界上使用人数最多的语言——不仅是盠赞VB的开发者还是抱怨VB的开发者的数颃。

其中微软的办公软件,比如WORD和EXCEL都是用VB来编写的。

它源自BASIC 编程语言。

VB拥有图形用户界面(GUI )和快速应用程序开发(RAD )系统,可以轻易的使用DAO 、RDO 、ADO 连接数据库,或者轻松的创建ActiveX 控件。

Visual Basic是可视化Basic编程语言,有4.0,5.0和6.0,发展到现在有.NET BASIC,其中Visual Basic 6.0是应用最广泛的初学者编程语言,它基本兼容大多数BASIC下的源代码或稍加改动就能应用于Visual Basic 的代码内,Visual Basic是编译型语言,所生成的EXE文件能在具有VB同版本运行库文件的WINDOWS环境下运行.下一个版本的Visual Basic将引入WebClasses,它是经过精心挑选后确定的网络开发的工具。

因为它更具有scalable、更强大、而且是真正的language-agnostic。

它在Visual Studio的所有的工具中起作用。

如果你注意多层开发的一些基本规则,你可以很容易地完成这个转变。

PLC即可编程控制器(Programmable logic Controller,是指以计算机技术为基础的新型工业控制装置。

“PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。

它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。

PLC及其有关的外围设备都应该按易于与工业控制系统形成一个整体,易于扩展其功能的原则而设计。

”PLC具有1可靠性高,抗干扰能力强,2配套齐全,功能完善,适用性强,3易学易用,深受工程技术人员欢迎,4系统的设计、建造工作量小,维护方便,容易改造,5体积小,重量轻,能耗低。

vb与plc通讯(以西门子S7-200为例)

vb与plc通讯(以西门子S7-200为例)

vb与plc通讯(以西门子S7-200为例)S7-200 PLC之PPI协议通过硬件和软件侦听的方法,分析PLC内部固有的PPI通讯协议,然后上位机采用VB编程,遵循PPI通讯协议,读写PLC数据,实现人机操作任务。

这种通讯方法,与一般的自由通讯协议相比,省略了PLC的通讯程序编写,只需编写上位机的通讯程序资源S7-226的编程口物理层为RS-485结构,SIEMENS提供MicroWin软件,采用的是PPI(Point to Point)协议,可以用来传输、调试PLC程序。

在现场应用中,当需要PLC与上位机通讯时,较多的使用自定义协议与上位机通讯。

在这种通讯方式中,需要编程者首先定义自己的自由通讯格式,在PLC中编写代码,利用中断方式控制通讯端口的数据收发。

采用这种方式,PLC 编程调试较为烦琐,占用PLC的软件中断和代码资源,而且当PLC的通讯口定义为自由通讯口时,PLC的编程软件无法对PLC进行监控,给PLC程序调试带来不便。

SIEMENSS7-200PLC的编程通讯接口,内部固化的通讯协议为PPI协议,如果上位机遵循PPI协议来读写PLC,就可以省略编写PLC的通讯代码。

如何获得PPI协议?可以在PLC的编程软件读写PLC数据时,利用第三个串口侦听PLC的通讯数据,或者利用软件方法,截取已经打开且正在通讯的端口的数据,然后归纳总结,解析出PPI协议的数据读写报文。

这样,上位机遵循PPI协议,就可以便利的读写PLC内部的数据,实现上位机的人机操作功能。

软件设计系统中测控任务由SIEMENSS7-226PLC完成,PLC采用循环扫描方式工作,当定时时间到时,执行数据采集或PID控制任务,完成现场的信号控制。

计算机的监控软件采用VB编制,利用MSComm控件完成串口数据通讯,通讯遵循的协议为PPI协议。

PPI协议西门子的PPI(Point to Point)通讯协议采用主从式的通讯方式,一次读写操作的步骤包括:首先上位机发出读写命令,PLC作出接收正确的响应,上位机接到此响应则发出确认申请命令,PLC则完成正确的读写响应,回应给上位机数据。

上位机VB实现与三菱PLC的串行通讯

上位机VB实现与三菱PLC的串行通讯

上位机VB实现与三菱PLC的串行通讯上位机VB实现与三菱PLC的串行通讯1. 通行原理与方法上位机要能够通过PLC监控下层设备的状态,就要实现上位机与PLC间的通信,一般工业控制中都是采用RS232C实现。

上位机首先向PLC发送查询数据的指令(实际上是查询PLC中端子的状态和DM 区的值等),PLC接收了上位的指令后,进行校验(FCS校验码),看其是否正确,如果正确,则向上位机传送数据(包含首尾校验字节)。

否则,PLC拒绝向上位机传送数据。

上位接收到PLC传送的数据,也要判断正确与否,如果正确,则接收,否则,拒绝接收。

由于CPM1A没有提供串行通信口,我们利用其提供的外设端口实现通信。

PLC与计算机之间的连接是通过OMRON提供的专用电缆CQM1-CIF01来实现的,其硬件连接图如图1所示。

(见附图)2. PLC与计算机间的通信规约计算机与PLC间的通信是以“帧”为单位进行的,并且在通信的过程中,计算机具有更高的优先级。

首先,计算机向PLC发出命令帧,然后,PLC作出响应,向计算机发送回响应帧。

其中命令帧和响应帧的格式如下:(1) 命令帧格式。

为了方便计算机和PLC的通讯,CPM1A对在计算机连接通信中交换的命令和响应规定了相应的格式。

当计算机发送一个命令时,命令数据主准备格式如图2所示。

(见附图)其中@放在首位,表示以@开始,设备号为上位机识别所连接的PLC的设备号。

识别码为命令代码,用来设置用户希望上位机完成的操作,FCS为帧检验代码,一旦通信出错,通过计算FCS可以及时发现。

结束符为“*”和CR回车符,表示命令结束。

(2) 响应帧格式。

由PLC发出的对应于命令格式的响应帧格式如图3所示。

(见附图)其中,异常码可以确定计算机发送的命令是否正确执行。

其它的与正文中的含义相同。

正文仅在有读出数据时有返回。

3. 通信程序的设计为了充分利用计算机数据处理的强大功能,我们可以采用计算机有优先权的方式,在计算机上编写程序来实现计算机与PLC的通信,计算机向PLC发出命令发起通信,PLC自动返回响应。

基于VB编程语言实现对PLC的单点控制

基于VB编程语言实现对PLC的单点控制

基于VB编程语言实现对PLC的单点控制摘要:可编程逻辑控制器(PLC)与上位机之间的通信是实现工业自动控制经常用到的通信模式,本文基于VB程序设计语言,以单点控制为例,实现了上位机与PLC之间的串行通信。

关键词:VB 可编程逻辑控制器单点控制MSComm控件随着工业控制的发展,可编程逻辑控制器(PLC)与上位机之间通信的应用越来越广泛,使用Visual Basic(简称VB)编程语言,实现PLC与上位机之间的串行通信,是进行数据传送的一种通信方式,也是实现工业自动控制经常用到的通信模式。

在与PLC进行通讯时,单点控制是实现PLC通讯的基础,本文以OMRON CPM2A PLC单点控制为例,基于HOST LINK通信协议,利用VB程序设计语言,实现上位机与PLC之间的串行通信。

1 硬件构成通过RS232串行端口,实现PLC与PC机之间的通信,完成数据传输。

2 软件框图利用VB编写程序,根据单点控制梯形图实现单点控制。

3 通信步骤3.1 在VB中添加MSComm控件串行通信控件MSComm(Microsoft Communications Control)是Windows下串行通信编程的ActiveX控件,它既可以用来提供简单的串行端口通信功能,也可以用来创建功能完备的、事件驱动的高级通信工具。

但MSComm控件并不会主动出现在工具箱里,当需要时,首先要把它加入到工具箱中。

3.2 串行口初始化对于MSComm1控件,进行串口初始化一般可以在属性窗口中完成。

要求通信端口为COM1,传输速率为9600bit/s,偶校验,7位数据位,2位停止位。

3.3 使PLC处于监控状态PLC有三种状态:监控状态、编辑状态与运行状态。

当实现对PLC的单点控制时,采用强制置位/复位操作,此时PLC应处于监控状态,返回应答帧为:@00SC0050*。

3.4 强制PLC置位/复位分别对X0点和X1点进行强制置位/复位操作。

X0闭合与X1开启时,Y1的状态返回的应答帧为:@00KS0058*;X0开启和X1闭合时Y1的状态,返回的应答帧为@00KR0059*。

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术【摘要】本文围绕基于VB6.0的上位机与PLC实时通信技术展开讨论。

在介绍了该技术的背景和意义。

在分别讨论了VB6.0在工业控制系统中的应用,PLC的应用与特点,上位机与PLC之间的通信方式,以及基于VB6.0的实时通信技术实现方法和在工业控制中的应用。

在预测了该技术的发展趋势和未来应用前景,并对全文进行了总结。

通过本文的研究,读者将了解到基于VB6.0的上位机与PLC实时通信技术在工业控制中的重要性和应用价值,以及未来发展的潜力和前景。

【关键词】关键词:VB6.0、上位机、PLC、实时通信技术、工业控制系统、通信方式、发展趋势、未来应用、应用前景、研究背景、研究意义、实现方法、应用、总结1. 引言1.1 介绍基于VB6.0的上位机与PLC实时通信技术基于VB6.0的上位机与PLC实时通信技术指的是利用Visual Basic 6.0作为编程语言,实现与可编程逻辑控制器(PLC)之间的即时通信。

在工业控制系统中,上位机扮演着监控和控制的角色,而PLC则负责执行实际的控制任务。

通过实时通信技术,上位机可以实时监控和控制PLC的运行状态,实现对生产过程的实时调控。

基于VB6.0的上位机与PLC实时通信技术的实现主要包括建立通信连接、数据传输和接收处理三个步骤。

需要建立通信连接,确定上位机与PLC之间的通信协议和通信方式,例如使用串口通信或以太网通信。

然后通过编程实现数据的传输和接收处理,将上位机发送的指令和数据传输给PLC,并接收并处理PLC返回的状态和数据。

这种基于VB6.0的上位机与PLC实时通信技术在工业自动化控制中具有重要意义。

它可以实现生产过程的实时监控和控制,提高生产效率,减少人力成本,降低故障率,提升生产质量。

同时也为工业控制系统的智能化和网络化发展提供了重要技术支持。

1.2 研究背景由于工业现场环境复杂多变,传统的PLC与上位机通信方式往往存在诸多不足,如实时性差、稳定性差、数据传输速度慢等问题。

Vb6.0+实现计算机与三菱PLC的通信

Vb6.0+实现计算机与三菱PLC的通信

Vb6.0 实现计算机与三菱PLC 的通信来源: 摘要:本文介绍了VB 进行串口通信的各种基本方式和三菱可编程控制器之间的通信的程序设计,重点介绍了利用MSCOMM.OCX 进行串行通信的设计方法。

关键词:串行通信, PLC , Visual Basic 6.0Abstract : 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.0Key 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 控件编程方便,具有更完善的发送和接收功能。

基于VB实现PLC与上位机之间的通信

基于VB实现PLC与上位机之间的通信

基于VB实现PLC与上位机之间的通信康微微;鞠振河【摘要】Centering on the THSMS-C type network programmable controller in the Experimental Center of school of automation,this paper realized the communication between Siemens S7-200 PLC and the host computer based on VB6 . 0 . The objectives are to enhance the real-time monitoring function and to improve the experimental performance of PLC control system. On the one hand,the controlled interface of man-machine is designed by VB6. 0,which can in-put parameters in need and display real-time output results. And the serial communication ActiveX controller MSComm is provided by VB6 . 0 ,using the free port communication protocol to achieve communications between PLC and PC,then PC stores and processes the experiment data timely. This paper applies experiments to prove the correct-ness of the study. The results show that the design will get good monitoring and control function,which has advantages such as economy,reliability,flexibility,real-time performance and so on.%利用THSMS-C网络型可编程控制器实验台进行VB6.0与S7-200西门子系列PLC控制实验的调试,改善了系统在监控过程中的实时同步性。

VB上位机与PLC通信

VB上位机与PLC通信

随着现代信息技术的发展以及计算机网络的广泛应用,计算机通信技术已经日趋成熟。

作为传统的计算机通信方式的串行通信,由于具有线路简单、应用灵活、可靠性高等一系列优点长期以来获得了广泛的应用。

计算机串行通信在数据财经、数据通信、故障检测、计算机远程监控等方面有广泛的实用价值,特别在Windows下的串口通信可以充分利用Windows下的软件资源优势,实现多任务条件下对外部的数据传输、信息收集和处理。

在本系统中,我们采用了性能/价格比较高的计算机构成厂级的监控工作站。

在PLC与上位计算机之间采用RS-485和RS-232C标准通信接口进行通信。

在两级计算机控制系统中,最不稳定的环节就是上位机。

为了保证系统的稳定性,避免因上位机的故障导致系统控制失灵,所有采集到的信号都反馈到PLC当中。

上位机需要通过串行通信取得所需的数据信息,并通过串行通信将必要的控制信息和参数设置信息写入PLC 的数据存储区。

因此,串行通信作为上位机和下位机联系的唯一方式,在整个系统中具有非常重要的作用。

1.1上位机与PLC间的串行通信计算机与计算机或计算机与外部设备之间的数据传输和交换的方式主要有串行通信和并行通信两种方式,其中串行通信指的是数据逐位传输的方式。

由于串行通信方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。

1.1.1串行通信串行通信方式又可分为两种:同步串行通信方式和异步串行通信方式。

1.同步串行通信方式:同步串行通信是以数据块(字符块)为信息单位传送,每帧信息可以包含很多字符。

同步通信要求通信双方以相同的速率进行,而且要准证确协调,通常通过共享一个时钟或定时脉冲源保发送方和接收方准确同步。

这种通信方式的效率较高,但是对时钟同步要求非常严格,成本较高。

2.异步串行通信方式:异步串行通信以字符为信息单位传送。

双方需要遵守异步通信协议,以字符为数据单位,发送方传送字符的时间间隔不确定。

用VB6_0实现PLC与上位机串行通讯及实时曲线显示

用VB6_0实现PLC与上位机串行通讯及实时曲线显示

收稿日期:2005-03-17作者简介:张宪青(1981-),男,山东宁津人,天津工业大学机电学院硕士研究生,研究方向为流体传动与控制等,(E-mail )xiang 1981@ 。

文章编号:1001-2265(2005)09-0029-02用VB6.0实现PLC 与上位机串行通讯及实时曲线显示张宪青,李修仁(天津工业大学机械电子学院,天津 300160)摘要:P LC 与上位机的串行通讯在现代工业控制中得到了越来越广泛的应用。

P LC 作为下位机完成现场各种开关量和模拟量的采集、运算和控制,上位计算机则可提供人机交互界面,实现数据的存储,打印以及现场数据的实时显示等监视功能。

文章介绍了如何利用VB6.0实现OMRON CPM1A P LC 与上位机的串行通讯,以及如何利用VB6.0进行实时曲线的绘制和显示,对普通的控制系统有重要的参考价值。

关键词:上位机;可编程控制器;通讯;实时曲线中图分类号:TP391 文献标识码:AThe Serial Communication bet w een PLC and H ost Computer and the Display of R eal Time Curve by VBZHANG Xian 2qing ,LI Xiu 2ren(C ollege of Mechanics and Electronics ,T ianjin Polytechnic University ,T ianjin 300160,China )Abstract :The serial communication between P LC and H ost computer has been used m ore and m ore widely in the field of m odern industrial control.P LC is used to collect ,calculate and control every kind of digital and anolog data ,while the host computer can provide mutual interface ,realizing the function of data saving ,printing ,and displaying.This paper introduces how to apply VB6.0to realize the between P LC and H ost C omputer ,and how to realize the display of real time curve.It has important reference value to general control systems.K ey words :host computer ;P LC ;communication ;real time curve0 引言P LC 与上位机的串行通讯在现代工业控制中得到了越来越广泛的应用。

VB与PLC的通信

VB与PLC的通信

利用VB6.0 实现PC 与三菱PLC 的通信本文介绍的 PC 与三菱 FX 系列 PLC 通信,是通过 PLC 的编程口与 PC 机的串口进行的,采用编程电缆作为计算机与 PLC 通信的连线。

FX2系列PLC的编程接口采用RS-422标准,而计算机的串行口采用的是RS-232标准,因此作为实现PLC与计算机通信的接口模块FX-232AW,必须将RS-422标准转换成RS-232标准,同时在实现上述过程中采用光电隔离技术。

图1一、串口的相关知识1)串行通信的概念图2所谓“串行通信”是指外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。

如图2所示。

这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢2)常见的串口通信规约:目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口(RS422,RS485较远),若距离较远,需附加调制解调器(MODEM)。

最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连,且直接用RS232相连。

RS-232C: “1”=-3~-15;“0”=+3~+15速率:0~20000bps;一般传输距离:15m。

RS-422:采用平衡传输,平衡发送器、差动接收器,速率:10Mbps/15m;90Kbps/1200m抗干扰能力强。

DB9和DB25的常用信号脚说明由于FX 2-232AW 价格过贵所以我们选用选用MAXIM 公司的MAX202实现RS-232与TTL 之间的电平转换。

MAX202内部有电压倍增电路和转换电路,仅需+5V 电源就可工作,使用十分方便;选用MAX490实现RS-485与TTL 之间的转换。

每片MAX490有一对发送器/接收器,由于通信采用全双工方式,故需两片MAX490,另外只需外接4只电容即可。

基于VB的PLC与上位机通信软件的设计

基于VB的PLC与上位机通信软件的设计

《自动化技术与应用》2007年第26卷第09期Techniques of Automation & Applications | 79 PLC 与 DCSPLC and DCS基于VB 的PLC 与上位机通信软件的设计陆 嘉,孟 文,李常辉,刘银锁(西南交通大学智能机电技术研究所,四川 成都 610031)摘 要:本文针对控制系统中S7-200系列PLC与上位机通信的实际问题,利用S7-200中的Modbus从站协议指令块,用VB编写了S7-200系列与上位机的通信程序,界面友好,操作方便。

上位机可以读写预先已经配置好的S7-200系列PLC中的V存储区,这就意味着上位机可以对PLC读写任何类型的数据,能够很好的满足实际控制系统的要求。

关键词:PLC;监控系统;Modbus协议;通信中图分类号:TM571.61 文献标识号:B 文章编号:1003-7241(2007)09-0079-03The Design of Communication Software of PLC with theHost Computer Based On VBLU Jia, MENG Wen, LI Chang-hui, LIU Yin-suo(School of Mechanical Engineering, Southwest Jiaotong University, Chengdu 610031, China)Abstract: The communication program of the PLC with the host computer is based on the instruction block of Modbus protocolin S7-200 by using VB. The host computer can read and write the V memorizers in the S7 - 200 series PLC, so it can operate any kinds of data in PLC to meet the requirement of the control system.Key words: PLC; monitoring system; Modbus protocol; communicati收稿日期:2007-04-251 引言在大多数监控系统中,仅仅实现控制是不够的,在许多情况下也需要组态监控界面对系统进行监控,通过监控可以增加人机交互的能力,使操作人员实时地监控系统工作情况并使系统操作变得方便。

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术摘要:本文对上位机与PLC之间的通信方式、原理进行分析,并从数据格式、通信协议、数据传输几个方面,对二者之间的实时通信技术加以阐述,旨在使通讯程序在工业现场中的应用更加科学高效。

[关键词]上位机PLC串口通信技术PLC具有较强的可靠性,属于现代控制系统中不可缺少的重要内容,特别是在机床控制中得到广泛应用。

一般采用小型PLC与上位机相结合的方式,上位机的主要作用在于软件编程与调试、提供人机界面,便于各项参数调整。

在本文的研究中,主要在VB6.0的基础上对,上位机与PLC的通信技术進行分析。

1上位机与PLC的通信方式与原理现阶段,上位机与PLC之间的通信方式主要有三种,一是购买通用上位机组态软件,如WinCC、组态王等,使计算机与可编程控制器连接起来,实现通信;二是借助可编程控制器开发商系统与网络适配器,形成企业内部网络,利用开发商提供的上位机组态软件,实现通信;三是利用可编程控制器厂商提供的通信端口,与用户个人端口相连接,这种方式具有较强的灵活性,且无需投资便可适应,适用于小规模控制系统。

在本文的研究中,主要针对S7-200系列PLC通信方式进行分析,其具有四种通信方式,具体如下:(1)点对点。

基于西门子VB6.0的PLC编程器以及其他接口产品通信;(2)多点接口。

与西门子企业可编程控制器相结合,在编程器中集成通信接口,构建小规模通信网络;(3)自由端口通信。

由用户自定义,可与众多智能设备相互连接;(4)DP方式。

借助Profibus中的DP接口与现场总线网络相连接,进而使PLC的应用面积进一步扩大。

在本文所研究的系统中采用的是第三种通信方式,即自由端口通信。

上位机串口为RS232,在本文所研究的S7系列中提供的串口为RS-485,二者在通信过程中需要对信号电平进行转换,在西门子企业所提供的电缆带为RS485电平转换器。

对此,应在不改变硬件环境的条件下,十分快捷的实现上位机与PLC之间的互联。

用VB开发上位机与OMRON PLC之间的一种通讯程序

用VB开发上位机与OMRON PLC之间的一种通讯程序

用VB开发上位机与OMRON PLC之间的一种通讯程序樊春峰;李劲伟
【期刊名称】《河南科技大学学报(自然科学版)》
【年(卷),期】2002(023)002
【摘要】介绍了一个使用VB编写的程序,成功的应用在自动控制系统中,主要实现上位机与OMRON PLC之间的通讯,并对他们之间的通讯协议作了描述.文中所介绍的通讯程序的设计方法具有一定参考价值.
【总页数】3页(P82-84)
【作者】樊春峰;李劲伟
【作者单位】精英超声电子设备有限公司,广东,东莞,523562;洛阳工学院,电气工程系,河南,洛阳,471039
【正文语种】中文
【中图分类】TP311.1
【相关文献】
1.基于VB实现PLC与上位机之间的通信 [J], 康微微;鞠振河
2.VB6.0实现上位机与OMRON PLC通讯 [J], 周建琦
3.用VB实现上位机与OMRON PLC串行通讯 [J], 杨利宣;刘大全
4.基于Modbus/TCP协议台达PLC与上位机VB软件之间的通信 [J], 樊新乾;潘存海
5.用VB实现上位机与PLC之间的串行通信 [J], 田红芳
因版权原因,仅展示原文概要,查看原文内容请购买。

VB6.0在PLC与上位机通讯中的应用

VB6.0在PLC与上位机通讯中的应用

1、引言可编程控制器以其高可靠性,配置灵活和完善的功能,在工业控制系统中得到越来越广泛的应用。

但对于操作员所需要的报表打印、趋势图形显示、工况查寻、参数在线修改等功能,PLC却不能直接方便地提供。

所以通常采用计算机PC与PLC组成一个完整的监控系统。

本文以台安TP02系列PLC为例,讨论用Visual Basic(VB)实现PLC与上位机的通讯。

2、VB在通讯控件中的使用可编程控制器PLC与上位机PC之间的通信,下位机为PLC,基于其可靠性极高,主要承担控制功能,而上位PC机主要承担监察管理功能,有时兼备部分控制功能,如发出运行,停止命令。

VB语言是基于WINDOWS操作系统的功能强、易学易用、主要是面向学习对象的程序设计语言。

VB带有专门管理串行通讯的MSComm控件,只需设置几个主要参数就可以实现PLC与PC串行通讯。

要完成通信必须设置MSComm的相关属性值:(1)CommPort:设置或传回通信连接端口代号(2)Settings:设置初始化参数。

以字符串的形式设置或传回连接速度、奇偶校验、数据位、停止位等4个参数(3)PortOpen:设置或传回通信连接端口的状态(4)Input:从输入寄存器传回并移除字符(5)Output:将一个字符串写入输出寄存器(6)InputLen:指定由串行端口读入的字符串长度(7)InBu FF erCount:传回在接收寄存器中的字符数3、软硬件之间:台安TP02与上位机PC通信时,为了实现两者的通信需要配备通信线。

4、通信程序的实现4.1 通信初始化程序首先,在窗体开始设计之前,添加MSComm控件。

4.2程序编写:4.2.1 通信控件MSComm1属性设置:mPort = 1 设置端口号MSComm1.Settings = "19200,E,7,2" 设置通信参数MSComm1.InputLen = 0 设置读入字符串长度MSComm1.PortOpen = True 设置通信端口状态4.2.2 PLC运行程序:STX$ = "::"TransmitBuf$ = "01?5RUN"sum$ = CheckSum(transmitBuf$)ETX$ = Chr$(13)SXD$ = STX$ + transmitBuf$ + sum$ + ETX$MSComm1.Output = SXD$DoDoEventsLoop Until MSComm1.InBu FF erCount >= 12In1$ = MSComm1.Input4.2.3 从PLC读取资料,将寄存器内的数据资料在PC上显示以便观察监控(反应时间50ms):STX$ = "::"transmitBuf$ = "01?5MRVD000102"sum$ = CheckSum(transmitBuf$)ETX$ = Chr$(13)SXD$ = STX$ + transmitBuf$ + sum$ + ETX$MSComm1.Output = SXD$DoDoEventsLoop Until MSComm1.InBufferCount >= 20InData$ = MSComm1.InputLabel2.Caption = Mid$(InData$, 10, 4)Label3.Caption = Mid$(InData$, 14, 4)4.2.4从PLC读取资料,将RelayC0001状态通过PC显示进行监控(反应时间50ms):STX$ = "::"transmitBuf$ = "01?5MCRC0001"sum$ = CheckSum(transmitBuf$)ETX$ = Chr$(13)SXD$ = STX$ + transmitBuf$ + sum$ + ETX$MSComm1.Output = SXD$DoDoEventsLoop Until MSComm1.InBufferCount >= 13In4$ = MSComm1.InputCoil$ = Mid$(In4$, 10, 1)C1% = CInt(Coil$)Label6.Caption = C1%4.2.5 设定Relay状态,将Relay设定为ON(反应时间50ms):Dim C1 As IntegerSTX$ = "::"transmitBuf$ = "01?5SCSY00011"sum$ = CheckSum(transmitBuf$)ETX$ = Chr$(13)SXD$ = STX$ + transmitBuf$ + sum$ + ETX$MSComm1.Output = SXD$DoDoEventsLoop Until MSComm1.InBufferCount >= 12In2$ = MSComm1.Input4.2.6 PLC停止运行:STX$ = "::"transmitBuf$ = "01?5STP"sum$ = CheckSum(transmitBuf$)ETX$ = Chr$(13)SXD$ = STX$ + transmitBuf$ + sum$ + ETX$MSComm1.Output = SXD$DoDoEventsLoop Until MSComm1.InBufferCount >= 12In3$ = MSComm1.Input4.2.7 VB6.0下CheckSum函数代码如下:Private Function CheckSum(transmitBuf$)L = Len(transmitBuf$)Add = 0Dim k, sum As IntegerFor k = 1 To LTJ$ = Mid$(transmitBuf$, k, 1)Add = Add + Asc(TJ$)Next kDo While Add >= 256Add = Add - 256LoopAdd = 255 - Add + 1tempBuf$ = Hex$(Add)CheckSum = LTrim(tempBuf$)End Function5、结论PLC与上位机的结合,并通过VB6.0传送数据所构成的计算机监控系统,对于近距离传输数据的现场控制来说是一种性价比很高的解决方案。

vb与plc通讯

vb与plc通讯

vb与plc通讯(以西门子S7-200为例)S7-200 PLC之PPI协议通过硬件和软件侦听的方法,分析PLC内部固有的PPI通讯协议,然后上位机采用VB编程,遵循PPI通讯协议,读写PLC数据,实现人机操作任务。

这种通讯方法,与一般的自由通讯协议相比,省略了PLC的通讯程序编写,只需编写上位机的通讯程序资源S7-226的编程口物理层为RS-485结构,SIEMENS提供MicroWin软件,采用的是PPI(Point to Point)协议,可以用来传输、调试PLC程序。

在现场应用中,当需要PLC与上位机通讯时,较多的使用自定义协议与上位机通讯。

在这种通讯方式中,需要编程者首先定义自己的自由通讯格式,在PLC中编写代码,利用中断方式控制通讯端口的数据收发。

采用这种方式,PLC 编程调试较为烦琐,占用PLC的软件中断和代码资源,而且当PLC的通讯口定义为自由通讯口时,PLC的编程软件无法对PLC进行监控,给PLC程序调试带来不便。

SIEMENSS7-200PLC的编程通讯接口,内部固化的通讯协议为PPI协议,如果上位机遵循PPI协议来读写PLC,就可以省略编写PLC的通讯代码。

如何获得PPI协议?可以在PLC的编程软件读写PLC数据时,利用第三个串口侦听PLC的通讯数据,或者利用软件方法,截取已经打开且正在通讯的端口的数据,然后归纳总结,解析出PPI协议的数据读写报文。

这样,上位机遵循PPI协议,就可以便利的读写PLC内部的数据,实现上位机的人机操作功能。

软件设计系统中测控任务由SIEMENSS7-226PLC完成,PLC采用循环扫描方式工作,当定时时间到时,执行数据采集或PID控制任务,完成现场的信号控制。

计算机的监控软件采用VB编制,利用MSComm控件完成串口数据通讯,通讯遵循的协议为PPI协议。

PPI协议西门子的PPI(Point to Point)通讯协议采用主从式的通讯方式,一次读写操作的步骤包括:首先上位机发出读写命令,PLC作出接收正确的响应,上位机接到此响应则发出确认申请命令,PLC则完成正确的读写响应,回应给上位机数据。

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术

基于VB6.0的上位机与PLC实时通信技术1. 引言1.1 背景介绍随着工业自动化程度的不断提高,计算机在工业控制系统中的应用越来越广泛。

而上位机作为工业控制系统中的一个重要组成部分,承担着监控控制、数据处理、人机交互等功能。

而PLC作为工业控制系统中最常用的控制设备之一,其实时通信技术对于实现工业过程的自动化和智能化起着至关重要的作用。

本文将围绕基于VB6.0的上位机与PLC实时通信技术展开探讨,通过对VB6.0的上位机概述、PLC实时通信技术概述、通信协议选择、通信实现方式、数据处理与显示等方面的分析,深入探讨实时通信技术在工业控制领域的应用前景,同时也探讨技术的局限性及未来发展方向。

1.2 研究目的研究目的是通过探讨基于VB6.0的上位机与PLC实时通信技术,实现对工业生产过程中数据的实时监控和控制。

具体目的包括:1. 分析上位机与PLC实时通信技术的基本原理和应用范围,探讨其在工业自动化控制系统中的重要性和必要性;2. 研究不同通信协议的特点和适用场景,选择适合特定工业环境的通信协议,确保通信稳定可靠;3. 探讨通信实现方式,包括串口通信、以太网通信等,分析其优劣势和适用情况,为工业生产中选择合适的通信实现方式提供参考;4. 研究数据处理与显示方法,包括数据采集、处理和展示,提高数据的实时性和准确性,为工业生产的监控和控制提供有效支持。

通过本研究的目的,旨在提高工业生产过程中数据的实时性和精准性,实现对生产过程的及时监控和控制,提高生产效率,降低生产成本,实现工业生产的智能化和自动化。

2. 正文2.1 VB6.0的上位机概述VB6.0上位机程序通常包括界面设计和逻辑控制两部分。

界面设计是通过VB6.0的可视化界面编辑器进行操作,可以设计出各种样式的人机交互界面,包括按钮、输入框、图表等元素。

逻辑控制部分则是通过VB6.0的编程语言实现,可以编写各种逻辑算法、数据处理程序等,实现与PLC的通信和数据处理。

用VB实现上位机与OMRONPLC串行通讯

用VB实现上位机与OMRONPLC串行通讯
上位机发送命令的格式
上位机到 PLC 命令格式
4. 1 在 VB中添加控件
在窗体中添加 MSComm 控件 MSCommSet 和一 个时钟控件 Timerl,时钟控件用来处理通信超时。在 使用 MSComm 控件之前要进行初始化, 建立起与串 行端口的连接。在通信控件的属性页中设置其属性, 要保证和 PLC 通讯参数一致。
块。多点通信时,可作为单帧发送的最大数据块为
终止符— ——设置 “*” 和 “回车”(CHR
131 个字符,因此当一个数据块含有 132 或更多个 $(13))两个字符表明命令结束。当 PLC 收到上位
数据块时,要分成两帧或多帧发送。每个数据块都 机的命令后,会以下述格式应答。
以设备号及标题开始,以校验码(FCS)及结束符结 PLC到上位
2. 2 VB介绍
VISUAL BASIC 6.0 中提供了一种实现串口通 讯的 MSComm 控件。该控件可完成对串口的读写工 作,从而实现与 PLC 的通讯,为此需正确设置它的 一些属性。MSComm 控件的属性有许多,其中一些需 要在编程时设置,另一些则取默认值即可,具体置方 法可参见相关资料。MSComm 控件有两种通信方式, 查询方式和事件驱动方式。事件驱动法:OnComm 事 件是 MSComm 控件提供的唯一的事件, 当有数据到 达端口或端口状态发生改变或通信错误产生时,都 将触发 OnComm 事件, 以捕获和处理这些通信事件 和通信中产生的错误,通过查询 CommEvent 属性值,
2. 1 PLC介绍
OMRON 可编程控制器 SYSMAC CP1H 是最新 的超高速的一体化紧凑型 PLC。它整合了 CPM2A 和 CJ1 系列 PLC 的优点。内置数字 I/O、高速计数、 脉冲输出、模拟输入和输出功能,提供了极大的灵活 性。编程电缆只需要标准的 USB 线缆,使用快捷方 便。配备与 CS/CJ 系列共通的体系结构,与以往产品 CPM2A 40 点输入输出型尺寸相同,但处理速度可 达到约 10 倍的性能。CP1H PLC 提供了两个通讯口, 可 进 行 RS- 232C 通 信 和 RS- 422A/485 通 信 。 将 CPU 单元前面的拨动开关 SW4 (若选用串行端口 1)或者 SW5(若选用串行端口 2)设定为 OFF(出 厂时设定)。并且将串口设置中的模式设为 host link 模式。RS232 端口根据 PLC 系统设定的串行端口设 定的值进行动作。初始值:高位链接(9600 位 /s、启 动位 1 位、数据长 7 位、偶数校验、结束位 2 位)。

VB通过网口与plc通讯

VB通过网口与plc通讯

VB通过网口与plc通讯在工业自动化领域,控制器之间的通讯是非常关键的一环。

而常用的通讯方式之一就是通过Visual Basic(VB)与可编程逻辑控制器(PLC)进行通讯。

通过VB与PLC的通讯,可以实现对PLC进行数据读写、实时监控和远程控制等功能。

下面将介绍一些关于VB通过网口与PLC通讯的方法和步骤。

1. 环境准备首先,需要确保环境准备工作完成。

这包括安装VB开发环境和PLC通讯驱动程序等。

在VB中,可以使用Socket或者Modbus组件来实现与PLC的通讯。

而PLC通讯驱动程序则需要根据具体使用的PLC品牌和型号进行选择和安装。

2. 确定通讯方式在进行VB与PLC通讯之前,需要确定通讯的方式。

常见的通讯方式有以太网通讯和串口通讯两种。

如果选择以太网通讯,就需要确保PLC和计算机在同一局域网内,并且能够互相访问。

而串口通讯则需要连接串口线,适用于一些没有以太网接口的老型号PLC。

3. 设置通讯参数在进行VB与PLC通讯之前,还需要设置通讯参数。

这包括PLC的通讯地址、端口号、通讯协议等。

通常可以通过PLC通讯驱动程序提供的API或者官方文档来获取这些参数,然后在VB 程序中进行设置。

4. 实现数据读写一旦通讯参数设置完毕,就可以开始实现数据读写了。

在VB 中,可以使用Socket组件来进行数据的读写。

首先需要建立与PLC的连接,然后发送数据请求并接收返回的数据。

根据PLC的不同,数据的读写方式也有所区别,常见的有读取PLC的寄存器值、写入PLC的寄存器值等。

5. 实时监控与远程控制VB通过网口与PLC通讯的一个重要应用就是实现实时监控和远程控制功能。

通过读取PLC的数据,可以实时监测工业生产过程中的各项指标,如温度、压力、流量等。

而通过写入PLC的数据,则可以对生产设备进行远程控制,如启动、停止、调节参数等。

6. 异常处理与调试在进行VB与PLC通讯的过程中,可能会出现一些异常情况,如通讯错误、连接中断等。

基于VB的PLC与计算机间串行通信实现

基于VB的PLC与计算机间串行通信实现

基于VB的PLC与计算机间串行通信实现在工业控制领域中,PLC 作为一种稳定可靠的控制器得到广泛的应用。

但它也有自身的一些缺点,即数据的计算处理和管理能力较弱,不能给用户提供良好的界面等。

而计算机恰好能弥补PLC 的不足,它不但有很强的数据处理和管理能力,而且能给用户提供非常美观而又易于操作的界面。

将PLC 与计算机结合,可使系统达到既能及时地采集、存储数据,又可处理和使用好数据,两者结合的关键是PLC 与计算机之间的通信。

本文以OMRON 公司的CPMI小型PLC 为例,详细的讨论了PLC 与计算机通信的原理和用VB 如何实现PLC 与计算机的通信。

一、通行原理与方法上位机要能够通过PLC 监控下层设备的状态,就要实现上位机与PLC间的通信,一般工业控制中都是采用RS232C 实现。

上位机首先向PLC 发送查询数据的指令(实际上是查询PLC 中端子的状态和dm 区的值等),PLC 接收了上位的指令后,进行校验(fcs 校验码),看其是否正确,如果正确,则向上位机传送数据(包含首尾校验字节)。

否则,PLC 拒绝向上位机传送数据。

上位接收到PLC 传送的数据,也要判断正确与否,如果正确,则接收,否则,拒绝接收。

由于cpm1a 没有提供串行通信口,我们利用其提供的外设端口实现通信。

PLC 与计算机之间的连接是通过omron 提供的专用电缆cqm1-cif01 来实现的,其硬件连接二、PLC 与计算机间的通信规约计算机与PLC 间的通信是以帧为单位进行的,并且在通信的过程中,计算机具有更高的优先级。

首先,计算机向PLC 发出命令帧,然后,PLC 作出响应,向计算机发送回响应帧。

其中命令帧和响应帧的格式如下:。

菱PLC与PC上位机VB通讯

菱PLC与PC上位机VB通讯

三菱PLC与PC上位机VB通讯三菱PLC:FX1N + FX1N-232-BDFX2N + FX2N-232-BD计算机:Windows XP中文企业版 + Visual Basic 中文企业版Windows 98中文版 + Visual Basic 中文企业版两者之间连接使用的是FX-232CAB-1电缆线2-3,3-2,4-68,5-5一.三菱PLC的设置三菱FX PLC在进行计算机链接专用协议和无协议通讯RS指令时均须对通讯格式D8120进行设定;其中包含有波特率、数据长度、奇偶校验、停止位和协议格式等;在修改了D8120的设置后,确保关掉PLC的电源,然后再打开;此外,对于采用RS485形式1:N计算机链接的还必须对站点号D8121进行设定;设定的范围从00H到0FH即0到15;在这里对D8120采用下述设置:b15 b00110 1000 1000 11106 8 8 E即数据长度为7位,偶校验,2位停止位,波特率为9600bps,无标题符和终结符,采用计算机链接RS-232C,自动添加和校验码,采用专用协议格式1;同时设定站号为0;具体设定如下所示:FX PLC进行计算机链接时可用的专用协议有两种:格式1和格式4;两种格式的差别在于是否在每一个块上添加了CR + LF,其中添加了CR + LF的是格式4;在这里采用格式1; 二.上位机程序的编制这里采用Microsoft公司的Visual Basic 中文企业版编制上位机程序;Visual Basic中提供了一个名为MSComm的通信控件便于设计串行通信的程序;MSComm控件的主要属性有:1.CommPort属性CommPort属性用于指定所要使用的串行端口的号码;虽然Windows操作系统可以容纳最多256个串行通信端口,不过Visual Basic的MSComm控件则仅限于16个端口;2.Settings属性Settings属性用于设置初始化参数;以字符串的形式设置波特率、奇偶校验、数据位、停止位等4个参数;其格式为“BBBB,P,D,S”,其中BBBB表示波特率,P表示奇偶校验位检查方式,D 表示数据位数,S表示停止位数;一般情况下,欧美仪器习惯使用“9600,n,8,1”当成设置值;而日本仪器则习惯使用“9600,e,7,2”作为设置值;Settings设置完成之后,所传输及接受的字符串便以此设置为准,使用RS-232通信的双方,Settings必须完全一样,彼此才能顺利地通信,否则双方将无法正确接收到彼此所传输的信号;所以,该属性的设置必须和三菱PLC 中D8120的相关设置保持一致;在这里,统一采用“9600,e,7,2”的设定;3.PortOpen属性PortOpen属性用于设置通信连接端口的状态;在使用串行端口之前必须先将要使用的串行端口打开;在上位机程序中应进行如下设定:Private Sub Form_Load '窗体载入事件= 1 '选择端口号= "9600,e,7,2" '设置端口属性= True '打开端口End Sub4.Output属性MSComm控件的Output属性提供了发送的功能,当从计算机向可编程控制器写入数据或从可编程控制器读取数据时,上位机应当先发出以下格式格式1的指令字符串:ENQ 站号 PC号命令消息等待时间字符区域A 和校验代码其中站号为在D8121中的设定值,这里是:00,PC号对于FX系列为:FF;因为ENQ,ACK,NAK等通信控制字符是不可见字符,所以先用Chr函数对其进行赋值:ENQ=Chr5 ACK=Chr6 NAK=Chr&H15然后在上位机程序中写入以下代码即可发出指令:=ENQ &“00FF<命令><消息等待时间><字符区域A><和校验代码>”5.Input属性与Output属性相反,Input属性提供了接收数据的功能;它将对方传到输入缓冲区中的数据读进程序中,并清除缓冲区中已被读取的数据;a. 如果是从计算机向可编程控制器写入数据时,接收到从可编程控制器返回的应该是以下格式的字符串:ACK 站号 PC号或者 NAK 站号 PC号错误代码前一种表示可编程控制器已经正确接收到从计算机发来的指令,后一种表示可编程控制器未正确接收到从计算机发来的指令;b. 如果是从计算机向可编程控制器读取数据时,接收到从可编程控制器返回的应该是以下格式的字符串:STX 站号 PC号字符区域B ETX 和校验代码或者 NAK 站号 PC号错误代码如果要连续读取数据可以利用Timer控件;将Output和Input放在Timer控件的Timer事件中即可;程序会以Timer控件的Interval属性中设置的间隔去发送指令和接收数据;对于MSComm控件的其他一些属性使用VB的默认值即可;在串行通信传输的应用中,经常使用的Visual Basic中的字符串处理函数如下:Chr函数:返回含有特定ANSI或DBCS字符码的字符串;Asc函数:返回字符串第一个字符的ANSI或DBCS字符码;Len函数:返回以字符数为单位的字符串长度;Mid函数:取得字符串中特定数量的字符,可指定开始获取的位置和长度;Left函数:取得字符串的左边固定字符数的字符串;Right函数:取得字符串的右边固定字符数的字符串;Val函数:把字符串转换为数值,可以将8进制或16进制的字符串转换为10进制;Hex函数:返回以十六进制数值表示的字符串;RS指令应用一三菱PLC与计算机利用RS指令进行通讯通讯手册9-14例三菱PLC:FX1N + FX1N-232-BD计算机:Windows XP中文企业版 + Visual Basic 中文企业版Windows 98中文版 + Visual Basic 中文企业版两者之间连接使用的是FX-232CAB-1电缆线2-3,3-2,4-68,5-5一.三菱PLC的设置三菱FX PLC在进行计算机链接专用协议和无协议通讯RS指令时均须对通讯格式D8120进行设定;其中包含有波特率、数据长度、奇偶校验、停止位和协议格式等;在修改了D8120的设置后,确保关掉PLC的电源,然后再打开;在这里对D8120采用下述设置:b15 b00000 0100 1000 11110 4 8 F即数据长度为8位,偶校验,2位停止位,波特率为9600bps,无标题符和终结符,没有添加和校验码,采用无协议;PLC程序如下:二.上位机程序的编制完整程序代码及注释如下:Private Sub cmd1_Click '发送按钮= ""If = "" Then '若发送数据栏中未键入指令则提示键入指令= "Please input data"Else= '发送指令= True '触发延时接收End IfEnd SubPrivate Sub Form_Load '窗体载入事件= 1 '选择端口号= "9600,e,8,2" '设置端口属性= True '打开端口End SubPrivate Sub Timer1_Timer '延时500ms接收NAK = Chr&H15If > 0 Then= ""a == a '在接收数据栏中显示接收到的数据Else= "No response"End If= FalseEnd SubRS指令应用二三菱PLC与仪表之间通讯三菱PLC:FX1N + FX1N-232-BD仪表称重器两者之间连线该仪表仅提供3线式的简化RS-232C口,即只有:RXD,TXD和GND,于是采用2-3,3-2,5-5的三线接法;1.对D8120进行设置并使其与仪表中的设置一致,对其中的控制线设置成使用无硬件握手方式,即b12,b11,b10=0,0,0;根据仪表说明书上对通讯的要求,设置如下:b15 b00000 0000 1000 01100 0 8 62.根据仪表说明书所述,该种仪表有两种工作方式:连续发送和指令状态;这里设置成指令状态,即仪表根据发来的指令返回相应的数据;在此使用READ指令,根据指令协议,输入的指令必须以<CR><LF>确认;所以READ指令的ASCII输入为“52,45,41,44,0D,0A”一共6个字符,将RS指令的发送数据点数设为k6;另外返回数据的格式是18个字符,所以将RS指令的接收数据点数设为k18;通过注:发送数据点数和接收数据点数必须按指令协议进行设置,否则通讯不能正常进行;PLC程序如下:参考资料1.三菱FX通讯用户手册RS-232C,RS4852.Visual Basic与RS-232串行通信控制最新版清华大学出版社。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档