力控监控组态软件——工程组态 点击:216 | 回复:0



robingsion

    
  • [版主]
  • 精华:20帖
  • 求助:71帖
  • 帖子:1936帖 | 3670回
  • 年度积分:936
  • 历史总积分:54944
  • 注册:2011年4月11日
发表于:2019-10-25 08:31:17
楼主

定义外部设备及数据连接项介绍

在项目应用中,常常需要将硬件设备上的数据采集到上位机,在上位机对数据进行处理,如绘制曲线,形成报表等,通常我们把这些硬件设备叫做数据提供者,数据提供者主要包括:PLCUPS、变频器、智能仪表、智能模块、板卡、DDEServerOPCServer等,这些设备一般通过串口和以太网等方式与上位机交换数据。

在力控中,把需要与力控组态软件交换数据的设备或者程序都叫做物理I/O设备,每个物理I/O设备都有其遵循的通讯协议,力控根据这些设备的通讯协议定制出相应的I/O驱动程序,要采集数据须根据设备型号选择正确的I/O驱动程序在力控中定义一个逻辑I/O设备与物理I/O设备对应,力控才能通过数据库变量和这些物理IO设备进行数据交换。

下面以力控的仿真设备和西门子S7-200为例介绍如何定义I/O设备。

l  如果没有硬件设备,那么可参照仿真设备来学习力控的使用;

l  在真实工程中的实现过程,与西门子s7-200的例子类似。


力控仿真设备

1)打开开发环境的工程项目导航栏如图


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


双击“Simulator(仿真)”出现如下图所示的“设备配置-第一步”对话框,在“设备名称”输入框内键入一个自定义的名称,这里输入“dev”(大小写都可以)。接下来要设置dev的采集参数,即“数据更新周期”和“超时时间”。在“数据更新周期”输入框内键入1000毫秒。


注意事项:

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

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

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

现在要记住,我们创建了一个名为“dev”的I/O设备,下面将要介绍如何使用它建立数据库点并设置IO数据连接项IOLink。

 

建立数据库点并设置IOLink

在建立数据之前,先介绍一下工程的情况,本工程是一个锅炉水位的监控,要实现的功能是:

在力控的组态界面,通过逻辑设备dev仿真硬件设备,仿真出一个锅炉供水系统,系统的水泵分为自动档和手动档控制。

在自动档时,水泵是由锅炉中的水位进行控制,当水位低于锅炉总水位的10%时将自动启动水泵,当水位高于锅炉总水位的90%时将自动停止水泵;在手动档时,水泵由手动开关控制。

锅炉的水位与水泵的开/关和锅炉的出水阀的开/关有关:当水泵开时,水位将上升;当水泵关时,水位将保持。当出水阀门开时水位将下降;当出水阀门关时,水位将保持。

根据这样的项目情况,可以确定该项目数据点有:


创建数据库点的步骤:

在工程项目导航栏中,双击“数据库组态”启动组态程序DBManager(如果没有看到导航栏窗口,可通过菜单命令“查看—>工程项目导航栏激活”)。

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

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

选择“模拟I/O点”,然后双击该点类型,出现如下图所示的对话框,在“点名(NAME)”输入框内键入点名“AI1”。

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

按如上所述步骤,创建数字I/O点“DO1 ”、“DO2”、“DO3”、“DO4”,创建后的点见图


创建数据连接项

在前面创建了一个名为“dev”的I/O设备,现在的问题是如何将已经创建的5个数据库点与dev设备中的数据项联系起来,以使这5个点的PV参数值能显示当前的数据值,这个过程就是建立数据连接项的过程。由于数据库可以与多个I/O设备进行数据交换,所以必须指定哪些点与哪个I/O的哪个数据项设备建立数据连接。

双击数据库中点AI1的单元格,选择“数据连接”选项或双击AI1所对的“数据连接”选项,然后在“设备”里选择dev,单击“增加”按钮,详见下图:

寄存器地址:例中设成0,寄存器地址有唯一性,不能与其他同类型寄存器数据的地址重复。

最大值和最小值的设置根据水位信号的量程来设置,例子里水位的量程是0-100

配置完以上数据就可以点击“确定”按钮完成设置了,如下图所示:

接下来按照以上步骤配置其它4个参数,其它配置都基本相同。配置完后见图


外部设备编程

在本例中,使用的是力控的仿真驱动程序(Simulator),并不是真实的硬件,因此,为了实现锅炉的控制逻辑,在“应用程序动作”中实现,以达到逻辑控制仿真的效果。

具体步骤如下:

1)  双击“工程项目导航栏”中“动作”下的“应用程序动作”,弹出脚本编辑器对话,在进入程序中,输入下列程序语句:

//状态清零

AI1.PV=0;

DO1.PV=0;

DO3.PV=0;

DO4.PV=0;



2)程序运行周期执行

在程序运行周期执行中,输入下列编程语句:

//手动档

//进水

IF DO3.PV==0 && DO4.PV==1 && AI1.PV<100 THEN

AI1.PV=AI1.PV+10;

ELSE

ENDIF

//放水

IF DO3.PV==0 && DO1.PV==1 && AI1.PV>0 THEN

AI1.PV=AI1.PV-10;

ELSE

ENDIF

IF DO3.PV==0 && DO4.PV==DO1.PV THEN

AI1.PV=AI1.PV;

ELSE

ENDIF

//自动档

IF DO3.PV==1 && AI1.PV<10 THEN

DO2.PV=1;

DO1.PV=0;

ELSE

ENDIF

IF DO3.PV==1 && AI1.PV>90 THEN

DO2.PV=0;

DO1.PV=1;

ELSE

ENDIF

IF DO3.PV==1 && DO2.PV==1 && DO1.PV==0 THEN

AI1.PV=AI1.PV+10;

ELSE

ENDIF

IF DO3.PV==1 && DO2.PV==0 && DO1.PV==1 THEN

AI1.PV=AI1.PV-10;

ELSE

ENDIF


1分不嫌少!


楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师