-.
-.
After checking the code (VMStackApi.cpp) and adding a lot of traces (in the CVMStackApi::Exchange() function), it seems that sometimes we enter in a condition indicating the timestamp has been updated. Then we enter in the condition to send this new data. But at the moment the data is sent, the timestamp we are recovering is the old one again! So, this is correct, we do not send an invalid data, but the problem is that we send something we should not (and the final Customer is not happy with it).
It seems there is an access conflict between the VM and the IEC870's communication thread. If we put everything in the same thread (like the "data exchange only from within cycle" option in the 850), then the problem seems to be solved.