力控学习笔记(一)储存罐液位监控示例

2023-11-21 23:21

本文主要是介绍力控学习笔记(一)储存罐液位监控示例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、创建项目

首先通过力控的“工程管理器”指定工程的名称和工作的路径,不同的工程一定要放在不同的路径下。指定工程的名称和路径,启动力控的“工程管理器”:

点击 “新建”,输入名称,设置路径。

新建完成后,显示在列表中,选中点击“开发”打开工程。

 

二、创建组态界面

1、新建窗口

进入开发环境Draw后,首先需要创建一个新窗口。选择“文件[F]/新建”命令出现“窗口属性”对话框。

 

 

2、 创建图形对象

现在,在屏幕上有了一个窗口,还应看见Draw的工具箱。如果想要显示网格,激活Draw菜单命令“查看/网格”。

1) 首先,我们需要在窗口上画一个储罐,从导航器中选择“选择图库”工具。出现“子图列表”对话框,从中选择一个罐。

 2) 接下来,我们要画出入口阀门。选择菜单条中的“选择图库”工具,在“子图列表”对话框中选择符合要求的阀门子图,修改阀门的位置及大小。

3) 选择工具箱中的“立体管道”工具, 在画面上画两条管线。单击选定管道首段,双击选定管道末端。

4) 修改两条管线的颜色、立体风格和宽度。先选中一条管线,单击鼠标右键, 出现右键菜单。选择“对象属性”菜单项,出现“改变属性”对话框。选择立体风格,宽度改为15,颜色选为灰色。选中另外一条管线,进行同样的修改。

5) 选择工具箱中的“文本”工具,在画面上写两个显示液位的字符串:“液位值:”、“######.####”。其中“######.####”用来显示液位值,显示4位小数。

6) 最后,我们要画两个按钮来执行启动和停止设备的命令。选择工具箱中的“按钮”工具,画一个按钮。把按钮挪到合适的位置并调整好它的大小。按钮上有一个标志“Text”(文本)。右击这个按钮,选择对象属性,在文本框中输入“开始”,然后单击“确认”。用同样的方法继续画“停止”按钮。

 

  三、定义IO设备

IO设备的通讯一般包括:DDE、OPC、PLC、UPS、变频器、智能仪表、智能模块、板卡等,这些设备一般通过串口和以太网等方式与上位机交换数据,只有在定义了IO设备后,力控才能通过数据库变量和这些IO设备进行数据交换,定义IO设备的步骤如下:

1. 在Draw导航器中双击“I/O设备驱动”项出现如下对话框,在展开项目中选择“力控”项并双击使其展开,然后继续选择“仿真驱动”并双击使其展开后,选择项目“Simulator(仿真)”。

 2. 双击 “Simulator(仿真)”出现如下图所示的“I/O设备定义”对话框,在“设备名称”输入框内键入一个人为定义的名称,为了便于记忆,我们输入“plc”(大小写都可以)。接下来要设置plc的采集参数,即“数据更新周期”和“超时时间”。在“数据更新周期”输入框内键入1000毫秒。

提示:一个I/O驱动程序可以连接多个同类型的I/O设备。每个I/O设备中有很多数据项可以与监控系统建立连接,如果对同一个I/O设备中的数据要求不同采集周期,也可以为同一个地址的I/O设备定义多个不同的设备名称,使他们具有不同的采集周期。

例如,一个大的存储罐液位变化非常缓慢, 5到10秒钟更新一次就足够了,而管道内压力的更新周期则要求小于1秒钟。这样,可以创建两个I/O设备:PLCSLOW,数据更新周期为5秒,和PLCFAST,数据更新周期为1秒。

3. 单击“完成”按钮返回,在设备组态画面的右侧增加了一项“plc”,如果要对I/O设备“plc”的配置进行修改,双击项目“plc”,会再次出现plc的“I/O设备定义”对话框。若要删除I/O设备“plc”,用鼠标右键单击项目“plc”,在弹出的右键菜单中选择“删除”。

通常情况下,一个I/O设备需要更多的配置,如:通讯端口的配置(波特率、奇偶校验等)、超时时间、所使用的网卡的开关设置等。因为这是一个“仿真”I/O驱动程序,它仿真“梯形图逻辑”和常用I/O驱动程序任务(实际上完全由PC完成),没有实际的与硬件的物理连接,所以不需要进行更多的配置。

四、创建实时数据库

第一步:明确数据库要求:

需要定义一个模拟I/O点,这个点的PV参数表示存储罐的液位值,把这点的名称定为“LEVEL”。我们还需要一个数字I/O点来分别反映入口阀门的开关状态,当这个点的PV参数值为0时,表示入口阀门处于关闭状态,PV参数值为1时,表示入口阀门处于开启状态,我们将这个点的点名定为“IN_VALVE”。同样,要定义一个反映出口阀门开关状态的数字I/O点,命名为“OUT_VALVE”。另外,在假想的PLC中还有一个开关量来控制整个系统的启动与停止,这个开关量可以由我们在计算机上进行控制,所以我们需要再定义一个数字I/O点,将其命名为“RUN”。

第二步:最终的数据库点表是:

点名

点类型

说明

LEVEL

模拟I/O点

存储罐液位

IN_VALVE

数字I/O点

入口阀门状态

OUT_VALVE

数字I/O点

出口阀门状态

RUN

数字I/O点

系统启停状态

1、创建数据库点的步骤 

1) 在Draw导航器中双击“数据库组态”启动组态程序DBMANAGER(如果没有看到导航器窗口,激活Draw菜单命令“查看/导航器”)。

2) 启动DBManager后出现如下图所示的DBManager主窗口。

3) 单击菜单条的“点”选项选择新建或双击单元格,出现“请指定区域、点类型”向导对话框。

