Software Toolbox Extender.NET Component. Development Best Practices

Similar documents
CodeSlice. o Software Requirements. o Features. View CodeSlice Live Documentation

NiceLabel LMS. Installation Guide for Single Server Deployment. Rev-1702 NiceLabel

TRAINING GUIDE. Overview of Lucity Spatial

Quick Start Guide. Basic Concepts. DemoPad Designer - Quick Start Guide

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash

INSERTING MEDIA AND OBJECTS

Date: October User guide. Integration through ONVIF driver. Partner Self-test. Prepared By: Devices & Integrations Team, Milestone Systems

Tips For Customising Configuration Wizards

EView/400i Management Pack for Systems Center Operations Manager (SCOM)

Your New Service Request Process: Technical Support Reference Guide for Cisco Customer Journey Platform

$ARCSIGHT_HOME/current/user/agent/map. The files are named in sequential order such as:

Please contact technical support if you have questions about the directory that your organization uses for user management.

Element Creator for Enterprise Architect

1 Getting and Extracting the Upgrader

UiPath Automation. Walkthrough. Walkthrough Calculate Client Security Hash

Contents: Module. Objectives. Lesson 1: Lesson 2: appropriately. As benefit of good. with almost any planning. it places on the.

Element Creator for Enterprise Architect

Overview of OPC Alarms and Events

from DDS on Mac Workstations

TaskCentre v4.5 XML to Recordset Tool White Paper

1 Getting and Extracting the Upgrader

ClassFlow Administrator User Guide

TPP: Date: October, 2012 Product: ShoreTel PathSolutions System version: ShoreTel 13.x

Course 10262A: Developing Windows Applications with Microsoft Visual Studio 2010 OVERVIEW

CMC Blade BIOS Profile Cloning

Network Rail ARMS - Asbestos Risk Management System. Training Guide for use of the Import Survey Template

Stock Affiliate API workflow

INSTALLING CCRQINVOICE

MyUni Adding Content. Date: 29 May 2014 TRIM Reference: D2013/ Version: 1

Interfacing to MATLAB. You can download the interface developed in this tutorial. It exists as a collection of 3 MATLAB files.

Licensing the Core Client Access License (CAL) Suite and Enterprise CAL Suite

Courseware Setup. Hardware Requirements. Software Requirements. Prerequisite Skills

The Login Page Designer

Procurement Contract Portal. User Guide

Type: System Enhancements ID Number: SE 93. Subject: Changes to Employee Address Screens. Date: June 29, 2012

Frequently Asked Questions Read and follow all instructions for success!

CAMPBELL COUNTY GILLETTE, WYOMING

Use of GIS & GPS in Trail and Land Management

Admin Report Kit for Exchange Server

Proper Document Usage and Document Distribution. TIP! How to Use the Guide. Managing the News Page

Troubleshooting of network problems is find and solve with the help of hardware and software is called troubleshooting tools.

User Guide. Document Version: 1.0. Solution Version:

System Requirements for SurveyTracker Plus 6.0

App Center User Experience Guidelines for Apps for Me

Arius 3.0. Release Notes and Installation Instructions. Milliman, Inc Peachtree Road, NE Suite 1900 Atlanta, GA USA

Cisco Tetration Analytics, Release , Release Notes

Create Your Own Report Connector

1 Getting and Extracting the Upgrader


Announcing Veco AuditMate from Eurolink Technology Ltd

Kaltura MediaSpace TM Enterprise 2.0 Requirements and Installation

MySabre API RELEASE NOTES MYSABRE API VERSION 2.0 (PART OF MYSABRE RELEASE 7.0) OCTOBER 28, 2006 PRODUCTION

Because of security on the site, you cannot create a bookmark through the usual means. In order to create a bookmark that will work consistently:

CLIC ADMIN USER S GUIDE

Introduction to Mindjet on-premise

How to use DCI Contract Alerts

Log shipping is a HA option. Log shipping ensures that log backups from Primary are

VMware AirWatch Certificate Authentication for Cisco IPSec VPN

SAP Business One Hardware Requirements Guide

UML : MODELS, VIEWS, AND DIAGRAMS

Adobe Connect 8 Event Organizer Guide

Customer Upgrade Checklist

Reading and writing data in files

Integrating QuickBooks with TimePro

Outlook Web Application (OWA) Basic Training

