2.1. Recommendation before installation
5. Safety concerns
8.3. Usage of table with constant strings
8.4. Access to EBOOL variables
EFBToolkit
can be installed on different Windows platforms by using the same setup
package. The setup will detect the platform and the specific installation
requirements automatically.
The
following Windows platforms are supported:
Administrative
privilege is require to work on Unity EFBToolKit.
System with Microsoft Windows 7 Professional 32/64bits
System:
Pentium Processor 2.4 GHz or higher, recommended 3.0 GHz
RAM memory: 2 GB
minimum; recommended: 3 GB
Hard disk: 2
GB minimum, recommended 10 GB
System with Microsoft Windows XP Professional
System: Pentium Processor 1.2 GHz or higher, recommended
3.0 GHz
RAM memory: 1 GB minimum; recommended: 2 GB
Hard disk: 2 GB minimum, recommended 5 GB
Microsoft Internet Explorer 5.5 or higher
2.1.
Recommendation
before installation
· Uninstall the older version of EFB Toolkit manually.
·
Check that the latest Windows service packs and
security patches are installed
·
Check that EFB Toolkit and Unity Pro is not
running currently
·
Check that you have Administrator rights.
· Insert the CD "Unity EFB Toolkit" in the CD ROM drive.
· Auto Run launches the setup automatically or please run the file setup.exe
· Follow the instructions for installation.
· Insert the CD "GNU ARM C" in the CD ROM drive.
· Auto Run launches the setup automatically or please run the file setupGNU.exe
· Follow the instructions for installation
Optional steps for Visual Studio installation (IDE for VC++ Debugging & Coding)
· Insert the DVD "Microsoft Visual Studio" in the DVD ROM drive.
· Auto Run launches the setup automatically or please run the file setup.exe
· Follow the instructions for installation
· For a first installation: you need to register within a period of 21 days.
· To register EFB Toolkit software, you have to launch the registration tool in the Schneider Electric shortcut and then follow the instructions displayed on the screen.
3.2. Registration
when EFB Toolkit version greater or equal to V7.0 rights already registered on
the PC
If you have EFB Toolkit registered on your PC your license rights are automatically activated when you install the latest version of EFB Toolkit
3.3. Registration
when updating EFB Toolkit version earlier to V7.0 to latest
The license rights management has changed, therefore the right on the PC must be reactivated.
3.4. License transfer
To transfer Unity EFB Toolkit
license right from a computer to another you have to launch the registration
tool in the Schneider Electric shortcut:
o Transfer authorization from computer to computer:
To transfer the right from one computer
to another who connected to a local network.
Note: Unity EFB Toolkit folders needs be shared.
o Transfer authorization from this computer to a diskette:
To transfer the right from a computer to an USB memory key or a diskette
Note: USB Memory key or the diskette must not be write protected.
o Transfer authorization from a diskette to this computer :
To transfer the right
from an USB key or a diskette to a computer
o
To uninstall "EFB Toolkit":
From the Windows Control
Panel select Add / Remove programs:
Select Unity EFB Toolkit
in the list and click remove button
o
To uninstall "GNU ARM C":
From the Windows Control
Panel select Add / Remove programs:
Select GNU4EFBToolkit in
the list and click remove button
5. Safety
concerns
The
programming language 'C' is not as safe as standard IEC programming languages
(inside Unity Pro). Though 'C' is a powerful programming language that offers
lot of features to the users (for example pointers), but it also contains
risks, for example:
-
The user can define a pointer and
modify the addresses which user can freely access in his program
-
The user can cast a pointer to any
type he likes
If
you are programming function blocks in 'C', you have to be aware of such
consequences. A 'C' coded function block is a piece of code compiled from a
standard 'C' compiler that is used inside the PLC. There are NO security checks
inside Unity Pro or inside the PLC that validates the function block code for
correct operation. If the code is not correct, the PLC may behave unexpectedly.
Please
validate the function block code, for which you are coding / responsible. For
test and debugging phase, it’s recommended to use PLC Simulator of Unity
Pro.
Please
refer into the included documentation for information if you have a requirement
for the migration of function blocks coming from PL7 or CONCEPT world.
7. New features
·
Compatible
with Unity Pro V8.0 to support M580 and Momentum Unity platforms.
·
REF
generic data type support
·
ANY_ELEMENTARY_REF_ANY generic data type support
· Quality improvements
While
re-installing the EFB Toolkit software, the file 'library.dsc' located in the
family development directory will be possibly overwritten with an empty new
file. This file use to contain the names of the libraries and associated
relationship. Backup this file before re-installing.
DDT by name is not allowed for any EF/EFB/DDT.
8.3.
Usage
of table with constant strings
It’s not possible to declare a table with
constant strings in the following form, because of the special runtime
environment of an EF/EFB.
const char * cllbk_Tab[] = {
"StringA", "StringB" };
s_Declare_Logical(cllbk_Tab);
In this case the strings will be stored somewhere
in the DATA segment and pointers to the strings will be stored in the array.
The EFB Toolkit detects this issue during patching the EF/EFB object file. A
message will be displayed in the logging pane:
Symbol ‘_MYEF_Tab’ in file
‘MYEF_32.OBJ’ is in undefined code section.
To avoid this issue a string table needs be
declared in the following way.
typedef char STRING16[16];
const STRING16 cllbk_Tab[] = { "StringA", "StringB" };
s_Declare_Logical(cllbk_Tab);
In this case the strings will be stored directly
in the array.
8.4.
Access
to EBOOL variables
Different kinds of implementation for EBOOL
variables are exist:
·
IOIM – for un-located and
located EBOOL variables on Premium and for un-located EBOOL variables on
Quantum
·
State RAM – only for located
EBOOL variables on Quantum
When an EF or EFB interface contains a
logical address of an EBOOL variable or an array of EBOOL variables, it is
strictly not recommended to convert this address to a physical pointer to
access the variable.
The following EF/EFB code snippet is not
allowed:
typedef struct {
// Public variables...
// Internal variables...
// Function parameters...
IEC_PARAM_RTE_OFFSET_LG ST_00; // array of EBOOL variables
} ARRAYBITS_INSTANCE_T ;
...
// Convert to physical pointers
ARRAYBITS = s_log_to_phy(ARRAYBITS_instance);
ST00 = s_log_to_phy(ARRAYBITS->ST_00.IECPtr_Log);
// Copy bits from the given array into local variables.
BIT0 = ST00[0];
...
A set of system services exists to access EBOOL
variables. The usage of these system services is mandatory:
·
s_rd_1bit() – gets the value of
a single bit
·
s_rd_16bits() – gets the values
of 16 bits
·
s_rd_Nbits() – gets the values
of up to 32 bits
·
s_rd_bit_attrib() – gets the
value, history and force attribute of a single bit
·
s_wr_1bit() – sets the value of
a single bit
·
s_wr_16bits() – sets the values
of 16 bits
·
s_wr_Nbits() – sets the values
of up to 32 bits
·
s_wr_bits_attrib() – sets the
value, history and force attribute of up to 32 bits
These system services are in charge to detect
which kind of implementation has to be used according to the given logical
address.
The use of the system service functions s_event_func_xxx()
implies that the EF/EFB instance can't be on-line deleted.
8.6. Known issues
·
Concurrent installation of same family through "File ->
Install Family into Libset" option, may lead the application
to misbehave and close. Re-launch the application in this scenario.
·
On-click of log window compiler message, may not lead to the right
location if the message is from .h file.
·
The system services s_mask_it
and s_demask_it is not
supported by MDI PLC although it is mentioned on the user manual.The user
manual will be corrected on the later release.
·
Momentum Unity platform is mentioned as MDI in User manual.