Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07...

47
Wonderware Conference. Schneider Electric confidential.

Transcript of Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07...

Page 1: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Page 2: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Best Practices for HMI and SCADA Architectures HMI SCADA-07

Page 3: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Template Galaxies

●Allows Design Standards to be replicated across Plants and Projects ●Script Libraries and Object Templates ●Quality and Status, Element Styles, Format Styles ●Security Models ●Alarm Standards ●Graphics Libraries and .Net Client Controls ● InTouch Application Templates ●Template Toolset Organization

●Easily create a duplicate galaxy to work in

Page 4: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

BUILDING A REUSABLE GALAXY TEMPLATE

S

Page 5: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

●Create a Base Application Server Galaxy ●Connect to the Newly Created Galaxy

Configuring a Template Galaxy

Page 6: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

• Quality and Status • Globally defines the Behavior of Animations

• To Changes in Data Quality •Warning, Bad, Uncertain, Initializing

• When Read Errors are Present •Communication, Configuration, Software

• When Write Status’ are Present •Pending, Operational, Security

• Overrides for •Text, Fill, Line, Outline, Status

• Status indicators requires the use of the Status Animation •All are automatic and take effect immediately no Deployment Required

• Recommend Defining a Standard for Outline Overrides as a

Configure Galaxy Style Library

Page 7: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

• Element Styles • Styles are used to globally define Graphics Appearance • They do not have to be used in Animations • Named Styles defined for Alarm Border Indication • Styles are Named

•Text, Fill, Line and Outline are definable •Additional Style Names can be added if desired •Defined via an XML document •Can Be Exported and Imported

• Element Style is both a Configuration and Runtime Settable Property

Configure Galaxy Style Library

Page 8: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Configure Alarm Priority Mapping

• Defines the range of Alarm Priorities •Critical. High, Medium, Low •Which Alarms to Historize •Image to use for Alarm Indication

• Defines which events to Historize

Page 9: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Configure Alarm and Events Priority Mapping • Defines the range of Alarm Priorities

•Critical. High, Medium, Low •Which Alarms to Historize •Image to use for Alarm Indication and Modes

• Defines which events to Historize • Plant State Names and Associated Alarm Behavior

Page 10: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Import Client Controls

• Historian Client Controls • A little extra in cost but far superior to the TrendClient in the basic galaxy • C:\Program Files (x86)\Common Files\Archestra • Application-Level Controls

•aaHistClientTrend •aaHistClientQuery

• Building Block Controls •aaHistClientTimeRangePicker •aaHistClientTagPicker •aaHistClientSingleValueEntry •aaHistClientActiveDataGrid •aaHistClientChart

Page 11: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Save the Galaxy as a Template

• Launch the System Management Console (SMC) from the Galaxy Repository

• Expand the Galaxy Database Manager Tree •Right-Click on the Standards Galaxy and Backup •Place the Strandards Galaxy cab file in the directory C:\Program Files (x86)\ArchestrA\Framework\Bin\BackupGalaxies

•Repeat this for all Galaxy Repositories in your organization • Restore should not be used to transfer Galaxies between Repositories • Always create a new Galaxy based on the CAB • Only restore into the Galaxy Repository from which the backup was

made

Page 12: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

MULTI-USER DEVELOPMENT TECHNIQUES

S

Page 13: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Multi-User Development • Create Two Galaxies on the Project Repository (min)

• Template Galaxy (Templates Only No Instances typically) • Project Galaxy (Templates and Instances Required by Project)

•Base both Galaxies on your Standards Galaxy •Enable Security on Both Galaxies

• Use OS User or Group if Possible • Use Galaxy Security if no Active Directory Server is Available

•Do Not Allow Multiple IDE’s to Connect with None Security Selected

• None Security is actually a Default Security Model •Every User logs in as the DefaultUser •It is impossible for the GR to differentiate between IDE’s

• Each Developer has their Own User ID •Unique Checkin/Checkout

Page 14: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Different Classes of Objects • Infrastructure Objects

• Objects which define the Infrastructure of the Running Galaxy •Node Name Specific properties Typically •Platforms ($WinPlatform)

• Node Name of the Operating System to Deploy to on the Network

