基于DDE机理的组态王与MATLAB通信技术及应用

合集下载

DDE与COM技术在组态软件开发中的应用.

DDE与COM技术在组态软件开发中的应用.

DDE与COM技术在组态软件开发中的应用摘要:介绍了VC和Matlab通过COM与DDE技术在组态软件开发中的应用方法,发挥了Matlab在数值计算中的强大功能和InTouch在人机对话界面开发中的独特效果。

关键词:Matlab lnTouch COM DDE 组态软件随着各类嵌入式系统和现场总线的蓬勃发展,组态软件越来越成为工业自动化系统中的灵魂。

它在实时数据存储、检索和图形显示及人机对话等方面都具有独特的效果。

但是组态软件的脚本语言非常简单,在数据处理、算法实现等方面相对薄弱。

这从一定程度上限制了组态软件在工业自动化中的应用。

Matlab作为一款优秀的数值计算软件,提供了应用于信号处理、工业控制、应用数学等各个领域的工具箱,但是它对运行环境的要求非常高,而且占用了庞大的系统资源,生成实用的人机对话界面的能力不强。

为了开发出具有友好人机对话界面、实现多种控制算法并完成实时数字信号处理的组态软件,可以使用Matlab进行数值计算,将处理后的数据传输给组态软件进行人机对话界面开发,以此发挥它们各自的优点。

这样,开发软件之间的数据交换和处理就成为问题的关键。

本文根据Matlab和应用非常广泛的组态软件In—Touch提供的编程接口和数据通信协议,提出了一种使用DDE和COM技术进行组态软件开发的方法。

1 基本思路与系统构架动态数据交换(DDE)是一个由Microsoft开发的通信协议。

该协议允许在Windows环境中的应用程序之间彼此发送/接收数据和指令。

它在两个同时运行的应用程序之间实现客户服务器关系。

服务器应用程序提供数据并接收对这些数据感兴趣的其它应用程序的请求。

发请求的应用程序叫做客户。

InTouch 可以利用Microsoft的DDE与其他Windows程序通信,并可同时作为客户或服务器程序。

Matlab提供了多种混合编程的方法,但是这些方法大都不能脱离Matlab 的运行环境,也不方便其它应用程序调用。

基于组态王的数据采集通信与控制系统设计

基于组态王的数据采集通信与控制系统设计

