1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

ООП: назначение Входов/Выходов

Модератор: Глоб.модераторы

Ответить

Автор темы
Savelij
здесь недавно
здесь недавно
Сообщения: 6
Зарегистрирован: 28 сен 2022, 12:54
Имя: Савелий

ООП: назначение Входов/Выходов

Сообщение Savelij »

Коллеги, обращаюсь в первую очередь к тем, кто пишет программы для ПЛК по методологии ООП. Вопрос мой в следующем: где вы назначаете переменные, к которым привязываете сигналы с входов и на выходы? В процедурном я записывал их в глобальные переменные и оттуда их дергал. В ООП у меня же возникли мысли, как это сделать правильнее. Надумал 2 варианта:
1) Входы/выходы прицепить глобальным переменным. Когда будет писаться основная программа, где уже будут назначены все экземпляры классов и т.д., то в ней уже назначить переменным (свойствам) классов заданные ранее глобальные переменные.
2) В ФБ самих классов сразу вешать входы/выходы на переменные (свойства) классов.
Во 2-ом случае возникает проблема, что нельзя будет сделать универсальный класс, с помощью которого в основной программе можно будет создать 2 разных экземпляра (в моем случае это радиопульт и проводной пульт - класс "пульт"). Но при этом не появится лишнего мусора в основной программе и лишних переназначений.

Так же я рассмотрел 3* вариант, это назначить сигналы сразу на переменные экземпляров уже в основной программе, но тогда будет другой тупик - вызов этих переменных в другой программе (например по алармам и отлавливанию ошибок).

Заранее благодарю за ваши ответы и советы. Буду рад любой информации!

(Может, если запутал кого, то под "основной программой" я понимаю PLC_PRG, в которой будет если не вся, то существенная часть всей логики контроллера)

Михайло
эксперт
эксперт
Сообщения: 3643
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 8 раз
Поблагодарили: 286 раз

ООП: назначение Входов/Выходов

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

Код разделить на две части:
1. ООП, когда нужно несколько экземпляров одного класса
2. Обычный код без объектов и классов
Ответить

Вернуться в «ОВЕН»