• Node Name of Historian to Configure and Send Data To

• Alarms and Events • Platform Attributes to be Historized

•Application/View Engines ($AppEngine/$ViewEngine) • Node Name of Historian to Configure and Send

Data To

Page 15: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Different Classes of Objects • Project Specific Objects

•Object specific to the Project/Application being created

• Areas ($Area) • Application

• Equipment, Calculation, Utility ($UserDefined)

• AnalogDevice ($Analog Device) • DiscreteDevice ($DiscreteDevice)

Etc… • RedundantDeviceIntegration

($RedundantDIObject) • InTouch Applications

Page 16: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Multi-User Development

• Developer Workstation • Operating System can be Windows 7 or 8.x • Installation

•System Platform DVD Install • System Platform Development Server (Role Install)

• Remove the InTouch Demo Apps if Desired • Historian Server Node (Role Install) Optional

• Testing of Object history and Tiering of Historians •Applicable DA Servers if needed

• This provides for a complete standalone development workstation with all capabilities covered by Dev. Studio License.

• The Small Dev Studio is a cost effective License for this.

Page 17: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Organize your Templates ●Create a Template Storage Galaxy

●Maintains current Templates ●Distribute via Packages ●Control distribution of updates ●Should always have Security Enabled

● Levels in hierarchy dictate Ownership within Team/Organization

●Very Few If any Instances should exist in this Galaxy

Page 18: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Base Template Library Owned Template Organization/User Owned

Template Water Filter Project Owned Template

Water Filter Template

Template Organization for Distribution

• Develop a naming Prefix that defines ownership • Prevents confusion in project galaxies • Allows upgrades to standard templates

• SP2014 allows you to protect the standards • Export Standards as Protected from Standards Galaxy • Import into Project Galaxy • Only Standard Templates will be updated

Page 19: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Galaxy Infrastructure ●Create Templates for Standards or Where Future Deviations Exist

● Lockable Read Only Attributes ●Will not be Dumped via Galaxy Dump ●Propagation will be guaranteed ●Slightly better performance

● Writable Attributes needing Initialization in Configuration or Runtime ●Locking cannot be used ●Utilize an OnStartup script to set the Values ●Script can be locked to ensure propagation of changes in IDE ●Attribute values will remain writable at runtime ●Use Read-only Security for IDE only settings. (enforced even with “None” Model) ●Protects against Upload Runtime Changes overwriting initial values

Page 20: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Project Servers (Operating System Instances)

Engineering Workstations

Project Infrastructure

EWS 1 EWS 2 EWS 3 EWS 4

Galaxy Repository

AOS

RMC

AOS

Historian Server

AOS

RMC

AOS

Page 21: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Engineering Workstations

Project Servers (Operating System Instances)

Project Infrastructure

EWS 1 EWS 2 EWS 3 EWS 4

Galaxy Repository

AOS

RMC

AOS

Historian Server

Information Server

Workflow Server

Template Galaxy Standard Templates Project Templates Project Galaxy Project Infrastructure Project Application

Development Galaxy Dev. Infrastructure Test Templates Test Instances Dedicated DI Clients

Page 22: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Multiple Developers in one Galaxy

IDE Local GR

IDE Local GR

IDE Local GR

IDE Local GR

Production GR

Production Galaxy Template Galaxy

Each Development Workstation has a Local Development and Test Gala

Page 23: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Object Development Process

●Export from P.T.G. Template as an aaPKG ●Checkout Template in P.T.G. ● Import into E.W.S.

●Edit/Deploy/Test as needed ●Export Template from E.W.S. as an aaPKG

●Return to P.T.G. ●Undo Checkout on Template previously checked out ● Import aaPKG from E.W.S. ●Checkout and Checkin Template to comment on Changes (Optional)

●Transfer Templates to Project/Production Galaxy when released

Page 24: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Graphics Development

●Can be accomplished within Single Galaxy ●Each Graphic is Unique

●Graphics are embedded not inherited ●Parent Graphic can be edited while embedded graphic is edited

●Best to have individual InTouch instances to deploy ● InTouch Deploy is not as blocking as object deploy

●Background operation ●Not all InTouch instances need be affected

