【VB开源代码栏目提醒】:以下是网学会员为您推荐的VB开源代码-VB编程软件来开发上位机和PLC之间的通信 - 期刊论文,希望本篇文章对您学习有所帮助。
- 1 - Visual Basic(
VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。
从任何标准来说,
VB都是丠界上使用人数最多的语言——不仅是盠赞
VB的开发者还是抱怨
VB的开发者的数颃。
其中微软的办公软件,比如WORD和EXCEL都是用
VB来编写的。
它源自BASIC 编程语言。
VB拥有图形用户界面( GUI )和快速应用程序开发( RAD )系统,可以轻易的使用 DAO 、 RDO 、 ADO 连接数据库 ,或者轻松的创建 ActiveX 控件 。
Visual Basic是可视化Basic编程语言有4.05.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体积小,重量轻,能耗低。
PLC在好多领域都有其应用,比如在过程控制,运动控制等。
如果能结合把
VB灵活的编程和PLC的控制功能很好的结合,实现互相控制和读写,那将具有巨大的应用前景。
本课题属于利用
VB编程软件来开发上位机和PLC之间的通信。
涉及
VB编程,串口通信,PLC的应用。
这个课题是对自动化所学专业的综合应用。
- 2 - VBPLC 本毕业设计的要求是实现
VB与松下PLC之间的通信,可利用
VB编写的程序生成一个界面,实现对松下PLC的简单控制。
比如对DT的读写,对输入输出点的读写,还有通信端口的选择等,做到准确无误。
本系统是以
VB为平台,用
VB中的MOSCOMM控件,根据松下PLC自有的通信协议,编写串口通信程序。
用
VB提供的普通控件,如按扭,标签等基本控件来模拟PLC的各个开关量及状态。
在
VB生成的EXE软件中控制PLC的输入输出,并读取PLC在运行时的数据。
设计思路总流程如下框所示 本系统是在凌阳61板(SPCE061A单片机)的基础上,用LM35DZ精密集成电路传感器进行温度检测,用四位的数码管显示测量温度值和设定温度值,单片机输出PWM控制继电器吸合和释放来控制电热丝电流的通断。
系统设计总框图如下: 对上述系统框图的说明如下: 1,
VB软件用的是
VB6。
0企业版 2,采用松下MEWTOCOL2COM通信协议 3,利用
VB自身包含的做串口通信比较好的MOSCOMM控件编写程序 4,最后实现能选择COM口,并且同步显示通信是否正常。
PLC上电运行时,能和PLC里的程序相对应,能同步显示YO-Y8和X0-X8的输入输出状态,能对DT读和写,能实现控制RO的开关控制,并即时显示RO状态。
通过MOSCOMM控件编写通信程序
VB软件 松下通信协议 数据读出 数据写入3 图 1.1 系统设计总框图 - 3 - 本
毕业设计系统的硬件包括松下FP-X系列PLC一台,自制PLC实验箱一只,内装
VB6。
0企业版本的PC机一台。
这些硬件,通过在PC机,利用
VB6。
0编写串行通信程序,模拟和控制PLC的运行。
实验箱主要用来辅助作用,,通过实验箱和
VB软件的结合,共同来完成对PLC的程序的有序的运行。
本次
毕业设计用到了暑假时候我们产。
学。
研基地成员在章老师和侯老师的带领下,自己
设计完成的一个用于做PLC实验教学使用的实验箱,如下图3-1所示: 图2-1 松下PLC教学实验箱 此实验箱包括两个部分。
一:为
系统模拟部分,其中主要包括16位输入输出的状态显示,电压表,电流表,两个七段数码管模拟显示,一台小型步进电机,还有一个松下GT30触摸屏,如图3-2所示。
松下触摸屏 GT30系列 5.7英寸的中型可编程智能操作液晶显示面板,厚度41mm更加紧凑的结构,采用TureType字体,长寿命背光灯配置,自动通信设定,穿越功能,可以和多种PLC连接通信,可以 - 4 - 用中、英、日等多国语言编辑,工作电压DC24V 严格配备常用功能 出众的维护性 轻巧的机节省空间.美观、清晰的画面.支持主要品牌的PLC 多语言显示. 减轻PLC编程与调试的负担。
图2-2 松下触摸屏 GT30 此款产品与松下PLC合用,使操作更方便,使用起来更简单易懂。
二:控制部分,为一台松下FP-X C30T小型PLC,本次毕业设计我用的是FP-X C30T。
如下图3-2 图2-3 松下FP-X C30T PLC 小型机身内置了4轴高速脉冲输出功能。
2轴直线插补时2组可同时进行。
凸轮的电子化控制、单元化生产设备及液晶定位的XY平台+Z轴控制、纸箱及热交换导管的立体弯曲加工、小型线圈的高密度绕线机等生产设备中所需的伺服电机、步进电机等的款式将越来越丰富,并趋向于 - 5 - 多轴化设计。
其中的FP-X把4轴脉冲输出功能内置于小型机身中,成为既可节省空间又可降低成本又可进行多轴控制,且适用于小型设备控制的小型通用PLC。
其特点是: 1.超高速处理基本指令只需0.32μs,可快速扫描。
(例:5K步※1时,为1.9ms)小型PLC内,通过高速处理速度0.32μsec,也可对应要求高速扫描的用途。
2.充裕的大容量充裕的程序容量达到32K步。
注释区域也可以充分保证。
※2通过超过小型PLC范畴的高程序容量32K步,可对应随着将来设备扩展而产生的范围广泛的各种应用。
3.广泛的扩展性I/O最多300点。
可通过功能扩展插件,使扩展范围更进一步扩大。
针对客户的 “逐步扩展”的要求,可通过扩展插件,轻松地提高性能。
也可控制成本。
还有,利用扩展FP0适配器,最多可连接3台现有的FP0扩展单元。
4.可靠的安全性通过8位密码和禁止上传功能,有效保护程序。
5.配备USB端口※3通过普通USB电缆(AB型),可与计算机实现简便连接。
串行通信端口(SERIAL COMMUNICATION PORT)在系统控制的范畴中一直占有极重要的角色,不仅没有因为时代的进步被淘汰,反而是在规格上愈来愈向其极限挑战。
现在,计算机上的串行通信端口(RS232)是标准配置,用途上则以连接调制解调器作通信传输最为常见,当然了,它的重要性还不只如此! 历史:美国EIA电子工业联合会ampBELL等公司开发于1970年公布全称是EIA RS232-CRS是Recommended Standard 推荐标准),232是标识号,C代表最新1次修订。
应用:RS232-C标准仅用于支持PC与调制解调器与打印机的连接。
目前它又广泛地被借来用于计算机(计算机接口)与终端或外设 之间的近端连接标准. - 6 - 图2-4 RS232简介 串行通信接口标准经过使用和发展,目前已经有几种。
但都是在RS-232标准的基础上经过改进而形成的。
所以,以RS-232C为主来讨论。
RS-323C标准是美国EIA电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。
它适合于数据传输速率在0~20000b/s范围内的通信。
这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。
由于通行设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。
在讨论RS-232C接口标准的内容之前,先说明两点: 首先,RS-232-C标准最初是远程
通信连接数据终端设备DTEData Terminal Equipment与数据通信设备DCE(Data Communication Equipment而制定的。
因此这个标准的制定,并未考虑计算机系统的应用要求。
但目前它又广泛地被借来用于计算机(更准确的说,是
计算机接口)与终端或外设之间的近端连接标准。
显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。
有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了。
其次,RS-232C标准中所提到的“发送”和“接收”,都是站在DTE立场上,而不是站在DCE的立场来定义的。
由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。
RS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIAElectronic Industry Association代表美国电子工业协会,RS(ecommeded standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。
。
它规定连接电缆和机械、电气特性、信号功能及传送过程。
常用物理标准还有有EIAamp0RS-232-C、EIAamp0RS-422-A、EIAamp0RS-423A、EIAamp0RS-485。
这里只介绍EIAamp0RS-232-C(简称232,RS232)。
例如,目前在IBM PC机上的COM1、COM2接口,就是RS-232C接口。
- 7 - 1.电气特性 EIA-RS-232C对电器特性、逻辑电平和各种信号线功能都作了规定。
在TxD和RxD上:逻辑1MARK-3V~-15V 逻辑0SPACE3~+15V 在RTS、CTS、DSR、DTR和DCD等控制线上: 信号有效(接通,ON状态,正电压)=3V~15V 信号无效(断开,OFF状态,负电压-3V~-15V 23引脚 CCITT Modem 名称 说明 用途 异步 同步 1 101 AA 保护地 设备外壳接地 PE PE√ 2 103 BA 发送数据 数据送Modem TXD 3 104 BB 接收数据 从Modem接收数据 RXD 4 105 CA 请求发送 在半双工时控制发送器的开和关 RTS 5 106 CB 允许发送 Modem允许发送 CTS 6 107 CC 数据终端准备好 Modem准备好 DSR 7 102 AB 信号地 信号公共地 SG SG√ 8 109 CF 载波信号检测 Modem正在接收另一端送来的信号 DCD - 8 - 9 空 10 空 11 空 12 接收信号检测(2) 在第二通道检测到信号 √ 13 允许发送(2) 第二通道允许发送 √ 14 118 发送数据(2) 第二通道发送数据 √ 15 113 DA 发送器定时 为Modem提供发送器定时信号 √ 16 119 接收数据(2) 第二通道接收数据 √ 17 115 DD 接收器定时 为接口和终端提供定时 √ 18 空 19 请求发送(2) 连接第二通道的发送器 √ 20 108 CD 数据终端准备好 数据终端准备好 DTR 21 空 22 1 振铃 振铃指示 R - 9 - 25 I 23 111 CH 数据率选择 选择两个同步数据率 √ 24 114 DB 发送器定时 为接口和终端提供定时 √ 25 空 表2-1 RS232电气特性 以上规定说明了RS-323C标准对逻辑电平的定义。
对于数据(信息码):逻辑“1”(传号)的电平低于-3V,逻辑“0”(空号)的电平告语3V;对于控制信号;接通状态(ON)即信号有效的电平高于3V,断开状态OFF即信号无效的电平低于-3V,也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3~3V之间的电压无意义,低于-15V或高于15V的电压也认为无意义,因此,实际工作时,应保证电平在±3~15V之间。
EIA-RS-232C与TTL转换:EIA-RS-232C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。
因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA-RS-232C与TTL电路之间进行电平和逻辑关系的变换。
实现这种变换的方法可用分立元件,也可用集成电路芯片。
目前较为广泛地使用集成电路转换器件,如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN75154可实现EIA电平到TTL电平的转换。
MAX232芯片可完成TTL←→EIA双向电平转换,图1显示了1488和1489的内部结构和引脚。
MC1488的引脚2、45、910和1213接TTL输入。
引脚3、6、8、11输出端接EIA-RS-232C。
MC1498的14的1、4、10、13脚接EIA输入,而3、6、8、11脚接TTL输出。
具体连接方法如图2所示。
图中的左边是微机串行接口电路中的主芯片UART,它是TTL器件,右边是EIA-RS-232C连接器,要求EIA高电压。
因此,RS-232C所有的输出、输入信号都要分别经过MC1488和MC1498转换器,进行电平转换后才能送到连接器上去或从连接器上送进来。
2、、连接器的机械特性: 连接器:由于RS-232C并未定义连接器的物理特性,因此,出现了DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也各不相同。
下面分别介绍两种连接器。
(1)DB-25: PC和XT机采用DB-25型连接器。
DB-25连接器定义了25根信号线,分为4组: - 10 - ①异步通信的9个电压信号(含信号地SG)2,3,4,5,6,7,8,20,22 ②20mA电流环信号 9个(12,13,14,15,16,17,1923,24) ③空6个(9,10,11,18,21,25) ④保护地(PE)1个,作为设备接地端(1脚) DB-25型连接器的外形及信号线分配如图3-1所示。
注意,20mA电流环信号仅IBM PC和IBM PC/XT机提供,至AT机及以后,已不支持。
图2-5 DB25链接器的外型及信号线分配 (2)DB-9连接器 在AT机及以后,不支持20mA电流环接口,使用DB-9连接器,作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。
它只提供异步通信的9个信号。
DB-25型连接器的引脚分配与DB-25型引脚信号完全不同。
因此,若与配接DB-25型连接器的DCE设备连接,必须使用专门的电缆线。
电缆长度:在通信速率低于20kb/s时,RS-232C所直接连接的最大物理距离为15m(50英尺)。
最大直接传输距离说明:RS-232C标准规定,若不使用MODEM,在码元畸变小于4的情况下,DTE和DCE之间最大传输距离为15m(50英尺)。
可见这个最大的距离是在码元畸变小于4的前提下给出的。
为了保证码元畸变小于4的要求,接口标准在电气特性中规定,驱动器的负载电容应小于2500pF。
- 11 - 图2-6 DB9连接器的外型及信号线分布 3、RS-232C的接口信号 RS-232C规标准接口有25条线,4条数据线、11条控制线、3条定时线、7条备用和未定义线,常用的只有9根,它们是: (1)联络控制信号线 数据装置准备好(Data set ready-DSR——有效时(ON)状态,表明MODEM处于可以使用的状态。
数据终端准备好Data set ready-DTR——有效时(ON)状态,表明数据终端可以使用。
这两个信号有时连到电源上,一上电就立即有效。
这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的控制信号决定。
请求发送Request to send-RTS——用来表示DTE请求DCE发送数据,即当终端要发送数据时,使该信号有效(ON状态),向MODEM请求发送。
它用来控制MODEM是否要进入发送状态。
允许发送(Clear to send-CTS)——用来表示DCE准备好接收DTE发来的数据,是对请求发送信号RTS的响应信号。
当MODEM已准备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端开始沿发送数据线TxD发送数据。
这对RTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。
在全双工系统中作发送方式和接收方式之间的切换。
在全双工系统中,因配置双向通道,故不需要RTS/CTS联络信号,使其变高。
接收线信号检出Received Line detection-RLSD——用来表示DCE已接通通信链路,告知DTE准备接收数据。
当本地的MODEM收到由通信链路另一端(远地)的MODEM送来的载波信号时,使RLSD信号有效,通知终端准备接收,并且由MODEM将接收下来的载波信号解调成数字两数据 - 12 - 后,沿接收数据线RxD送到终端。
此线也叫做数据载波检出Data Carrier dectection-DCD)线。
振铃指示Ringing-RI——当MODEM收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态),通知终端,已被呼叫。
(2)数据发送与接收线: 发送数据Transmitted data-TxD——通过TxD终端将串行数据发送到MODEM,DTE→DCE。
接收数据Received data-RxD——通过RxD线终端接收从MODEM发来的串行数据,DCE→DTE。
(3)地线 有两根线SG、PG——信号地和保护地信号线,无方向。
上述控制信号线何时有效,何时无效的顺序表示了接口信号的传送过程。
例如,只有当DSR和DTR都处于有效(ON)状态时,才能在DTE和DCE之间进行传送操作。
若DTE要发送数据,则预先将DTR线置成有效ON状态,等CTS线上收到有效ON状态的回答后,才能在TxD线上发送串行数据。
这种顺序的规定对半双工的通信线路特别有用,因为半双工的通信才能确定DCE已由接收方向改为发送方向,这时线路才能开始发送。
2个数据信号:发送TXD;接收RXD。
1个信号地线:SG。
6个控制信号: DSRamp0amp0数传机(即modem)准备好,Data Set Ready. DTRamp0amp0数据终端(DTE,即微机接口电路,如Intel8250/825116550)准备好,Data Terminal Ready。
RTSamp0amp0DTE请求DCE发送Request To Send。
CTSamp0amp0DCE允许DTE发送(Clear To Send)该信号是对RTS信号的回答。
DCDamp0amp0数据载波检出,Data Carrier Detection当本地DCE设备(Modem)收到对方的DCE设备送来的载波信号时,使DCD有效,通知DTE准备接收, 并且由DCE将接收到的载波信号解调为数字信号, 经RXD线送给DTE。
RIamp0amp0振铃信号 Ringing当DCE收到交换机送来的振铃呼叫信号时,使该信号有效,通知DTE已被呼叫。
- 13 - 1.RS422全称是“平衡电压数字接口的电气电路” 2.RS422最多可以接10个接点 3.支持点对多的双向通信 4.最大传输距离为4000英尺(约1219m,最大传输速率12Mb/s 5.4个接线端子:TXTX-数据发送 ;RX,RX-数据接收 6.接口:非标准接口,可自己定义通常为9针或15针 图2-7 RS422概述 1.RS485在RS422基础上发展而来,增加多点,双向通信能力 2.RS485可采用2线制和4线制,其中2线制可实现真正的双向多点通信 3.最大传输距离1219m,最大传输速率10Mb/s 4.可最多接到32个设备 5.2个接线端子:D ;D- 6.接口:非标准接口,可自己定义 图2-8 RS485接线原则 - 14 - 1,通信距离:RS232距离最大为15m而RS485/RS422距离为1200m 2,所连接设备个数:RS232只能连接1个设备而RS485/RS422可连接多个设备 3.接口定义:RS232是标准接口为D形9针或15针,引脚定义一样,RS485/RS422没有定义接口形状,每个设备引脚定义也不一样。
4,RS422为4线制,全双工
工作模式,RS485为2线制,半双工工作模式。
本次设计我采用的应用最广泛的RS232来实现串行通信 用
VB做串口通信,有很多种方法,其中包括AHLD和MOSCOMM方法等。
但是对于初学者还是利用MSCOMM控件比较直观易学易懂。
1、要编制
VB与PLC的通讯程序,首先是需要
VB6.0的企业版软件。
2、电脑里需要有Mscomm32.ocx这个串行通讯控件,如果您安装了
VB6.0企业版软件,安装软件会自动把Mscomm32.ocx控件放在您的电脑里。
当然,串行通讯不一定非要用Mscomm32.ocx来完成,但是我感觉初学时,用这个控件最直观 3、
学习Mscomm32.ocx控件的使用方法。
4、您需要了解掌握相应PLC的通讯协议,每个PLC的通讯协议基本都是不同的当然,会了一种PLC与
VB的通讯程序制作,其他的也基本没
问题了,通讯协议不同而已 5、学习编制
VB与PLC的通讯程序并不需要很多的
VB知识,入门级的
VB水平即可学会 6、试着编写一般的小程序,比如一个按扭,一个标签等等基本的控件。
7、学会了编制
VB与PLC通讯
程序,并且您的
VB水平足够强,则可以将此技术应用于各行业。
如:报表打印、工艺数据存档、趋势图形显示、工况查寻、参数在线修改等等监控系统。
VB高手很多,但是他们不一定都懂PLC通讯,您也可以与他们配合,只提供通讯方面的技术 - 15 - visual basic以下简称
vb是运行于windows平台下的一种可视化的高级编程语言。
自1991年问世以来,
vb适应了windows3.x到windows 95/98及windows nt等各版本的操作系统的发展,广泛应用于普通窗口类、数据库管理类、
网络数据通信类等应用程序的开发。
vb作为一种可视化的计算机的高级程序设计语言,有以下显著的特点: 1
vb继承了basic语言简单易学的特点 microsoft在发展
vb过程中从来没有忘记其根源,编程的入门者即使是一个对计算机工作原理一窍不通的人,也可以在相当短的时间内编写一个可行的windows程序。
2 与基于dos环境下的编程语言相比,
vb编程思想上发生了根本的改变 与基于dos环境下的编程语言相比,
vb编程思想上发生了根本的改变
vb中引入了面向对象的程序设计方法,使程序设计人员从烦琐的程序设计细节中解脱出来,程序设计人员在进行程序开发时,选择适当的对象构造自己需要的界面。
然后安排好某对象接收到何消息做什么就可以了。
而不需要具体地考虑对象如何做、哪个先做、哪个后做的问题。
3
vb具有强大的数据库管理功能
vb支持
sql数据库
查询,利用
vb中嵌入的数据库管理功能几乎可以操纵各种格式的数据库。
4 程序开发环境高度集成化
vb是一个包括编辑、程序调试、程序运行、程序编译等各种功能的集成程序开发环境(ide) 5
vb适应于开发视窗类应用程序
vb中包含大量的函数、命令及关键字,其中大部分与windows图形用户界面相关,专业人员可以很方便地使用它们开发出功能强大的windows应用程序。
RS232协议是基于物理层的通信协议,负责与硬件打交道,而
VB语言与其它类型的高级语言相比在此方面具有较大的优势,这也是本文选用
VB作为程序开发平台的一个重要原因。
用
VB6.0开发串口通信有四种方案,一是使用
VB6.0提供的串行通信控件MSCOMM二是在单线程中实现自定义的串口通信类(封装WINDOWS API);三是多线程下实现串行通信(封装WINDOWS API);四是直接读写串口(自己编写RS232类、WIN32PORT类)四种方法的优缺点见图2-1为了编程方便,本文采用第一种
方案。
- 16 - 表3-1 各种串口通信方案比较 .