 |
 |
 |
 |
 |
 |
 |
 |
| |
IEC 61131 PLC runtime system with .NET code: ProConOS embedded CLR
ProConOS embedded CLR is the open and unified IEC 61131 PLC runtime system for different automation tasks (PLC, PAC, Motion Control, CNC, robot, sensor).
By using the internationally standardized Microsoft Intermediate Language (MSIL/CIL according to IEC/ISO 23271) as device interface, ProConOS embedded CLR can be programmed in C# and in IEC 61131.
ProConOS embedded CLR at a glance:
- Proprietary development of a CLR for embedded platforms by KW-Software
- Programming in IEC 61131 and C#
- Support of realtime, multitasking, events
- Small footprint (< 100 Kbytes)
- Easily portable to further CPUs (16/32/64 Bit)
|
| |
|
| |
|
Compact embedded PLC solutions
Whether with or without underlying operating system, ProConOS embedded CLR provides all functionalities required for realizing a complete PLC based on an embedded platform: from the multitasking capability, support of SystemEvents through to provision of a device interface for commissioning, debugging and monitoring. |
 |
| |
A clearly defined state machine provides maximum transparency and ensures the safe execution of the PLC program during runtime. OPC functionality, retain handling and system variables complete the functional package of the PLC. |
 |
| |
|
 |
| |
|
 |
 |
 |
| |
Complete PLC functionality
- PLC, Motion Control, CNC, HMI.
- Multitasking, preemptive scheduling of up to 16 user tasks possible.
- External events and system events can be caught with different task types.
- Monitoring of each PLC task with watchdog. Execution of a user program with realtime violation.
- Defined state machine for maximum transparency.
- System variables for direct access to the hardware.
- Manufacturer-independent device interface for debugging, diagnosis and monitoring (see below).
- PLC-typical start behavior with bootproject.
|
 |
| |
|
 |
| |
|
 |
| |
 |
 |
 |
| |
Various possible platforms and supported targets
The embedded CLR can be ported quickly to different 16 bit, 32 bit or 64 bit CPU systems. Firmware is written in C#, is thus developed platform-independently and is therefore easily portable without additional effort. Thanks to a small footprint (approx. 100 Kbytes), portability to the most diverse embedded systems is nearly unlimited.
|
 |
| |
|
 |
| |
Supported targets:
- X86
- NIOS II/III
- MIPS64
- ARM7/ARM9/ARM11
- SH2/SH3/SH4
- PowerPC e300
- Cortex M3
- Further CPUs upon request.
Adaptation: Extensive interfaces allow system developers to realize manufacturer-specific extensions. With the ProConOS eCLR Developer Toolkit an extensive adaptation is possible.
|
 |
| |
 |
 |
 |
| |
 |
Microsoft .NET CLR as technological basis
ProConOS embedded CLR is based on the .NET technology from Microsoft and uses an Ahead-Of-Time-Compiler (AOT), which compiles the CIL intermediate code not only upon request, but already in advance. This way the embedded CLR opens its embedded application up to realtime! Furthermore the code execution of real machine code results in extremely fast behavior. |
 |
| |
|
 |
| |
|
 |
 |
 |
| |
 |
IEC-compatible and programmable in 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 provided by the IEC 61131.
However, IEC 61131 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. |
 |
| |
|
 |
| |
|
 |
 |
 |
| |
High performance and realtime capability
- Realtime capability with integrated Ahead-Of-Time-Compiler (AOT)
- Extremely fast code execution due to native machine code
Performance data (excerpt):
execution of 1000 logical or arithmetic statements on
- NIOS II 64MHz: 85 µs
- Pentium I 150 MHz: 24 µs
- AMD Athlon 2.2 GHz: 0.5 µs
- MIPS 64 400 MHz: 25 µs
- Cortex-M3 72MHz: 33 µs
- Minimum system overhead enables fast and deterministic response to external events
|
 |
| |
|
 |
| |
|
 |
| |
 |
 |
 |
| |
Communication, debug and commissioning
- Multi-client connection to several MULTIPROG and/or OPC servers.
- Communication interface for downloading (and uploading) the application image as well as for starting (cold, warm, hot) and stopping the PLC.
- Monitoring/debug interface:
- Variable status display
- Overwriting/forcing variables and recipes
- Breakpoints
- Single steps
- Realtime logic analysis
- Online changes
|
 |
| |
 |
 |
| |
|
 |
| |
 |
 |
 |
| |
Non-volatile PLC data
- Retain handling that allows to perform a warm start even after retain variables have been changed.
- Adaptation to hardware-specific NVRAM is possible.
|
 |
| |
|
 |
| |
|
 |
| |
 |
 |
 |
| |
Standard I/O drivers
- Task synchronous I/O access by I/O image.
- Intelligent field bus masters are supported.
- Adaptation to specific I/O interfaces is possible.
|
 |
| |
|
 |
| |
|
 |
| |
 |
 |
 |
| |
ProConOS eCLR: coupling with field buses or Ethernet-based field bus systems
In cooperation with Hilscher, KW-Software supports the new Hilscher netX controller, a high integrated network controller, designed as system-on-chip.
Based on the netX, ProConOS embedded supports
- Ethernet-based realtime field bus systems, such as EtherCat, Ethernet/IP, Powerlink, PROFINET and SERCOS III as well as
- leading field busses such as CANopen and DeviceNet, according to the systems (master stacks) which are supported by netX.
For further information please contact Hilscher. |
 |
| |
|
 |
| |
|
 |
| |
 |
 |
 |
| |
 |
