软件模块化思想在变频器系统设计中的应用

2019-12-05 08:40刘晓荣
无线互联科技 2019年17期
关键词:模块化变频器软件

刘晓荣

摘   要:文章详细阐述了具有系统组态功能的模块化软件设计的思想和过程,并结合变频器系统设计平台给出了详细的设计理念。实践证明,该思想确实可行,并具有很大的推广价值。

关键词:软件;模块化;连接子;变频器

模块化软件设计是程序设计过程中常用的方法和思想,简单地说,就是将一个大程序按照它的功能划分为一个个相对独立的小程序模块,并定义好这些小程序模块之间的关系,调试好各个框架之间的输入、输出连接关系。在本变频器系统中,由于实现的功能较多,本文参照西门子传动系统的编程思想,实现具有系统组态功能的模块化软件设计[1]。

1    软件模块化的基本思想

1.1  模块的分割

作为一个庞大的变频器控制系统,需要实现庞大的控制功能、通信功能。本研究站在系统的角度上,将实现不同控制的功能划分为各个不同的子模块,各模块功能相对独立,和其他子模块之间信息交换量较小。把子模块定义一个名词—功能块。对于该变频器系统,本研究将整个程序分割为以下主要功能块:开环(闭环)控制功能、通信功能以及监控和操作器控制功能。这些功能模块相对独立,可通过参数设置而自由联结。

相互联结相当于将各个功能模块用工程方法进行连接,即用导线连接集成电路或其他元件。因此,各个功能模块都有自己相应的功能框图。

1.2  各模块的运行

软件运行的微处理器要按顺序完成各模块(功能块)的运行,但为了系统运行的经济性,在功能块被执行时,本研究按照在系统中各模块要求被执行的快慢,有意将各模块分为若干等级,例如,分为9个等级,执行要求最快的为等级1,执行最慢的为等级9。

为保证每个模块能准确地按时间周期执行,本研究运用中断的概念,因为在系统时钟确定的情况下,对于某一中断而言,两次中断之间的时间间隔是确定的。所以介绍一个时基的概念,本研究采用定时器T0中断来说明(当然可以采用定时器T1或者外部中断)。把每两个T0中断之间的时间间隔(例如1.2 ms)定位为程序执行的基本时间间隔—时基,以T0为基础,可以得到特别准确的时间2T0,4T0,8T0,…,256T0等。明确起见,把T0,2T0,4T0,8T0,…,256T0等时间段称之为时隙[2],时隙相关数据如表1所示。

这样可以确定每个功能块所处的时隙。

时隙按其优先级顺序处理,其中,时隙T2优先级最高,T10优先级最低。每个高优先级的时隙能够中断低优先级时隙。系统顺序控制自动地启动每个时隙。如果高优先级时隙被启动,则虽然其他时隙正进行处理,在被中断的时隙进行进一步处理之前,低优先级的时隙被停止,然后处理高优先级时隙。低优先级时隙排成一行但不进行处理,直到高优先级时隙结束。

需要说明的是,时隙T20仅作为存储之用,在实际应用时不被执行。这样可以把不需要执行的功能块时隙改为T20,节约系统时间,如在软件中包含了“串口通信模块”,但在某现场应用时未使用此串口。

可以将其时隙改为T20,各功能块的时隙可以根据需要进行自由修改,如由块改慢,或由慢改快。

时基T0的时间也可以进行修改。时基T0并不一定要是定时器T0两次中断的时间间隔,可以为多次T0中断的时间。

各时隙同T0的时间关系选择偶数倍关系,而非奇数倍关系的原因是判断更容易。在软件中可以设定一个8位计数器,当第0位为1时,执行时隙为1×T0的时隙T2,第1位为1时,执行时隙为2×T0的时隙T3。以此类推,判断时只按位判断,各位正好按照256,128,64,32,16,8,4,2,1码编码。

1.3  模块内部的参数设定

软件的模块化不仅体现在模块的分割上,而且还体现在模块内部,图1给出了某个功能块或功能块的一部分。

图1右上角椭圆型框表明该功能块所处的时隙。内部又引入了一堆代号为P×××,K×××,B×××的参数。在软件中,它们有以下几种参数:

这些参数其实就是变量,编程时只需要按其寻址方式进行,而变量取值可以进行修改,故称参数。其中,P,H参数为设定参数,分为两种寻址方式:立即寻址和间接寻址。图1中P235,P240,U953.14为直接寻址方式,而P228为间接寻址方式。P228=[KK0152],即KK0152的内容为多少,则P228的值是多少。

B××××開关量连接器参数,K××××连接器参数(16位),KK××××双连接器参数(32位)是某一特定功能的输出量,例如,图1中B0310为从460页功能图输出的速度调节器释放与否位,K0153为图1中速度调节器输出量。

B××××,K××××和KK××××参数作为连接器参数,可以被设定参数P,H,U,L以间接寻址的方式所设定。

一旦设定参数P,H,U,L设置不同的B××××,K××××和KK××××参数,则构成了不同的框图、不同的电路。因此,除特定功能的固定连接之外,整个功能块内部都是特别自由、松散的若干块,使用者可根据不同的需要,通过设定P,H,U,L构成自己理想的电路。

通过输出量控制的连接子,把需要的量输出至模拟量口或开关量口输出,实现不同的控制功能。用该思想可以想象把任何需要设定的量或接口都初始化为不同的可设定参数,如电源电压、电源频率、输出电压等,可以实现用一种软件实现不同种设备的控制思想。但需要注意的是,设定参数需要事先设定上、下限,以防止非正常数据的输入。设定参数的缺省值也是必要的,特别是出厂设定时显得更加重要。

1.4  自由连接子的实现

自由连接子的实现,其实质是如何用设定参数把连接变量连接过来的方法。事先在程序中开辟两个变量表,K变量表和B变量表。分别为K0000,K0001,K0002,…,(K参数和KK参数公用一个变量表,因为K参数和KK参数的序号是不重复的);B0000,B0001,B0002,…,寻址B参数或K参数时,首先,将指针指向B0000或K0000地址,其次,再设定到设定参数的数值作为偏移量,按该偏移量间接寻址即可实现连接。

需要说明的是:编程时,B参数表、K参数表,需要实现设定初值。因为B参数、K参数是某一特定功能的输出量,所以在程序运行过程中,B参数、K参数应该自动刷新。整个一套软件的参数不能重复,所以自由连接可以在同一功能块间、不同功能块间自由连接,即时把某一输出又连到其输入。P参数和r参数、H参数和d参数、U参数和n参数、L参数和c参数不重复。

2    结语

随着科学技术的迅猛发展,对自动化产品的模块化、网络化都有了更高的要求,软件模块化更是软件编制、维护的最好选择。本文提出的软件思想,不但在变频器产品上有很重要的应用,也可以推广应用于其他控制产品、自动化及工控产品中。

[参考文献]

[1]武贵林.单元串联中压大功率变频器的研究与设计[D].西安:西安科技大学,2005.

[2]冯垛生,曾越兰.无速度传感器矢量控制原理与实践[M].北京:机械工业出版社,1997.

猜你喜欢
模块化变频器软件
模块化自主水下机器人开发与应用
禅宗软件
变频器在电机控制系统中的选择与应用
模块化住宅
软件对对碰
基于LabVIEW的变频器多段速控制
ACP100模块化小型堆研发进展
模块化VS大型工厂
简析变频器应用中的干扰及其抑制
谈软件的破解与保护