InTouch的应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

InTouch的应用

作者:佚名

【IT863 资讯】本文介绍的是InTouch在南通醋酸纤维有限公司《动力工段自控系统改造》项目中的应用。

1. 系统简介

《动力工段自控系统改造》项目是对南纤公司原有动力工段的自控系统进行改造和优化。目标是充分利用原有软硬件资源,用最少的投入获得高效、安全的系统性能。

原动力工段包括:化水车间、冷冻空压车间(简称动力车间)、软水站及一二泵房车间,各自拥有自己的控制室。改造前,化水车间已采用了一套SIEMENS TI545 PLC 和两台全点的INTOUCH 操作站实现监控,泵房车间也已采用了一套SIEMENS TI545 PLC 和两台256 点的INTOUCH 操作站实现监控,动力车间除5 台压缩空气干燥器采用GE 90-30PLC 控制外其余设备的监控均用盘装仪表实现。原动力工段系统结构如下图所示。

改造前的系统结构

系统改造后,泵房车间和动力车间由原泵房车间的SIEMENS TI545 PLC 控制(需增加一些卡件),化水车间在原系统基础上增加一些功能。将原有的两台全点INTOUCH 和一台256 点INTOUCH 移入新设的集中控制室,实现三个车间的集中监控,在化水车间设一台256 点INTOUCH 操作站,供现场巡回检查时使用。

同时系统通过一台新设的数据及Web 服务器与公司管理网连接,公司和工段管理者可通过公司区域网获取生产过程的数据和报表。

改造后的系统结构

2.系统功能及特点

2.1冗余的总线及操作站

系统包含2 台全点的INTOUCH(SERVER1、SERVER2)和2 台256 点的INTOUCH(CLIENT1、CLIENT2),SERVER1、SERVER2 分别通过各自的TIWAY 卡与化水、泵房的PLC 构成两条冗余的TIWAY 总线。CLIENT1、CLIENT2 则通过远程变量访问某台全点INTOUCH 上的数据从而实现对现场的监控。通常CLIENT1、CLIENT2只与SERVER1、SERVE2 中的一台通讯,当发生通讯故障时会自动尝试与另一台SERVER 连接。INTOUCH 中的“通讯状态”画面显示了各工作站、PLC 及总线的当前状态。

图中红线表示操作站在线,黑色表示离线。在CLIENT1、CLIENT2 的“通讯状态”画面中,工程师可以手动切换CLIENT 与SERVER 的连接。

2.2“瘦”操作站模式

256 点的CLIENT 通过远程变量访问全点的SERVER 从而访问PLC,这样CLIENT的变量配置不超过256点。同时系统运用了“分布式报警”和“分布式历史趋势”等功能,所有的报警记录及历史趋势都存储在全点的SERVER上,CLIENT上显示的报警和历史趋势是从SERVER上获得的。可以说,SERVER充当了INTOUCH 服务器而CLIENT是一个INTOUCH 客户端,只需较低的配置即可。当切换SERVER时,“分布式报警”和“分布式历史趋势”也跟着自动切换。

1.“分布式报警”的设置

在INTOUCH 组态中需用“分布式报警”控件,在控件的报警查询栏中输入“//SERVER1/INTOUCH!DONGLI”,SERVER1 为缺省连接的计算机名,DONGLI 表示INTOUCH 中的DONGLI 报警组(报警组包括DONGLI、HS)。在SERVER 的计算机属性需选中“本机将提供报警”;而在CLIENT 的计算机属性中需选中“本机将显示报警”。运行时CLIENT 将通过函数切换与SERVER 的连接。

为了统一报警设置,我们将报警做在PLC 的报警模块中通过对PLC 变量“AHA(报警上限)、AHHA(报警上上限)、ALA(报警下限)、ALLA(报警下下限)、APV(报警过程值)、AVF(报警状态字)”的读写来判断和设置报警。有报警发生时,只有SERVER 会将报警信息写入报警记录,SERVER2 在写报警信息前先判断SERVER1是否在运行,以免重复写入。

2.“分布式历史趋势”的设置(以SERVER1 为例)

在SERVER 的INTOUCH 组态中需将历史数据的存放路径设为INTOUCH 默认路径。CLIENT 的INTOUCH 组态需在“分布式名称管理器”中的“分布式历史”里添加一项,供应器名称为“SERVER1”,路径为“//SERVER1/D/NCFC2000S1”(工程路径)即可。在CLIENT 中访问SERVER1 的历史数据需写成

“SERVER1.TAGNAME”。SERVER2 的设置与SERVER1 相同。

3.远程变量的引用

在CLIENT 上使用远程变量只需在变量名前加计算机名即可,无需在标记名字典中新建变量,所以不占点数。(SERVER:TAGNAME)

4.自动切换功能

CLIENT 通过远程变量观察SERVER 上的$Second 变量,若它在在一段时间内无变化则表明与SERVER 的连接出现问题,这时可通过SetAccessName 函数将CLIENT 上的远程变量切换到另一台SERVER 上。

2.3公用的操作窗口

系统中对于具有相同操作接口设备使用了公用的操作窗口,而不是对应每个设备都创建一个操作窗口,这样大大减少了窗口的数量。实现它需要用到间接变量,可以将间接变量看作一个指针,当对某个设备操作时,利用间接变量指向操作变量,这样,对间接变量的赋值就会作用到操作变量上,操作变量的变化也会反应到间接变量上。

以过滤水泵为例,在过滤水处理系统中,点击3#过滤泵,弹出操作窗口,如下图所示:

3#过滤泵的操作变量为“RUN-3#GLB(启动)”、“STOP-3#GLB(停止)”、“RL-3#GLB(反馈)”、“AUTO-3#GLB(自动)”、“REPAIR-3#GLB(检修)”点击过滤泵时执行语句:

DL_=RUN-3#;

DL_=STOP-3#;

DL_ = RL-3#;

= AUTO-3#;

DL_=REPAIR-3#;

“DL_XXX”为间接变量。在操作窗口中只需对间接变量赋值即可。例如在“启动”按钮的动作属性中写到:

IF DL_<>"NULL" AND DL_<>"NULL" THEN

DL_START=1;

DL_STOP=0;

Record=DL_ment;

SQLInsert( ConnectionId, "CortrolLog", "CortrolLog" ); //写操作纪录

ELSE

IF DL_ = = "NULL" THEN

DL_STOP=0;

Record=StringLeft( DL_ment, StringLen( DL_ment )/2 );

SQLInsert( ConnectionId, "CortrolLog", "CortrolLog" );

ELSE

DL_START=1;

Record=StringLeft( DL_ment, StringLen( DL_ment )/2 );

SQLInsert( ConnectionId, "CortrolLog", "CortrolLog" );

相关文档
最新文档