基于组态王的数据采集通信与控制系统设计石建国;杨磊;李臣龙【摘要】通过DDE技术实现组态王与Matlab、VB应用程序之间数据交换,VB将PLC外部设备状态信息进行采集处理,通过DDE技术将所采集信息在组态王中以可视化界面显示输出,完成对外部设备监控.同时,通过MATLAB对组态王进行控制算法设计.实践证明该方案实现的监控系统更加有效,实时性更强.【期刊名称】《菏泽学院学报》【年(卷),期】2018(040)005【总页数】6页(P11-16)【关键词】组态王;数据通信;Matlab;VB;控制【作者】石建国;杨磊;李臣龙【作者单位】安徽工程大学计算机与信息学院 ,安徽芜湖 241000;安徽工程大学计算机与信息学院 ,安徽芜湖 241000;安徽工程大学计算机与信息学院 ,安徽芜湖241000【正文语种】中文【中图分类】TP273引言组态王在工业控制领域应用非常广泛,它可从现场设备采集状态信息,并在监控终端进行显示和输出报警,具有可支持众多硬件接口和交互界面友好等优点.其局限性在于进行数据采集和控制的设备驱动程序主要针对大公司生产的板卡,对中小公司开发的板卡及仪表设备并未提供设备驱动[1].为此,组态王通过支持DDE的动态数据交换技术,解决了与其它支持DDE的应用设备进行数据通信的难题.组态王虽然能够动态显示并控制设备运行状态,生成友好监控画面,但它对于实现复杂控制并无任何优势可言[2,10,15].因此,在很多工程应用中需要通过VB、MATLAB等第三方软件对组态王的数据进行分析处理.MATLAB运算效率高,通过算法编程可实现复杂场景下设备的控制[3];VB作为程序后台通过串行接口将PLC 等外部设备状态信息进行采集处理,支持与组态王之间进行数据交换.利用MATLAB、VB和组态王都支持DDE技术这一特点,把三者结合起来,从而更好地实现对外部设备状态信息采集和有效监控,与单一基于组态王的设备实时监控相比具有控制灵活有效、实时性强等优点.1 DDE通信原理及网络结构1.1 DDE通信原理DDE(Dynamic Data Exchange)可以实现支持DDE的多个应用程序相互交换数据[4].DDE完成客户和服务器应用程序之间的通信连接[5],DDE支持双向通信,应用程序既可作为客户端又可作服务器,但在某一特定通信过程中只能扮演客户或服务器一种角色[6].DDE通信设定有三个标识名,项目Item表征某一数据对象[1,11];Application 是DDE对话双方的命名;主题Topic为某特定数据域,组态王中Topic默认为“tagname”,在VB中由某一窗体的Linktopic来设定.项目Item在组态王定义I/O变量时进行设置,在VB中则通过Linkitem设置.1.2 组态王支持的几种通讯方式组态王支持与常见的PLC、智能仪表、智能模块和数据采集板卡通过常规通信接口进行通信,常见的通信方式有串口通信、DDE通信等[7],如图1所示.图1 组态王支持的几种通信方式组态王与I/O设备通信一般是通过调用动态库实现的,动态库对应于具体设备.在设备管理界面中列有与组态王通信的各I/O设备名,表示某具体设备的逻辑名,逻辑名又与设备驱动程序相对应,以此映射至某具体设备[7],组态王各逻辑设备与具体设备间的对应关系如图2所示.图2 组态王与各设备之间的对应关系1.3 组态王与应用程序通信的网络结构组态王在与应用程序进行通信时,采用组态王、Matlab和VB都支持的DDE技术,VB通过串行接口与PLC连接,通信网络结构如图3所示,过程如下:1)VB应用程序通过串行通信接口RS485采集PLC设备的状态信息,VB端通过可视化编程实现VB与PLC串口通信,完成对PLC状态数据的采集.2)通过DDE技术实现组态王与VB通信程序数据交换,组态王通过发送指令给VB 客户端,VB将采集到的状态信息发送给组态王服务器.3)MATLAB作为客户应用程序,可以使用MATLAB中的DDE客户端模块所提供的函数与组态王服务器进行数据通信.图3 组态王与应用程序通信网络结构2 组态王与VB之间的DDE通信设计2.1 DDE通信时组态王的设定在组态王数据词典里建立一个I/O变量,并登记服务器程序的三个标志名.本系统中应用程序名为VBDDE,话题名为FormTopic,项目名为Text1ToKing,程序交换方式为标准 Windows DDE交换.组态王参数设置见表1至表4.表1 组态王DDE设备定义连接对象名服务程序名话题名数据交换方式VBDDEvbddeFormTopic标准windows DDE交换表2 组态王变量定义变量名变量类型连接设备项目名转换方式VBToKing1I/O实数VBDDEText1ToKing线性表3 组态王设备安装定义设备设备逻辑名设备地址通讯方式转换方式亚控仿真PLCPLC1COM线性表4 组态王I/O变量定义变量名变量类型连接设备寄存器数据类型转换方式读写属性KingToVBI/O整型PLCSTATIC100INT线性读写(允许DDE访问)2.2 DDE通信时VB的设定VB中的DDE通信通过设置控件的属性和方法来完成,这些控件包括文本框、标签或图片框[11].VB作为客户端在交换数据时,需对上述控件的LinkItem、LinkTopic、LinkMode属性[6]进行设置:Control.LinkTopic=服务器程序名.主题名Control.LinkItem=项目名Control.LinkMode有四种链接模式:“0”为终止DDE链接;“1”为启动热链接,表示服务器端数据有变化时立即传送数据给客户端来处理;“2”冷链接,表示由客户提出请求,服务器做出响应;“3”表示通告链接[4,14],表示当服务器端状态变化时告知客户端来索要数据.本文中Control表示文本框Text1,LinkTopic设置为FormTopic,LinkItem设置为PLC1.STATIC100,LinkMode 设置为1.VB参数设置见表5.表5 VB参数设置文本框Text1TextToView窗体Form1LinkTopicLinkItemLinkModeFormTopicPLC1.STATIC1001(source)编制Visual Basic程序[12]:进入VB编辑环境,在“Form1.frm”窗口内键入建立与组态王变量的连接程序,初始化算法伪代码如下:Procedure Form_LOAD()beginControl.LinkTopic ← TopicName;Control.LinkItem ← Item Name;Control.LinkMode ← LinkMode;End运行VB可视化编程工具.打开窗口Form1,在“Form1.frm”窗口中键入算法程序,实现组态王与VB间数据交换.2.3 连接数据库SQLConnect(KingToVB,"dsn=数据;uid=;pwd=");//建立与数据库的连接SQLDisconnect(KingToVB); // 断开与数据库的连接KingToVB是数据词典中创建的整型变量,用来保存SQLConnect()为数据库连接分配的一个数值.3 组态王与MATLAB的通信及仿真实例3.1 组态王与MATLAB的通信设计由于组态王在构造算法和计算功能上的局限性,无法完成复杂计算和实现高实时性过程控制,而MATLAB可以很方便构造出复杂控制系统模型,并能在控制算法运行过程中,对模型参数加以修改和优化,输出修改后的仿真结果,对实际生产过程中的各种设备状态及参数变化有很强的实时跟踪和控制效果.基于此,通过DDE技术将组态王与MATLAB相结合,实现两者之间的优势互补,以实现更复杂和实时性更强的控制效果.3.2 组态王前台控制系统实例为验证组态王与MATLAB通过DDE通信对控制系统的控制效果,在组态王服务器端开发了化工工艺流程控制系统,系统状态运行界面如图4所示.前台界面可以通过自动和手动两种方式监控该控制系统中碱液罐、聚合罐、反应罐和成品罐的液位以及聚合罐温度,液位控制可通过各装置输入调节阀的开启和关闭进行调节,水箱液位单回路控制原理如图5所示.图4 组态王监控系统状态运行界面图5 水箱液位单回路控制原理图3.2.1 组态王设备连接在组态王软件中设置碱液罐、聚合罐、反应罐和成品罐对应模块地址分别为1、2、3、4,通信方式RS485,通信波特率9 600 bit/s,无校验,数据位8,停止位1,通信超时3 000 ms.3.2.2 组态王数据变量定义设备的运行状态要以动画形式反映在屏幕上,操作者发布的指令要迅速传达给现场设备,这些都要以动态库中的实时数据为中介.因此,定义了组态软件可访问的寄存器变量见表6:表6 组态王寄存器变量定义变量名变量类型地址设置读写属性连接设备项目名转换方式备注JhgWDToMat1I/O实型001读写(允许DDE访问)DDE设备PLC.STATIC001线性4通道JhgWDToMat2I/O实型002读写(允许DDE访问)DDE设备PLC.STATIC002线性4通道JygToMatlabI/O实型003读写(允许DDE访问)DDE设备PLC.STATIC003线性8通道JhgToMatlabI/O实型004读写(允许DDE访问)DDE设备PLC.STATIC004线性8通道FygToMatlabI/O实型005读写(允许DDE访问)DDE设备PLC.STATIC005线性8通道CpgToMatlabI/O实型006读写(允许DDE访问)DDE设备PLC.STATIC006线性8通道以聚合罐温度控制为例,创建一个单回路PID控制回路,定义变量并创建画面连接,组态王实时数据输出如图6所示,其控制结果如图7所示.可看出组态王的运算速度和控制能力仍未能实时控制聚合罐温度达到一稳定状态.图6 组态王实时数据输出图7 组态王控制曲线图3.3 MATLAB为控制核心的DDE通信设计由于组态王和MATLAB之间在通信过程中为双向实时数据传递,所以采用热链方式.MATLAB提供了6个有关DDE的客户函数[9],分别是DDEinit()、DDEadv()、DDEreq()、DDEpoke()、DDEunadv()和DDEterm().函数作用见表7.表7 DDE链接函数的作用DDE函数名表达式作用ddeinitChannel=ddeinit(service,topic)建立对话,成功返回1通道号,之后操作以此通道号进行ddeadvRC=ddeadv(channel,item,callback,timeout)建立链接ddereqRC=ddereq(channel,item,format,timeout)从服务器请求索取数据ddepokeRC=ddepoke(channel,item,data,format,timeout)从MATLAB向DDE服务器应用程序发送数据ddeunadvRC=ddeunadv(channel,item,format,timeout)释放链接ddetermRC=ddeterm(channel)终止对话3.3.1 代码设计在MATLAB中编写初调用函数call.m,伪代码如下:function control(x)Step1. chan1=ddeinit('VIEW','TAGNAME');Step2. pv=ddereq(matctrl,'PLC.STATIC001');Step3. fb=ddereq(matctrl,'PLC.STATIC002');Step5. result=0+fb*(350-0)/1000;Step6. RC=ddepoke(matctrl,'PLC.STATIC002',result);Step7. RC=ddeterm(matctrl);在Step5中,输入的I/O数据在进入组态软件前需进行工程量转换,因为组态王显示数值只有“0~100”,聚合罐温度原始数值区间设为“0~1000”,温度变化控制区间设为“0~350”,MATLAB计算结果也应在“0~100”数值区间.为了转换成0~100的格式,采用如下线性转换公式:工程量最小值工程量用result表示,一般情况下,最小值默认情况下取为0,“原始输入-原始最小值”用fb表示,则得到第六步公式.通过以上的配置,实验结果如图8所示.图8 MATLAB控制实时曲线图3.3.2 结果分析从图8可以看出,MATLAB作为控制核心,响应速度更快,超调量相对小,但系统温度控制仍不稳定,因此,我们将比例系数k由0.1调小到0.03,如图9所示,可以看到MATLAB计算速度快,运行曲线表明输出未超出设定温度阈值,每100 ms采集一次数据,就会不停的把计算结果输出,图9中曲线上升至最高温值点比图8耗用的时间稍长,这是因为比例系数调低后调节次数增加了,耗用了部分系统时间.另外,图8的曲线相对较粗糙,这是因为系统运行过程中存在搅动干扰和噪声,图9的曲线相对平滑,说明通过参数调整,利用MATLAB强大的计算和控制能力,可以实时有效消除部分干扰和噪声,而且系统处于稳态时对温度的控制更加精确.从图9可以看出其控制效果较好.图9 比例系数为0.03的控制效果4 结束语本文介绍了利用动态数据交换DDE技术实现VB、MATLAB和组态王之间通信的方法,利用MATLAB强大的控制功能和仿真优化功能,可使控制算法应用于模拟控制系统中.经验证在控制系统中取得了良好的控制效果.【相关文献】[1]马龙博,郑建英.基于组态王和VB的智能仪表实时监控系统[J].自动化仪表,2008(08):32-34+40.[2]冯江涛.组态王与MATLAB的DDE通信设计[J].电力学报,2006(03):291-293.[3]冯江涛.基于OPC的组态软件和MATLAB的通信实现[J].微计算机信息,2008(01):295-296+283.[4]陈燕虹,沈帅,刘宏伟,等.多辆电动汽车远程监控系统[J].吉林大学学报(工学版),2013,43(02):285-290.[5]敬伟,王鹏,兀伟.基于组态王的实时监控系统的数据处理[J].计算机工程与科学,2009,31(08):128-129.[6]史丽红,贾存良.动态数据交换在矿井监测监控系统中的应用[J].采矿技术,2005(02):41-42.[7]熊伟.工控组态软件及应用[M].北京:中国电力出版社,2012:12-14.[9]胡大斌,胡锦晖,吴峰.基于组态王与MATLAB的监控软件实现[J].武汉理工大学学报,2005,29(2):234-237.[10]邹益民.基于OPC的MATLAB与组态王实时通讯在过程控制实验装置中应用[J].自动化与仪器仪表,2014(10):87-89.[11]宋晶,沈兴全,赵润鸿,等.基于组态王的PC机与单片机串口通信技术研究[J].化工自动化及仪表,2011,38(05):551-553.[12]刘宇君.Visual Basic程序设计例题解析与实践[M].北京:高等教育出版社,2013.[14]董新利,王景景.在控制系统中实现组态王与MATLAB的DDE通讯[J].微计算机信息,2005(12):3-5.[15]Wang D.Automatic Control Mechanism for Grinding Process Based on KingView and PLC System[C]//International Conference on Mechatronics,Control and Electronic Engineering.2014.。

智能控制基于组态王和MATLAB的模糊PID控制的应用

智能控制基于组态王和MATLAB的模糊PID控制的应用

1.1 内容摘要:为了充分利用组态王良好的可视化界面功能与MATLAB强大的数值分析和控制系统仿真功能的各自优势来实现更好的工业控制,本文利用了一种编写MATLAB的S函数来实现组态王与MATLAB的动态数据交换(DDE)的方法,运用组态软件生成复杂友好的交互式人机界面(HMI),MATLAB的模糊控制工具箱完成模糊PID控制算法的运算,这样充分发挥二者优势,使得用户能够方便快捷地开发出复杂算法的控制系统,并将Mailab所附带的工具箱Fuzzy助gicTooIBox和Simulink有机地结合起来进行系统仿真,结果证明该方法具有良好的控制效果,效率高,通用性强,更换仿真模型中的控制算法模块就可实现各种复杂的工业控制过程,这大大增强了组态王的实时监控功能。

1.2 内容简介:近年来,随着计算机技术及应用的飞速发展,各个领域对自动控制系统控制精度、响应速度、系统稳定性与适应能力的要求越来越高,所研究的系统也日益复杂多变。

然而在工业生产和其他领域中,由于被控对象常具有非线性、不确定性及参数时变等复杂因素,难以建立被控对象的简单精确的模型,因而给控制系统的设计带来了极大的困难。

模糊控制在一定程度上模仿了人的控制,它不需要有准确的控制对象模型,这种控制方法既可用于简单的控制对象也可用于复杂的对象。

因此,模糊控制系统在工业控制中获得了广泛的应用。

组态软件作为一个开放型的通用工业监控系统,支持工控行业中大部分国内常见的测量控制设备,并遵循工控行业的标准采用开放接口提供第三方软件的连接(DnE/oPe/Ae皿vEE等)〔4],用户无须熟悉复杂的通信协议源代码、无须编写大量的图形生成、数据统计处理程序代码就可以方便快捷地进行画面开发、简单的程序编写、函数调用、设备连接。

但其缺点是计算能力不强,难以实现复杂的控制算法。

而MATLAB(Matri、Laboratory)应用软件拥有丰富的多学科工具箱、强大的工程计算和图像图形处理功能。

基于DDE的组态王与VB的数据通信

基于DDE的组态王与VB的数据通信

基于DDE的组态王与VB的数据通信摘要:针对煤矿井下的实际应用,基于组态王软件的动态数据交换(DDE)技术和VB应用程序,本文介绍了瓦斯监测监控系统中上位机和下位机通过CAN总线接口CAN-RS232进行通信的方法。

关键词组态王CAN-RS232 DDE VB1.前言随着计算机技术和监控技术的发展,监控组态软件在工业过程控制等领域得到了广泛的应用。

它作为面向监控与数据采集的软件平台,具有丰富的项目设置,使用方法灵活,并且功能强大。

煤矿井下监测监控系统主要包括两个部分:一是数据采集系统,即智能结点(下位机),它将CPU与各类传感器相结合,对生产过程中的设备、仪表进行实时监测,将各种被测物理量的参数及状态转换成数字信号,并通过CAN总线传递到上位机,CAN总线是一种日益受到重视的数据通讯方式,在传输率为5kb/s时,该总线无需中继可实现10km的可靠传输。

在监控系统的第二个部分即上位机上,通常无法直接将CAN总线与之连接起来,本监控系统是采用CAN-RS232智能转换接口进行上、上位机间的数据通信的,实际使用中CAN-RS232接口使用了VB来编写驱动程序。

通过智能转换接口,上位机在接收到CAN总线上传的数据后,利用组态软件可以对之进行实时记录和分析,并以适当的形式如声音,图形,报表等方式显示给用户,使用户更直观、全面的了解现场工况。

本监控系统的数据通信中,基于VB的CAN-RS232接口驱动以及与组态王的数据交换是重要问题。

本系统采用DDE(动态数据交换)方式和VB应用软件来完成上位机与CAN总线的数据通信,用组态王软件来实现上位机的画面显示、数据管理以及对监控系统进行控制。

监控系统中CAN总线的数据是以帧的格式来传送的,每一帧包含30个字节,其含义分别为帧的序号,帧的格式(扩展帧/标准帧),帧的类型(远程帧/数据帧)以及帧数据的长度,一帧的后八个字节为传送的测控数据,又称为帧数据。

2.DDE工作原理DDE是微软公司开发的一个基于Windows平台的通信协议,它允许多个应用程序以客户或服务器的形式相互传送数据。

()基于OPC的组态软件和MATLAB的通信实现

()基于OPC的组态软件和MATLAB的通信实现

基于OPC的组态软件和MATLAB的通信实现摘要:MCGS作为优秀的国产组态软件,具有实用性强、组态灵活等优点,但它的数据处理能力较弱。

MATLAB被广泛应用于科学计算、数学建模与仿真上,始终未能应用于实际的控制系统中。

如果使用MATLAB实现复杂的控制算法,再结合工控组态软件作为系统的主控,在实际的工程项目中必将达到非常理想的控制效果。

本文以OPC技术为例,实现了MATLAB和组态软件MCGS的数据通信。

该方法具有编程简单、实现方便等特点。

关键词:MATLAB;OPC;工控组态软件MCGSCommunication Design between MATLAB and Industrial Configuration Softwarebased on OPCFENG Jiang-taoAbstract:As popular configuration software at present,MCGS possesses the advantages of powerful practicability and flexible configuration,but its ability of data processing is weak。

MATLAB has been widely used in scientific calculation,mathematic modeling and emulation because of its strong algorithm function。

But it has not been applied for practical control systems。

However,it will get extremely satisfying control results if we can use MATLAB to realize complicated control algorithms and consider Industrial configuration software as system's primary controller in the real engineering projects.。

基于组态王与MATLAB的监控软件实现

基于组态王与MATLAB的监控软件实现

