Расскажу о том, как тестируют эти ФБ.
Берём, например, блок для ABZ энкодера.
Из ST сам собой генерируется следущий java код.
Тут и команды для процессора, и вспомогательные методы, чтобы обращаться ко входам-выходам ФБ не через регистры процессора, а в человекопонятной форме setA/setB/getPosition и т.п.
Снимок экрана 2016-10-07 в 13.38.28.png
Потом пишем тест: подаём по очереди значения на входы A/B и смотрим правильно ли блок на них реагирует.
Снимок экрана 2016-10-07 в 13.41.28.png
Так же есть аналогичный тест на вращение в другую сторону.
Запускаем тесты, и видим, что работает:
Снимок экрана 2016-10-07 в 13.46.44.png
Для полноты картины можно добавить тестов, когда крутим туда-сюда, в разные стороны и т.п., но и сейчас уже должно быть хорошо.
Аналогичный тест и для блока "управления мотором":
Снимок экрана 2016-10-07 в 13.53.26.png
Теперь можно хоть как менять сами блоки или компилятор -- тесты сразу покажут, если поведение вдруг сломается.




Ответить с цитированием