You are on page 1of 144
Lab 8 - Modeling a Valve and a Motor 3. Open the $Valve configuration editor. 4. Configure the General tab as follows: Enable inputs: checked and locked Enable outputs: checked and locked 0 vate ‘nwt | 3 ret | Ott | Hes | Obit wera | St | vos | Stews | Gute | We F arcePY s tecenovmpens: [1 F coaale stipends ee Cad - conmeet 2 Fats oom 3 es Fr enateses o 5. Configure the States tab as follows: Enable second active state: unchecked and locked Enable transition state: checked and locked State names: locked Passive stat Closed First Active state: Open ‘Transition stat Traveling Fault state: Fault Svalve* coved )ts| oss | rs | cee vaste | ws | mete | tes T mntiscandecvesite 8 area tenes femense = atsavenite; | Bee seed a a fanaa ke ‘Anplcaton Server 2014 4-47 4-48 Application Objects 8. Configure the Inputs tab as follows: Number of Inputs: 2 and focked Input Name: locked Input 2: cis Input 1: os Inputto PV Map: locked 00: Traveling on Open 10: Closed tt: Fault (default) PV override: locked 8 fave ‘cena | a 94s | Aes | objet wYorston | Sovts | UOAs | Esters | Sets | preast2)———___— - uatectiors FS} 8 Cents: tiie Gk Sorcanteece wean FE Fr ot, SP | veer 8 | “rwensys Leoming Sonicos Lab 8-Modelinga Valve anda Motor 4-49 7. Configure the Outputs tab as follows: Number of outputs: 4 (dofaull) and locked ‘Output Nam locked Output 1: (CmdOpen Closed: unchecked and locked Open: checked and locked Initial control mode: Manual (default) and locked Control tracking: locked 8, Save and close the configuration editor. 9. Inthe Check In dialog box, Comment field, enter Vaive Initial Configuration and click OK. 10. When the Check In progress shows Object 1 of 1 completed, click Close. ‘Aopicaton Server 2014 4-50 Application Objects Create the Motor Template Nest, you wil creat the motor template. 411. In the Application toolset, right-click $DiscreteDevice and sclect New | Derived Template. 12, Renamo the template $Motor and move ito the Training\Project totset. [ ep Template Tosbox oe Lg ssing 99 fates 8g suseroehaed © givers > Syocb 3 Spree 0 sets Pol <9 Fer Lone 49. Open the $Motor configuration editor. 414, Configure the General tab as follows: ‘checked and locked checked and locked Borer {(Gsaes| ets] ove | ome tit matin | pt Uo | er) apes craters 8 Printer s | taesanmomes [2B TE cerrate erin Poe Fert Tend - - ond: a 1 tec é Fence rape peed: [me 5) enable tities 3 Tenaya Leaming Services Lab 8 ~ Modelit 15. Configure the States tab as follows: Enable second active state: unchecked and locked Enable transition state: unchecked and locked State names: locked Passive state: Stopped First Active state: Running Fault state: Fault roan ‘eon (6 yds sess | tee Woman Sop | Ue | Ete | Gt eablemand acvesate 3 semhcteate Fada: 16. Configure the Inputs tab as follows: Number of inputs: 1 (default) and locked Input Name: locked Input 4: ‘AuxContact Inputto PY Map: locked 0: ‘Stopped t Running PV override: locked 9) Stor = ena | ate ots rents sans coed ween | Sots nis | xen | es | ey) —- ee el a corbin: wotiice 9 paSouce Ree teat! Pata F= a | rettrrne 8 | “Applicaton Server 2014 4-51 4-52 Application Objects 17. Configure the Outputs tab as follows: Number of outputs: 1 (default) and locked Output Name: locked Output 4: Cmdstart Stopped: ‘unchecked and locked Running: checked and locked Initiat control mo ‘Manual (dofauit) and locked Control tracking: locked Odpunien QB OneurDectnaion Renee ones: fe vat Goo cone mace = — aidcrurdats: froma =) emerson: a F conrad etd 8 tetravedronsares [I 48, Save and close the configuration editor. 49. Inthe Check In dialog box, Comment field, enter Motor Initial Configuration and click OK. 20. When the Check In progress shows Object 1 of 1 completed, click Close. Tiworays Leoming Services Section Contairment 4-53 Section 4 - Containment This section illustrates the concept of containment and its relationship with Templates and application objects. A discussion of different modeling approaches Is also provided, Creating Contained Templates Containment is the relationship in which one object includes another. Contzinment relationships organize objects in a hierarchy. You can build objects that represent complex devices consisting of smaller, simpler devices, In scripts, these objects can be refered to by the name that derives from the containment relationship. This name is called a hiorarchical name. {An object can have three kinds of names, depending on iit is contained by another abject. The three names include: + Tegname © Contained Name + Hierarchical Name [Name Description ai [Tegname “The unique name of the individual object. For examal | Contained Name The name of the object within the context of is cantiner object. For exar | object whose Tagname is Valvet may also be refered to as Tank, Outet, I Tankt contains it and ithas the contained name "Ot | Hierarchical Name | Hierarchical names that are fully-qualified names of a coniained object include the | ‘name of the objects that contain it ‘Since the object that contains it may also be contained, there are potentially ‘rulliple hierarchical names that reter tothe same object. For example, “Mice” contains Tant als known within Miner by its contained name “Tank. | | “Tas one (eno wn Te ys coniesnone "Ot Valvet could be refered to as: “aver” | “Tank Outet 1 | +tixert Tank Out f - a | For example, an instance of a $Mixer is named Mixer_001. An instance of SValve called \Valve_001 is contained within the instance of SMixer. Change the contained name of Valve_001 to Inlet. Now Vaive_001 ean also be referred to by its hierarchical name Mixer_001.infet1. The name of the contained object can be changed, though, within the scope of the hierarchy. “Application Server 2014 4-54 Application Objects Contained names can be up to 32 alphanumeric or special characters. The second character cannot be $ and the name must include at least one letter. You cannot use spaces. Note: Base templates cannol be contained by another template, either as the container or as the template being contained. You can only use containment with derived templates. You can nest templates up to 10 levels. Note: Objects can only contain objects like themselves. For example, ApplicationObjects can only be contained by other ApplicationObjects. Areas can only contain other Areas. ApplicationObject Containment Application Objects can be contained by other ApplicationObjects. This provides context forthe Contained object and a naming hierarchy that provides a powerful ool for referencing objecs. ‘An example of a containment hierarchy is a mixer that contains the following objects: © 2inlet Valvo Agitator © Outlet Section 4—Containment 4.55 Be ———. Satin 4- Containment ‘To enable referencing and flexibility within scripting, these objects can be referenced in several me different ways. Each object has a unique Tagname, such as: bay '¢ Agitator = Agitator_001 Inlet = Inlett_001 O Inlet2 = Intet2_001 Outlet = Outlet_o01 ®yDeployment Bg TralnngGalaxy ES unassigned Host i ( A0stletformt © Grppengner $i Conralsystem 2 Unet Cunet] = @ Mixer_o01 By Aatator_001 [Agtator J Qpinett_oot rts] Qysnet2_001 [tte | $f ez nee 3 Packaging PLCs #5 Production i Recelving 31 shipping — rtaform =f) Sab Hotel Deployment [7% Dezvaten | a Within the contoxt of each hierarchy the contained names are unique, in thatthe names only refer to this tank system and the contsined objects. ‘So ff the tank is named Mixer_001, the contained names are: C ¢ Mixer_001.Agitator © Mixer_001.Inlett cor_001.Inlet2 ie © Mixer_001.0utiet ‘Additionally, you can use containment references in scripts such as: ‘+ Me.Outlet: Allows a script running within the parent object to generically reference its child outlet instance, * MyContainer.inlett: Allows a script running in any of the children instances to reference ‘another child instance named Inlett that belongs to the same parent, > ‘Anpicaton Server 2076 4-56 Application Objects Renaming Contained Objects Before you rename a contained name of an object, make sure that the object isnot checked out to ‘another user or currently deployed. ‘The new contained name must comply with naming restrictions. Template names can be up to 32 ‘alphanumeric or special characters, including the required $ as the frst character. The second ‘Sharacter cannot be $ and the name must include at least one letter. You cannot use spaces. Contained names also cannot be the same contained name as an existing contained object within the same level of hierarchy in the containment relationship. Note: Bo careful renaming contained objects. References fram othar objects to the object being renamed are not automaticaly updated with the new name. You must update the references. Objects with broken references receive bad quality data at runtime. ‘To rename an object's contained name: 41. Select the abject in an Application view. 2. Onthe Exit menu, click Rename Contained Name. 3. Type a new contained name. [AILIDEs connected fo the Galaxy chow the object's new contained name . You can also rightclick ‘an object and select Rename Contained Name. Containment and the Derivation View “The Derivation View does not show containment relationships. It shows templates and instances: with regard to containment in the follow ways: ‘« Non-contained instances show their tagnames. ‘© Contained instances show thelr tagnames and hierarchical names. ‘¢ Non-contained templates show their object name. ‘¢ Contained templates show their hierarchical name. Containment of instances is ited to Areas containing other Areas and AppObjects containing other AppObjects. Renaming can be done on an instance's tagname and contained name. A template only has @ template name. Itis also important to note that adding or removing an element tofiom a container at the template level, does not affect previously created instances. Tiwoneys Learning Sanices Labo — Creating the Mixer 4-57 Lab 9 — Creating the Mixer Introduction In this lab, you will use the valve and motor templates that you created in the previous lab to create templates for each mixer component. You wil use these templates and the mixer template to create an object containment, which integrates all ofthe parts that make up the mixer. ‘You will then update the Mixer_001 instance by adding the missing components and configure their attribute references. Once you configure the objects for the second mixer, you will then view the values for both mixers in Object Viewer. Finally, you will create a new instance of the mixer container, which will also create all of the instances of the contained objects. Objectives Upon compietion ofthis fab, you will be able to: '* Create contained templates and a containment relationship “Application Server 2014 4-58 Application Objects ———Create the Mixer Containment Relationship In the following steps, you will create templates for the parts of the mixer container. 1. Inthe Template Toolbox, Training\Project toolset, right-click each of the following template objacis and create new derived templates as follows: Paroat Name | Se eTnee [Sve [Sinett [Svave [sini | Svalve $Outlet SMolor | SAgilator | ‘Wrenwiate Tookbox 5 edo) You will now assign the newly created templates to the mixer template to create a container at the template level. 2. Select and drag the following templates onto the $Mixer template: © SAgitator © Sintett © Sintet2 © $Outlet Contained templates lose the $ at the beginning of their names. If removed from the containment relationship, the § reappears. Tverays Learing Sonic Lab 9~-Creating the Mixer 4-59 —_| SS A an Crating the Mixer 3. Click the Model view tab. 4, Inthe Template Toolbox, Training\Project toolset, create the following new instances and kosp the defauit names: [Template [Instance ‘Agitator | Agitator 004 Inlet Inlett_007 [lnlet2 | Inlet2_001 | [Outlet Outlet 001 ‘The Model view now isplays the new instances in the Unassigned Area folder. ‘The four new instances display configuration warnings, which you wil resolve later inthis lab, ‘Appication Serer 2014 4-60 _Application Objects Configure the Existing Mixer Instance ‘You will now create the containment at the instance level. 5. Inthe Model view, select and assign ll four instances in the Unassigned Area folder to the ‘Mixer_004 instance. ‘The contained name displays in brackels next fo an object name. You will now change the contained name for the four new instances fo match the template names. 6. Inthe Model view, right-click Agitator_001 and select Rename Contained Name, [a cetox chats $i Unde HB oer. [3B urea. Lest oningZhoaes ant. usin caer “versys Learning Somvess| eating the Mixer 4-61 Lab 9~ Cre - _——S—} en Creating the Mixer ‘The Rename Contained Name dialog box appears. 7. Rename the contained name Agitator and click OK. "The Model view now displays the new contained name for the Agitator_001 object. “Model ox © grossa ot : 1 Quads 0 — ‘Application Sorvr 2074 4-62 _Application Objects 8, Rename the contained names for the following: [ Defauit | Contained Name | Conta ‘Outlet_004 Outlet Lab 9~Creating the Mixer 4-63 Configure I/O for Valves and Agitator Next, you will configure the attribute references for the newly created contained instances. You will bbagin by configuring tha input and oulput references for the agitator. 9. In the Model view, open the Agitator_001 configuration editor. 10. On the Inputs tab, click the ellipsis button next to the Input Source Reference field. [com a S| ‘General | Sater Hots | oupnts | Aare} Object infomation | Serbs | UDA, | Extensor | easics | roth - tine dros 3 contain: Irn Sorc Raterrce beet Fe ep ‘The Galaxy Browser appears. 11. In the Instances pane, verify the PLCSIm tagname is selected. 12, Select the Tagname.M1XX_AG_AuxContact attribute, where XX is your sludent number. Tegra M01 AG cet Tegra 01-35 Jaron ‘Tapas IC AG Soved Tagan 135 oe? Topwe MI Ae ener. agama mo 9a. Trae. cede “Applcalon Server 2014 4-84 Application Objects Application Objects ‘The Input Source Reference field is now populated with the correct attribute reference. 'O” ngtator oon end] sates bos Joss sams | bt beatin | St | is | Seecer | cocs] ee ——— — aber of rots aa a Input ame Bs nok Source Reference: te | Sy Fenn — ee Fronds unre ventas | sautevness: [as +14, On the Outputs tab, click the ellipsis button next to the Output Destination Reference field. 15. Select the Tagname.M1XX_AG_CmdStart attribute and click OK. ‘gre OA ree Tappa MONA Spee Trane HID AG ero agra Tappan MO12_Endooe “Frenays Looming Sornoae Lab Creating the Mixer ‘Tho Output Destination Reference field is now populated with the correat attribute reference. @ Agitater_p01~ ‘Gere | Sates | {(csis ers | ct enatin| soe | use | en | ates} esas — tnaiecfowous: [2 & commana te: Oats 3, Ode Oaaten Reference a?) 16. Save and close the configuration editor. 17. Inthe Check In dialog box, Comment field, enter VO References Configuration and click OK. ‘oplication Server 2074 4-65 Application Objects Application Objects Next you will configure the input and output references forthe first inlet valve. 18. Open the inlet1_004 configuration editor. 19. On the Inputs tab, configure the Input Source Reference as follows: Input 2: CLS PLCSim-Tagname.M1XX_IV1_CLS. Input: OLS PLCSim.Tagname.M1XX_IV1_OLS ‘The Input Source Reference fields now display the correct attribute references. weti.ooi= com) te 200 Jt] Oc rams) st] wie | awe cui] rts nanbereftrets: FT SS canted: ostane 3 wees FE var ES petoeviteo Sk 20, On the Outputs tab, configure the Output Destination Reference as follows: Output 1: PLCSim.Tagname.MiXx_IV1_CmdOpen ‘The Output Destination Reference field now displays the correct attribute reference, 2 ao cerel| 25 | noe rts em | opt ora | oa | te | er | at] vast now tenes [SES mm te ves 0 Be ow oF lee i [eee We 21, Save and close the configuration editor. 22, Inthe Check In dialog box, Comment field, enter VO References Configuration and click OK. Trnenays Learning Sarvices| Lab 9~Creating the Mixer 4-67 —_ Lit 2 Bireating the Mixer "Next you will configure the input end output references for the second inlet valve. 23, Open the Inlet2_001 configuration editor, 24. On the Inputs tab, configure the Input Source Reference as follows: Input 2: CLS PLCSim-Tagname.M1XX_IV2_CLS Input 1: OLS PLCSim-Tagname.M1x0_1V2_OLS The Input Source Reference fields now display the correct attribute references. 8 et DOL iin ei tet pas} — nebestreas; FZ} a i en woaz [Tf Fragman _)\ 2 2. On the Outputs tab, configure the Output Destination Reference as follows: Output 4: CmdOpen PLCSim.Tagname.M1XX_IV2_CmdOpen ‘The Output Destination Reference field now displays the correct altibule reference, O wietz_oor = cel es] roa Gass) ch etn sms oe | ees i | out oo ———| tnnterstoote [—S] (ema ate: Out ene mney: ces one seen 28, Save and close the configuration editor. 27. Inthe Check In dialog box, Comment fils, enter VO Referances Configuration and click OK. ‘Application Server 2074 4-68 Application Objects Next you will configure the input and output references for the outlet valve 28. Open the Outlet_004 configuration editor. 29. On the Inputs tab, configure the Input Source Reference as follows: Input 2:CLS _ PLCSim-Tagname.M1XX_OV_CLS Input 1:OLS PLCSim.Tagname.M1Xx_OV_OLS “The Input Source Reference fields now display the correct altbuto references. 0 outlet oor ceo) se tots) Aas | et nean| ss | woke [ema | | ves} ——_—— SS pebedvoes, FS} & cobb. eee os: 0. On the Outputs tab, configure the Output Destination Reference as follows: Output 1: CmdOpen PLCSim-Tagname. M1XX_OV_CmdOpen The Output Destination Reference fekd now displays the correct attribute reference, @ Guriee_o01 = ene | ns |r | ttn sn] i tae rates] 31, Save and close the configuration editor. +22, Inthe Checkin dialog box, Comment field, enter VO References Configuration and click OK. Invensys Learning Services| Lab 9 ~ Creating the Mixer Deploy the Instances Even though Mixer_001 is already deployed, the objects coniained in the mixer have not been deployed. The changes to the newly contained instances stil need to be deployed. 33. In the Deployment view, expand the Mixer_001 instance. gtr 01 {gti} 1 {eto ike} 1G netomat) 1 owie ot Fou} 34. Select the objects contained in the mixer. 35, Right-click the objects and select Deploy. 36. Keep the default options and click OK. 37. When the Deploy progress displays 100% completed, click Close. ‘The Mixer_001 contained object icons indicates they are deployed, “Application Server 2074 4-69 4-70 _Application Objects View the Mixer Data in Runtime ‘You will now retum to Object Viewer to observe the attribute values in runtime, 38, Right-click on Mixer_001 and select View in Object Viewer, Although the container relationship was created and the container deployed, Object Viewer does not display this relationship in the object list in the left pane. le 30 ew Cots eb nosPntensfe 105) [25 secs Cony Coy eae fe sos. fe ipso Eee af i e asia aeetentiaentioe | 0 RSME |e tet 9 Garmbme | Sxtotesin ; "fy net et epee eae) = 2 ———— Thwenays Leaming Sonvices Lab 9~ Creating the Mixer 39. From the Attribute Name ist, add the following attributes to the watch window: ct ‘Aiuibute | Agitator 01 md iv ‘inett_001 [md Pv |intea 661 [Ga L_ _|Pv ‘Outiet_001 [Gm 3 Ysonssaiam fieetoi Pied fase Yisioutsensesaim Coed ee-eouTPLPeheg — Siooed—YigOMNaTSanaPM Cost neoonzeed faze Sisiossrsasimm Cnt mw soueoPumea — Stoped = Ysmisssrszenma Cosa iawn re fades —Yisimissossa sat Coomed agate o0Lcns © Stopped saiaasrsiem Chad gine oon hump Yusrmiasanevaim — Cossed Geet Yuspmssraasremt Coed Geet uspmissanasiaim Chet eta 01.ord Gee isaisasrszrem Chee Sen oat Es) insmoiasona am Chad sees Coat ageraeeesrnggel PREC iaregpi wath Wee ow oe 7 40. Save the watch window. ‘Aeptcation Sonar 2014 474 4-72 Application Objects Create a New Instance of $Mixer ‘Next, you will create 2 new instance of the mixer template. 41. In the ArchestrA IDE, Template Toolbox, Training\Project toolset, right-click $Mixer and select New | Instance. 42. In the Model view, under the Unassigned Area folder, expand the Mixer_002 instance. Mixer_002 has the contained instances of the objects that make up the mixer created with the correct conteined names, as well as the mixer instance, 43. Assign Mixer_002 to Line2. FQ Aatae. 01 Apter} [9 bles f ales | [9 leazon fea | 2 Cwsel atau) Pe ratam ct acta yu oe| Fr Syuteacen [neo] bocce ose) ecoeg Sep Tenaya Laaming Sonvees »000 ,00 > > 10000 ) Lab 9 - Creating the Mixer ‘44, Configure the W/O for al Mixer_002 objects shown in the table below. Note: If you are using the Attribute Browser, create a new fiter for Mixer_002, [Object | Attbute Reference | Mixer002 [1P1.Cmd Oulput OuipuBest | PLOSim Tagname M2000 TP1_CmaSia TTELPV.nputinpuiSource | PLCSin. Tagname.M2XX TP. FlowSwitch "TP2.Gmd Output OutpuiDest | PLES Tagname M20 TP2_GmndStart Te2.PVInputInpuSource | PLCSim.Tagname 2X TP2_FowSwitch LEPVinputinputSource ‘PLCSin Tagname M20C LT_PV TLPVinputinpulsouree | BLCSim-TagnamemDOCTT PV 1 [Agitator 602 [AuxConiactInpuiSource PLCSin.Tagnome MDOCAG_AuxConiad ‘Cmdr OupuDest PLCSim Tagname M2XCAG_CmdSiart | Tniet?_002 [CLS inputSource PLCSin.TagnameM2XX_V1_CLS | ‘OLS.nputSource | PLOSin.Tagnome M2OCNVI_OLS {GmaOpen Ouipuibest | PLESim. Tagname.t4230_IV1_GméOpen Init2_002 | CLS.inputSowrce TPLCSim.Tagname MXXV2_CLS ‘OLS InputSource PLCSin.Tagname MOX1V2_OLS ‘GmdOpen OulpulBest PLCSim.Tagnome M2XX_V2_CndOpen i Ouiet_002 [CLS inputSource PLCSim.Tegnome.M2xx_OV_CLS | OLS inputSource PLCS Tagname MOXX_OV_OLS i ‘GmdOpen Outpubect { PLCSim.Tagname.M220_OV_CmdOpen 45. Deploy the objects for Mixer 002. ‘Aoplication Sarver 2014 4-73 4-74 —_Application Objects 48. View the objects for Mixer_002 in Object Viewer. 47. Create a new watch window and name it Mixer2, 48. Add the following attributes to the Mixer2 watch window: Notice they ee the same altibules as shown inthe Mixert walch window in the graphic shown in Stop 39. + Mixer_002.LTPV # Mixer_002.TP1.Cmd «© Mixer_002.7P1.PV +) Mixer_002.TP1.PVMsg + Mixer_002.TP2.Cmd « Mixer_002.F2,PV Mixer 002.TP2.PV.Msg 2 Mixer_002.T.PV + Agitator_002.Cmd + Agitator 002.PV + Inlett_002.Cmd + lolett_002.PV + Inlet2_002.0md + Inlet2_002.PV + Outlet_092.¢md Yisfars SDT sisfave ease ces Uishoiesoe am Yishots vies ons Yisfors-esoe cs Yishors ace sam Ispovs ae cra Yispois aL Yisrotsencoucsam ihgnow ena eamt ispots eon 3 geenareeeeeces| REF Weanbo Wath Wb Seen De >| 49, Save the waich window. Trveneys Looming Sonices o 20090000 27999090 0000900000000000000000000000000000 invensys Learning Services Module 5 — Extending the Objects Section 1 — User Defined Objects 5-3 Section 2 - Extensions 5-7 Lab 10 - Configuring the Motor Speed 5-11 5-2 Extending the Objects Module Objectives © Add and configure User Defined Attributes in an object Identity and use the different extensions Create scripts in objects with multiple execution types: ‘Add reconnect functionality to the SDDESuiteLinkCtient object © Greate a script that wil automaticaly generate and configure W/O references on runtime Section 1 - User De 53 Section 1 — User Defined Objects ‘This section introduces and explains UserDefined Attributes and how they are configured and used. User Defined Attributes (UDAs) UDAs (User Defined Attributes) allow users to not only add togic to an existing ApplicationObject but also to expose new behavior via added (user defined) attributes. More specifically, they allow ‘users to: ‘* Add a now attribute to an object © Configure its data type © Specify the attribute calegory Set intial values and locks on the new attribute ‘Set whether the new attribute is an array and how many elements comprise it ‘+ Setalarms and historization for the new attribute (done on the Extensions page) '* Define security and references to other objects (done on the Extensions page) Note: After you add an altibute to an instance, it appears in the Aftribute Browser ist. Putto the extreme, scripts and UDAs can be used to create a completely new type of ApplicationObject starting from an empty container object that has no behavior / logic itself. ‘You can add UDAs to a template or an instance. When you add a UDA to a tomplate, the UDA, iis data type, and category are automatically locked in the child instances, ‘Application Server 2014 54 Extending the Objects ‘The UDAs page is comprised of three main functional areas and a set of function buttons. These - ‘are described below. © Aajtator 90% are state | ps | Oot | a | chet intent | Sos WOKE |r| (ETC wor name: ‘The main areas of the UDAs page include: © UDAs lst: Lists al UDAs currently associated with the abject. Click the Add button to add anew UDA. ‘* Inherited UDAs list: Lists all UDAs created on any of the parents, which are inherited by the objects. The object automaticaly includes these UDAs. They can only be edited by ‘modifying the parent template, where they were created. © Data type drop-down list: Shows the data type options for configuring the selected UDA. Select from the data types Boolean, Integer, Float, Double, String, Time, ElapsedTime of InternationalizedString. UDA names can have up to 32 alphanumeric characters, including periods. UDA names must include at least one letter, AUDA name that starts with an underscore (_) as the first character of the name is a hidden attribute, Hidden attributes do not appeer in the Attribute Browser, the Properties>Attributes dialog box, or the Object Viewer unless you select to view Include Hidden. TiwensyaLeaming Services Section 1~User Defined Objects 5-5 Allowed categories are: © Calculated © Calculated retentive © Object writeable © User writeable ‘The read/write permissions for these categories are as follows: Same Other External Object Objects Users, Calculated Ei Calculated Retentive Object Writeable ‘You can create an array for each data type except internationalizedString, Select This is an array and specify the array's length in the Number of elements box. Arrays cannot be extended. ‘The Value parameter specifies the intial setting for the attribute when the object is deployed. Enter value data for each data type. In the case of a non-arrayed Boolean, select the True/False check box to use a True value, Clear the check box to use a False value. Far an arrayed Boolean, select, the desired element and provide a default value by typing elther rue or false, ‘When using UDAS in scripting, note the following: * When using Calculated and Calculated Retentive UDAs, they must be manually Inialized. For instance, if you use me. UDA=me.UDA+1 as a counter in a script, you must also initialize the UDA with something like me. UDA=1 or me. UDA=. © Calculated UDAs can be initialized in OnScan and Execute scripts (that is, scripts with those types of Execution Type triggers), but not Startup script. * Calculated Retentive UDAs must be initiaized in Startup scripts, and can be intiaized in ‘OnScan and Execute scripts. The main purpose of a Calculated Retentive UDA is to retain the attrioute's current value after a compuler reboot, redundancy-related failover, or similar occurrence in which valid checkpoint data is present, Therefore, your Startup script. ‘should contain a statement testing the Boolean value of the attriut ‘StartingFromCheckpoint, on the object's AppEngine. Ifthe value is TRUE, you should not inlialize the UDA; ifthe value is FALSE, you should initialize the UDA. ss ‘Applcation Server 2014 5-6 Extending the Objects —— Tver Leaming Services| 10000000 900 »O Section 2 - Extensions Section 2 - Extensions ‘This section provides discussion on the different types of extensions including details regarding Input, Oulput, and InputOutput extensions. Extensions “The Extensions page is comprised of seven main functional areas, as seen in the following image. Eeerslondis Geoeanieat ‘Benlon Sc “Applicaton Server 2014 5B Extending the Objects Extending the Objects oO ‘The main functional areas of the Extensions page include: «Extendable Attributes list: Lists all altributes currently associated with the object that can be extended, The list can include those added through the UDA tab. Select the Show o Extension Attributes check box to include attributes added on the UDAs page. © ‘¢ InputOutput extension group: Configure an attribute so that its value is both read from ‘an exiemal-reference source and written to an external-reference destination. The source ‘and destination might not be the same. The extension reads the Source attribute's value ‘and qualily and updates the extended attribute's value and quality every scan. Changes read from the source are not written back lo the Destination attribute. Configuring this ‘group puts anX’ in the IO column of the Extendable Attributes list forthe selected attribute. ‘+ Input extension group: Configure the allribute to be readable for an external object. The ‘extended attribute gets the update value of the Source attribute. Configuring this group puts an’ in the I column of the Extendable Attributes list forthe selected attribute. Ifyou have a large VO count, use InputOutput Extension instead of using Input Extension ‘and Oulput Extension separately. Boolean attributes/UDAs that are extended as an InputOulput can handle momentary changes such as false-true-false transitions within & scan, ‘= Output extension group: Configure an attribute to be writeable to an exterat object. ‘When the value or qualiy (from Bad or Initializing to Good or Uncertain) of the extended attribute is mocified, the value of the Destination attribute is updated. The behavior of Boolean attributes/UDAs that are an extended as InputOutput can handle momentary ‘changes such as false-true-false transitions within a scan. Configuring this group puts an Y "Xin the O column of the Extendable Attributes list for the selected attribute. G ‘¢ Alarm extension group: An alarm is triggered depending on the state defined in the ‘Active alarm state, When the alarm name contains more than 294 characters (, ), InTouch will nt raise an alarm even though the pvlimit and description are minimum length. In the Alarm message box, you can browse and select an existing attribute or you can type a text string as an alarm message. This text string can be seen in the InTouch HMI. If you specify custom labels for the False and True Boolean states in the Boolean label extension area, these custom sirings appearin the Alarm active state list. These strings can also be used in the InTouch HMI. Select the Gategory for this arm, Specify a Priority for this alarm. Valid values ere 0 10 ‘999. Configuring this group puts an Xin the A column of the Extendable Attributes tist for the selected attribute. «History extension group: Historize the value of an attribute that does nol already have history capabilites. These values aro stored in the Wonderware historian. Configuring this {group puts an ‘in the H colurnn of the Extendable Attributes list for the selected attribute. ‘+ Boolean label extensior ecify custom text strings for the False state and the True ~ slate, These custom text sirings appear in the Active alarm state listin the Alarm extension area for you to select. If you are using the InTouch HMI, you can see these ‘custom text strings in InTouch. Configuring this group puts an °X’ in the B column of the Extendable Attributes list for the selected attribute. Section 2-Extensions 5-9 _——]_ ein 2 = Extensions ‘To create and associate an extension with an object: 4. On the Extensions page of tha object's editor, select an attribute in the Extendable Attributes list, The sx extension groups dynamically change according ( allowed extension rules for the selected attribute type. 2. Select the check box of the kind of extension you want to apply tothe selected attribute. The ‘associated parameters for each kind of extension are then made available. 3. For InputOutput extension, enter a Source attribute by elther typing in the reference string or licking the attribute browser button al right. Use the Attribute Browser dialog box to search for the desired reference string in an object. Then if Destination is diferent from Source, click Output destination differs from input source, and enter a Destination attribute by either typing in the reference string or clicking the attribute browser button. Important: if you clear the Output destination differs from Input source check box, the Content of the Destination box automatically becomes "—". In the runtime environment, *—" is interpreted as the same reference as the Source value entered during configuration time. In ‘he runtime, you can change the Source reference. Therefore, during configuration, do not lock the Destination parameter if you clear the Output destination differs from input source check box. —eeS 4. For input extension, enter a Source attribute by elther typing in the reference string or licking the attribute browser button at right. Use the Attribute Browser dialog box lo search for the desired reference string in an object. 5. For Output extension, enter a Destination altribute by either typing in the reference string or licking the attribute browser button at right. Uso the Attribute Browser dialog box to search for the desired reference string in an object. Select the Output every scan check box if you ‘want the extended attribute to write to the Destination attribute every scan period of the object (otherwise, the write executes only when the value is modiifed or when quality changes {rom Bad or initializing to Good or Uncertain), 6. For Alarm extension, select a Category from the list: Diserete, Value LoLo, Value Lo, Value Hi, Value Kiki, DeviationMinor, Deviationtfajor, ROC Lo, ROC Hi, SPC, Process, Sysiem, Batch, or Software. Type a Prionty level forthe alarm (default Is 500). Also, choose between ‘Me.ShortDesc (defaultthis is the Object’s Short Description) or typing in another alarm message in the Message box. From the Active alarms state list, select the value that triggers that alarm. The items in this list can be customized in the Boolean label extension area. 7. For History extension, enter values for the remaining parameters: Force storage period, Engineering units, Value deadband, Trend high, and Trand low, if available (depends on the data type of the selected aitribute), 8. For Boolean label extensions, enter the state names for the following: Label for False’ state and Label for True’ state, if needed. These text strings appear in the Active Alarm State list for you to select. CS ‘Applicaton Server 2074 “Terays Leaming Senvces Lab 10~Configuring the Motor Speed 5-11 Lab 10 - Configuring the Motor Speed Introduction In this lab, you will configure the $Motor template, which you created in a previous lab, to include the speed of the motor. This speed data will be created by adding a User Defined Attribute (UDA) 10 the object and configuring its extension(s). ‘Also using a UDA. you will configure the $Motor template to include a speed setpoint (Speed. SP), Wich willbe used to demonstrate how to set the motor speed. Additionally, you will demonstrate the Upload Runtime Changes feature. Objectives Upon completion of tis lb, you wl be able to: ¢ Add and configure UDAs in an object ‘Use the Input and Output extensions # Use the Upload Runtime Changes feature LL ‘Apolction Server 2014 5-12 Extending the Objects Extending the Objects Add and Extend the UDAs In the following steps, you will configure UDAs to monitor and set the speed of the motor within the ‘motor template. 4. Inthe ArchestrA IDE, Template Toolbox, Training\Project toolset, open the $Motor configuration editor. 2. Click the UDAs tab. 3. Click the Add CE] button above the UDAs list. 1. Name the new UDA Speed.PV and press Enter. 5. Configure Speed PV as follows: Data Typo: Float Category: Object writeable 8 Biot err] Sates rots | set | ares bet formation | So UOAE tana | canes | ETE] wane sete fee ost ‘enh pa tear | 6. Adda new UDA named Speed.SP. 7. Configure Speed.SP as follows: Data Type: Float Category: User writeable (dou) o Sete = ‘Geel | utes) rots | uot | Aare | Objet eorrsten | Sots UbKS | atts | ah [ETE woaname: sede oie i ed _——,) seed? copy: —__([inrortate Z Tienays Leaming Sonices © Lab 10 Configuring the Motor Speed 5-13 8. Click the Extensions tab. ‘The newiy created UDAs now appear in the Extendable Attributes list. 9. Inthe Extendable Attributes list, select Speed, PV extendable attribute. 10. Check the Input extension check box. © 11. In the Source attribute fled, enter: Tas ooo |su no es || wate [ee] wm (SE oa hey - PPSSEEEIREGSE rvcurnnvon 2 mp | Seve ——___. Feet tr i ‘Appivation Serr 2074 42. Inthe Extendable Attributes list, select the Speed.SP extendable attribute. 13, Chack the Output extension check box. 14, Inthe Destinaticn field, enter: 2 aster ere | es] ae | tne | ct Mere sets us ees Jot 18, Save and close the configuration ecitor. 46. Inthe Check In dialog box, Comment field, enter Extended UDAs Configuration and click OK. 17. When the Check In progress displays Object 1 of 1 completed, click Close. Trvenaye Loamning Sorieas Lab 10- Configuring the Motor Speed 5-15 Configure the UDAs ‘The changes you made in the previous steps have been propagated to the Agitator_001 and Agitator_002 instances. You will now resolve the Agitator_001 configuration warning. 18. In the Deployment view, open the Agitator_004 configuration editor ‘aDeaopment vex grea tt + itncstradte ‘Gore 1 Py sger 02 eae) aioe kat} yin) yout orcas) rositiant = Qigenmet OS cnestan a gunned 2 Overt ra 19. Click the Extensions tab and select Speed. PV. ‘The {in the f column indicates that the Input extension configuration was inherited from the parent object. ‘Appieton Server 2014 20. In the Input extension group, click the ellipsis button next to the Source field. 21 22. 23, Rivinkename See Ir anova eters In the PLC’ In Galaxy Browser, Instances pane, ensure that PLCSim is selected. pane, select Tagname.M1XX_AG_Speed, where XX/s your student number. ‘When using the Galaxy Browser, verily you have selecied Filter M1XX. Click OK. “The new configuration is now displayed. “Aiba name — RSET F oaretdedreen Me Lab 10 ~ Configuring the Motor Speed Select the Speed.SP extendable attribute. ‘The lin the O column indicates that the Output extension configuration was inherited from the parent object. 24, 25. Riaaterame Spe Preset tease — Se See) PF cxtns derstenehartiontse sae [seaman | In the Output extension group, click the ellipsis button next to the Destination field ‘oplcaion Sener 2014 5-17 5-18 Extending the Objects Taare hi NOS eI mt [E1gowatouiness 27. Click OK. ‘The new configuration is now displayed. ‘Rivite name Seis? oe SS) Ftp tecon Soues: aT fe tanto Destaten: | 2 : F one eveysean oF |. Save and close the configuration editor. | In the Check in dialog box, Comment feld, enter Extended UDAs Reference Configuration and click OK. 30. Configure Agitator_002 as follows: BB Note: When using the Galaxy Browser, verily you have selected Filer M2XX. [Attribute [Reference ‘Speed. PV | TagnameM2XX_AG_Speed ‘Speed.SP_| Tagname.M2XX_AG_Speet 31, Save and close and check in the Agitator_002 object. “venays Leaming Servcos Lab 10 - Configuring the Motor Speed 5-19 32, Deploy Agitator_001 and Agitator_002, keeping the default options in the Deploy dialog box. 33. When the Deploy progress displays 100% completed, click Close. Ta Deoloyment |e seiono1 fe Suenssgnedtet B 205%svemt © @hopergion eenien & Bunert iver Bg vias co, om cus 8 taszenlnes 9 ower sei fonte tured tier} OMe “9 | @ meageetneay 9 mez cet ie) 9 oule 2 Ose} 2h Padang acs Si rano rola — ‘Applian Server 2014 5-20 Extending the Objects View the Motor Data in Runtime ‘Now you will view and set the set point for the motor speed in Object Viewer 84, Right-click Agitator_001 and select View in Object Viewer. Next, you will ad the attributes for Agitator_001 and Agitator_002 to the corresponding Mixer watch windows. 36. From the attributes list for Agitator_001, add the following to the Mixert watch window: © Speed.PV * Speed.SP 36. From the attributes list for Agitator_002, add the following to the Mixer2 watch window: * Speed.PV 2 Speed.sP mma le Et Yew Opto Heb eee OEE | seu tam: [ie BOERS) To Wa for Pew DOTA 9 Hrs on2 Me 03] (@ sseo2 pees 2c <8 Padazeaedoaeal ee: t noma Yisnaeszcia7ea — chceee eer 0027 ee se Yaspors esos ose Cot ier 92 TP LP Somes — Yisaissinosooard coed & Iisnoisaamaeessm heed Ok Uismosaeae sss Chee Ok Yisnoasauamm Goce Ge Yennisenctm Chee Oe smitstansm Chet OF Usneenee@am Choad Ok & & & ot o o o it : 28 i Ht ismnamse Chbeed Yigal eiecaem Coed YispoveseicsssM — ChGoed YisaorsaasocasseM Cond 7 5 3 SROTEEEE Uisio1s $2eOSTORM Cond get co some PY Saas — ifgaeissouenzm Chet Yspoisaseaseen Choad 37. Save the watch window. Twonsys Leeming Sorvces| C i Lab 10— Configuring the Motor Speed 5-21 oO Now, to set the desired motor speed, you will change the value of the Speed.SP attribute to the desired set point. In this application, when the motor is running, it will stay as close as possible to that value, 38. In the watch window, click the Mixert tab and double-click Agitator_001.Speed.SP. Sloeee 2 geceer ieee seen - ielanean asia eee pci feieae 0 Berccan 2S 3 feugean . ieee Tene ‘The Modify Numeric Value dialog box appears. 39. In the Value field, enter 50, ° ‘ference: pater 00 Speed 5? z= Ce = 40, Click OK. In the watch window, the Agitator_001.Speed.PV attribute now displays a valua of C ‘proximately 50, when itis running. ‘Appivaton Server 2044 5-22 _Extending the Objects. Trenays Learing Sonices 3009000900000000000000000009000000000000000000 invensus Learning Services Module 6 - Alarms and History Section 1 - Alarms Overview 6-3 Lab 11 - Configuring Alarms 6-13 Section 2 -Historization 6-23 Lab 12 - Configuring History 6-29 6-2 _Alarms and History Module Objectives = Configure alarms in objects including the use ofthe Alarm extension # Uso User Defined Attributes, and extensions to trigger custom alarms Use alarm queries to request real ime alarms from alarms providers ++ Configure the $AppEngine object to store history data toa Historian Server ‘+ Configure history in objects including he use ofthe History exlension Tivenays Laaring Sanices

You might also like