0% found this document useful (0 votes)
603 views111 pages

ISaGRAF Target 5 Technical Reference

This document provides a technical reference for the SCADAPack E Target 5. It includes sections on technical support, an overview of the target and terminology, the target scanning cycle, RTU logic functionality including data types and operators, application management including online changes and storage, and I/O interfaces. The table of contents shows 14 main sections and subsections covering the target's configuration, programming, and I/O capabilities.

Uploaded by

Harsha G
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
603 views111 pages

ISaGRAF Target 5 Technical Reference

This document provides a technical reference for the SCADAPack E Target 5. It includes sections on technical support, an overview of the target and terminology, the target scanning cycle, RTU logic functionality including data types and operators, application management including online changes and storage, and I/O interfaces. The table of contents shows 14 main sections and subsections covering the target's configuration, programming, and I/O capabilities.

Uploaded by

Harsha G
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 111

SCADAPack E Target 5

Technical Reference
2 SCADAPack E Target 5 Technical Reference

Table of Contents

Part I SCADAPack E Target 5 Technical Reference 4


1 Technical
...................................................................................................................................
Support 4
2 Safety ...................................................................................................................................
Information 5
3 Preface
................................................................................................................................... 8
4 Overview
...................................................................................................................................
& Terminology 8
4.1 SCADAPack Workbench
..........................................................................................................................................................
Softw are 10
4.2 Target & Target ..........................................................................................................................................................
Memory Usage 11
5 Target
...................................................................................................................................
Scanning Cycle 14
5.1 Continuous Scanning.......................................................................................................................................................... 16
5.2 Cycle Time Scanning.......................................................................................................................................................... 18
5.2.1 Permanent.........................................................................................................................................................
& Temporary Cycle Timing 19
5.3 High Priority Scanning
.......................................................................................................................................................... 21
6 RTU Logic
...................................................................................................................................
Functionality 22
6.1 Input Scanning .......................................................................................................................................................... 23
6.2 Output Updates .......................................................................................................................................................... 24
6.3 Language Types .......................................................................................................................................................... 25
6.4 Data Types .......................................................................................................................................................... 26
6.5 Operators .......................................................................................................................................................... 28
6.6 I/O Locking .......................................................................................................................................................... 29
6.7 String Variables ..........................................................................................................................................................
& Conversion 31
6.8 Retained Variables .......................................................................................................................................................... 32
6.9 Array Variables .......................................................................................................................................................... 34
6.9.1 Array Data.........................................................................................................................................................
Types 37
6.10 Structure Data..........................................................................................................................................................
Types 38
6.11 Second IEC 61131-3 ..........................................................................................................................................................
Resource Features 40
6.12 Defined Words.......................................................................................................................................................... 41
7 Application
...................................................................................................................................
Management 43
7.1 Online Changes .......................................................................................................................................................... 44
7.2 Application Storage
.......................................................................................................................................................... 47
7.3 Storing a Project ..........................................................................................................................................................
on the RTU 48
8 I/O Interfaces
................................................................................................................................... 51
8.1 Physical I/O .......................................................................................................................................................... 52
8.2 Derived Data .......................................................................................................................................................... 54
8.3 I/O Devices .......................................................................................................................................................... 55
8.3.1 Binary (Digital)
.........................................................................................................................................................
RTU I/O Devices 57
8.3.2 Analog RTU .........................................................................................................................................................
I/O Devices 58
8.3.3 SCADAPack .........................................................................................................................................................
E R I/O Devices 59
8.3.3.1 Digital I/O Devices ......................................................................................................................................... 61
8.3.3.2 Analog I/O Devices ......................................................................................................................................... 62
8.4 Remote Control ..........................................................................................................................................................
Interlock & Hold On Stop 64
8.5 PLC Device I/O..........................................................................................................................................................
Devices 65
8.5.1 Reading PLC.........................................................................................................................................................
Registers 67
8.5.2 Writing PLC.........................................................................................................................................................
Registers 68
8.5.3 I/O Device .........................................................................................................................................................
Status 70
8.6 RTU Data via Function
..........................................................................................................................................................
Blocks 74
Contents 3

8.7 I/O Device Pre-Processor


.......................................................................................................................................................... 75
8.7.1 Using the Pre-Processor
......................................................................................................................................................... 75
8.7.2 I/O Devices .........................................................................................................................................................
Checked by the Pre-Processor 77
8.7.3 Function Blocks
......................................................................................................................................................... 78
8.7.4 Differences .........................................................................................................................................................
w ith ISaGRAF 3 Workbench 78
8.7.5 Pre-Processor.........................................................................................................................................................
E xample 79
9 Remote ...................................................................................................................................
Target Access 80
9.1 Target Serial Communications
.......................................................................................................................................................... 81
9.2 TCP/IP Communications
.......................................................................................................................................................... 83
9.2.1 Workbench.........................................................................................................................................................
Ethernet Settings 84
9.2.2 TCP/IP Communications
.........................................................................................................................................................
Server 85
9.3 Application File ..........................................................................................................................................................
Transfer 86
10 Troubleshooting
...................................................................................................................................
& Status Codes 88
10.1 Status Descriptions
.......................................................................................................................................................... 88
10.2 Service Descriptions
.......................................................................................................................................................... 92
11 Target
...................................................................................................................................
Upgrade 109
12 Unsupported
...................................................................................................................................
Features 110

3
4 SCADAPack E Target 5 Technical Reference

I SCADAPack E Target 5 Technical Reference

©2013 Control Microsystems Inc.


All rights reserved.
Printed in Canada.
Version: 8.05.4
The information provided in this documentation contains general descriptions and/or technical
characteristics of the performance of the products contained herein. This documentation is
not intended as a substitute for and is not to be used for determining suitability or reliability of
these products for specific user applications. It is the duty of any such user or integrator to
perform the appropriate and complete risk analysis, evaluation and testing of the products
with respect to the relevant specific application or use thereof. Neither Schneider Electric nor
any of its affiliates or subsidiaries shall be responsible or liable for misuse of the information
contained herein. If you have any suggestions for improvements or amendments or have
found errors in this publication, please notify us.
No part of this document may be reproduced in any form or by any means, electronic or
mechanical, including photocopying, without express written permission of Schneider
Electric.
All pertinent state, regional, and local safety regulations must be observed when installing and
using this product. For reasons of safety and to help ensure compliance with documented
system data, only the manufacturer should perform repairs to components.
When devices are used for applications with technical safety requirements, the relevant
instructions must be followed. Failure to use Schneider Electric software or approved
software with our hardware products may result in injury, harm, or improper operating results.
Failure to observe this information can result in injury or equipment damage.

1 Technical Support
Support related to any part of this documentation can be directed to one of the following
support centers.

Technical Support: The Americas


Available Monday to Friday 8:00am – 6:30pm Eastern Time
Toll free within North America 1-888-226-6876
SCADAPack E Target 5 Technical Reference 5

Direct Worldwide +1-613-591-1943


Email [email protected]

Technical Support: Europe


Available Monday to Friday 8:30am – 5:30pm Central European Time
Direct Worldwide +31 (71) 597-1655
Email [email protected]

Technical Support: Asia


Available Monday to Friday 8:00am – 6:30pm Eastern Time (North America)
Direct Worldwide +1-613-591-1943
Email [email protected]

Technical Support: Australia


Inside Australia 1300 369 233
Email [email protected]

2 Safety Information
Read these instructions carefully, and look at the equipment to become familiar with the
device before trying to install, operate, or maintain it. The following special messages may
appear throughout this documentation or on the equipment to warn of potential hazards or to
call attention to information that clarifies or simplifies a procedure.

The addition of this symbol to a Danger or Warning safety label


indicates that an electrical hazard exists, which will result in personal
injury if the instructions are not followed.

This is the safety alert symbol. It is used to alert you to potential


personal injury hazards. Obey all safety messages that follow this
symbol to avoid possible injury or death.

DANGER
DANGER indicates an imminently hazardous situation which, if not avoided, will
result in death or serious injury.
6 SCADAPack E Target 5 Technical Reference

WARNING
WARNING indicates a potentially hazardous situation which, if not avoided, can
result in death or serious injury.

CAUTION
CAUTION indicates a potentially hazardous situation which, if not avoided, can
result in minor or moderate injury.

CAUTION
CAUTION used without the safety alert symbol, indicates a potentially hazardous
situation which, if not avoided, can result in equipment damage..

PLEASE NOTE
Electrical equipment should be installed, operated, serviced, and maintained only by qualified
personnel. No responsibility is assumed by Schneider Electric for any consequences arising
out of the use of this material.
A qualified person is one who has skills and knowledge related to the construction and
operation of electrical equipment and the installation, and has received safety training to
recognize and avoid the hazards involved.

BEFORE YOU BEGIN


SCADAPack Workbench and SCADAPack E Smart RTU are not suitable for controlling
safety-critical systems. SCADAPack Workbench and SCADAPack E Smart RTU are not
tested for, nor have approval for use in, the control of safety-critical systems. Safety-critical
systems should be controlled by an approved safety-critical platform that is independent of
SCADAPack Workbench and SCADAPack E Smart RTU.

WARNING
UNINTENDED EQUIPMENT OPERATION
Do not control safety-critical systems with SCADAPack Workbench and
SCADAPack E Smart RTU.
Failure to follow these instructions can result in death, serious injury or
equipment damage.

Do not use this product on machinery lacking effective point-of-operation guarding. Lack of
effective point-of-operation guarding on a machine can result in serious injury to the operator
SCADAPack E Target 5 Technical Reference 7

of that machine.

CAUTION
EQUIPMENT OPERATION HAZARD

Verify that all installation and set up procedures have been completed.
Before operational tests are performed, remove all blocks or other temporary
holding means used for shipment from all component devices.
Remove tools, meters, and debris from equipment.

Failure to follow these instructions can result in injury or equipment


damage.

Follow all start-up tests recommended in the equipment documentation. Store all equipment
documentation for future references.
Software testing must be done in both simulated and real environments.
Verify that the completed system is free from all short circuits and grounds, except those
grounds installed according to local regulations (according to the National Electrical Code in
the U.S.A, for instance). If high-potential voltage testing is necessary, follow
recommendations in equipment documentation to prevent accidental equipment damage.
Before energizing equipment:
Remove tools, meters, and debris from equipment.
Close the equipment enclosure door.
Remove ground from incoming power lines.
Perform all start-up tests recommended by the manufacturer.

OPERATION AND ADJUSTMENTS


The following precautions are from the NEMA Standards Publication ICS 7.1-1995 (English
version prevails):
Regardless of the care exercised in the design and manufacture of equipment or in the
selection and ratings of components, there are hazards that can be encountered if such
equipment is improperly operated.
It is sometimes possible to misadjust the equipment and thus produce unsatisfactory or
unsafe operation. Always use the manufacturer’s instructions as a guide for functional
adjustments. Personnel who have access to these adjustments should be familiar with the
equipment manufacturer’s instructions and the machinery used with the electrical
equipment.
Only those operational adjustments actually required by the operator should be accessible
to the operator. Access to other controls should be restricted to prevent unauthorized
8 SCADAPack E Target 5 Technical Reference

changes in operating characteristics.

3 Preface
Purpose
The purpose of this document is to describe in detail the interface between the SCADAPack E Smart
RTU and the SCADAPack Workbench software.
It is assumed that the reader is familiar with the SCADAPack Workbench software. For more
information about the Workbench program environment, see the Workbench Help documentation.
Additional programming options specific to the SCADAPack E Smart RTU can be found in the
SCADAPack E Target 5 Function Blocks Reference manual.
The Workbench Help documentation is not dedicated to any particular target and describes general
concepts. The material covered in this manual together with the SCADAPack E Target 5 Function
Blocks Reference manual therefore supplements the Workbench Help manuals for it deals exclusively
with the implementation of the IEC 61131-3 Target software on a Schneider Electric SCADAPack E
Smart RTU.

Assumed Knowledge
Familiarity with the SCADAPack Workbench is strongly recommended.

Target Audience
Systems Engineers
Commissioning Engineers
Maintenance Technicians

References
Workbench Help
SCADAPack E Target 5 Help

4 Overview & Terminology


Overview
This document describes the interface between SCADAPack E Smart RTU operating and SCADAPack
Workbench software.

ISaGRAF provides IEC61131-3 international standard PLC programming capability to the SCADAPack E
Smart RTU.

