上海阮拓自动化设备有限公司
                    SHANGHAI RUANT AUTOMATION EQUIPMENT CO.,LTD

PID设置

栏目:行业新闻 发布时间:2019-07-01 浏览量: 1827
分享到:
MCGS嵌入版系统对实时数据的处理主要在用户脚本程序和运行策略中完成。

 

MCGS嵌入版系统对实时数据的处理主要在用户脚本程序和运行策略中完成。

MCGS嵌入版组态软件中的脚本程序是一种类似普通Basic语言的编程脚本语言(Script语言),但与Basic相比,操作更为简单,可以用来编制某些复杂的多分支流程控制程序。利用脚本程序中的三个最基本的程序控制语句(赋值语句、条件语句和循环语句),以及系统提供的各种系统函数和系统变量,可以完全满足用户的实际需要,设计出理想的控制系统。

用户脚本程序可以嵌入到MCGS嵌入版组态软件的许多部件中,包括:

l         运行策略窗口,脚本程序策略块中;

l         用户窗口,按钮控件的脚本程序中;

l         用户窗口,窗口属性中的启动脚本、循环脚本以及退出脚本中;

l         用户窗口,窗口及各个控件的事件组态中。

MCGS嵌入版脚本程序中不能自定义变量,但可以把实时数据库中的数据对象当作全局变量。象使用普通的变量一样,用数据对象的名字直接读写数据对象的值。如

IF  ADdat0 > 100  THEN

    DODat1 = 0

ELSE

    DODat1 = 1

ENDIF

假定ADdat0是实时数据库中的一个数值型数据对象,它与模拟量输入(AD)接口板的0号通道建立了连接;DODat1是实时数据库中的一个开关型数据对象,其与数字量输出板(DO)接口板的1号通道建立了连接。那么,上段程序的含义是:当AD0号通道采集进来的数据(经工程转换后)大于100时,DO板的1号通道关闭(输出低电平);反之,DO板的1号通道打开(输出高电平)。

下面给出一个采用脚本程序构件实现“比例-微分-积分”(PID)控制算法的实例。

首先在循环策略块中创建一个策略行,如下图所示。在策略行的条件部分可以控制该算法是否启动,设置循环策略的定时时间为1秒,在策略行的功能部分放置脚本程序构件。

在实时数据库中定义如下数据对象:

对象名称

类型

初始值

 

ADdat0

数值型

0

和模拟量输入通道建立连接

DAdat0

数值型

0

和模拟量输出通道建立连接

SetV

数值型

100

控制设定值

Tempdx

数值型

0

用作存储临时数据

Tempdx1

数值型

0

用作存储临时数据

Tempdx2

数值型

0

用作存储临时数据

Pdat

数值型

100

PID算法中的参数P

Idat

数值型

20

PID算法中的参数I

Ddat

数值型

20

PID算法中的参数D

在设备窗口中加入相应的设备构件,指定ADdat0数据对象和设备的模拟量输入通道0建立连接,指定DAdat0数据对象和设备的模拟量输出通道建立连接。

在策略行的脚本程序构件中编制如下所示的脚本程序:

 Tempdx = SetV - ADdat0

 Tempdx2 = Tempdx2 + Tempdx

 IF Idat <> 0 THEN

    DAdat0 = Pdat * (Tempdx + Tempdx2 / Idat + Ddat  * (Tempdx - Tempdx1))

 ELSE

    DAdat0 = Pdat * (Tempdx + Ddat * (Tempdx -  Tempdx1))

 END IF

 Tempdx1 = Tempdx

应用系统运行时,每隔一秒钟,执行一次上面的脚本程序,从而进行一次PID调节。在脚本程序中,由设定值和采集进来的实际值计算输出值,而采集和输出的操作,由系统指挥设备构件来完成。

程序设定值和PID参数值可以通过动画构件进行设置,如:在用户窗口中配置四个滑动输入器构件,分别对应于设定值、P参数、I参数和D参数,运行时,用鼠标操作滑块就可随意改变这些参数的值。