计算机测控系统实验报告院(系)名称学号学生姓名指导教师PLC的开环控制系统实验一、实验目的以Omron PLC (CP1E)为例,熟悉PLC的硬件结构和编程语言,掌握逻辑运算、定时器等基本指令,编写气液两相流实验装置的控制程序,得到不同的流量、流型。
二、实验设备气液两相流装置,Omron PLC (CP1E)三、实验内容1、Omron PLC简介Omron SYSMAC CP1E可编程控制器(Programmable Logic Controller, simplified as PLC)是一种由欧姆龙公司设计制造的用于简单测量、控制应用的集成式PLC,具有20点(数字量)I/O单元,使用USB端口连接编程设备(上位PC机)。
基本指令系统包含子逻辑运算、定时器、比较等,也支持连接到可编程终端、变频器和伺服驱动器。
外形如图1.1所示。
图1.1Omron SYSMAC CP1E PLC外形为了通过USB将PLC连接到计算机,需让计算机自动识别设备并安装驱2、编程软件CX-Programmer简介CP1E可编程控制器采用CX-Programmer软件进行编程和监控。
软件安装完成后,打开CX-Programmer for CP1E。
界面如图1.2所示。
点击文件->新建,再设备类型中选择实验中PLC的CPU类型——N20。
点击确定后就创建了一个新工程。
图1.2 CX-Programmer界面可以在新工程中建立梯形图程序(梯形图程序见说明书),待编程完成后,点击编程->编辑所有的PLC程序,在屏幕下边的窗口中检查并修改错误。
所有错误修改完成后,点击PLC->在线工作,与设备进行连接。
PLC编程语言PLC采用梯形图作为编程语言,简单直观。
以下对逻辑运算和计时器等基本指令做简单的介绍。
(1)常开和常闭触点(LD,LDNOT和OUT)功能:Q:100.00=(I:0.00)and(I:0.01);Q:100.01=((I:0.02)or(Q:100.01))and(I:0.03);功能:Q:100.02=(not(I:0.00))and(I:0.01);(2)定时器指令(TIM:0.1s计时器)功能:I:0.00闭合1s后Q:100.01接通;功能:Q:100.00接通2s,断开3s。
注意:梯形图最后要输入END结束程序。
气液两相流装置简介气液两相流装置通过变频器带动水泵,提供稳定流量的水流。
通过PLC 对电磁阀的控制,调节释放气体的时间与释放时间间隔,进而控制气体的释放量,得到可控的相对稳定的气液两相流流型。
气液两相流装置及其示意图如图1.3、图1.4所示。
(a) 正视(b)侧视图1.3 气液两相流装置图1.4 气液两相流装置示意图四、实验步骤:1、1、PLC编程图1.5 实验PLC程序图2、2、操作过程在做好实验准备后,首先,老师具体讲解了实验的基本原理、操作方法以及会出现的一些问题。
在具体操作时,将编译好的PLC程序打开链接并运行,按照实验指导书的要求依次调节不同的电磁阀开关,观察到科氏流量计中气泡随着不同电磁阀门的打开二变化。
同时在计算机上可以观察到程序的变化。
五、实验结果:3、科氏流量计中气泡变化调节不同的电磁阀开关,可以看到科氏流量计中气泡呈现出不同的状况。
调节释放气体的时间与释放时间间隔,进而控制气体的释放量,得到可控的相对稳定的气液两相流流型。
4、PLC程序的变化在调节不同电磁阀的同时,我们可以看到PLC程序中相应电磁阀的变化情况。
实验感想通过老师对实验的讲解,我们对PLC如何控制电磁阀有了很清晰的认识,在随后的具体操作中,我们逐渐熟悉了整个实验的流程,对PLC程序有了更加直观的学习,并且对用计算机控制外部设备有了一些学习。
一、 实验目的熟悉电磁流量计、科氏力质量流量计、压力表等装置的结构,并掌握测量变送原理。
针对川仪电磁流量计设计简单的计算机测量与监控系统。
实验设备:气液两相流装置,川仪电磁流量计,科氏力质量流量计,压力表,计算机。
二、 实验内容:1、电磁流量计简介电磁流量计(Electromagnetic Flowmeter)的测量原理是基于法拉第电磁感应定律,在与测量管轴线和磁场磁力线相互垂直的管壁上安装一对检测电极,当导电液体沿测量管轴线运动时,导电液体做切割磁力线运动产生感应电势,此感应电势由测量管上的两个电极检出,数值大小为:E BDv =B ——管道内的磁感应强度(T); D ——管道内径(m);v——管内流体的平均流速(m/s)。
由产生的感应电动势测知管道内液体的流速,于是体积流量为:244v D D Q v E k EBππ===k——仪表系数。
测量流量时,流体流过垂直于流动方向的磁场,导电性流体的流动感应出一个与平均流速成正比的电势,因此要求被测的流动液体高于最低限度的电导率。
其感应电压信号通过两个电极检出,并通过电缆传送至转换器,经过信号处理及运算,将累积流量和瞬时流量显示在转换器的显示屏上。
实验中的分体型川仪电磁流量计如图2.1所示。
图2.1 分体型电磁流量计2、科氏力质量流量计简介科里奥利质量流量计(Coriolis Mass Flowmeter)是利用流体在振动管中流动时能产生与流体质量流量成正比的科里奥利力的原理制成的一种直接式质量流量仪表。
双U形是振动管式科氏力质量流量计中最早应用的一种,如图2.2所示。
两根U形管在驱动器作用下绕主管道以一定频率振动,被测流体流进主管道后进入U形管,流动方向与振动方向垂直。
(A)实物图 (B) 结构原理图图2.2 双U形管科里奥利质量流量计图2.3 U 形检测管工作原理当流速为零时,U 形管只有上下振动而不受科里奥利力的作用,如图2.3(A)所示。
当有流体流通U 形管时,U 形管在上下振动过程中,将受到科里奥利力的作用,如图2.3(B)所示。
形成了一对力矩T 作用在U 形管上,使U 形管产生扭曲变形,如图2.3(C)所示。
44m s s m T R q L T K K q R Lωθθω===T——U 形管检测到的力矩; R ——U 形管的弯曲半径; L——U 形管总长度;θ——U 形管产生的扭角;ω——质点在U 形管中旋转的角速度。
sK ——U 形管的扭转弹性模量,在微小形变下为常数;传感器A 和B 的信号时间差2R tL θω∆=,可以得到质量流量与t ∆的关系:2288s s m K L t K q tR L Rωω∆==∆3、弹簧管压力表简介弹簧管压力表是利用弹性元件在压力下产生形变的原理制成的压力测量2.4(A)所示。
弹簧管压力表中的弹簧的自由端是封闭的,它通过拉杆带动扇形齿轮转动。
测压时,弹簧管在被测压力的作用下产生变形,因而弹簧管自由端产生位移,位移量与被测压力的大小成正比,使指针偏转,在度盘上指示出压力值。
(A)实物图 (B) 结构原理图图2.4 弹簧管压力表4、计算机测量与监控系统用串口RS232将川仪电磁流量计与计算机连接,用Visual Basic、Visual C++或MATLAB GUI编写程序和界面,构成简单的计算机流量测量与监控系统,并在气液两相流装置上实现水流量的在线监测,如图2.5所示。
程序设计流程如图2.6所示。
图2.5 计算机测量与监控界面开始定义RS232串口打开串口格式处理1写串口延时0.5s格式处理2Y终止命令?N读串口数据延时0.2s显示、更新数据关闭串口结束图2.6 程序设计流程注:1.流程图中格式处理1和格式处理2是针对川仪电磁流量计读写串口的规定格式,读串口的数据不需要保存。
格式处理1:(1) 连续读三次串口。
(2) 向串口写ESC。
(3) 读一次串口。
格式处理2:连续读三次串口。
2.川仪电磁流量计读取流量值的指令为:11 换行回车三、实验过程:1、设备连接计算机和PLC设备是通过串口连接的,通过计算机上的设备管理器查看PLC 与哪个串口相连接,随后进行设置串口波特率、设置起始位、校验位邓串口配置。
2、程序运行打开编写的程序,并运行,观察串口采集到的数据,每隔固定时间记录。
随后改变流量,观察数据的变化情况。
实验结果:1、通过程序采集到的数据与设备指示仪上的数据一致。
2、改变流量时,采集到数据也随之变化。
五、实验感想本实验通过Matlab编程,通过串口接收流量计传来的流量信息,并在计算机界面上实时显示数据。
通过本实验,我们可以看到Matlab在编程上面的优越性,相比于C语言编程,它的语句更加精炼易懂,同时在可视化界面上来说,Matlab更加专业,也更容易掌握。
另外,本实验也可以用Labview编程,Labview 图形界面显示功能非常强大。
附程序function varargout = FlowMasterGUI(varargin)gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @FlowMasterGUI_OpeningFcn, ... 'gui_OutputFcn', @FlowMasterGUI_OutputFcn, ... 'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_mainfcn(gui_State, varargin{:});endvarargin)handles.s=serial('COM3','BaudRate',4800); %Define the serial port; fopen(handles.s) %Open the serial port;% Choose default command line output for FlowMasterGUIhandles.output = hObject;guidata(hObject, handles);% --- Outputs from this function are returned to the command line. function varargout = FlowMasterGUI_OutputFcn(hObject, eventdata, handles)varargout{1} = handles.output;% --- Executes on button press in open.function open_Callback(hObject, eventdata, handles)a=fscanf(handles.s); %Read space linea=fscanf(handles.s); %Read 'Flow Master V1.34'a=fscanf(handles.s); %Read space linefprintf(handles.s,'%s',char(27)) %print 'ESC'a=fscanf(handles.s); %Read 'Flash'%Enter commandfprintf(handles.s,'%s','11') %Print 'Read flow' commandfprintf(handles.s,'%s',char(10))pause(0.4);a=fscanf(handles.s); %Read '>11'a=fscanf(handles.s); %Read space linea=fscanf(handles.s); %Read space linefor i=1:100for j=1:100for k=1:100handles.a=fscanf(handles.s); %Read flow pause(0.2);handles.a=str2num(handles.a);handles.a=handles.a*(-1);a=handles.a;set(handles.number, 'String', a);guidata(hObject,handles)endendendfprintf(handles.s,'%s',char(27)) %print 'ESC'fclose(handles.s)% --- Executes on button press in exit.function exit_Callback(hObject, eventdata, handles) close(gcf)一、实验目的:掌握单回路闭环控制系统的组成和原理。