function [u]=pidsimf(u1,u2)
close all,clear all;clc;
global channel;
%开始DDE对话若图片无法显示请联系QQ752018766
channel=ddeinit('DB','DB');
if channel == 0
disp(' DDE初始化失败');
else
disp(' DDE初始化成功,开始通信...');
ddeadv(channel,'weidu.PV','');
ddeadv(channel,'wendu1.PV','');
ddeadv(channel,'u.PV','');
data1 = ddereq(channel,'weidu.PV')
persistent pidmat errori error_1
u=0;
u1=0;
errori=0;
error_1=0;
y=0;
ts=0.002; kp=1.0;
ki=1.5;
kd=0.05;
error=data1-y;
for k=1:1:100
errord=(error-error_1)/ts;
errori=errori+error*ts;
u_1=u;
u=kp*error+ki*errori+kd*errord
y=data1*10*u_1/(10*u+3);
error_1=error;
ddepoke(channel,'u.PV',u);
ddepoke(channel,'wendu1.PV',y);
pause(1);
end
end
ddeunadv(channel,'weidu.PV');
ddeunadv(channel,'wendu1.PV');
ddeunadv(channel,'u.PV');
%终止DDE对话
ddeterm(channel);
if channel==1
disp('DDE通道关闭,通信结束');
else
disp('通道关闭失败');
end
这时就基本上完成了力控与MATLAB之间的数据通信了。 完成以上两章的基本设置之后,就要开始对系统进行调试。调试过程十分复杂,以下只是介绍其中的一部分调试过程。
定义I/O 设备的步骤如下:
从前文所描述的力控(R)结构功能示意图知道,数据库是从 I/O Server(即 I/O 驱动程序)中获取过程数据的,而数据库同时可以与多个 I/O Server 进行通讯,一个I/O Server 也可以连接一个或多个设备。所以我们必须要明确这 4 个点要从哪一个设备获取过程数据时,就需要定义 I/O 设备。
1、在 Draw导航器中双击“I/O 设备驱动”项出现如下对话框,在展开项目中选择“力控”项并双击使其展开,然后继续选择“仪表仿真驱动”并双击使其展开后,选择项目“Simulator(仿真仪表)”,如下图所示:
图 6.7 I/O 设备驱动
2. 双击 “Simulator(仿真仪表)”出现如下图所示的“I/O 设备定义”对话框,在“设备名称”输入框内键入一个人为定义的名称,为了便于记忆,我们输入“plc”(大小写都可以)。接下来要设置plc 的采集参数,即“数据更新周期”和“超时时间”。在“数据更新周 期”输入框内键入 1000 毫秒。
图 6.8 设备配置窗口
3. 单击“完成”按钮返回,在设备组态画面的右侧增加了一项“plc”,如果要对 I/O设备“plc”的配置进行修改,双击项目“plc”,会再次出现 plc 的“I/O 设备定义”对话框。若要删除I/O 设备“plc”,用鼠标右键单击项目“plc”,在弹出的右键菜单中选择“删除”。
数据库 DB 是整个应用系统的核心,构建分布式应用系统的基础。它负责整个力控应用系统的实时数据处理、历史数据存储、统计数据处理、报警信息处理、数据服务请求处理。
在第4章
1、创建数据库点:
单击菜单条的“点”选项选择新建或双击单元格,出现“请指定区域、点类型”向导对话框,然后双击该点类型,出现如下图(
图
图
在前面已经做了很多事情,包括:制作显示画面、创建数据库点,并与 I/O 设备“plc中的过程数据1 连接起来。现在我们又要回到开发环境Draw 中,通过制作动画连接使图形在画面上随plc 数据的变化而活动起来。
开发环境Draw、运行环境View 和数据库DB 都是力控(R) 的基本组成部分。但 Draw 和 View 主要完成的是人机界面的开发、组态和运行、显示,我们称之为界面系统。实时数据库 DB 主要完成过程实时数据的采集(通过 I/OServer 程序)、实时数据的处理(包括:报警处理、统计处理等)、历史数据处理等。界面系统与数据库系统可以配合使用,也可以单独使用。
建立动画连接
动画连接是将画面中的图形对象与变量之间建立某种关系,当变量的值发生变化时,在画面上图形对象的动画效果动态变化方式体现出来。有了变量之后就可以制作动画连接了。一旦创建了一个图形对象,给它加上动画连接就相当于赋予它“生命”,使它动起来。 动画连接使对象按照变量的值改变其大小、颜色、位置等 。例如,一个泵在工作时是绿色,而停止工作时变成红色。有些动现连接还允许使用逻辑表达式,如:OUT_VALVE==1&&RUN==1 表示:OUT_VALVE 与RUN 这两个变量的值同时为 1 时条件成立。
下面以所建的工程为例说明建立动画连接的步骤:从最上面的入口阀门开始定义图形对象的动画连接。双击入口阀门对象,出现动画连接对话框,如下图所示:
图6.10 动画连接对话框
让入口阀门根据一个状态值的变化来改变颜色。选择图中的“颜色相关动作――颜色变化――条件”单击“条件”按钮,弹出如下对话框,单击“变量选择”按钮,弹出“变量选择”对话框,在点名栏中选择所用的变量,在右边的参数列表中选择“PV”参数,如下图所示,然后单击“选择”按钮。
图 6.11 选择变量对话框
其他的动画连接基本都按这种方法进行设置,这样动画连接基本完成。
用脚本来完成两个按钮的动作来控制系统的启停及阀门的相关动作。选中“开始”按钮后双击鼠标左键,出现动画连接对话框,选择“触敏动作/ 左键动作”按钮。单击“左键动作”按钮,弹出脚本编辑器对话框选择“按下鼠标”事件,在脚本编辑器里输入“RUN.PV=
工程的逻辑控制过程要由脚本来完成,在力控的开发系统中,导航器/动作/条件动作或应用程序动做中写入下列脚本程序:以下脚本为啤酒动作脚本。
图 6.12 脚本编辑器
力控工程初步建立完成,进入运行阶段。首先保存所有组态内容,关闭DBManager(如果没关闭)。在力控的开发系统(DRAW )中选择“文件\进入运行”菜单命令,进入力控的运行系统。在运行系统中选择“文件\打开”命令,从“选择窗口”选择“储罐液位监控示例”。显示出力控的运行画面,点击“开始”按钮,开始运行程序。可以在任何时候点击“停止”按钮来中止这个过程,如下图所示:
图6.13 监控运行画面
并推出按钮
系统调试完成以后,便可进行运行了,具体运行情况将在下一章进行说明。
在DDE的调试中要注意:只有在力控和MATLAB同时在运行状态下,才能正常的进行通信,否则就会通信失败。下图6.14是力控在没有运行时出现的结果:
图 6.14 MATLAB的命令窗口
当力控和MATLAB同时在运行状态下时,则在MATLAB的命令窗口上就会显示并进行通信,如下图6.15:
若图片无法显示请联系QQ752018766
图 6.15 MATLAB的命令窗口
这时就基本上完成了啤酒工艺生产过程的监控和力控6.0与MATLAB7.1之间的DDE数据通信了。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>