A CLR Virtual Machine based execution framework for IEC 61131-3 applications