Best practices for developing Elipse E3 applications.

Introduction

This article works as a guide to establish and summarize the best practices for developing  Elipse E3 applications. Based on the software modules, we will list a few articles and useful tips for developing applications with this platform.

 

Libraries

There is a set of guidelines for developing high-performance applications; one of these guidelines is the use of Libraries. Due to their complexity and extension, some projects can be developed a lot faster when using object-oriented resources and Elipse E3 libraries, which help create simple, objective projects that require considerably less maintenance.

The following list features some of the articles about this subject in our Knowledgebase:

Databases

Elipse E3 can establish native connection with Access, Oracle, SQL Server, PostgreSQL and MySQL. Each model has its pros and cons, and choosing between them will depend on the project’s purposes.

Historics are the modules responsible for storing the application data in a Database for future analyses. They can contain primary keys and indexes. Indexes are fields (or sets of fields) previously sorted out by the database in order to improve the performance of the queries using these indexes.

As for Queries, depending on the volume of data returned or the number of objects with associated queries, the excessive build up of data can cause slowness in the system. In this case, it’s important to add a filter with a short time span in the variables that are responsible for filters by date.

Note

You should notice that when using a Historic, or when using the Query’s Execute method with ImmediateExecute parameter as False, the data will pass through the database’s operation queues  (.e3i and .e3o files) asynchronously, which improves the application’s performance. We don’t recommend activating the ImmediateExecute(True) method because it can potentially cause the application to crash due to database disconnection.

The following list features some of the articles about this subject in our Knowledgebase:

Scripts

Although most VBScript rules apply to programming with scripts in Elipse E3, some peculiarities must be addressed here about implementing object-orientation in the system.

Avoid using cyclical scripts; if you can’t use associations to achieve the desired results, we recommend creating a user event that will only execute when meeting a certain condition.

The following tutorial illustrates how to use VBScript in Elipse E3 via practical examples and exercises; it should help the user establish their own best practices for scripts development.

Communication

To ensure the application’s good communication performance, we must take a series of factors into account, such as: equipment type, communication interface type, baud rate, errors rate, etc. Additionally, for better performance, you can configure some of the options directly in the I/O driver.

Driver’s WriteSyncMode property

This property establishes how writes are sent to the IOServer (synchronous or asynchronous mode). When the application’s communication underperforms, you can edit the property to unconfirmed asynchronous mode (2 – wsmAsyncUnconfirmed). With unconfirmed asynchronous write, E3Run sends the information to the I/O Server and doesn’t await response; in this case, the system assumes the write has worked. Then, the application is immediately released to follow its natural course.

Driver’s WriteFeedBackMode property

This property allows controlling feedback from writes in I/O Tags. It only applies to readable I/O Tags, that it, tags whose AllowRead property is set as True. Therefore, when the application underperforms, you can edit this property as 0 – wfWaitNextRead; in this case, the I/O Tag will be read normally in the next scan.

Driver’s EnableReadGrouping property

This property allows read optimization or automatic grouping in I/O Tags. It can’t be edited when the driver is running, and the default value is True. Read optimization will only take place if the I/O driver supports this resource.

However, you should notice that grouping (EnableReadGrouping) in Elipse E3 requires a device that supports the established limits. But some equipment will only support inferior limits. In order to group tags successfully in these cases, there are drivers (such as Modicon Modbus Master ASC/RTU/TCP driver) that allow customizing higher limits of supported data bytes, depending on the type of communication.

With Modbus driver, you can set this up at Customize Max. PDU Size; with BACnet driver, choose the option Maximum number of properties per ReadPropertyMultiple request; finally, when using Allen Bradley DF1 driver, access Max Message Bytes. Therefore, always check for this setting’s availability in your driver.

IOServer process pool

In applications with hundreds of drivers, the amount of resources required to execute the IOServer processes in each driver can exhaust the operating system’s capacity. In these cases, you may need to enable the IOServer process pool; to do so, go the the Domain’s settings and check the option on Properties tab.

The following list features some of the articles about this subject in our Knowledgebase:

Visual interface design

It’s not unusual for visual interfaces to be designed by engineers or technicians working in the plant, and not by professional designers. However, not all engineers and technicians are well versed in design studies, which encompass notions of psychology and cognitive sciences that guide the development of modern interfaces.

The HighPerformance Template library for Elipse E3 or Elipse Power is a template for the application that summarizes the state of the art of modern design trends and applies them to the development of industrial interfaces.

Overall

In order to develop faster applications, which won’t take long to open screens and animations, or won’t hang or crash, we recommend reading the following article. It summarizes the most valuable development tips to ensure that your Elipse E3 applications will perform smoothly and avoid any slowness issues.

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 0 / 5. Count: 0

Leave a Reply

Your email address will not be published.Required fields are marked *