When an ATV71 holds an IMC card, it is not possible to control its relays by fieldbus.
This is because of the cyclic exchanges between the IMC card and the resident drive: relays are controlled by the IMC card only and it is not possible for a remote PLC to write register OL1R (drive logical outputs).
The register OL1R (logical address 5212) have to be "protected" against IMC card accesses.
This can be done thanks to 3 internal registers:
Register 39003 = 5212 (address of OL1R, to be protected from write requests)
Register 39001 = 0x400 (bit10 means "channel to be inhibited = IMC card")
Register 39023 = 2 (to enable protection. Write 3 to deactivate the protection).
These 3 registers can be written at each IMC boot thanks to "Drive_Start" POU in the IMC project template. Function "DriveParameterWrite1" has to be used to write these registers.
Note that register 39023 value is always 0 even if the value 2 or 3 has just been written to it.
This is because of the cyclic exchanges between the IMC card and the resident drive: relays are controlled by the IMC card only and it is not possible for a remote PLC to write register OL1R (drive logical outputs).
The register OL1R (logical address 5212) have to be "protected" against IMC card accesses.
This can be done thanks to 3 internal registers:
Register 39003 = 5212 (address of OL1R, to be protected from write requests)
Register 39001 = 0x400 (bit10 means "channel to be inhibited = IMC card")
Register 39023 = 2 (to enable protection. Write 3 to deactivate the protection).
These 3 registers can be written at each IMC boot thanks to "Drive_Start" POU in the IMC project template. Function "DriveParameterWrite1" has to be used to write these registers.
Note that register 39023 value is always 0 even if the value 2 or 3 has just been written to it.