ICon-L

from Wikipedia, the free encyclopedia
iCon-L
Block diagram editor in iCon-L 5
graphic programming system
Basic data
Paradigms : declarative
Publishing year: 1994
Developer: ProSign GmbH
Current  version : 7.0   (12/11/2018)
Typing : strong
Important implementations : PIC18F, 8051, C166 / C167, ARM, Cortex, x186, x86, PowerPC
Dialects: Data flow / sequencers / function block language / program flow chart / domain-specific languages
Influenced by: Block diagram
Operating system : Windows 2000 , Windows XP , Windows Vista , Windows 7
License : proprietary
www.pro-sign.de

iCon-L is a graphic programming system that is mainly used for programming microcontrollers in embedded systems .

introduction

The programming of the application software (AWS) is not done with the help of a textual programming language, but with a graphical editor by drawing block diagrams . The most important reason for using block diagrams is that block diagrams were used for describing and modeling technical systems long before computers became widespread . This means that the programs can also be created by specialists who do not come from the IT world. Furthermore, an AWS is often required for embedded systems that should describe technical / physical processes. These often continuous processes, such as B. control algorithms or signal processing can be optimally represented with block diagrams similar to Continuous Function Charts (CFC) .

In addition to the practical reasons for using block diagrams, there are other reasons that are derived from software engineering . The application of fundamental principles of software development can also be understood by employees and clients who were not directly involved in software development. This is particularly important for the review , acceptance or certification of software.

In iCon-L, blocks (function blocks) can have very expressive symbols and visualize the status or the values ​​of the block online if there is a real-time connection to the target system. This is to tailor the semantics for creating and commissioning the user program to the specific area of ​​application (see also: Domain-specific language ). The advantage of application-specific symbols lies in the very high level of implicit information. If a module is symbolized as a valve and connected to other modules, the specialist knows what is hidden behind this module and how it relates to the environment.

By using subject-specific descriptions or models, the information from the requirements specification can be transferred directly to the programming environment. The requirements model itself becomes the driving force in programming. This means that the requirements specification is always up to date. This method makes the maintenance and commissioning of software noticeably easier.

iCon-L is not a closed programming system in the strict sense, but a framework or software technology package for the development of device and application-specific configuration and programming solutions. The framework initially has no relation to a specific hardware or a specific application (variant). This reference is only established through the system or application-specific configuration or development of plug-ins and libraries. Almost all plug-ins, block libraries and IDE settings are project-related configurations. Thus, the framework adapts automatically to the conditions for a wide variety of hardware systems and applications only by loading a project and the libraries embedded in it.

aims

Example of a context diagram in iCon-L 4.5
Example for online commissioning with iCon-L 5
Implementation of the data page architecture in iCon-L

Declarative programming languages are mainly implemented in iCon-L . A major goal of iCon-L is to improve software quality through the use of recognized methods and principles for software engineering . At the same time, iCon-L should use process models for software development such as B. the V-model can be implemented in a practice-oriented manner.

Programming system for engineers and technicians

The central goal of iCon-L is to provide a programming system with which engineers and technicians can program in a description language that corresponds to their usual view of technical, physical systems. With iCon-L, experts from different technological fields should be introduced to programming directly.

Communication in interdisciplinary teams

Embedded systems are naturally very strongly integrated in technological processes or in a technical context. In order to develop the software for embedded systems, it is necessary to have precise knowledge of the mechanical, physical, biological or chemical processes. However, it is almost impossible for an engineer to build up the necessary know-how in all areas. Embedded systems are therefore developed in teams of specialists, whereby communication between team members is gaining in importance. With the approach of modeling in domain-specific languages, iCon-L offers the basis for communication in interdisciplinary teams.

Model-driven (model-based) software development for embedded systems

iCon-L offer an approach to make model-driven software development available even for very small controllers in embedded systems. ICon-L is already available for systems that only have 4kByte RAM and 32kByte program memory. In contrast to many other model-based programming systems, however, no C code is generated in iCon-L . In iCon-L the model view is never left, all development phases are implemented in graphic form.

Domain-specific languages

iCon-L is designed in such a way that it can be used as a foundation for the development of domain-specific languages. In iCon-L, standardized modules are deliberately avoided. The modules are largely oriented towards the requirements of the specific application. Using a universal macro block technology, your own domain-specific semantics of the blocks can be created very quickly . (see figure: context diagram)

Development of new architectural patterns

Due to the openness of iCon-L and the associated possibility of specifying your own language resources, iCon-L is also used for the development of new architectural patterns such as B. the Data Page Architecture (DPA) is used.

Technical concept

The technical implementation of iCon-L is based on two fundamental principles.

  • Application programming is strictly separated from system programming (firmware programming).
  • The graphical editor for application programming does not have a fixed link to specific function modules (blocks). All function blocks are only integrated into the editor during runtime by loading a project.

