第四章力控组态新工程的步骤在这章中,通过一个简单的例子,介绍用力控组态新工程的基本步骤。一、新工程的简介1、假设的工艺过程工艺设备包括一个油罐,一个进油控制阀门,一个出油控制阀门。用于控制两台阀门的PLC,如下图所示:2、PLC的逻辑算法:当进油控制阀门打开时,则开始进油。一旦存储罐即将被注满,进油控制阀门关闭,出油控制阀门打开。一旦存储罐即将被排空,进油控制阀门打开,出油控制阀门关闭。如此反复进行。3、力控的PLC仿真驱动SIMULATOR—力控的PLC仿真驱动SIMULATOR是力控®的PLC仿真程序,为了适应本例子的要求,内嵌了逻辑算法,并且对数据通道作了约定:增量寄存器1(模拟输入区)第0通道对应油罐的液位PLC1的DI区域(数字输入区)第0通道控制油罐的进油控制阀门PLC1的DI区域(数字输入区)第1通道控制油罐的出油控制阀门PLC1的DO区域(数字输出区)第0通道启动/停止PLC程序的开关4、工程要完成的目标(1)创建一幅工艺流程图,图中包括一个油罐,一个进油控制阀门和出油控制阀门,全部使用电磁阀带动气缸阀。(2)阀门根据开关状态而变色,开时为红色,关时为绿色。(3)创建实时数据库,并与SIMULATOR进行数据连接,完成一幅工艺流程图的动态数据及动态棒图显示。(4)用两个按钮实现启动和停止,启动和停止PLC程序。二、在力控中建立新工程时,首先通过力控的“工程管理器”指定工程的名称和工作的路径,不同的工程一定要放在不同的路径下。指定工程的名称和路径启动力控的“工程管理器”图1-1按“新增应用”按钮,出现如下对话框:图1-2应用名:所新建的工程的名称路径:新建工程的路径,默认路径为:c:\ProgramFiles\PCAuto说明:对新建工程的描述文字点击“确定”按钮,此时在工程管理器中可以看到添加了一个名为test的工程,然后再点击“开发系统”按钮,进入力控的组态界面。二、创建组态界面进入力控的开发系统后,可以为每个工程建立无限数目的画面,在每个画面上可以组态相互关联的静态或动态图形。这些画面是由力控开发系统提供的丰富的图形对象组成的。开发系统提供了文本、直线、矩形、圆角矩形、圆形、多边形等基本图形对象,同时还提供了增强型按钮、实时\历史趋势曲线、实时\历史报警、实时\历史报表等组件。开发系统还提供了在工程窗口中复制、删除、对齐、打成组等编辑操作,提供对图形对象的颜色、线型、填充属性等操作工具。力控开发系统提供的上述多种工具和图形,方便用户在组态工程时建立丰富的图形界面。在这个工程中,简单的图形画面建立步骤如下:第一步:创建新画面进入开发环境Draw后,首先需要创建一个新窗口。选择“文件[F]/新建”命令出现“窗口属性”对话框,如下图所示,输入流程图画面的标题名称,也命名为“储罐液位监控示例”。单击按钮“背景色”,出现调色板,选择其中的一种颜色作为窗口背景色。其它的选项可以使用缺省设置,详见《力控®用户指南》。最后单击“确认”按钮退出对话框。第二步:创建图形对象现在,在屏幕上有了一个窗口,还应看见Draw的工具箱。如果想要显示网格,激活Draw菜单命令“查看/网格”。■首先,我们需要在窗口上画一个储罐。从工具箱中选择“选择子图”工具。出现“子图列表”对话框,从中选择一个罐,如下图所示工具箱子图列表■可以修改罐的位置及大小。单击该罐,拖动其边线修改罐的大小。若要移动该罐的位置,只要把光标定位在罐上,拖动鼠标就可以了,如下图所示:■接下来,我们要画出入口阀门。选择工具箱中的“选择子图”工具,在“子图列表”对话框中选择符合要求的阀门子图,修改阀门的位置及大小。用相同的方法画出一个出口阀门。■选择工具箱中的“垂直/水平线”工具,在画面上画两条管线。■修改两条管线的颜色、立体风格和宽度。先选中一条管线,单击鼠标右键,出现右键菜单。选择“对象属性”菜单项,出现“改变属性”对话框。选择立体风格,宽度改为8,颜色选为灰色。选中另外一条管线,进行同样的修改,如图3-8所示。■选择工具箱中的“文本”工具,在画面上写两个显示液位的字符串:“液位值:”、“######.####”。其中“######.####”用来显示液位值,显示4位小数。■最后,我们要画两个按钮来执行启动和停止PLC程序的命令。选择工具箱中的“按钮”工具,画一个按钮。把按钮挪到合适的位置并调整好它的大小。按钮上有一个标志“Text”(文本)。选定这个按钮,在文本框中输入“开始”,然后单击“确认”。用同样的方法继续画“停止”按钮,完整图如下图所示。■现在,已经完成了“储罐液位监控示例系统”应用程序的图形描述部分的工作。下面还要做几件事。这就是定义I/O设备、创建数据库、制作动画连接和设置I/O驱动程序。数据库是应用程序的核心,动画连接使图形“活动”起来,I/O驱动程序完成与硬件测控设备的数据通讯。三、定义I/O设备在力控中,把需要与力控组态软件之间交换数据的设备或者程序都作为IO设备,IO设备包括:DDE、OPC、PLC、UPS、变频器、智能仪表、智能模块、板卡等,这些设备一般通过串口和以太网等方式与上位机交换数据;只有在定义了IO设备后,力控才能通过数据库变量和这些IO设备进行数据交换。在此工程中,IO设备使用力控仿真PLC与力控进行通讯。定义IO设备的步骤如下:我们后面要在数据库中定义4个点,但面对的问题是这4个点的过程值(即它们的PV参数值)从何而来?从前文所描述的力控®结构功能示意图知道,数据库是从I/OServer(即I/O驱动程序)中获取过程数据的,而数据库同时可以与多个I/OServer进行通讯,一个I/OServer也可以连接一个或多个设备。所以我们必须要明确这4个点要从哪一个设备获取过程数据时,就需要定义I/O设备。1.在Draw导航器中双击“I/O设备驱动”项使其展开,在展开项目中选择“PLC”项并双击使其展开,然后继续选择厂商名“PLC”并双击使其展开后,选择项目“仪表PLC(Simulator(仪表PLC))”,如下图所示:2.双击“Simulator(仿真PLC)”出现如下图所示的“I/O设备定义”对话框,在“设备名称”输入框内键入一个人为定义的名称,为了便于记忆,我们输入“PLC1”(大小写都可以)。接下来要设置PLC的采集参数,即“数据更新周期”和“超时时间”。在“数据更新周期”输入框内键入1000毫秒。提示:一个I/O驱动程序可以连接多个同类型的I/O设备。每个I/O设备中有很多数据项可以与监控系统建立连接,如果对同一个I/O设备中的数据要求不同采集周期,也可以为同一个地址的I/O设备定义多个不同的设备名称,使他们具有不同的采集周期。例如,一个大的存储罐液位变化非常缓慢,5到10秒钟更新一次就足够了,而管道内压力的更新周期则要求小于1秒钟。这样,可以创建两个I/O设备:PLC1SLOW,数据更新周期为5秒,和PLC1FAST,数据更新周期为1秒。3.单击“完成”按钮返回,在“Simulator(仿真PLC)”项目下面增加了一项“PLC1”,如图3-13所示。如果要对I/O设备“PLC1”的配置进行修改,双击项目“PLC1”,会再次出现PLC1的“I/O设备定义”对话框。若要删除I/O设备“PLC1”,用鼠标右键单击项目“PLC1”,在弹出的右键菜单中选择“删除”。通常情况下,一个I/O设备需要更多的配置,如:通讯端口的配置(波特率、奇偶校验等)、超时时间、所使用的网卡的开关设置等。因为这是一个“仿真”I/O驱动程序,它仿真“梯形图逻辑”和常用I/O驱动程序任务(实际上完全由PC完成),没有实际的与硬件的物理连接,所以不需要进行更多的配置。现在要记住,我们创建了一个名为“PLC1”的I/O设备,下面将要介绍如何使用它。四、创建实时数据库数据库DB是整个应用系统的核心,构建分布式应用系统的基础。它负责整个力控®应用系统的实时数据处理、历史数据存储、统计数据处理、报警信息处理、数据服务请求处理。在数据库中,我们操纵的对象是点(TAG),实时数据库根据点名字典决定数据库的结构,分配数据库的存储空间。在点名字典中,每个点都包含若干参数。一个点可以包含一些系统预定义的标准点参数,还可包含若干个用户自定义参数。我们引用点与参数的形式为“点名.参数名”。如“TAG1.DESC”表示点TAG1的点描述,“TAG1.PV”表示点TAG1的过程值。点类型是实时数据库DB对具有相同特征的一类点的抽象。DB预定义了一些标准点类型,利用这些标准点类型创建的点能够满足各种常规的需要。对于较为特殊的应用,可以创建用户自定义点类型。DB提供的标准点类型有:模拟I/O点、数字I/O点、累计点、控制点、运算点等。不同的点类型完成的功能不同。比如,模拟I/O点的输入和输出量为模拟量,可完成输入信号量程变换、小信号切除、报警检查,输出限值等功能。数字I/O点输入值为离散量,可对输入信号进行状态检查。有些类型包含一些相同的基本参数。如模拟I/O点和数字I/O点均包含下面参数:NAME点名称DESC点说明信息PV以工程单位表示的现场测量值力控®实时数据库根据工业装置的工艺特点,划分为若干区域,每个区域又划分为若干的单元,可以对应实际的生车间和工段,极大地方便了数据的管理,在总貌画面中可以按区域和单元浏览数据。在报警画面中,可以按区域显示报警。下面就以这个工程选择一种点类型,并建立实时数据库,先分析一下本工程要做什么:入口阀门不断地向一个空的存储罐内注入某种液体,当存储罐的液位快满时,入口阀门要自动关闭,此时出口阀门自动打开,将存储罐内的液体排放出去。当存储罐的液位快空时,出口阀门自动关闭,入口阀门打开,重新开始向罐内注入液体。过程如此反复进行。整个逻辑的控制过程都是用一台假想的PLC(可编程控制器)来实现的,前面我们已经给这台假想的PLC设备命名为PLC1。PLC1采集到存储罐的液位数据,并判断什么时候应该打开或关闭哪一个阀门。而我们除了在计算机屏幕上看到整个系统的运行情况(如:存储罐的液位变化和出入口阀门的开关状态变化等),我们还可以控制PLC程序的启动与停止。通过以上分析,确定在数据库中所要建的数据库点:需要定义一个模拟I/O点,这个点的PV参数表示存储罐的液位值,把这点的名称定为“LEVEL”。我们还需要一个数字I/O点来分别反映入口阀门的开关状态,当这个点的PV参数值为0时,表示入口阀门处于关闭状态,PV参数值为1时,表示入口阀门处于开启状态,我们将这个点的点名定为“IN_VALVE”。同样,要定义一个反映出口阀门开关状态的数字I/O点,命名为“OUT_VALVE”。另外,在假想的PLC中还有一个开关量来控制整个系统的启动与停止,这个开关量可以由我们在计算机上进行控制,所以我们需要再定义一个数字I/O点,将其命名为“RUN”。最终的数据库点表是:1、创建数据库点的步骤:■在Draw导航器中双击“实时数据库”项使其展开,在展开项目中双击“数据库组态”启动组态程序DBMANAGER(如果没有看到导航器窗口,激活Draw菜单命令“查看/导航器”)。■启动DBMANAGER后出现如下图所示的DBMANAGER主窗口。■单击菜单条的“点”选项选择新建或双击单元格,出现“请指定区域、点类型”向导对话框如下图所示,■然后双击该点类型,出现如下图所示的对话框,在“点名(NAME)”输入框内键入点名“LEVEL”。其它参数如量程、报警参数等可以采用系统提供的缺省值。单击“确定”按钮返回,在点名单元格中增加了一个点名“LEVEL”,如下图所示:■按如上所述步骤,创建数字I/O点“IN_VALVE”“OUT_VALVE”和“RUN”,创建后的点见下图:2、数据连接我们在前面创建了一个名为“PLC1”的I/O设备,而且它连接的正是我们假想的PLC1设备。现在的问题是如何将我们已经创建的4个数据库点与PLC1中的数据项联系起来,以使这4个点的PV参数值能与I/O设备PLC1进行实时数据交换。这个过程就是建立数据连接的过程。由于数据库可以与多个I/