Laurenceyuyi's Blog

Just another site

Archive for December 2010

Control Programming in KW-Software

leave a comment »

1. Architecture

2. Distributed controller applications.
Ref. “MULTIPROG and ProConOS
MULTIPROG® supports the integration of different Hardware systems. It is suited for the programming of distributed controller applications.

  • Extended diagnostic reduced start-up times
  • Management of distributed controls

    • Several configurations/resources can be simultaneously administrated, programmed, debugged and taken into operation in one project.
    • All connected controls can be administrated in one dialog.
  • Network variables:Easy powerful configuration of distributed communication

    • Based on the German research project MOVA (Modular, open, distributed function block systems for the automation industry) and its successful realization, the network variables have allowed KW-Software to apply a new standard in the configuration of distributed control systems.
    • Easy realization of distributed PLC applications with several configurations and resources
    • Automatic organization of the data transfer
    • No additional programming effort, as the structure of the distributed system does not have to be considered when the system is designed
    • The program can be started, stopped and changed in online mode in each PLC within the network, independent from the other existing PLCs.

3. ProConOS for PLC kernel on different Hardware and Operating system

4.Automation Framework – the .Net Construction Kit for Automation Solutions
What about to integrate existing tools into a new platform?

If you answer these questions with a “Yes” but you haven’t found a passable way, then Automation Framework, the .NET construction kit by KW-Software, provides the solution.

Automation Framework, the component-based software platform is the solution!

Automation Framework provides the flexible framework

  • Component Framework used as basis and frame for the target application

The basic technology for each software based on
Automation Framework is provided by the Automation Framework components
‘Component Framework’, ‘IDE’ and ‘ObjectStore’.

The ObjectStore is the basis for the central data management. It builds the technical basis on which specific data models used, for instance, to process device data (e.g. sensor data, I/Os, network configurators, …) and drive data have been developed.

5.Rapid Prototyping – the short way to your first version
Here, Automation Framework supports you by: the provision of preconfigured components, which you can combine by configuration to create your software, and Add-Ins for Microsoft® Visual Studio.

It is a kind of Functional engineering – saves costs and increases quality. What means functional engineering? Machines or systems are grouped into automation modules. A functional software suite based on Automation Framework is responsible for the connection of these modules as well as their different module dates, guarantees consistent data management and provides the link between data and integrated tools. A machine function is described with all engineering data, the functionality is encapsulated and managed in a catalog for reuse.
The following illustration shows an example for the subdivision of a plant into different automation modules. The “Shrink-packing” module consists of data from different tools (e.g. CAD, PLC programming, visualization) of different manufacturers, which are all integrated in the Automation Framework and can be edited there.
6.Automation Framework supports the FDT/DTM technology
FDT/DTM with Automation Framework

7.Integration of software components in Automation Framework
Automation Framework opens up new prospects from engineering up to marketing of products! Different Automation Framework tools and suites of different manufacturers are compatible and can be combined.
Automation Framework provides two different mechanisms to fulfill these demands for all applications: ObjectStore and mediator concept.
Software components can be integrated into AF at different integration levels:

  • The deepest integration can be achieved with tools that have been developed on the basis of the .NET Framework, i.e. with Automation Framework. In this case, the principles of functional engineering are available to the resulting manufacturer-specific suite for all integrated tools.

  • Data of existing tools can be integrated at less deeper integration levels via mediators by integrating files and directories according to the database principle, with checking in and out and different observers for data consistency of the tools among each other. Depending on the interfaces of the tools to be integrated, the tools can be started easily without data coupling, data can be handed over via parameters or deep integration of the tool data in Automation Framework can be realized.

  • Automation Framework supports integration of all Microsoft technologies, from DOS applications to ActiveX controls.

8..NET and Automation Framework technology
Automation Framework is an extension of the Microsoft.NET Framework especially for the automation industry.Here, Automation Framework ensures the simple integration, enables the required communication between the integrated components and guarantees the consistent data management.

Written by laurence yuyi

December 31, 2010 at 2:08 pm

Posted in Technology

Tagged with

Further Study on CoDeSys

leave a comment »

1. CoDeSys requires device vendors to ship products with so called target support package. By installing this drivers pack, different vendors’ devices could be accessed in Programming Tool. At run-time, the CoDeSys control codes are executed with support of a standard CoDeSys run-time system in devices.

2. CoDeSys software provides programming functionality, communication block and portable protocol stack.

3. OOP

4. FieldBus devices and Controller I/O Configuration

4. Simulation
CoDeSys can simulate target devices including Controller, Field bus devices etc. This is realized by loading specific libraries in the confifuring system. Just like Step 3 in I/O configuration above.

5.Library –Multiple versions of the same library can be installed on the system.
CoDeSys support lots of vendor lib and custom lib. In general there are 4 categories of libs and category information is maintained in “LibraryCategoryBase.Libcat.xml”.

“PlaceHolder” is proposed to use target specific libs transparently, do casting when running.

  • Placeholder within project

    If a project shall be designed as compatible for multiple interchangeable target devices, the target specific libraries have to be included within the library manager of the project via placeholders.  As soon as the target device gets specified, the placeholders will be cast according to the related device description.

  • Placeholder within library project

    If the library project is based on further libraries that are  target-specific, that is device-specific, these libraries have to be included in the library project via placeholders.

  • Question: Version 3.4 CoDeSys did not offer the “Placeholder” sub dialogue when adding libraries.

With the “Placeholder”, user can pointer at external libs and link them at run-time.

If libraries have different versions, user can indicate which version to use by “Placeholder”. If no “Placeholder”, the newest version lib will be used by Interface lib, “Template Library”. In addition, “Namespace” is also used to differentiate lib versions.

6. Symbol Configuration

The Symbol configuration is used to create symbols, provided with specific access rights, via which project variables can be accessed from external, for example by an OPC Server. The description of the symbols (symbol information) will be available in a xml-file (symbol file) in the project directory, and it will be downloaded to the PLC together with the application.

The symbol configuration editor provides two tools to define a set of symbols which will be exported. In a
first step it is possible to define a set of variables / instances below the Variables node of the configurator. This can also be achieved by selecting some members of an data type below the Data Types node in the configurator.

Written by laurence yuyi

December 30, 2010 at 4:26 pm

Posted in Technology

Tagged with

The CoDesys Automation Programming Tool

leave a comment »


1. OOP (Professional version required)
 The new object-oriented functionality is optional, meaning, it is left up to the user to choose between classic or object-oriented programming (OOP) or combine both programming philosophies.

  • methods and interfaces with their methods can be implemented and interfaces with their methods can be implemented
  • A function block can extend a class with the new key word  EXTENDS  and then adopts the data and the methods of the class
  • Which implementation of the method is actually executed when a method is called via its interface, is decided at runtime.  This functionality is called polymorphism.

Comments: The OOP borrows the programming idea in computer science, exactly similar to the CTC (United States Patent US5950006) Object-oriented control programming. Considering the situation in State based control SMI++ context, control program is realized in “process” which is executed by SMI++’s Logic engine. The process is programed and controlled by state messages or command instructions between real devices.
So SMI++ is more suitable for process control on the basis Finite State Management, and CTC techniques are more suitable for factory control on the basis of object-oriented definition of target devices.

2. CoDeSys Architecture
Development layer, Communication layer and Device Layer comprise the entire architecture. Compared with RSLogix, CoDesys has Device Layer Runtime code segment which interprets the Control program comming from Development layer, at both program downloading and running time.

3. Application Area

  • The user can add customized plug-ins to CoDeSys (from CoDeSys 3.0) and thereby integrate a new programming language or a new field bus. A project wizard can also be implemented.
  • Existing plug-in components can be replaced by customized implementations. This allows for the adaptation to customized standards as regards communication, operation or look and feel for example.
  • The user can create his own development environment which makes use of the CoDeSys Automation Platform functionality. 

Due to the open plug-in architecture of the CoDeSys Automation Platform the user can extend the functionality of both the platform and the programming system CoDeSys V3 by adding his own components such as:

4.CoDeSys also offers a completely integrated operating and monitoring solution.
The programming system contains an integrated visualization editor. The standard interfaces for a
basic connection to external visualization
tools for example via OPC  are also supported by CoDeSys.

Written by laurence yuyi

December 24, 2010 at 5:03 pm

Posted in Technology

Microsoft Composite UI Application Block

leave a comment »

The Composite UI Application Block facilitates the design and implementation of your client applications in three areas:

  • It allows your application to be based on the concept of modules or plug-ins.
  • It allows developers with shell expertise to build components that hide user interface complexity from the business logic development.
  • It facilitates development using patterns for loose coupling between modules.


Smart Client – Composite UI Application Block

Consolidating User Interface and Shell Expertise

The Composite UI Application Block provides an architecture around these components and an implementation based on Windows Forms. It includes:

  • A consistent way of showing and hiding controls using Workspaces. A shell developer can consistently introduce visual effects, layout strategies, or other behaviors without affecting the business logic components.
  • A common way of adding and using UIElements into the shell, such as menu items, status bars, so that the developer of an individual piece of business logic does not need to know how or where that element will be shown.
  • A Command architecture that allows a business logic developer to separately define actions a user can take and how they are displayed in a specific shell.

Achieving Modular Design of Your Business Logic

  • WorkItems that provide an easy way to scope which collaborating components participate in a use case, share state, events, and common services.
  • An Event Broker that provides a many-to-many, loosely coupled event system mechanism between objects in your application.
  • Placeholders for sharing State where multiple components can place or retrieve information.

Written by laurence yuyi

December 16, 2010 at 8:09 pm

Posted in Technology


leave a comment »




Written by laurence yuyi

December 8, 2010 at 9:13 am

Posted in Education

Object-oriented and State-based Programming in Distributed Control System

leave a comment »

1. Object-oriented programming of devices, incl. CTC (Control Technology Corporation)
The real hardware is configured as an object with states (properties), actions (Methods) to achieve state-based operation, diagnostics and metric analysis etc. The control program has two parts (compiled and run-time) and consists of various device objects. The run-time part of control program features the flexible control system. For executing control program, two engines, i.e. Performance Engine and Monitor Engine are needed. See Fig. below.
United States Patent US5950006

2. State based control, like Object-oriented programming, incl. SMI++ framework. Its running mechanism is as below,
SMI TOOLS  for programming SMI objects and  Proxies

The basic action by which the SM can control activities in the experiment is the exchange of messages with the associated processes. The SM may be driven by command messages originated by other processes, called control processes. The use of an interactive control process is the normal way by which an operator can interact with the SM.

Written by laurence yuyi

December 2, 2010 at 3:09 pm

Posted in Technology

Tagged with ,