Why should I purchase a commercial HMI when we could write our own using Visual Basic or C++ and avoid the run-time costs?
-
In our experience, when you develop an application with a low-level programming tool like C++, you are faced with a monumental task to create the level of sophistication provided in a good commercial HMI package. The key disadvantages are:- Your customer will not have the advantage of a reconfigurable product.
- Real development costs, direct and indirect, are enormous.
- It usually takes years to get a product ready for market. Schedules for software development are routinely underestimated by a factor of two or more.
- The risk of failure is high - over 50% of major software projects fail.
- Features are often abandoned as time & money begin to run out. This results in an inferior product.
- A highly skilled and experienced technical team is required.
- The resulting product requires ongoing maintenance to remain competitive - typically 15-25% of the original development cost.
- There will likely be unforeseen licensing costs for third-party add-ins to make the project manageable.
Creating software is an error-prone process. The more work that is done to create the application, the more errors will be introduced into the system. The greater the development effort, the greater the quality control costs will be. Inevitably, even with good quality control in place, the number of faults in the software which reach the customer grows exponentially as the development effort increases.
The result of building systems based upon previous installations is that each customer gets a different version of the system. This inevitably creates a maintenance disaster.
Using class libraries purchased from the classifieds is not advisable, as you don't know the quality of this code until it breaks. It may be fine for a desktop application, but really hurts when the application is controlling a 1.8 gigawatt power generation network, or monitoring 3,000 RTUs. The library supplier (or the employee who wrote it, as may be the case) could be gone, so the fix is delayed or doesn't happen.
What is Object-Oriented Technology (OOT) and why should I care about it?
-
The term object-oriented technology is commonly used to mean two quite different things.- The ability to select "Graphic Objects" from a tool bar and place them on the screen with a mouse. Many firms claiming object-oriented technology are confined to this capability.
- A formal programming paradigm, which consists of four key features: encapsulation, polymorphism, inheritance and abstraction. These are odd sounding terms but they correspond to the definition that we use when referring to OOT.
Getting past the terminology, this OOT approach represents devices as complete, self-contained software units. Thus device data and the procedures used to manipulate these data, (such as I/O, scaling, trending, alarms) are in one easy to manage package.
In large software projects, the ways in which different modules can interact grows exponentially with the number of modules. Using the OOT approach, the design is simplified and the reliability improved. VTS's OOT characteristic allows large and complex projects to be handled efficiently.
By the way, we also allow you to select "objects" from a tool bar and drop them on the screen.
What is event-driven execution and why should I care about it?
-
"Event-driven" means that VTS responds to events and is not slowed down by large continuous looping structures.In VTS, almost any action can be an event. These events are configured to automatically update variables and their dependencies. Variable values are then only updated when a change occurs. In other words, if A = B+C, the computation of the value of A would not require processor time until either B or C changed in value.
Our users care about this core capability as it makes application speed independent of the number of I/O or application size. The benefit is less overhead and increased speed.
What's special about VTS's state-logic script language?
-
VTS's script language is the core to almost all VTS features, even if the user never sees it. It exists behind all user interfaces, communications drivers and objects. It is what allows VTS to accomplish almost anything. The script is a collection of VTS statements and functions that are designed for industrial control.This is best demonstrated by how VTS applications handle erroneous values which would normally require exotic or extensive error-checking mechanisms in other languages. In VTS, if a variable value or procedure yielded a value outside expected ranges, say division by zero, VTS would automatically set the value to "INVALID". This automatic error trapping is limited to the statements relying upon this erroneous value, whose updates would be ignored by the internal dependency list. This automatic mechanism thus serves to prevent application crashes or annoying error dialogs.
The scripts themselves are arranged in a state-logic model, yielding a powerful metaphor for the system being implemented, as equipment and processes typically have discrete modes of operation. The states are encapsulated in modules, with an unlimited number of states per module and an unlimited number of modules possible. Only those statements that are in the active state of a module are executed, though an unlimited number of modules can run concurrently as if they were independent parallel processes.
Does Trihedral have development systems for OEMs and Integrators?
-
Yes.In order to allow resellers to add value without exceeding VTS's list price, Trihedral has pricing incentives in place.
Contact Trihedral for eligibility information
What are the yearly license fees?
-
None.Users do have the option to enter into a software upgrade agreement where future software updates will be offered for 15% of the original software license cost.
This is on a yearly basis and may be discontinued at any time.
There is no charge for updates within the first 90 days of purchase.
Does Trihedral offer site licenses?
-
Yes.A number of customers have opted to purchase VTS for unlimited use at a particular site.
We have also offered special licenses to cover certain application uses across a number of sites and licenses for a particular machine.
These licenses are priced fairly according to the volume of licenses expected.
Learn more about our licensing packages.
Does VTS have hardware keys?
-
None are required for North American and European markets.
The present arrangement utilizes a software key linked to a license number, and thus is not bound to a particular PC.
Does VTS support external timestamps on data?
-
Yes.Both the alarm system and logging systems support the incorporation of external time-stamped data.
This feature is extremely useful when collecting time-sensitive data from remote devices or from high-speed event loggers.
We have completed custom applications that correct for time-zones and record data propagation timestamps as well (i.e. - when the event occurred relative to the user and when the local system found out about it).
Can the language in the messages and titles be changed from English to another language without modifying the source code?
-
Yes.All dialog box prompt strings are defined in config.ini and setup.ini text files.
You can replace the existing English language strings with your choice of Latin based languages (they share a common character set ).
The same applies to VTS script code function names.
How long does it take to build an application with VTS?
-
This varies depending on the application complexity and size. In general there are no averages just as there are no average processes. Each generally has its own specific requirements.
Do I need to know how to program to use VTS?
-
No, but an analytical approach to configuring an application is useful.
Is it difficult to learn VTS?
-
This question is best answered with a point of reference.As with any technically advanced product, VTS requires more effort initially. The more important issue is whether the software is sophisticated enough to accomplish the required monitoring and control task once it is configured. VTS is.