第29卷 第2期2005年4月武汉理工大学学报(交通科学与工程版)Jou rnal of W uhan U n iversity of T echno logy(T ran spo rtati on Science &Engineering )V o l .29 N o.2A p r .2005基于组态王与M A TLAB 的监控软件实现3 收稿日期:20041224 胡大斌:男,41岁,博士,副教授,主要研究领域为机舱自动化与计算机仿真 3国防预研项目资助胡大斌 胡锦晖 吴 峰(海军工程大学船舶与动力工程学院 武汉 430033)摘要:提出了一种编写M A TLAB 的S 函数的方法来实现组态王与M A TLAB 的DD E 通信.通过在某型舰船主动力监控系统仿真研究中的应用,具体描述了组态王与M A TLAB 的DD E 通信实现过程.该方法由组态王生成友好的交互式人机界面(HM I ),M A TLAB 完成复杂算法的运算.实践证明其具有编程效率高、通用性强、实现方便等特点.关键词:动态数据交换(DD E );M A TLAB ;组态王中图法分类号:T P 391.90 引 言目前各类监控系统中普遍采用通用的监控组态软件来设计人机界面(HM I ).较为流行的监控平台软件有H eu ristics 公司的ON SPEC ,In tellu 2ti on 公司的F ix 以及亚控公司的组态王(K I N GV IE W )等.这些软件易于实现复杂的图形界面,组态灵活而且支持多种硬件接口板,但是它们实现复杂控制算法的能力较弱.在某型舰船主动力监控系统的仿真研究中,采用亚控公司的组态王(K I N GV IE W 6.5)作为开发监控软件的基本平台.由于柴油机主动力系统的仿真算法较为复杂,仅利用组态王来实现所有仿真算法较为困难,文中利用M A TLAB 语言能方便地构造出复杂控制算法的特点,通过DD E 技术来实现组态王与M A TLAB 之间的数据交换,充分发挥各自的优点.在W indow s 环境下,动态数据交换(DD E )是应用程序之间实时交换数据的有效方法,它是不同应用程序之间共享数据的一个协议[1].DD E 技术是应用程序间数据交换的主流技术,因此可以通过DD E 协议将组态王与M A TLAB 结合起来,如图1所示.其中,组态王工控软件显示友好的图形界面,操作人员可以在界面上直接操作.上位机主控程序通过板卡将采集到的数据一方面可送到组态王进行动态显示,另一方面可送到M A T 2LAB 进行复杂的运算处理,处理后的结果再送回组态王进行显示.图1 DD E 通信框图1 组态王工控软件与M atlab 的DD E 特性1.1 动态数据交换简介DD E 应用程序分为四类:客户程序、服务程序、客户 服务器程序、监视器.客户程序与服务器程序之间的数据交换称为会话,发起会话者称为客户程序(C lien t ),它从服务器获得数据,响应者称为服务器程序(Server ),它维护其他应用程序可能使用的数据,客户 服务器程序表示既是客户程序也是服务程序,监视器主要用于调试.1.2 组态王中DD E 的使用方法组态王软件包由Touch M ak 和TouchV iew 两大部分组成.Touch M ak 为画面制作系统,用于完成所有界面设计,变量和动画连接的定义.TouchV iew则用于显示动画图形,负责数据库与服务器程序数据交换,并把数据的变化用动画形象地表示出来.组态王的DD E对话的内容是通过应用程序名、主题、项目3个标识名来约定的(K I N GV IE W versi on6.5使用手册,北京亚控科技发展有限公司).应用程序名(app licati on) 它是进行DD E 对话的双方名称.主题(top ic) 是被讨论的数据域.项目(item) 是被讨论的特定数据对象.为了建立DD E连接,需要在TouchV iew的数据词典里建立一个DD E变量,并登记3个标识名.组态王运行系统的程序名是“V IE W”,主题规定为“TA GNAM E”,项目是在定义DD E变量时定义的项目名称.1.3 M AT LAB提供的DD E功能M A TLAB作为客户程序,它支持文本格式的数据传送,可以使用M A TLAB中的DD E客户端模块所提供的函数与服务器应用程序进行数据通信[2].M A TLAB的DD E客户函数共有7个,它们是ddein it,ddeter m,ddereq,ddepoke, ddeadv,ddeunadv,ddeexec.使用ddein it函数建立与服务器的对话,建立成功则该函数返回一个通道号.以后的操作均对这个通道号进行.ddereq 函数向服务器所要数据,返回值是存有数据的矩阵.ddepoke函数向服务器发送数据.ddeadv和ddeunadv的功能分别是建立热链的请求和删除请求.ddeexec函数发出命令给服务器应用程序; ddeter m函数终止与服务器之间的DD E会话.在实际应用中,组态王主控程序不断将采集到的数据送到M A TLAB程序中,M A TLAB计算完成后将结果返回主程序.这种方式属于热链(ho t link)方式.DD E热链工作方式需要用到ddeadv函数.ddeadv函数调用的格式是rc=ddeadv(channel,item,callback,upm tx,fo r m at,ti m e2 out)其中:rc是返回值;0表示操作失败;1表示成功. channel是由ddein it函数得到的通道号.item是DD E会话的主题.callback是回调函数,即服务器端一旦数据变化要调用的函数,upm tx是一个矩阵,它保存服务器送来的数据,如果这个矩阵名字是一个空字符串,则建立一个温链.如果矩阵名字是非空字符串,则建立一个热链.fo r m at是传送的数据格式.默认值为[10].ti m eou t是建立热链的超时设定,默认值为3s.以下是M A TLAB以热链方式与服务器通信的程序清单.channel=ddeinit(’Server’,’Top ic’);%建立DD E对话,返回通道号channelrc=ddeadv(channel,’text1’,’m y—func’,’x’,[10]);%与服务器建立热链接pause;%暂停rc=ddepoke(’channel’,’text2’,result);%向服务器发送数据rc=ddeunadv(channel,’text1’,[10]);%取消与服务器的热链接rc=ddeter m(channel);%终止与服务器的DD E对话该程序运行时与服务器建立热连接,然后进入暂停状态.服务器程序中一旦tex t1的内容有变化,则x矩阵获得变化后的数据,而后在函数m y—func中进行运算,并返回结果至主程序tex t2控件中.在实际应用中,m y—func函数可以换成任意复杂的数据处理函数和控制算法函数.2 用M A TLAB与组态王开发软件以某型舰船主动力监控系统仿真模拟软件的开发为例[3].利用组态王软件编制的图形界面见图2.它是在Touch M ak开发环境中建立的,功能是建立动画显示窗口.通过它提供的工具箱可建立历史趋势曲线、实时趋势曲线、报警记录显示.图2 组态王软件开发的人机交互界面在组态王中首先要建立标记名,构造数据库词典,再利用Touch M ak的图形功能制作被控对象的动画画面,然后将变量名与图形进行连接,当变量值改变时,其对应的图形状态也随之发生变化.同时组态王还提供了丰富的命令语言及函数,用户可以方便地使用这些类C语言对画面进行控制,以及实现一些简单的算法.・532・ 第2期 胡大斌等:基于组态王与M A TLAB的监控软件实现仿真模型主要用到M A TLAB 中的Si m u link 工具,并辅以DD E 通信程序.Si m u link 工具箱提供了一种交互式模型输入与仿真环境.用户只要在模型窗口上调出各个系统环节,并用连线将它们串接起来,即可对系统进行仿真和分析,整个过程不需要编程.改变某个环节的参数时,仿真结果随之变化.该系统为柴油机动力系统,其数学建型主要由如下几个部分组成:柴油机本体、调速器、供油装置、涡轮增压器、集气器、进气管、排气管、空气冷却器等. 改变模型求解方法及相对容差设定值,可改变仿真速度与精度.改变相应环节参数,可以进行各种故障模拟.系统模型采用模块化方式,根据其准稳态仿真数学模型和理论推导及试验所得的数据建立,并模拟柴油机的动态运行过程.利用组态王编制的仿真软件通过DD E 将主机各种工况的参数传递到M A TLAB 中,经过仿真计算后的结果以同样的方式传递给组态王.同时组态王还支持众多硬件设备(例如研华PC I 21756s 数采卡等),可将开关量信号或模拟量信号采集到计算机进行处理,然后输出控制量.整个DD E 通信部分的软件设计可以使用M A TLAB 语言编写灵活的S 函数来实现[4],以M 文件形式存在.S I M UL I N K 提供了一个M 文件形式的S 函数模板,包括定义一些必要函数的语句和一些注释,因此,程序编写简单,修改起来也容易,有利于对算法的分析和改进.M A TLAB与组态王通信的的仿真框图如图3所示.图3 M A TLAB 与组态王通信仿真框图 这里仅以2输入3输出仿真模型为例.其中,m odel 模块是仿真对象模型,见图4.In it —DD E ,V iew —O u tp u t ,V iew —Inp u t ,是实现DD E 通信的S 函数,现分别描述如下.1)DD E 初始化的S 函数In it —DD E%DD E 初始化,M A TLAB 作为客户clear ;functi on Init —DD E =Init —DD E ()global channel ;%建立组态王与M A TLAB 之间的通道channel =ddeinit (’view ’,’tagnam e’);%初始化失败if channel ==0 disp (’DD E initializati on failed !’);else%初始化成功 disp (’DD E initializati on is ready !’);end其中:channel 是DD E 初始化返回的一个标识通道的值,如果是0则表示没有建立与组态王的DD E 通道,否则,表示通道已准备好,可以进行数据交换.2)Si m u link 仿真模型从组态王接收数据的S 函数V iew —O u tput图4 m odel 模块・632・武汉理工大学学报(交通科学与工程版) 2005年 第29卷functi on [sys ,x 0,str ,ts ]=V iew —O utput (t ,x ,u ,flag )%定义变量case 0,%变量初始化case 2,sys =[ ];%数据交换case 3,if channel ==0 disp (’DD E failed !’);else%从组态王接收数据 m v (1)=ddereq (channel ,’data 1’); m v (2)=ddereq (channel ,’data 2’); fo r i =1:2 sys [i ]=m v (i );end end %结束case 9,……其中:data 1,data 2是服务器所对应的项目名.3)Si m u link 仿真模型向组态王发送数据的S 函数V iew —Inpu tfuncti on [sys ,x 0,str ,ts ]=V iew —Input (t ,x ,u ,flag )%定义变量case 0,%变量初始化case 2,sys =[ ];%数据交换case 3,if channel ==0 disp (’DD E failed !’);else ddepoke (channel ,’data 3’,u (1)); ddepoke (channel ,’data 4’,u (2)); ddepoke (channel ,’data 5’,u (3));end %结束case 9,……其中:data 3,data 4,data 5是服务器对应的项目名.3 结束语通过在舰船主动力系统仿真研究中的实际应用,利用编写M A TLAB 的S 函数的方法实现M A TLAB 与组态软件的DD E 通信,取得了较好的效果.该方法具有程序实现简单、方便的特点.如果更换仿真模型中的控制算法模块,就可实现各种复杂的工业控制过程,通用性较强.这种结构使得监控系统软件的开发可由多人分工进行.其高效、易扩充等突出优点,使其成为开发各种监控软件平台的一种很好的方法.参考文献1 马国华.监控组态软件及其应用.北京:清华大学出版社,2001.166~1962 刘志俭.M A TLAB 应用程序接口用户指南.北京:科学出版社,2001.351~3623 汤旭晶,李鹤鸣,金华标等.船舶中速柴油主机遥控系统的研制.武汉理工大学学报(交通科学与工程版),2003,27(5):625~6284 王沫然,陈怀琛.Si m ulink 4建模及动态仿真.北京:电子工业出版社,2002.185~194R ealizati on of Con tro l Softw areBased on K I N GV IEW and M A TLABHu Dab i n Hu J i nhu i W u Feng(N ava l U n iversity of E ng ineering ,W uhan 430033)AbstractT h is p ap er p ropo ses a DD E comm un icati on m ethod u sing M A TLAB S 2functi on .It describes a m ethod of DD E comm un icati on based on K I N GV IE W and M A TLAB th rough the app licati on to a study of som e w arsh i p’s m ain pow er con tro l system .In th is m ethod ,K I N GV IE W m akes com p licated and friendly hum an 2m ach ine in terface .M A TLAB calcu lates the resu lts w ith com p licated arithm etic .It p roveds that th is m ethod has advan tages fo r p rogramm ing efficien tly ,w ide u sage and conven ien t re 2alizati on .Key words :DD E ;M A TLAB ;k ingviem・732・ 第2期 胡大斌等:基于组态王与M A TLAB 的监控软件实现。

在控制系统中实现组态王与MATLAB的DDE通讯

在控制系统中实现组态王与MATLAB的DDE通讯


MATLAB
Client ¡¢£¤
DDE¡Server¡¢£
DDE ¡¢
图 3 MATLAB 作为服务器时的通讯示意图
当 MATLAB 作为一个“Client”时的通讯示意 图如 图 4,在“Server”应 用 程 序 中 的 DDE“Server”模 块 与
EngFigureResult
DDE 交 换 数 据 的 方 法 根 据 连 接 方 式 的 主 要 有 三
种:冷链 (cold link),温链 (warm link)和热链(hot
董新利:硕士研究生
link)。由客户申请数据,服务器发送数据的 这种方式
电 话 :010-62132436 ,62192616(T/F ) 《 现场总线技术应用 200 例》
中 图 分 类 号 :T P 273
文 献 标 识 码 :A
文章编号:1008- 0570(2005)08- 1- 0003- 03
实 际 生 产 过 程 中 各 种 干 扰 、被 控 对 象 模 型 的 变 化 等 。 如果能直接把组态王与 MATLAB 相结合,充分利
用 MATLAB 的 强 大 计 算 和 仿 真 功 能 及 组 态 王 的 界 面 设 计 功 能 ,则 会 达 到 更 好 的 效 果 。 因 此 ,我 们 提 出 了 把 二者相结合的思想。
PC ¡¢£¤¥¦
PLC
¡¢£¤
PC ¡¢£¤¥¦ DDE¡¢ MATLA B
PLC
¡¢£¤
时是“顾客”和“服务器”:当它向其它程序中请 求数据 时它充当的是 “顾客”;若有其它 程序需要它提 供数 据 ,它 又 成 了“服 务 器 ”。

图 1 原过程控制实验系统流程 图 2 新过程控制实验系统流程

DDE通讯在“组态王”中的应用(下)

DDE通讯在“组态王”中的应用(下)

R 5ONS$-< 5>??"5: 5>?N-T2S R5ON S$-< !-S5>??"5:S) , ! V !23"TT U0) ?> "TT>T) { BJK2)88/’)O6K ( “ -&%.%/0 )@@6@” ) ; } 第 W 步为服务名、 主题名、 和条目名、 创建字符 串句 柄 # 注意 $%&’(%)* 作 为服 务器, 其 服务名 为 X%)*, 主题名为 ./’&/G) , 条目名要根 $%&’(%)* 中 定义相应 !!" 设备名和相应 变量中的项目名
[’] 既是客户有都是服务器 , 把 T>;?->:Q 向 -. / / 发送命令看成发送数据, 此时 T>;?->:Q 是服务器,
而 -. / / 程序是客户, 这就是复合模式 & 此时任何 一 都不是简单的客户或者服务器, T>;?->:Q 支持 这种模式, 我们只要按照它给定的标准写自己的客
第]期
于足恩: “组态王” 中的应用 (下) !!" 通讯在
]Z a
户服务程序 就可以完成 !!" 通信 # 所 谓 $%&’(%)* 标准就是 !!" 的服务名、 主题名和条目名 #
决定, 格式为: 设备名 # 项目名 # 本例中定义的 !!" 设备为 Y07 数据变量的项目名为 -?5T"B+, 所以条 目名为 Y07 # -?5T"B+ ( H81S V !,)5@)/.)S.@%&’A/&,0) ,*(%)*, “X%)*” , U) ; ( H81: V !,)5@)/.)S.@%&’A/&,0) “./’&/G)” , ; ,*(%)*, U) H81- V !,)5@)/.)S.@%&’A/&,0) ( ,*(%)*, “Y07 # -?5T"B+” , U) ; 注册服务名作为客户程序可以没有, 因服务器 程序自己已经注册 # 第 Z 步 完成了上面这些准备工作后要把客户 程序链接到服务器程序上去 # ( ,*(%)*, ; H56&X V !,)56&&)7. H81S, H81:, ?C33) [[注意参数对应关系, 参考上一步 # 第 \ 步 初始化业务 # A!!"!B:B H!!"!/./ (?C33, V !,)50%)&.:@/&8/7.%6& U, H56&X , [ [会晤句柄由 !,)56&&)7. 提供 , 条目名 H81- [[ 5N :"9:, 9:;< B!(S:BT:, [[ 开始一个报告循环 +UUU,[[溢出时间 ; ?C33) 第 ] 步对于同步业务这一步可以应用 !,)B74 7)88!/./ 读取数据 # !,)B77)88!/./ ( H!!"!/./ [[ A!!"!B:B 句柄 字节数 LU[ [数据长度, ) ; 每次读完数据要释放对数据的所有权 !,)C&/77)884 (H!!"!/./) 这里指同步业务, 即客户初始化业 !/./ 务的同时可以得到要求的数 据 # 但是 $%&’(%)* 做 服务器程序, 它向下发送命令, 一般来说客户不知 道什么时候接收命令, 所以一般在 “组态王” 这种命 下发过程是异步的 # 因此这步在程序中是释放上一 步得到的句柄 # !,)N@))!/./A/&,0) ( H!!"!/./) ; 第 ^ 步对于异步业务通过回调函数来处理服 务器的数据或命令 # 大部分参数和服务器的回调函 数相同, 但消息不同, 参数对应的意义不同, 所以消 息处理函 不同, 这是要注意的 # A!!"!B:B 5B33OB5$ !!"5/00P/7Q ( =>T! *:_Y),=>T! *NG., A5>?( H56&X , [ [会晤句柄 AS‘ H81+, AS‘ H81L, A!!"!B:B H!/./, !=>T!
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

山西电子技术2010年第4期软件技术 收稿日期:2010-06-01作者简介:樊剑峰(19762),男,河南安阳人,工程师,本科,主要从事冶金及相关行业的控制系统研究和应用工作。

文章编号:167424578(2010)0420052202基于DDE 机理的组态王与MAT LAB 通信技术及应用樊剑峰,王新彦(安阳钢铁集团有限责任公司,河南安阳455004)摘 要:为了充分发挥组态王6.0的可视化界面功能与MAT LAB 强大的数值分析和图形绘制功能的各自优势,利用DDE 技术,实现了组态王6.0与MAT LAB 的通信,开发了一种过程控制实验装置的实时监控系统。

该监控系统具有实时监测、控制系统分析、控制系统设计等功能。

应用表明:该实时监控系统运行可靠,操作方便,而且使得实时监控功能更加强大、灵活。

关键词:组态王6.0;MAT LAB;实时监控;DDE 技术中图分类号:TP222 文献标识码:A0 引言近年来,随着计算机技术及应用的飞速发展,PC 机作为上位机在工业控制领域占据了主导地位,W indows 系统下的组态软件,如组态王(KI N G V I E W ),应用也越来越广泛。

组态软件提供了强大的人机界面和通讯功能,而且开发周期短,但其计算能力不强,难以实现复杂的控制算法。

MAT 2LAB (M atrix Laborat ory )应用软件拥有丰富的多学科工具箱、强大的工程计算和图像图形处理功能[1]。

因此,在监控系统软件的开发中应协同应用组态软件和MAT LAB 。

以组态软件作为系统主控,进行动态工艺图显示、P LC 参数设置、实时数据采集等操作;以MAT LAB 作为后台应用程序实现控制系统分析、控制系统设计、曲线绘制等功能[2]。

这样,有利于发挥组态软件和MAT LAB 的各自优势,使得编程更加高效灵活,功能更加强大。

1 过程控制实验装置的实时监控系统过程控制实验装置由上位机、P LC 、电动调节阀、交流变频器、交流电机、三相水泵、液位传感器、流量变送器、温度变送器、压力变送器、加热器、双容贮水罐及若干数字显示仪表组成。

其实时监控系统是基于组态王6.0和MAT LAB 开发的,结构见图1。

图1 基于DDE 机理的通信结构上位机利用组态王6.0与P LC 的串口通讯,实现对下位机P LC 的实时数据采集和监控器参数设置。

MAT LAB 通过与组态王6.0的通信,实现了对过程控制装置的控制系统分析、控制系统设计功能。

因此,该实时监控系统有以下几方面功能:工艺流程的动态显示;P LC 的参数设置和显示;实时数据的采集和存储,以及实时曲线的显示;历史数据的显示查询,以及历史曲线的显示;报警事件的产生、处理、保存及查询;控制系统的分析;控制系统的设计。

2 组态王6.0与MAT LAB 的通讯组态王6.0与MAT LAB 均支持动态数据交换(DDE )技术,使得二者能够通过数据交换实现互相通讯。

在通讯过程中,发起方的应用程序称为客户端(client ),响应方的程序称为服务器(server ),Matlab 和组态王6.0都是既作客户端又作服务器程序。

当客户端应用程序发起DDE 时,他必须确认三个DDE 参数[3]。

这三个参数由服务器提供,分别是服务器应用程序的名称(Server )、交换的主题(T op ics )和DDE 过程中传递的数据(Ite m s ),例如组态王6.0的这三个参数分别为:vie w 、tabna me 和链接设备寄存器。

当服务器端应用程序接受到一个主题的交换请求时,它将回应请求并建立一个DDE 。

当Matlab 作为客户端应用程序时,为完成与组态王6.0的通信,M atlab 提供了以下函数[4]:初始化函数channel =ddeinit (service,t op ic ),连接建立函数rc =ddeinit (channel,ite m,callbak,upm tx,for mat,ti m e 2out ),数据请求函数data =ddereq (channel,ite m,f or mat,ti m eout ),数据发送函数rc =ddepoke (channel,ite m,data,f or mat,ti m eout ),链接释放函数rc =ddeunadv (channel,ite m,for mat,ti m eout ),通信终止函数rc =ddeter m (channel )。

3 工程简化实例及过程参数辨识3.1 过程描述控制对象由两个串联的液体储罐组成(见图2),图中LT 、LC 分别表示液位变送器和液位控制器,Q 1、Q 0、R 分别表示输入流量、输出流量和液位二的设定值。

在该控制系统中,液位二的信号由LT 传送给LC,LC 根据液位信号和设定值的偏差操纵电机,从而通过调整电机转速来调节Q 1,最终实现对液位二的控制。

该过程为自衡非震荡,具有相互影响的双容过程,其数学模型可以用如下传递函数描述:G (s )=K p T p s +1e -τ.其中:K p 、T p 、τ分别指过程的增益、时间常数和时间滞后。

图2 双容液位系统单回路控制结构简图3.2 过程参数的估计及程序实现过程参数可使用M atlab中的Isqcurvefithan函数进行估计。

根据阶跃信号作用下过程的输出曲线的形状,先确定过程的模型属于哪一种类型的过程结构,然后采用非线性最小二乘法进行曲线的拟合,从而确定过程的参数Kp 、Tp和τ。

而组态王6.0只是用来编制窗体,以及调用M atlab命令,具体操作步骤如下[5]:(1)使控制器处于手动操作,设置参数使得控制器输出单位阶跃变化;(2)由组态王6.0采集阶跃响应数据,并实时传送给Matlab;(3)Matalb在获得数据后,利用L sqcurvefit函数进行参数估计,并拟合曲线输出;(4)Matlab将被辨识的参数过程传递给组态王6.0,以便显示。

以下将给出响应程序,并附有详细注释。

(1)Matlab:①编制函数文件fun(含有时滞一阶惯性过程的阶跃响应函数),以备调用[7]。

Functi on y=onedt(x0,tt)%tt为时间,X0为曲线拟合的估计值,X0(1),X0(2),X0(3)分别为K p、T p、tDd=(tt-x0(3))3(tt>x0(3));y=x0(1)3(1-exp(-dd/x0(2)));②Matlab接受和发送数据,进行过程参数估计,并命名该文件为p r oc_iden.m clear;f or mat short g;Channel=ddeinit(‘vie w’,’tagna me’);%初始化DDE 通信%向过程发送命令,使MV发生单位阶跃变化Rc1=ddepoke(channel,’P LC200.V116’,x(0));%P LC200.V116为MV的项目名%MAT LAB以T=3为周期,接收120个P V数据For i=1:120 Tic Data(i)=ddereq(channel,P LC200.V20);% P LC200.V20为P V的项目名 Pause(3-t oc);End T=0:3:357; T=t(1,[1:2:40,40:4:120]);h=data(2,[1:2: 40,40:4:120]); X0=[22020];%曲线拟合时的初始值,也可用其他值 X=lsqcurvefit(‘onedt’,x0,t,h);%曲线拟合 Y=onedt(x,t); Err=su m((h-y).^2; X=[x,err]; Pl ot(t,h,‘r3’,t,y,‘k’);grid;axis([03600 1.2]); Xlabel(‘时间t’);legend(‘阶跃响应的采样值‘,‘拟合曲线’,2); Set(gcf,‘Na me’,‘过程参数辨识’); %MAT LAB向组态王6.0发送数据。

Rc21=ddepoke(channel,‘P LC200.V100’,x(1)); Rc22=ddepoke(channel,‘P LC200.V104’, x(2)); Rc23=ddepoke(channel,‘P LC200.V108’,x(3)); Rc24=ddepoke(channel,‘P LC200.V112’,x(4)); Rc3=ddeter m(channel);%终止DDE通信(2)在组态王6.0运行界面调用M atlab应用程序:start A pp(“C:\MAT LAB6p5\bin\win32\matlab.exe”);在过程控制装置“手动”操作稳态运行,且组态王6.0处于“view状态时,按“打开Matlab”键启动Matlab应用程序,然后在其命令窗口中输入文件名“p r oce_iden”,按回车键即可完成对过程参数的辨识。

组态王6.0和Matlab运行界面分别如图3和图4所示。

图3中的err为过程输出拟合值与实际抽样数据之间的误差平方和。

图3 组态王6.0运行界面图4 matlab运行界面简图另外,在获得过程参数后,对于较简单的过程,可采用P I D控制。

在M atlab中依据相应的公式计算P LC控制器的P I D参数,随后即可对被控对象实施P I D控制。

另外,由于该实时监控系统可实现组态王6.0实时数据采集和M alab 实时数据接收和发送,对于较复杂的过程,如大时间滞后、时变、非线性过程,则可以实现过程的在线辨识和实时控制。

4 结束语本文描述了一种新的过程控制实验装置的实时监控系统。

在该监控系统中,利用DDE技术,实现了组态王6.0与Matlab的通信,充分发挥了组态王6.0可视化界面功能与Matlab强大的数值分析和图形绘制功能的各自优势,从而实(下转第62页)35 第4期 樊剑峰,等:基于DDE机理的组态王与MAT LAB通信技术及应用图2 大台阶输出和大小台阶同时输出时的波形3 用“小台阶”改善音频指标的原理由于“二进制台阶”放大模块的开关控制信号,是用数字音频代码的低6位来控制,具体控制对应关系见表1。

表1 “二进制台阶”放大模块控制对应关系数字代码位B7B8B9B10B11B12二进制模块1/21/41/81/161/321/64 从表中可知,“二进制台阶”放大模块是由数字音频代码的单个数字位来分别控制的。

如果数字代码位为逻辑高电平,则对应的“二进制台阶”放大模块就开通;若数字代码位为逻辑低电平,则相应的“二进制台阶”放大模块就被关断。

由于数字音频代码是由连续变化的音频信号转换得来,其二进制代码的数值就不可能出现跃变,所以“二进制台阶”放大模块输出的射频电压最大跃变量为1/64的“大台阶”射频输出电压。

相关文档
最新文档