Page Tree
Other Releases
Most systems require creating a Tag or Variable for all internal properties as well as custom logic for your projects. FactoryStudio allows your application to directly access all business objects created in your project, i.e. user-created temporary tags are not required to manage PLC network nodes status, the total number of alarms in a group, or the number of rows in a dataset. Now you can access runtime and business objects (representing a network node), an alarm group or dataset, and then display the required information or take action directly through the object's built-in properties.
FactoryStudio has an underlying .NET object model with a 100% managed code, specifically targeting the development of Real-Time data management applications. The hierarchical object model includes the following top-level objects, which correspond to the main modules in FactoryStudio:
Tags | Dataset |
Historian | Script |
Security | Server |
Alarm | Client |
Device | Info |
The top-level hierarchy is implemented as .NET Namespaces. Each Namespace has the .NET classes and objects that are created when building a project. These objects have runtime properties, methods, statuses, and configuration settings.
For instance, the Tag namespace contains all the tags that are in the application and each of the tags have built-in field properties, such as Quality, TimeStamp, Min, Max, Units, etc.
Examples
Tag.tagname1.bit0, tag.tagname2.timestamp
The same concept of the tag fields applies to all namespaces, for instance:
Alarm.TotalCount:, Alarm.Group.Warning.Disable:
FactoryStudio has IntelliSense auto-completion for when you build a project, fill in input fields, or create scripts. This guides you to the any existing properties that are allowed for the object you are editing and allows you to easily "drill down" to a specific property.
When accessing a project object in the .NET Script Editor, it is necessary to prefix the namespace with an "@" symbol in order to avoid conflict with the names of the .NET local variables.
Examples
In Script > Tasks and CodeBehind, use:
@Tag.Analog1
@Device.Node.Node1.Status
The at sign (“@”) is not necessary on Grids and Dialogs. Some input fields may require objects of only one type, such as Tag or Display. For these, IntelliSense will automatically guide you to the required objects.
These concepts may seem abstract for users that do not have experience in .NET or similar object-oriented systems. However, the power of these concepts will become clear when users learn the engineering configuration tools and the FactoryStudio modules. When users get used to working with object models and IntelliSense, the users realize that there is a huge increase in productivity so they no longer want to work with systems that lack these features.
Every FactoryStudio system includes a full-featured, embedded SQL engine which provides the following advantages:
FactoryStudio provides seamless integration with any third-party database, including Microsoft SQL Server, Oracle, MySQL, Informix, SQL Lite, PostgreSQL, etc.
Any data source that supports ODBC, OLE-DB, or ADO. NET can be connected with the application; an easy syntax allows you to create or customize any query or table search with real-time tags.
FactoryStudio provides a fully featured DataGrid object. The DataGrid object presents tables and queries from databases as well as shows the contents of any tag, asset, or real-time object. Drop the table, query, or tag into the Grid Data Source to create front-end visualization, edit any real-time object, or database.
Real-time queries can be processed either from the server or from the client computer, asynchronously or synchronously. To achieve better performance, multiple requests from distributed clients are cached and synchronized from the server.
Connecting client queries through Firewall protected security zones, such as moving data between the Automation Network and the IT network, is no longer an issue. FactoryStudio provides a built-in firewall friendly data gateway. Data queries from clients are securely routed through any FactoryStudio system.
The Convergence of SQL database, HMI software and .NET
Scheduling, Process Recipes, and real-time data consolidation made easy.
FactoryStudio includes an integrated script editor for developers to create custom functionality for an application. The editor provides a powerful set of tools that help you test and evaluate your scripts. Debugging tools include assigning breakpoints, stepping into code, stepping over code, executing line by line, and watching values of objects change with each step.
Scripts are executed natively as managed code within the .NET framework, meaning you cannot create a script that would inadvertently cause the system to shut down. This provides a greater level of security and up-time for your application.
Using the FactoryStudio script editor allows you to create scripts that are executed on the server for a global reach, or they can be executed on the client side for a local reach
You can create Tasks, .NET classes, and function libraries. In some cases, it may be more efficient or desirable to create one-line expressions, rather than full methods. For that purpose, FactoryStudio provides an expression editor which allows access to all .NET operands and classes.
All project elements (Tags, Datasets, Alarms, devices, and status of communications) are immediately accessible via IntelliSense. As these are native .NET objects, no temporary tags calls are required. With a single move, you can transfer data from Tags to .NET external data tables.
FactoryStudio includes industry standard languages, C# and VB.NET, so engineers do not struggle to use old proprietary, single-threaded, or interpreted scripting editors anymore.
Translate your code between C# and VB.NET anytime to better leverage your expertise.
Tasks and expressions can be triggered to execute by date, time, condition, calendar, tag change, or interval. Execution is distributed among processes. For maximum system security and performance, each process runs in its own application domain and is isolated from the real-time database.
Complete debugging tools
You can do online project changes and configurations while running and debugging.