Epsilon EP-P Drive Reference Manual 133ï€
Revision A4 www.controltechniques.com
If Index0 takes 3 seconds to complete, and Index1 takes 5 seconds to complete, by initiating Index0 and then Index1 in a
program, the user would expect these profiles to take a total of 8 seconds to complete. It is possible though, that because of
processor timing, Index.1 does not start at exactly the same time Index0 is complete. Therefore, the two profiles could take
slightly more than 8 seconds to complete. Although the amount of time lost is extremely small (less than 5 milliseconds), over
a long period of time, this lost time can accumulate.
Keeping the timeline intact is most important in applications using synchronized motion. This is because in synchronized
motion, time is replaced by master encoder motion. If time is lost in a synchronized motion application, then master distance is
lost, and the follower position is off with respect to the master.
Example:
Index.0.Initiate ‘Index0,Incrmntl,Dist=1.5revs
Dwell For Time 1.000 Using Last
Index.1.Initiate Using Last ‘Index1,Incrmntl,Dist=3.5revs
4.4.6 Modbus Slave
ReadBit
Reads bit values (coils or inputs) from the slave into user bits.
ReadBit (<SlaveId>, <ModbusAddr>, <Qty>, <BitInstance>)
<slaveId> =The instance number of a defined slave. See Network Modbus Master Slave tab,
<ModbusAddr> = The starting modbus address of the slave coil or input.
<Qty> = The number of coils or inputs to be read which equals the number of user bits
<BitInstance> = The starting bit instance number that the coil or input results will be written to
This is a block transfer command that can load several coil status bits or inputs into User Bits.
The program will not proceed to the next instruction until either the data transfer is complete or an error has occurred.
Example:
' Read from slave 2 - 3 coils (10, 11 and 12) and stores the result
' in user bits bit.1, bit.2 and bit.3
ReadBit (2, 10, 3, 1)
Example:
' Read from slave 1 - n(var.qty) coils starting at coil var.from
' and store the results in n(var.qty) user bits starting at
' bit instance var.to.
var.from = 39980
var.qty = 3
var.to = 1
ReadBit (1, var.from, var.qty, var.to)
ReadVar
This instruction reads values from the modbus slave to the user variables.
ReadVar (<SlaveId>, <ModbusAddr>, <Qty>, <VarInstance>)
<SlaveID> = The instance number of a defined slave. See Network Modbus Master Slave tab.
<ModbusAddr> = The starting modbus address of the slave holding or input register.
Range Description
00001 - 09999 one coil for each user bit
10001 - 19999 one input for each user bit
Range Description
00001 - 09999
Each multiple of 16 coils are packed into one user variable. <Qty> defines the number of coils to
read
10001 - 19999
Each multiple of 16 coils are packed into one user variable. <Qty> defines the number of coils to
read
30001 - 39999 16 bit read only slave register is loaded into the lower 16bits of a user variable
40001 - 49999 16 bit writable slave data is loaded into the lower 16bits of a user variable
130001 - 139999
Two 16 bit read only slave registers are loaded into the lower 16bits of a user variable and the upper
16 bits of the user variable
140001 - 149999
Two 16 bit writable slave registers are loaded into the lower 16bits of a user variable and the upper
16 bits of the user variable
400001 - 409999
Unidrive 32bit values:
Two 16bit slave holding registers are written from the 32bit user variable with word swap as specified
by the slave configuration.