造纸厂配浆控制系统__控制程序设计.docx_第1页
造纸厂配浆控制系统__控制程序设计.docx_第2页
造纸厂配浆控制系统__控制程序设计.docx_第3页
造纸厂配浆控制系统__控制程序设计.docx_第4页
造纸厂配浆控制系统__控制程序设计.docx_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕 业 设 计(论 文) 造纸厂配浆控制系统 控制程序设计 专业年级 学 号 姓 名 指导教师 评阅人 自动化2003级 03051101 赵海娜 钱艳平 袁晓玲 二七年六月 中国 南京 摘 要 摘 要 造纸工业是一个与国民经济发展和社会文明建设息息相关的重要产业。配浆系统是整个造 纸工艺流程的重要组成部分。为了达到配浆系统给定的工艺要求,保证纸浆的产量和质量,必 须对配浆系统进行自动化改造。同时,该系统可以充分提供配浆系统的各种生产数据,为生产 工艺的改进、管理水平的提高创造条件。 本文研究了造纸工业中纸浆配比自动控制系统。整个系统结构可以分为监控程序、基于组态软件 DDCRun 的控制程序与硬件及接口程序三层结构,三者相对独立运行。本文着重研究配浆系统中控制程序的设计和实现。在分析了整个系统需求的基础上提出了系统的控制目标和策略,主要包括绝干量配比控制、浓度控制和液位及联锁控制等。同时,利用动态链接库技术,将上述控制策略分解为各种算法模块并采用Visual C+语言实现。基于自编的组态软件DDCRun,实现了纸浆配比系统中的控制程序。首先,利用算法添加程序将各种算法添加到组态软件中以组成算法库;其次,利用策略组态程序搭建了配浆系统的整个控制策略;最后,采 用策略执行程序以运行配浆控制策略。 最后,结合本次毕业设计过程讨论了存在的不足和体会。 关键词:纸浆;绝干量;配比控制;动态链接库;软件组态;DDCRun I Abstract Abstract The paper industry is the important industry which is closely linked with the national economy development and the social civilizationconstruction. Proportioning system is an important constituent portion of the entire papermaking technical process. In order to achieve the technological requirement which the proportioning system requires, ensure the output and the quality of the paper pulp, the proportioning system must carry on the automated transformation. Meanwhile this system may fully provide all kinds of production data of the proportioning system, creating conditions for the improvement of production process, and the enhancement of the management level. This article has studied the paper pulp proportioning automatic control system in the paper industry. The whole systems software structure may be divided into three structures which are the monitor routine, based on the configuration software DDCRun control procedure and the hardware and the interface routine. The three relative independently operates. This article has emphatically studies the control procedures design and realization in the proportioning system. Based on the analysis of the needs of the entire system, proposes the systems control objectives and strategies, mainly included the dry component ratio control, density control, liquid level and interlock control, and so on. Meanwhile, using the Dynamic-Link Library technology, divides the above control strategies into various algorithm modules and uses Visual C + + to realize these algorithm modules. Based on the configuration software, DDCRun, which is designed oneself, achieves the control procedure in the paper pulp proportioning system. At first, uses algorithm accession programme to add various algorithms to the configuration software, composing algorithm-base; Next, uses the strategy configuration procedure to build up the whole control strategy of the proportioning system; At last, uses the strategy executive routine to run the proportioning system. At the end of the article, discusses the existent insufficiency and experience, combining with the process of graduation project. Key words: paper pulp; dry component; ratio-control; software configuration; DDCRun II 目 录 目 录 摘 要.I Abstract . II 第 1 章 绪 论. 1 1.1 课题背景. 1 1.1.1 工业过程自动化控制的发展. 1 1.1.2 造纸行业的自动化过程. 1 1.2 系统设计目标. 2 1.2.1 配浆方式. 2 1.2.2 系统概述. 2 1.2.3 控制程序与其他部分的接口. 3 1.3 本文主要内容. 4 第 2 章 系统控制策略设计. 5 2.1 系统控制目标. 5 2.2 控制策略设计. 6 2.2.1 绝干量配比控制. 6 2.2.2 浓度控制. 6 2.2.3 液位及联锁控制. 7 第 3 章 系统控制程序实现. 9 3.1 控制算法库实现. 9 3.1.1 动态链接库技术. 9 3.1.2 算法库内容. 10 3.2 控制程序实现. 25 3.2.1 组态软件概述. 25 3.2.2 算法添加. 27 3.2.3 控制策略组态. 29 3.2.4 控制程序运行. 32 第 4 章 结论. 34 参考文献. 35 致 谢. 36 III 第1章 绪 论 第 1 章 绪 1.1 课题背景 1.1.1 工业过程自动化控制的发展 论 当今社会中,自动控制技术已经在工业生产和科学发展中起着关键的作用。现在自动化装 置已是大部分设备不可分割的重要组成部分。一些大型生产过程如果不配置合适的自动控制系 统,是根本无法运行的。可以说,生产过程自动化的程度已成为衡量工业企业现代化水平的一 个重要标志。 我国工业过程自动化的水平在近年来有了较大的提高,但是与国外先进水平相比还有较大的差距。 自20世纪50年代计算机开始用于工业过程控制以来1,过程控制的发展经历了以下几个阶段: 1直接数字控制(DDC) 2分散集中控制(DCS) 3两级优化控制 4工业过程计算机集成控制(CIPS) 计算机的应用促进了控制理论的发展。先进控制的理论和计算机技术的发展推动了工业控 制的微机化、智能化和网络化,也推进了先进控制理论的应用。同时,先进控制理论的成功应用也促进了控制理论的持续和深入的开展。因此,计算机在工业生产和理论研究中发挥的作用是无法估量的。同时采用计算机控制可以实现工业过程连续化、大型化和精密化的要求,可以 进行在线运算,完成一些比PID更灵活的控制。 1.1.2 造纸行业的自动化过程 计算机应用于造纸工业始于1964年23。最初的应用集中于工业控制计算机进行过程变量或产品质量的自动控制,如浆的蒸煮温度,流浆箱液位、压力,纸抄造过程中的浆浓度与流量、 纸张定量水分控制等。 20世纪70年代后期,以其优良的性能在工业控制中崭露头角,很快在造纸工业中也得到了普遍的应用而自动化系统也逐渐由原来单一的过程控制向管理与控制一体化的综合自动化方向发展。 随着造纸生产工艺不断进步和生产设备的不断更新, 造纸生产的自动控制,过去只集中在电气传动方面。现在的范围已经扩大到打浆控制系统、配 浆控制系统、上浆流送控制系统、纸机干燥部多段通气控制系统(热泵控制)和水分定量检测等方面,即通常说的DCS过程控制系统和QCS质量检测系统,正朝着整厂集中控制的方向发 展。 1 第1章 绪 论 1.2 系统设计目标 本次设计的课题为造纸厂生产自动控制系统,主要完成造纸厂纸浆的配比控制。当前在造 纸行业中,随着造纸机车速的提高和设备的更新,纸浆配浆控制方式中原来的配浆箱方式配浆已经逐步被管道配浆方式替代。 1.2.1 配浆方式 当前纸浆管道配浆有三种方式4,可根据生产情况、技术要求和经济情况来选取。 第一种为流量给定控制方式,此种方式用人工给定参与配浆的各浆种流量的大小,来控制 到成浆池各种浆的比率。 第二种为比率自动控制方式,主要利用成浆池液位控制的输出作为主要浆种的流量给定,并通过比率控制器决定其它浆种的流量给定。其具有的优点为:能按纸机抄造情况,自动控制瞬时配比的各种浆流量大小,可保证成浆池液位稳定。 第三种为绝干量比率自动控制方式,此种方式按参与配浆浆种的绝干纤维量来计算和控制 各种浆配比的比率。它比流量控制更为准确,能够稳定控制各种浆的配比。其优点是配浆效果好,浆种的纤维配比稳定,更改、调整更为容易。此方案不需要人工计算,只需给定各种浆绝 干的配比。 1.2.2 系统概述 系统提供了废纸浆和自制纸浆两种纸浆,为了达到节省造纸成本的目的,使两种纸浆按一 定的配比注入到成浆池进行充分的混合,为后续环节提供达到一定生产要求的成浆。 系统实现首先是获得要控制的各个量的值,将其进行处理,转换成计算机能够处理的信号 形式,然后根据控制目的进行相应的控制,将控制信号输出给硬件系统使其执行相应的操作, 同时还需要监视整个系统的运行状态,有利于远程监控人员对系统进行监控。所以系统可以分 为硬件及接口程序部分、系统控制部分和监控系统三个相对独立5,但又联系密切的部分。三个部分有机结合起来构成完整的系统。 系统结构如图 1.1所示。 DDCRun 控制程序 接口程序 图 1.1系统结构图 2 监控系统 硬件系统 第1章 绪 论 图 1.1表示了系统中各部分之间的关系,各部分通过动态链接库(DLL)来连接。硬件系 统提供系统的输入信号由接口程序传送给DDCRun控制程序;生控制信号并将控制信号由接口程序输出给硬件系统;其中的监控系统通过动态链接库来获取系统当前各个变量的状态信号,对其进行处理后显示一些相关的画面,有利于远程监控人员及时的了解系统的运行状况,同时还能够对系统进行一定的控制。 1.2.2.1 硬件及接口程序部分 该部分主要是硬件及软件与硬件的接口部分。能够提供模拟信号的输入输出功能,为控制 程序提供相应的变量输入, 及接收控制和监控系统的控制信号,系统能够构成完整的回路。其主要是将实际系统的模拟信号转化成计算机能够处理的数字信号,使控制程序能够根据输入的信号产生相应的控制信号。 1.2.2.2 系统控制部分 该部分主要是完成整个系统的控制策略,实现配比的自动控制。整个设计过程主要是依赖计算机,方式,绝干量配比控制方式的控制效果最好,且绝干量配比控制方式中的绝干量配比可以通过 软件来给定,因此采用绝干量配比控制方式。 在造纸工业中,纸张的绝干浆量(单位面积上纸的克重)是考察纸张质量的一个重要指标, 纸张绝干浆量一般可以认为是浓度和流量的乘积: G= F C 式中: G纸浆绝干浆量; F纸浆流量; C纸浆浓度。 (1) 就本系统而言,将系统提供的废纸浆和自制纸浆按一定的绝干量配比进行控制。除了要进 行绝干量配比的控制,此部分还要实现浓度、流量和液位的控制及系统出现异常情况的时候能采取适当的处理等功能。同时还要为监控部分提供所需的数据,使监控系统能够得到系统的实时数据及运行状态。 1.2.2.3 监控系统 这部分是一个人机界面,使工作人员能够及时了解系统的工作状态,有利于系统的正常稳定运行。其利用从控制部分读入的相应数据,对数据进行处理,形成一些图表,使工作人员能够较直观的了解系统当前或历史的运行情况,并对系统进行一些分析。同时还可以对系统的一些参数进行控制,使远程人员也可以对系统进行一定的控制,具体包括整个控制系统的主框架 图、实时显示各个量的值、流量和浓度的变化曲线、系统参数设置及密码保护等功能。 1.2.3 控制程序与其他部分的接口 由图 1.1知,控制系统是通过动态链接库来与监控系统和接口程序相联系的。 我们采用的组态软件提供了一些函数,其能够获得当前系统的变量的值与状态,同时还可 以对控制模块的参数进行获取和设置。只要其他程序包含了组态软件提供的动态链接库和相应 3 第1章 绪 论 的头文件,就可以调用这些函数,从而可以与控制程序进行数据通信。只是在调用这些函数的 时候要注意一些相应的设置,否则可能无法调用。同时还要注意,调用程序从控制程序中得到 数据或对控制程序的一些变量进行设置的时候,各个变量的名称要一致,不然不能正常的进行 数据的通信。 1.3 本文主要内容 本文研究配浆自动控制的控制策略,即完成上述的系统控制部分的设计。本文的主要内容包括: 1确定系统的控制目标; 2系统控制策略的设计与研究; 3控制算法库的设计与研究; 4控制程序的实现。 4 第2章 系统控制策略设计 第 2 章 系统控制策略设计 2.1 系统控制目标 系统的配浆结构图如图 2.1所示。 图 2.1系统配浆结构图 根据绝干量配比控制的原理,绝干量是浆料的浓度和流量的函数,浓度和流量的变化都会导致绝干量发生变化。众所周知,如果浓度和流量两个量同时变化,则要控制绝干量在一个给 定的值不变是不容易实现的,且控制效果不一定令人满意,因此我们可以采用保持其中一个量(如浓度)不变,根据给定的绝干量来控制另一个量(流量)来使绝干量达到并保持给定值。 由于系统的两种纸浆是已经制造好的,我们不考虑制浆的复杂过程,认为其浓度不会发生大幅度的变化。但纸浆是悬浊液,其中含有不能溶解的固体物质,故其浓度是不均匀的。同时 生产工艺对纸浆的浓度有一定的要求,要对浓度进行稀释,使其达到生产要求。 由于自制纸浆和废纸浆注入成浆池后要充分的混合,需要搅拌器进行搅拌,再加上液位本身的不稳定,因此成浆池的液位波动较大。考虑到生产过程的实际情况,成浆池的液位控制要 求较宽,要达到既要防止缺浆,影响生产的正常进行,又要防止满浆,造成不必要的浪费。同 时还要避免自制浆泵和废纸浆泵的频繁启停。 系统的控制主要是由软件来完成的,因此所用的软件必须安全可靠,具有较好的可移植性和可扩展性,参数修改方便,调试简单等。 5 第2章 系统控制策略设计 2.2 控制策略设计 控制程序采用软件组态的方式实现。根据系统的控制目的可将系统控制策略分为绝干量配比控制、自制浆池和废纸浆池的浓度控制、成浆池的液位控制及联锁控制。同时各部分之间具有耦合作用。 2.2.1 绝干量配比控制 绝干量的配比控制比较复杂,其影响因素比较多,废纸浆及自制纸浆的浓度、流量变化都会对配比控制产生影响。在保持废纸浆和自制纸浆的浓度相对稳定的情况下,还要解决废纸浆 和自制纸浆的流量控制问题,此时绝干量主要的决定因素是流量。根据对配浆过程的分析,我们可以保持一个浆池泵的频率一定,调节另一个浆池泵的频率来调节流量的大小。两种浆种在配浆过程中所占的比重不一样,而管道的流量是一定的。若保持其中比重较小的浆种的流量不变,调节比重较大的浆种的流量,可能出现根据绝干量配比计算出的比重较大的浆种的流量超过管道的最大的流量,此时就不能达到预期的控制效果,所以要保持比重较大的浆种的流量一 定。废纸浆和自制纸浆中自制纸浆占的比重较大,我们可以使自制浆泵满负荷运行,控制自制 纸浆流量的电动阀开度保持在一个固定的值,废浆泵根据给定的配比,采用增量式PID控制。绝干量配比控制的控制框图如图 2.2所示。 废浆 浓度 废浆 流量 自制浆 浓度 自制浆 流量 绝干量 计算 乘除 废浆 PID 运算 控制器 池泵 绝干量 计算 给定 配比 图 2.2绝干量控制框图 图 2.2中的绝干量计算模块具有单位及量程转换和绝干量计算的功能。浓度和流量信号均为物理量,有各自的物理意义,单位也不相同,则量程范围也不同,要对两者进行一定的处理才能够正确的计算废纸浆和自制纸浆的绝干量。 2.2.2 浓度控制 由于废纸浆与自制纸浆的浓度是互不影响的,且由前面所述其受其他的影响较小,将两者分开控制,通过分别控制相应的电动阀的开度来控制加水量的大小,调节浓度。采用最常用的PID控制。 浓度控制的系统框图如图 2.3所示。 6 第2章 系统控制策略设计 PID 给定纸 控制器 浆浓度 实测 纸浆浓度 图 2.3浓度控制框图 反作用 电动阀 变换 注意到,在图 2.3中有一个反作用变换模块,其功能是改变调节器的正、反作用方式。为 了适应不同被控对象实现负反馈控制的需要,工业调节器都设置正、反作用开关,以便根据需要将调节器置于正作用或者反作用方式6。所谓正作用方式是指调节器的输出信号u随着被调量y的增大而增大,此时整个调节器的增益为“”处于反作用方式下,u随着被调量y的增大而减小,调节器的增益为“”只有根据被控对象的特性正确选择调节器的作用方式才能够有效的控制被控量,否则会使系统的控制性能更糟,甚至带来生产事故。 由浓度控制的原理可知,当调节加水量的电动阀的开度增大时,会使系统的浓度变小,此时控制器的输出信号应该减小,使电动阀的开度减小,增大浓度,以保证浓度稳定在给定值,因此调节器应该选择反作用方式。借助系统的控制方框图可以更好的理解反作用的概念,见 图 2.4。图 2.4中K,Kv ,Km 分别代表被控过程、调节阀和测量变送装置的增益,Kc 代表调 节器运算部分的增益,为调节阀的开度,ym 为被调量y的测量值。注意,调节器置于正作用 方式时,Kc 为负,反之Kc 为正。就浓度控制而言,K,Kv ,Km 都是正数,因此负反馈要求Kc 为正,即要求调节器置于反作用方式。 e u r K c K K v y m K m 图 2.4根据控制系统方框图确定正、反作用 y 为了简化算法我们此处增加了具有反作用变换的功能模块来实现调节器的反作用。 2.2.3 液位及联锁控制 系统中要检测废纸浆池、自制纸浆池和成浆池的液位。检测废纸浆池液位和自制纸浆池液 位,目的是为了使废纸浆池和自制纸浆池的液位不至于过低而影响配比过程的正常进行,控制比较简单,相比之下成浆池液位的控制比较复杂。在系统的控制目标中已经介绍到,成浆池的液位与本系统的联锁控制有着密切的关系。各个浆池的液位变化关系到系统是否能够正常、稳定运行。对于一个工业系统,保证系统安全、可靠和稳定运行是设计人员必须要考虑的重要部 分。为了达到预期的控制目的,我们对液位进行高低限控制。通过对高低限的判断可以使系统做出相应的处理,若有浆池液位越限,发出报警信号的同时启动联锁控制。 7 第2章 系统控制策略设计 就本系统而言,我们采用带联锁控制的液位控制系统,具体的控制策略为: 1对成浆池的液位进行高液位和低液位控制,当成浆池的液位高于设定的高位限制时,同 时自动关闭废纸浆泵和自制纸浆泵,暂停配比,防止成浆池浆满;当成浆池液位低于设定的低位限制时,此时要考虑废纸浆池和自制纸浆池的液位,如果废纸浆池和自制纸浆池的液位都没有达到设定的低液位,即能够使配比正常进行,则同时启动废纸浆泵和自制纸浆泵,启动配比,否则同时自动关闭废纸浆泵和自制纸浆泵,发出报警信号,提醒工作人员进行处理。 2考虑到液位的波动问题,对采集的液位数据进行数字滤波的同时对设定的限位值给与一 定的变化范围,即给定上限偏差和下限偏差。当成浆池的液位低于设定的高位值与下限偏差之差时,则根据成浆池的液位与设定的成浆池液位的低液位的比较情况执行相应的动作;当其液 位高于设定的高位值与上限偏差之和时,进行第一条所述的相应动作。 此处我们没有控制成浆池的液位在一个给定值,而是让其在一个较宽的范围内变化。由2.1中所述,液位的波动较大,如果控制液位在一个给定值,必然使阀门等硬件工具频繁的动作,缩短机械寿命,增加系统的成本。同时将成浆池的液位控制在一个固定的给定值没有多大的实际意义,我们只要保证在生产进行的过程中,成浆池一直有纸浆供后续环节使用就可以了。 系统具体的联锁控制关系见表 2.1。 表 2.1系统联锁控制关系 8 成浆 池 液位 成浆 池 液 位报警 自制浆 池 液位报警 自制 浆泵 自制浆 电动阀 废 纸浆 池 液位报警 废 纸 浆泵 废 纸浆 电动阀 上 限 上 限报警 报警 / 不 报警 关 关 报警 / 不 报警 关 关 两 限 之间 不 报警 报警 关 关 报警 / 不 报警 关 关 两 限 之间 不 报警 报警 / 不 报警 关 关 报警 关 关 两 限 之间 不 报警 不 报警 开 开 不 报警 开 开 下 限 下 限报警 报警 关 关 报警 / 不 报警 关 关 下 限 下 限报警 报警 / 不 报警 关 关 报警 关 关 下 限 下 限报警 不 报警 开 开 不 报警 开 开 第3章 系统控制程序实现 第 3 章 系统控制程序实现 3.1 控制算法库实现 根据第 2 章中讲述的系统的控制策略,各个控制回路有许多相同功能的模块,可以将整体的控制系统模块化,分别实现各个模块,再组成整体的控制系统。模块化既降低了系统编程的 工作量,又提高了系统的通用性。控制程序采用的是组态软件,其各个模块都是以动态链接库的形式存在的,要把编写的控制算法添加到组态软件中,这样组态软件才能够调用我们所编写的控制算法。每个控制算法都要利用动态链接库编写。 3.1.1 动态链接库技术 3.1.1.1 动态链接库简介 动态链接库78(DLL,Dynamic-Link Library)是一种可执行文件,但它不能像普通的EXE文件那样可以直接运行,而是用来为其他可执行文件(包括EXE文件和其他DLL)提供共享函数库。使用DLL的应用程序可以调用DLL中的导出函数(import function)不过在应用程序本身的执行代码中并不包含这些函数的执行代码,它们经过编译和链接之后,独立地保存在DLL中。使用DLL的应用程序只包括了用于从DLL中定位所引用的函数信息,而没有函数具体实 现,要等到程序运行时才从DLL中获得函数的实现代码。 应用动态链接库可以使多个应用程序共享一段代码,从而大幅度的降低应用程序的资源开销,同时也缩小了应用程序的最终执行代码的大小。此外,通过使用动态链接库,我们可以把一些常规的例程独立出来,有效地避免了不必要地重复开发,并且由于应用程序使用了动态链 接的方式,还可以在不需重新改写甚至编译应用程序的基础上更新应用程序的某些组件。 由于DLL是独立于可执行文件的,因此如果需要向DLL中增加新的函数或增强现有函数 的功能,只要原有函数的参数和返回值等属性不变,那么,所有使用该DLL的原有应用程序都可以在升级后的DLL的支持下运行,而不需要重新编译。 应用程序在运行时必须要有相应的DLL的支持,同时使用DLL也增大了程序运行的开销,但一般情况下,这不会对应用程序造成明显的影响。 我们利用的编程工具是Microsoft Visual C+ 6.0,其支持多种格式的动态链接库,包括: 1非MFC DLL 2静态链接到MFC的常规DLL 3动态链接到MFC的常规DLL 4MFC扩展DLL 其中非MFC DLL(non-MFC DLL)内部不使用MFC,调用非MFC DLL提供的导出函数 的可执行程序可以使用MFC,也可以不使用MFC。一般来说,非MFC DLL的导出函数都使用 标准的C接口。余三种DLL的内部都使用了MFC。态链接到MFC的常规DLL(regular DLL statically linking to MFC)与动态链接到MFC的常规DLL(regular DLL dynamically linking to MFC)的区别在于一个使用的是MFC的静态链接库,而另一个使用的是MFC的DLL。 9 第3章 系统控制程序实现 相比使用了MFC的DLL,非MFC DLL显得更为短小精悍。因此,如果DLL不需要使用MFC,那么最好使用非MFC DLL,它将显著地节省磁盘和内存空间。同时,无论应用程序是否使用了MFC,都可以调用非MFC DLL中所导出的函数。 3.1.1.2 动态链接库导出函数的方法 从动态链接库中导出函数有两种方法: 1在创建DLL时使用模块定义(module DEFinition,.DEF)文件 2在定义函数时使用关键字_declspec(dllexport) 在第一种方法中要注意.DEF文件,此文件中LIBRARY语句用来表明DEF文件属于一个DLL,在LIBRARY 之后是DLL的名称,这个名称在链接时将放到DLL的引入库中;用EXPORTS语句列出了DLL的所有导出函数以及它们的顺序值。函数的顺序值不是必须的,在指定导出函数的顺序值时,在函数名后跟上一个符号和一个数字,该数字即导出函数的顺序值。如果在DEF 中指定了顺序值,它必须不小于1,且不大于DLL中所有导出函数的数目。 第二种方 法 中使用_declspec(dllexport)的 同 时指定 了调用协 议关键 字,则必 须将_declspec(dllexport)关键字放在调用协议关键字的左边。如: int _declspec(dllexport) MyFunc() 使用DEF文件来导出函数,可以创建具有NONAME属性的DLL。具有NONAME属性的DLL在导出表中仅包含了导出函数的顺序值,这种类型的DLL在包括有大量的导出函数时,其文件长度要小于通常的DLL。 3.1.1.3 动态链接库的调用 应用程序调用动态链接库也有两种方法:隐式调用和显示调用。 隐式调用方式需要把产生动态连接库时产生的.LIB文件加入到应用程序的工程中,在使用DLL中的函数时,只须说明一下后就可以直接通过函数名调用DLL的输出函数,调用方法和程 序内部其他的函数是一样的。隐式调用不需要调用Load Library()和Free Library()。程序员在建立一个DLL文件时,链接程序会自动生成一个与之对应的LIB导入文件。该文件包含了每一个DLL导出函数的符号名和可选的标识号,但是并不含有实际的代码。LIB文件作为DLL的替代文件被编译到应用程序项目中。 显示调用方式是指在应用程序中用Load Library或MFC提供的AfxLoadLibrary显式的将自己所做的动态连接库调进来,指定DLL的路径作为参数。应用程序在调用GetProcAddress函数时使用这一参数。当完成对动态链接库的导入以后,再使用GetProcAddress()获取想要引入的函数,该函数将符号名或标识号转换为DLL内部的地址,之后就可以像使用本应用程序自定义的函数一样来调用此引入函数了。在应用程序退出之前,应该用Free Library或MFC提供的AfxFreeLibrary释放动态连接库。 3.1.2 算法库内容 系统控制部分划分成各个模块,将模块分类,包括基本的数学运算模块和控制算法模块,我们分别介绍各类模块的算法实现。由于我们使用的是Microsoft Visual C+ 6.0作为编程工具,其语言基础是C,且我们编写的程序相对较简单,没有必要选用MFC DLL,因此我们选用非MFC DLL。 10 第3章 系统控制程序实现 在具体编写程序的过程中要注意,在Microsoft Visual C+ 6.0中,动态链接库的导出函数 的名称会在编译时被编译器改编,为了使调用程序能够正确的调用动态链接库,要在关键字_declspec(dllexport)前加extern “C”,即

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论