I am using the ETC_ADS_IoLinkWrite and ETC_ADS_IoLinkRead function blocks to read and write some parameters on an IO-Link device.
Here's the setup:
Raspberry Pi MC SL -> EK1100 -> EL6224 -> Banner LE 550
I have 2 issues:
I am able to read parameters but I have to execute the function block twice.
First time, the function block completes without errors but there is no data written to the byte array. The second time, the function block completes without errors and the data is finally written to the byte array. I always need to trigger twice for it to work.
I am able to write a parameter but everytime, the old parameter value gets written into the byte array which was used to write the new value.
ex.: Parameter X is set to 1 on an io-link device. If I want to set it to 2, I put the value 2 in my byte array and triggers the write function block. The function block completes without errors but my byte array has now the value 1 in it (the old parameter value on the device). I don't understand why this old value gets written back into my byte array?
Finally, I am able to make it all work but it feels like it is not the way it was meant to work. Strange behavior.
Log in to post a comment.