Function blocks are the smallest software unit in iCon-L. The target function which the microcontroller is to execute is written in C or C ++ . The programming of the function blocks is assigned to the system programming in iCon-L and should be carried out by employees who have appropriate experience in system programming with C and C ++. A C function is implemented for each type of function block and compiled and linked together with the iCon-L runtime environment for the corresponding microcontroller . The system programmer uses the C / C ++ development environment for the respective microcontroller to generate the runtime environment + all applicable function block types. All functions of the tool chain for programming the controller are still available for troubleshooting in the system. The runtime environment including all function block types is transferred to the microcontroller as firmware in compiled machine language .

As a rule, application programming does not begin until the required set of function blocks has been developed, fully tested and documented. For test purposes, however, function blocks can also be integrated that have only been specified with regard to the available inputs and outputs.

For application programming, the function block types in the firmware are now linked to form user software (AWS). Although the function block type is only stored once as a function in the firmware, the application programmer can use any number of blocks or block instances . The IDE automatically generates the corresponding data structures for instantiating the blocks. In the user program, function blocks can be linked to new, more complex blocks (macro blocks) at the graphic level. The resulting (macro) blocks can in turn be used like function blocks in other projects.

A very simple concept of the linked list is used to process the user software (AWS) in the microcontroller . A so-called dispatcher (see also Lit.) works through the list one after the other and calls the corresponding C functions with the instantiated data structures for inputs, outputs, parameters and internal memory elements. Since a pointer can very easily be converted into a function call in the C programming language and the C function is already completely translated into machine language, the processing of the user program is only slightly slower than a translated C program. Compared to a program with a large number of call layers, the AWS can even be processed faster.

Since the microcontroller is only supposed to do very little additional work for processing the user program, the IDE creates a linked list that already maps the real memory conditions in the target system. To do this, the IDE asks the microcontroller to send an exact device description file. This file contains the division of the memory, which function block types the runtime kernel knows and, above all, what kind of controller it is, 8.16 or 32 bits and in which byte order the memory is organized. From this information, the IDE can very easily generate a linked list that is precisely tailored to the requirements of the controller.

Target systems

Mini-PLC based on PIC18F from Barth Elektronik

A special feature of iCon-L is that it can be used as a graphic programming system for very small microcontrollers. The runtime kernel can already be used on systems that have 4 KByte RAM and 32 KByte flash memory :

The iCon-L runtime kernel was successfully ported to the following microcontrollers:

8 bit

16 bit

32 bit

Without direct reference to a specific processor, the iCon-L runtime kernel also exist for different operating systems:

Spread in the market

Application of iCon-L in medical technology
Automation of a hemodialyser analyzer
IBP Medical GmbH

iCon-L is used by many industrial companies as an in-house engineering solution. Furthermore, a number of companies use iCon-L as an OEM tool under their own name with their own control solutions.

The main areas of application are:

  • Traffic engineering
  • Test bench automation
  • Building automation
  • Medical technology
  • Research and training
  • Laboratory automation

iCon-L emerged from the product Prosign 1988–1992, the current version is currently (January 2014) iCon-L 6.0 .

The following products are based on the iCon-L software framework:

  • test.con : Gantner Instruments test bench automation , monitoring
  • GDS : GRAF-SYTECO HMI programming
  • DACHSview  : Steinhoff real-time applications
  • IPOCS : SysMik building automation
  • SprintProsi : Ing. Büro Linsenbarth Plant simulation
  • Lucky Logic
  • miCon-L : Barth Elektronik GmbH Mini-PLC in the vehicle and mechanical engineering industry
  • PACstudio: ProSign GmbH Programming tool for PACcubes devices

In addition to the users of the programming tools mentioned above, iCon-L is still used as an in-house programming tool by the following companies:

  • Kiepe Electric (traffic engineering)
  • messMa (traffic engineering; VT 1.0 / 1.5-ETCS )
  • Eckert & Ziegler AG (medical technology)
  • IBP Medical (medical technology)
  • Otto von Guericke University Magdeburg (energy technology)
  • Martin Luther University Halle (research)
  • Cologne University of Applied Sciences (traffic engineering, control engineering)
  • NSD fusion (research project CERN)

history