Page 25: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Scaling out Project w/Galaxy Load ● Good Tool for scaling out the Production Galaxy ● Allows Spreadsheet definition of Instances ● Can also Manipulate Existing Instances

– Change Areas – Attribute Values

● Only Attributes to be Changed are Required – Tagname is the Key (Always Required) – For new instances include SecurityGroup (Unless a User Default is

assigned) ● Format is Simple ● Can Create “Templates” of Non-Templateable Objects

– DI Networks and Devices – Areas and Contained Objects – Engine Layouts for Platforms

Page 26: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Galaxy Load to create instances

Page 27: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Scripting Techniques

Page 28: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Object Scripting Guidelines • Each Named Script has five Sections

• OnStartup, OnScan, Execute, OffScan, OnShutdown • Most scripted behavior utilizes the Execute • Scripts in Execute are evaluated each scan of the Engine • Script Trigger determines if the execution will occur

• OnTrue, OnFalse and DataChange only use for on-object attribute sets

• Scripting and InputSource sets • WhileTrue and WhileFalse safe for off-object attribute sets

• Other objects • User interface sets • Set in sending entity, Reset in Script

• Periodic • Time Period can only be a multiple of Engine Scan

Page 29: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Object Scripting Guidelines • Dimensioning of classes

•Declarations Section of Script • Variable is available for the lifetime of the object within the script’s 5 sections

• dim x as Class; •Declared in script text

• x = new Class; • dim x = new Class; (One line Declaration)

• Variable is created each time the script executes •Dimensioned variables can be placed on the AppDomain

• System.AppDomain.CurrentDomain.SetData(String name, object data) • Object = System.AppDomain.CurrentDomain.GetData(string name) • Variable is now available to all scripts executing on the AppEngine

Page 30: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Object Scripting Guidelines • String Manipulation

•Avoid the “+” Concatenation str1 = str2 + “mystring”; •Use the System.String.Format(“Place Holder String”, variable list)

• X = System.String.Format("{0}{1})", Me.DIO.RefHeader, an);

•Use the .NET string class functions • Calling Class Methods

•If a typed parameter is needed then declare a local script variable • Me.Attribute is not the same as a typed declaration

•If an object attribute is used multiple times • Create a local variable to store the Me.Attribute

Page 31: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Object Scripting Guidelines

• Try – Catch – EndTry blocks introduced in SP2014 •An error class variable is available in the catch section

• LogMessage(error); will give a really good description of the problem and who caused it

• Properties and methods of the error are also available in the catch

•Everything scripted after the endtry will be executed • Use this section as a finally block • Use If conditions to control execution of code

Page 32: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Object Scripting Guidelines • Creating a reentrant script

•Use a While trigger or periodic •Declare a state variable in the Declarations •Use a series of if – elseif – endif statements

• If state== 1 then • When done set the state to 2

• Elseif state == 2 then • When done set the state to 3

• Elseif state == 3 then • When done set the state to 4

• Elseif state == 4 then • Turn off trigger • Set state back to 1

• Endif;

Page 33: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Server Side vs Client Side Scripting

●Server Side Scripting ●Behavior of object ●Common to all clients ●Functionality is determined whether client is active or not

●Client Side Scripting ●Client Specific Behavior ●Unique to Client Instance ●Graphic Begins gathering data when shown ●Excessive scripting will drastically impact performance when embedded in

animations

Page 34: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

DATABASE INTEGRATION SCRIPT LIBRARY

Page 35: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Database integration from Object Scripting

• Be careful when using basic .net database classes •System.Data.SQLClient •System.Data.ODBC •System.Data.OleDB

• These classes have to be managed very carefully to be safe to use from multiple objects on application engines

•Exceptions thrown from the class •Connection pooling •Sharing of record sets

Page 36: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Database Integration • aaDBIntegration Script Library

• Loaded by default into every Galaxy since v3.0(?) • Script Safe .net class library for database tasks

• aaDBAccess – Static class used the aaDBClient Classes • aaDBClient: Object Classes

• aaDBCommand • aaDBConnection • aaDBRow • aaDBTransaction

• Extensive Documentation installed in • C:\Program Files (x86)\ArchestrA\Framework\Docs\1033

• SQLScript.pdf

