ISaGRAF Target for LINUX

NEW! ISaGRAF Target for Linux with GPS Support

Press Here To Skip Introduction

INTRODUCTION

ISaGRAF environment and IEC 1131-3 standard

ISaGRAF™ is a comprehensive Computer Aided Software Engineering (CASE) environment. ISaGRAF was introduced in 1990 by CJ International, a team of software engineers specialising in the development of Soft Logic systems [1]. It is designed to turn any industrial computer or microcontroller board into high performance, yet inexpensive open PLC architecture. ISaGRAF uses standard industrial PLC programming methodologies for designing powerful applications without the need of high-level computer languages or expertise in computer hardware. Here are some of over 120 companies offering ISaGRAF as the Workbench and runtime for their control systems: ABB, BMW, General Motors, Green Spring, Motorola, PEP Modular Computers, Phoenix, Themis Computer (see http://www.isagraf.com).

The ISaGRAF system consists of two distinct parts. The MS Windows based GUI workbench and the target. The workbench allows the user to write IEC 1131-3 compliant programs using any of the five defined languages in the IEC 1131-3 specification [2]. The target is the PLC or embedded controller. The target usually runs the ISaGRAF target software. The target software is built around a kernel which executes the 5 IEC 1131-3 languages and makes the call to the IO boards interface, the communication interface, the C function and function block library, the system interface.

The workbench can operate on Windows 3.1x, Windows 95 and Windows NT. The workbench compiles the project into Target Independent Code (TIC). This is a pseudo code highly optimized for the Structured Text (ST) language as defined in the 1131-3 standard. The ST languge is a super set of the other four languages and it can be mapped very closely to native “C” expressions, which keeps the TIC very efficient. The TIC code is sent to the target for execution via a communication channel, which is typically RS-232, RS-485 or Ethernet TCP/IP.

The philosophy of the ISaGRAF target code is to be as flexible as possible without showing bias toward any specific hardware platform. To this end, the ISaGRAF kernel source code is written in ANSI ‘C” with a variety of places to hook into the code for custom implementation. From an OEM’s point of view, the ISaGRAF system allows them to concentrate on the hardware and leave the software headaches for ISaGRAF to handle. In any case the customer will use a comprehensive GUI workbench where they can write programs in any of five IEC 1131-3 languges. From the user’s point of view, they can focus on solving the problem without worrying about the hardware implementation (as long as it can interpret ISaGRAF TIC code) [3].

Workbench-Target Interaction

IEC 1131-3 describes the following programming languages:

Graphical Languages:

Textual Languages:

The syntax of these programming languages is defined in detail to ensure that users find the same syntax in all program packages which conform to IEC 1131-3 [2].

Graphical Languages

The graphical representation of application programs is the typical feature of PLC-programming. Whereas textual languages are widely used in the field of programming computers.
Sequential Function Chart (SFC) is above the other programming languages and enables sequence-oriented problems to be formulated using steps and transitions. The steps represent the actions, which can also be performed in parallel, and the transitions the conditions which must be fulfilled before moving on to the next step.
Ladder Diagram (LD) employs the elements normally open contact, normally closed contact and coils familiar from ladder diagrams.
The Function Block Diagram language (FBD) corresponds to the widely used circuit diagram. Here too, functions and function blocks, represented by blocks in the normal way, can be integrated. In this case, binary inputs and outputs (Enable and OK) are not mandatory, but optional, as illustrated in the following example:

Textual Languages

The textual representation of instructions for a computer is widely used. Despite this, in the case of PLC-programming it is only a supplement of graphical information.
The structure of Instruction List corresponds to that of the present IL languages. The operators of Instruction List has been standardized. The standard stipulates that all symbolic identifiers must be declared before they are used. For structuring programs, function blocks can be invoked with the CAL command. Functions can be invoked direct, i.e. without CAL.
Structured Text (ST) is a high-level language containing all the essential elements of a modern programming language, including selection branches (IF-THEN-ELSE and CASE OF) and iteration loops (FOR, WHILE and REPEAT). These elements can also be nested in the normal way.

 

ISaGRAF Target For LINUX Operating System

ISaGRAF LINUX target consists of the following programs:

The ISaGRAF Linux target is a real time software running an ISaGRAF application on your industrial computer system or board according to the following well known scheme:

isagraf work cycle.jpg (16903 bytes)

 

The target cycle consists in scanning the physical inputs of the process to drive, processing application data according to the ISaGRAF workbench application programs and then performing physical outputs update. The ISaGRAF runtime kernel is engine that has similar behavior to traditional PLC. The Linux ISaGRAF runtime kernel also has additional functionality, which greatly expands and enhances the application possibilities. Any control system that has Linux operating system uses the same Windows Workbench as any other system using the ISaGRAF runtime. End users only need one development environment including the suite of standard languages.

To improve the response time of the ISaGRAF target kernel and of the communication link, the target is split into two tasks separating communication job (Lisatst, Lisanet) from application execution (Lisaker - kernel task). Such architecture allows the user to run more than one communication task linked with the same kernel task or run up to 4 kernels with the same communication task.

The kernel and communication tasks interaction

 

The kernel and communication tasks are independent and can be separately forked. The only requirement is that the kernel task(s) has to be started first so that it initializes its system environment and the communication task(s) can link it. Lisaker provides IEC1131-3 programming. Communication tasks Lisatst and Lisanet allows the user to download application, start and debug it. Lisanet provides the link with SCADA system, such as Realflex, Sitex or Wizcon. RealFlex and Sitex operate under QNX operating system. Wizcon operates under Windows NT. SCADA system communicates with PLC via I/O driver. Such driver sends requests to Lisanet communication task via TCP/IP protocol. Lisanet process I/O driver request scans data from ISaGRAF realtime database and delivers they to I/O driver via TCP/IP network.

Usually, SCADA system uses a unique I/O driver for each type of PLC, because of various specific PLC features and I/O modules. If Linux runs on PLC then there is no need to develop I/O driver for this PLC. It is possible to use standard I/O driver for ISaGRAF Linux Target.

Additional utility enables to convert ISaGRAF database into RealFlex or Sitex database and automatically link ISaGRAF variables with SCADA system points.

ISaGRAF Linux Target exploits Bitbus network. The library for data exchange between different targets through Bitbus network is integrated into runtime kernel. This library includes functions and functional blocks for data transfer between ISaGRAF kernels, which can run on different PLC or on the same PLC. Hence, any boolean, analog or timer parameters can be exchanged with other Linux computers with the status being monitored for supervisory or security reasons.

ISaGRAF Linux Target includes also comprehensive library of various PID algorithms.

isagraf for linux (68805 bytes)

Thus ISaGRAF for Linux offers the reliability and performance to get the job done.


Bibliography

1.CJ International, “ISaGRAF Manual”, 1996.

2.IEC, “IEC 1131-3 International Standard”, 1993.

3.F.Bonfatti, P.D. Monari, U.Sampieri: “IEC 1131-3, Programming methodology”, 1997.


ISaGRAF™ is a registered trademark of AlterSys. RealFlex™ is a registered trademark of Datac Technology. RTP™ is a registered trademark of RTP Corp. Advantech™ is a registered trademark of Advantech Co., Ltd.

Please, all questions on ISaGRAF for LINUX send to Pavel Kabanov via e-mail: root@nautsilus.ru


© NAUTSILUS, Ltd. v.6/XI/2001
Email: root@nautsilus.ru WEB: www.nautsilus.ru
Vorobyovy gory, NIIYAF MGU, VE 415 -- RUSSIA MOSCOW 119992.
Phone: +7 (095) 939-5872, +7 (095) 939-3924 Fax: +7 (095) 939-5002