Показано с 11 по 15 из 15

Тема: И снова про SFC: раздумья о правильном подходе.

Древовидный режим

kondor3000 На ST всё реализуется по... 09.10.2024, 16:20
dorofeevms Вот именно. Поэтому я и... 10.10.2024, 09:22
Валенок Updatedisplay, checkhardwar,... 13.10.2024, 12:16
Валенок Да ваще пофиг. Долго... 13.10.2024, 22:48
Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Question И снова про SFC: раздумья о правильном подходе.

    Уважаемые коллеги.
    Вопрос из области лучших практик, философско-технического плана.
    На ST, FBD , С и тд давно программирую. SFC начал использовать сравнительно недавно.
    Пока на SFC реализуется простой автомат, я бы даже сказал - с (почти) любым уровнем сложности, вопросов много не возникает.
    Но тут попала мне задача, вроде бы простая на первый взгляд, однако требующая достаточно большого "интерактива" с оператором, HMI "в полный рост".

    Не суть важно, на чем ее реализовать необходимо, я , исключительно для целей отладки "в натуре" взял имеющийся под рукой PLC73, суть в следующем:
    - SFC, прекрасно подходит для решения задачи, в том числе с подзадачами и "вспомогательными" процессами,
    если алгоритм предусматривает достаточно много шагов, и каждый шаг может генерировать несколько сообщений, а некоторые ветки задачи требуют ввода,
    КАК логичнее/красивее реализовать ЦЕНТРАЛИЗОВАННЫЙ вывод на экран ?

    Поясняю: когда использую state machine, например в С, или даже ST, то перед вызовом SM я один раз считываю входы и проверяю ошибки, в каждом состоянии я решаю некие логические задачи, в соответствии с алгоритмом устанавливаю выходы (как правило - переменные, выходы - централизованно в конце) , И ПОСЛЕ ОТРАБОТКИ СОСТОЯНИЯ один раз обновляю дисплей. То есть в некоемом (любом) состоянии при появлении сообщения для
    оператора я складываю его в буфер и вывожу все (ошибки, сообщения и тд) в одном месте в конце. Очень удобно: форматируется все в одном месте, в зависимости от типа - ошибка, инфо и тд - выводится префикс и тд...

    И вот тут-то я и задумался: в "конце цепочки" SFC нельзя реализовать - алгоритм может крутиться, например, на шаге автонастройки, или цепочки задания рецепта (а там много ввода и проверок), и, с точки зрения SFC все это -
    ОДИН шаг.
    Вызывать В КАЖДОМ шаге "последним оператором" (действием) нечто вроде UpdateDisplay (MSG_TYPE, MSG_TEXT......) - можно, но, почему-то в душе я пока не привык к этой идее.
    Подумал, добавить выходное действие к шагу, но, учитывая, что может быть SFC внутри SFC (сам пока не делал, но на форуме такая тема есть и мне она понятна!!!) этот вариант ТОЖЕ НЕ очень подходит, ибо пока алгоритм работает внутри одного шага - он также может генерировать сообщения и обрабатывать ввод, а выходное действие выполнится только после перехода к следующему шагу.....

    С благодарностью послушаю мнения экспертов и бывалых!

    Михаил
    Последний раз редактировалось dorofeevms; 09.10.2024 в 15:32.

Похожие темы

  1. Вопрос о правильном соединении плат шлейфами в ТРМ-32.
    от Odissey в разделе Контроллеры для систем отопления и ГВС
    Ответов: 0
    Последнее сообщение: 29.11.2018, 02:09
  2. И снова ПИД...
    от werg в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 31.05.2016, 16:55
  3. и снова ПКП...
    от panfilov в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 07.05.2015, 14:10
  4. и снова 212
    от мастер в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 18.11.2009, 07:22
  5. и снова о си-8
    от Владимир А. в разделе Эксплуатация
    Ответов: 16
    Последнее сообщение: 06.02.2009, 14:30

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •