用C++ Builder实现组态王实时监控艾默生变频器

发布者:Yuexin888最新更新时间:2013-10-21 来源: 21ic关键字:C++  Builder  实时监控  生变频器 手机看文章 扫描二维码
随时随地手机看文章

1 引言

  工业自动化通用组态软件——组态王软件系统与最终工程人员使用的具体的变频器或现场部件无关。对于不同的硬件设施,只需为组态王配置相应的通讯驱动程序即可。组态王支持的硬件设备包括:可编程控制器plc、智能模块、板卡、智能仪表、变频器等。工程人员可以把每一台下位机看作一种设备,而不必关心具体的通讯协议,使用时只需要在组态王的设备库中选择设备的类型完成安装即可,使驱动程序的配置更加方便。

  窑炉监控系统是为满足生产需要,减少能耗,提高效率而设计的,它的实现必须要借助一定的软件及硬件条件,通过变频器控制风机从而控制窑内多个点的温度及通风量,保质保量的完成出砖要求。因此,对变频器的监控就显得十分重要。

  窑炉实时监控系统以组态王画面为主要运行画面,首先在组态王界面上对被监控系统的参数。进行设置,然后起动,在组态王的界面上可以动态。显示下位机的运行状态、测量参数、作业位置以及完成对多个变频器具体性能指标的测试等。由于组态王只提供这类变频器的驱动程序,没有提供其通讯协议,因此在功能并不很强大的组态王内部直接开发变频器的通讯协议是有较大难度的。

2 c++ builder作为后台间接实现组态王与变频器的通讯

  本文采取的方法是:利用c++ builder 提供的串行通讯功能,实现与变频器的通讯,再利用bcb的dde功能完成组态王与c++builder之间的动态数据交换。这样就把从变频器采集到的外部信号通过c++builder间接动态地显示在组态王界面上。其系统的结构图如图1所示。



3 c++ builder与变频器之间串行通信的实现

  串行通讯 (serial communication)指的是两个欲交换信息者的信息流动,其信息流动的方式是一个位接一个位,有顺序的由一端向另一端流动。带异步通讯适配器的pc机与变频器只有满足如下条件,才能互联通信:带有异步通讯接口的变频器与带异步通讯适配器的pc机互联;双方采用的总线标准一致,否则要通过“总线标准变换单元”变换之后才能互联;双方的初始化、波特率、数据位数、停止位数、奇偶校验都相同;要对变频器的通讯协议分析清楚,严格的按照协议的规定及帧格式编写pc机的通讯程序。变频器中配有通讯机制,一般不需要用户编程。pc机与艾默生变频器不能直接连接,要通过电缆进行rs232、rs485的变换。

  3.1 c++ builder与变频器的通讯协议

  协议是一系列的定义了计算机应该怎样管理通信的规则。协议可以规定数据应该以什么格式进行传递和每个节点在什么时间以及以什么方式进行传递。除了数据通道以外,一个连接可以使用其它线线路来表示什么时候一个发送者有数据要发送,什么时候一个接收者能够接收新数据或者其它控制或状态信息。

  3.2艾默生变频器的通讯协议

  变频器通讯协议为modbus协议,除了支持常用的寄存器的读写外,还扩充了部分命令对变频器功能码进行管理。modbus协议同时支持rtu模式和ascii模式,本文采用rtu模式。对应的帧格式如图2所示。



  3.3 c++ builder中通讯协议的实现

  在c++builder中mscomm控件可以采用轮询或事件驱动的方法从端口获取数据。这里采用的是事件驱动的方法。就是在一个事件发生的时候,让程序自动的跳到一段程序。该控件的oncomm事件执行这个功能。oncomm程序负责对诸如在串口的硬件中断或者一个软件缓存的计数器到达了一个触发值这样的事件时做出反应。在bcb的classwizard中为新创建的通信控件定义成员对象,通过该对象可以对串口属性进行设置。通过设定其settings、commport、inputmode、handshaking、portopen属性来实现设定bcb的通讯协议。这里设定settings属性为:9600,n,8,1,即该协议的波特率为9600,无奇偶校验,每个字符的数据位为8位。[page]

