Вон те же Митцубиси компилят прогу не в исполняемый бинарник, а в байт-код Мелсек и именно этот байт-код заливается в ПЛК и там он интерпретируется. Причем МК может в разных сериях стоять разный, а байт-код одинаковый. Знаю минимум 3 разновидности реализации китайцами и русскими этого протокола и ядра на стм32 и с ОСРВ и без нее