Versions
iCon-L IDE (editor, linker, communication server, driver)
date Surname version
December 11, 2018 iCon-L V7.0.0.0
02/16/2015 iCon-L V6.2.0.0
10/11/2013 iCon-L V6.0.0.0
05/16/2012 iCon-L V5.0.0.0
December 21, 2010 iCon-L V4.5.0.0
03/16/2009 iCon-L V4.3.2.0
01/14/2009 iCon-L V4.3.1.0
02/25/2008 iCon-L V4.3.0.0
03/12/2007 iCon-L V4.2.3.0
04/25/2006 iCon-L V4.2.2.0
01/27/2006 iCon-L V4.2.1.0
03/16/2005 iCon-L V4.2.0.0
11/18/2004 iCon-L V4.1.4.1
05/05/2004 iCon-L V4.1.4.0
04/01/2004 iCon-L V4.1.3.0
11/20/2003 iCon-L V4.1.2.2
06/26/2003 iCon-L V4.1.0.0
04/09/2002 iCon-L V4.0.0.7
05/10/2001 iCon-L V4.0.0.2
06/22/2001 iCon-L V3.0.0.4
03/15/2000 iCon-L V3.0
07/28/1999 iCon-L V2.61E
03/12/1999 iCon-L V2.61
01/28/1999 iCon-L V2.60
11/18/1998 iCon-L V2.54
07/01/1998 iCon-L V2.51 - 16/32 bit
08/08/1997 iCon-L V2.50 - 16/32 bit
1996 iCon-L V2.40
1996 iCon-L V2.30
1995 iCon-L V2.20
1994 iCon-L V2.10
1993 OFS V1.00
1988-1992 PROSIGN

The roots of iCon-L go back a long way. An interpreter-controlled linking of function blocks (module connection list) was already used in various microprocessor controls in the GDR before 1985.

  • EAW Compact S2000 from VEB Elektro-Apparate-Werke Berlin-Treptow, language PROMAR 5000
  • Microprocessor controller RBS 05 from VEB Wetron-Weida, language MARCO
  • ursamar 5000/5001 from VEB Werton-Weida, language MARCO

The modules and the runtime kernel are still fully implemented in assembler.

Since 1992, C has been used as the system programming language for the first time to program the runtime system. With the first devices, however, the user programs were still programmed textually (hardware Z80, MC68332). Initially, the module connection list was created in ASCII with a normal text editor.

The roots of the graphic editor also go back to the 1980s. The graphic simulation system PROSIGN was presented as early as 1988. However, this editor only ran on a Unix workstation. In 1993 the editor and the other IDE modules were ported to Windows .

At the beginning of 1994, the MR92 from ABB, the first control system to be programmed completely graphically.

See also

literature

  • Andreas Wandenälis: The programming system turns sensors into edge controllers. In: ets elektronik & automation. 11-2018, p. 28.
  • U. Witfer: GRAF-SYTECO: Software development for operating devices - it can be so easy. In: Electronics information. 04-2009, p. 62.
  • St. Mertens: Systematic programming of the coffee machine. (PDF; 574 kB) (= ProSign. 2008 company publication ).
  • St. Mertens: Modular system for micro controls with model-based graphic programming. (PDF; 1.1 MB). In: SPS magazine . 3/2006.
  • ProSign GmbH use raw material software correctly. (PDF; 3.1 MB). In: Mitteldeutsche Mitteilungen. 3/2005, p. 9.
  • R. Kehrer: Intelligent solutions for self-sufficient applications in testing technology. In: MessTec & Automation. 09/2004, pp. 78–79, GIT VERLAG.
  • T Wust: Panel lecture at the IPC / SPS / Drives 2002 fair.
  • W. Günther: Development of an open technical language for a freely programmable control and regulating device based on microprocessors. Dissertation. University of Magdeburg, 1988.
  • W. Günther, B. Mattner: iCon-L for hardware-in-the-loop simulation. A&D Compendium, 2001.
  • W. Günther, St. Mertens: iCon-L - use with Soft-PLC, with measuring and control devices and in system simulation. A&D Compendium 1999
  • W. Günther: Component-based system modeling with iCon-L. Proceedings of the Congress SPS / IPC / DRIVES'98 Hüthig 1998, pp. 714–715.
  • St. Enderle, W. Guenther, HJ. Hilscher, H. Kenn, xROB-S and iCon-X: Flexible Hardware, Visual Programming and Software Component Reuse. In RoboCup 2008: Robot Soccer World Cup XII pp 485-494. Springer, Berlin, Heidelberg 2009. Print ISBN 978-3-642-02920-2 Online ISBN 978-3-642-02921-9 ( https://link.springer.com/chapter/10.1007%2F978-3-642- 02921-9_42)

Web links

Individual evidence

  1. iCon-L Framework runtime environment  ( page can no longer be accessed , search in web archives )@1@ 2Template: Dead Link / www.pro-sign.de
  2. Company publication ProSign Serie 1-F7 Messe IPC / SPS / DRIVES Nuremberg 2010.
  3. Research project UNI Halle
  4. CERN research report
  5. 5th Symposium Simulation Technology, Aachen, 28. – 30. September 1988.
  6. test.con Home - test.con. Retrieved December 11, 2018 .