预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

用Powerbuilder8.0实现PC机与PLC的串口通信 孟凡军,樊亚东 (武汉大学电气工程学院,武汉430072) 摘要:该文详细论述了在Powerbuilder8.0开发环境中利用Mscomm32.ocx控件来实现上位机PC与PLC的串口通信,并分别介绍了Mscomm32.ocx控件的属性、事件以及使用方法。同时,该文也给出了下位机FX2N系列PLC的通信机制以及应该注意的问题。 关键词:Powerbuilder8.0;Mscomm32.ocx控件;PLC Theaccomplishmentofserialcommunication betweenPCandPLCbyPowerbuilder8.0 Mengfanjun,Fanyadong (schoolofelectricalengineering,wuhanuniversity,wuhan430072) Abstract:Inthisarticle,wehaddiscussedthemethodtoaccomplishtheserialcommunicationbetweenPCandPLCbytheMscomm32.ocxcontrolintheenvironmentofPowerbuilder8.0indetail,andwehadalsointroduceddifferentlytheproperty,incidenceoftheMscomm32.ocxcontrolanditsusage.Atthesametime,wehadexplainedtheprincipleofcommunicationofFX2NwhichbelongedtothePLCandthenotice. Keywords:Powerbuilder8.0;Mscomm32.ocxcontrol;PLC 前言 随着工业自动化程度的提高,上位机与下位机的串口通信在工业生产中已经越来越显示出它的重要性。下位机能够通过串口通信及时地把现场的状态信息传送给上位机,而上位机也能够通过串口通信接收现场信息,进行相应的数据分析、计算、信息存储、状态显示等。在一些特殊场合,PC机还可以把控制决策信息反馈给下位机。因此,串口通信在整个控制系统中起着关键性的作用。本文结合上位机PC与下位机三菱FX2N系列PLC来具体实现这一点对点式串口通信问题。 在本篇中,我们详细讨论了在Powerbuilder8.0开发环境中利用Mscomm32.ocx控件来实现PC机与FX2N的串口通信,并论述了FX2N的通信机制以及应该注意的问题。 上位机PC的串口通信 PC机的串口通信机制 在上位机windows操作系统下实现串口通信主要是调用windowsAPI或使用MICROSOFT公司提供的通讯控件Mscomm32.ocx。调用windowsAPI函数十分复杂,它涉及到进程调度等问题。而Mscomm32.ocx控件较为简单,它提供了一系列标准通信命令的接口,我们只要设定和监视通信控件的属性和事件就可以快速准确地实现上位机的串口通信。 Mscomm32.ocx控件的使用 Mscomm32.ocx通信控件是Powerbuilder8.0开发串口通信的一种重要控件,该控件可以通过被注册来使用。它允许建立连接,可以连接到其他通信设备(如modem),还可以发送命令,进行数据交换以及监视和响应在通信过程中可能发生的各种错误和事件。因此,我们可以使用Mscomm32.ocx控件来创建事件驱动的、高效实用的通信程序。在具体的编写程序过程中,我们常常要用到它的属性,以下列出它的常用属性。 commport:设置并返回通信端口号 settings:设置并返回波特率、校验位、数据位、停止位 portopen:设置并返回端口状态,也可以用于打开和关闭串口 inbuffercount:返回接收缓冲区的等待读取的字节个数 output:向发送缓冲区发数据 rthreshold:该属性确定当接收缓冲区内字节个数达到或超过该值后就产生代码为comeventreceive的oncomm事件 inputlen:设置或返回接收缓冲区用input读入的个数 input:返回并删除接收缓冲区的数据 commevent:有通讯错误或事件发生时产生oncomm事件 在Mscomm32.ocx控件中,它只提供了一个oncomm事件。这个事件的用法相当灵活,它可以截取串口的任何消息,从而转入事件处理程序。在使用中,它常常与commevent属性配套使用。commevent属性是oncomm事件的指示器,oncomm可以通过判断它来转入不同的事件处理。Commevent属性值一般表现为接收到中断信号(comeventbreak),硬件检测到帧错误(comeventframe)