DDESuiteLinkClient Object

合集下载

Wonderware OPC组件使用

Wonderware OPC组件使用

Wonderware的FSGateWay做为一个免费驱动可以提供OPC协议(OPC Server和OPC Client)、SuitLink协议和DDE/FasteDDE协议,并且是Wonderware提供完全免费的软件,同时FsGateway支持SuiteLink协议,可以在C#中调用SuiteLink对FSGateWay中数据进行监测,便于系统的集成,下边将分别介绍使用:一、做为OPC Client① 安装FSGateWay:安装好FSGateWay后(安装过程类似其他DAServer驱动,在此不再赘述),在DAServer中即可看到FSGateWay,无论是否含有DAServer的授权,FSGateWay都是完全授权版的,如下图所示:免费授权的FSGateWay② 添加OPC Object:在Configuration中右键添加OPC Object,点击右侧栏中的Server Name对话框添加OPC Server为凯普华,如下图所示:添加OPC Object③ 添加OPC Group:在OPC Object上右键添加OPC Group,在弹出的窗体中点击“Browse OPC Items”,在弹出的OPC ItemBrowser中选择需要FSGateWay中转的Items,如下图所示:OPC Items Browser选择Items右键选择“Add to Basket”在 OPC Item Browser中点击“OK”后,FSGateWay的Device Items显示已经选择好的Items④测试FSGateWay搭建的OPC Client:用OPC 标准客户端进行测试,同样由于FSGateWay提供SuiteLink协议接口,所以我们同样可以利用wwclient进行测试,测试效果如下图所示:注意:wwclient测试时,Topic应该设置为在DAServer中设备组名称,Item设置为设备Items内名称二、做为OPC Server让第三方软件访问Intouch① 安装FSGateWay:安装好FSGateWay后(安装过程类似其他DAServer驱动,在此不再赘述),在DAServer中即可看到FSGateWay,无论是否含有DAServer的授权,FSGateWay都是完全授权版的,如下图所示:免费授权的FSGateWay② 添加Intouch Object:在Configuration中右键添加Intouch Object,点击右侧栏中的Item Browse Path对话框添加intouch项目所在路径,如下图所示:添加Intouch Object③ 添加Intouch Object Group:在Intouch Object上右键添加Intouch Object Group,在弹出的窗体中点击“Tag Browser”,在弹出的TagBrowser中选择需要FSGateWay中转的Items(必须保证这个Intouch项目已经运行),如下图所示:IntouchGroup双击选择的ItemsFSGateWay的Device Items显示已经选择好的Items④测试FSGateWay搭建的OPC Client:用OPC 标准客户端进行测试,测试效果如下图所示:三、Intouch做为数据源配置FSGateWay① 安装FSGateWay:安装好FSGateWay后(安装过程类似其他DAServer驱动,在此不再赘述),在DAServer中即可看到FSGateWay,无论是否含有DAServer的授权,FSGateWay都是完全授权版的,如下图所示:免费授权的FSGateWay② 添加Intouch Object:在Configuration中右键添加Intouch Object,并重命名为ITTest,点击右侧栏中的Item Browse Path对话框添加intouch项目所在路径,如下图所示:添加Intouch Object③ 在Intouch Object界面上点击“Tag Browser”,在弹出的TagBrowser中选择需要配置的Items(必须保证这个Intouch项目已经运行),如下图所示:双击选择的ItemsFSGateWay的Device Items显示已经选择好的Items④测试FSGateWay搭建的OPC Client:用OPC 标准客户端进行测试,同样由于FSGateWay提供SuiteLink协议接口,所以我们同样可以利用wwclient进行测试,测试效果如下图所示:测试效果如下图所示:注意:wwclient测试时,Topic应该设置为在DAServer中设备组名称,Item设置为设备Items内名称四、DAServer作为数据源配置FSGatewayFSGateway作为DAServer的交互通道,获取DASever其他驱动的数据,进而利用OPC协议提供给第三方系统,具体操作步骤如下:① 利用DAServer的三菱FX串口驱动DASMTFXSerial,建立DAServer与FX2N通信通道② 在DASMTFXSerial中建立设备组(Device Groups),注意此处定义的设备组名称(Topic0)要在FSGateway中使用,确定后MTFXSerial侧建立完成③ 在FSGateway的配置中新增SuiteLink Object:E10_SuiteLink,配置Server Name为提供数据源的DAServer驱动,本例是三菱FX驱动DASMTFXSerial,配置Server Node为提供数据源的DAServer所在的服务器IP地址,本例中DASMTFXSerial与FSGateway在同一台电脑上,因此可设置为localhost④ 在E10_SuiteLink右键新增Topic Object,注意此处的名称应与提供数据源的DAServer驱动中的设备名称一致,本例中卫Topic0,见上文②加黑部分⑤ 利用wwclient测试效果,首先建立Topic,注意此处的Topic是FSGateway的Suite_Link object与DASMTFXSerial的Topic的合体,即本例中的E10_SuiteLink_Topic0⑥ 在wwclient中建立Item,直接利用PLC地址即可监控到相关地址数据。

wonderware ide 培训的手册文档第11章

wonderware ide 培训的手册文档第11章