Page 37: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Database Integration • aaDBAccess.CreateConnection(ConnectionString) • aaDBAccess.GetConnection(ConnectionString)

•CreateConnection • Generates a new connection to the data source

specified •GetConnection

• Generates a new connection if no connection was previously created by another object on this Application Engine

• Returns an existing connection if one was previously created on this Application Engine.

• aaDBCommand and aaDBTransaction • Supports Sync and Async database activity • Parameterized SQL and Stored Procedures • Selects, Inserts and Updates database records

Page 38: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Database Integration

• aaDBIntegration Library provides safe and efficient Database Access

•Connection pooling •Results Sharing •Synchronous Transactions •Asynchronous Transactions •Engine Safe •Object Safe

Page 39: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Client Side Database Integration

SDA

System.Data.SqlClient.SqlDataAdapte (SQL, ConnectionString)

SDA.Fill(DT)

DT

SQL

DataGridView.DataSource(DT)

System.Data.DataTable

DataGridView

Page 40: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Client Side Database Integration

Page 41: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Dispelling the Myths of Indirects

●They do not work at all ● If they work then…

●They do not work across AppEngines on the same WinPlatform ● If they work across AppEngines on the same WinPlatform then…

●They do not work across AppEngines on different WinPlatforms ● If they work across AppEngines on different WinPlatforms then…

●They work only some of the time ●So how do I make Indirects work correctly all the time…

Page 42: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Indirects

●An Indirect is no different than an Input, InOut or Output extension. ● Ind.BindTo(obj.attr) is the same as modifying the InputSource or

OutputDest. ●When Changed a new reference binding process commences and this

takes time. ●The on AppEngine Reference works immediately

●Next line of code in a script. ●The off AppEngine Reference binding takes multiple scans ● IsGood(ind) will indicate when complete. ● Indirects can also be arrayed.

●Dim x[100] as Indirect. ●For Each Ind in x[]

Page 43: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Indirects • Linking to Off Engine Attributes Using a Re-entrent Script (WhileTrue Me.BindToCmd)

• If state== 1 then • Dim ind1 as indirect; Dim ind2 as indirect; Dim ind3 as indirect; • Execute the indx.BindTo(“something”) methods • When done set the state to 2

• Elseif state == 2 then • Check the indirects using IsGood(indirect) or IsGood(ind1, ind2, ind3,…) • When all the indirects are good set the state to 3 • If too long set state to 5 • When done set the state to 3

• Elseif state == 3 then • Use the indirects • Me.Attr1 = Ind1; Me.Attr2 = Ind2; Me.Attr3 = Ind3; • When done set the state to 4

• Elseif state == 4 then • Ind1 = null; Ind2 = null; ind3 = null; • Turn off trigger Me.BindToCmd = false; • Set state back to 1

• Elseif state == 5 then • LogError(“Indirects did not work!”); • Ind1 = null; Ind2 = null; ind3 = null; Me.BindToCmd = False;

• Endif;

Page 44: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Historian for Troubleshooting ●Find the bad Script ●Historize <Script>.ExecutionTime for all suspect objects

SET NOCOUNT ON DECLARE @StartDate DateTime DECLARE @EndDate DateTime SET @StartDate = DateAdd(hh,-12,GetDate()) SET @EndDate = GetDate() SET NOCOUNT OFF SELECT AnalogSummaryHistory.TagName, Minimum, Maximum, Average, StdDev, FROM AnalogSummaryHistory WHERE AnalogSummaryHistory.TagName LIKE '%.ExecutionTime' AND wwVersion = 'Latest' AND wwRetrievalMode = 'Cyclic' AND wwCycleCount = 1 AND StartDateTime >= @StartDate AND EndDateTime <= @EndDate

Page 45: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.

Page 46: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential. ©2015 Schneider Electric. All Rights Reserved. All trademarks are owned by Schneider Electric Industries SAS or its affiliated companies or their respective owners.

Thank you!

Page 47: Wonderware Conference. Schneider Electric …global.wonderware.com/EN/SoftwareGCC15PPTs/HMI SCADA 07 - Best...Wonderware Conference. Schneider Electric confidential. ... • Use Galaxy

Wonderware Conference. Schneider Electric confidential.