基于VB的PLC与计算机串行通信的实现
- 格式:pdf
- 大小:193.70 KB
- 文档页数:2
在Windows平台下利用VB实现电脑与三菱Q00PLC的串行通信发布: 2011-9-8 | 作者: —— | 来源:liujiada| 查看: 445次| 用户关注:摘要:本文分析了Windows环境下串行通信的编程技术,介绍了在Windows环境下用VB6.0语言编写串行通信程序,实现了PC机与三菱Q00PLC之间的串行通信,并提出了在实际应用中提高串行通信性能的方法。
关键词:VB;Win32API函数;串行通信;Q00PLC一概述在工业控制中,串口是常用的计算机与外部串行设备之间的数据传输通道。
由于串行通信结构简单、可靠性强、实现及使用成本低、通讯标准统一,因此在测控系统和工程中应用十分广泛。
目前Wi摘要:本文分析了Windows环境下串行通信的编程技术,介绍了在Windows环境下用VB6.0语言编写串行通信程序,实现了PC机与三菱 Q00PLC之间的串行通信,并提出了在实际应用中提高串行通信性能的方法。
关键词:VB;Win32API函数;串行通信;Q00PLC一概述在工业控制中,串口是常用的计算机与外部串行设备之间的数据传输通道。
由于串行通信结构简单、可靠性强、实现及使用成本低、通讯标准统一,因此在测控系统和工程中应用十分广泛。
目前Windows在工业生产监控管理系统中已成为主流平台,Windows环境下的上、下位机之间的串行通信是设计与开发监控管理系统和集散控制系统的重要组成部分。
Microsoft公司的VB++6.0是一种高级编程语言,它提供的串列通信控件封装了封装了Win32API中的标准通信函数,可以让开发者方便开发串列通信上位机程序。
PLC是现在控制领域不可缺少的部分,已经非常普及,如何简便的与PLC交互已经成为众多厂商新的竞争战场。
由此产生了人机界面、组态软件等产品。
这些产品的产生大大简化了对PLC的控制,操作,使用更方便。
但也有共同的缺点:价格过高和开放性较差。
VB作为“原始"的编程语言在这两方面无疑有着明显的优势。
收稿日期:2003-01-15作者简介:敬 伟(1977—),女,重庆人,西安工业学院硕士研究生,研究方向为自动化控制、智能仪表。
用VB6.0实现西门子PLC 与PC 机的串行通讯敬 伟1,樊文侠1,涂 劲2(1.西安工业学院电子信息科学与工程系,陕西西安710032;2.重庆大学,重庆400044)摘 要:对西门子系列PLC 的通讯协议进行了详细的介绍,并以VB6.0开发系统在WINDOWS 环境下实现了PC 机与西门子系列PLC 之间的串行通讯。
文章给出了PLC 和VB6.0相关的主要程序,通过该通讯程序实现了PC 机对西门子系列PLC 的监控和控制。
同时本程序对PC 机与其他型号PLC 之间的通讯也有一定的借鉴意义。
关键词:可编程控制器;串行通讯;协议中图分类号:TP393104 文献标识码:A 文章编号:1005-3751(2003)0025-02Achieve Serial Communication betw een PC and SIEMENS Series PLC by VB6.0J IN G Wei 1,FAN Wen 2xia 1,TU Jin 2(1.Xi ’an Inst.of Tech.,Xi ’an 710032,China ;2.Chongqing University ,Chongqing 400044,China )Abstract :The communication protocol of SIEMENS series PLC is introduced and serial communication between PC and SIEMENS series PLC is achieved by VB6.0development system in windows environment.The mostly program about PLC and VB6.0is introduced and can monitor SIEMENS series PLC through PC.What ’s more ,the method of disposal can be applied with other type of PLC or sin 2glechip.K ey w ords :programmable controller (PLC );serial communication ;protocol PLC 以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。
基于VB的上位机与PLC的串行通信1 引言在现代控制系统中,pc机作为上位机负责系统管理、状态监控、信息处理和打印报表等工作,plc作为下位机进行面向现场的实时控制已成为一种典型的系统结构。
因此,pc机与plc之间的通信问题便成了系统能否实现的关键。
串行通信以其接线简单、容易实现的特点得到了广泛的应用。
visual basic编程软件简单易学、功能强大,利用它可以很方便的实现pc机与plc间的串行通讯。
本文以omron公司的cpm2a plc为例,介绍了利用vb6.0实现pc机与plc串行通讯的具体方法。
omron公司的cpm2a plc支持host-link通信协议,可以与上位计算机进行通信。
使用host-link通信协议构成的通信网络,可以很方便的实现上位pc对下位plc的实时监控。
2 原理设计2.1 系统结构系统结构如图1所示,计算机作为上位机,plc作为下位机,因omron cpm2a本身带有rs-232串口,因此,利用rs-232电缆将其与pc机的串口(com1或com2)相连,便构成了一个1:1的简单的通讯系统[1]。
图1 系统结构2.2 host-link通信协议[2]omron公司的host-link通信系统是由上位计算机(ibm pc或兼容机)通过安装在各台p lc上的host-link单元连接多台plc构成的网络。
上位机对系统中的plc进行集中管理与监控,通过与host link单元的通信,可以编辑或修改各台plc的程序,实时监控其运行过程,实现自动化系统的集散控制。
对于小型plc,也可以通过其rs 232c通信端口进行链接。
系统使用host-link通信协议进行通信,上位机具有传送优先权,总是首先发出命令并启动通信,host link单元收到命令交由plc执行,然后将执行结果返回上位机,二者以通信帧为单位,轮流交换数据。
通信时一组传送的数据称为“块”,它是命令或响应的单位,从上位机发送到host -link单元的数据块称为命令块,反过来,从host- link单元发送到上位机的数据块称为响应块。
基于VB的台达PLC与监控计算机的串行通信实现中达电通股份有限公司-—--中达电通上海机电PLC产品处王乃全Implementation of Serial Communication Between Monitoring Computer and Delta PLC Based on Visual BasicWang Naiquan摘要:PLC直接与现场控制层的检测仪器仪表设备连接,是底层控制网络的组成部分,是工厂自动化系统的基石,因此实现与监控层计算机的通信对系统的优化运行有重要意义。
文章基于VB讨论台达DVP PLC与监控计算机的通信问题.关键词:VB 通信协议可编程控制器Abstract: The PLC is a composing part of Infranet,it links to the measuring instrument and device in field control layer directly,and is the footstone of factory automation system. Therefore it is very important to realize the communication between PLC and monitoring layer computer for optimization of syste running. The paper discussed the related communication problems between Delta DVP PLC and monitoring computer based on Visual Basic.Key Words: Visual Basic Communication protocal Programable logic controller[中图分类号]TP273 [文献标识码]B 文章编号1 引言现场设备层中的设备种类繁多,有传感器、启动器、驱动器、I/O部件、变送器、阀门等等,当然也包括现场检测仪器仪表设备。
基于VB6.0的上位机与PLC实时通信技术一、通信原理上位机与PLC之间的通信是通过通信协议来实现的。
通信协议是一种规定了通信双方之间通信方式和通信内容的标准化协议。
常见的通信协议有MODBUS、OPC、PROFIBUS等。
在实际应用中,根据不同的PLC型号和通信需求,选择适合的通信协议进行通信。
二、通信协议MODBUS协议是一种基于主从结构的通信协议,包括MODBUS RTU和MODBUS TCP两种通信方式。
MODBUS RTU是基于串行通信的通信方式,通信速度较快,适合于工业现场环境。
MODBUS TCP是基于以太网通信的通信方式,通信速度更快,可实现远程通信。
基于VB6.0的上位机与PLC通信通常采用MODBUS RTU协议。
在VB6.0中,可以通过串口通信控件MSComm控件实现MODBUS RTU通信。
通过设置通信端口、波特率、数据位、停止位等参数,编写相应的通信程序,实现与PLC的通信。
三、软件设计基于VB6.0的上位机软件设计需要考虑可视化界面和通信功能的实现。
在软件设计中,需要设计用户界面,包括监控界面、控制界面、报警界面等。
需要设计通信功能,包括与PLC的连接、数据读写、通信异常处理等。
在VB6.0中,可以通过控件的方式实现软件的界面设计。
通过使用标签、文本框、按钮等控件,设计出符合用户需求的可视化界面。
在通信功能的实现中,可以通过MSComm控件实现与PLC的连接和数据读写功能。
通过编写相应的通信程序,实现与PLC之间的实时通信。
四、实现方法基于VB6.0的上位机与PLC通信的实现方法主要包括以下几个步骤:1. 确定通信协议:根据PLC型号和通信需求,选择适合的通信协议,如MODBUS协议。
2. 设计界面:设计符合用户需求的可视化界面,包括监控界面、控制界面、报警界面等。
3. 编写通信程序:通过VB6.0编写通信程序,实现与PLC的连接、数据读写等功能。
在编写通信程序时,需要考虑通信协议的格式要求,保证通信数据的准确传输。
基于VB6.0的S7-200PLC与计算机的通讯设计1 引言[1]plc 作为一种稳定可靠的控制器在工业控制系统得到了广泛的应用[1]。
但是由于中小型plc 的人机接口功能不很完善,不能提供给用户一个友好的交互界面,因此妨碍了对现场运行过程的跟踪与监控[2~5]。
目前一些通用的组态软件,以其功能强大、界面友好、开发简洁等优点在计算机监控领域已经得到了广泛的应用,但是一般价格比较昂贵[6~7]。
visual basic6.0 在开发可视化环境下的监控系统时具有其独特的优势,它本身提供的mscomm控件就是为应用程序提供串口通讯而设计的,它屏蔽了通讯过程中的底层操作,只需设置、监视mscomm控件的属性和事件即可完成对串行口的初始化和数据输入输出[8~10]。
西门子s7-200plc由于其体积小,可靠性高,通讯功能强大等特点,在工业控制领域得到广泛的应用。
s7-200系列plc的通讯方式主要有三种:ppi方式、profibus-dp方式、freeport(自由口)方式。
其中自由口方式是由用户自己定义通讯协议,具有与外围设备通讯方便、自由,易于计算机控制软件的开发等特点,因此使用自由口通讯方式实现plc与上位机通信的控制方案较多[11~14]。
本文采用s7-200plc的自由口通讯协议,基于vb6.0开发了一种简单实用且易于功能扩展的监控界面,其中计算机作为上位机,通过mscomm控件建立与下位机plc的通讯,可以实现数字量和模拟量读写、存储及模拟量趋势曲线绘制。
2 通讯原理在上位机中,通过vb6.0中的mscomm控件完成数据的发送与接收;在下位机中则是通过plc的指令完成数据的发送与接收的。
2.1 通讯初始化设置由于s7-200plc与计算机的自由口通讯是串行通讯,故通讯前需要通讯双方的串行端口初始化,使双方通讯参数保持一致。
(1) 上位机初始化设置上位机使用mscomm控件通过串行端口发送和接收数据,因此首先要对mscomm控件进行初始化设置,主要始化设置如下:mport=1 `设定通讯端口号mscomm1.portopen=true `通讯端口打开mscomm1.settings="9600,n,8,1"mscomm1.inputmode=1settings:以字符串的形式设置并返回波特率、奇偶校验位、数据位和停止位。
一、通行原理与方法上位机要能够通过PLC监控下层设备的状态,就要实现上位机与PLC间的通信,一般工业控制中都是采用RS232C实现。
上位机首先向PLC 发送查询数据的指令(实际上是查询PLC中端子的状态和dm区的值等),PLC接收了上位的指令后,进行校验(fcs校验码),看其是否正确,如果正确,则向上位机传送数据(包含首尾校验字节)。
否则,PLC拒绝向上位机传送数据。
上位接收到PLC传送的数据,也要判断正确与否,如果正确,则接收,否则,拒绝接收。
由于cpm1a没有提供串行通信口,我们利用其提供的外设端口实现通信。
PLC与计算机之间的连接是通过omron提供的专用电缆cqm1-cif01来实现的,二、PLC与计算机间的通信规约计算机与PLC间的通信是以“帧”为单位进行的,并且在通信的过程中,计算机具有更高的优先级。
首先,计算机向PLC发出命令帧,然后,PLC作出响应,向计算机发送回响应帧。
其中命令帧和响应帧的格式如下:(1)命令帧格式。
为了方便计算机和PLC的通讯,cpm1a对在计算机连接通信中交换的命令和响应规定了相应的格式。
当计算机发送一个命令时,其中@放在首位,表示以@开始,设备号为上位机识别所连接的PLC的设备号。
识别码为命令代码,用来设置用户希望上位机完成的操作,fcs为帧检验代码,一旦通信出错,通过计算fcs可以及时发现。
结束符为“*”和cr回车符,表示命令结束。
其中,异常码可以确定计算机发送的命令是否正确执行。
其它的与正文中的含义相同。
正文仅在有读出数据时有返回。
三、通信程序的设计为了充分利用计算机数据处理的强大功能,我们可以采用计算机有优先权的方式,在计算机上编写程序来实现计算机与PLC的通信,计算机向PLC发出命令发起通信,PLC自动返回响应。
本文中采用vb来编写计算机与PLC间的通讯程序。
在vb中提供了通信控件—应用通信控件(mscomm),实现通过串行端口传送和接受的功能。
艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。
基于VB实现台达PLC与PC串行通讯随着工业自动化控制技术的不断发展,可编程逻辑控制器(PLC)与上位机之间通讯的应用越来越广泛。
在PLC与上位机组成的集散控制系统中,PLC作为下位机完成现场各种信号和数据的采集、运算和完成对系统的底层控制,上位机则可提供人机交互界面,实现数据的处理以及现场数据的实时显示等监视和远程控制等功能。
为实现面向产品全生命周期的数字化远程服务经营理念的制造装备的远程监测、诊断与维护技术,随着移动通讯市场的迅速扩大,GSM 无线数字蜂窝通讯网络在我国得到了高速的发展,不但拥有较高的覆盖率,而且相继开放了SMS(短消息)、FAX(传真)、DATA(数据)等业务,为选择高效、廉价的数据传输提供了新的思路。
各种组态软件,如:iFix、MCGS、组态王等虽然可以实现PLC的远程监控,但不能实现PLC Modbus通讯协议与GSM模块的通讯协议的转换。
本文就是基于这点考虑,运用VB编制操作界面和通信功能,完成台达PLC与PC机串行通讯,这是实现GSM模块与PLC通讯的关键技术所在。
1通讯硬件及协议简介1.1通讯硬件组成台达PLC自带有两个通讯串口(EH系列可扩展第三个通讯口RS-485或RS-422)COM1和COM2。
COM1采用标准RS-232接口,它是一种近距离、低干扰、点对点的通讯协议。
该接口在下载完PLC程序后一般都处于闲置状态。
COM2是标准RS-485接口,可用于用抗干扰能力强、可多台串接组网的通讯方式。
在该生产线的控制系统中,COM2已用于PLC与变频器之间的通讯,而一般PC机都自带标准RS-232接口。
因此PC机与PLC之间通讯采用COM1(RS-232)接口,连接线采用台达PLC的编程电缆DVPACAB230。
1.2通讯协议介绍Modbus 协议是应用于电子控制器上的一种通用语言。
通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。
它已经成为一通用工业标准。
利用VB实现PLC与PC机的通讯【摘要】本文详细介绍了FX-2N系列PLC的通信协议,并以VB为开发工具设计界面以及接收数据从而实现了PC机与FX-2N系列的PLC的串行通讯。
在生产中可利用VB的可视化特性,采用串行通讯的方式,对整个装置的运行情况进行实时监控,达到随时掌握现场情况的目的。
【关键词】PLC;自动控制;串行通讯;VB0 引言目前,PLC在国内外已广泛应用于钢铁、石油、华工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐各个行业。
在工业用途中,液体混和装置常常会用于会用于各种场合。
PLC以卓越的可靠性和方便的可编程性广泛应用于工业控制领域。
实现PC机与PLC通信的目的是为了向用户提供诸如工艺流程图显示、动态数据画面显示、报表显示、窗口技术等多种功能,为PLC提供良好的人机界面。
PLC与计算机通信是PLC通信中最简单、最直接的一种通信方式。
与PLC通信的计算机称之为上位计算机,PLC与计算机之间的通信又叫上位通信。
PLC与计算机通信主要是通过RS-232C或RS-422接口进行的。
计算机上的通信接口是标准的RS-232接口;若PLC上的通信接口也是RS-232C 接口时,PLC与计算机连接是可以直接使用适配电缆进行连接,实现通信。
本课题便也是采用这种方法进行连接的。
1 硬件连接PC机与FX系列的PLC可经过FX2N-232-BD 通讯模块连接,下图表示它们之间的连接关系:图1 硬件连接2 FX系列PLC的通讯协议(1)数据格式FX系列的PLC采用异步格式,由1位起始位、7位数据位、1位偶检验位及1位停止位组成,波特率为9600bps,字符为ASCII码。
格式如下:(2)通讯命令FX 系列PLC有4个通讯命令,它们是读命令、写命令、强制通命令、强制断命令,如表所示。
表中X-输入继电器;Y-输入继电器;M-辅助继电器;S-状态元件;T-定时器;C-计数器;D-数据寄存器。
(3)通讯控制字符FX 系列PLC采用面向字符的传输规程,用到5个通讯控制字符,如表所示:(4)报文格式PC机向PLC发送的报文格式如下:报文格式其中STX为开始标志:02H;ETX为结束标志:03H;CMD为命令的ASCII 码:SUMH,SUML为从CMD到ETX按字节求累加和,溢出不计。