WinEst 15.2 Installation Guide

Users, groups, collections and submissions in DSpace. Contents

Importing data. Import file format

Once the Address Verification process is activated, the process can be accessed by employees in one of two ways:

Infrastructure Series

Microsoft Excel Extensions for Enterprise Architect

HP Server Virtualization Solution Planning & Design

Frequently Asked Questions Read and follow all instructions for success!

AvePoint Pipeline Pro 2.0 for Microsoft Dynamics CRM

Renewal Reminder. User Guide. Copyright 2009 Data Springs Inc. All rights reserved.

Secure File Transfer Protocol (SFTP) Interface for Data Intake User Guide

MySabre API RELEASE NOTES MYSABRE API VERSION 2.1 (PART OF MYSABRE RELEASE 7.1) DECEMBER 02, 2006 PRODUCTION

OO Shell for Authoring (OOSHA) User Guide

Avigilon Control Center Virtual Matrix User Guide. Version 6.8

TRAINING GUIDE. Lucity Mobile

These tasks can now be performed by a special program called FTP clients.

Student participation Students can register online, track progress, express interest and demonstrate proficiency.

SAS Viya 3.2 Administration: Mobile Devices

Getting Started with the Web Designer Suite

Aras Innovator Viewer Add-Ons

Quick Guide on implementing SQL Manage for SAP Business One

VMware EVO:RAIL Customer Release Notes

Tips and Tricks in Word 2000 Part II. Presented by Carla Torgerson

EBSCOhost User Guide Print/ /Save. Print, , Save, Notetaking, Export, and Cite Your Search Results. support.ebsco.com

Wave IP 4.5. CRMLink Desktop User Guide

ROCK-POND REPORTING 2.1

Educational Satalite signal

Procedures for Developing Online Training

Test Pilot User Guide

Using the DOCUMENT Procedure to Expand the Output Flexibility of the Output Delivery System with Very Little Programming Effort

Assignment #5: Rootkit. ECE 650 Fall 2018

My Performance Management User Guide

Model WM100. Product Manual

SOLA and Lifecycle Manager Integration Guide

Refreshing Axiom TEST with a Current Copy of Production Axiom EPM June 20, 2014

Transcription:

Page 1 f 16 Sftware Tlbx Extender.NET Cmpnent Develpment Best Practices Table f Cntents Purpse... 3 Intended Audience and Assumptins Made... 4 Seeking Help... 5 Using the ErrrPrvider Cmpnent... 6 What is the ErrrPrvider Cmpnent?... 6 Why use an ErrrPrvider Cmpnent?... 6 Using the ErrrPrvider Cmpnent... 6 Binding an ErrrPrvider t an Extender.NET Cmpnent... 7 MDI (multiple dcument interface) Applicatins... 8 Impact f having multiple frms pen... 8 MDI Recmmendatins... 8 Perfrmance Tuning... 9 What causes the verhead?... 9 Cntrlling Prperty Accesses... 9

Page 2 f 16 One-Sht Cmpnents vs. Subscriptin Extender... 9 Hw Subscriptin Scan Rates affect Perfrmance... 10 Hw d Scan Rates wrk?... 10 The impact f receiving data frm the OPC Server... 10 Scan Rate Recmmendatins... 11 Safe Number f Cntrls t Use n a Frm... 12 Scalability Test Results... 12 Cding via the Extender.NET API (applicatin prgramming interface)... 13 Trubleshting... 14 ErrrPrvider... 14 OPC Quality Cdes... 14 Gathering Infrmatin... 15 Researching Errrs and Cntacting Supprt... 15 Summary... 16

Page 3 f 16 Purpse This dcument is intended t prvide yu with sme general guidelines that will help yu t get the best ut f the Sftware Tlbx Extender.NET Cmpnents. In this dcument we will discuss: Perfrmance related issues Errr handling This dcument is nt a prgramming guide r tutrial. Any subject matter specific t a develpment language r platfrm are utside the scpe f this dcument.