The IEC 61131-3 target Virtual Machines (VM's) execute on the SCADAPack E Smart RTU and are built
in to the operating system firmware.

The SCADAPack Workbench software executes on a PC and provides application generation,


SCADAPack E Target 5 Technical Reference 9

transferring and debugging through connection to the target by serial or network communications.
The SCADAPack E Smart RTU provides two IEC 61131-3 target types, Target 3 and Target 5. This
document covers Target 5 and SCADAPack Workbench.

Highlights
By way of summary, the following facilities are notable Workbench facilities, or are provided in addition
to the standard Workbench facilities when used on SCADAPack E Smart RTU:
Load applications to RTU via SCADAPack Workbench, via File Transfer, remotely via DNP3, remotely
via IEC60870-5-101 & -104 protocol
Remote debugging of IEC 61131-3 applications via serial or TCP/IP connections
Dual IEC 61131-3 target Virtual Machines (VM's) for executing 2 separate application resources
simultaneously
Download IEC 61131-3 application project source to the RTU, for later upload
Permits Online Changes to running application resources
Scan control prioritization for improved performance or high accuracy scan intervals
Interaction between IEC 61131-3 applications and RTU operating system facilities
Interaction between IEC 61131-3 applications and RTU point database attributes
IEC 61131-3 application interaction with RTU database floating point numeric and string data types
IEC 61131-3 application application control over data exchange with peer RTU nodes
IEC 61131-3 application control over trend sampling
IEC 61131-3 application file management
IEC 61131-3 application custom communication protocol management
IEC 61131-3 application interface to common PLC and peripheral device protocols

Terminology
The SCADAPack E Smart RTU provides two IEC 61131-3 target types, called Target 3 and Target 5.
Target 3 is used with 16-bit ISaGRAF Workbench (not covered by this document) and Target 5 with
SCADAPack Workbench (covered by this document).
A IEC 61131-3 application is called a Solution in Workbench.
A Solution for a IEC 61131-3 application contains a Project.
A Project contains a Device, which a SCADAPack E Smart RTU. The example above shows a
SCADAPack 300E RTU.
A Device can contain one or two Resources. Resources are independent parts of the application.
Resources can be stopped, downloaded, uploaded, and started independently. A Resource contains IEC
61131-3 programs (also called Program Organization Units or POU), I/O devices, functions, function
blocks, and variables. Resources can exchange information through variable binding. These are
explained in the sections that follow.
10 SCADAPack E Target 5 Technical Reference

This solution structure is used for SCADAPack Workbench applications. Although it's possible to
structure the solution in other ways, they are not supported by the SCADAPack E Smart RTU.

The two Resources are independent, but can exchange data through variable binding.

4.1 SCADAPack Workbench Software


An IEC 61131-3 application resource can be loaded, configured & debugged on the SCADAPack E RTU
from a standard PC running the SCADAPack Workbench if there is a connection between the PC and
the RTU. Serial and Ethernet / TCP/IP communication facilities are provided by the RTU to allow
different options of connection from a standard PC.
The SCADAPack Workbench software is used to create, manage and simulate IEC 61131-3
applications.
The Workbench can transfer IEC 61131-3 resources to the target and provides application-debugging
facilities.
Workbench communication with SCADAPack E RTUs is supported for Windows XP with SP3 (with
Power User privileges), Windows Server 2003, Windows Vista, Windows Server 2008, or Windows 7
operating system. For more information on the SCADAPack Workbench, refer to the Workbench Help
documentation.

SCADAPack Workbench can connect to an SCADAPack E RTU in a number of ways:


Local serial port communications. This is called IsaRSI after the name of the network driver that
provides communication with an IEC 61131-3 target on a serial port.
Ethernet communications via a TCP/IP port. The Enhanced TCP/IP protocol, ETCP is the network
driver used for communication with an IEC 61131-3 target on Ethernet.

The type of connection used by the Workbench is a function of the project configuration. The
SCADAPack Workbench software offers pre-configured Proj ect Templates 12 for either Serial or TCP/IP
connections.
Only one active connection is used to communicate with either running VM.
The Target Remote Access 80 section describes the various connection options that are available
between the SCADAPack Workbench and SCADAPack E RTU's.
The hierarchy of a SCADAPack Workbench IEC61131-3 Solution is shown in the diagram below.
SCADAPack E Target 5 Technical Reference 11

4.2 Target & Target Memory Usage


SCADAPack E IEC 61131-3 Target
The SCADAPack E RTU is equipped with ISaGRAF IEC 61131-3 target software. This allows the RTU to
perform PLC control functions using the IEC 61131-3 international standard. The control functions
provided by ISaGRAF targets are completely autonomous of any supervisory (SCADA Master) system or
communications network (e.g. DNP3). The IEC 61131-3 application operates on the RTU regardless of
the state of remote communications.
The SCADAPack E RTU provides two IEC 61131-3 target types. Target 3 allows compatibility with
IEC61131-3 applications developed using the ISaGRAF 3 Workbench (16-bit). Target 5 allows
applications to be developed using the SCADAPack Workbench. Only one IEC 61131-3 target type can
be active at a time in the SCADAPack E RTU. The ISaGRAF Target Type setting activates the
appropriate IEC 61131-3 target type. This document describes the use of Target 5.
12 SCADAPack E Target 5 Technical Reference

SCADAPack E Configurator IEC 61131-3 Page

The SCADAPack E RTU firmware supports the simultaneous execution of up to two IEC 61131-3 target
VM's (Virtual Machines) on the same RTU. This allows up to two independent applications resources to
execute simultaneously on the same RTU. The two IEC 61131-3 targets within the RTU have a fixed
Workbench Resource Number of 1 and 2 respectively. Both IEC 61131-3 target VM's are activated by
default, i.e. there is no additional configuration required to activate the second VM.
The status (running or halted) of an IEC 61131-3 resource on each VM can be obtained from the
SCADAPack E Configurator 12 software or via separate Application Halted system binary points
50100 and 50101. These binary points are part of the system points dedicated to providing the status of
the RTU. For more information see the SCADAPack E Operational Reference Manual.
The SCADAPack E target device type is selected from one of several project templates selected from
the Workbench New Proj ect window. There are currently two templates for SCADAPack 300E models
and two for SCADAPack ES/ER models, depending on the the default method of communication
between the SCADAPack Workbench and the IEC 61131-3 target on the RTU.
SCADAPack E Target 5 Technical Reference 13

New Project Template selection

For an existing project, the current target type can be found by opening the Properties window on the
project Device in the Solution Explorer window.

W orkbench Device Properties w indow

The Workbench Resource Embedded Symbol Table property is not required to be enabled for the
SCADAPack E RTU.
The Device Properties window allows the Target to be changed to SIMULATOR. Do not change the
target setting. Rather, select Simulator from the debugging toolbar to run the solution on a simulator.
The SIMULATOR target type is present only to allow the Simulator to function, and should not be
selected from the Properties window.
14 SCADAPack E Target 5 Technical Reference

Target Memory Usage


The SCADAPack E Smart RTU is equipped with FLASH memory, which contains the RTU operating
system, IEC 61131-3 target kernel engine and telemetry communications software. The RTU is also
equipped with battery-backed system Static RAM for storage of IEC 61131-3 application data. Up to 4K
bytes of Static RAM (per-VM) is available for IEC 61131-3 retained variables. See Section Retained
Variables 32 for details.
RTU system RAM is also available for facilities such as Online IEC 61131-3 application modification and
data.
See Section Application Storage 47 for details on application storage.

5 Target Scanning Cycle


The IEC 61131-3 target executes user applications in a cyclic fashion. As such, user applications are
also designed to execute in a cyclic fashion. As shown below, the Target Scanning Cycle 14 has
distinct phases. These include obtaining inputs to the IEC 61131-3 application (via Input I/O Devices),
execution of IEC 61131-3 programs, and updating of outputs (via Output I/O Devices). The order of IEC
61131-3 program execution is as shown in the Program list, and can be modified by changing the
“Order” setting in the program's Properties.

IEC 61131-3 Target Scanning cycle

Each Workbench Resource has automatically-defined System variables that hold the values relating to
cycle count, timing, kernel bindings, and resource information. You can view System variables from the
Global Variables dictionary instance for each resource. For example, __SYSVA_TCYCURRENT is a
global TIME variable which holds the value of the current cycle time. These values are normally read with
the Workbench debugger running and connected to the target. However, the variables can be also be
used within an application program.
SCADAPack E Target 5 Technical Reference 15

W orkbench Resource 'System Variables'

The IEC 61131-3 target executing on an SCADAPack E RTU can be configured to scan in various ways:
Real Time Scanning 16

Cycle Time Scanning 18

High Priority Scanning 21


16 SCADAPack E Target 5 Technical Reference

5.1 Continuous Scanning


This is the default Execution Mode that is used by IEC 61131-3 resources (application programs). This
mode is enabled if the resource's Execution Mode property is set to Real Time and the Cycle Time is set
to zero.
If enabled, at the end of an IEC 61131-3 target scan, the target simply restarts the scanning cycle.
Typically, the SCADAPack E RTU has many activities it needs to perform in addition to scanning the
user’s IEC 61131-3 application. As such, the application may be interrupted for short periods throughout
the scan cycle. This can result in some variations in the time it takes the VM to perform each scan. If
the RTU becomes unusually busy performing these activities, this can result in slower execution of the
user’s IEC 61131-3 application.

Resource Execution Mode property

This mode can be temporarily overridden from within the SCADAPack Workbench debugger. The
debugger can be used to change to Cycle Time Scanning 18 by writing a new value to the
__SYSVA_TCYCYCTIME 18 resource global TIME variable.

WARNING
UNINTENDED EQUIPMENT OPERATION
Evaluate the operational state of the equipment monitored and controlled
by the RTU before debugging. Hazardous situations can occur if system
state is not confirmed prior to debugging.
Failure to follow these instructions can result in death, serious injury or
equipment damage.

If the IEC 61131-3 application or the SCADAPack E RTU is restarted, a temporary cycle timing setting
is lost. The cycle time will revert to the Resource properties’ Execution Mode and Cycle Time settings.
SCADAPack E Target 5 Technical Reference 17

It is recommended that, where possible, IEC 61131-3 applications use continuous scanning mode and
be designed to take into account variations in the timing of the scan rate.
18 SCADAPack E Target 5 Technical Reference

5.2 Cycle Time Scanning


This scanning mode can be either permanently set for an IEC 61131-3 application resource or
temporarily set. Instead of the IEC 61131-3 target restarting the scanning cycle immediately after
updating the outputs, as in the default continuous mode, the scanning process is stopped for a certain
time interval. This time interval, which makes up the difference between the actual time of a complete
scan and a fixed cycle time, is now available for the RTU to perform activities that previously may have
interrupted the scanning cycle. As such, the IEC 61131-3 application will tend to have more consistent
cycle scan times.
The SCADAPack E RTU can still schedule other system operations in the middle of a IEC 61131-3 scan
if necessary. This is particularly the case for larger applications. Smaller applications will not normally
be interrupted by routine RTU activities.
The Workbench Debugger indicates a non-zero __SYSVA_TCYCYCTIME System variable value when
Cycle Time Scanning mode is in use as shown in the figure below.

W orkbench Debugger System Variables

The Workbench Debugger will increment the __SYSVA_TCYOVERFLOW System variable value if the
time taken to perform an individual scan is higher than the fixed (allowed) time. In this case the fixed
Cycle Time should be increased.
The following sections describe methods for permanently or temporarily setting Cycle Timing scanning
for an IEC 61131-3 resource. This mode can also be changed from within a user application.
SCADAPack E Target 5 Technical Reference 19

5.2.1 Permanent & Temporary Cycle Timing

Permanent Cycle Timing


To permanently set an IEC 61131-3 resource cycle time from the Workbench, enable Trigger Cycles
from the Resource Properties dialog from the Solution Explorer and enter a value in the Cycle Time field.
This needs to be done before the application Build.

W orkbench 'Resource Properties'


W indow

To change the IEC 61131-3 scanning mode from cycle timing back to Continuous scanning, set the
Trigger Cycles property to False, rebuild and download the application resource.
20 SCADAPack E Target 5 Technical Reference

WARNING
UNINTENDED EQUIPMENT OPERATION
Evaluate the operational state of the equipment monitored and controlled
by the RTU before downloading. Hazardous situations can occur if
system state is not confirmed prior to downloading.
Failure to follow these instructions can result in death, serious injury or
equipment damage.

Temporary Cycle Timing


The Workbench debugger can be used to temporarily change to Cycle Time Scanning 18 by writing a
new value in the Cycle Timing (ms) entry field in the Target Execution toolbar. The current setting for the
cycle time is also shown there (see below).

Target Execution Toolbar

WARNING
UNINTENDED EQUIPMENT OPERATION
Evaluate the operational state of the equipment monitored and controlled
by the RTU before debugging. Hazardous situations can occur if system
state is not confirmed prior to debugging.
Failure to follow these instructions can result in death, serious injury or
equipment damage.

The cycle time can also be set by in the debugger by writing to the __SYSVA_TCYCYCTIME 18
Resource Global Variable. The value entered uses the format of a TIME expression, e.g. T#200ms.
Information on the Time Data type is available in the Workbench Help documentation.

To change the application scanning mode from cycle timing back to continuous scanning, set the Cycle
Timing (ms) entry field back to zero or the __SYSVA_TCYCYCTIME variable value to "T#0s".

If the IEC 61131-3 application or the SCADAPack E RTU is restarted, a temporary cycle timing setting
is lost. The cycle time will revert to the Resource properties’ Execution Mode and Cycle Time settings.
SCADAPack E Target 5 Technical Reference 21

5.3 High Priority Scanning


The SCADAPack E RTU supports increasing the priority of an IEC 61131-3 target VM task to achieve
improved accuracy in the application cycle timing.
This is achieved by setting the “ISA_TASK_PRI” parameter using the RTUPARAM function block within
the user application.
An IEC 61131-3 application can raise its own priority, subject to the following criteria:
The Resource was built with Cycle Timing scanning (i.e. Trigger Cycles = TRUE and a non-zero Cycle
Time). (See Section Cycle Time Scanning 18 above), and
Each IEC 61131-3 application cycle needs to scan in less time than the fixed Cycle Timing setting.

High priority scanning sets the target VM task to run at a higher priority than routine RTU operating
system tasks. This is useful where highly accurate execution rates are required.
An IEC 61131-3 VM task executing with standard priority and Cycle Time Scanning will still achieve
relatively accurate execution timing, suitable for typical applications. Schneider Electric recommends
that High Priority Scanning only be used where absolutely necessary for the application as it can
adversely affect the RTU's capacity to perform other tasks.
If multiple IEC 61131-3 resources are executing on the same RTU, it is not recommended for more
than one of the Resources to operate in high priority scanning mode.
Where high priority scanning is required, it is suggested that user IEC 61131-3 applications be split into
a high priority and low priority component. This is to minimize the amount of application code that runs
at high priority and the otherwise resultant impact on other RTU operations, such as communication.
Two IEC 61131-3 target resources could be used to separately execute the low and high priority
components. One of the resources could then use the RTUPARAM function block to increase its
priority.
For more information on the RTUPARAM function block see the SCADAPack E Target 5 Function Block
Reference manual.
22 SCADAPack E Target 5 Technical Reference

6 RTU Logic Functionality


Input Scanning 23

Output Updates 24

Language Types 25
Data Types 26

Operators 28

I/O Locking 29

String Variables & Conversion 31

Retained Variables 32

Array Variables 34

Second IEC 61131-3 VM Features 40


SCADAPack E Target 5 Technical Reference 23

6.1 Input Scanning


Binary Inputs
The update of binary input states to an IEC 61131-3 application, either from RTU local I/O, remote I/O or
other RTU database data, is synchronized with the scanning of the IEC 61131-3 application resource.
The IEC 61131-3 Resource updates its input I/O Devices at the start of the scan cycle as described in
Section Target Scanning Cycle 14 . The input variables that are updated from the I/O remain constant
for the duration of one program scan. Physical RTU Digital inputs are represented as Binary Input Points
in the RTU address space and are represented as IEC BOOL variables in an IEC 61131-3 resource.

Analog Inputs
The update of analog input values to an IEC 61131-3 application is similar to binary inputs. The updates
are synchronized with the scanning of the IEC 61131-3 application. The SCADAPack E RTU's database
supports 16-bit Signed Integer, 32-bit Signed Integer as well as 32-bit Floating-Point data points. Analog
variables in Workbench are represented as 16-bit Signed IEC INT, 32-bit Signed IEC DINT or 32-bit
Floating Point IEC REAL within the application resource. The RTU supports data conversion between
the 16-bit and 32-bit analog data types.
24 SCADAPack E Target 5 Technical Reference

6.2 Output Updates


Binary Outputs
RTU binary output data is updated at the end of the scan cycle following changes made by the IEC
61131-3 resource to its BOOL variables. See Target Scanning Cycle 14 for details. RTU Digital
outputs and RTU derived database points are represented as Binary Points in the RTU address space
and IEC BOOL variables in an application resource.
By default, an executing application with output variables connected to the physical I/O Devices has
control of Physical RTU Binary Outputs and Derived RTU points, unless a “Remote Interlock” is active for
individual binary points. See Remote Control Interlock 64 for more information.
See Stopping an IEC 61131-3 Application 52 for a description of the effect on Binary Outputs when
the application resource is stopped.

Analog Outputs
The analog output data is updated at the end of a Resource scan similar to Binary Outputs. The RTU
supports 16-bit Signed Integer, 32-bit Signed Integer and Floating Point data objects. Analog variables
are represented as16-bit Signed IEC INT, 32-bit Signed IEC DINT or 32-bit Floating Point IEC REAL
within the Workbench environment. The RTU also supports data conversion between the 16-bit and 32-
bit analog data types.
By default an executing IEC 61131-3 application, with analog points on Output I/O Devices, has control
of those Physical RTU Analog Outputs and Derived RTU points, unless a “Remote Interlock” is active for
individual analog points. See Remote Control Interlock 64 for more information.
See Stopping an IEC 61131-3 Application 52 for a description of the effect on Analog Outputs when
the application resource is stopped.
SCADAPack E Target 5 Technical Reference 25

6.3 Language Types


Language Types
Projects can be developed using different programming languages from the IEC 61131-3 standard. When
building, resources are compiled to produce very fast "target independent code" (TIC) code.
The SCADAPack Workbench supports four IEC 61131-3 international standard sequencing languages.
These are:
SFC - Sequential Function Chart
FBD - Function Block Diagram
LD - Ladder Diagram
ST - Structured Text
Control applications may be written in SCADAPack Workbench using any combination of the above
languages, and can be executed on either, or both IEC 61131-3 target resources. The Scientific
Apparatus Makers Association (SAMA) diagram language and the IEC 61499 language are not
supported.
26 SCADAPack E Target 5 Technical Reference

6.4 Data Types


The SCADAPack E RTU supports the following IEC 61131-3 data types and corresponding Point values.

Relationship between IEC 61131-3 and SCADAPack E Data

Workbench Data Format Use IEC61131-3 RTU Database point representation


Data Type interfaces

BOOL TRUE or FALSE RTU_BIN_ I/O devices, Binary point state


GETPNTB, SETPNTB
function blocks

INT Signed, short integer GETPNTSS, Analog point, 16-bit Integer value (RAW
(16-bit) SETPNTSS function
blocks

DINT Signed, long integer RTU_RAW_ I/O Analog point, 32-bit Integer value (RAW
(32-bit) Devices, GETPNTSL,
SETPNTSL function
blocks

UINT Unsigned, short GETPNTUS, Analog point, 16-bit Integer value (RAW
integer (16-bit) SETPNTUS function )
blocks

UDINT Unsigned, long RTU_COUNTER_READ Counter point, 32-bit Integer value


integer (32-bit) I/O device, GETPNTC
function block

REAL Floating point 32-bit RTU_ENG_ I/O Analog point, 32-bit floating point
IEEE-754 devices, GETPNTF, Engineering value (ENG)
SETPNTF function
blocks

TIME 1 ms counts LOC_TIME function


block

STRING Up to 255 characters RTU_STRING_WRITE System string point


I/O device, RDSTRING
function block

The target on the SCADAPack E RTU supports elementary IEC 61131-3 data types, with the exception
of the SAFEBOOL type. See the Workbench Help documentation for more information on the IEC
61131-3 data types.
SCADAPack E Target 5 Technical Reference 27

Workbench has a wide range of built-in Data Conversion operators such as ANY_TO_DINT,
ANY_TO_TIME, etc.
IEC 61131-3 integer variables can correspond to RTU analog point Integer (RAW) values when connected
through I/O Devices or function blocks. REAL IEC61131-3 variables correspond to RTU analog point
Engineering (ENG) values when connected through I/O Devices or Function Blocks.
IEC 61131-3 Integer constant data types, such as DINT, INT, UDINT, etc. may be expressed with one of
the following Bases. Integer constants begin with a Prefix that identifies the Bases used:

Base Prefix Example

DECIMAL (none) -260

HEXADECIMAL "16#" 16#FEFC

OCTAL "8#" 8#177374

BINARY "2#" 2#0101_0101_0101_0101

The underscore character ('_') may be used to separate groups of digits. It has no particular significance
other than to improve literal expression readability.
28 SCADAPack E Target 5 Technical Reference

6.5 Operators
SCADAPack Workbench application software supports a comprehensive array of built-in operators
including functions for:

Table 5.2: Workbench Supported Built in Operators and Functions

boolean operations AND, OR, XOR, NOT, F_TRIG, R_TRIG, SR, RS

analog operations *, +, -, /, AND_MASK, CMP, LIMIT, MAX, MIN, MOD, NEG,


NOT_MASK, ODD, OR_MASK, RAND, ROL, ROR, SHL, SHR,
STACKINT, XOR_MASK

data manipulation 1 GAIN, MUX4, MUX8, SEL

type conversion ANY_TO_xxx (18 data types), CHAR

comparison <, <=, <>, =, >, >=

maths ABS, ACOS, ASIN, ATAN, COS, EXPT, LOG, POW, SIN,
SQRT, TAN, TRUNC

string management ASCII, DELETE, FIND, INSERT, LEFT, MID, MLEN, REPLACE,
RIGHT

timer control TOF, TON, TP

control/signal handling AVERAGE, BLINK, DERIVATE, INTEGRAL, HYSTER,


LIM_ALRM, SIG_GEN

Counting CTD, CTU, CTUD

Date CURRENT_ISA_DATE, SUB_DATE_DATE

See the Workbench Help documentation sections on Operators, Functions & Function Blocks for more
information.
SCADAPack E Target 5 Technical Reference 29

6.6 I/O Locking


I/O locking provides the ability to lock inputs and outputs into a certain state, regardless of their true
state. This provides a mechanism for freezing I/O in a fixed state, allowing maintenance to be performed
while the IEC 61131-3 application is still executing.

WARNING
UNEXPECTED EQUIPMENT OPERATION
Evaluate the operational state of the equipment monitored and controlled by the
SCADAPack E RTU prior to initializing the SCADAPack E RTU.

Failure to follow these instructions can result in death, serious


injury or equipment damage.

SCADAPack 300E RTU's "FORCE" LED indicates that an application resource has at least one I/O
variable in a LOCK state. When no variables remain locked, the FORCE LED will turn off.
I/O variables on the target can be locked and unlocked individually through the SCADAPack Workbench
when connected online with the Workbench debugger to the SCADAPack E RTU's target resource. This
can be done through the resource's Dictionary dialog (shown below) or from the I/O Device Window.
When an I/O variable is locked, the Workbench indicates the Logical Value used by the IEC 61131-3
Resource and the Physical Value associated with the I/O Device connection.
For an input variable (Direction VarInput), the Logical Value field can be modified to override the
variable value used by the Resource. The Physical Value indicates the actual value coming from the I/
O Device even though it is not being used by the Resource.
For an output variable (Direction VarOutput), the Physical Value can be modified to override the value
output to the I/O Device. The Logical Value indicates the variable value coming from the Resource
even though it is not being sent to the I/O Device.
Clear the Lock indication to release the override on the variable. The Physical Value and Logical Value
should return to indicate the same value.

Variable locking in the Resource Dictionary dialog

The Workbench debugger also provides another mechanism to view or unlock locked variables. When in
30 SCADAPack E Target 5 Technical Reference

Debug mode, use the Lock Variables Viewer (shown below). This can be activated from the menu
Debug > Locked Variables Viewer or from the lock icon on the Target Execution Toolbar.

Locked Variables View er Dialog

WARNING
Online firmware update will NOT preserve the RTU operational state prior
to the upgrade, including output states, application state information, I/O
Lock states, etc.
Consider the impact on operating equipment when upgrading firmware.

The diagram below shows how inputs and outputs are isolated from the IEC 61131-3 variable database
and Workbench debugger when locked.
SCADAPack E Target 5 Technical Reference 31

6.7 String Variables & Conversion


String Variables
STRING variables provide a mechanism for manipulating groups of ASCII characters (strings). For
example, ASCII characters can be read in from external equipment, processed by an IEC 61131-3
program, which may then build and output an appropriate ASCII reply.
STRING variables also interface with the SCADAPack E RTU system string points. SCADAPack E IEC
61131-3 string variables are limited to a max. 255 characters in length.

Converting a String to Integer Values


The built-in IEC 61131-3 operators ANY_TO_xxx (18 types) can convert other IEC data types to almost
any other type. When ANY_TO_DINT is used to convert a STRING data type to a DINT integer, IEC
61131-3 does not automatically perform bounds checking on the input message value. Where a STRING
message string has a value greater than 2^31, unexpected results may occur.

It is recommended that the user perform their own bounds checking on the message value if it is
required to handle numbers above 2^31. For example, use ANY_TO_LINT and then check the value.
32 SCADAPack E Target 5 Technical Reference

6.8 Retained Variables


The SCADAPack E RTU provides a facility for storing IEC 61131-3 application resource variable values
that are required to retain their value when power is lost, or when an application resource is restarted. A
copy of every application variable type with the Retain attribute checked is stored by the RTU, at the end
of every Resource scan (for the two target resources), in non-volatile areas of RTU memory. After a user
application restarts, retained variables for that application are refreshed with their last saved value.
Variables using a direction of VarOutput or VarInput and Retained enabled are not supported.
It is possible to select this in some versions of SCADAPack Workbench. However, the variable
will not be retained. Do not use these combinations.
4K of RTU system NV-RAM (per-target resource) is set aside for retained variables, which is shared by
the standard variable types. The table below shows the memory used for each of the standard types.

Example memory used by standard IEC 61131-3 variable types

IEC 61131-3 Variable Type RTU Memory Usage

BOOL 1 byte

INT / UINT 2 bytes

DINT / UDINT 4 bytes

TIME 4 bytes

STRING 255 bytes

The amount of memory allocated to each variable type is automatically allocated by the SCADAPack E
RTU depending on the application requirements and the number of active applications in the RTU. The
SCADAPack Workbench resource Memory For Retain property is not required for the SCADAPack E to
use retained variables. Non-volatile memory storage for retained variables is allocated at a fixed memory
segment within the RTU. The total retained memory space requirements of a resource needs to be less
than 4KB or a Resource startup status code will be set (Code 4004).

The Memory Usage (Retain Space) property of each resource shows the memory (in bytes) requirement
for the application.
SCADAPack E Target 5 Technical Reference 33

W orkbench Resource Properties w indow

The SCADAPack E RTU clears retained variable values when an IEC 61131-3 application or RTU NV-
RAM is cleared.
E.g. when a Cold Boot factory-defaults initialization occurs, if RTU firmware is changed through a local,
manual firmware upgrade, or when using the command line "CLEAR ISaGRAF" command.

The SCADAPack E IEC 61131-3 targets in the RTU automatically clear retained variables for the
appropriate target kernel task when a new IEC 61131-3 application is loaded.
34 SCADAPack E Target 5 Technical Reference

6.9 Array Variables


Static Arrays
The SCADAPack Workbench supports arrays of standard IEC 61131-3 types or user defined structured
types. An array has one or more dimensions. Array dimensions are positive DINT literal expressions
and array indexes are DINT literal expressions or variables.

Array names can have up to 128 characters and can begin with letters or single underscores followed by
letters, digits, and single underscores. Array variables are declared in a Resource’s Global Variables
window or in a Program’s Local Variables window.

Declaring Arrays in the Local Variables W indow

Examples:

1. One-dimensional array:

MyBoolVar is an array of 10 BOOL. Its dimension is defined as follows: [1..10].

Structured Text example initialization:

FOR i := 1 TO 10 DO

MyBoolVar [i] := FALSE;

END_FOR;

2. Two-dimensional array:

MyDintArray is an array of DINT. It has two dimensions defined as follows: [1..10,1..3]

Structured Text example initialization:

FOR I := 1 TO 10 DO

FOR J := 1 TO 3 DO

MyDintArray [I][J] := FALSE;

END_FOR;
SCADAPack E Target 5 Technical Reference 35

END_FOR;

Array access example:

MyDintArray [1,2] := 100;

CAUTION
Like many other Programming Languages, access of an IEC 61131-3 array
variable in a program using an index number beyond the configured
dimension can lead to serious unpredictable results including overwriting of
data, reset of the RTU, etc.

The Resource Compiler Options property, Check Array Index can be enabled to check the bounds on
array accesses at run-time (see below). If an out-of-bounds access is found, System Error 4033, "Kernel
TIC: Boundary check error" is set and the offending Resource is stopped.

'Check Array Index' Property

CAUTION
Enabling the Check Array Index Compiler Option should not be relied upon
to detect all array access errors. If enabled, this option is likely to have a
performance impact on the application's cycle time.

Once an array is defined in a resource's Local or Global Variables Window, the IEC notation ArrayName
[ index ] may be used in any program or I/O Device connection.

When using IEC 61131-3 arrays, keep in mind:


Functions and Function Blocks cannot have parameters of array type, but can have an element of the
exact element ( e.g. using notation ArrayName [7] )
Array elements starts from element index 0 or 1, depending on how it was declared in the resource's
Dictionary.
Array elements can be initialized individually in the resource's Dictionary. Or, write initial values using
a FOR loop in a startup program.
36 SCADAPack E Target 5 Technical Reference

The Retained property applies to the whole array. It's not possible to retain just individual elements.

Dynamic Arrays

The SCADAPack Workbench allows up to 16 arrays of DINT values to be created dynamically (per-
resource) using the ARCREATE Function. This feature may be useful in user functions where the
bounds of an array is determined by a parameter where the value is not known at compile time.

The dynamic array is created with a single call to the ARCREATE function, passing in an array ID value
between 0 and 15. This ID value is used in subsequent calls to the ARREAD (read from array) and
ARWRITE (write to array).

Dynamic arrays are cleared when the application resource is stopped or the RTU is restarted. The array
element values cannot be retained in dynamic arrays.

See the SCADAPack E Target 5 Function Blocks Reference manual for further details.
SCADAPack E Target 5 Technical Reference 37

6.9.1 Array Data Types

SCADAPack Workbench also supports the concept of custom Array Data Types. The user can create
their own named array type and then add variables of this type in the Resource's Global Variables or
Program's Local Variables window.
Array Data Types are declared in the Resource's Lib\DataTypes Window as shown below.

Declaring an Array Data Type

In order to use a custom Data Type, add variables of that type using the Resource Global Variables
window or Program Local Variables window.

Adding variables of Array Data Types

Example 1:

The user creates an Array Data Type called MyArrayType, which is an array of 10 BOOL. Its dimension
is defined as follows: [1..10].
38 SCADAPack E Target 5 Technical Reference

In the Resource's Local Variables dictionary, the array MyVar is created, which is of type MyArrayType.
The MyVar array can then be used as a normal array in a program as follows:

Ok := MyVar [4];

In this example, the MyVar variable is an instance of the MyArrayType Data Type.

Example 2:

In the Resource's Local Variables dictionary, the array MyVar2 is created, which is an array of type
MyArrayType (as per the previous example). This effectively creates a two-dimension array, which could
be initialized as follows:

FOR I := 1 TO 3 DO

FOR J := 1 TO 10 DO

MyVar2 [I][J] := FALSE;

END_FOR;

END_FOR;

6.10 Structure Data Types


SCADAPack Workbench also supports the concept of Structure Data Types made up of elementary IEC
61131-3 types or user defined structured types.
A structure is composed of sub-entries called Fields. The user can create their own named structure
type and then then define variables of this type in the Resource's Global Variables or Program's Local
Variables window.
Structure names can have up to 128 characters and can begin with letters or single underscores
followed by letters, digits, and single underscores.

Structure Data Types are declared in the Resource's Lib\DataTypes Window as shown below.
SCADAPack E Target 5 Technical Reference 39

Declaring Structure Data Types

In order to use a Structured Data Type, add variables of that type using the Resource Global Variables
window or Program Local Variables window.

Declaring instances of Structure Data Types

Example:

In the Data Types Structure tab, the user creates MyStruct1, which is composed as follows:

Field1 which is BOOL

Field2 which is DINT

A second Structure, MyStruct2 is also created as follows:

Field1 which is DINT

Field2 which is BOOL

Field3 which is of Array Data Type 37 MyArrayType (an array of 10 DINT)

Field4 which is of type MyStruct1


40 SCADAPack E Target 5 Technical Reference

In the Resource's Local Variables dictionary, the array MyVar is created, which is of type MyStruct2. The
following Structured Text example shows how the MyVar variable could be used in an IEC 61131-3
program:

Value1 := MyVar.Field1; (* Value1 is of type DINT *)

Ok1 := MyVar.Field2; (* Ok1 is of type BOOL *)

Tab[2] := MyVar.Field3 [5]; (* Tab is an array of DINT *)

Value2 := MyVar.Field3 [8]; (* Value2 is of type DINT *)

Ok2 := MyVar.Field4.Field1; (* Ok2 is of type BOOL *)

Structure fields can be initialized individually in the Workbench Dictionary. Or, write initial values in a
startup program.

The Retained property applies to the whole structure. It's not possible to retain just individual fields.

Functions and Function Blocks cannot have parameters of structure type, but can have an element of
the exact field, if it's an elementary IEC 61131-3 type ( e.g. using 'dot' notation MyVar.Field1 ).

6.11 Second IEC 61131-3 Resource Features


A user IEC 61131-3 application using the RTU’s second target resource may connect to any RTU points
on Input I/O Devices, but cannot be connected to output I/O devices with points that are already on an
output I/O device used by the other Resource.
The Workbench Debugger will dynamically switch communication between two Resources running on
the target, as requests are received to/from each.

The SCADAPack Workbench Resource Numbers are configured as “1” and “2” to represent the RTU’s
first and second target resources, respectively.
SCADAPack E Target 5 Technical Reference 41

6.12 Defined Words


The SCADAPack Workbench enables the re-definition of literal expressions, true and false Boolean
expressions, keywords or complex ST expressions. To achieve this, an identifier name, called a Defined
Word, is assigned to the corresponding expression. Defined words have a global scope, i.e., they are
available for use in any component of an application resource. The following are examples of defined
words:
YES is TRUE
PI is 3.14159
OK is (auto_mode AND NOT (alarm))

When such an equivalence is defined, its identifier is available anywhere in an ST program to replace the
attached expression. The following ST programming example uses defined words:
If OK Then
angle := PI / 2.0;
isdone := YES;
End_if;

When the same identifier is defined twice with different ST equivalencies, the last defined expression is
used:
Define:
OPEN is FALSE
OPEN is TRUE
means:
OPEN is TRUE
Names of defined words can have up to 32 characters and begin with a letter followed by letters, digits,
and single underscore characters. The last character can be either a letter or a digit.

The definition of a defined word is expressed using variables or literals; these cannot use defined words
or expressions.
Defined Words are declared in the SCADAPack Workbench Resource's Lib\DataTypes Window as
shown below.
42 SCADAPack E Target 5 Technical Reference

Accessing Defined W ords in a project

The 'greyed-out' Defined Words shown in the above diagram are target-specific. They are defined by the
SCADAPack Workbench and can't be removed. However, user-specific Defined Words can be added to
the list.
The list of Defined Words can be alphabetically and numerically sorted with the grid column headers.
SCADAPack E Target 5 Technical Reference 43

7 Application Management
The following sections describes facilities provided by SCADAPack Workbench for application
management
On-line Changes 44
Application Storage 47

Storing a Proj ect on the RTU 48


44 SCADAPack E Target 5 Technical Reference

7.1 Online Changes


Online changes allows an IEC 61131-3 application resource running on the SCADAPack E RTU to be
modified, without any discontinuity of execution. Use of this feature is subject to available RAM memory
on the RTU and similarity of the new application with the executing application.

WARNING
Online changes should be used with care. The IEC 61131-3 target may not detect
all possible conflicts generated by user-defined operations as a result of these
online changes.

An Online Change does not restart the resource. Variable values are preserved. When performing online
changes you cannot modify application parameters, add or remove I/O Devices, modify I/O Device
connections or modify I/O Device parameters.
The following application modifications are permitted when performing Online Changes:

Internal When renaming or changing the data type of internal variables, the Workbench
Variables creates new variables. Therefore, variables are initialized.
Adding and removing elements in arrays for internal variables. For multi-dimensional
arrays, you can only add elements to the first dimension. The Workbench initializes
these new elements. Adding elements to other dimensions causes the Workbench to
initialize a new array.
Programs Adding, deleting, renaming, and reordering (for execution within the programs section)
programs. When renaming programs, the Workbench detects a CRC mismatch and
updates the code on the target for the program and reinitialize's local variables. When
renaming SFC programs, instance data and local variables are not preserved, i.e,
elements are reset to their initial state.

When planning to add programs (other than SFC) using online changes, you need to
allocate a sufficient number of maximum extra POUs.
When planning to add SFC programs using online changes, you need to allocate
sufficient memory space for SFC programs.
Adding, deleting, renaming steps and transitions as well as modifying the initial step or
the flow between elements. When modifying SFC programs, instance data and local
variables is preserved, i.e., elements are not reset to their initial state.
Adding, deleting, and moving action blocks within steps of SFC programs. Action
blocks within steps are executed in the order of appearance. You can also change the
qualifier of an action block.
Functions and Adding, deleting, and moving function blocks. Adding and deleting function block
Function Blocks instances.
Renaming and modifying user-defined functions and function blocks.
SCADAPack E Target 5 Technical Reference 45

Adding, removing, and modifying the parameters of user-defined functions and function
blocks. When modifying the parameters, instance data is not preserved. You need to
recompile modified functions and function blocks called by other POUs as well as the
calling POUs.
I/O Devices New I/O variables may be created and attached to an existing I/O Device.
Existing I/O variables may be moved from channel to channel on the same I/O Device.
Existing I/O variables may be moved from one I/O Device to another.
Parameters may be modified on an existing I/O Device except for the following:

Parameters cannot be swapped between I/O devices. This is because the validation
checks are done one device at a time; the first device to be checked will detect a
duplicate and refuse the change (because the other device hasn't been changed
yet).
The 'Port' parameter cannot be changed online unless it's a TCP port number.
If an I/O output device has channels connected to local physical outputs and the
‘First_Point_Number’ parameter is changed online, the device will follow the state of
the 'Hold_On_Stop' parameter (if applicable). If the 'Hold_On_Stop' parameter is False
(default), the I/O device will zero the current value or state of any points that have been
disconnected from output channels as a result of the online change. See the Hold On
Stop 64 section.
The following actions require a full application download:
Adding a new I/O Device
Removing an existing I/O Device
Modifying the number of channels on an existing I/O Device

WARNING
UNCONTROLLED OUTPUT VARIABLES
Online changes to output I/O devices should be done with care. If output variables
are moved between channels or devices, the vacated channels will remain in their
previous state or value, unless replaced with another variable.
Failure to follow these instructions can result in death, serious injury or
equipment damage.

You can perform online changes after building a project. Online changes are unavailable after cleaning a
project.
Modifying a running application with the Online Change feature consists of the following operations:
Modify the application source code in the Workbench
Build the current application program
Download the new application using the Online Change command. From the Workbench Solution
Explorer, right-click the project for which to perform the Online Change, then choose Online Change or
46 SCADAPack E Target 5 Technical Reference

click the button on the Workbench Toolbar.

WARNING
UNINTENDED EQUIPMENT OPERATION
Evaluate the operational state of the equipment monitored and controlled by the
RTU before downloading. Hazardous situations can occur if system state is not
confirmed prior to downloading.

Failure to follow these instructions can result in death, serious injury or


equipment damage.

The user will be informed if the change cannot be made online, and the change will not proceed.
SCADAPack E Target 5 Technical Reference 47

7.2 Application Storage


The IEC 61131-3 application(s) loaded into the SCADAPack E RTU is stored in a non-volatile file system
directory on the RTU called "C:\ISaGRAF5". When power is restored after an outage, each stored
application is validated by the RTU and a separate copy is made in volatile RAM for execution.
If both copies are not valid, the IEC 61131-3 target waits for a new application to be loaded and the
Application Halted system binary point for that Resource is activated (RTU system binary point 50100 or
50101).
Variables, other than those specified in the resource as retained variables, are stored in volatile (non-
saved) memory. The IEC 61131-3 target initializes their values when the application restarts.
The IEC 61131-3 applications are stored in the RTU file system in files called:
"ISPxxx01" is the resource's compiled TIC code.
"ISPxxx03" is the resource's configuration file.
"ISPffe0d" is the Network configuration file (shared between resources)
"IDSxxx01" is the resource's Symbol Table information.
"IDSxxx03" is the resource's Embedded Zip Source data (if configured).
Where: "xxx" is the resource number, eg. "001".
The SCADAPack Workbench supports resource numbers "1" and "2" corresponding to the two
SCADAPack E IEC 61131-3 target Resources.
48 SCADAPack E Target 5 Technical Reference

7.3 Storing a Project on the RTU


SCADAPack Workbench provides the facility for storing the IEC61131-3 "source" on the target RTU
along with the executing TIC code.
This facility allows the original code that generated the Workbench application to be stored on the
SCADAPack E RTU, and later uploaded to the Workbench.

The application upload facility is supported through the following SCADAPack E IEC 61131-3 interfaces:
via an RTU serial port configured as ISaGRAF
via Ethernet when RTU has ISaGRAF/TCP service enabled (see SCADAPack E Configurator TCP/IP
page)

IEC 61131-3 project Upload facilities are not supported via DNP3 communications using SCADAPack E
Configurator.

Downloading a Workbench Project to the Target


The SCADAPack Workbench project "source" can be downloaded along with the RTU TIC code. The
project is compressed by the Workbench and forms part of the application resource downloaded to the
RTU.
This applies to applications downloaded via the Workbench Debugger or via file transfer in an ".I5P"
package file. (See Remote Target Access 80 ).
'To include Workbench Project "source" with the execution code to download to the target, set the
Resource property Embedded Zip Source settings as shown below.

Embedding application source code


SCADAPack E Target 5 Technical Reference 49

The user can choose to embed source for just the selected Resource or for the whole Proj ect (i.e. both
project resources).
When the application is next built by the Workbench and downloaded to the RTU, it will store the project
on the RTU for later retrieval by Uploading 49 .

Uploading a Project from the Target to the Workbench


The SCADAPack Workbench allows a project's source to be retrieved from the IEC 61131-3 target if it
was originally build with the Embedded Zip Source resource property.

In the Workbench Solution Explorer window, right click the desired resource to upload. It shows the
dialog in the following figure:

Select a Resource to Upload

Select Upload and wait while the data is uploaded from the target. When this is complete, an Import
dialog will be shown as follows:
50 SCADAPack E Target 5 Technical Reference

Resource Import Dialog


Selecting the Import button will load a copy of the uploaded resource into the Workbench Solution
Explorer window.
SCADAPack E Target 5 Technical Reference 51

8 I/O Interfaces
The diagram below shows the relationship between the IEC 61131-3 application and other elements that
it interacts with in the SCADAPack E RTU firmware. The IEC 61131-3 application connects to the RTU
point database via I/O Devices and Function Blocks. In turn, the point database segregates the I/O
(physical & derived), the protocol drivers and the IEC 61131-3 application.

SCADAPack Workbench provides several interfaces for associating RTU data with IEC 61131-3
variables. The following sections describe the methods that can be used.
Physical I/O 52

Derived Data 54

RTU I/O Devices 55


PLC I/O Devices 65
RTU Data via Function Blocks 74
52 SCADAPack E Target 5 Technical Reference

8.1 Physical I/O


Physical inputs and outputs on the SCADAPack E RTU can be accessed by the IEC 61131-3 resource
by using I/O Devices. RTU internal data points may also be accessed via I/O Devices (or via other
Function Blocks) as will be described later in this section. Each I/O Device needs to be supplied with a
Point Number that specifies the RTU starting point index or offset when reading from inputs or writing to
outputs. This point number is entered into the first_point_number field of the particular IEC 61131-3 I/O
device using the Workbench Resource's I/O Device window.
For information on the SCADAPack E RTU physical point index mapping see the following manuals,
where relevant:
SCADAPack E 5000 Series I/O Expansion Reference manual
SCADAPack E Configurator User Manual
SCADAPack E DNP3 Technical Reference manual

Stopping an IEC 61131-3 Resource


The effect of stopping an IEC 61131-3 Resource on Physical I/O varies between SCADAPack E Smart
RTU.
The following table defines the effects.
When ISaGRAF SCADAPack SCADAPack SCADAPac SCADAPack 5000 Remote
application is Stopped: ES local I/O ER I/O cards k 300E I/O ES Remote Series I/ RTU & IED
I/O O Devices *
Binary Inputs updated in Yes Yes Yes Yes Yes Yes
database?
Analog Inputs updated in Yes Yes Yes Yes Yes Yes
database?
Binary Output & database
state if I/O device not using
Reset Off Reset Off Unchanged Unchanged Unchang Unchanged
"Hold_On_Stop" parameter
ed
Binary Output & database
state if I/O device is using
Unchanged Unchanged Unchanged Unchanged Unchang Unchanged
"Hold_On_Stop" parameter
ed
Analog Output & database
value if I/O device is not
Reset to 0 Reset to 0 Unchanged Unchanged Unchang Unchanged
using "Hold_On_Stop"
ed
parameter
Analog Output & database
value if I/O device is using
Unchanged Unchanged Unchanged Unchanged Unchang Unchanged
"Hold_On_Stop" parameter
ed
Binary Output changes if Yes Yes Yes Yes Yes Yes
database value updated
after Resource Stop
Analog Output changes if Yes Yes Yes Yes Yes Yes
SCADAPack E Target 5 Technical Reference 53

database value updated


after Resource Stop

*Applies to DNP3 Master and IEC60870-5-103 Master communications to remote devices


See Hold On Stop 64 for output I/O Device parameter information.
The above table does not include data to/from PLC devices such as Modbus, DF1, etc. The IEC 61131-3
application manages the data transfer for PLC protocol communications and so when a resource is
stopped, PLC communications and data transfer ceases.
54 SCADAPack E Target 5 Technical Reference

8.2 Derived Data


Derived RTU data (e.g. calculations to be sent to a SCADA master, data for peer-to-peer
communications, etc.) can be accessed by a IEC 61131-3 Resource in exactly the same way as
physical I/O, i.e. using the I/O device mechanism (or function block mechanism). Each I/O device type
used to access physical I/O may be used for manipulating derived RTU data, by simply specifying an
appropriate first_point_number. Derived RTU points can be created using SCADAPack E Configurator.
Once created, a user IEC 61131-3 application can open I/O devices attached to the derived points.
Analog I/O devices can receive data from and send data to an IEC 61131-3 Resource in integer or real
(floating point) format from derived or physical I/O points (e.g. for SCADA). Floating point RTU data is
related to integer data through Raw and Engineering scaling parameters configured for each RTU
database point.

SCADAPack E RTU_xxx_WRITE I/O devices export data from a IEC 61131-3 Resource to the RTU
database. This data is then available to the SCADA master system or other peer RTUs. Similarly,
RTU_xxx_READ I/O devices used for derived points import data from the RTU database into a IEC
61131-3 Resource. Control data from a SCADA master, or peer RTU for example is then available to
the IEC 61131-3 Resource.

IEC 61131-3 Resource derived outputs = SCADA master inputs, Peer RTU input data
IEC 61131-3 Resource derived inputs = SCADA master outputs, Peer RTU output data

IEC 61131-3 input variables attached to RTU derived database point (via I/O Device channels) may be
initialized to a predefined state via the appropriate SETPNTxx Function Block. The figure below shows
an example of the Workbench I/O Device interface, with inputs attached to the currently selected device
(RTU_RAW_READ) displayed on the right.

W orkbench Resource 'I/O Device' W indow


SCADAPack E Target 5 Technical Reference 55

8.3 I/O Devices


The list below contains the "RTU" I/O Devices available in the Schneider Electric SCADAPack
Workbench for the SCADAPack E RTU.
The SCADAPack E "RTU" I/O Device types access database points configured in the RTU.
Both physical I/O points and derived points are accessed using an "RTU" I/O device.
The I/O device configuration used in a IEC 61131-3 Resource need not necessarily correspond to the
RTU physical I/O card arrangements.

SCADAPack E "RTU" I/O Devices

Device Name IEC 61131- Max. RTU Points supported


3 Data no. of
Type Channe
ls
RTU_BIN_READ BOOL 100 Physical Input, Derived & System Binary Objects.
VarInput
variables

RTU_BIN_WRITE BOOL 100 Physical Output, Derived & System Binary Objects
VarOutput
variables

RTU_BIN_READ_OUT BOOL 100 Physical Output, Derived & System Binary Objects
PUT VarInput with Status
variables

RTU_RAW_READ DINT 100 Physical Input &, Derived Integer Objects.


VarInput
variables

RTU_ENG_READ REAL 100 Physical Input & Derived Floating Point Objects
VarInput
variables

RTU_RAW_WRITE DINT 100 Physical Output &, Derived Integer Objects


VarOutput
variables

RTU_ENG_WRITE REAL 100 Physical Output &, Derived Floating Point Objects
VarOutput
variables

RTU_RAW_READ_O DINT 100 Physical Output &, Derived Integer Object with Status
UTPUT VarInput
variables

RTU_ENG_READ_OU REAL 100 Physical Output &, Derived Floating Point Object with
TPUT VarInput Status
variables
56 SCADAPack E Target 5 Technical Reference

RTU_COUNTER_REA UDINT 100 Counter Input Objects


D VarInput
variables

RTU_STRING_WRITE STRING 1 System String points


VarOutput
variables
SCADAPack E Target 5 Technical Reference 57

8.3.1 Binary (Digital) RTU I/O Devices

I/O Devices for Binary (Digital) Input Points


Physical & Derived RTU binary points may be read through RTU_BIN_READ I/O Devices. Where an IEC
61131-3 Resource attaches a BOOL (VarInput Direction) variable to a RTU_BIN_READ I/O device, the
Current State Property of the binary point will be read into the IEC 61131-3 Resource variable. If the
binary point is a Physical Binary I/O address, the physical binary input channel corresponding to that
address is read.
Binary point database values, including those read into an IEC 61131-3 resource through an I/O Device,
can be preset from an IEC 61131-3 Resource by using the SETPNTB function.

I/O Devices for Binary (Digital) Output Points


Physical RTU binary outputs have two sets of IEC 61131-3 interfaces. The state of a binary outputs are
controlled through RTU_BIN_WRITE I/O devices. The feedback status of binary outputs are read
through RTU_BIN_READ_OUPUT I/O devices.
Derived RTU binary points are controlled through RTU_BIN_WRITE I/O devices. The feedback status of
derived binary points is read into RTU_BIN_READ I/O Devices.
Where an IEC 61131-3 Resource attaches a BOOL (VarOutput Direction) variable to a RTU_BIN_WRITE
I/O device, the Current State Property of the binary point will be controlled from the IEC 61131-3 BOOL
variable.

Counter Input Devices


The Current Integer Value property of a physical counter input can be read through an
RTU_COUNTER_READ I/O Device. The IEC 61131-3 Resource attaches a UDINT (Unsigned 32-bit
Integer) variable to this I/O Device type.
Counter point database values can be preset from an IEC 61131-3 Resource by using the SETPNTC
function.
58 SCADAPack E Target 5 Technical Reference

8.3.2 Analog RTU I/O Devices

I/O Devices for Analog Input Points


Physical and Derived RTU Analog points may be read through RTU_RAW_READ and RTU_ENG_READ
I/O Devices. Where an IEC 61131-3 Resource attaches a DINT (VarInput Direction) variable to a
RTU_RAW_READ I/O device, the Current Integer Value property of the analog point will be read into the
IEC 61131-3 Resource variable. If the analog point is a Physical Analog I/O address, the physical analog
input channel corresponding to that address is read.
Where an IEC 61131-3 Resource attaches a REAL (VarInput Direction) variable to a RTU_ENG_READ I/
O device, the Current Eng. Value property of the analog point will be read into the IEC 61131-3 Resource
variable
Both DINT and REAL IEC 61131-3 analog variables cannot be mixed on the same input I/O Device. Use
separate I/O Devices for DINT and REAL variables, or use the ANY_TO_DINT or ANY_TO_REAL
conversion functions if this is necessary.
IEC 61131-3 DINT variables contain signed 32-bit numbers. The value of a DINT VarInput variable will be
the physical analog input variable in the range RAW-MIN to RAW-MAX as configured in the point’s
database attributes.
IEC 61131-3 REAL variables contain 32-bit floating point numbers. For a REAL VarInput variable,
variables will be in the range ENG-MIN to ENG-MAX as configured in the point’s database attributes.
Analog point database values, including those read into an IEC 61131-3 resource through an I/O Device,
can be preset by using a SETPNTSL or SETPNTF function.

I/O Devices for Analog Output Points


Physical RTU Analog Outputs have two sets of IEC 61131-3 interfaces. The value of physical analog
outputs is controlled through RTU_RAW_WRITE and RTU_ENG_WRITE I/O devices. The feedback
status of analog outputs are read through RTU_RAW_READ_OUPUT and RTU_ENG_READ_OUTPUT
I/O devices.
Derived RTU Analog points are controlled through RTU_RAW_WRITE and RTU_ENG_WRITE I/O
devices. The feedback status of derived analog points is read into RTU_RAW_READ and
RTU_ENG_READ I/O Devices.
Where a IEC 61131-3 Resource connects a DINT VarOutput variable to an RTU_RAW_WRITE I/O device
, the Current Integer Value property of the analog point will be controlled from the IEC 61131-3 variable.
The analog point’s Current Integer Value property, RAW-MIN, RAW-MAX, ENG-MIN & ENG-MAX scaling
attributes will be used to automatically calculate the Current Eng.Value property of the point.
Where a IEC 61131-3 application attaches a REAL (floating point) VarOutput variable to an
RTU_ENG_WRITE I/O device, the Current Eng. Value property of the analog point will be controlled from
the IEC 61131-3 variable. The analog point’s Current Eng. Value property RAW-MIN, RAW-MAX, ENG-
MIN & ENG-MAX scaling attributes will be used to automatically calculate the Current Integer Value
property of the analog point.
Both DINT and REAL IEC 61131-3 analog variables cannot be mixed on the same output I/O Device.
Use separate I/O Devices for DINT and REAL variables, or use the ANY_TO_DINT or ANY_TO_REAL
conversion functions if this is necessary.
SCADAPack E Target 5 Technical Reference 59

8.3.3 SCADAPack ER I/O Devices

These I/O devices are only supported on SCADAPack ER RTUs. Resources referencing these I/O
Devices will not start on RTUs other than SCADAPack ER RTU. These I/O Devices are only available in
the Workbench I/O Device Selector window if a SCADAPack ES/ER Template 12 was chosen for the
project.

SCADAPack ER I/O Device Selector


SCADAPack ER I/O devices reference physical channels directly, as opposed to referencing a
specific I/O channel by point number. The SCADAPack ER I/O devices provided in the SCADAPack
Workbench are listed in the following table.
SCADAPack ER I/O Devices

Device Name IEC 61131-3 Data Type Max. no. of Channels

ER_BIN_IN BOOL 32
VarInput variables

ER_BIN_OUT BOOL 16
VarOutput variables

ER_ENG_IN REAL 16
VarInput variables

ER_ENG_OUT REAL 4
60 SCADAPack E Target 5 Technical Reference

VarOutput variables

ER_RAW_IN DINT 16
VarInput variables

ER_RAW_OUT DINT 4
VarOutput variables

The SCADAPack ER I/O Devices reference the respective physical I/O cards by specifying a
Slot_Number field. The Slot_Number field is set via user configuration through the I/O device parameters.
These are set in the Workbench Resource's I/O Device window.
The required fields are described as follows:

Slot_Number: specifies the I/O card slot on the SCADAPack ER rack


1 = I/O Card Slot 1
2 = I/O Card Slot 2, etc.
The default value is 1 (i.e. I/O Card Slot 1).

SCADAPack ER Device Parameters

A valid I/O card configuration needs to be loaded into the SCADAPack ER RTU prior to loading an IEC
61131-3 application that references SCADAPack ER I/O devices, otherwise the I/O device will not be
opened and the IEC 61131-3 application WILL NOT START. This is done using SCADAPack E
Configurator by assigning an I/O card and writing the Configurator file changes onto the RTU. A RTU
restart is required after these configuration details have been written to the RTU. See SCADAPack E
Configurator User Manual for details.
SCADAPack E Target 5 Technical Reference 61

8.3.3.1 Digital I/O Devices

Digital Output Device: ER_BIN_OUT


The ER_BIN_OUT I/O device references a physical relay output card by specifying a Slot_Number field
(see SCADAPack ER I/O Devices 59 for detailed descriptions of these fields). The Channel number in
the Workbench Resource's I/O Device window corresponds to the physical channel number on the
SCADAPack ER I/O card.
Where a IEC 61131-3 Resource connects a BOOL VarOut variable to a ER_BIN_OUT output device, the
state of the corresponding digital relay will be controlled from the IEC 61131-3 variable. If there is a
physical digital output configuration point associated with this physical channel, the Current State of this
configuration point will be updated after the successful control of the relay output.
Controls issued to SCADAPack ER relay output cards resulting from attached variables changing state,
are issued as complete I/O card controls. This allows that any simultaneous state changes at the IEC
61131-3 I/O Device level, are executed simultaneously at the SCADAPack ER relay output card.
The ER_BIN_OUT output device can be opened only if there is valid I/O card configuration loaded into the
SCADAPack ER RTU. Unlike the "RTU" output devices, it is NOT necessary that there are physical
digital output configurations points associated with the physical channels referenced by the output
device.

Digital Input Device: ER_BIN_IN


The ER_BIN_IN I/O device references a physical binary input card by specifying a Slot_Number field
(see Section SCADAPack ER I/O Devices 59 for detailed descriptions of these fields). The Channel
number in the Workbench Resource's I/O Device window corresponds to the physical channel number
on the SCADAPack ER I/O card.

Unlike the ER_BIN_OUT I/O device, there needs to be point database configuration points associated
with the physical channels referenced by the ER_BIN_IN I/O device's Slot_Number fields for proper
operation.

Where a IEC 61131-3 Resource connects a BOOL VarInput variable to a ER_BIN_IN I/O device, the
Current State Property of the digital point will be read into the IEC 61131-3 variable. The ER_BIN_IN I/O
device may be successfully opened if there is a valid I/O card configuration loaded into the SCADAPack
ER , and there is at least 1 physical binary input configuration point associated with the given I/O card.
62 SCADAPack E Target 5 Technical Reference

8.3.3.2 Analog I/O Devices

Analog Output Devices:

ER_RAW_OUT
The ER_RAW_OUT I/O Device references a physical analog output card by specifying a Slot_Number
field (the slot number that the card is installed on a SCADAPack ER RTU rack). The Channel number in
the Workbench Resource's I/O Device window corresponds to the physical channel number on the
SCADAPack ER I/O card.
Where an IEC 61131-3 Resource attaches an DINT VarOutput variable to an ER_RAW_OUT output
device, the Current Integer Value property of the associated analog point will be controlled from the IEC
61131-3 variable. If there is a physical analog output configuration point associated with this physical
channel, the Current Integer Value and Engineering Value of this configuration point will be updated after
the successful control of the relay output.
The ER_RAW_OUT output device may be successfully opened if there is valid I/O card configuration
loaded into the SCADAPack ER RTU. Unlike standard RTU point output devices (e.g.
RTU_RAW_WRITE), it is NOT necessary that there are physical analog output configurations points
associated with the physical channels referenced by the ER_RAW_OUT output device.
Both DINT and REAL IEC 61131-3 analog variables cannot be mixed on the same output I/O Device.
Use the ANY_TO_DINT or ANY_TO_REAL conversion functions if this is required.

ER_ENG_OUT
The ER_ENG_OUT I/O device references a physical analog output card by specifying a Slot_Number
field (the slot number that the card is installed on a SCADAPack ER RTU rack). The Channel number in
the Workbench Resource's I/O Device window corresponds to the physical channel number on the
SCADAPack ER I/O card.
Where an IEC 61131-3 Resource attaches a REAL VarOutput variable to an ER_ENG_OUT output
device, the Current Eng Value property of the associated analog point will be controlled from the IEC
61131-3 variable. If there is a physical analog output configuration point associated with this physical
channel, the Current Eng Value and Current Integer Value of this configuration point will be updated after
the successful control of the analog output.
The ER_ENG_OUT output device may be successfully opened if there is valid I/O card configuration
loaded into the SCADAPack ER RTU. Unlike standard RTU point output devices (e.g.
RTU_ENG_WRITE), it is NOT necessary that there are physical analog output configurations points
associated with the physical channels referenced by the ER_ENG_OUT output device.
Both DINT and REAL IEC 61131-3 analog variables cannot be mixed on the same output I/O Device.
Use the ANY_TO_DINT or ANY_TO_REAL conversion functions if this is required.

Analog Input Devices:


ER_RAW_IN
The ER_RAW_IN I/O device references a physical analog input card by specifying a Slot_Number field
(the slot number that the card is installed on a SCADAPack ER RTU rack). The Channel number in the
Workbench Resource's I/O Device window corresponds to the physical channel number on the
SCADAPack ER I/O card.
Unlike the ER_RAW_OUT device, there needs to be point database configuration points associated with
SCADAPack E Target 5 Technical Reference 63

the physical channels referenced by the ER_RAW_IN input device for proper operation.
Where an IEC 61131-3 Resource attaches a DINT VarInput analog variable to an ER_RAW_IN input
device, the Current Integer Value property of the associated analog point will be read into the ISaGRAF
variable.
The ER_RAW_IN input device may be successfully opened if there is a valid I/O card configuration
loaded into the SCADAPack ER RTU, and there is at least 1 physical analog input configuration point
associated with the given I/O card.
Both DINT and REAL IEC 61131-3 analog variables cannot be mixed on the same input I/O Device. Use
the ANY_TO_DINT or ANY_TO_REAL conversion functions if this is required.

ER_ENG_IN

The ER_ENG_IN I/O Device references a physical analog input card by specifying a Slot_Number field
(the slot number that the card is installed on a SCADAPack ER RTU rack). The Channel number in the
Workbench Resource's I/O Device window corresponds to the physical channel number on the
SCADAPack ER I/O card.
Unlike the ER_ENG_OUT output device, there needs to be point database configuration points
associated with the physical channels referenced by the ER_ENG_IN I/O Device for proper operation.
Where an IEC 61131-3 Resource attaches a REAL (floating point) VarInput analog variable to an
ER_ENG_IN input device, the Current Eng Value property of the associated analog point will be read into
the ISaGRAF variable.
The ER_ENG_IN input device may be successfully opened if there is a valid I/O card configuration
loaded into the SCADAPack ER RTU, and there is at least 1 physical analog input configuration point
associated with the given I/O card
Both DINT and REAL IEC 61131-3 analog variables cannot be mixed on the same input I/O Device. Use
the ANY_TO_DINT or ANY_TO_REAL conversion functions if this is required.
64 SCADAPack E Target 5 Technical Reference

8.4 Remote Control Interlock & Hold On Stop


Remote Control Interlock
By default, RTU output points (Binary & Analog, Physical & Derived) attached to an Output I/O device
are under ISaGRAF control while an IEC 61131-3 Resource is executing. Attempts to control an output
point that is under ISaGRAF control will normally be unsuccessful. However, a “Remote Interlock” point
may be associated with each output point.
If a "Remote Interlock" point is defined and configured for an output point, but is inactive, the IEC 61131-
3 resource retains control of the output point. Communication requests to the output point (e.g. from
DNP3, IEC60870-5 protocols, Modbus, etc) are rejected while the application is running.
If a “Remote Interlock” point is defined and configured for an output point, but is active, then the IEC
61131-3 resource does not have control of the physical output point. Instead, communication requests to
physical outputs are accepted to the point.

Hold On Stop
The SCADAPack Workbench Output I/O Devices support a hold_on_stop parameter.
This BOOL parameter allows the user to identify how outputs are processed on a shutdown (or restart) of
the IEC 61131-3 application.
This applies for local RTU physical output points on the SCADAPack ES/ER RTUs.
The hold on stop parameter is not used on the SCADAPack 300E RTUs even if it is available on a
Workbench I/O device.
See Stopping an IEC 61131-3 Resource 52 for a description of the effect of stopping an IEC 61131-3
application.
This Hold On Stop Output I/O device parameter defaults to false (meaning outputs will be reset off or
reset to 0 when the application stops).
When set to true, the local physical outputs of SCADAPack ES/ER RTUs are held at their current
values until the database point is updated to some other value (e.g. by a new application, DNP3 /
IEC60870-5-101 / Modbus control, etc).
SCADAPack E Target 5 Technical Reference 65

8.5 PLC Device I/O Devices


As an extension of the data interface provided by the SCADAPack E RTU, access by IEC 61131-3
Resources to external PLC or peripheral device data is supported.
Standard "RTU" I/O devices can access RTU I/O and the point database, while PLC I/O Devices allow
data to be extracted from external devices such as PLCs,
External peripheral data (e.g. from PLCs) is cached internally by the RTU to maximize IEC 61131-3
application performance. Access to this cached device data is restricted to IEC 61131-3 and is termed
PLC Device data. Direct access to PLC device data through DNP3 / IEC60870 or other protocols
requires additional application logic to copy the peripheral data to/from the RTU point database.
The PLC device that can be accessed via the PLC I/O Device depends on the PLC or peripheral device
drivers supported by the RTU Operating System firmware.
LED(s) on the SCADAPack E RTU may indicate communication activity with external peripheral device
(s). For more information see the relevant RTU Hardware User Manual.

Example PLC I/O Devices

When an IEC 61131-3 application Resource starts, particularly if there is a large number of
PLC Device I/O devices, or if a PLC is not responding, the Workbench debugger may not
TIP:
connect to the SCADAPack E target immediately. In this case please wait a little while for the
application to work through the PLC device updates before attempting to re-establish a
66 SCADAPack E Target 5 Technical Reference

debugger connection.

Different PLC Device I/O Devices are provided for different types of PLC data.
For example: read PLC value registers (analog input device), write PLC coils (boolean output device),
read PLC accumulated data (analog input device). The different types of I/O devices available and
ranges of PLC data that can be accessed depend on the individual PLC driver. The following section
details a summary of the SCADAPack E RTU’s MODBUS PLC driver. For detailed information on
Modbus and other drivers, see the relevant SCADAPack E PLC Device Interface manual.
ISaGRAF PLC Device I/O devices access data in the following way:
a READ PLC I/O Device normally corresponds to a read access to PLC data
a WRITE PLC I/O Device corresponds to a write-only access to PLC data
Serial communication with external devices, such as PLCs, is made through the SCADAPack E
RTU port(s) configured as PLC Device.
IEC 61131-3 function blocks: MBUSCTRL, MTCPCTRL & DF1CTRL can be used to control read &
write communications to the PLC device whose communication is defined by I/O devices. Disabling
read operations affects PLC device Input data. Disabling write operations affects PLC device Output
data.
Up to a total of 200 PLC I/O Devices can be defined in total for PLC Device communication ports
and IEC 61131-3 Resources. Multiple PLC Device serial ports, as well as TCP/IP channels for
some PLC devices, can be used for PLC peripheral communication.
SCADAPack E Target 5 Technical Reference 67

8.5.1 Reading PLC Registers

PLC I/O input devices typically require user configuration through the I/O device parameters. These are
set as part of the Workbench application and are entered into the I/O device parameter fields within the
Workbench Resource's I/O Device Window.
The SCADAPack E RTU can communicate with Allen Bradley DF1 PLC's, Modbus PLC peripheral
devices via the serial ‘MODBUS RTU’, Open Modbus/TCP or Modbus RTU in TCP protocols.

Example PLC I/O Device Parameters


Typical PLC I/O Device parameter fields are as follows:
first_register: specifies the PLC Device data registers to access when reading PLC data into ISaGRAF
variables. The PLC data type accessed is specific to the PLC Device I/O device and address. This
value is usually the PLC’s data (or register) address.
register_format: specifies the PLC data register type. The following data types are supported: IEC
DISCRETE, 984 DISCRETE, IEC UINT IEC INT, IEC DINT, IEC REAL, SWAP REAL. See specific PLC
driver interface manuals for more information.
data_update_rate: The units for this parameter vary depending on the type of PLC device. For example
this may be a setting in milliseconds for a directly connected device, or in minutes for a low power type
device (see the SCADAPack E Target 5 Modbus Communication Interfaces manual). As the
SCADAPack E RTU needs to extract the data for the I/O device from the PLC or peripheral device, this
sets the rate at which the data is extracted. Individual I/O devices may have different data update rates
allowing prioritization of data extracted from a PLC device. The RTU may not be able to read requested
PLC data within the time set by the data update rate depending on the quantity of data to be read, rate
of write requests and PLC communication speed. In this case the update rates will be slower.
plc_device_addr: This parameter specified the PLC device address. Some PLC device drivers support
multi-drop PLC devices on the same communication channel, or have unique addressing identifiers.
Where the RTU driver provides multi-drop support, an IEC 61131-3 application may access data from any
of the locally multi-dropped devices. A separate I/O device will be required for each device.
timeout: PLC device drivers with comprehensive I/O device interfaces may provide a parameter for
specifying the communications timeout on an individual I/O device (i.e. the timeout applies to
communications associated with that device). Where this value is “0”, the PLC device driver will use a
default timeout of 1200 milliseconds. The units for this field are dependent upon the PLC device driver.
Units may be, for example, milliseconds, seconds, minutes, etc.
68 SCADAPack E Target 5 Technical Reference

Port: This parameter is only available on certain PLC I/O device drivers. Where present, it defines which
of multiple RTU PLC Device ports will be used to communicate with the PLC or peripheral device. PLC I/
O Devices not including this parameter can only be used when a single PLC Device port is configured on
the SCADAPack E RTU.

8.5.2 Writing PLC Registers

PLC I/O output devices require user configuration through the I/O device parameters. These are set as
part of the Workbench application and are entered into the I/O device parameter fields within the
Workbench Resource's I/O Device Window.
The SCADAPack E RTU can communicate with Allen Bradley DF1 PLC's, Modbus PLC peripheral
devices via the serial ‘MODBUS RTU’, Open Modbus/TCP or Modbus RTU in TCP protocols.

Example PLC I/O Device Parameters

Typical PLC I/O Device parameter fields are as follows:


first_register: specifies the PLC Device data registers to access when writing from ISaGRAF variables
to PLC data. The PLC data type accessed is specific to the PLC Device I/O device and address. This
value is usually the PLC’s data (or register) address.
register_format: specifies the PLC data register type. Currently IEC UINT, INT, DINT, IEC REAL &
SWAP REAL types are supported for analog devices and IEC DISCRETE type is supported for Boolean
devices. See specific PLC driver interface manuals for more information.
plc_device_addr: This parameter specifies the PLC device address. Some PLC device drivers support
multi-drop PLC devices on the same communication channel, or have unique addressing identifiers.
Where the RTU driver provides multi-drop support, an IEC 61131-3 application may access data from any
of the locally multi-dropped devices. A separate I/O device will be required for each device.
data_update_rate: The unit for this parameter is driver specific, and configures the rate at which the
data for the I/O Device is written to the PLC. Between “data update rate” periods, data is written to the
PLC only when the IEC 61131-3 output variable values change. Individual I/O devices may have different
must write rates allowing prioritization of data sent to a PLC Device.
timeout: PLC device drivers with comprehensive I/O device interfaces may provide a parameter for
specifying the communications timeout on an individual I/O device (i.e. the timeout applies to
communications associated with that device). Where this value is “0”, the PLC device driver will use a
default timeout. The units for this field are dependent upon the PLC device driver. Units may be, for
SCADAPack E Target 5 Technical Reference 69

example, milliseconds, seconds, minutes, etc.


port: This parameter is only available on certain PLC I/O device drivers. Where present, it defines which
of multiple RTU PLC Device ports will be used to communicate with the PLC or peripheral device. If only
one PLC Device port is configured, this field is ignored. PLC I/O Devices not including this parameter
can only be used when a single PLC Device port is configured on the SCADAPack E RTU.
70 SCADAPack E Target 5 Technical Reference

8.5.3 I/O Device Status

The SCADAPack E RTU checks for data being written to the PLC by an IEC 61131-3 I/O device driver,
before the PLC I/O Input Device data is retrieved.
Communication requests made by the SCADAPack E RTU to the PLC are asynchronous to the
scanning of the IEC 61131-3 Resource, but data within the resource remains consistent duration of a
scan cycle.
To assist with debugging of PLC I/O Device communication, the SCADAPack E RTU provides two types
of analog system points which provide useful information:
1. PLC Communication Status
Status available for the first 60 PLC I/O Devices used by IEC 61131-3 Resource Number 1 and the first
14 PLC I/O Devices used by Resource Number 2.
2. Cache Time (seconds)
for PLC I/O Input Devices, these system points represents the age of the data since the last update
these system points are not updated for PLC I/O Output Devices (0).
SCADAPack E RTU analog system points 53300 to 53419 are set aside for the PLC Device
communication status information for up to 60 PLC I/O Devices in IEC 61131-3 Resource Number 1.
Points 53422 to 53449 are set aside for the PLC Device communication status information for up to 14
PLC I/O Devices in Resource Number 2. A pair of consecutive points represent the PLC
Communication status (‘COMMS_STATUS’) and the age of the data (‘UPDATE_TIME’) for each PLC I/O
Device (refer to table below). Non ‘PLC’ I/O devices (i.e. "RTU" devices), are not included in the
consecutive count.
This data is accessible externally to the RTU (via a communications protocol accessing these points) or
from an IEC 61131-3 resource, using RTU_RAW_READ I/O devices. These points are only accessible if
PLC Device functionality is enabled.

‘Comms Status’ & ‘Cache Time’ System Point Numbers for IEC 61131-3 Resource Number 1

Consecutive Comms_Status Cache_Time


PLC I/O Device Analog System Analog System
Point No. Point No.

1 53300 53301

2 53302 53303

3 53304 53305

4 53306 53307

5 53308 53309

6 53310 53311

7 53312 53313

8 53314 53315

9 53316 53317

10 53318 53319
SCADAPack E Target 5 Technical Reference 71

Consecutive Comms_Status Cache_Time


PLC I/O Device Analog System Analog System
Point No. Point No.

11 53320 53321

12 53322 53323

13 53324 53325

14 53326 53327

15 53328 53329

16 53330 53331

17 53332 53333

18 53334 53335

19 53336 53337

20 53338 53339

21 53340 53341

22 53342 53343

23 53344 53345

24 53346 53347

25 53348 53349

26 53350 53351

27 53352 53353

28 53354 53355

29 53356 53357

30 53358 53359

31 53360 53361

32 53362 53363

33 53364 53365

34 53366 53367

35 53368 53369

36 53370 53371

37 53372 53373

38 53374 53375

39 53376 53377
72 SCADAPack E Target 5 Technical Reference

Consecutive Comms_Status Cache_Time


PLC I/O Device Analog System Analog System
Point No. Point No.

40 53378 53379

41 53380 53381

42 53382 53383

43 53384 53385

44 53386 53387

45 53388 53389

46 53390 53391

47 53392 53393

48 53394 53395

49 53396 53397

50 53398 53399

51 53400 53401

52 53402 53403

53 53404 53405

54 53406 53407

55 53408 53409

56 53410 53411

57 53412 53413

58 53414 53415

59 53416 53417

60 53418 53419

‘Comms Status’ & ‘Cache Time’ System Point Numbers for IEC 61131-3 Resource Number 2

Consecutive Comms_Status Cache_Time


PLC I/O Device Analog System Analog System
Point No. Point No.

1 53422 53423

2 53424 53425
SCADAPack E Target 5 Technical Reference 73

3 53426 53427

4 53428 53429

5 53430 53431

6 53432 53433

7 53434 53435

8 53436 53437

9 53438 53439

10 53440 53441

11 53442 53443

12 53444 53445

13 53446 53447

14 53448 53449

These system points are only accessible if PLC Device functionality is enabled through a PLC Device
port setting or Modbus/IP (Client) setting.

PLC Comms Status values


0 = Normal
101 = Unknown device
102 = Illegal Data Count
103 = Illegal Data Address
104 = Device Timeout
105 = Read/Write lock unsuccessful
106 = Invalid message
107 = Device Busy
108 = Data value out of range

PLC Input I/O Device data is updated by the SCADAPack E RTU when it communicates with the PLC
device. The PLC communication status is updated if there is a status code returned from the PLC or no
response from the PLC after a data request by the RTU. Status codes are presented in the Table 73
above. The value in each status register is cleared by the RTU upon successful communication
sessions. Variables within an IEC 61131-3 resource can be used to log transient status codes.
PLC Output I/O Device data is written to the PLC when an IEC 61131-3 resource changes the value of a
variable attached to the I/O device Channel. In addition, output data is written to the PLC under the
following conditions:
When the IEC 61131-3 resource starts, output data is written
If the PLC does not respond to a control, it is resent until it is responded
I/O devices with a data_update_rate parameter output data at this rate
74 SCADAPack E Target 5 Technical Reference

Output data is rewritten at a background update rate


SCADAPack E RTU Analog System point 53420 controls the background update rate of PLC Output I/O
Devices on the RTU. Its default value is 60 seconds. It may be adjusted by the user dynamically or
specified in an RTU configuration, and is a non-volatile RTU system point. The background updates are
disabled by setting the system point 53420 value to 0 (zero). This may be used to optimize the PLC
Device communications bandwidth where background writes are not appropriate or not necessary.
There are individual PLC I/O Devices available in the SCADAPack Workbench for different types of PLC
types and different types of data within the same PLC device. Not every PLC data type for a particular
PLC device may be accessible from the PLC I/O Devices. For more information see SCADAPack E
Target 5 Modbus Communication Interfaces or SCADAPack E Target 5 DF1 PLC Interface manuals.

8.6 RTU Data via Function Blocks


SCADAPack E provides a mechanism separate from IEC 61131-3 I/O Devices (described in preceding
sections) for accessing RTU data.
In general the function blocks require more processing capacity in the RTU compared with I/O Devices,
but provide greater programming flexibility and access to more detailed RTU data.
Function blocks provide access to reading and writing current data values to/from the RTU point
database, as well as access to point attributes not available via I/O Devices.
The GETPNTxx functions and function blocks allow an IEC 61131-3 resource to read point current
value data from the database (applies to Physical I/O, Derived data and System Points)
The SETPNTxx functions allow an IEC 61131-3 resource to write point current value data to the
database (applies to Physical Outputs, Derived data and System Points)
The RTUCROB function blocks allow an IEC 61131-3 resource to have accurate pulse control of binary
points (applies to Physical Binary Outputs and Derived Binary points)
The RDFLD_x function blocks allow an IEC 61131-3 resource to read attribute and property fields from
points in the RTU database
The SETATR_x function blocks allow an IEC 61131-3 resource to set attributes of points in the RTU
database

The RDREC_x function blocks provide IEC 61131-3 resources with a set of commonly used attribute
and property fields for points in the RTU database

IEC 61131-3 Arrays can be useful when using the above Functions and Function Blocks. For more
information see Array Variables 34 .
Details of these, and other SCADAPack Workbench functions blocks are described in the SCADAPack
E Target 5 Function Block Reference manual.
SCADAPack E Target 5 Technical Reference 75

8.7 I/O Device Pre-Processor


SCADAPack Workbench generates tag names (defined words) for variables associated with
points in the RTU database. The names are used to access the point database through
function blocks, rather than using the raw point number. When a variable is moved to a
different point number, the value automatically changes and the IEC 61131-3 code using the
name continues to access the correct point in the database.

8.7.1 Using the Pre-Processor

Building the solution, or a part of it, generates defined words from directly represented
variable variables that are wired to RTU point database I/O devices. See I/O Devices
Checked by the Pre-Processor 77 for a list of I/O devices used to generate defined words.
Defined words generated by previous builds are deleted first. The build deletes defined words
that begin with POINT_ including manually defined words.
Should the variable name break any of the rules outlined below, the Output window and Error
List window will report the reason. The build will be unsuccessful. Correct the variable names
and build the solution again.
A defined word has three parts: Name, Equivalent and Comment.

Name
The name identifies the resource, program, and variable name of the variable. In general the
name takes the form

POINT_VariableName_ProgramName_ResourceName

These rules apply


The total name must not exceed 128 characters.
The name must contain only letter, digits and underscores
The name must not end with an underscore
The name must be unique
The name must not contain a double underscore
If the variable name begins with an underscore character, the leading underscore of the
variable is not included in the name generated by the pre-processor. This results in just one
underscore between the POINT and VariableName parts of the name.
76 SCADAPack E Target 5 Technical Reference

Equivalent (Value)
The Equivalent (value) is the variable’s point number. The point number is determined from I/
O device’s First_Point_Number parameter and the index of the channel. For example, if the
First_Point_Number is 100 and the index of the channel is 2, the Equivalent (value) is 102.

Comment
The comment is "Automatically generated by the RTU Point Pre-Processor”

Examples
Some pre-processor naming examples are below.

Example 1
With these variables
Resource1 contains global variable varRes1
Resource2 contains global variable varRes2
These defined words are created
POINT_varRes1_Resource1

POINT_varRes2_Resource2

Example 2
With these variables
Resource1 contains global variable var1
Resource2 contains global variable var1
These defined words are created
POINT_var1_Resource1

POINT_var1_Resource2

Example 3
With these variables
Resource1 contains Program1 with var1
Resource1 contains Program2 with _var1
These defined words are created
SCADAPack E Target 5 Technical Reference 77

POINT_var1_Program1_Resource1

POINT_var1_Program2_Resource1 (this example shows the removal of a leading underscore)

Example 4
With these variables
Resource1 contains SFC Program1 with child SFC program Program1A that contains var1
Resource1 contains SFC Program1 with child SFC program Program1B that contains var1
These defined words are created
POINT_var1_Program1A_Program1_Resource1

POINT_var1_Program1B_Program1_Resource1

8.7.2 I/O Devices Checked by the Pre-Processor

The pre-processor generates Defined Words for variables wired to these I/O devices.
RTU_BIN_READ
RTU_BIN_READ_OUTPUT
RTU_BIN_WRITE
RTU_COUNTER_READ
RTU_ENG_READ
RTU_ENG_READ_OUTPUT
RTU_ENG_WRITE
RTU_RAW_READ
RTU_RAW_READ_OUTPUT
RTU_RAW_WRITE
RTU_STRING_WRITE
RTU_BIN_WRITE_INPUT
RTU_RAW_WRITE_INPUT
RTU_ENG_WRITE_INPUT
RTU_COUNTER_WRITE_INPUT
78 SCADAPack E Target 5 Technical Reference

8.7.3 Function Blocks

Defined Words created by the pre-processor are useful with these function blocks.
RDFLD_I
RDFLD_R
RDREC
RDREC_AN
RDREC_CN
RDREC_DG
RDSTRING
SETATR_I
SETATR_R

Defined Words created by the pre-processor can be used to access point data with these
functions.
GETPNTB
GETPNTC
GETPNTF
GETPNTSL
GETPNTSS
GETPNTUS
SETPNTB
SETPNTF
SETPNTSL
SETPNTSS
SETPNTUS

8.7.4 Differences with ISaGRAF 3 Workbench

A few differences with the pre-processor exist between ISaGRAF 3 Workbench and
SCADAPack Workbench.
SCADAPack E Target 5 Technical Reference 79

Defined Word Name Length


The length of defined words has increased from 16 to 128 characters. This allows for a more
useful prefix - POINT_ - and includes the program and resource names to ensure uniqueness
without having to perform various truncating and character replacement tricks.

Prefix Configuration
Since the defined word name length is increased to 128 characters, there is no need to have
a configurable prefix value. The prefix value used by the pre-processor is hard-coded to
POINT_. There is no option to configure the pre-processor to use a suffix rather than a prefix.

Array Variables
Array variables cannot be wired to I/O devices. The pre-processor does not generate Defined
Words for array variables.

Autocorrect of Variable Names


The pre-processor will not automatically truncate, replace characters or append digits to the
end of defined word names as it did in ISaGRAF 3 Workbench.

8.7.5 Pre-Processor Example

In this example, two variables are wired to the RTU_BIN_WRITE I/O device at device index 8.
This I/O device is part of a resource named MyResource.

The Pre-Processor generates these Defined Words linking the DNP point to the I/O device.
80 SCADAPack E Target 5 Technical Reference

POINT_oVar1_Prog1_MyResource = 100

POINT_oVar2_Prog1_MyResource = 101

The defined words can be used in a program as follows.

9 Remote Target Access


The following section detail how IEC 61131-3 applications and debugging on an SCADAPack E Smart
RTU can be managed remotely from the SCADAPack Workbench.
Target Serial Communications 81

TCP/IP Communications 83
Application File Transfer 86
SCADAPack E Target 5 Technical Reference 81

9.1 Target Serial Communications


A SCADAPack Workbench debugger operates with the SCADAPack E RTU’s on an RTU serial port
configured as ISaGRAF. Operation is supported for RS232, RS422 and RS485.
The type of connection used by the Workbench is a function of the project configuration. The
SCADAPack Workbench software offers pre-configured Proj ect Templates 12 for either Serial or TCP/IP
connections.

A maximum of one RTU serial port may be configured as ISaGRAF for local connection to a
TIP: SCADAPack Workbench debugger. If a second Workbench connection is desired, use
ISaGRAF via Ethernet (ETCP).

An IEC 61131-3 resource previously loaded into the RTU (via Workbench or File Transfer) will execute on
the RTU regardless of whether an ISaGRAF port is configured.
The SCADAPack Workbench project requires local configuration in order to communicate with a
SCADAPack E RTU over a serial line.
Select the Workbench Deployment View window from the View -> Deployment View menu, or from the
Solution Explorer window as shown below.

Deployment View W indow


From the Deployment View window, select the Network connection (shown above as circled). The
Properties window should then show the available Workbench serial port settings (see below).
82 SCADAPack E Target 5 Technical Reference

The available serial port configuration fields are described below. These settings should match the
ISaGRAF serial port configuration on the SCADAPack E RTU target.

Port The Workbench local communication port. The default value is COM1.

Baud Rate The baud data transfer rate. The default value is 9600.

Parity The type of parity used. Possible values are N for none, E for even, and O for
odd;
The default value is N.

Stop Bit The number of stop bits used to indicate the end of a transmission. Possible
values are 1 or 2;
The default value is 1.

HardwareFlowControl The control of the flow of data transmission between the network hardware.
Possible values are True or False;
* Use the default value of False for SCADAPack E Smart RTU.

Adj usting the Serial Communication Timeout


Workbench will time out and abort communication if a response is not received from the SCADAPack E
Smart RTU. In some applications it is necessary to use a longer serial communication timeout than the
default value. The serial communication timeout cannot be adjusted from the Properties dialog. It can be
adjusted by editing a text (XML) file. There are two parameters: a timeout and a multiplier.
To adjust the serial communication timeout:
Locate the settings file
On Windows XP the file is C:\Documents and Settings\All Users\Application Data\Schneider
Electric\6.1\Schneider Electric Gateway\OpcConfig.xml
On Windows Vista and Windows 7 the file is C:\ProgramData\Schneider Electric\6.1
\Schneider Electric Gateway\OpcConfig.xml
SCADAPack E Target 5 Technical Reference 83

Make a copy of the settings file (this can be used to restore the settings a mistake is made)
Open the settings file with a text editor or XML editor

This parameter adjusts the timeout. Edit the text highlighted below.
<!--Time-out in milliseconds to declare connection failure-->
<ConnectNoResponseTimeOut>10000</ConnectNoResponseTimeOut>

This parameter adjusts the multiplier. Edit the text highlighted below.
<!--IXL Tx (10 sec.), Rx (4 sec.) time-out multiplication factor-->
<IxlTimeoutMultiFactor>3</IxlTimeoutMultiFactor>

The timeout for receiving and connecting is equal to


IxlTimeoutMultiFactor * ConnectNoResponseTimeOut

9.2 TCP/IP Communications


SCADAPack Workbench can connect to an SCADAPack E RTU via Ethernet communications on a
TCP/IP port. The Enhanced TCP/IP protocol, ETCP is the Workbench network driver used for
communication with an IEC 61131-3 target on Ethernet.
The type of connection used by the Workbench is a function of the project configuration. The
SCADAPack Workbench software offers pre-configured Proj ect Templates 12 for either Serial or TCP/IP
connections.
Either the RTU Ethernet or a serial PPP interface may be used for SCADAPack Workbench
communications using TCP/IP.
To establish a TCP/IP connection between the Workbench and the RTU, the ISaGRAF/TCP service on
the RTU needs to be enabled through the TCP/IP page on SCADAPack E Configurator software. Refer
to the SCADAPack E Configurator User Manual for details.
The SCADAPack Workbench Network parameters need to be configured for a TCP/IP connection to a
target RTU. Setting up a TCP/IP connection within the Workbench is described below.
An IEC 61131-3 resource previously loaded into the RTU (via Workbench or File Transfer) will execute on
the RTU regardless of whether a ISaGRAF/TCP service on the RTU is configured.

Workbench Ethernet Settings 84


TCP/IP Communications Server 85
84 SCADAPack E Target 5 Technical Reference

9.2.1 Workbench Ethernet Settings

A SCADAPack Workbench project requires local configuration in order to communicate with a


SCADAPack E RTU over Ethernet via TCP/IP.
Select the Workbench Deployment View window from the View -> Deployment View menu, or from the
Solution Explorer window as shown below.

Deployment View W indow

From the Deployment View window, select the Network connection (shown above as circled). The
Properties window should then show the available Workbench network settings (see below).

TCP/IP Netw ork Settings


The ETCP network driver has one connection property. Enter the TCP/IP address of the SCADAPack E
RTU target as shown above. The ETCP driver uses TCP port 1131 to connect to the RTU target.
Using Ethernet communications for Workbench connections requires the RTU has ISaGRAF/TCP
service enabled (see SCADAPack E Configurator TCP/IP page)
SCADAPack E Target 5 Technical Reference 85

9.2.2 TCP/IP Communications Server

SCADAPack Workbench communications to the SCADAPack E RTU’s ISaGRAF TCP/IP


communications server may be established via the RTU’s Ethernet interface or a serial PPP interface.

This requires the RTU has ISaGRAF/TCP service enabled (see SCADAPack E Configurator TCP/IP
page) as shown below.

SCADAPack E Configurator
Enabled TCP/IP Services
86 SCADAPack E Target 5 Technical Reference

9.3 Application File Transfer


IEC 61131-3 applications are stored as a set of files 47 in a non-volatile file system directory called "C:
\ISaGRAF5" on the SCADAPack E Smart RTU. However, SCADAPack Workbench creates a single file
containing the content for the RTU. This Application Package file is used by SCADAPack E Configurator
and ClearSCADA to load applications using DNP3 or IEC 60870-5 file transfer, or by a user to transfer
the file via FTP. The firmware unpacks the file and activates the IEC 61131-3 Resources.
An Application Package file is produced by the Workbench each time a project is successfully built and
the Solution is in the correct form. A message is logged in the output window if the solution is not in the
correct form. This output can be used to verify that the created project can be loaded in the SCADAPack
E RTU.
The file extension of an Application Package file is ".I5P". The file name root is the same as the
Workbench Device, e.g. "SCADAPack300E.I5P".

SCADAPack E Configurator ISaGRAF Application Transfer


SCADAPack E Configurator provides a simple method for downloading and activating IEC 61131-3
applications to the RTU.

Use the icon on SCADAPack E Configurator Toolbar and follow the dialog to select the appropriate
*.I5P file. The SCADAPack E Configurator will transfer the selected package file to the RTU and
activates the IEC 61131-3 Resources automatically.

WARNING
UNINTENDED EQUIPMENT OPERATION
Evaluate the operational state of the equipment monitored and controlled by the
RTU before downloading. Hazardous situations can occur if system state is not
confirmed prior to downloading.
Failure to follow these instructions can result in death, serious injury or
equipment damage.

Manual Application Transfer


IEC 61131-3 applications may be loaded from a Workbench-built *.I5P Application Package file, into the
RTU file system. These files can be found in the workstation’s SCADAPack Workbench
"Documents\SCADAPack Workbench\Solutions" directory tree. The file transfer may be performed
using:
DNP3 protocol - File transfer
FTP – TCP/IP File transfer
IEC60870-5 - File transfer
Details of performing this file transfer are provided in the SCADAPack E Operational Reference manual.
After transferring a new package file to the RTU, the following command-line command unpacks the
resource files and restarts the IEC 61131-3 application.
RESTART ISAGRAF [filename]
SCADAPack E Target 5 Technical Reference 87

The syntax of the RESTART ISAGRAF command is shown in the following table.

Command Action
RESTART ISaGRAF Restart Resource 1 and Resource 2 from the
existing C:\ISAGRAF5\ folder for Target 5.

RESTART ISaGRAF 1 Restart Resource 1 from the existing C:\ISAGRAF5


\ folder for Target 5.

RESTART ISaGRAF 2 Restart Resource 2 from the existing C:\ISAGRAF5


\ folder for Target 5.

RESTART ISaGRAF filename Unpack project from the .I5P file into the "C:
\ISAGRAF5" directory, and restart Resource 1 and
Resource 2.
If a Resource is missing from the package, it
removes that resource.
If filename is not found or the format is invalid, it
generates a status code and returns.
'1' and '2' are invalid project filenames.

The subsequent state of the IEC 61131-3 Resources can then be confirmed using the SCADAPack E
Configurator's Logic -> IEC61131-3 page or from the "Status" command-line command.
88 SCADAPack E Target 5 Technical Reference

10 Troubleshooting & Status Codes


This section describes the different sources of IEC 61131-3 target status codes. These status codes
are accessible from the SCADAPack Workbench debugger or SCADAPack E RTU diagnostics output
or System Status point.
Status Descriptions 88
Service Descriptions 92

10.1 Status Descriptions


RTU System Status codes are generated from IEC 61131-3 Warning Messages into Analog System
point 50020. (RTU status codes are in decimal in the range 4001-4099)
Status messages are shown in the RTU diagnostics output in the form:
ISaGRAF5>>Warning: 4011, Resource Stopping
Status values (8-digit hex values) appear in the Workbench System Event Log. The 8-digit value shown
in the system event log is shown in two 4-digit groups in this table for clarity (e.g. 0x1202:1087). This is
also consistent with the status code format presented below.

Status codes presented by the IEC 61131-3 target

Status Workbench Description Suggested Action


code System Event
Log Code
4001 0x2202:0001 ISaGRAF 5 Start-up Contact Schneider Electric technical support
unsuccessful

4002* 0x2202:0002 ISaGRAF 5 Retry workbench communication with


Communication Accept SCADAPack E RTU IEC 61131-3 target
unsuccessful
4003 0x2202:0003 ISaGRAF 5 Resource No action is required. This feature is not used
restore unsuccessful on the SCADAPack E Smart RTU.

4004 0x2202:0004 ISaGRAF 5 Retain Reload IEC 61131-3 application


initialization unsuccessful

4005 0x2202:0005 ISaGRAF 5 Retain bad Do not use workbench retain memory
memory description description for SCADAPack E RTU

4006 0x2202:0006 ISaGRAF 5 Retain CRC No action is required.


changed

4007 0x2202:0007 ISaGRAF 5 Read retain Check file system is not full, Reload IEC
variables from backup 61131-3 application
unsuccessful
SCADAPack E Target 5 Technical Reference 89

Status Workbench Description Suggested Action


code System Event
Log Code
4008 0x2202:0008 ISaGRAF 5 Retain Write Contact Schneider Electric technical support
unsuccessful

4009 0x2202:0009 ISaGRAF 5 Resource Reload IEC 61131-3 application


data allocation
unsuccessful
4010* 0x1202:000A ISaGRAF 5 Resource
Start Report

4011* 0x1202:000B ISaGRAF 5 Resource


Stop Report

4012 0x2202:000C ISaGRAF 5 Standard Function cannot be used in IEC 61131-3


function not implemented application, remove from application

4013 0x2202:000D ISaGRAF 5 Standard Contact Schneider Electric technical support


function block initialise
unsuccessful
4014 0x2202:000E ISaGRAF 5 Standard Contact Schneider Electric technical support
function block exit
unsuccessful
4015 0x2202:000F ISaGRAF 5 Standard Function block cannot be used in IEC 61131-3
function block not application, remove from application
implemented
4016 0x2202:0010 ISaGRAF 5 Function not Function not available in SCADAPack E.
found on SCADAPack E Use SCADAPack Workbench to Import latest
RTU target definition into application project,
upgrade SCADAPack E firmware, remove from
IEC 61131-3 application
4017 0x2202:0011 ISaGRAF 5 SCADAPack Contact Schneider Electric technical support
E function block initialise
unsuccessful
4018 0x2202:0012 ISaGRAF 5 SCADAPack Contact Schneider Electric technical support
E function block exit
unsuccessful
4019 0x2202:0013 ISaGRAF 5 Function Function block not available in SCADAPack E
block not found on RTU. Use SCADAPack Workbench to Import
SCADAPack E RTU latest target definition into application project,
upgrade SCADAPack E firmware, remove from
IEC 61131-3 application
4020 0x2202:0014 ISaGRAF 5 Conversion Conversion definition is not available in
definition not found on SCADAPack E RTU; remove from IEC 61131-3
SCADAPack E application
90 SCADAPack E Target 5 Technical Reference

Status Workbench Description Suggested Action


code System Event
Log Code
4021 0x2202:0015 ISaGRAF 5 I/O device not I/O device is not available in SCADAPack E
found on SCADAPack E RTU. Use SCADAPack Workbench to Import
latest target definition into application project,
upgrade SCADAPack E firmware, remove from
IEC 61131-3 application
4022 0x2202:0016 ISaGRAF 5 I/O driver Contact Schneider Electric technical support
initialise/exit internal was
unsuccessful
4023 0x2202:0017 ISaGRAF 5 I/O device Contact Schneider Electric technical support
open/close internal was
unsuccessful
4024 0x2202:0018 ISaGRAF 5 Device read Contact Schneider Electric technical support
internal was unsuccessful

4025 0x2202:0019 ISaGRAF 5 Device write Contact Schneider Electric technical support
internal was unsuccessful

4026 0x2202:001A ISaGRAF 5 Device I/O Contact Schneider Electric technical support
control internal was
unsuccessful
4027 0x2202:001B ISaGRAF 5 I/O driver Contact Schneider Electric technical support
initialize was
unsuccessful
4028 0x2202:001C ISaGRAF 5 I/O device Review SCADAPack E point configuration and
open unsuccessful IEC 61131-3 application I/O device settings

4031 0x2202:001F ISaGRAF 5 Unknown TIC Reload IEC 61131-3 application


code

4032 0x2202:0020 ISaGRAF 5 Unknown Reload IEC 61131-3 application


data type on conversion

4033 0x2202:0021 ISaGRAF 5 TIC boundary Review the IEC 61131-3 application
check (Array access out
of range)
4034 0x1202:0022 ISaGRAF 5 SINT variable Review the IEC 61131-3 application
divided by zero

4035 0x1202:0023 ISaGRAF 5 DINT variable Review the IEC 61131-3 application
divided by zero
SCADAPack E Target 5 Technical Reference 91

Status Workbench Description Suggested Action


code System Event
Log Code
4036 0x1202:0024 ISaGRAF 5 REAL variable Review the IEC 61131-3 application
divided by zero

4037 0x2202:0025 ISaGRAF 5 Dynamic SFC Review incorrect IEC 61131-3 application
behaviour processing implementation
unsuccessful
4038 0x2202:0026 ISaGRAF 5 Cannot Put Contact Schneider Electric technical support
action of specified SFC
step in list of actions to
execute
4039* 0x1202:0027 ISaGRAF 5 Cycle Time Increase the cycle time in the IEC 61131-3
Overflow application

4040 0x2202:0028 ISaGRAF 5 Instance of Function block not available in SCADAPack E


SFC function block not RTU, remove from IEC 61131-3 application
found
4041 0x1202:0029 ISaGRAF 5 INT variable Review the IEC 61131-3 application
divided by zero

4048 0x1202:0030 ISaGRAF 5 LINT variable Review the IEC 61131-3 application
divided by zero

4049 0x1202:0031 ISaGRAF 5 USINT Review the IEC 61131-3 application


variable divided by zero

4050 0x1202:0032 ISaGRAF 5 UINT variable Review the IEC 61131-3 application
divided by zero

4051 0x1202:0033 ISaGRAF 5 UDINT Review the IEC 61131-3 application


variable divided by zero

4052 0x1202:0034 ISaGRAF 5 ULINT Review the IEC 61131-3 application


variable divided by zero

4053 0x1202:0035 ISaGRAF 5 LREAL Review the IEC 61131-3 application


variable divided by zero

* These status codes will NOT generate an RTU System Status in system analog point 50020. Other
listed IEC 61131-3 status codes DO update the RTU System Status.
92 SCADAPack E Target 5 Technical Reference

10.2 Service Descriptions


Status codes reported by the IEC 61131-3 target in SCADAPack E RTU diagnostics are in Hexadecimal
(hex) format.
ISaGRAF 5>> Error Code: 0x1234:5678

Detailed IEC 61131-3 target status codes are also visible in the SCADAPack Workbench using the
System Event log. When the workbench is connected to the target in Debug mode, press the yellow
lightning-bolt icon on the debug tool bar to start the system event logger (as shown below).

Start System Events


button
The Workbench system event log output represents IEC 61131-3 status codes using 8 digit hexadecimal
numbers.
It is easier to use the LAST 4 HEX DIGITS from the status code value when referencing the status codes
in the table below. The RTU status code and the table below presents the 8 digit hex number in two
groups of 4 digits for easier recognition.
These abbreviations are used in the table below.
CGM = configuration manager task on the IEC 61131-3 target
DSA = data sequential access
ETCP = target TCP communication task for SCADAPack Workbench to RTU target
communications
Exchange dispatcher = resource to resource communication coordinator
HSD = host system driver for resource to resource data exchange on the same device
ISARSI = target serial communication task between the SCADAPack Workbench and RTU
target
IXL,IXS = exchange layers for resource to resource communication

Service codes presented by the IEC 61131-3 target

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
0x1201: Consumer binding variables Contact Schneider Electric
000A unsuccessful technical support
System Layer 0x1202: System pool allocation Contact Schneider Electric
1000 unsuccessful technical support
0x1202: Start-up unsuccessful. Too
1001 many initialisations
SCADAPack E Target 5 Technical Reference 93

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
performed
0x1202: Bad owner number (too
1002 high)
0x1202: Bad user number (too high)
1003
0x1202: Bad object number (too
1004 high)
0x1202: Space identifier is not valid
1010
0x1202: Owner number is not
1011 available
0x1202: Unable to create space
1012
0x1202: Space already exists May occur as a result of
1013 Online Change
0x1202: Unable to delete space Contact Schneider Electric
1014 technical support
0x1202: Space is deleted or cannot
1015 link with space
0x1202: Cannot unlink from the
1016 space
0x1202: Unable to save space Check SCADAPack E RTU
1017 file system
0x1202: Unable to load space Reload the IEC 61131-3
1018 application
0x1202: Cannot load space Reload the IEC 61131-3
1019 application
0x1202: Cannot remove space Check SCADAPack E RTU
101A file system
0x1202: Internal semaphore Contact Schneider Electric
1020 technical support
0x1202: Semaphore identifier is not
1021 valid
0x1202: Owner number is not
1022 available
0x1202: Cannot create semaphore
1023
0x1202: Semaphore already exists
94 SCADAPack E Target 5 Technical Reference

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
1024
0x1202: Cannot delete semaphore May occur as a result of
1025 Online Change. No action
required.
0x1202: Linking semaphore Contact Schneider Electric
1026 unsuccessful technical support
0x1202: Unlinking semaphore
1027 unsuccessful
0x1202: Cannot take semaphore
1028
0x1202: Semaphore timeout
1029
0x1202: Releasing semaphore
1030 unsuccessful
0x1202: Cannot create message
1031 queue
0x1202: Message queue already
1032 exists
0x1202: Size of message queue is
1033 too long
0x1202: Message is too long
1034
0x1202: Could not delete message
1035 queue
0x1202: Cannot open message Restart communication
1036 queue with SCADAPack E RTU
0x1202: Could not close message Contact Schneider Electric
1037 queue technical support
0x1202: Could not send message Restart communication
1038 with SCADAPack E RTU
0x1202: Time out is reached Restart communication
1039 sending message with SCADAPack E RTU
0x1202: Message is too long Contact Schneider Electric
103A technical support
0x1202: Priority parameter is wrong Contact Schneider Electric
103B technical support
0x1202: Could not receive message Restart communication
103C with SCADAPack E RTU
SCADAPack E Target 5 Technical Reference 95

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
0x1202: Time out is reached Communication status. No
103D receiving message action required
0x1202: The message is discarded. Contact Schneider Electric
103E The buffer is too small. technical support
0x1202: Invalid DSA name
1060
0x1202: Cannot open DSA
1061
Contact Schneider Electric
0x1202: Cannot remove DSA technical support
1062
0x1202: Cannot create DSA
1063
0x1202: Cannot write DSA
1064
0x1202: Cannot read DSA
1065
0x1202: Task is not running
1070
0x1202: Cannot create task Retry the request, Restart
1071 the SCADAPack E RTU
0x1202: Cannot terminate task Contact Schneider Electric
1072 technical support
0x1202: Cannot initialise sockets Contact Schneider Electric
1080 technical support
0x1202: Cannot create socket Contact Schneider Electric
1081 technical support
0x1202: Cannot bind a socket Check SCADAPack E RTU
1082 TCP/IP configuration,
contact Schneider Electric
technical support
0x1202: Cannot listen on a socket Contact Schneider Electric
1083 technical support
0x1202: Cannot accept a socket Contact Schneider Electric
1084 technical support
0x1202: Invalid address Review the IEC 61131-3
1085 application settings,
check SCADAPack E RTU
TCP/IP configuration
0x1202: Cannot connect a socket Check SCADAPack E RTU
96 SCADAPack E Target 5 Technical Reference

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
1086 TCP/IP configuration,
contact Schneider Electric
technical support
0x1202: Connection broken Reconnect communication
1087 with SCADAPack E RTU
0x1202: Could not receive data from Reconnect communication
1088 socket with SCADAPack E RTU,
restart the RTU
0x1202: Could not send data on Reconnect communication
1089 socket with SCADAPack E RTU,
restart the RTU
0x1202: Cannot set socket option Contact Schneider Electric
108A technical support
0x1202: Socket option not Contact Schneider Electric
108B implemented technical support
Kernel 0x1202: Target name mismatch Review the IEC 61131-3
1100 application
0x1202: Generated code and Rebuild the IEC 61131-3
1101 configuration mismatch application and reload
0x1202: Database CRC mismatch Rebuild the IEC 61131-3
1102 application and reload
0x1202: Module name mismatch Rebuild the IEC 61131-3
1103 application and reload
0x1202: Resource name mismatch Rebuild the IEC 61131-3
1104 application and reload
0x1202: Corrupted module Rebuild the IEC 61131-3
1105 application and reload
0x1202: Target segmentation Review the IEC 61131-3
1110 mismatch application, import a target
definition matching the
SCADAPack E firmware
0x1202: Too many blocks of Review the IEC 61131-3
1111 memory to allocate application
0x1202: System variables overlap Review the IEC 61131-3
1112 application, import a target
definition matching the
SCADAPack E firmware
0x1202: Memory allocated is too Contact Schneider Electric
1120 short technical support
0x1202: Cannot load driver Review the IEC 61131-3
SCADAPack E Target 5 Technical Reference 97

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
1121 application
0x1202: Driver is not loaded Review the IEC 61131-3
1122 application
0x1202: Invalid driver Contact Schneider Electric
1123 technical support
0x1202: Online modification not Contact Schneider Electric
1130 initialised technical support
0x1202: Can’t modify when online Review the IEC 61131-3
1131 modify space size is zero application, stop the
resource and download the
application
0x1202: Not enough memory for Review the IEC 61131-3
1132 online modifications application, stop the
resource and download the
application
0x1202: No new modifications to
1133 update
0x1202: Cannot update program Stop the resource and
1134 (new objects within POU) download the application
0x1202: Cannot save online Check the SCADAPack E
1135 modifications RTU file system, stop the
resource and download the
application
0x1202: Online changes are not Stop the resource and
1136 allowed download the application
0x1202: Could not initialize SFC Review the IEC 61131-3
1140 function block application
0x1202: Space allocation Contact Schneider Electric
1141 unsuccessful when technical support
initialising SFC function
block
0x1202: SFC function block table Reload the IEC 61131-3
1142 corrupted application
0x1202: Resource number not Review the IEC 61131-3
1180 allowed application (SCADAPack E
RTU valid resource
numbers are 1 and 2 only)
0x1202: Kernel is not in the Retry the request, restart
1181 appropriate state the SCADAPack E RTU
0x1202: Bad parameters in request Retry the request
98 SCADAPack E Target 5 Technical Reference

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
1182
0x1202: Cannot allocate server Contact Schneider Electric
1200 memory technical support
0x1202: Cannot create server
1201 connection message queue
0x1202: Server message buffer too
1202 small
0x1202: Cannot remove server
1203 connection
0x1202: No more server
1204 connections available
0x1202: Cannot link with client Retry the request
1205 message queue
0x1202: Invalid server connection Retry the request
1206
0x1202: Server message too large, Contact Schneider Electric
1207 request discarded technical support
0x1202: Timeout in received server Retry the request
1208 message
0x1202: Server bad reply Retry the request
1209
CMG task 0x1202: Cannot start new kernel Restart the SCADAPack E
1300 RTU
0x1202: Kernel is already running
1301
0x1202: Kernel is not running Start the Resource, Restart
1302 the SCADAPack E RTU
0x1202: Cannot start configuration Restart the SCADAPack E
1310 manager task RTU
Exchange dispatcher 0x1202: Allocation unsuccessful Restart the SCADAPack E
1400 RTU
0x1202: Trying to connect to an Check the IEC 61131-3
1401 unknown resource application configuration
0x1202: Network device is not Check the IEC 61131-3
1402 loaded application
0x1202: Network device is not found Reconnect communication
1403 with the SCADAPack E
RTU, check the IEC 61131-
3 application configuration
SCADAPack E Target 5 Technical Reference 99

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
0x1202: Operation due to system Restart the SCADAPack E
1404 status code RTU
0x1202: Received data for a close Check network
1405 connection configuration
0x1202: Connection not available Reconnect communication
1406 with SCADAPack E RTU
0x1202: Bad connection identifier Restart the SCADAPack E
1407 RTU, check the IEC 61131-
3 application configuration
0x1202: Too many pending Check the network
1408 messages configuration, check the
IEC 61131-3 application
settings
0x1202: Message overflow Check the IEC 61131-3
1409 application settings
ETCP task 0x1202: Bad channel identifier Restart the SCADAPack E
1410 RTU
0x1202: Channel table full Restart the SCADAPack E
1411 RTU
0x1202: Connection refused Restart the SCADAPack E
1412 RTU
0x1202: Operation has no effect Restart the SCADAPack E
1413 RTU
0x1202: Attempt to access to Restart the SCADAPack E
1414 closed socket RTU
0x1202: No IXD to accept Restart the SCADAPack E
1415 connection RTU
0x1202: Connection refused (out of Restart the SCADAPack E
1416 space) RTU
0x1202: Bad parameter related to Check IEC 61131-3
1417 channel operation application connection
parameters
0x1202: Target communication Retry later, restart the
1418 server overloaded SCADAPack E RTU
Common 0x1202: Binding unsuccessful. Review the IEC 61131-3
1420 Common data exchange application
space full
0x1202: Cannot link to data Review the IEC 61131-3
1421 exchange producer application, check the
network connection
100 SCADAPack E Target 5 Technical Reference

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
0x1202: Bad binding parameter Review the IEC 61131-3
1422 application
0x1202: There is no network device Review the IEC 61131-3
1430 table application
0x1202: Resource not found Review the IEC 61131-3
1431 application
0x1202: Variable conversion Review the IEC 61131-3
1432 unsuccessful application
Exchange layer 0x1202: Memory block allocated for Review the IEC 61131-3
1500 device is too short applications
0x1202: Cannot establish Review networking
1501 connection configurations
0x1202: Cannot remove connection Restart the SCADAPack E
1502 RTU
0x1202: Cannot read variables Rebuild and reload IEC
1503 61131-3 application
0x1202: Too late to change device
1504 (connection may already be
established)
0x1202: Cannot set device Review the IEC 61131-3
1505 parameters application
0x1202: Memory block allocated for Contact Schneider Electric
1506 connection is too short technical support
0x1202: Exchange layer timeout Review the IEC 61131-3
1507 application settings
0x1202: Exchange transport Review network
1508 unsuccessful connections &
configurations
0x1202: The request code does not Contact Schneider Electric
1509 correspond technical support
0x1202: The maximum capacity of Contact Schneider Electric
150A the buffer is reached technical support
0x1202: The notification identifier is Retry the request
150B wrong
0x1202: Bad return check during the Retry the request
150C transport
0x1202: Cannot remove connection Contact Schneider Electric
150D technical support
0x1202: This function required a Contact Schneider Electric
SCADAPack E Target 5 Technical Reference 101

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
150E header for the buffer technical support
0x1202: Unknown type Contact Schneider Electric
150F technical support
0x1202: Bad index number Contact Schneider Electric
1510 technical support
0x1202: Start dialog is not allowed Retry the request
1511 (maybe dialog is already
established)
0x1202: Stop dialog is not allowed Retry the request
1512
0x1202: Start dialog procedure not Restart communications
1513 completed
0x1202: Stop dialog procedure not Restart communications
1514 completed
0x1202: Start not in progress Restart communications
1515
0x1202: Stop not in progress Restart communications
1516
0x1202: Dialog is not established Restart communications
1518
0x1202: Variable description Contact Schneider Electric
1519 technical support
0x1202: Method not provided by the Contact Schneider Electric
151A driver or invalid method technical support
0x1202: Service not provided by the Contact Schneider Electric
151B driver or invalid service technical support
0x1202: Size allowed for this Contact Schneider Electric
151C variable is too short technical support
0x1202: Only one connection by Review the IEC 61131-3
151D resource and by method application
allowed
0x1202: Bad extra parameters for Review the IEC 61131-3
151F connection application
0x1202: Request cannot be sent, Review the IEC 61131-3
1520 retry later application
0x1202: Cannot establish Review the IEC 61131-3
1521 connection, no more free application
exchange connections
0x1202: Exchange layer internal Contact Schneider Electric
102 SCADAPack E Target 5 Technical Reference

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
1522 technical support
0x1202: IXL Cannot write variables Contact Schneider Electric
1523 technical support
0x1202: Invalid IXL identifier Contact Schneider Electric
1530 technical support
0x1202: Too many IXL initialisation Restart SCADAPack E
1531 loops RTU
0x1202: Clients cannot have the Review the IEC 61131-3
1532 same number application
0x1202: Device registration
1533 successful
0x1202: Invalid driver name. Cannot Review the IEC 61131-3
1534 register application
0x1202: Cannot register driver due Review the IEC 61131-3
1535 to null parameter application
0x1202: Cannot register driver, Review the IEC 61131-3
1536 maximum driver limit application
reached
0x1202: Not all drivers configured. Review the IEC 61131-3
1537 ISaRSI driver cannot be application
configured
0x1202: Invalid connection identifier Review the IEC 61131-3
1538 application
0x1202: Cannot establish Restart communications
1539 connection, maximum
connections reached
0x1202: Connection not Review the IEC 61131-3
153A established. Unknown application
driver
0x1202: Message overflow Review the IEC 61131-3
153B application
0x1202: Exchange capability not Review the IEC 61131-3
153C implemented application
0x1202: Exchange parameters are Review the IEC 61131-3
153D bad application
0x1202: Bad Exchange request Retry the request
153E
0x1202: Kernel unsuccessful in Retry the request
153F executing request (commonly occurs after a
SCADAPack E Target 5 Technical Reference 103

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
communication
disconnection)
0x1202: Symbol Table is not loaded Rebuild and reload the IEC
1540 61131-3 application
0x1202: IXL: Maximum iteration is Contact Schneider Electric
1541 reached in symbol technical support
management
0x1202: IXL: Variable is unknown Contact Schneider Electric
1542 technical support
0x1202: IXL: Type or Sub-type is Contact Schneider Electric
1543 unknown technical support
0x1202: IXL: Symbols mismatch Reload the IEC 61131-3
1544 application
0x1202: IXL: Symbols mismatch, Reload the IEC 61131-3
1545 bad CRC application
0x1202: IXL: Symbols mismatch, Reload the IEC 61131-3
1546 bad resource name application
0x1202: IXL: End of symbols is Reload the IEC 61131-3
1547 reached or stop is required application
0x1202: IXL: Symbols are corrupted Reload the IEC 61131-3
1548 application
0x1202: IXL: Symbols are already
1549 loaded
0x1202: IXL: Symbols are currently
154A loading
0x1202: IXL: Both IXL symbol Rebuild and reload the IEC
154B version mismatch 61131-3 application
0x1202: IXL: Device is unknown Contact Schneider Electric
154C technical support
0x1202: IXL: Syntax Reload the IEC 61131-3
154D application
0x1202: IXL: Symbols table is Reload the IEC 61131-3
154E incomplete, it is reduced application, Review the IEC
one 61131-3 application
HSD driver 0x1202: Incompatible version of Rebuild and reload the IEC
1630 binding table 61131-3 application
0x1202: Produced variables refresh Review the IEC 61131-3
1631 timeout application, check network
connection
104 SCADAPack E Target 5 Technical Reference

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
0x1202: There is no producer Review the IEC 61131-3
1632 applications, check
network connection
0x1202: HSD binding service is not Review the IEC 61131-3
1633 implemented applications, don’t use the
resource binding features
ISaRSI task 0x1202: Cannot initialise serial Check SCADAPack E RTU
1640 device port settings, contact
Schneider Electric
technical support
0x1202: Cannot open serial device Check SCADAPack E RTU
1641 port settings, contact
Schneider Electric
technical support
0x1202: Cannot read serial device Contact Schneider Electric
1642 technical support
0x1202: Cannot write serial device Contact Schneider Electric
1643 technical support
0x1202: Bad parameters Check IEC 61131-3
1644 application connection
parameters
ETCP task 0x1202: Create socket was Restart the SCADAPack E
1700 unsuccessful RTU
0x1202: Close socket was Restart the SCADAPack E
1701 unsuccessful RTU
0x1202: Launching communication Restart the SCADAPack E
1702 server was unsuccessful RTU
0x1202: Connecting to remote node Check SCADAPack E
1703 was unsuccessful TCP/IP configuration,
check IEC 61131-3
application settings
0x1202: Can’t read from socket Check network connection,
1704 restart the SCADAPack E
RTU
0x1202: Accepting remote client Check network connection,
1705 connect was unsuccessful restart the SCADAPack E
RTU
0x1202: Initialization of the TCP/IP Restart the SCADAPack E
1706 stack was unsuccessful RTU
0x1202: Changing the socket status Restart the SCADAPack E
1707 was unsuccessful RTU
SCADAPack E Target 5 Technical Reference 105

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
0x1202: Broken connection Reconnect communication
1708 with SCADAPack E RTU,
restart the RTU
0x1202: Socket write was Check network connection,
1709 unsuccessful restart the SCADAPack E
RTU
0x1202: Received data is not Reconnect workbench
170A coherent communication with
SCADAPack E RTU
0x1202: Remote ETCP connection Reconnect
170B unsuccessful communications with
SCADAPack E RTU
0x1202: ETCP communication Reconnect
1710 timed out communications with
SCADAPack E RTU, check
communication settings in
C:
\ProgramData\ISaGRAF\IS
aGRAF Gateway\
OpcConfig.XML [Windows
7 and later]
C:\Documents and
Settings\All
Users\Application
Data\ISaGRAF\ISaGRAF
Gateway\
OpcConfig.XML [Windows
XP]
0x1202: ETCP server is already Restart the SCADAPack E
1711 connected to a default RTU
queue
0x1202: ETCP server is full Reconnect workbench
1712 communication with
SCADAPack E RTU,
restart the RTU
0x1202: Host address not resolved Review the IEC 61131-3
1730 application
0x1202: Remote resource not found Review the IEC 61131-3
1731 applications, check
network connection
0x1202: ETCP is not running Check SCADAPack E RTU
1732 TCP/IP services has IEC
61131-3 /TCP enabled
106 SCADAPack E Target 5 Technical Reference

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
0x1202: Resource has no variables Review the IEC 61131-3
1733 to bind application
0x1202: ETCP binding Service is Review the IEC 61131-3
1734 not implemented applications, don’t use the
resource binding features
0x1202: Variable not found by ETCP Review the IEC 61131-3
1735 application
Operating Sys 0x1202: Creation of system Contact Schneider Electric
2001 semaphore was technical support
unsuccessful
0x1202: System access timeout Retry the operation, restart
2002 the SCADAPack E RTU,
0x1202: System storage not Contact Schneider Electric
2003 supported technical support
ETCP binding 0x1204: ETCP binding producer Check network connection
1009 timeout
0x1204: ETCP binding consumer Check network connection
100A timeout
HSD binding 0x1204: HSD binding consumer Contact Schneider Electric
2002 unsuccessful technical support
0x1204: HSD binding producer Contact Schneider Electric
2003 unsuccessful technical support
System layer 0x1205: Invalid number of events Contact Schneider Electric
0001 technical support
0x1205: Creation of system
0002 semaphore unsuccessful
0x1205: Opening system
0003 semaphore unsuccessful
0x1205: Taking system semaphore
0004 unsuccessful
0x1205: Creating system space
0005 unsuccessful
0x1205: Deleting system space
0006 unsuccessful
0x1205: Linking system space
0007 unsuccessful
0x1205: Unlinking system space
0008 unsuccessful
0x1205: Opening system space
SCADAPack E Target 5 Technical Reference 107

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
0009 unsuccessful
CMG 0x1206: Starting ETCP task was Contact Schneider Electric
0001 unsuccessful technical support
0x1206: Starting ISARSI task was
0002 unsuccessful
0x1206: Starting ISaGRAF kernel
0003 was unsuccessful
0x1206: Starting Fieldbus task was
0004 unsuccessful
0x2201: Initialising Kernel block was
Kernel init. 0001 unsuccessful Contact Schneider Electric
technical support
0x2201: Allocation Kernel memory
0002 was unsuccessful
0x2201: Initialising standard
0003 functions was unsuccessful
0x2201: Initialising SCADAPack E
0004 functions was unsuccessful
0x2201: Initialising standard function
0005 blocks was unsuccessful
0x2201: Initialising SCADAPack E
0006 function blocks was
unsuccessful
0x2201: Initialising conversions was
0007 unsuccessful
0x2201: Initialising I/O devices was Check the SCADAPack E
0008 unsuccessful point configurations, review
the IEC 61131-3 application
I/O device parameters
0x2201: Initialising binding was Contact Schneider Electric
0009 unsuccessful technical support
0x2201: Initialising step-by-step Contact Schneider Electric
000B debugger was unsuccessful technical support
ETCP binding 0x2204: Link binding lock Contact Schneider Electric
1001 unsuccessful technical support
0x2204: Allocate export binding
1002 space unsuccessful
0x2204: Create export binding
1003 semaphore unsuccessful
108 SCADAPack E Target 5 Technical Reference

IEC 61131-3 Service Status Description Suggested Action


Code
(hex)
0x2204: Allocate import binding
1004 space unsuccessful
0x2204: Create import binding
1005 semaphore unsuccessful
0x2204: Register producer
1007 unsuccessful
0x2204: Register consumer
1008 unsuccessful
0x2204: Link binding variables
1009 unsuccessful
HSD binding 0x2204: Link binding lock was Contact Schneider Electric
2001 unsuccessful technical support
0x2204: Link binding variables was Contact Schneider Electric
2002 unsuccessful technical support
0x2206: Resource routing table Review IEC 61131-3
0004 application resource
binding
Exchange 0x2207: IXL initialisation Contact Schneider Electric
001 unsuccessful technical support
0x2207: IXS initialisation Contact Schneider Electric
002 unsuccessful technical support
SCADAPack E Target 5 Technical Reference 109

11 Target Upgrade
A firmware upgrade on the SCADAPack E Smart RTU may add new functionality. If new firmware has
additional I/O device definitions, function blocks and capabilities the Target Definition must be updated in
existing projects, or the resources will not start when downloaded.
SCADAPack Workbench can import the I/O device definitions, function blocks and capabilities of a
target device from a Target Definition file (".tdb"). If new capabilities or features are added to the
SCADAPack E firmware, a new set of .tdb files will be published and released as part of an updated
SCADAPack Workbench release. New Workbench projects that are created from a Proj ect Template
12 will not require a Target Definition file to be imported.

There are Two Target Definition files maintained for the SCADAPack Workbench. The files are named
as follows:
"SP_300E_Target_*.tdb" for the SCADAPack 300E RTU models, where * is the firmware version
"SP_ES_Target_*.tdb" for the SCADAPack ES/ER RTU models, where * is the firmware version
To import a Target Definition file into an existing project:
1. From the SCADAPack Workbench Solution Explorer window, right-click the project and choose
Import, then Import Target Definitions from the contextual menu (as shown below).
2. In the Open window, browse to locate the appropriate target definitions (*.tdb) file for your target to
import into the project, then click Open. These files can be found in the workstation’s SCADAPack
Workbench "C:\Program Files\Schneider Electric\SCADAPack Workbench\SCADAPack
Workbench\TargetDefinitions" directory tree.
When the importation process is completed, the features from the target definition are available for use in
the project.

Importing a 'Target Definitions' file


110 SCADAPack E Target 5 Technical Reference

12 Unsupported Features
ISaGRAF 6.1 Unsupported Features
This section outlines the features that are documented in the ISaGRAF 6.1 Workbench User's Guide or
ISaGRAF Target User's Guide that are not currently implemented in the SCADAPack E RTU Target.
Most other major ISaGRAF 6.1 features are implemented.
A target error will usually be produced if an IEC 61131-3 application or SCADAPack Workbench
accesses an unimplemented feature. The unsupported features are as follows:
Producer/Consumer Bindings between devices
Interrupts feature
Wiring on complex variable members
User System Variables
Scientific Apparatus Makers Association (SAMA) diagram language
IEC 61499 language
Failover Mechanism
I/O Device Conversion, Gain, Offest
SAFEBOOL variable types

Target 3 Unsupported Features


This section documents Target 3 features that are unsupported in Target 5 or where a different
mechanism is used in Target 5. This may be useful when porting existing Target 3 applications using
16-bit Workbench (not covered by this document) and Target 5 with 32-bit SCADAPack Workbench.

Target 3 Feature Suggested Action

"rea_msg" function Replace with built-in function ANY_TO_STRING

"msg_ip" Replace with STRING_TO_IP

"OPERATE" function Replace with the appropriate SETPNTxx function

Conversion Tables Not currently supported on Target 5. Replace with user-written


Functions.
SCADAPack E Target 5 Technical Reference 111

You might also like