Lab 11 –Adding Auto Reconnect to DDESuiteLinkClientIntroductionIn this lab, you will configure the $gDDESuiteLinkClient to automatically reconnect to the data source when the connection is lost. You will do so by extending the objects with UDAs with scripts.Using a UDA/script combination, you will also add additional diagnostic information that will indicate the number of disconnects the object has experienced since it last went on scan.ObjectivesUpon completion of this lab, you will be able to:Create scripts in an objectCreate scripts with multiple execution typesAdd reconnect functionality to the $gDDESuiteLinkClient objectAdd the Auto Reconnect FunctionalityIn the following steps, you will create a script that will automatically reconnect to the data source when the connection is lost.1.In the Template Toolbox,Global toolset, double-click $gDDESuiteLinkClient to open theconfiguration editor.2.On the Scripts tab, click the Add Script button. the new script Reconnect and press Enter.4.Configure the Reconnect script as follows:Aliases:lockedDeclarations:lockedScripts: Execution type:Execute(default) and lockedBasics lockedExpression: Me.Connectionstatus<>2Trigger Period:00:00:05.0000000Script body Me.Reconnect=true;This script will attempt to reconnect every 5 seconds when not connected to the data source.Now, you will validate the script syntax by using the Validate feature. If the script has a syntax error, it will appear in the yellow bar just above the script body area.5.To the right of the Execution type drop-down list, click the Validate button.6.In the UDAs tab, click the Add button.7.Rename the new UDA t and press Enter.8.Configure the t UDA as follows:Data type:IntegerCategory:Calculated9.In the Scripts tab, click the Add button. the new script Disconnect.Monitor and press Enter.11.Configure the Disconnect.Monitor script as follows:Aliases:lockedDeclarations:lockedScripts: Execution type:Execute(default) and lockedBasics lockedExpression: Me.Connectionstatus<>2Trigger type:OnTrueScript body t=t+1;This script will increase a counter by one every time the condition is true.12.Click the Validate button.You will now add code within the same script under a different execution type that will run when the object goes on scan.13.While still in the Disconnect.Monitor script, change the Execution type to OnScan.14.In the script body, type t=0;.This script will reset the counter to zero every time the object goes on scan.15.Save and close the configuration editor.16.In the Comment field of the Check In dialog box, type Reconnect script and click OK.17.When the Check In progress displays Object 1 or 1 completed, click Close.18.Redeploy PLCSim, leaving the default options.19.When the Deploy progress displays 100% completed, click Close.View the Scripts in RuntimeNext, you will use Object Viewer to view the runtime data of the scripts.20.In the Deployment view, right-click PLCSim and select View in Object Viewer.21.Click on the PLCSim tab.Add the following attributes to the watch window:tDisconnect.Monitor.ExecutionCntReconnect.ExecutionCnt22.Save the watch window.Note:Your instructor will now disconnect your connection to the Device Integration server, and then reconnect the connection so that you can observe the behavior.Your Watch List now displays that there was a disconnect, but the connection has been restored.。

PLC与intouch之间通讯经典教程

PLC与intouch之间通讯经典教程

Browse OPC ItemBrowse OPC I点t击em这Br个ow按se钮OP,C 会It出em现Br一ow个se浏览OPC服务器的对话框, O通P过C 拖It拽em操作可以进行标签登录。
选中拖入的标签,然后点击下方的
,出现一个
在Itemname中默认,不要填写任何就可以,直接点ok,添加完成后,回到前面,点击device items中就会出现选择好的标签名, 然后双击选中一个名字,复制,在下面的与intouch链接中需要用到
12. 关闭关闭关闭关闭MelsecEthernet ,于Takebishi.MelsecEthernet.1上按下鼠标右键,选到
Deactivate Server 就可以关闭Daserver .
整体架构如下图整体架构 如下图整体架构如下图整 体架构如下图:
二.以IAS OPC Client来联机的步骤:
4. 在点选红框处的”+”,新增Item .
5. 再点选红框处的”…” ,可以进入OPCServer Browser 6. 点选路径(MELSECA\PLC_Q),选到Item (D0).
7. 鼠标左键点到D0,不要放开再拖到Basket 窗口再放开鼠标左键,再按OK钮. 8. 再将Attribute 改成你要的Name .
2. 新建一个标记名 myTag1 类型必须为 I/O型, 其访问名为 myExcel 项目为r1c1 (即访问第一行第一列单元格) 这样,这个TAG就可和你的EXCEL动态交换了 我不知道TAG就和EXCEL进行动态交换了,它们动态交换有何特征呀,有何显示, 你怎样才能知道它们在动态交换呀? 我是先启动InTouch在启动EXCEL的.各位大虾请指教.
2、 OPCLink中的配置

DDE使用方法完整版

DDE使用方法完整版

DDE使用方法完整版DDE(动态数据交换)是一种微软开发的机制,用于在Windows操作系统中的应用程序之间共享数据和命令。

DDE的使用方法有很多,下面将介绍一些常见的DDE使用方法。

首先,DDE有两种角色,分别是DDE服务器和DDE客户端。

DDE服务器通常是提供数据或命令的应用程序,而DDE客户端则是接收并处理这些数据或命令的应用程序。

在使用DDE之前,首先需要确保已经创建了DDE通道。

可以通过在应用程序中调用DdeInitialize函数来创建DDE通道。

DdeInitialize函数接受一个指向DDEML实例的指针,以及一个回调函数的指针作为参数。

回调函数用于处理DDE事件和消息。

接下来,可以使用DdeCreateStringHandle函数创建DDE字符串句柄。

DDE字符串句柄用于标识应用程序中的字符串,以便在DDE通信中引用它们。

DdeCreateStringHandle函数接受一个DDEML实例的指针、应用程序标识符(APPID)和要创建句柄的字符串作为参数,并返回一个句柄。

一旦创建了DDE字符串句柄,就可以使用DdeConnect函数建立与DDE服务器的连接。