ProConOS eCLR: motion solution
With the IEC 61131 PLC runtime system ProConOS Win MC, KW-Software has integrated motion control into the PC-based SoftPLC.
Sequence and motion control can be programmed in MULTIPROG in the IEC 61131 PLC languages. For the different motions, the function blocks defined by the PLCopen are available as library. |
 |
| |
|
 |
| |
|
 |
| |
|
 |
 |
 |
| |
Motion functions in IEC 61131 for machine and system control
The advantages of the motion solution at a glance:
- MULTIPROG as integrated engineering tool for programming the PLC and the motion functions:
All motion functions are available in all IEC 61131 programming languages in the form of the PLCopen function blocks. This easy way of engineering with integrated motion control library in an IEC 61131 programming tool reduces the number of necessary software tools and programming efforts.
- Further potential for savings by using an industrial PC as common platform for control and visualization with the additional possibility of individually adapting the used hardware and software, e.g. for further interface connections and devices.
- All parameters of the motion functions are processed directly in the motion solution. Thus, they are activated when calling the related function block and no parameters have to be transferred to the corresponding axes.
- Deployment of available and proven core technologies and products by KW-Software.
- Certified compliance with the PLCopen.
- Compatible with standards and recommendations like OMAC and PLCopen.
- Using the PLCopen FBs, motion functions like for example single-axis motions, electronic gear, electronic cam disk or flying saw, partly with changing master can be realized.
|
 |
| |
|
 |
| |
|
 |
| |
 |
 |
 |
| |
Support of the PLCopen motion control function blocks
The motion solution by KW-Software is certified according to the PLCopen and fully supports all requirements of the specification. The motion control function blocks (defined in version 2 of the specification) are already completely realized and they are provided as library for all IEC 61131 languages in the MULTIPROG programming system. This includes, for example, single-axis motions, electronic gear and electronic cam disk. With these function blocks, motion functions such as flying saw can be realized (also with a changing master).
|
 |
 |
| |
|
 |
| |
|
 |
 |
 |
| |
Available blocks of PLCopen part 1, version 2.0: |
 |
| |
 |
 |
| |
|
 |
| |
 |
 |
 |
| |
Adaptation of the ProConOS eCLR runtime system to your target hardware
ProConOS embedded CLR can be ported quickly to different 16 bit, 32 bit or 64 bit CPU systems. Firmware is developed in C# and thus platform-independent, which means it can be ported without additional effort.
Due to the use of C# for embedded devices, approx. 80 % of the code can be developed hardware-independent (managed code) and only about 20 % hardware-dependent (hardware driver) written in C or C++ (unmanaged code). This significantly reduces the effort when developing device software and allows to combine different automation applications in one device.
In order to not restrict the portability to different embedded platforms by physical limits, the low memory requirements of the ProConOS embedded CLR is a further important aspect. A footprint of about 100 Kbytes (depending on the platform used) allows the use on all embedded systems available today.
|
 |
| |
|
 |
| |
|
 |
| |
 |
 |
 |
| |
Overview of Developer Toolkit functions
The ProConOS embedded CLR Developer Toolkit allows to adapt ProConOS eCLR to a specific target hardware and to integrate additional functionalities on basis of the comprehensive eCLR API (Application Program Interface). The toolkit includes a developer manual with a detailed description of all API functions.
With this API a developer is able to use the following features:
- Integration of non-volatile (Retain) memory
- Creation and integration of I/O drivers
- Creation and integration of MULTIPROG firmware libraries (function blocks and functions)
- Creation and integration of native firmware libraries
- Creation and integration of file device drivers
- Creation and integration of file device drivers
- Using process data directory functionality
- Integration of shared memory sections
The toolkit includes one runtime license each of MULTIPROG Pro, ProConOS embedded CLR, ProConOS OPC-Server. |
 |
| |
|
 |
| |
|
 |
| |
 |
 |
 |
| |
ProConOS eCLR Developer Toolkit: product description and development requirements
- ProConOS embedded CLR Core Libraries
The ProConOS embedded CLR kernel consists of the eCLR Core Libraries These libraries are available in form of an object library The supplied libraries are compiled and linked for specific combinations of CPUs operating systems and compilers
- eCLR example with example class libraries in C#
Win32 Console application: process which hosts the eCLR runtime including native example library and I/O drivers in C++, examples for C# code of different native firmware interfaces, examples for C# code of various IEC 61131 function blocks and the interface and a shared memory area addressed directly by MULTIPROG. This code can be used as a template. In addition, the C# source of the ProConOS eCLR I/O interface is available.
- Native Library Builder Tool
This tool for the creation of native firmware libraries derives C# interface definitions for native firmware libraries in C++, which you can then "fill" with the desired functionality
- Documentation from the developer and user perspective
You receive a complete documentation of the ProConOS embedded CLR API functions in English as well as a detailed description of the operative behavior of the ProConOS embedded CLR (user documentation also available in German)
Development requirements: Apart from the ProConOS embedded CLR Developer Toolkit, the development environment of the .NET platform is required (MS Visual Studio 2008 Express is available free of charge from Microsoft).
|
 |
| |
 |
 |
| |
|
 |
| |
 |
 |
 |
| |
MULTIPROG Customization Toolkit
Part of the ProConOS Developer Toolkit is the MULTIPROG adaptation toolkit with all tools and documentation required for adaptation of the ProConOS eCLR-specific extensions to the IEC 61131 MULTIPROG programming system.
|
 |
| |
|
 |
| |
|
 |
| |
 |
 |
 |
| |
|