Date: Thu, 28 Mar 2024 20:55:10 -0500 (CDT) Message-ID: <1067665702.10069.1711677310161@localhost.localdomain> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_10068_803391767.1711677310160" ------=_Part_10068_803391767.1711677310160 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
More advanced than most systems, wher= e you must create Tags or Variables for all internal properties and custom = logic for your projects, FactoryStudio allows your application(s) to direct= ly access all the business objects that were created in your project. This = means that user-created temporary tags are not required to manage the statu= s of PLC network nodes, the total number of alarms in a group, or the numbe= r of rows in a dataset. You can now access runtime objects, business object= s (representing a network node), an alarm group or dataset, and display req= uired information or take action directly through their built-in properties= .
FactoryStudio has an underlying .NET = object model, 100% managed code, specifically targeting the development of = Real-Time data management applications. The hierarchical object model inclu= des the following top-level objects, which correspond to the main modules i= n FactoryStudio:
Tags |
Dataset |
---|---|
Historian<= /span> |
Script |
Security= span> |
Server |
Alarm |
Client |
Device |
Info |
That top-level hierarchy is implement= ed as .NET Namespaces. Each Namespace has the .NET classes and objects crea= ted when building a project configuration. Besides having the configuration= settings, those objects also have runtime properties, methods and status.<= /span>
For instance that Tag namespace has a= ll the tags in the application and each tag has built-in properties field p= roperties such as Quality, TimeStamp, Min, Max, Units and many others. = ;
Examples
Tag.tagname1.bit0, tag.tagname2.times=
tamp
The same concept of the t=
ag fields applies to all namespaces, for instance:
Alarm.TotalCount:, Alarm.Group.Warning.Disable:=
When building the project configurati= on, filling input fields or creating scripts, the system always has the&nbs= p; Intellisense auto-completion, which guides you to the existing propertie= s that are allowed to use according to what you are editing. This feature a= llows you to easily "drill down" to a specific property.
When accessing a project object in th= e .NET Script Editor, it is necessary to prefix the namespace with "@" symb= ol in order to avoid conflict with the .NET local variables names.= p>
Examples
In Script-Tasks and CodeBehind, use:<=
/span>
@Tag.Analog1
@Device.Node.Node1.Status
The @ symbol is not necessary on Grid= s and Dialogs. Some input fields may require object of only one type, such = as Tag or Display, the Intellisense will automatically guide you to the all= owed objects.
For some users that don't have previo= us experience in .NET or similar object-oriented systems, those concepts ar= e abstract at the beginning, but when learning the engineering configuratio= n tools and the FactoryStudio modules, the power of those concepts will be = clear. What is completely sure is that when getting used with object models= and Intellisense, there is a huge productivity increment and you no longer= accept working with systems lacking those features.
On this section we will explain more = about the Namespaces available on Factory Studio.