DdeConnect函数接受一个DDEML实例的指针、DDE字符串句柄、DDE服务器的应用程序标识符和连接ID作为参数,并返回一个连接句柄。

连接ID是一个用于标识连接的唯一数值。

建立与DDE服务器的连接后,可以使用DdeClientTransaction函数进行数据交换。

DdeClientTransaction函数接受一个连接句柄、一个数据句柄(用于标识要发送的数据)、一个字符串句柄(用于标识要发送的命令)、一个服务标识符和一个事务标识符作为参数,并返回一个事务标识符。

要接收DDE服务器发送的数据或命令,可以在回调函数中处理DDE事件。

使用DdeGetData函数可以获取从DDE服务器接收到的数据。

DdeGetData函数接受一个连接句柄、一个数据句柄、一个接收缓冲区和一个缓冲区大小作为参数,并返回接收到的数据的长度。

Wonderware_培训资料

Wonderware_培训资料

System Platform
Module 1: Introduction
Contents
Section 1: Course Introduction Section 2: Wonderware System Platform Lab 1 – Creating a Galaxy Section 3: The ArchestrA IDE Section 4: Automation Objects Section 5: System Requirements, Licensing and Support Section 6: Application Planning Lab 2 – Identifying the Mixer
Course Objectives
• Understand the ArchestrA® technology and how it is applicable to the plant floor environment. • Become familiar with developing objects and instances configuring applications using the Integrated Developing Environment. • Be able to troubleshoot applications in a standalone and networked environment.
ArchestrA IDE and AutomationObject Server Minimum CPU RAM Single-Core 2 GHz 1Gb All Systems Minimum Hard Drive Display 30Gb available SVGA (1024x768) Recommended Single-Core 2 GHz 4Gb

Intouch访问Quantum的方法总结

Intouch访问Quantum的方法总结

I n t o u c h访问Q u a n t u m的方法总结标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-Intouch访问Quantum的方法总结实验环境,intouch sp1 + Unity Quantum 67160本实验涉及到的INTOUCH和MBENET,DASERVER以及OPC SERVER均安装在同一台计算机上。

方法一:MBENET这是最有效的方法,采用INTOUCH提供的IO SERVER,MBENET,用户可以很方便的访问QUANTUM PLC,以下是具体的步骤:1.打开MBENET,配置TOPIC NAME, IP ADDRESS等等的信息,见下图;2.打开NTOUCH,进入开发版的画面,建立ACCESS NAME,注意,应用程序名为MBENET,TOPIC NAME 一定要与第一步的TOPIC NAME相同,ACCESS NAME推荐和TOPIC NAME相同,但是也可以不相同!见下图;3.在intouch中建立标记名,注意,标记名的ACCESS NAME设置成第2步的ACCESS NAME,ITEM填入6位寄存器地址,注意,INTOUCH不支持QUANTUM 的平面寻址、拓扑寻址和IO DDT寻址。

详细信息参见MBENET用户手册。

见下图。

方法二:DASMBTCPINTOUCH访问DASERVER,利用DASERVER的DASMBTCP组件轮询PLC硬件,INTOUCH利用DDE/SUITELINK访问DASMBTCP的方法完成对QUANTUM数据的读写;以下是配置的具体步骤;1.打开INTOUCH 的SYSTEM MANAGEMENT CONSOLE(SMC),找到,在CONFIGURATION下依次建立PORT0和TSX QUANTUM对象Quantum0;见下图;2.在Quantum0中,填写IP ADDRESS,同时增加一个Device Group,起名为test1,在test1中增加进要采集的数据(对于批量数据,可以用csv文件进行数据导入),最后,激活;见下图;3.在intouch 中建立ACCESS NAME,在APPLICATION NAME中填写DASMBTCP,TOPIC NAME中填写第2步的Device Group名,本例中为test1,ACCESS NAME推荐和TOPIC NAME相同,但是也可以不相同!见下图;4.在intouch中建立标记名,注意,标记名的ACCESS NAME设置成第3步的ACCESS NAME,Item中填写第2步中的定义的名称,另外,也可以填写进6位寄存器地址。

MES项目交流介绍(Invensys的软件解决方案)


支持多种KPI分析方式及组态展现
支持中心式监控墙展现
IPS Confidential
3
IOM生产运营管理MES系统技术
特点
统一命名空间的全企业应用集成 基于OO SOA架构的开发和维护 过程控制系统PCS的接口方案 实时数据库以及数据分析、报表应用

可靠性(系统冗余解决方案)
21
由ERP系统控制——事务驱动
未能完全满足需求——瓶颈
由PCS系统控制——过程驱动
DCS/PLC/RTU/ESD/SCADA
工艺设备 无线设备 测量计量 仪器仪表 实验室设备
底层设备/自动化系统
结果: 经营计划的和实际生产能力脱节
在PCS和ERP之间需要大量的运行管理功能
企业资源计划(ERP)
财务 人力资源 供应链管理 集成解决方案 可选项

14
整体框架及设计原则
英维思工厂生产运营 MES 工厂生产运营 MES系统解决方案整体框架 系统整体框架 工厂生产运营MES系统设计原则
系 统
ERP
系 统

先进性和成熟性 高可靠性、高可用性、高 维护性 规范性和数据一致性 开放性和互联性 可伸缩性和可扩展性
关系数据库 关系数据库

