ISaGRAF
ISaGRAF version 3.46 - Notes

Information in this file explains the differences between ISaGRAF V3.46 and the previous versions for the Workbench, and topics which do not appear in the ISaGRAF documentation. ISaGRAF V3.46 is fully compatible with version 3.3x. The ISaGRAF V3.46 Workbench can be used to program an ISaGRAF 3.3x target.

On Windows 95/98, Windows NT and Windows 2000 systems, the Sentinel/Rainbow Driver has to be installed for the protection key to be recognised. Sentinel Rainbow drivers are delivered in the "\sentinel" folder of the ISaGRAF installation CD-ROM.

Please refer to the list of new features in this file for more information:

New features in release 3.40

About Flow Chart

Important notes

Detailed list of new features in release 3.40

Corrections included in release 3.40

About previous releases

Corrections included in release 3.46:

0781 R 2 debug: many long messages => no refresh or '???'

0790 R 1 CMP: .X8M file not ok for Upload

0809 R 3 Error on visual V5 if generate SCC of a FC program

0814 R 1 GPF after compile LD program with 10 jumps

0816 R 4 spotlight+var list values not reseted when target stops

0817 R 2 GPF in List of var when insert gs1.x(prog)

0819 R 2 DBG: too long messages crashes communication

0832 R 3 Error message appear in simulator if var. with 255 char

0835 R 3 GPF in WSCM1EDT when DDE read on a 256 char string

0836 R 4 SFC editor GPF when opening program

0840 R 2 QLD: copy and paste leads to a GPF

0843 R 3 Simulator:C function not return 0 if not implemented

0845 R 2 Optimizer: LD rung badly optimized

0846 R 2 CMP errors on LD after touch+make on big appli

0847 R 3 SCC: SYSTEM not called if connected to another block

0850 R 2 SCC: function integer return param not casted

0851 R 2 SCC: error on function with no param

0853 R 2 Simulation script print not ok for negative integer

0856 R 2 LD: All "find" should loop when end is reached

0860 R 3 SCC: corners after CFB outputs are wrongly translated

0861 R 2 DBG: Consumed memory increase in simulation

0863 R 4 FBD: comment not ok in Russian

0864 R 2 SFC:var LD transition stay black during debug

0874 R 4 Max number of openable window decreases

0881 R 1 CMP: Nested For loops + call to IEC  FB => exec.pb

0882 R 2 GPF: Problem when insert row in FBD

0887 R 2 FBD: GPF when clicking on icon display/hide grid

0889 R 2 CMP/FBD: FB inst always renamed, on-line change not ok

0890 R 4 Spy list closes debug. if target divides a real by 0

0892 R 2 QLD: bad operation if 2 IEC FB in different programs


New features in release 3.40

Below are main new features introduced in release 3.40:

- "In Line" Function Blocks in Quick LD

- Syntax coloring in ST/IL editor

- Preview of page borders in FBD editor

- Quick search in Cross Reference editor

- Relative pathnames in resource definition file

"In Line" Function Blocks in Quick LD

ISaGRAF version 3.4 now supports "In Line" function blocks in Quick LD. "In Line" Function Blocks provide the possibility to have nested FBs (FB in FB).

Definition

An "In Line" function block has the same definition as other function blocks according to the IEC syntax and common ISaGRAF 3 implementation:

- "In Line" function blocks have input and output parameters. Each input or output parameter has a well defined data type. The total number of inputs and outputs (together) cannot exceed 32.

- "In Line" function blocks have local variables (declared from the ISaGRAF dictionary), that are instanciated (duplicated) on each use of the function block in a diagram.

The main characteristic of "In Line" function blocks is that the body (code) of the block is duplicated on each use (each instance) of the block in the application. Unlike other function blocks, the calling system and parameter passing mechanism is not applied to "In Line" function blocks. The call to an instance is replaced by the actual code of the block. This replacement is achieved by the Quick LD compiler. Because the instanciation mechanism is operated completely by the compiler, there is no limitation in nesting "In Line" function blocks. This means that:

-	An "In Line" function block may call another "In Line" FB

-	An "In Line" function block may call a standard or "C" FB

Note that old style function blocks (such as defined in previous releases of ISaGRAF) are still supported.

Principle

Let's imagine a very simple block with one input, one output and one internal instanciated variable. This example is an edge detection function block:

Name:

FB1

Inputs:

IN (boolean) = input signal

Outputs:

Q (boolean) = set to TRUE only when IN changes from FALSE TO TRUE

Internal instance data (to be duplicated on each call):

PREV (boolean) = state of IN signal at the previous cycle

LD programming of the FB1 block:

     IN         PREV          Q

