Amid usage DPRD_DAT, MOVE_BLK and simple MOVE blocks to command this module, this simple LAD logic looks a bit rustic. I've even tried masking words in a bid to achive some effect, but to no avail. Anyway I'll try that method.
As concerned byte representation it's being used Big Indian format, since I'm using the same module registers for different kind of commands and have no problems. The only one function is still defying, -Status.
if it was Siemens device, probably I would have decent support.
Fair warning, it is entirely possible I messed up the Endianness.
Note that direct bit access only works to IO if it is in the process image. If the device requires a peripheral write or other method, then this won't work. You could also do bit access (DB5.DBX12.4 etc) to whatever DB you are storing the control word in, and then use your normal mechanism to write your DB tag to the drive.
You're right, it probably does feel a bit rustic compared to trying masked moves and such things, but it's quick and clear, and doesn't make the person looking at the code think too hard.