на счет интерфейса (примерно как тут https://www.youtube.com/watch?v=Ve8YcLyyq4s на 6й минуте, подобный есть у всех ПЛК с Motion)... по PLCOpen... я имею ввиду некую абстракцию мы забили настройки ШД или Серво в режим степ дир, (такие как сколько мм движение 1 шаг и тд) А потом через абстракцию говорим разогнать двигатель, с ускорением 0.1 м/c^2 до 3м .. или если позиционирование, то подвинуть на позицию 2 метра со скоростью разгона 0.1 м/c^2 и тд. Там также в бибке реализована абстракция (позиция 1 двигателя - "оси" от другой "оси" в виде 2D графика) и много еще чего. + кинематика вроде есть (для дельта робота например) задаем 3 оси (двигателя, длины плеча дельта робота и тд ) и говорим уже в координатах 3д подвинуть руку в позицию X Y Z. + CNC в PLC Open уже добавлен. Те перемещения можно задавать как некий стандартный CNC код.