数据流 数据流
命名空间2
客户端必须对2号标记名服务器寻址
IOM的MES体系结构 --采用统一命名空间 IAE体系结构 ——统一的命名空间
工作站 工作站 工作站 工作站 工作站 工作站 工作站 工作站 工作站 工作站
IAE节点
IAE节点
•一个命名空间——客户不需要知道标记名/对象位于何处 •节点可轻松地按照负载需要添加 •客户机服务器的优点+分布式体系结构

dde通讯协议解析

dde通讯协议解析
DDE(动态数据交换)是一种用于在Windows操作系统中进行应用程序间通信的协议。

它允许应用程序共享数据并在数据发生变化时相互通知。

DDE协议的核心概念是“主题”和“项目”。

主题是数据的提供者,而项目是提供的实际数据。

DDE协议通过建立通道和发送消息来实现数据交换。

在DDE通讯协议中,有两种角色,客户端和服务器端。

服务器端负责提供数据,而客户端则负责请求数据或者接收数据变化的通知。

当客户端需要获取数据时,它会向服务器端发送请求,服务器端则会响应并提供相应的数据。

而当数据发生变化时,服务器端会发送通知给客户端,告知数据的变化情况。

DDE协议的优点之一是其简单易用,它可以让不同的应用程序之间共享数据,从而实现数据的集成和交互。

然而,DDE协议也存在一些局限性,比如安全性较差、性能不佳以及在网络环境下的可靠性问题。

随着技术的发展,DDE协议逐渐被更先进的通讯协议所取代,比如COM(Component Object Model)、OLE(Object Linking and
Embedding)和最近的WebSocket等。

这些新的通讯协议在性能、安全性和可靠性方面都有所提升,因此在实际开发中更常被使用。

总的来说,DDE通讯协议是一种用于在Windows系统中进行应用程序间通信的协议,它通过主题和项目的概念实现数据的共享和交互。

尽管在一些特定场景下仍然有其用武之地,但随着技术的不断发展,它逐渐被更先进的通讯协议所替代。

wonderware ide 培训的手册文档第2章

Lab 2 –Creating Global Derived TemplatesIntroductionIn this lab, you will create derived templates from base templates using the ArchestrA IDE. These derived templates will be used throughout the remainder of the class to develop the sample application. You will then organize the templates into template toolsets. You will then hide the template toolsets that contain the base templates to ensure that instances are not created from base templates.ObjectivesUpon completion of this lab, you will be able to:Create a new template toolset to organize templatesCreate a derived templateHide a template toolsetCreate the Template ToolsetsIn the following steps, you will create template toolsets to help organize the templates that you will create.1.In the Template Toolbox, right-click TrainingGalaxy and select New Template Toolset.2.Rename the new toolset Training.Note: The Rename feature can be found by right-clicking the folder or object.You will now create template toolsets in the Training template toolset.3.Right-click the Training toolset and select New Template Toolset.4.Rename the new toolset Global.5.Repeat Steps 3&4and rename the new toolset Working.Create the Derived TemplatesFor the remainder of this lab, you will create derived templates and organize them in the template toolsets that were just created.6.Expand the Device Integration toolset by clicking on the plus icon to the left of the templatetoolset.7.Right-click $DDESuiteLinkClient and select New | Derived Template.8.Rename the new derived template $gDDESuiteLinkClient.9.Repeat Steps 7&8three times to create three more new derived templates from the following basetemplates:The Template Toolbox now displays all four new derived templates in the Device Integration template toolset.10.Drag and drop the four new derived templates into the Global toolset.11.Expand the System template toolset.12.Create four new derived templates from the following base templates:The Template Toolbox now displays the four new derived templates in the System template toolset.Note: You will not create a derived template from $InTouchViewApp, because it is a special object that does not accept second level derivation.13.Drag and drop the four new derived templates and the $InTouchViewApp object to the Globaltoolset.To ensure that instances are not created from base templates, you will hide the Device Integration and System template toolsets. Going forward, you will only use the Application and Training template toolsets.14.Right-click on the Device Integration template toolset and select Hide.15.Repeat Step 14to hide the System template toolset.Your Template Toolbox now displays the organization as seen below.-This page intentionally left blank -。

组态软件的一般结构

组态软件的一般结构(1)应用程序管理器应用程序管理器是提供应用程序搜索、备份、解压缩和建立新应用等功能的专用管理工具。

自动化工程设计工程师在应用组态软件进行工程设计时,经常会遇到一些问题:经常需要进行组态数据的备份,需要引用以往成功的应用项目中的部分组态成果(如画面),还需要迅速了解计算机中保存了哪些应用项目。

虽然这样要求可以用手工方式实现,但是效率低下,极易出错。

有了应用程序管理器,这些操作变得非常简单。

(2)图形界面开发程序图形界面开发程序是自动化工程设计工程师为实施其控制方案,在图形编辑工具的支持下进行图形系统生成工作所依赖的开发环境。

通过建立一系列用户数据文件,生成最终的图形目标应用系统,供图形运行环境运行时使用。

(3)图形界面运行程序在系统运行环境下,图形目标应用系统图形界面运行程序装入计算机内存并投入实时运行。

(4)实时数据库系统组态程序有的组态软件只在图形开发环境中增加了简单的数据管理功能,因而不具备完整的实时数据库系统。

目前比较先进是组态软件都有独立的实时数据库组件,以提高系统的实时性,增强处理能力。

实时数据库系统组态程序是建立实时数据库的组态工具,可以定义实时数据库的结构、数据来源、数据链接、数据类型以及相关的各种参数。

(5)实时数据库系统运行程序在系统运行环境下,目标实时数据库及其应用系统被实时数据库系统运行程序装入计算机内存并执行预定的各种数据计算、数据处理任务。

