当前位置:首页 > 物联网 > 感知层
[导读]1系统的总体设计重点突出PC机与变频器RS485的接口部分。RS485的驱动器可带32个接收器,在波特率为100kbps时,通信距离可达到10Mbps.在工业现场,RS485是应用较多的一种通信方式。图中PC机通过RS485通信接口卡与多个变

1系统的总体设计

重点突出PC机与变频器RS485的接口部分。RS485的驱动器可带32个接收器,在波特率为100kbps时,通信距离可达到10Mbps.在工业现场,RS485是应用较多的一种通信方式。图中PC机通过RS485通信接口卡与多个变频器相连接,最多达到32台。每个变频器(变频器应用)被赋予各自的地址码用以识别身份,这样上位机便能通过RS485通信线,对挂在上面的所有变频器进行控制操作。

2变频器的串行通信协议

对于西门子MicroMaster变频器。其通信方式为RS485,波特率最高可达到19200bit/s;1位起始位,8位数据位,1位奇偶效验位,1位停止位。

3Windows98下串行通信API函数

3.1Windows下串行通信编程特征

在Windows环境下,系统完全接管了各种硬件资源,不允许用户象在MSDOS下一样直接对控制串行口的硬件端口进行编程管理,而是由设备驱动程序统一管理。16位的Windows3.1操作系统提供了专门的串行通信的API函数:OpenComm(),CloseComm(),ReadComm(),WriteComm()等,通过这些专用的API(ApplicationProgrammingInterf ace)函数来设置和读,写串行口;而Windows98将串行口和其它通信设备统一视作文件,对串行口的打开,关闭,读写等操作与操作普通文件的API函数相同,正是由于这些函数的多态性,同时还由于需要结合Windows98的线程编程,事件驱动等新技术,因而使得Windows98下的串行口通信编程比较复杂。

在Windows98中将串行口与文件统一起来了,对它们的打开,读,写,关闭等操作都使用相同的API函数,但是串行口不能象文件一样可被删除,这些差别体现在API函数中参数的设置上。因此,串行通信API函数的用法是串行通信编程的关键。

下面介绍几个与串行通信编程密切相关的API函数。

3.2打开串行口API函数

Windows98通信会话以调用CreateFile()函数打开串行口开始。打开串行口成功,返回一个操作句柄。该句柄供随后对串行口的设置,读写等操作用。

调用此函数要注意几个参数的设置:dwShareM ode指定该端口的共享属性,串行口不能作为共享设备,故参数值必须为零,这是文件与通信设备之间的主要差别之一;dwCreate必须为OPENEXIST ING,因为CreateFile()只能打开存在的端口,而不能象创建新文件一样创建物理上不存在的新串口;端口的属性设置参数dwFlagsAndAttributes应设置为FILE#FLAG#OVERLAPPED;参数hTemplateF ile必须为NULL.返回值:若成功,返回创建的句柄;否则返回,INVALID_HANEDLE#VALUE.

3.3配置串行口API函数

配置串行口通信参数时要和设备控制块DCB(DeviceControlBlock)打交道,DCB有近30个数据成员,是一个很复杂的数据结构,全部搞清楚它们的含义相当费时。这里介绍一种简捷的方法可以做到不了解DCB的详细内容就可以设置好串行通信参数。通过下面的程序来说明串行通信参数的设置方法。

DCBdcb;定义设备控制块GetCommState;取出系统缺省设备控制块BuildCommDCB;设置DCB主要参数SetCommState;

3.4超时设置API函数

编写通信应用程序的一个很关键的问题是如何处理通信中的不可预测的事件。这些事件可能会引起I/O线程挂起或者线程被无限阻塞。Windows98对于这类问题提供了安全措施,可通过超时设置来决定通信是否异常并作相应处理。因此,超时设置在串行通信中尤为重要。

超时设置过程分为两步,首先设置COMMT IMEOUTS结构中的五个变量,然后调用SetC ommTimeouts()函数设置超时值。

3.5读串口API函数

串行口打开后,可以对它进行读写操作。

3.6写串口API函数

3.7关闭串口API函数

串行口是非共享资源,某应用程序打开串行口后,即独占该资源,只有该应用程序释放串口,其它应用程序才能访问。所以打开串行口后,一定要关闭串口。关闭串口函数较简单。函数原型:BOOL CloseHandle(HANDLEhObject);其中hObject参数为CreateFile()返回的端口句柄。返回值非零,则调用成功。

4VisualC++5.0下对变频器进行串行通信控制

4.1Windows98的串行通信工作方式

在Windows98中,串行通信有两种工作方式:查询方式和事件驱动方式。两种工作方式各有优缺点,用户可根据实际需要选择其中的一种,下面分别介绍这两种工作方式。

4.2查询方式

对于从串口读取数据来说,查询是最为直接,易于理解的技术,但是查询会占用大量的CPU时间,效率较低,利用查询方式读取串口数据时通常要建立一个线程,建立线程使用CreateThread()函数,循环查询在线程里进行。

4.3事件驱动方式

事件驱动I/O方式是指线程通过监视通信资源中的一组事件来进行I/O操作,这种方式类似于MSDOS下的中断工作方式,效率高,可被监视的事件如表所示。

实际编程中,对串行口的读,写操作要建立两个工作线程。在读,写线程中通过SetCommMask()函数设置事件屏蔽来监视指定通信资源上的事件。指定一组事件后,线程可以使用WaitCommEvent()函数等待其中一个事件发生,在等待过程中,它将花费极少的CPU时间。注意:WaitCommEvent()函数和读写操作函数一样,可以同步或异步使用,这主要取决于在第三个参数中是否指定OVERLAPPED结构。如果指定为NULL,该函数就是同步的,必须等到SetCommMask()中指定的事件有一个发生时它才返口;如果指定了一个OVERLAPPED结构,该函数即工作在异步方式。

4.4变频器串口通信控制检测的软件编程

MicroMaster变频器回送的状态信息一帧为14个字节,为此程序编制上采用事件驱动的通信方式,串口每接收14个字符便激活一个事件,在消息处理函数中加入相应的处理代码,用来读取状态字ZSW和HIW各位的状态参数,并作出相应的处理,如显示,报警等。下面简要给出利用事件驱动I/O方式读出变频器回送状态字的程序源代码。假设串口COMM1已经按前面的方式打开。

变频器回送的状态信息利用Windows的消息处理函数进行处理。在消息处理事件中,将变频器回送的14个状态字一次全部读到VARIANT变量Parameter中,然后程序再从VARIANT类型数组变量Parameter中分别读取各状态字,在屏幕上显示,判断并报警。

5结论

在开发的实时数据采集与监控系统中,利用事件驱动方式的串行通信编程技术和MicroMaster变频器RS485的串行通信功能方便地实现了在Windows98环境下用单台PC机控制多台变频器驱动交流异步电动机的任务,并能实时检测各个变频器的运行状态。整个控制系统灵活方便,具有很大的实用性。

更多好文:21ic智能电网

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