Frameworks are the basis for all our software development, whether we develop Java applications or Real Time Control Systems. In the Programming section we mentioned some of the problems that Frameworks help to solve.
Frameworks also exists in mathematics: If you remember Integration (as the opposite of Differentiation), you may remember the Integration by Parts rule. It is a framework for solving tough integration problems: It may by mapped onto a variety of mathematical integration problems.
We will here share with you the other benefits of using well designed Software Frameworks:
Programmers benefits of Frameworks
- Provides a guide to how to build an application. Indispensable for new team members!
- Provides team members a common vocabulary thereby easing team communication..
- Easier to help or replace a team member: Everyone know where to look for certain parts of the code.
- Easier to recognize other team members code.
- Increases productivity.
- Increases code quality.
These are some of the benefits as seen by the programming team. Many of these benefits are also direct benefits for the Customer! However, if the Framework is well designed, it will provide additional benefits to the customer. Read on to discover these benefits!
Skeptics will say: "The framework restricts me, I must work outside the framework to solve this problem.". We say, that will be a very rare scenario! By experience we see that more than 95 percent of all programming tasks can be solved well within the framework. It may sometimes mean more code have to be written, but the benefits outweighs the disadvantages by far!
Objective Technology's VSM Framework
The VSM Framework was developed with Control Systems in mind. Traditionally control systems are developed and tested in the lab through a special test setup. The development of the test process is time consuming, may contain hard to spot errors and can usually not be understood by the customer.
Visual & State Models
Objective Technology developed what we think is a better route. Using LabView we developed a technique where the equipment being Controlled and the Control System itself is simulated on a PC. The equipment being Controlled is represented by a so called Visual Model (VM) and the Control System is represented by a State Model (SM). A Monitoring Module (MM) monitors system hardware and IO. The MM reports status and errors in real-time via WLAN to a Monitor Program on a PC.
- The Visual Model simulates all moving parts and IO of the equipment being controlled in the plant.
- The State Model is the control program itself and controls the Visual Model.
Both the Visual Model and the State Model are developed with LabView and runs on all platforms LabView supports.
When the State Model controls the Visual Model in a correct way, the Logic of the State Model (the Control Program) is correct. This means that all logic can be tested on a PC before deploying the system on the actual hardware: The system will behave in the same way on the PC as on the actual hardware in the field. The time and money savings of this concept cannot be stressed enough!
Using our LabView Framework the State Model can now be downloaded to the PAC (the control module) without any changes to the program. The PAC is then ready to control the real system!
The State Model is developed using State Diagrams. Both the Visual Model and the State Model is well understood by System managers and Operators and is used as a basis for Acceptance of a correct system.
(A note to LabView developers: This is not Hardware in the Loop Testing: Hardware in the Loop is what we want to avoid by introducing the VM in the Loop!)
|State Model||Visual Model|
Objective Technology's approach has the following benefits over traditional control systems:
- All testing done on PC using Visual & State Model
- Minimum or no downtime in the production environment.
- Saves travel expenses: Developers test using the Visual & State Model.
- Dangerous situations are avoided as logical errors are found using Visual & State Model Simulation.
- Monitoring Module pinpoints operational problem areas
- Failing components can be located without expensive troubleshooting.
- Keeps production downtime to a minimum.
- Visual Model communicates the solution to the Customer
- Serves as a platform for the specifications to agree upon.
- Management, system managers and operators can verify that the VM works in accordance with specifications.
- System managers and operators can test the system using the Visual Model.
- Visual Model communicates well with the Developers
- Simplifies testing of system in accordance with specifications.
- Easy to pinpoint problems not covered by the specification.
- State Model communicates the solution well to customer and developers
- System mangers and operators can give feedback about problems, weaknesses and improvements.
- Developers can easily spot problems in State Model by watching behavior of Visual Model.
- When debugging State chart Diagrams LabView will highlight which state is executing: This gives a high level view of the system that makes it easy to zoom in on problems.
LabView supports several kinds of Programmable Automation Controllers (PACs).
PACs are less advanced than a PC but more advanced than a PLC. PACs have a Realtime Operating System (RTOS).
PAC's offered by National Instruments (NI) can run programs written for LabView under Windows without any modifications.
LabView is also supported on PC based platforms and 3. Party RTOS based systems.