双击“模拟 I/O点”后,输入点名为LEVEL(这里我输入的是VALUE,取名根据自己喜好,但需要有含义,这样数据繁多时才能一一对应)。

 

其它参数如量程、报警参数等可以采用系统提供的缺省值。单击 “确定”按钮返回,在点名单元格中增加了一个点名“VALUE”。

按如上所述步骤,创建数字I/O点“IN_VALVE”“OUT_VALVE ”和“RUN” 。如下图:

 2、数据连接

将我们已经创建的4个数据库点与plc中的数据项联系起来,以使这4个点的PV参数值能与I/O设备plc进行实时数据交换。

双击数据库中点LEVEL的单元格,选择“数据连接”选项或双击LEVEL所对的“%IOLINK[I/O连接]”单元格。

3. 再为三个数字I/O点建立数据连接。

下表列出了我们刚刚定义的4个数据连接:

点.参数

数据连接说明

LEVEL.PV

增量寄存器,寄存器地址为0

IN_VALVE.PV

常量寄存器,寄存器地址为0

OUT_VALVE.PV

常量寄存器,寄存器地址为1

RUN.PV

状态控制,地址为0

 

五、制作动画连接

1、阀门需单击切换颜色,关闭时为红,打开时为绿。双击阀门。设置变量表达式。如图为入口阀门,同理设置出口阀门变量表达式,显示为“OUT.PV”。

 2、定义出口阀门的颜色变化条件及相关的变量。处理有关液位值的显示和液位变化的显示,选中存储罐下面的#######.###符号,然后双击鼠标左键,出下出现动画连接对话框,在这里选用“数值输出/模拟”,点击“模拟”按钮,弹出“模拟值输出”对话框,在表达式项内输入“LEVEL.PV”或是点击“变量选择”按钮,出现变量选择对话框,然后选择点名“LEVEL”,在右边的参数列表中选择“PV”参数,点击“选择”按钮,“表达式”项中自动加入了变量名“LEVEL.PV”。

 3、选中储罐后双击鼠标左键,出现如下图所示的动面连接对话框。

六、脚本动作

1. 选中“开始”按钮后双击鼠标左键,出现动画连接对话框,选择“触敏动作/左键动作”按钮。单击“左键动作”按钮,弹出脚本编辑器对话框选择“按下鼠标”事件,在脚本编辑器里输入“RUN.PV=1”;如下图所示,这个设置的意思是当在运行界面按下“开始”按钮后,变量RUN.PV的值被设成1,相应地PLC中的程序被启动运行。

同样,下面定义“停止”按钮的动作。在脚本编辑器里输入“RUN.PV=0”;这个设置的意思是,当鼠标按下“停止”按钮后,变量RUN.PV的值被设成0。设备PLC1中的程序就会停止运行。在动画连接过程中,系统可以自动引用到的数据库变量,引用完后,如果要看这些变量,可以激活导航器中“变量”出现,可以看到在上面工程中所引用的所有数据库变量:LEVEL.PV、IN_VAVLE.PV、OUT_VAVLE.PV和RUN.PV,它们全部由系统自动创建。

 2. 工程的逻辑控制过程要由脚本来完成,在力控的开发系统中,导航器/动作/条件动作或应用程序动做中写入下列脚本程序:

if RUN.PV==1 thenif LEVEL.PV<=3 then IN_VALVE.PV=1; OUT_VALVE.PV=0; endifif LEVEL.PV>=100 thenIN_VALVE.PV=0; OUT_VALVE.PV=1; endif endifif RUN.PV==0 thenIN_VALVE.PV=0;OUT_VALVE.PV=0;endif

七、运行

点击左边“全部编译”后,右边“运行”。

设置运行初始启动窗口。左侧导航栏点击“系统配置”,进入“系统配置/初始启动窗口”,点击添加,选中窗口后确认,运行时可默认直接打开此窗口,不需要进行选择。

 

 

 

 

 

这篇关于力控学习笔记(一)储存罐液位监控示例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/405826

相关文章

MySQL 8 中的一个强大功能 JSON_TABLE示例详解

《MySQL8中的一个强大功能JSON_TABLE示例详解》JSON_TABLE是MySQL8中引入的一个强大功能,它允许用户将JSON数据转换为关系表格式,从而可以更方便地在SQL查询中处理J... 目录基本语法示例示例查询解释应用场景不适用场景1. ‌jsON 数据结构过于复杂或动态变化‌2. ‌性能要

Python实现MQTT通信的示例代码

《Python实现MQTT通信的示例代码》本文主要介绍了Python实现MQTT通信的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 安装paho-mqtt库‌2. 搭建MQTT代理服务器(Broker)‌‌3. pytho

Java中Arrays类和Collections类常用方法示例详解

《Java中Arrays类和Collections类常用方法示例详解》本文总结了Java中Arrays和Collections类的常用方法,涵盖数组填充、排序、搜索、复制、列表转换等操作,帮助开发者高... 目录Arrays.fill()相关用法Arrays.toString()Arrays.sort()A

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

Spring Boot中的路径变量示例详解

《SpringBoot中的路径变量示例详解》SpringBoot中PathVariable通过@PathVariable注解实现URL参数与方法参数绑定,支持多参数接收、类型转换、可选参数、默认值及... 目录一. 基本用法与参数映射1.路径定义2.参数绑定&nhttp://www.chinasem.cnbs

Spring StateMachine实现状态机使用示例详解

《SpringStateMachine实现状态机使用示例详解》本文介绍SpringStateMachine实现状态机的步骤,包括依赖导入、枚举定义、状态转移规则配置、上下文管理及服务调用示例,重点解... 目录什么是状态机使用示例什么是状态机状态机是计算机科学中的​​核心建模工具​​,用于描述对象在其生命

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定