Показано с 1 по 6 из 6

Тема: ООП: plcopen-oop-boiler-demo project где - бы посмотреть ?

  1. #1

    Question ООП: plcopen-oop-boiler-demo project где - бы посмотреть ?

    Всем привет!
    Давно меня мучает вопрос: где бы найти plcopen-oop-boiler-demo ?
    Сей проект любезно упомянут в https://ftp.owen.ru/CoDeSys3/98_Book....99_rfc_ru.pdf
    Так же и в других местах нет-нет да и всплывут ссылки.
    Возможно, я загоняюсь в дебри. Но очень мне нравятся идеи ООП применительно к контроллерам. Некий подобный подход я давно
    мучительно пытаюсь использовать в среде CDS2.3. Там костылей и ограничений больше, но есть неумираующие проекты в этой среде.
    Да и вообще любопытно посмотреть, ибо ссылки НИГДЕ не ведут к самому проекту.

    Ну и если кто-либо может поделиться интересными ссылками на литературу и примеры из этой области - буду Очень признателен.

    DMS

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,594

    По умолчанию

    Цитата Сообщение от dorofeevms Посмотреть сообщение
    Всем привет!
    Давно меня мучает вопрос: где бы найти plcopen-oop-boiler-demo ?
    Сей проект любезно упомянут в https://ftp.owen.ru/CoDeSys3/98_Book....99_rfc_ru.pdf
    Так же и в других местах нет-нет да и всплывут ссылки.
    Возможно, я загоняюсь в дебри. Но очень мне нравятся идеи ООП применительно к контроллерам. Некий подобный подход я давно
    мучительно пытаюсь использовать в среде CDS2.3. Там костылей и ограничений больше, но есть неумираующие проекты в этой среде.
    Да и вообще любопытно посмотреть, ибо ссылки НИГДЕ не ведут к самому проекту.

    Ну и если кто-либо может поделиться интересными ссылками на литературу и примеры из этой области - буду Очень признателен.

    DMS
    Добрый день.
    Ссылка на упомянутый вами проект:
    https://www.plcopen.org/download_fil...791b367a7/342/

  3. #3

    По умолчанию

    Не могу привыкнуть к стилю изложения, принятому в "западной" литературе... Поэтому замеченные мною "нюансики" ООП в CODESYS, возможно, давно описаны (да мной не прочитано) и являются нормой, но я был неприятно удивлен:
    1. Нет нормального механизма скрытия методов и т.п. атибут 'hide' просто исключает нечто из упоминания, но вовсе не запрещает к этому нечто доступ. Логичнее было бы "не видишь - значит, недоступно вообще".
    2. Блок-наследник должен явно вызывать блок-родитель! Мне это представляется крайне нелогичным: для того, чтобы вызвать виртуальные (т.е. перепоределенные в наследнике) методы, надо явно вызвать SUPER^(), т.е. своего предка, в "теле" блока!

    Но в остальном терпимо...

  4. #4
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,048

    По умолчанию

    Цитата Сообщение от Забодай тебя комар Посмотреть сообщение
    Не могу привыкнуть к стилю изложения, принятому в "западной" литературе... Поэтому замеченные мною "нюансики" ООП в CODESYS, возможно, давно описаны (да мной не прочитано) и являются нормой, но я был неприятно удивлен:
    1. Нет нормального механизма скрытия методов и т.п. атибут 'hide' просто исключает нечто из упоминания, но вовсе не запрещает к этому нечто доступ. Логичнее было бы "не видишь - значит, недоступно вообще".
    2. Блок-наследник должен явно вызывать блок-родитель! Мне это представляется крайне нелогичным: для того, чтобы вызвать виртуальные (т.е. перепоределенные в наследнике) методы, надо явно вызвать SUPER^(), т.е. своего предка, в "теле" блока!

    Но в остальном терпимо...
    В чем нелогичность п. 2?

  5. #5

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    В чем нелогичность п. 2?
    ООП подразумевает, что НЕпереопределенные методы вызываются такими, как есть. Метод "тела блока", в наследнике я явно не переопределяю, следовательно, должен выполняться метод предка.

    В CODESYS реализовали блок так, что "тело" не имеет явного метода, и тогда получается, что объявляя наследника я автоматически переопределяю его тело...

  6. #6
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,048

    По умолчанию

    Цитата Сообщение от Забодай тебя комар Посмотреть сообщение
    ООП подразумевает, что НЕпереопределенные методы..
    1.ООП НЕподразумевает [обязательное наличие] "дефолтного" метода (типа тела ФБ)
    2.МЭК подразумевает наличие ФБ, которое вызывается как ЭкземплярФБ(..)

    Цитата Сообщение от Забодай тебя комар Посмотреть сообщение
    ..В CODESYS реализовали блок так, что "тело" не имеет явного метода...
    Да. Выше. И самое главное - перед КДС3 были 2.3, 2 - и там есть вызов как ЭкземплярФБ(..). С какого это должно пропасть в КДС3? Потому что что-то кому-то там непонравилось?

    Хотите "чистоты" ООП? Дык все просто как 2*2 - НЕ используйте этот дефолт. Исполнение в виде:
    Код:
    ;
    решит Ваши (и только Ваши) проблемы

Похожие темы

  1. Тренд в Master Scada v3.8 (DEMO)
    от polema в разделе Master SCADA 3
    Ответов: 2
    Последнее сообщение: 16.02.2017, 18:03
  2. lectus opc demo
    от Vitamin в разделе OPC Серверы
    Ответов: 1
    Последнее сообщение: 17.10.2016, 13:04
  3. OPM demo & Win7(x64)
    от Gotama в разделе OWEN Proces Manager
    Ответов: 4
    Последнее сообщение: 18.10.2011, 23:48
  4. OPM 1.2 demo
    от dimyse в разделе OWEN Proces Manager
    Ответов: 3
    Последнее сообщение: 24.09.2009, 14:08
  5. "Create boot project" приводит к перезагрузкам
    от Василий в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 14.05.2008, 11:17

Ваши права

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