Архитектура ПО для ПЛК от Михайло

Автоматизация технологических процессов, системы управления, АСУ ТП, АСКУЭ, программирование ПЛК, человеко-машинный интерфейс, сетевое оборудование, протоколы
Ответить
Михайло
Администратор
Сообщения: 4131
Зарегистрирован: 19 сен 2012, 19:16

Архитектура ПО для ПЛК от Михайло

Сообщение Михайло »

Всем привет.

У меня тут для вас новый курс лекций по программированию ПЛК!

Хватит уже программировать "по наитию" - этот подход называл так мой преподаватель в ВУЗе. "По наитию" - это когда ты буквально лепишь программу, мучаешь её многократным тестированием, пока наконец-то она не получится. Иногда на весь этот процесс уходит очень много времени. При этом ты не уверен, что у тебя всё чётко работает. А ещё страшнее - когда тебя просят внести изменения в код, ты приходишь в ужас, только представив, во что это выльется.

А что так можно было - без этих трудностей??? Ответ - да.

Представляю пошаговое программирование (или иначе программирование с использованием графов) - это программирование пошаговых функциональных диаграмм (Sequential Function Chart - SFC). В СССР и в России триумфом использования подхода явился язык Дракон (сокращённо от "Дружелю́бный ру́сский алгоритми́ческий язы́к, кото́рый обеспе́чивает нагля́дность"), который применялся в космических летательных аппаратах, в частности, в проекте "Буран". В стандарте МЭК 61131-3 описан язык SFC (Sequential Function Chart). Однако в большинстве сред разработок для ПЛК этот язык не поддерживается и нет тенденции появления поддержки в будущем. Simatic Step7 поддерживает язык GRAPH на платной основе и только для старших моделей ПЛК, ранее был ещё асинхронный вариант HiGraph и SFC. Попытки использования этих языков продемонстрировали абсолютную непрактичность реализации. Даже небольшой по существу код стремился занимать избыточный размер памяти, который не мог запуститься без флэш-карты большого размера и повышенной стоимости (в сотни евро).

За 20 лет опыта был отработана методика пошагового программирования без использования всех этих платных специальных средств - вы можете реализовать этот подход даже на программируемом реле Овен!

Основные понятия пошагового программирования:

1. Шаг (Step). Я предпочитаю такие более понятные вещи, но также популярна альтернатива - Состояние (State).

2. Переход (Transition)

3. Условие перехода (Transition condition)

4. Действие (Action)

img-06.jpg


Найдите на этом изображении:
1. Шаги STEP 1, STEP 2, STEP 3
2. Переходы Transition 1, Transition 2, Transition 3
3. Условия переходов Motor OFF & Start Signal ON, Motor ON & Start Signal ON, Motor OFF
4. Действия Start Motor и Stop Motor

Продолжение курса лекций следует...
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя
mr_Frodo
Профессионал
Сообщения: 613
Зарегистрирован: 22 июл 2016, 20:38

Re: Архитектура ПО для ПЛК от Михайло

Сообщение mr_Frodo »

Естественно знакомо и опробовано и работает, но как вы уже заметили, простой алгоритм на GRAPH у Siemens занимает в памяти охулиард кБ... А в принципе - положи его на бок и получишь тот же LAD нетворк, но только гораздо дешевле в кБ.
Вот моя подпись...

Аватара пользователя
mr_Frodo
Профессионал
Сообщения: 613
Зарегистрирован: 22 июл 2016, 20:38

Re: Архитектура ПО для ПЛК от Михайло

Сообщение mr_Frodo »

п.с. ещё и несколько сУпризов при загрузке и выборе настроек instanse DB...
Да - наглядно и читабельно, но всё на этом заканчивается. Но это чисто мои оЧучения.
Вот моя подпись...

Михайло
Администратор
Сообщения: 4131
Зарегистрирован: 19 сен 2012, 19:16

Re: Архитектура ПО для ПЛК от Михайло

Сообщение Михайло »

mr_Frodo писал(а): ↑
09 ноя 2025, 17:22
А в принципе - положи его на бок и получишь тот же LAD нетворк, но только гораздо дешевле в кБ.
В принципе по сути я собираюсь объяснить как это сделать, но на самом деле тема моя несколько шире - архитектура ПО, документирование... Чуть позже.

Аватара пользователя
Автоматизатор
Профессионал
Сообщения: 996
Зарегистрирован: 09 окт 2012, 05:18

Re: Архитектура ПО для ПЛК от Михайло

Сообщение Автоматизатор »

mr_Frodo писал(а): ↑
09 ноя 2025, 17:22
ростой алгоритм на GRAPH у Siemens занимает в памяти охулиард кБ...
Зато в документации как красиво было написано-нарисовано!! Состояния и переходы подсвечиваются, можно скрыть детали или отобразить. Красота!! Жаль, что работать - не работает :D

Аватара пользователя
Автоматизатор
Профессионал
Сообщения: 996
Зарегистрирован: 09 окт 2012, 05:18

Re: Архитектура ПО для ПЛК от Михайло

Сообщение Автоматизатор »

Про пошаговые алгоритмы попалось мне не так давно "Язык ДРАКОН":
Ссылка 1
Ссылка 2

Ответить