User manual

IEC61131 User and Reference Manual
April 22, 2008
142
the data saved in a Permanent Register to a Dictionary variable using one of these Function
Blocks:
Function Block
Description
getregb
Get value of boolean register.
getregf
Get value of floating point register.
getregsl
Get value of signed long integer register.
getregss
Get value of signed short integer register.
getregus
Get value of unsigned short integer
register.
Addressing Conflicts During Application Downloading
ISaGRAF Dictionary Variables
When an ISaGRAF application is being downloaded or re-started, the Dictionary variables
are temporarily undefined. If a protocol accesses the controller while the Dictionary is
undefined, the protocol will return a Modbus Exception. Most polling masters will simply log
this as a command error and retry the protocol command until the Dictionary is no longer
undefined.
When an address from the range of Permanent Non-Volatile Registers is used as the
Network Address for a variable in the ISaGRAF Dictionary, Modbus protocols will access this
address from the Dictionary instead of from the Permanent Registers. However, when the
ISaGRAF application is being downloaded or re-started, the Dictionary will be temporarily
undefined. If a protocol accesses the controller while the Dictionary is undefined, the
protocol will search and find a different value for the register under the Permanent Non-
Volatile Registers. If this scenario is expected, assign Dictionary network addresses outside
the range of Permanent Registers.
C/C++ Application Database Handler
A C/C++ application may install a Database Handler to define Modbus registers. This
creates registers without having to create an ISaGRAF Dictionary of variables.
When a C/C++ application is being downloaded or is stopped, the database handler is
temporarily uninstalled. If a protocol accesses the controller while the handler is uninstalled,
the protocol will return a Modbus Exception. Most polling masters will simply log this as a
command error and retry the protocol command until the database handler is installed.
When an address from the range of Permanent Non-Volatile Registers is also defined in a
database handler in a C/C++ application, Modbus protocols will access this address from the
database handler instead of from the Permanent Registers. However, when the C/C++
application is being downloaded or is stopped, the database handler will be temporarily
uninstalled. If a protocol accesses the controller while the handler is uninstalled, the protocol
will search and find a different value for the register under the Permanent Non-Volatile
Registers. If this scenario is expected, only define registers in a database handler for
addresses outside the range of Permanent Registers.