历史数据的查询、检索和报警的管理都是在实时数据库系统运行程序中完成。

(6)I/O驱动程序I/O驱动程序是组态软件中必不可少的组成部分,用于和I/O设备通信,互相交换数据。

DDE和OPC Client是两个通用的标准I/O驱动程序,用来与支持DDE标准和OPC标准的I/O设备通信。

多数组态软件的DDE驱动程序被整合在实时数据库系统或图形系统中,而OPC则多数单独存在。

组态软件选型目前,业内使用较多的,产品较为稳定的有四种组态软件,分别是:Cimplicity、iFIX、InTouch、WinCC。

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

DDESuiteLinkClient ObjectThe DDESuiteLinkClient object functions as the ArchestrA DDE/SuiteLink Client for third-party DDE Servers and Wonderware™ I/O Servers through DDE and SuiteLink protocols.For more information, click on a Help topic.∙Overview∙Run-Time Behavior∙Configuration∙Run-Time Object AttributesOverviewThe DDESuiteLinkClient object is a key member of the core set of AutomationObjects within the ArchestrA system infrastructure. The DDESuiteLinkClient object is a DeviceIntegration object that allows access to a running I/O Server. A DDE or SuiteLink I/O Server can provide data points to Galaxy application objects through the DDESuiteLinkClient object.Note The DDESuiteLinkClient object is compatible with all FactorySuite™ 2000 version I/O Servers and components.There is a one-to-one relationship between an instance of the DDESuiteLinkClient object and a running I/O Server. If you want to reference data points in more than one I/O Server, you must configure and deploy more than one DDESuiteLinkClient object. For example, you would need to configure one DDESuiteLinkClient object to communicate to an ABTCP I/O Server and another one to talk to the GEHCS I/O Server.When you configure the DDESuiteLinkClient object, you can specify one or more I/O Server topics to which access is required. At run time, all items that the Galaxy application requires for a specified topic will be updated with the latest values from the I/O Server. The rate at which the values are updated depends on how the topics were configured within the target I/O Server.If you want to connect to a DDE I/O Server, you will need to specify login information that the DDESuiteLinkClient object will use to connect to the I/O Server.From other objects and from scripts, you can reference the topics you configured for the DDESuiteLinkClient object. For example, you might configure the input source for a FieldReference object to reference an item for one of the topics. Thus, the FieldReference object input source would be receiving data from an I/O Server via the DDESuiteLinkClient object.To aid in rapid application development, you can create a list of topic items that will appear in the ArchestrA Attribute Browser. To do this, you will need to specify the item address and associate it with a user-defined attribute name (alias). Creating the item list is not required in order to reference data from the I/O Server.The reference syntax for a DDESuiteLinkClient object data point is:<objectname>.<topicname>.<itemname>OR<objectname>.<topicname>.<attributename>The <objectname> is the name that you choose to give to the DDESuiteLinkClient object.Each I/O topic for a DDESuiteLinkClient object is also known as a "scan group." Run-time object attributes allow you to monitor errors related to the data quality for item values in a scan group.Items in a scan group are “dynamic” in that they are create d or activated dynamically during run time.If the I/O Server provides time with value and quality (VTQ), the time stamp from the I/O Server is used to update the attribute. Otherwise, the current time provided by the hosting AppEngine is used. If the quality for a dynamic attribute changes, but the data value does not change, the current time provided by the hosting AppEngine is used. When a poke request is received for a BlockWrite item, the time stamp provided is used to update the attribute. Otherwise, the current time of the hosting AppEngine is used.For general information on objects, including relationships, deployment, and alarm distribution, see the Integrated Development Environment (IDE) documentation.For information on configuration options for object information, scripts, user-defined attributes (UDAs), or attribute extensions, click Extensions Help in the Help file header.Related TopicsRun-Time BehaviorConfigurationRun-Time Object AttributesTerminal Services or Remote Desktop ConsiderationsWhen configuring the DDESuiteLinkClient object for DDE, make sure that the DDE Server is started and running in the same session as the DDESuiteLinkClient object. One way to accomplish this is to configure the DDE Server to run as a service. You could also include the DDE Server in the Windows startup folder.Related TopicsConfigurationRun-Time BehaviorThe following information describes the run-time behavior of DDESuiteLinkClient objects. Run-time behavior is limited to the state of individual DDESuiteLinkClient objects.After it has been deployed and is operating, a DDESuiteLinkClient object can assume one of several states, which are described in the following table:Related TopicsOverviewConfigurationRun-Time Object AttributesConfigurationThe following section describes the object editor options for configuration and the associated attributes:∙General Configuration∙Topic ConfigurationFor general information on objects, including relationships, deployment, and alarm distribution, see the Integrated Development Environment (IDE) documentation.For information on configuration options for object information, scripts, user-defined attributes (UDAs), or attribute extensions, click Extensions Help in the Help file header.Related TopicsOverviewRun-Time BehaviorRun-Time Object AttributesGeneral ConfigurationUse the General tab to configure the I/O Server from which to retrieve data and to enable alarming for the data connection. For DDE I/O Servers, you can also configure the DDE login.Related TopicsConfigurationTopic ConfigurationUse the Topic tab to specify topics from which the DDESuiteLinkClient object will receive data.Related TopicsConfigurationRun-Time Object AttributesThe following table describes the run-time only attributes for the object.Note Configurable run-time attributes are described in the configuration sections. For more information, see Configuration.For a list of common object attributes, click Extensions Help in the Help file header.Related TopicsOverviewRun-Time BehaviorConfigurationAlarm AttributesIf an alarm attribute is enabled, then the following additional alarm attributes become available. None of these attributes can be alarmed.Related TopicsRun-Time Object Attributes© 2002-2008 Invensys Systems, Inc. All Rights Reserved.11/10/08Object ExtensionsUse object extensions to add functionality to an object while not altering its original behavior. Object extensions are common to all object configuration editors.For more information, click on a Help topic.•O verview•R un-Time Behavior•C onfiguration•R un-Time Object Attributes•M iscellaneous Object AttributesOverviewEach object's editor displays two sets of configuration options: common and custom. The common options are shown on the Object Information, Script, UDA, Extensions and Graphics tabs. The content of the custom tabs is dependent on the object's functionality.Note: Object extensions can be added to derived templates and object instances only. Base templates cannot be extended.All objects in the ArchestrA environment are comprised of a set of attributes that together produce unique functionality. As originally developed, each object's functionality is finite and usable in that state. You may want to increase an object's functionality, and the object extension editor options give you that flexibility. For more detailed information about extending the functionality of an object, see "Working with Object Extensions" in the Integrated Development Environment (IDE) documentation. To access this documentation within the IDE, on the Help menu, click Help Topics.Related TopicsRun-Time BehaviorConfigurationRun-Time Object AttributesRun-Time BehaviorRun-time behavior for an object extension depends on the type of extension being added to the object. Once an extended object is deployed and operating, the following behavior can be expected:Extension BehaviorScript For Startup, On Scan, Off Scan and Shutdown execution types, scripts executewhen those events occur for the object being extended. For the Execute executiontype, the script executes when the Expression, Trigger Type, Trigger Periodand/or Deadband values are satisfied within the context of the object's scanperiod. In other words, scripts cannot be triggered any faster than the scan periodof the engine upon which the script runs.UDA User-defined attributes are passive in nature. They follow the execution order and scan period of the object being extended.Input, Input/Output, Output, Alarm, History, and Boolean label Depending on the data type, existing attributes of an object can be extended by these extensions. They follow the execution order and scan period of the object being extended.See the "Run-Time Behavior" section of the object's custom editor Help file for more information about the run-time behavior of the object being extended. To open custom editor Help, click Configuration Help in the Help file header.Time Propagation for ExtensionsIf the input source supports a time stamp, the value, time stamp and quality (VTQ) is written to the extended attribute. If the input source does not support a time stamp, and if a get failure, data change, or quality change occurs, the value for the extended attribute is time stamped with the current time.If the quality of an output-extended attribute is GOOD or UNCERTAIN, any value change to the extended attribute is forwarded to the destination attribute as it is. If the time stamp changes, the extended attribute's current value and new time stamp is forwarded to the destination attribute.The time stamp of a UDA shows the object startup time when the value is initialized after deployment. The time stamp updates to the current time if a value set request is received with a zero time stamp.The alarm extension uses the extended attribute's time stamp, if available. If the alarm changes state, the TimeAlarmOn or TimeAlarmOff attribute updates to the time stamp of the extended attribute. If the extended attribute does not support time stamps, the TimeAlarmOn or TimeAlarmOff attribute time stamp is based on the current scan time of the hosting AppEngine. If an active alarm is disabled (which forces it to return to normal), the current time is used for the time stamp.The history extension retrieves the value, quality, and time stamp for the attribute and then stores this data to history. If the attribute does not support a time stamp, the current scan time of the hosting AppEngine is used.Advisement of Active Items for ExtensionsIf you configure the object to have input or input/output extensions and advisement of active items is enabled globally, both the reference count and suspend count for the extended attribute is incremented when the object starts up. This puts the object into a suspended state and propagates a suspend message to the input source.When the object is in a suspended state, no input scanning occurs, because no new input values are being sent by the input source. The quality of the suspended attribute is INITIALIZING.Related TopicsOverviewConfigurationRun-Time Object AttributesConfigurationThe following sections describe the common editor configuration options and attributes associated with those options:•O bject Information Configuration•S cript Configuration•U DA Configuration•E xtension Configuration•G raphics ConfigurationFor information about the configuration options on this object's custom tabs, click Configuration Help in the Help file header.Related TopicsOverviewRun-Time BehaviorRun-Time Object AttributesObject Information ConfigurationUse the Object Information tab to:•V iew basic data about the object you are configuring.•C onfigure execution order of the object, relative to other objects. •Provide help for the object you are configuring.EditorOption Associated Attribute Description Run-Time Access (Supervisory , User, Read-Only, None)Description ShortDesc A short textual description of object. Themaximum length is 256 characters.Read-OnlyHierarchica l name HierarchicalName The fully qualified hierarchical name of theobject. For example, "Reactor1.Level."Read-OnlyContainer Container The name of the container that object iscontained in.Read-OnlyCodebase CodeBase The identity of the object's codebase, in theformatVendor.TemplateName.MajorVersionNumber.NoneDerived from (not applicable) Name of the template from which the object(derived template or instance) is derived.NoneHost Host The name of the host to which the object isassigned in the Deployment View. Forexample: for a WinPlatform, it is the Galaxyname; for an AppEngine, it is a WinPlatformname; for an Area, it is an AppEngine name;and for an ApplicationObject, it is an Areaname.Read-OnlyArea Area The name of the area to which the objectbelongs. For top level areas and objects in the"Unassigned" Area, this is not applicable.Read-OnlySecuritygroupSecurityGroup The name of the object's security group. Read-OnlyProcess order ExecutionRelativeOrder Indicates whether the object should runbefore or after another object, or notspecified (None). This option may not beshown for some objects for which executionorder is not allowed.Read-OnlyRelative object ExecutionRelatedObjectIndicates another object that the object runsbefore or after. Unavailable if Process Orderis set to None. Click the browse button toselect an object from the Attribute Browser.Read-OnlyFor detailed information about the default execution order, see "Process Order for AppEngines" in the AppEngine Help file.Related TopicsConfigurationScript ConfigurationUse the Scripts tab to write and configure an executable script associated with the object.Editor Option Associated Attribute Description Run-Time Access (Supervisory, User,Read-Only, None)Script name(not applicable) The name of each script primitiveassociated with the object. Eachattribute is appended to the primitivename for each script.NoneConfigure execution order ScriptOrder An ordinal number indicating within ascript execution group the script'srelative order to other scripts.NoneAliases Aliases, AliasReferences An array of names and their associatedattribute references used in a script orexpression. Aliases = None; AliasReferences = Supervisory, UserDeclarations DeclarationsText A set of valid QuickScript .NETdeclarations using dim.NoneExecution type ScriptExecutionGroup The type of script execution that occursduring object execution: Startup, OnScan, Execute, Off Scan and Shutdown.NoneExpression Expression A string that controls the scriptexecution for all trigger types exceptPeriodic when Execution Type is setto Execute. When the expressionentered meets the trigger condition(While True, On True, On False, DataChange and While False), the script isexecuted. Click the ellipse button toaccess the Attribute Browser.NoneTrigger type TriggerType The function associated with theexpression that together determineswhen the script is executed.Read-OnlyTrigger period TriggerPeriod Indicates the period at which to triggeran Execute type script when TriggerType is set to Periodic. If set to zero(0), the script executes at the scanperiod of the host AppEngine. Thescript always executes at least onceimmediately after going onscan. Thetime format is: days hh:mm:ss.fffffff.Read-OnlyDeadband DataChangeDeadband Only used with Trigger Type DataChange. Specifies the amount theexpression value must change beforethe script is executed.Supervisory, UserRuns asynchronously RunsAsync Sets whether the script is to be runsynchronously (cleared) orasynchronously (checked).Read-OnlyTimeout limit ExecuteTimeout.Limit Indicates the timeout limit, in Read-Onlymilliseconds, for an asynchronous script. (For synchronous scripts, the timeout for the host AppEngine is used.A value of zero (0) disables the timeout. This value is accurate within the resolution of the configured scheduler scan period of the hosting AppEngine.Report alarm on execution error ExecutionError.Alarmed If enabled, an alarm will be triggeredwhen the script engine encounters anerror condition in the script's lastexecution.NonePriority ExecutionError.Priority See Alarm Attributes. Supervisory, UserHistorize script state State.Historized If enabled, the system will historize thestate of the object script.NoneScript box StartupTextOnScanTextExecuteTextOffScanTextShutdownText Displays the script being developed.Must be a valid QuickScript .NETstartup, on scan, execute, off scan or shutdown script. The script is parsedfor language-specific key words, script functions, internal references(referencing attributes of the objectthat the script is assigned to) andexternal references. Syntax errors are raised, including usage of non-existingscript functions.You can access the Script FunctionBrowser and the Attribute Browser by clicking the appropriate button in thescript box toolbar.NoneRelated TopicsConfigurationUDA ConfigurationUse the UDAs tab to add new attributes to the object. A user-defined attribute (UDA) is a holder of data and has no inherent run-time behavior.Every attribute associated with an object exposes the same properties. The following table describes the significant properties you must configure on the UDAs tab.Editor Option AssociatedProperty DescriptionUDA name(not applicable) Name of the UDA attribute associated with the object. Each propertybelow is appended to the attribute name for each UDA.Data type Type Set the attribute's data type: Boolean, Integer, Float, Double, String,Time, Elapsed Time, or InternationalizedString.Category AttributeCategory Set the attribute's category: Calculated, Calculated retentive, Objectwriteable, User writeable. Calculated retentive attributes are savedacross restarts (checkpointed). Note that if you select "Objectwriteable," the security classification is not enabled.This is an array Dimension1 Select if the value of the attribute is an array. Set the array's dimensions in the Number of elements box.Number ofelementsDimension1 The number of elements in the array.--DefaultValue The attribute's default value. The editor interface within the Value groupbox will change based on the data type you have selected, either a checkbox for a Boolean value or a text box for all other data types.Buffered Boolean Determines if the attribute is buffered. If checked, the attribute'shasBuffer property will be true. Buffered attribute supports retrievingand processing of multiple data items which are received from fielddevices during AppEngine’s Scan Period. The purpose of buffered data isto eliminate data folding. Buffered data is used by clients like Alarm,Scripts, and History. An attribute can either be buffered or an array. Related TopicsConfigurationExtension ConfigurationUse the Extensions tab to add new functionality to already existing attributes of the object. These new functionalities include input, output, input-output, alarming, and historization capabilities. This tab displays attributes of the object being configured that can be extended by one or more extensions in the ExtendableAttributes list. When you select an extendable attribute, only the appropriate extensions for that attribute will become available in the Extensions tab.InputOutput ExtensionEditor Option AssociatedAttribute DescriptionRun-TimeAccess(Supervisory,User, Read-Only, None)InputOutput extension (not applicable) Select to add an InputOutput extension to theobject. For more information, see Guidelines forUsing the I/O Extensions.Enabling the InputOutput extension willautomatically disable the Input extension and theOutput extension.NoneSource InputSource The target source from which the value (plusquality) is to be read/written. This attribute alsoidentifies the target destination to which the valueis to be written, if no separate output destination isspecified.Click the ellipse button to access the AttributeBrowser.If changed at run time, the old reference will beunregistered, and the new reference will beregistered. Supervisory, UserOutput destination differs from input source DiffOutputDest Select if the output destination is different from theinput source.NoneDestination OutputDest The target location to which the output value will bewritten. This only applies if the output is to bewritten to a location different from the inputlocation specified by the input source attribute. Ifno value is specified for the output destination (forexample, an empty reference or "---"), then the Supervisory, Userinput and output use the single location specifiedby the input source.Click the ellipse button to access the AttributeBrowser.If changed at run time, the old reference will beunregistered, and the new reference will beregistered. If the new value is not empty or "---",then the reference is not registered. Instead,outputs are to be written through the referencecontained within the mandatory input sourceattribute.Input ExtensionEditor Option AssociatedAttribute DescriptionRun-TimeAccess(Supervisory,User, Read-Only, None)Input extension (notapplicable)Select to add an input extension to the object. Formore information, see Guidelines for Using the I/OExtensions.NoneSource InputSource The target source from which the value (plus quality)is to be read. Click the ellipse button to access theAttribute Browser.If changed at run time, the old reference will beunregistered, and the new reference will beregistered. Supervisory, UserOutput ExtensionEditor Option AssociatedAttribute DescriptionRun-TimeAccess(Supervisory,User, Read-Only, None)Output extension (not applicable) Select to add an output extension to the object. Formore information, see Guidelines for Using the I/ONoneExtensions.Destination OutputDest The target location to which the output value will bewritten. Click the ellipse button to access theAttribute Browser.If changed at run time, the old reference will beunregistered, and the new reference will beregistered. Supervisory, UserOutput every scan OutputEveryScan If selected, the external output is performed everyscan (as long as the extended attribute's quality isGood or Uncertain.).If this check box is cleared, the external output isonly performed when the value changes from thelast successful output, or when the quality changesfrom Bad (or Initializing) to Good (or Uncertain),even if the value has not changed.Supervisory,UserAlarm ExtensionEditor Option AssociatedAttribute DescriptionRun-TimeAccess(Supervisory,User, Read-Only, None)Alarm extension(not applicable) Select to add an alarm extension to theobject.NoneCategory Category See Alarm Attributes. Supervisory,UserPriority Priority See Alarm Attributes. Supervisory,UserAlarm message attribute DescAttrName See Alarm Attributes. Click the ellipsebutton to access the Attribute Browser.NoneActive alarm ActiveAlarmState Indicates the state that triggers a Boolean Nonestate alarm. History ExtensionEditor Option AssociatedAttribute DescriptionRun-TimeAccess(Supervisory,User, Read-Only, None)Historyextension(not applicable) Select to add a history extension to the object. NoneForce storage period ForceStoragePeriod See Historization Attributes. Supervisory,UserEngineering units EngUnits Set the engineering units of the attribute beinghistorized.NoneValue deadband ValueDeadBand See Historization Attributes. Supervisory,UserTrend high TrendHi See Historization Attributes. Supervisory,UserTrend low TrendLo See Historization Attributes. Supervisory,UserDescription Description A brief description for the attribute that is storedto history. You can use descriptive text or areference to another string attribute containingthe history description. If an attribute referenceis used, it must be in the form: "me.AttrName".If you do not provide a description, the objectdescription is used. Supervisory, UserInterpolation Type InterpolationType See Historization Attributes. Supervisory,UserSample Count SampleCount See Historization Attributes. Supervisory,UserRollover Value RolloverValue See Historization Attributes. Supervisory,UserEnable Swinging Door EnableSwingingDoor See Historization Attributes. Supervisory,UserRate DeadBand RateDeadBand See Historization Attributes. Supervisory,UserRelated TopicsConfigurationGuidelines for Using the I/O ExtensionsThree extensions are available for extending an attribute to perform input and/or output: Input, Output, and InputOutput.Note: You cannot reference the same attribute for both the Input extension and the Output extension for a single attribute.Input ExtensionThe Input extension is used to read or copy a value from an external source (for example, a field controller) and place it in an attribute during each scan of the object. Generally, this extension is used only when read functionality is required. If both read and write functionality are required, use an InputOuput extension. Although the Input extension can be used in conjunction with an Output extension, this is only done in the rare case of when you want to read an input from one source, manipulate its value in a script, and send the manipulated value out to a different destination address, all during a single scan of an object. The Input extension runs before any custom scripts or custom logic within the object.InputOutput ExtensionThe InputOutput extension is used to read and write a value from and to an external address (for example, a field controller). The read function is performed every scan. The write function is performed only when the value or quality of the attribute that is extended changes, and the quality is GOOD or UNCERTAIN. This extension is the primary means of achieving a bidirectional connection to an external data source through an extension.The input phase of the InputOutput extension runs before any custom scripts or custom logic within the object. Therefore, scripts can use the current input value for their logic, since that value will be held in the extended attribute.The output change detection logic within the InputOutput extension determines whether to perform an output during a scan. This logic actually occurs prior to reading the value from the source and overwriting the attribute (so that the change request is not lost). If a change in value or quality has occurred, the new value to be written is placed in an attribute named WriteValue. Therefore, you could write a script to examine the extended attribute's WriteValue (as "me.udax.writevalue") and perform validation or clamping on it. The WriteValue attribute is really the value that is "about to be written" when the script executes.。

相关文档
最新文档