4 bcb与组态王软件数据交换的实现

  “组态王”之间通讯的实现主要是通过“组态王”提供的动态数据交换 (dde)来完成的。dde是windows平台上的一个完整的通信协议,它使应用程序能彼此交换数据和发送指令。dde过程可以比喻为两个人的对话。提问的一方称为“顾客”(client),回答的一方称为“服务器”server)。一个应用程序可以同时是“顾客”、“服务器”:当它向其他程序中请求数据和时,它充当的是“顾客”若有其他程序需要它提供数据,它又成了“服务器”这里关键要实现的是。“组态王”作为顾客程序从bcb得到数据。使bcb成为“服务器”很简单,只需在“组态王”中设置服务器程序的三个标识名(应用程序名、主题名、项目名),并把vb应用程序中提供数据的窗体的linkmode属性设置为1,不必在vb中增加任何程序。值得注意的是,将vb窗口的属性设定成和在组态王中定义dde设备时的“话题名”一样;在组态王定义要显示的变量时,选择“项目名”为要显示bcb的textbox控件名。这样组态王界面上可以显示出指定的bcb可执行文件中指定的textbox控件的值。

5 一种通过用bcb做控件实现组态王监控变频器的方法

  利用bcb中能生成activex控件的项目编写器new-》other-》activex-》activeform,编写相关程序实现控制变频器的功能,并通过bcb自带的view工具栏中的typelibrary工具来编译生成控件,此控件经打包可生成在组态王中认始的ocx控件,此控件同样可设置是否具有可读可写的属性,此属性是在typeliabrary工具中设置编译后得到的,需要几个参数,其各是什么属性,完全可以自由添加,非常简单方便。并可通过bcb相关程序,设置相关属性对内对外的具体连接功能。实际上,此过程实现的就是变频器与bcb控件的通信,控件与组态王的通信,此方式弥补了组态王中不提供的相关变频器等的驱动程序,而无法利用组态王的缺陷,可通过bcb方便实现相关功能的驱动,而又间接实现了组态王控制变频器等的驱动。实际bcb与变频器等的通信也非常简便,只要确定了通信协议,就可利用mscomm控件,方便的编写通信程序,实现变频器等的控制。用bcb制作通用控件嵌入组态王从而实现组态王与变频器的通讯,其运行画面如图3所示。



6 结束语

  当用bcb作为后台时,当系统开始运行前,要求首先运行c++builder的可执行文件作为后台运行程序,然后才能运行组态王系统。当变频器发送数据的时候,由bcb接受到此数据,再通过组态王提供的dde功能,将该数据显示到组态王界面上。这样就把从变频器采集到的外部信号通过bcb间接动态的显示在组态王界面上。该方法实现了组态王对变频器的实时监控。经过测试可知,系统的实时响应速度能达到ms级,并且这种实现系统实时监控的方法可移植性强,对于监控其他类型可编程控制器plc或单片机也适用。

  当用bcb制作控件时,只要用bcb制作完相应功能的控件就可实现脱离bcb环境,作为普通的ocx控件应用于组态王,非常简便。此方法弥补了组态王没有相关驱动程序,而无法实现应用组态王的缺陷,值得推广应用。在兖矿鲍店砖窑监控系统中,我们利用了bcb作为后台间接实现组态王对变频器的控制。其窑炉一鼓风机变频控制监控画面如图4所示。经现场调试运行后,所得反馈效果良好。

关键字:C++  Builder  实时监控  生变频器 引用地址:用C++ Builder实现组态王实时监控艾默生变频器

上一篇:ABB变频器主从控制在工业上的应用
下一篇:和利时LM系列PLC在晒版机中的应用

推荐阅读最新更新时间:2024-05-02 22:48