|----] [--------]\[----------( )-|

     IN         PREV

|----] [--------( )-|

Equivalent code in ST language:

Q := IN and not PREV;

PREV := IN;

Below is a Quick LD program that calls the function block:

     B1   +-------+         B2

|----] [--|  FB1  |--------( )-|

          +-------+

     B3   +-------+         B4

|----] [--|  FB1  |--------( )-|

          +-------+

The code of "FB1" will be duplicated, according to the variables wired on its inputs and outputs. Below is the ST equivalence of the code generated when compiling the parent program:

(* code of the first call *)

B2 := B1 and not PREV1;

PREV1 := B1;

(* code of the second call *)

B4 := B3 and not PREV2;

PREV2 := B3;

As shown in this example, the compiler must allocate internal variables for FB local variables for each call (PREV1 and PREV2 in this example). Due to the automatic re-naming of internal variables, there is no limitation in nesting "In Line" function blocks.

Note that the size of the application code (TIC code) is increased when using "In Line" FBs instead of other "normal" FBs available in previous releases of ISaGRAF 3. Also, "In Line" FBs provide better execution time as no function calling and parameter passing instruction is required.

The nesting of "In Line" FBs also supports the instanciation of edge detection contacts and coils (P and N), the use of "C" and standard function blocks, and local jumps and labels.

Limitations

"In Line" FBs are available for Quick LD only. This means that:

- an "In Line" FB must be written in Quick LD

- all programs calling "In Line" FBs must be written in Quick LD

- pieces of Quick LD in SFCs and Flow Charts can call "In Line" FBs

Below are the restrictions applied when calling FBs:

- an "In Line" FB can call another "In Line" FB

- a "normal" FB cannot call an "In Line" FB

- an "In Line" FB cannot call a "normal" FB

- recursive calls are not allowed

("normal" means FBs such as implemented in ISaGRAF 3.3)

Calling mistakes are detected at compiling time. Also, the compiler automatically ensures that "In Line" function blocks are compiled according to the calling graph when you run a "Verify" or "Make" command.

The "In Line" function blocks can only be defined in a project. The ISaGRAF library does not support "In Line" function blocks.

Defining "In Line" function blocks

The new "In Line" command in the "Tools" menu of the Quick LD editor allows to specify that the edited FB is an "In Line" FB or not. This command acts as a toggle to set or reset the "In Line" attribute of the edited FB. When "In Line" is set, a small title bar showing the "In Line" text is displayed with toolbars.

Syntax coloring in ST/IL editor

ISaGRAF version 3.4 includes a new text editor for ST and IL programs. This editor uses several colors for displaying language keywords, variable identifiers, constant expressions… In addition, this new editor is now capable of editing bigger files (up to 100 KB depending on the machine). The set of colors applied for syntax coloring cannot be customized.

Preview of page borders in FBD editor

When printed, the FBD diagram is splitted into folios according to the selected printer and paper. It is now possible to preview the border of each folio in the FBD editor. This is useful to avoid, while creating your diagram, putting a symbol at a location where it will be splitted on two pages.

The page borders are displayed as plain gray lines in the diagram, when the editing grid is visible.

The FBD editor uses the last selected printer configuration to display the page size. You must activate the document printer and select the right printer and paper before viewing page borders in the FBD editor. Thus, to check your diagram, you must:

- run the document generator

- select the printer and the paper size and orientation

- close the document generator without printing

- open the FBD program

- display the grid.

Quick search in Cross Reference editor

The Cross Reference editor can now be used to search for references of one symbol only. When the Cross Reference editor is run, a dialog box is displayed, where you can enter the symbol to be searched. Press "OK" to search for occurences of this symbol only. Press "(all)" to calculate full cross references.

Note that running the Cross Reference editor on only one symbol saves calculation time.

Relative pathnames in the resource definition file

The definition of resources (external data to be merged with the downloaded code) now accepts relative pathnames. You can use the ".\" relative path to specify an input file located in the project folder. This applies to both TEXTFILE and BINARYFILE resources, for the file specified in the "FROM" statement.


Detailed list of new features in release 3.40

Below is the detailed list of new features introduced in release 3.40:

0034 R 4 Technical not of board: improve printing

0454 R 4 Calendar 2000 certification

0581 R 4 quickLD:Create direct line to align coils on right

0602 R 4 enlarge limits of ST editor

0622 R 4 FBD:insert mark to visualize end of printable page

0639 R 4 Relative path for Resources

0668 R 4 Different color to key words in textual langages

0701 R 4 Porting on QNX

0757 R 4 Install: to set NT=1 entry, ask  if system is NT

0786 R 4 ISA.MNU: add  "%" in cmd lines

0791 R 4 add HOOK function call  before any compiling

0792 R 4 update isa.pro immediately if prj sort & creation

0808 R 2 Tool-Find command in ST/IL generates references to lines

0828 R 4 Display warning when exit debug if var locked

0829 R 3 Add UDTM hooks

0832 R 4 Enable retentive variables to have initial values

0849 R 4 SFC/FBD : add icons, to zoom in & out at once

0851 R 4 upload all Q&A at once from WEB site

0860 R 4 Find/Grep of a variable in a project

0888 R 4 UDTM : add hook for release

0902 R 4 APPLI.OPT in Exe folder-> default for all projects

0911 R 4 Cancel according to the BEFORE hook return value

0913 R 4 Fonts and layouts in FBD editor

0914 R 4 Calls to function blocks in function blocks


Corrections included in release 3.40

Below is the list of corrections introduced in release 3.40:

0481 R 4 WDK manual: some little errors in VXA

0495 R 4 prog hierarchy print out does not display comments

0587 R 3 Problem with FIND command in text editor

0600 R 4 OPC client brds should not add point:group.tag

0613 R 4 OPC message boards do not work with long variables

0616 R 2 SCC generation GPF if: FB instance in case state..

0624 R 3 IDK manual:detail retain attribute spelling errors

0638 R 2 OPC server: two appli symbol tables mixed

0654 R 2 DDE sever does not see downloaded symbol table

0656 R 3 Corner not inserted if line has a bool negation

0664 R 2 Error if compile LD program with more than 59 rung

0688 R 2 Program is not recomp. if para. of Fct modified

0691 R 3 vertical lines interfer in print from FBD

0692 R 2 GPF:restart the debug mode and open variable list

0695 R 4 french dictionary: spell error d&claration rapide

0696 R 3 CMP:Bad boolean expression generated if optimizer

0697 R 2 udtm32k.dll:network @ in decimal badly managed

0699 R 4 wkinter.doc should use new CJ-I address

0700 R 4 IDK documentation spelling errors

0701 R 2 RCLB0CMP.DLL, v3.32 compile resource GPF

0702 R 2 cannot open second program in project

0703 R 2 LD: variable not refresh in debug mode

0711 R 2 1st displayed 'technical note' is the wrong one

0713 R 1 GPF after start debug of application

0717 R 2 wrong variables values when check optim. Options

0719 R 3 Err message in debug window:(MAIN) [68] unknown...

0720 R 2 Wrong optimization in a function-init suppressed

0723 R 4 'cannot update appli' if 2 different online modif

0724 R 2 CMP: 'and' result not correct if optimizer used

0726 R 3 SCC: code generate is bad if var name is CST,TRT..

0727 R 2 SFC: 'replace all' does not work on sub-strings

0728 R 4 UDTM32K.dll : spelling error: repreNsented

0729 R 4 Simule script not re-compiled when .xws changed

0730 R 1 SCC: 'READ' string not called for User C F Bblocks

0734 R 2 Bad generate SCC code if 'A = (B / 10.0);'

0741 R 2 CMP: +sign in "FOR ..BY..+.. " causes execution pb

0747 R 1 PRT:vertical lines appear after Print a FBD prog

0751 R 3 GPF when moving creation in empty project group

0752 R 3 Bug in WKINTER.DOC

0753 R 3 SCC: SCC_ERRMSG_Q_VA: undeclared identifier

0755 R 3 GPF compile a ST program with big comment (>4K)

0757 R 2 bad optimization of a condition

0758 R 3 CMP: GPF after generate 'C' code (old C code)

0759 R 3 Variable can not be cut if others are protected

0760 R 2 OPC server consumes memory

0761 R 1 Simulation Scripts does not work with REAL inputs

0762 R 3 Bit fields show a fixed value in spotlight (hexa)

0763 R 2 Bit field not correct with big hexadecimal value

0765 R 4 WKINTER: bugs in R_ANY documentation

0766 R 4 do not display warning "Timer in FB not supported"

0767 R 2 GPF export/import of function with long comments

0768 R 3 FBD:insert object after paste not OK if use scroll

0769 R 2 CMP: generated big resource is corruputed

0773 R 2 VAs in VARLIST resources are not correct

0776 R 3 FBD: GPF after zoom max+ scroll down

0778 R 2 CMP Error if 3 Resources of typ VARLIST

0779 R 2 Spotlight GPF if displayed message lengh >>63 char

0782 R 2 QNX: FM_WRITE don't work with QNX target

0784 R 3 CMP crash resource VARLIST with 1 var for 68M

0787 R 2 Broken pipe appear after start/stop prj with QNX

0788 R 4 txt editor in library: debug menu should be grayed

0789 R 3 PRT:printing font from librarie is always the same


Corrections included in release 3.32

Below is the list of corrections introduced in release 3.32:

0146 C 4 archiver:do not see projects with archive attrib.

0371 C 4 compil never ends with BDD optim. and boo=true

0434 C 4 Quick-LD printout: rungs are missing

0446 R 4 WKINTER:TIC Codes listed with wrong page numbers

0471 R 4 WKINTER: R_ANY com. exchange is not as described

0522 R 4 WKINTER:tell what is last compilation date format

0614 C 3 compiler error on FC pgms if 'use SFC' unchecked

0623 C 2 FC delete link erases all below chart

0626 R 2 ST expression badly compiled

0647 R 1 Pb with FC editor (delete a connector)

0648 R 3 CMP :Execution problem when use 'EXIT'

0649 R 2 SCC: missing Conversion table declaration

0650 R 4 SCC: if no program, appli.c not in SCC

0651 R 2 Pb with local vars in spotlight

0652 R 1 Pb with copy/paste a test in FC

0653 R 2 Error not expected with unknown label

0657 R 3 CMP: execution problem with boolean operation

0658 R 3 CMP: bad code generated if use BDDs option

0660 R 2 Forcing of out. mess. var. may not update the out. device

0662 R 3 French: link dialog box, the 'and' is not translated

0663 R 1 GPF on ISaGRAF Quick LD code generator in Japan

0665 R 1 GPF after Delete comment in FBD program

0666 R 3 SFC: in LD transition, copy/paste is not possible

0667 C 3 if rename or add comment on Program, it is moved

0668 R 3 Scc: missing a ( in the if when used message output

0669 R 3 Quick variable declaration is enables to declare variable

0670 R 2 Dialog box do not asking save or not when we close I/O

0671 R 3 I/O slot and channel are defined by using VXA Function

0672 R 3 Variable names beginning with '_' can't be monitored

0673 R 3 ST,IL programs open without spying in debug or simulation

0675 C 2 Print: ST level2 of SFC programs is truncated

0676 C 3 HLP:Time-Out,the doc says that unit is millisecond

0677 C 1 GPF after open the cross references

0679 C 2 After rename a I/O config in lib., boards are lost

0680 C 1 GPF after try to print an SFC program with jump

0681 C 2 Password not asked after restore in new WB

0682 C 4 no % variable in all demo projects

0683 C 4 ST debug: not same tabs setting as during editing


Corrections included in release 3.31

Below is the list of corrections introduced in release 3.31:

In the Workbench

0274 R 4 refresh graphics is not done (icons overlaps)

0313 R 4 SFC selection is lost if mouse moved on button bar

0386 V 2 GPF in quickLD editor if many manipulations

0446 R 4 WKINTER:TIC Codes listed with wrong page numbers

0466 R 4 Dictionary: when var nr >=7000, dictionary crashes

0471 R 4 WKINTER: R_ANY com. exchange is not as described

0522 R 4 WKINTER:tell what is last compilation date format

0584 R 4 English QLD error message in French/German workbch

0585 R 2 Problem with delet a link in FC editor

0586 R 4 Copy of FC / SFC program in begin/ end section

0588 R 4 Problem with 'Option / Layout' in Quick-Ld editor

0593 R 4 Restoring archive of C function generates error 209

0594 R 4 Problem with 'Find in steps & tests' command

0601 R 2 SFC:GPF when saving if 'end of macro' step misplaced

0602 V 1 simulator remains in 'logging' state under Win95

0603 R 3 SFC+FC:'hidden' var. on QLD enable line=>compil

0604 R 2 FC: GPF after IF-THEN-ELSE branches deletion

0606 R 4 Export FC child pgm to library should not be allowed

0610 R 4 SFC level 2: close window box not always visible

0618 R 3 FC editor: invert YES/NO branches &save=>abnormal FC

0619 R 2 3.30 DOC generator doesn't work at all under Win3.1

0621 R 2 Colored contacts in Ladder

0627 R 2 SFC:IL transitions from 3.23 pgrams aren't visible

0630 R 3 NUMS files not correctly updated by the archiver

0635 R 2 W95: impossible to de-archive if drive protected

In the Compiler

0535 R 3 SCC not OK if C function with timer or message para

0596 R 2 Function result needs to be assigned on last line

0617 R 2 EXIT statement does not work after imbricated loop

0620 R 2 Optimizer error for delayed operators in IL program

0628 R 2 Too many message variables may cause error

0634 R 2 Concatenation pb with SCC


New features in release 3.30

Below are main new features introduced in release 3.30:

- New SFC editor

- Flow Chart editor

- Modification tracking in FBD editor

- Quick variable declaration

- New simulation tools

- Enhanced password system

New SFC editor

- Fully compatible with existing SFC programs from versions 3.2x

- Quick mouse / or keyboard input in an easy to use editing grid

- Auto-arrangement of the chart after insertion or deletion

- Select, drag and drop to move parts of the chart

- Level 2 in an embedded view (with splitters)

- The SFC gallery enables fast insertion of complex SFC structures

- Complete SFC templates can also be managed in SFC gallery

New Flow Chart editor:

- Flow Chart (FC) is now available as a 6th language

- FC is reserved for programs of "sequential" section

- FC programs can be edited, compiled and run, even on a 3.2x target

- Actions and tests can be programmed in LD, ST or IL

- Supports connectors, FC sub-programs

- Parallel branches are not supported in this version

- Each symbol can be resized independently

- Auto-arrangement of the chart after insertion or deletion

- Level 2 in an embedded view (with splitters)

Changes in the FBD editor:

- Style selection (diagram colouring)

- Automatic setting of "modified" style during editing (modification tracking)

- Use of "deleted" style (footprints) for modification tracking

- Insert/remove empty rows in diagram (from right mouse button popup menu)

- Each block in the selection list has a description text

- Option for manual text editing from the keyboard (no use of the selection list)

- Font size selection during debug has been optimised

- Two independent zoom ratios are saved for editing and debugging

Changes in the Quick LD editor:

- Options and commands to update aliases from the variable dictionary

- Each block in the selection list has a description text

- Option for manual text editing from the keyboard (no use of the selection list)

New functions available in all language editors:

- The list of compiling error message is now embedded in the editor window

- There is an embedded cross reference tool (Find in…) dedicated to the program

- The character font can be selected from FBD / Quick LD / SFC / FC editors

- The "print" command now runs the document generator on the edited document

Changes in the variable dictionary:

- Quick declaration: declare many variables with one command (allocates numbered tags)

- New tab control with the title bar for quick selection of the data type

- Conversion tables are edited in a dialog box opened from the dictionary Tools menu

- Easy to use mapping tool for MODBUS based SCADA systems

New features in the simulator:

- Save to file and restore state of all input channels

- Cycle profiler: know how exec time is distributed between various programs

- Simulation scripts can be created and run (force inputs, trace variables…)

Graphic debugging with Spotlight:

- Spotlight can read graphic files and curves from version 3.2 and earlier

- (3.2 graphic editor and curve editor are no more installed)

- Spotlight manages a "command" flag for each item (enable/disable forcing)

- Spotlight now supports 4 directions for bar graphs

Changes in the Spy List editor:

- The list displays comment text of each variable

- There is a title bar and resizable columns

- Messages up to 255 characters can be displayed

- New "Dump" viewing mode (very useful for messages) - use the "zoom" button

New debugging features:

- The text editor for ST programs during debug includes a spy list

- A spy list is attached to any ST program and can be saved to disk

- When you force a constant variable from the debugger, the system proposes you

   to update its initial value in the variable dictionary

Enhancement of the password system:

- You can set 'read' and/or 'full control' access rights

  (i.e. read access to data can be protected by password)

- You can now protect 'Begin', 'Sequential' and 'End' sections

- Variables in dictionary can be protected one by one

- I/O channels in I/O wiring tool can be protected one by one

New features in the Project manager:

- Fast project group selection and creation from toolbar

- The installer creates two groups: "default" and "samples"

- The library manager can be called from the Project manager menus

- Program comments are now printed with the project hierarchy

Changes in the Archive manager:

- Archive manager is no more a separate application, but a dialog box

- It is called from project manager or library manager menus

- The archive drive/directory can be browsed

Changes in the I/O connection editor

- When saving the I/O connection, a warning message is produced if:

- There are too many I/O variables (according to the protection key)

- There are still some variables not connected

Changes in the compiler:

- Double clicking on an error about I/O wiring opens the I/O connection editor

- Double clicking on an error about variable declaration opens the dictionary editor

- Double clicking on an error about parameter definition the corresponding box


Detailed list of new features in release 3.30

Below is the detailed list of new features introduced in release 3.30:

In the Workbench and in the compiler

0034 R 4 Technical not of board: improve printing

0037 R 4 Create new prog: choice only between possible lang

0047 4 mark double lines of macro step when printed

0079 R 4 in Project manager, customized menu or buttons

0088 4 zoom as % for SFC

0106 4 direct access to SFC level 1(multi level1)

0120 4 SFC:if select outside,scroll should be done

0124 4 var with prefix, generation from 0 to 9 X0,X9

0136 4 ARCHIVER: improve interface

0159 4 SFC:an eraser should be proposed

0161 4 SFC:more than 10 columns

0162 4 SFC:cut/paste lvl 1 with insertion

0163 4 SFC:move elements with/without copy

0172 4 version management/can be interface with PCS

0215 2 Undo in SFC

0328 4 call archive manager from library manager

0345 4 archiv:directory should accept drive specification

0351 4 SFC:Scroll when selecting area to copy or cut

0253 4 init value for analog in Hexa, Binary

0352 4 Printing SFC Schemas like in document generator

0365 R 4 Tools menu in Debug window

0375 4 add long name for languages

0405 4 FBD: insert lines

0409 R 4 FBD:Adpat zoom ratio to fit selection

0421 4 SFC debug:open lvl2 wdow with right mouse btn

0442 4 PROJ. MANAGEMENT: existing groups should be listed

0443 4 Workbench: hints infos should not move with mouse

0445 4 SFC programs should be stored in lib as funct. are

0446 4 Program comments should be set during creation

0448 4 SFC editor : use keyboard to open level 2

0459 R 4 start cross-ref+export with command line

0481 R 4 Doc generator: choose SFC zoom level

0493 4 DOC + HELP: Call of FB from IL or ST langage

0520 R 4 DEBUG:possiblity to display in hexa. message var.

0530 4 see var comment in spy list and force value wdw - partially Av330

0537 4 Possibility to resize variable list columns

0542 4 Full edition in step or trans. in Find/replace wdw

0547 R 4 Insert several variables at one time in var. list

0553 4 MANUAL: include readme.wri errata on TP in manual

0572 4 Dictionary:Reduce time too save variable

0618 4 parameter the space between lines in the FBD

0637 4 User's Guide: guive new limitations for V3.23

0655 4 FBD/LD in debug : wider characters

0664 4 dictionary:  reduce time to sort variables

0684 4 FBD/LD:keep connection footprint when removing F/FB

0695 R 4 dble-click to locate run-time execution error - partially Av330

0696 4 customize menu in debugger window

0707 4 check I/O nr when saving from I/O connection edtor

0717 4 User's Guide: timer max value is 23h59m59s999ms

0721 4 Doc generator: comments in pgm hierachy

0738 4 Export program should export pgm management comment

In the Target

n0145 4 free memory of arrays

0212 4 Increase dynamic limits of SFC

0555 N 4 MODBUS standard frames should work with TCP-IP

0590 R 3 ON-LINE MODIF: possibility to save on disk new appli

0615 N 4 Enable MODBUS-like frames with Ethernet

0642 N 4 NT target:OPC.txt : make some changes

0649 4 Alignement to 4 on kernel should be possible

0722 R 4 TDK: replace pointer field by uint32 in str_def_res

0735 R 4 target: More than 255 steps per program


Corrections included in release 3.30

Below is the list of corrections introduced in release 3.30:

In the Workbench

0377 4 DOC:SIG_GEN and BLINK : diagram shift with 1period

0382 4 MANUAL: RS+ SR  FB not well documented

0400 4 Workbench install:do not work well on network

0405 4 graph symbol are overlapped (CTRLV CTRLV or mouse)

0440 4 Renumber Net address on not contiguous fields

0458 4 X-ref: progr.names should not appear as unused var

0459 4 Debug:only 70th 1st car of new mess value are sent

0460 4 DEBUG:in all windows,message display is limited

0461 4 GPF in SFC editor if too many elements to refresh

0463 4 SPOT-LIGHT: CANCEL button doesn't cancel a box

0468 4 top project is not moved by "Move down in the list

0470 4 DOC:B4.1.3 error in example title

0474 4 simulator GPF:long string entered for an ana input

0475 4 message inputs from simulator limited to 40 chars

0476 4 simulator:string input value >string max length

0500 4 ST 'replace all'=>infinit loop (10 replaced by10.0)

0508 4 FBD\LD, QuickLD:border window lines not refreshed -partially AV330

0512 4 spotligth: GPF when insert bmp and boolean or text

0518 4 in lib, system font influence logical nr visibility

0523 3 QLD:GPF when selecting FBloc with long parm.names

0528 4 QLD alias: not refreshed when dictionary change

0534 4 FBD display pb:if param is added to FB already used

0539 4 old .C /.H files not always deleted by pgm manager

0544 3 DOC Generator: GPF

0550 3 IL editor: GPF in debug if dble click on long line

0557 4 WSCM1ETH with -u=M in cmd line =>spotlight miss

0563 4 Quick_Ld data corruption

0566 4 SFC : overlap of long variables in tr with QLD  -partially AV330

0567 4 user guide:Q instead of O for project with I/O conf

0568 4 Dictionary display Pb in debug if long unit name

0570 N 3 Inport/Export text shortens comments with commas

In the Compiler

0505  3 Resource compil. pb if 'simulator' option cheked

0527  4 structured C : touch required before re-compiling

0556  3 If more than one target, resource compiling not OK

0558  2 local var. in FBlocs are never initialised

0564  4 SCC : add warning when IL prgs in project

0571  2 CRC changes if many graphical pgms compiled at once

0572  2 Replacing TON with TP doesn't change the CRC

0573  3 RC compiler dosen't work with 2 compiler options

0578  2 OPTIMISER: error in Imbricated func. calls

0580  1 LINK error if local variable called t

In the Target

0145 4 'Can not overlapp output var.' should be filtered

0374 4 NT Target: new program with old symbol table=>GPF

0419 4 IONT: archive of snapo2A can not be unarchived

0442 4 source files for DOS; error in srcfiles.txt

0469 4 NT target: connection to OPC server is too long

0478 4 NT target : acknoledge instead of acknowledge

0480 4 NT target: wrong values in simulator for reals

0482 4 NT tgt:cursor visible in GUI & no entry is possible

0491 4 XVA:division by 0:error in indicated variable

0496 4 ANA on messages does not work with neg. value part.

0499 2 IBS driver for NT target don't work with C (cc68M)

0506 4 NTtarget DDE server: request pb if without advise

0513 4 NT target:DDE not always linked to symbol space

0517 3 NT target DDE returns 'g' for real variables

0529 4 NT/OPC:IXL connect function:return codes not comple

0536 4 NT Targ : FM_WRITE does not add \n after the value

0537 4 neg real divided by 0: returned value should be <0

0538 4 NT target menu entry in workb is not de-installed

0543 4 NTTarget display pb if different errors/each cycle

0547 4 MSG on minimal integer returns anything

0548 4 SFC: breakpoints don't always work

0549 4 NT tgt simul adds board at each wrong appli start

0562 4 opc srv remains connected if symbols not downloaded

0565 2 SFC : Limit of step number less than 2352


About previous releases

The following topics contain useful information about previous ISaGRAF releases since version 3.00:

Corrections included in release 3.32

Corrections included in release 3.31

New features in release 3.30

Detailed list of new features in release 3.30

Corrections included in release 3.30

Release 3.24

New features in release 3.23

Corrections included in release 3.23

Corrections included in release 3.21

Compatibility notes for release 3.21

New features in release 3.20

Corrections included in release 3.20

New features in release 3.04

About version 3


Release 3.24

The ISaGRAF Workbench version 3.24 is based on version 3.23 plus a Spanish version of the Workbench. The ISaGRAF target is not changed and remains 3.23. Following bugs have been fixed in 3.24 workbench:

p00486 4 NTVDM not close when ISDK-COM.dll connection fails

p00148 2 when appli.c calls a  FB,pb in real returned value

p00340 3 QUick LD on-line modification does not work

p00472 3 structured C: some } are missing in imbricated elsif

p00484 2 Optimiser:P1 in SFC: analog not set to correct value

p00502 1 "Unknown TIC code" error

p00503 2 BDD option => Incorrect evaluation

p00504 2 compiler option'optimize variable copying' not OK

p00509 2 Optimiser:logical pb if any option(except '2 passes')

p00510 3 Msgs initialised with Kanji aren't correctly compiled

p00511 2 SCC generation problem : empty parentheses

p00514 3 SCC if ( (condition1) && (condition2)  )

p00525 2 problem with on line modification

p00526 2 Structured C: missing include of user IEC FB header

p00531 2 SCC: code between if bloc and else prevents compil

p00532 4 SCC: some functions have no header in appli.c

p00533 4 SCC: implicit conversion from int to float

p00541 2 Optimizer:pb in LD if 2 1st compiler options are set

p00556 3 If more than one target, resource compiling not OK

p00434 4 Quick-LD printout: rungs are missing


New features in release 3.23

Below is the list of new features introduced in release 3.23:

Main features

- ISaGRAF 3.23 now supports the upload feature. Upload is enabled by embedding zipped source code in the target.

- The maximum number of variables has been increased to 64K variables for each data type.

- A new powerful monitoring tool, "SpotLight", has been added to the debugging package. Run it from the debugger toolbar.

- ISaGRAF compiler can now generate structured "C" source code, more readable and modular.

- Automatic scroll of SFC charts is possible On Line, so that active step is always visible.

- A debug "workspace" can be prepared so that a list of documents for debug is automatically opened when debugger or simulator is launched. To prepare a debug workspace, run the "Debug / Workspace" command in ISaGRAF program manager window.

- The management of outputs by the target kernel is optimized.

- Semaphores are implemented on the ISaGRAF target for OS-9.

- ISaGRAF target for MS-DOS includes drivers for Advantech I/O boards.

- ISaGRAF target for NT includes an OPC server.

Compatibility notes

Although ISaGRAF 3.23 workbench is fully compatible with ISaGRAF V3.20 and V3.21 target systems, some new features such as upload and the extension of maximum number of variables require an update of the target system. Regarding upload, please refer to the On Line documentation for further explanations about compatibility issues.

About On Line change

The ISaGRAF Compiler generates "hidden" temporary variables to solve complex expressions. In some case, the change of an expression may lead to a different set of non visible temporary variables, and that leads to an impossible On Line change. To avoid this situation, you can add the following entries in ISA.INI file, in order to force a minimum number of temporary variables to be allocated for each program, even if not used for the compiling of the first application version. Values given here are examples:

[DEBUG]

MNTVboo=8	; for booleans

MNTVana=4	; for integers and reals

MNTVtmr=4	; for timers

MNTVmsg=2	; for messages

When such a setting is written in ISA.INI, the compiler outputs a warning message if a new compiling of the application leads to a greater number of allocated temporary variables.

Other new features in the Workbench and the Compiler

n0032 Message in Graphics  (SpotLight)

n0033 Trace refresh: scroll the trace and not the line (SpotLight)

n0078 message when 200 elts in SFC

n0100 install target on DOS, should ask for readme visu

n0157 SFC: more than 200 elts

n0228 graphic accessible from the debugger

n0239 DAY_TIME std function should be in the simulator

n0250 Upload function

n0339 New LD: Help when putting a block

n0349 increase the number of objects allowed in one SFC

n0383 Initial value for Inputs used in simulation

n0397 Help on blocks from Quick LD

n0404 FBD:Undo when move blocks

n0429 increase max number of variables

n0437 DAY_TIME to be implemented in the simulator

n0441 PROJECT MANAGEMENT : sort by alphabetical order

n0512 other default link setup values at project creation

n0529 Cross reference:possibility to hide unused LIB elts

n0536 Possibility to delete an existing variable list

Other new features in the Target

n0433 WinNT: simulator panel moves each time stop/start

n0463 DDE access with NT target:TRUE/FALSE -> 1/0


Corrections included in release 3.23

Below is the list of corrections introduced in release 3.23:

In the Workbench

p0123 simulation of a C function, out ana is anything

p0129 Not enough room for IL operands

p0175 Win95: can not create project if Lib is open

p0237 appli s_retain defined size for retain are wrong

p0263 cjbi16bo descriptor, 'j' letter is missing     partly

p0266 File management fct should not work with simulator

p0292 German: Layout instead of Darstellung in Quick LD

p0295 Doc generator:Edit/insert, return key does not work

p0296 German:Doc generator:Bearbeiten/Einsetzen->Einfügen

p0306 install dir protected,Quick LD pgm not saved

p0317 Win3.11 Help on binary operators in FBD pgm

p0325 CODE GENERATOR WINDOW:bad refresh when pgup&down

p0326 After program rename, comment is cleared.

p0329 Editor options not saved if isaexe protected.

p0333 Project document not OK for LD transitions in SFC

p0344 Print document: 1st line of I/O connection too large

p0349 QuickLD:enter var with keyboard,alias not displayed

p0354 QuickLD: Large programs(48 KB) can not be saved

p0356 Quick LD:copy after last rung impossible

p0361 Quick LD+LD/FBD:undo does not undo the last paste

p0366 Quick_LD editor: in "Jump label" dialog box tab-key

p0367 Quick LD: xF9 key don't work, shift F9 work

p0386 GPF in quickLD editor if many manipulations partially

p0391 QUICK-LD:dble-click on a wrapped block parameter

p0397 Long F,FB parameters are unreadable in simulator

p0399 colors in FBD/LD:not OK when ALT F1 is pressed

p0402 ST and IL printout: long comment lines badly printed

p0404 debug of FB or IEC F,after the end section is not OK

p0406 Quick-LD:PB if bool with parenthesis in comment

p0407 Display problem when year 2002, on win 3.11 or 95

p0408 DEBUG quickLD: del key still works !

p0412 Local dictionary can be opened twice for same pgm

p0417 quick-ld: in debug mode, show local boolean values

p0418 Quick-LD: negative value in "layout" crashes editor

p0420 variables in quick-LD without colour during debug

p0422 WKINTER: specify that TCP-IP frames must be filled

p0428 debug: Colours in LD/FBD not OK

p0434 Quick-LD printout: rungs are missing

p0437 IL IMPORT: initial values are not 0 by default

p0443 Variable appears as unused in cross-reference

p0445 spaces in dictionary =>'var non connected' error

In the Compiler

p0319 Quick LD Compilation: error in translation in ST

p0322 SYMBOL TABLE: FBL output names are not unique

p0335 Divide by 0 error in each division of a CApplication

p0338 CFB calls not OK when there are too many instances

p0340 QUick LD on-line modification does not work

p0341 Variables not visibles during simulation

p0346 GPF in WSMQ1HDL.DLL on an SFC with LD trans

p0347 Compile err if long names for block output param

p0368 sub-program with parameter = a variable name =>pb

p0371 compil.never ends with BDD optimisation and boo=true

p0390 compiler optimization:evaluate const expre. not OK

p0398 C generation generates bad labels in FBD

p0430 GPF in IL import on Win3.11 if there is a %variable

p0432 Import IL program not work if there is a call to TON

p0435 IL IMPORT:some var.initializations stop IL import

In the Target

p0178 STACKINT block overflow output is not updated

p0290 real divided by 0 in v2.14 crashed the system

p0318 Incorrect OEM params while defining a NTtarget board

p0351 undef FLOAT:some calls still exists

p0378 debug: connect/disconnects if lot of data to refresh

p0379 Target: floating point error if maxi=0 on SIG_GEN

p0381 Some Locked var. are not shown in the list    (partly AVi)

p0383 I/O board error:debugguer should know 1st var name

p0393 NT TARGET: "can't lock space num" message box

p0394 SFC end actions not executed when sfc not stable  (AV214+)

p0415 Retain implementation in NT target

p0433 more than 255 board crashes the target

p0441 MODBUS function 1: on OS9, boolean qtity is limited

p0451 MSG(BOO) provides a message with 2 NULS at the end


Corrections included in release 3.21

Below is the list of corrections introduced in release 3.21:

In the Workbench

0204 C 4 Debugger:stop appli,windows not refreshed

0237 R 3 appli s_retain defined size for retain are wrong

0246 N 3 close debug before 'Cannot install...'-> gpf

0263 R 4 cjbi16bo descriptor, 'j' letter is missing     partly

0294 C 4 Lib iEC function:create 'f', open par of fbsample

0297 C 4 Password dialog boxes are in white-> should be grey

0303 R 3 move UP/DN Comp. Equip does not work

0304 R 2 SIG_GEN sine par is not correct (sinus in isa.smb)

0306 R 2 install dir protected,Quick LD pgm not saved

0309 N 2 debugger hangs when NT target closed during debug

0314 R 2 real I/O with simulator are badly converted

0318 R 2 Incorrect OEM params while defining a NTtarget board

0320 C 3 Graphic editor Icons not saved if only for false

0333 R 2 Project document not OK for LD transitions in SFC

0342 C 4 Quick LD:Replace of var by same name->infinite loop

0343 C 4 sort of Defined words not correct

0352 R 4 some var (GS...) not refreshed in list of var

0353 R 3 Quick LD comment not read if two bytes char inside

0355 R 4 SFC editor with LD trans: paste can generate GPF

0356 R 4 Quick LD:copy after last rung impossible

0362 C 3 CRC is unfluenced by librarie contents(Func,FB)

0363 C 4 LD printout: there is a kink in rung lines

0365 N 4 LD/FBD editor:"greaterOrEqual"too large in Japanese

0369 R 4 boards in complex equipement, board max nr = 255

In the Compiler

0298 R 2 C code:kill SFC father does not kill its children

0305 R 2 Unused Global var are not in symbol table

0316 R 3 "undeclared identifier" FBD pgm global compilation

0319 R 2 Quick LD Compilation: error in translation in ST

0322 R 4 SYMBOL TABLE: FBL output names are not unique

0330 R 2 Positive and negative contact not OK in SFC trans.

0335 R 2 Divide by 0 error in each division of a CApplication

0338 R 2 CFB calls not OK when there are too many instances

0340 R 3 QUick LD on-line modification does not work

0341 R 2 Variables not visibles during simulation

0346 R 1 GPF in WSMQ1HDL.DLL on an SFC with LD trans

0371 N 4 compil.never ends with BDD optimisation and boo=true

In the Target

0178 C 3 STACKINT block overflow ouput is not updated?

0231 R 2 SYSTEM save/restore has some problems

0288 C 2 retain active timer does not work

0290 C 4 real divided by 0 in v2.14 crashed the system

0301 C 3 NT:boards not closed after ALT+F4 or Close

0307 C 2 NT:Timer thread priority isn't well set.

0308 C 2 NT:Target DDE server not closed correctly

0312 C 1 NT:serial com between 3.11 and WinNT3.51 disconnect

0321 C 2 NTtarget.Alignement to2generates pb in symbol table

0350 N 3 Compil:TON bad behavior with return before

0351 R 4 undef FLOAT:some calls still exists

0358 C 2 SAVE/RESTORE active timer does not work

0360 C 4 DDE with NT target: timer access does not work

0364 R 2 NT Target: DDE for messages do not work


Compatibility notes for release 3.21

Below are useful compatibility notes about release 3.21 compared to release 3.20:

The 3.21 workbench is fully compatible with 3.20 workbench and targets. The 3.20 workbench is compatible with 3.0x targets except for bug corrections and some little items which were required for ISaGRAF PLC-Open certification with the IEC 1131-3 standard.

message comparisons

it did not worked with 3.0x targets, it is corrected in the 3.20 target. A new function has been added. When you generate "C" code with such applications, and the 3.04 port-pack, you will have an unresolved function: msg_lexcmp. In such a case, you will have to update your target to version 3.20 to benefit from the bug correction.

IL modifications for PCL-Open certification

Before the 3.20, there was no possible mixing between analog accumulator value and boolean accumulator value. Now:

if 0 is in the analog accumulator, it can be taken as a FALSE value for boolean operations.

if 1 is in the analog accumulator, it can be taken as a TRUE value for boolean operations.

So be careful to test again you old application, if you used IL language.

Function block in IEC languages

If you want to have a local timer in your Function block written in IEC languages, the 3.20 target is required. It is not supported by the 3.0x targets.

Naming objects

Please see the list of reserved keywords in the User's guide (section B.2.3.1): applications which were using such words will no more pass the compilation phase. Change these words to other.

Due to PLC certification, variable names with two '_' characters next to each other are no more accepted: var__init is not OK, var_init is OK.

LD/FBD

To run the new Quick LD editor, create a new program with LD language. All LD/FBD programs from previous releases are now marked as FBD.


New features in release 3.20

Below is the list of new features introduced in release 3.20:

Main features

- New LD editor: quick use

- Function Blocks written with the IEC languages: LD, FBD, ST or IL

- Multi-debugger allowed

- Code generator can translate all SFC instructions for targets without an SFC engine

- PLC Open IL "base level" certification: possibility to import IL programs

- Direct Represented Variables can be used

- A "Tools" menu to customize the Program management window

- New ergonomics: New project organization tools, colors during debug, comments on projects and programs, easy passing from Edition to Debugging ...

- DDE Poke function supported to access debugger.

- Targets Windows NT, MS-DOS, VxWorks and OS-9 fully supported.

In the Workbench

0003 LD/FBD printing improvement

0004 Move a board in IO connection editor

0005 Access to compiling options for library functions from editor

0007 Technical note of library functions from the SFC editor -> from everywhere from Help menu

0008 When a new conversion table is created and the dictionary is open, refresh the list of available conversions in dictionary window

0009 Save position of the window to declare variable

0010 Initial value of variable in the document

0011 ARCHIVER - sub-dir access for saving on floppy

0013 Touch function in Program management menus

0019 Inserting function in the I/O connection editor

0021 PushButton functionality in the Simulator panel

0022 In Help, find a function by its name

0023 Cut and paste of initial value

0028 Start LD editor to describe SFC conditions

0030 Mark Step and Trans with compiling errors (goto step/trans)

0038 Find / Replace in TEXT editors

0040 FBD: Visu TRUE / FALSE with color during debug

0051 Reset project version number after a copy

0052 Cursor type during SFC edition

0054 LD/FBD: when selecting a variable, its comment should be displayed

0055 LD/FBD: visu / print of var comment (aliases in Quick LD editor)

0057 LD/FBD: search 'next occurrence'

0058 Shift the complete LD diagram up or down  (insert a new rung)

0060 Simulator: display board names

0064 Improve multi-connection on the right in FBD

0070 Debugger variable list: change value with keyboard  (Enter)

0074 Should be 'integer' instead of 'analog'

0082 GS.X sent to a variable list from SFC Editor: a variable list is created for each SFC program

0089 If no program, it should not be possible to create local variable

0096 Fbl written in FBD (language IEC)

0098 LD: possibility to copy links

0112 Undo in LD/FBD

0117 Trace diagram to explain tstart/tstop  (documentation)

0121 FBD: connection with scroll

0122 FBD: selection with scroll

0123 FBD: moving elements with scroll

0125 LD cut=rm free lines,copy=insert lines

0126 Debug:cyclic refresh duration < 100ms

0127 Improve LD editing (Quick LD editor)

0128 LD/FBD: display symbol state during debug

0129 Ease on-line modification (debug/edit): If a program is open in edition mode, if debugger or simulator is started, the program is re-open in debug mode. When closing the debugger is closed, the program is re-open in edition mode, ready to be modified.

0138 Choice of directory for projects: notion of Project groups

0166 It should be not possible to close Program window during debug

0211 when selecting a variable, select default variable

0213 Find / replace in FBD/LD

0214 Find/replace in SFC editor

0229 Direct help on buttons (without any mouse action)

0236 No default powerrails in new FBD/LD program

0237 FBlock in/out names in FBD editor & during debug

0238 LD: possibility to insert a line: insert new rung

0241 Improve actions on FBD comments (resize, move)

0243 Menus re-arranged like in other windows appli

0247 Option to exit an incorrect SFC

0248 Del key to delete element in LD/FBD

0249 Del key to delete element in SFC

0252 Extend capacity of defined words to 255 characters

0259 FBD: improve line drawing: possibility to insert corners

0260 Distinguish LD symbol state and variable state (debug)

0261 Support N and P coils   (Quick LD editor)

0262 FBD: execution order for FBlocks and outputs

0264 Simulator:increase/decrease buttons for integers

0265 Variable selection in a separate DLL

0268 Possibility to define size of each fields in dictionary

0273 Remove "Medium" code generator code description

0274 OEM parameter visible by user but "read only"

0275 Add a "Tools" menu in Program manager

0276 Read only internal variable with initial value (Constants)

0277 Make appli if code generator open should start make

0279 Increase limit 200x500 of LD editor  (Quick LD editor)

0281 Search function in SFC editor+Go to step/trans

0282 Search functionality in LD/FBD

0283 From cross-ref,when open program, locate corresponding variable

0285 Force a variable only when mouse is depressed

0288 Attribute/comment of variable to be displayed during debug in the dictionary

0289 Increase size of 'string' in dictionary search window

0291 If only 1 program, verify should make the application code

0292 Rfrotate should have No parity (PC-PLC link)

0293 Implement POKE DDE

0294 Start debug/simulate from editors

0297 Color for booleans during debug in dictionary/lists/trace

0298 Add Direct represented variable in variable selection box

0299 Connection editor, display variable and D.R.V comment

0300 16 char(or upto :)comment taken as alias in Quick LD editor

0301 Call archive manager from project manager

0302 SFC: edit 2 level 2 at the same time

0303 SFC action on deactivation of step (P0/P1)

0304 Document: in hierarchy, indicate language of programs

0306 Document: cross references with alphabetic order

0309 Debugger: suppress parameter "session time-out"

0310 Add binary checksum at the end of TIC code

0311 Option to start compiler in background  from a command line

0312 IO variable in read only in the dictionary

0314 FBD: option not to enter variable name when placing elements

0315 FBD: new command: transform link <-> negated link

0316 FBD: change number of inputs of a block->keep existing links

0317 IL editor: each basic instructions in a toolbar

0318 SFC: when SFC chart is wrong, improve error text

0320 Remove 'compact' from project manager

0321 Add Print/history/descriptor in Program management

0323 Editors: comment of selected variable in the status bar

0325 Direct help on blocks after double click in FBD

0327 Archiver: Change Cancel to Done

0329 WB should ask target to know its type:Intel/Motor

0333 "Kernel simulator" to be changed (no more name for this window)

0340 From help of specific block, acces to the list of blocks (Contents)

0346 User guide: note of TMR: be care input is positive

0347 Add comment next to each program

0356 Copy a connected board to another place(see new dev number 0004)

0367 In WDK for communication, 2 functions before and after download

0373 Change "PLC" to "target"(PLC link-> link setup)

0374 Add date on error message displayed in debug window

0376 Change 'Any' in 'All' after compact (touch)

0378 Buttons for variable types in selection box

0385 Possibility to open more than 1 debugger/simulator

0386 SFC editor: action P/N/IL should not modify clipboard

0387 FBD/LD: Change drawing multi-connection on the left

0388 FBD: put automatic corner if connect to nothing

0407 FBD: button to move connections, with connection buttons

0413 +C instead of +X for constant variable in appli.tst

0420 Parameterize \LIB directory in ISA.INI  (IsaLib)

In the Target

0076 Detailed description of all target errors

0091 Add new I/O brds not linked to kernel: separate DLL for Windows NT target

0296 Semaphores between kernel and other client task can be implemented with VxWorks target

0307 NT target: save settings of GUI used

0308 NT target: display error description

0313 Dba_init to be called after network address are OK

0377 PID_AL to be given as SAMPLES ( DOS and OS-9 targets)

0392 Create more hooks in function ios_input (as dba_begin)

0422 hooks before and after cyclic program execution


Corrections included in release 3.20

Below is the list of corrections introduced in release 3.20:

In the Workbench

0185 if .DLO has blank lines, rest of file is not read

0192 Conversion table: after modifications, sometimes points shown are not sorted

0195 message with '=' in list of variables, rest is truncated

0197 same name for two parameters of a function block accepted: now there is a control

0198 Archiver: restore "C" function and library open, new function not displayed

0206 German version: not enough space for attribute of variable: now you can define yourself the space for each attribute of variables in the dictionary

0209 Win3.11: after download, debug program window not displayed

0210 on Win NT, Ethernet communication crashes : see notes about Windows NT

0214 numbers given in the IO editor not in the document

0215 defined word for booleans are not used in trace-list

0221 dictionary from descriptor, define local variable !!! : now you can not access the dictionary from the project descriptor editor

0222 print or metafile SFC, reset color display

0226 metafile copy does not copy FBD comment

0228 FBD: put block, change it, number of output paramaters is not refreshed

0230 compile option code C 'for intel' to be suppressed

0248 variable with 16 char overpass on value in dictionary during debug : now you can define yourself the space for each attribute of variables in the dictionary

0257 browse in graphics, no scroll !

0258 create local variable when application has no program !! : now, dictionary always open on global, and impossible to change to local if there is no program

0264 FBD/LD: name of variable was not refreshed in certain case

0265 FBD/LD printing, name of variable not printed on new page

0266 File management functions should not work with simulator : they are no more integrated to the simulator

0273 big FBD program, zoom to 15% crashes the editor

0276 if tech notes are too big, they are not displayed

0280 SFC level2: empty lines are removed

0281 BOO conversion on 0/1 is not applied before JMPC : now an error is generated during compiling

In the Compiler

0203 if number of resources > 2, offset is wrong

0205 Compiler hangs up if no ';' after end_action(SFC)

0207 Optimizer not OK for expression using function calls

0208 Optimization of FBlock calls is slower than when there is no optimization

0212 Optimizer (not(a)&not(boo(b))&(not(c)&not(boo(d)))

0213 $n in lower case is not accepted by the compiler

0227 Optimized code is wrong on IF with tests on timer

0229 graphic pre-processor wrong on FBL outputs using block with 8 inputs 7 outputs, the 2nd, 3, 4 outputs are a, b, c, and are connected to the inputs of a function, what arrived to the function is a, a, a

0240 optimizer, 2 calls of same function, returns are mixed

0242 in IL, ANA boo_var produce a GPF of WSMK1EDT.EXE

0250 when $' is in a msg, rest of msg is put in uppercase

0251 when $' in a message, next message is unknown

0252 (+a=0);(toto:=+1);OK for compiler, but fatal error

0253 Optimize OR_MASK does not work

0255 2 variables with same network address not detected

0271 GPF of compiler with day_time function

0283 grxx0lib.c generated with grsy0def->tasy0def

0286 optimizer: fedge on boo expression (or) does not work

0287 optimizer: wrong result on a boo expression

In the Target

0007 Multi-application can not be used on VxWorks

0014 Stop/Activate does not work when ISA11 is PROMed

0070 Bustrap using SSM/MMU access to srv_dsp

0079 isaker consumes CPUtime even if no appli

0124 Input with a conversion on a virtual board, the conversion is applied

0153 if a Conversion Function is unknown on the target, the variables with the conversion are modified anyway

0173 cannot open brd cjvo8a32,cjvi8a32,cjbo8a32,cjbi8a32

0182 Mailbox User Function (MB_...) do not wait time-out

0183 Mailbox User Function MB_RANA cannot read 3 last integers

0184 Update application if a conversion table has changed does not work

0201 ANA(    192) is not equal to 192, but 0

0202 Communication problem when debugger repeats a question

0219 MODBUS 16 function does not work for isatst (OS-9)

0220 MODBUS function 5: not correct answer

0223 Conversion tables do not work with C option

0224 init of output variables not done when start application, if output boards are before input boards

0225 MSG conversion for timer crashes the system

0236 usr_getva attributes wrong in documentation, and do not work if IO mixed correct attributes are : intern 0, input 3, output 1

0245 EXPT function exponent has to be integer

0249 Ethernet 256th connection is the last successful

0254 slave number 13 cannot be used (return for OS9 shell): it is still the case, it is signaled in the documentation

0260 SERVER rename sym_user_address in sym_parent_address

0261 SERVER: create an include with SRV function prototypes: TAUS0SYM.H for server access on symbols ; TAKE0PRO.H for server synchronous services

0267 #ifdef DEF_KBB to be added in OEM

0268 VxWorks target: wrong cycle time sometimes

0275 2 isatst may have wrong answers

0277 TIC code EQ message on SFC trans badly evaluated

0278 TIC code EQ booleans on SFC trans badly evaluated

0279 Some pb may occur if rea1 < rea2 on an SFC trans

0282 server or modbus access on last IO does not work

0285 2 communication tasks + 2 debuggers: stop on 1 debugger, still run on the other

0289 OEM:TAIO0oem.c iovar++ should be done outside lock


New features in release 3.04

Below is the list of new features introduced in release 3.04:

C option

C option is available with a new programming of your protection key for release 3.04, it is

included in the 3.20 large workbench.

Steps to generate "C" code

   a/ On the workbench

      - write an application

      - select the target "CC86M" in "Compiler Options"

      - compile your application

      Two files are generated : "appli.c" and "appli.h" in the directory

      of your application.

      These files represent a "C" version of your application.

   b/ On the target

      - copy the file : "appli.c" on the target (in .\SRC).

      - copy the file : "appli.h" on the target (in .\DEFS).

      - build the kernel (utility makisac, see in readme file on

I/O development tools disk for 3.20 release,

port-pack disk for 3.04 release)

Information about "C" applications

   The following functionalities cannot be used in the workbench

   - download

   - SFC breakpoints

   - resource

Cautions

   In case of big applications and depending on the compiler, the

   compilation of appli.c file may not succeed (code segment too large).

   In this case you may try

   - for Visual C++ compiler, to add the following options in the isacc.bat

   file: /Gs /G3 /Gy /Gt   (/G3 only for 386)

Protection keys

Two protection keys are now supported: Rainbow and Electryon

Windows NT

To use the workbench on Windows NT, you must

- install a Rainbow protection key. For that you have to install a specific driver (additional diskette is provided)

- For communication with the target, write in the ISA.INI file the following line in  [WS001] section: NT=1


About version 3

Below is general information for version 3 compared to older versions:

LD/FBD programs from ISaGRAF version 1.5:

Graphic LD and FBD programs edited with ISaGRAF Workbench version 1.5 cannot be compiled with ISaGRAF V3.00. To translate such a source file in new format, the following operations have to be performed with the ISaGRAF 2.1 Workbench:

- edit (open) the LD or FBD program

- call the 'Save' command of the 'Files' menu

Programs saved by the new LD/FBD editor can be compiled with ISaGRAF V3.00.

Timer precision:

Timers internal unit is now the millisecond. Take care of cast operations and interface with C functions and function blocks when porting applications written with ISaGRAF V2.1. Below is an example:

ana (t#1s) = 1000	(* version 3.00 *)	(* = 100 with version 2.1 *)

Analog bit to bit mask operations:

Keywords "AND", "OR" and "XOR" applied to integer values to process mask operations are not compliant with the IEC 1131-3 standard. They are replaced by the following predefined functions in ISaGRAF V3.00:

AND_MASK, OR_MASK, XOR_MASK.

Keywords "AND", "OR" and "XOR" are now reserved for operations on pure boolean states. When porting an application written with ISaGRAF V2.1, the corresponding statements have to be manually changed in ST programs. FBD diagrams using corresponding functions are automatically updated, according to new function names.

Standard "C" functions and function blocks:

Standard functions and function blocks delivered with previous ISaGRAF versions (versions 2.x) as elements of the "C" libraries are now completely integrated in the target kernel. This concerns functions such as SIN, ABS, SEL... or function blocks such as RS, TON, ... Such elements do not appear anymore in the user "C" libraries.

Compiling error messages:

Each time a program is compiled (verified), the list of messages output by the compiler is stored at the end the program diary file. This allows the programmer to keep a track of the program verifications, and to freely consult the list of detected syntax errors while editing the program, without having to restart the compiler.


About Flow Chart

The "Flow Chart" is now available as the sixth programming language of the ISaGRAF Workbench. It is integrated in the ISaGRAF programming environment and appears as a new choice in the set of available languages.

The Flow Chart is not an alternative to IEC languages, and is not aimed to replace or replicate other graphic languages. It offers a new programming style that may be better adapted to some control algorithms. Particularly, the Flow Chart should not be taken as a type of Sequential Function Chart (SFC).

The SFC language is a state diagram. It should be preferred for sequential operations. When drawing an SFC chart, you focus on states, which are the stable states of your process. SFC is not a kind of graphical IF/THEN/ELSE programming where transitions are used to express different paths between non-stable states. The execution of SFC charts in ISaGRAF is based on a safe triggering system, where the execution of actions and changes in the SFC step activity flags are sliced from one cycle to another. This implies that if you chain ten or more steps with valid transitions (with a true condition) it will take the same number of cycles to reach the last step. Doing this may affect performance, simply to improve the chart readability.

The Flow Chart language is a decision diagram. This means that it gives you the possibility of focusing on decisions while designing a chart, and gives a comfortable graphical representation of complex decision systems. However, the chart does not show you stable states. The main advantage of the Flow Chart language, unlike FBD, LD, ST or IL, is that it allows you to enter backward jumps and loops which are automatically broken at execution. This, in turn, means that time is gained by the cycle scheduler, to update I/Os and perform other programs of the application. You will benefit from this powerful capability when it is required by your control algorithm, but you have to assume that you do not choose where loops are broken, the system takes care of this! Obviously, there is a rule and it is easy to understand: the flow is broken each time an item (action, decision) is encountered that has already been reached in the same cycle. It may be not straightforward to keep an easy understanding of this mechanism on complex charts.

We decided to implement SFC and Flow Chart with different philosophies, so that you can benefit from the advantages from both languages. In the same thinking, some typical sequential operations such as parallel branches are available in SFC only. Please look at the Flow Chart even if you think that the IEC languages you are used to working with are sufficient for your applications. Maybe Flow Chart can give you new ideas. On the other hand, please do not forget particular features of IEC languages if you think Flow Chart is better. We believe that having Flow Chart and IEC languages together in the same environment gives you the most powerful set of programming features you can find for your control applications.


Notes
Important notes

RS communication:

When the Workbench is used under Windows NT 3.51 or 4.00 or Windows 2000, the following line has to be inserted in [WS001] section of ISA.ini file in \ISAWIN\EXE directory:

[WS001]

NT=1

Isa=C:\ISAWIN

IsaExe=C:\ISAWIN\EXE

IsaApl=C:\ISAWIN\APL1

IsaTmp=C:\ISAWIN\TMP

This is absolutely required for RS communication.

Protection key:

On Windows 95/98, Windows NT and Windows 2000 systems, the Sentinel/Rainbow Driver has to be installed for the protection key to be recognised. Sentinel Rainbow drivers are delivered in the "\sentinel" folder of the ISaGRAF installation CD-ROM.

The hardware key protects the ISaGRAF software against illegal copies. The protection key also defines the option of the ISaGRAF Workbench, and defines the maximum size of developed applications. When the key is not inserted or not properly connected, some of the ISaGRAF Workbench functions will not run. This is NORMAL behaviour. To ensure that the key is properly connected, select the "About..." choice of the "Help" menu in any ISaGRAF window. The available option of the ISaGRAF workbench is displayed.