Software Tools

The ISaGRAF Workbench may be used to make on-line changes to the IEC-61131 application running in SCADAPack, SCADAPack 32 and 4202-GFC controllers. This feature allows the user to make program changes without stopping the existing application.
This application note explains what on-line changes are possible, and what procedure to use to make these changes.

Changes Allowed On-Line


The following is a list of program elements that can be changed on-line:

  • On-line changes may be made to program code within any program, sub-program, user-written function or user-written function block.
  • On-line changes may be made in these languages: Ladder Diagram (LD), Function Block Diagram (FBD), Structured Text (ST), Instruction List (IL), and Flow Chart (FC).
  • On-line changes may be made to program code within the steps and transitions of Sequential Function Chart (SFC) programs.
  • Instructions that are classified as standard "Operators" and "Functions" may be added or removed on-line. These are listed below.
Standard Operators
1 gain * <> BOO
Neg / < ANA
& (AND) AND_MASK <= REAL
>=1 (OR) OR_MASK > TMR
=1 (XOR) XOR_MASK >= MSG
+ NOT_MASK = CAT
-     OPER
Standard Functions
ABS DAY_TIME FM_READ MOD SEL
ACOS DELETE FM_WRITE MUX4 SHL
ARCREATE EXPT INSERT MUX8 SHR
ARREAD F_CLOSE LEFT ODD SIN
ARWRITE F_EOF LIMIT POW SQRT
ASCII F_ROPEN LOG RAND TAN
ASIN F_WOPEN MAX REPLACE TRUNC
ATAN FA_READ MID RIGHT  
CHAR FA_WRITE MIN ROL  
COS FIND MLEN ROR  
  • Contacts and coils in Ladder Diagram may be added or removed on-line.
  • Values of variables and constants may be modified on-line.
  • Instructions that are classified as "Function Blocks", "C Function Blocks" and "C Functions" may be added or removed on-line in the Structure Text (ST) language only. To add Function Blocks, there must also be unused instances already declared in the Dictionary. Please see the list of these elements shown in the next section.

Changes Not Allowed On-Line

The following is a list of program elements that cannot be changed on-line:

  • You may not add, remove or rename variables. It is recommended to allocate spare variables to be used for on-line program modifications.
  • You may not add or remove I/O boards or I/O equipment. It is recommended to allocate spare I/O variables to any unused I/O channels on I/O boards. These may be used for on-line program modifications.
  • You may not modify an existing SFC program architecture. Such as; adding steps, transitions, programs or renumbering.
  • You may not add or delete programs on-line.
  • You may not add or remove "Function Blocks", "C Functions Blocks", or "C Functions" used in these languages: LD, FBD, IL, and FC. These elements are listed below.
Standard Function Blocks, C Functions, and C Function Blocks
AVERAGE dnpstn getregf mbusinfo setregf
BLINK dnpsync getregsl pida setregsl
clearsf dnpunsol getregss pidd setregss
CMP dtroff getregus protinfo setregus
cominfo F_TRIG getsf R_TRIG setresp
CTD flow getsfip RS setsf
ctlrstat forceled getsfip2 SEMA setsfip
CTU getclock hart0 setclock setsfip2
CTUD getcom hart1 setcom SIG_GEN
DERIVATE gethart hart2 sethart sleep
dial getipi hart3 setipi SR
dlog getled hart33 setled STACKINT
dlogcnfg getmbip HYSTER setmbip toeeprom
dlogread getmtcp inimodem setmtcp TOF
dnpconn getmtcpi INTEGRAL setmtcpi TON
dnpevent getmtpi2 ipstatus setmtpi2 total
dnplog getprot LIM_ALRM setprot TP
dnppoll getprot2 master setprot2  
dnpport getregb masterip setregb  

How to Make an On-line Modification

Setup ISA.INI before Initial Make of Application

The ISaGRAF Compiler generates "hidden" temporary variables to solve complex expressions. In some cases, the change of an expression may lead to a different number of temporary variables, which would prevent an On-Line change.
To avoid this situation, you can add the following entries to the ISA.INI file to force a minimum number of temporary variables to be allocated for each program, even if they are not used for the compiling of the first application version. This will add approximately 1 KB to the size of the application.
Add these lines to the end of C:\Isawin\exe\ISA.INI:

MNTVboo=100
MNTVana=100
MNTVtmr=20
MNTVmsg=1

Procedure for On-Line Modifications

  1. Before any project change, it is recommended to save the project using the Archive command on the Tools menu of the Project Management dialog.
  2. Make the changes to the application within the limitations described above in section Changes Allowed On-Line .
  3. Re-compile the project using the Make command.
  4. Select the Debug mode to connect to your controller. A warning message similar to the following message will appear:

This message compares the new application just compiled in the Workbench to the previous version currently running in the controller. The CRC checksum for both versions must be the same. If it is not the same, the on-line modification will not be possible.

  1. Select the Update application command from the File menu and download the new application.
  2. After download is complete, select the Realize update command from the File menu. With SCADAPack 32 controllers there will be a pause of about 0.5 second to save the downloaded application to flash before execution resumes.
  3. The debugger may now be used to view the new application.