C51入门小项目——双向路口交通信号灯
实现功能 初始状态东西南北全为红灯(5S); 东西红灯、南北绿灯(10S)——东西红灯、南北绿灯转黄灯闪烁2s——南北红灯、东西绿灯(10S) ——南北红灯、东西绿灯转黄灯闪烁2s; 循环运行2;行人红绿灯也会同步亮灭变化。 数码管显示各路口的灯亮时间并作每秒减“1”操作; 当人行道绿灯亮时,蜂鸣器提醒行人过马路。 当出现紧急情况时,手动按紧急按钮使各方向灯全为红(8s),处理后恢复正常信号。 仿真示意图 若对蜂鸣器有疑问,请访问:链接: 蜂鸣器驱动原理及电路设计. 代码实现 入门C51以来的第一个小项目,主要是物理逻辑的考虑,主要运用到以下小知识点: LED闪烁、动态数码管显示、蜂鸣器、按键、51单片机的定时器
[单片机]
<font color='red'>C</font>51入门小项目——双向路口交通信号灯
TMS320C6678处理器的VLFFT演示
简介 本白皮书探讨了TMS320C6678处理器的VLFFT演示。通过内置8个固定和浮点DSP内核的TMS320C6678处理器来执行16K-1024K的一维单精度浮点FFT算法样本,检测其分别在采用1,2,4或8核时各自的运行时间。演示的结果证明了C66X DSP内核的优异性能,以及TMS320C6678处理器跨多核平行化执行性能与内核数量成正比的特性。本文的演示采用FFT算法,该算法在诸如医学成像、通信、军事和商业雷达以及电子战(干扰器、抗干扰器)等领域中被频繁应用。本文演示结果显示,在运行速率为1 GHz,DSP内核为8个时,用TMS320C6678处理器执行1024K的FFT算法样本只需要6.4毫秒。
[嵌入式]
TMS320<font color='red'>C</font>6678处理器的VLFFT演示
华为4G新机通过3C认证:最高22.5W快充
本月,华为有产品通过了国家 3C 质量认证,例如这款型号为 MGA-AL00 的 4G 新机,最高支持 22.5W 有线充电,目前唯一一款类似的设备是华为 Mate 9 (MHA-AL00),各大数码博主推测是畅享系列新机。   华为另一款通过 3C 认证的 4G 机型型号为 ABR-AL60,支持 66W 快充,似乎与华为 P50(ABR-AL00)有关。   除此之外,其他的华为路由器、显示器、PC 等均未知。   IT之家了解到,华为上一款畅享系列新机是华为畅享 20e,高配版搭载海思麒麟 710A、鸿蒙 Harmony OS、 5000mAh 电池,1399 元起。
[手机便携]
华为4G新机通过3<font color='red'>C</font>认证:最高22.5W快充
51单片机实验2——I2C通信——24C01扩展实验
一、实验原理: I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。 主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件。然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下,主机负责产生定时时钟和终止数据传送。 二、实验电路图 三、代码详解: “i2c.h” #ifnd
[单片机]
51单片机实验2——I2<font color='red'>C</font>通信——24<font color='red'>C</font>01扩展实验
8051单片机(STC89C52)实现可修改计时初值的单倒计时器(Version1.0)
程序启动后计时初值为15, 之后可通过串口发来的数据(如 99 )来修改下一次计时初值. #include STC89C5xRC.H unsigned char code DIG_CODE = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};//对应数码管显示0~9 char buf ; int tcount = 0;//记录经过的10ms区间段个数 int sec = 15;//倒计时初始值记录 int sec2 = 15;//倒计时初始值 void T0_INT() interrupt 1 //timer0中断, 每10ms触
[单片机]
Flash存储器在TMS320C3x系统中的应用
摘要:以基于TMS320C32 DSP开发的故障录波装置为模型,介绍AMD公司的Flash存储器Am29F040的原理和应用;利用它操作过程实现断电后仍然可以将子程序保存在Flash存储器内的特性,结合TMS320C3x提出实现DSP系统上电后用户程序的自动引导的方法。 关键词:Flash存储器 TMS320C32 自动引导 Am29F040 引言 在对电力系统断路器的状态监测过程中,需要对故障数据进行保存,以便于查扑克;在则故障期间难免会出现停机的现象,因此,如何在断电的状态下保存数据,就成为一个关键问题。对于故障出现的监测装置必须满足两个基本的特性——实时性和快速性。这两种特性都需要以快速处理大量的数据信息为基础,所以
[缓冲存储]
51单片机(AT89C52)串口收发程序
#include reg52.h #define uchar unsigned char uchar rtemp,sflag; void SerialInit() //11.0592M晶振,波特率9600 { TMOD=0x20; //设置定时器1工作方式为方式2 TH1=0xfd; TL1=0xfd; TR1=1; //启动定时器1 SM0=0; //串口方式1 SM1=1; REN=1; //允许接收 PCON=0x00; //关倍频 ES=1; //开串口中断 EA=1; //开总中断 } void SerialServi
[单片机]
51单片机(AT89<font color='red'>C</font>52)串口收发程序
航顺HK32C030 MCU在便携式充电枪的应用
充电枪是新能源汽车充电设施中最重要的连接设备,承担着为汽车电池包充电,为车体提供续航动力的角色。其中,便携式充电枪具有体积小、质量轻、充电灵活等优势,未来有望成为充电枪市场主流产品。 2022年《车载电器产品第2部分:便携式充电枪》团体标准正式获批立项,该标准对便携式充电枪的环境适应性、安全保护功能等方面进行了严格规定。在此背景下,我国便携式充电枪行业将逐渐往规范化方向发展。 便携式充电枪需要什么样的MCU? 便携式充电枪一般由家用供电插头(连接固定插座)、充电枪头、控制保护盒、线缆、连接车体的车辆连接器等部件组成。其内部主要控制模块(IC-CPD)集成了供电控制、控制引导、漏电保护、显示充电过程的实时状态和温度控制等多种
[嵌入式]
航顺HK32<font color='red'>C</font>030 MCU在便携式充电枪的应用
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved