Products
IEC languages and C#
 

IEC-compatible and ready for C#

Since its introduction in 1993, the IEC 61131 is the accepted standard in the field of automation and PLC programming. Standardized regarding the structure of automation devices, the used programming languages and data types, this standard allows the independent development of PLC applications and ensures portability. These are only two advantages caused by the IEC 61131.

However, IEC compatibility alone is not sufficient in the .NET era. Today, also programming languages that are used in the .NET world, first of all C#, have to be supported.

   
 

Open programming interface

ProConOS embedded CLR provides an open programming interface based on .NET's own intermediate code CIL. This allows to program the embedded CLR with any .NET programming language that is able to generate CIL code.

In addition, MS Visual Studio .NET has been extended by predefined templates that are used to generate firmware library for KW-Software's IEC programming system MULTIPROG from projects written in C#.

  When integrated into the programming system, the program parts written in C# can be used like IEC 61131 function blocks and functions.
 
   
 

Different ways leading to the same result: CIL

This way, it is possible to

  • mix IEC languages and C# within one project in KW-Software's IEC programming system;
  • develop portable firmware when programming in C# using the complete functional scope and all advantages of the high-level language C#; 
  • use the advantages of the IEC programming system and also the efficiency of MS Visual Studio; 
  • use own tools and languages that can generate CIL for program development; 
  • use the existing .NET tools for documentation, generation of API helps or checking design guidelines.

 
 

 
 

In the embedded CLR, specific properties of the IEC 61131 or the embedded hardware are implemented via .NET attributes, for example [Function block], [RETAIN] or [NATIVE].

These attributes, which are available in C#, define the system behavior and are managed by the AOT compiler.

A native library interface allows and manages the call of native code via .NET namespaces from within C#.

 
   
 

Programming example

For controlling a 7 segment display, the hardware is controlled via a C# function block "SegmentDisplay" defined in the IEC 61131 FBD program. This function block is called from within a firmware library that is created with Visual Studio .NET.

Access on the hardware is realized via C# namespaces. For the class "SevenSegment" with the method "WriteCode", a high-performance function call to the native code is generated via the Native Library Interface - without overhead.

 
 

 
 
[Print version] [Send to friend] [Top]
Address
KW-Software GmbH
Lagesche Straße 32
32657 Lemgo (Germany)
+49 (0) 52 61 / 93 73-0
info@kw-software.com
You are here
Homepage
Products
Embedded CLR
Quick Links
Contact Person
Company Profile
Information Enquiry