ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
24 апреля
1008220
Evgeny_CD, Архитектор (31.05.2020 21:28, просмотров: 3653)
[FBD + C - так делают?] 

Есть весьма удобный подход к программированию ПЛК - FBD

http://caxapa.ru/1008213/


На мой взгляд, самое удобное - это когда:

-- смотришь на всю программу с некоторого уровня иерархи

-- часть подуровней схлопнута, их можно раскрыть

-- доходишь до самого низкого уровня - до базовых элементов FBD

-- и при этом можно создавать эти базовые элементы на C.


В пределах "базового квадратика" С ограничен:

-- нет внешних переменных. Все в и из "наружи" - это сигналы FBD

-- набор стандартных функций тоже ограничен

-- ограничения в С - "чтобы по памяти не шарахнуть"

-- но пользователь может создавать свою стандартную библиотеку, которую можно подключить к проекту и вызывать из кастомных блоков


Фокус в том, что если и "базовые квадратики" из стандарта сделать на С, то на выходе можно несложно синтезировать все FBD программу как С программу, которая будет очень надежной. Будет разумный баланс между удобством С и ограничениями для повышения надежности.


Да, есть ST, и все то же самое делают на ST, но это еще надо городить транслятор ST ->C, и отлаживать всю эту сложную конструкцию можно устать.


Идея очевидная, и я не верю, что ее никто не придумал до меня.


Вопрос - есть ли примеры подобного?