Page 4 f 16 Intended Audience and Assumptins Made This dcument is intended fr Sftware Develpers, thse being the peple wh create sftware applicatins, specifically Winfrm applicatins develpers. As n prgramming is required, n prgramming knwledge is required r assumed. This dcument will nt cver any cding. The fllwing assumptins are made: Yu have access t either: Micrsft Visual Studi.NET 2003 Editin Micrsft Visual Studi.NET 2005 Editin Yu have sme familiarity with Visual Studi.NET (2003 r 2005) Hw t create a new Slutin and/r Prject Hw t create a Frm Hw t navigate arund the Visual Studi.NET envirnment. Yu have sme experience with creating a Frm and placing sme f the key.net Cmpnents that exist within the Visual Studi.NET envirnment, such as: Labels, Textbxes, Buttns, ListViews etc. Yu have access t an OPC Server The Sftware Tlbx Extender.NET Cmpnents will be referred t as Extender.NET Cmpnents.

Page 5 f 16 Seeking Help If yu need additinal help and resurces, then please cnsider the fllwing: Micrsft Visual Studi.NET r.net Language Questins (VB.NET, C#, J#, C++) Please cntact Micrsft directly Search nline OPC The OPC Fundatin website http://www.pcfundatin.rg/ Extender.NET Prduct Help files that are installed with the cmpnent. The dcumentatin center: http://dcs.sftwaretlbx.cm/ The surce cde center: http://surcecde.sftwaretlbx.cm/ OPCDataCntrl r OPCData.NET Engine Prduct Help files that are installed with the cmpnent. The dcumentatin center: http://dcs.sftwaretlbx.cm/ The surce cde center: http://surcecde.sftwaretlbx.cm/ Cntact us Web: http://supprt.sftwaretlbx.cm/ Email: supprt@sftwaretlbx.cm Phne: +1 704 849-2773

Page 6 f 16 Using the ErrrPrvider Cmpnent What is the ErrrPrvider Cmpnent? The ErrrPrvider cntrl is a native cntrl that is just ne f the many standard.net cmpnents that are available in the standard Tlbx. The ErrrPrvider is als an Extender cmpnent. The ErrrPrvider s jb is t display an icn beside a cntrl n yur frm when an errr exists fr that cntrl. Fr example, if yu had a frm cntaining a label, textbx and buttn, if an errr cnditin exists fr the label and the textbx then a blinking icn wuld appear beside bth f thse cntrls. When yu hld yur muse ver the icn a tltip will appear with the descriptin f the errr. When the errr cnditin is cleared, the icn disappears. Why use an ErrrPrvider Cmpnent? The Extender.NET cmpnent and Engines integrate with the ErrrPrvider cmpnent t prvide an easy, yet visual ability t display errr messages specific t a cntrl. If and When an errr cnditin disappears fr a cntrl, then the icn displayed (by the ErrrPrvider) will disappear exactly as yu wuld expect. Using the ErrrPrvider Cmpnent Because the ErrrPrvider is a standard.net cmpnent available within the standard develpment Tlbx (which als cntains the Label, TextBx, Buttn etc.) yu can simply drag and drp it nt yur frm. Because it is a cmpnent and nt a cntrl it will appear beneath the frm, just like the Extender.NET cmpnents. The ErrrPrvider can be used in its default state. This means that yu are nt required t make any changes t any f its prperties, it can be used as is. Changes t any f the ErrrPrvider prperties shuld nt affect hw it is used by the Extender.NET cmpnents.

Page 7 f 16 Binding an ErrrPrvider t an Extender.NET Cmpnent In rder fr ne the Extender.NET cmpnents t use an ErrrPrvider, yu must tell it which ne (because yu may have mre than ne ErrrPrvider n yur frm) t use. Each Extender.NET cmpnent expses a prperty called ErrrPrvider which when clicked n will expse a list f available ErrrPrviders n the frm:

Page 8 f 16 MDI (multiple dcument interface) Applicatins MDI applicatins allw yu t build a parent windw that can cntain ne r mre childwindws. A pwerful capability such as this needs t be harnessed with great care when yu take int cnsideratin the perfrmance ramificatins as utlined in sectin Perfrmance Tuning, specifically the sectin One-Sht Cmpnents vs. Subscriptin Extender. Impact f having multiple frms pen If yur MDI applicatin has multiple frms pen, and each ne has at least ne Extender.NET cmpnent n it, then yu have multiple/cncurrent data-streams in effect, i.e. data being transferred frm OPC Server t Winfrm cntrl. If multiple frms are pen, and mre than ne f them utilize the Extender.NET cmpnent(s) then yur applicatin may cnsume mre CPU %. Be sure t read the sectin Perfrmance Tuning carefully. MDI Recmmendatins It is pssible t have mre than ne windw pen at a time. It is als pssible t have mre than ne windw visible at a time t. One questin t ask yurself is: Can I temprarily disable r clse invisible/inactive frms? If the answer t this questin is yes then yu shuld cnsider simply disable the Extender.NET cmpnent, specifically the Subscriptin.NET cmpnent. Yu can disable the cmpnent by simply changing the Enabled prperty t False.

Page 9 f 16 Perfrmance Tuning The Extender.NET Cmpnents make use f the Reflectin capabilities available within the.net Framewrk. Reflectin carries sme verhead that will abslutely affect the perfrmance f yur applicatin. What causes the verhead? Reflectin is used t get/set the values f Prperties, therefre the frequency f Prperty accesses will directly affect the verall perfrmance f yur applicatins. Minimal prperty access (get r set) translates t least verhead Frequent prperty access (get r set) translates t higher verhead Cntrlling Prperty Accesses The Extender.NET Cmpnents ultimately decide fr themselves when t access a prperty. This means yu have minimal cntrl ver this. One-Sht Cmpnents vs. Subscriptin Extender There is a stark-difference in hw the ne-sht cmpnents wrk versus the Subscriptin extender: One-shts The ne-shts are cmpnents that remain idle until invked. What this means is that they d nthing until the Event that they are bund t is raised, at that pint it will access prperties accrdingly. Because the ne-shts nly access prperties n demand they shuld nt incur much f a perfrmance hit. Subscriptin The Subscriptin extender differs frm the ne-shts because it may access prperties far mre frequently, thus causing higher verhead. Therefre sme care is needed.

Page 10 f 16 Unlike the One-shts that idle, the Subscriptin Extender may be cnstantly receiving new values frm the OPC Server (data surce) which are then prcessed and sent t the Winfrm Cntrls. Hw Subscriptin Scan Rates affect Perfrmance Hw d Scan Rates wrk? There is a cmmn miscnceptin that scan-rates specifically measure hw frequently the client plls the server fr a value, this is incrrect. Scan Rates cntrl the frequency with which the OPC Server (data surce) will pll the underlying device fr data. The OPC Server s jb is t ntify the OPC Client when the value fr a tag changes. This means that the OPC Client is idle while it waits fr the server t send it updated tag data. Depending n yur device, yu may have a high/fast scan rate, but with very minimal datachanges being received, such as if mnitring a temperature. Likewise, yu may have a lw/slw scan rate, but receive updated values with every reading frm the device. The impact f receiving data frm the OPC Server When the OPC Server sends updated tag data t the OPC Client, in this case the Extender.NET Cmpnents, the first thing that must take place is the prcessing f the newly received data. Prcessing the data typically means: 1. Cmpare the data against the intended target utput fr example: if an integer value is received frm the OPC Server, but that infrmatin is ging t be sent t a TextBx.Text prperty then it will need t be cnverted t a String 2. Frmat the data, if applicable.

Page 11 f 16 Once the data has been prcessed (which uses almst n verhead), the Extender.NET cmpnents will then use reflectin t update the relevant <cntrl>.<prperty>. This is where the greatest verhead ccurs. Scan Rate Recmmendatins Generally speaking, yu shuld try t cnfigure yur scan rate settings t be the slwest yu are willing t accept. This shuld translate in fewer updates being received frm the OPC Server, which in turn will incur less verhead because f the fewer prperty-accesses required. When extending cntrls yu get t specify which Prperty n the cntrl is being extended, als the tag name and the scan rate. This means that yu can have sme cntrls n yur frms have scan rates that are higher/lwer than ther cntrls. Use this t yur advantage! Yu knw yur system best. Put yur knwledge t use when fllwing these general scan rate guidelines: High-speed scan-rates ( sub 500 msec ) If the value(s) within the device d nt change frequently, i.e. temperatures. If yu have n-chice, yu knw that yu must receive the data at a highspeed fr missin critical reasns. If this is the case, then we urge yu t cnsider this very carefully. Lw-speed scan-rates ( 1000 msec and greater ) If the value(s) within the device d nt change frequently, i.e. temperatures. Yu can accept receiving the changed data less frequently. This may mean that yu culd perhaps* miss a value in-between plling, but this may be acceptable. *If the value(s) within the PLC/Device change in-between scans frm the OPC Server, then these values will be missed. Fr example, if the data changes within the PLC every 500msec, but the OPC Server plls the values every 1000 msec, then this means that every 2 nd value within the PLC will be captured. This is nt typical fr all situatins. Yur situatin may r may nt be able t tlerate this.

Page 12 f 16 Safe Number f Cntrls t Use n a Frm Questin: Are sme Cntrls better r safer t use/extend than ther cntrls? Answer: N. If a cmpnent can be extended then it will nt be any safer r faster than any ther type f cntrl. * * Assuming that the prperty is a simple type that des nt incur t much wrk n the underlying cmpnent. Fr example, mdifying the TextBx.Text prperty incurs virtually zer verhead because the value is simply displayed within the cmpnent. Scalability Test Results In ur testing we created a single frm with 420 checkbxes n it, each ne extended such that its checked prperty will be changed by incming data. We used the Sftware Tlbx TOPServer (http://www.tlbxpc.cm/ ) in simulatin mde t guarantee that we wuld receive new values n each scan-cycle. # f Checkbx Cntrls Scan Rate Min CPU % Max CPU % 420 1000 3 15 420 500 16 27 420 250 26 30 420 100 42 44 420 50 48 50 The abve test was perfrmed n the fllwing platfrm: Intel Pentium 3 Prcessr, 2.9Ghz; 2 GB RAM Windws XP Prfessinal, SP2 Our testing tk the extreme apprach where all f the tags bund t a checkbx were receiving a value at the specified scan rate. This may nt necessarily be the case fr all users.

Page 13 f 16 Cding via the Extender.NET API (applicatin prgramming interface) Whether yu use the Visual capabilities f the Extender t bind OPC Items/Tags t bject prperties, r yu prgrammatically bind them, the final utcme will be n different, especially in the perfrmance department. This means that when it cmes t perfrmance there are n advantages t prgrammatically binding tags t bject prperties, just as there are n advantages t using the visual designer. The infrmatin within the fllwing sectins applies n matter if yu use the Visual designer r cde against the API: Perfrmance Tuning Safe Number f Cntrls t Use n a Frm

Page 14 f 16 Trubleshting When the Extender.NET Cmpnents d nt functin as expected, an errr f sme descriptin shuld be displayed. The key t successful trubleshting is t understand all f the different pieces t yur system: Errrs that are visible in the Extender.NET cmpnents may riginate frm smewhere else, such as yur PLC/Machine, yur netwrk, the OPC Server r smewhere else. Always read the errr infrmatin carefully. Always dcument any errr numbers. Try t understand the surce f the errr. ErrrPrvider Use the ErrrPrvider n all frms where yu are using the Extender.NET cmpnents. Refer t sectin Using the ErrrPrvider Cmpnent fr mre infrmatin. OPC Quality Cdes Smetimes yu may see valid data-values within an extended cmpnent, but the ErrrPrvider may still shw an errr cnditin fr that cmpnent. This can ccur when the OPC Quality cdes are nt gd. In these situatins yu shuld cnsult yur OPC Server fr mre infrmatin as t why the data quality is nt gd.

Page 15 f 16 Gathering Infrmatin Within any system yu will find multiple pieces. It is imperative that yu lk int each piece as a surce f vital infrmatin, n matter the errr. The fllwing list utlines ptential areas that may be the rt cause f any errrs: PLC/Device Lgs Many PLCs/Devices have their wn built-in event lgs which are typically accessible via their built-in web-interface. Likewise, als use the Prgramming Sftware as a surce fr identifying if errrs exist within the PLC/machine. Windws Event Lg Perhaps the perating system is the cause f an errr. OPC Server OPC Servers quite ften return OPC-specific errrs, alng with generic errrs. It is always valuable infrmatin t review yur OPC Server s lg files fr any clues. Researching Errrs and Cntacting Supprt Please see the Seeking Help sectin.

Page 16 f 16 Summary This dcument has utlined the best-practices fr using the Extender.NET Cmpnents within yur applicatin. By fllwing these guidelines yu will get the best ut f the Extender.NET cmpnents, and with fewer [unfreseen] surprises dwn the rad. We at Sftware Tlbx wrk hard t ensure that ur tls help yu t accmplish yur gals, in a safe and reliable manner. We hpe that yur experience with the Extender.NET cmpnents is a true success stry.