Страница 1 из 5 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 47

Тема: Использование ООП в CODESYS V3.5

  1. #1

    По умолчанию Использование ООП в CODESYS V3.5

    Добрый вечер!

    Подскажите, где есть по ООП на codesys почитать? И про архитектуру среды исполнения. В документации, которая на сайте мало про это, можно сказать ничего. По крайней мере я не смог найти...

    желательно на русском языке

  2. #2

    По умолчанию

    А зачем тебе ООП-то тут? Не надо его сюда, там же всё отлично через FB делается.
    Хочешь я тебе вот проект скину на посмотреть? ))

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

    По умолчанию

    Цитата Сообщение от turkish945 Посмотреть сообщение
    Добрый вечер!

    Подскажите, где есть по ООП на codesys почитать? И про архитектуру среды исполнения. В документации, которая на сайте мало про это, можно сказать ничего. По крайней мере я не смог найти...

    желательно на русском языке
    На русском по этим темам фактически ничего нет.

    1. Лучшая (и, собственно, единственная мне известная) книга про реализацию ООП в контексте МЭК 61131-3 - это Michael Braun, Wolfgang Horn.
    Object-Oriented Programming with SIMOTION. Fundamentals, Program Examples and Software Concepts According to IEC 61131-3

    Она, конечно, не про CODESYS - но так как и SIMOTION, и CODESYS базируются на МЭК 61131-3 - то отличий не очень много.
    2. Эта документация предоставляется только производителям оборудования и обычно не выкладывается в свободный доступ. Но если погуглить "codesys control win v3 manual" - то кое-что найти можно.

  4. #4

    По умолчанию

    Цитата Сообщение от Cs-Cs Посмотреть сообщение
    А зачем тебе ООП-то тут? Не надо его сюда, там же всё отлично через FB делается.
    Хочешь я тебе вот проект скину на посмотреть? ))
    Скидывай, посмотрю.

    А вообще мне надо ООП, т.к. хочу, чтоб в моем арсенале были все инструменты. Тем более используя ООП можно более красиво и гибко решить некоторые задачи, обычно это так. Но и не только это, он мне ближе в плане понимания, видимо сказывается предыдущий опыт

    Вот, например, есть у меня въездные ворота на участок. Как сущность они имеют следующие управляющие входы:
    - Enabled (вкл/выкл - выход ПЛК),
    - ButtonEnabled (уличная кнопка для управления - вкл/выкл - выход ПЛК),
    - Open (команда открыть - выход ПЛК),
    - Close (команда закрыть - выход ПЛК);

    и следующие выходы:
    - isOpen (ворота открыты - вход ПЛК),
    - isClosed (ворота закрыты - вход ПЛК),
    - Opening (оба входа ПЛК false, был true isClosed),
    - Closing (оба входа ПЛК false, был true isOpen).


    На ООП я бы создал класс со следующими полями: Enabled, ButtonEnabled, isOpen (readonly), isClosed (readonly), методами: Open и Close и событиями: OnOpening, OnClosing, OnOpen, OnClose, а в вызове конструктора передал бы адреса портов ПЛК. И все, "черный ящик" готов.

    Ну, думаю, я и ФБ так создам, накидал выходы: Enabled, ButtonEnabled, Open, Close и выходы: isOpen, isClosed, Opening, Closing и тут понял, что порты ПЛК я никак не завязываю внутри блока и черный ящик не получается. Посмотрел, вроде действительно внутри блока обратиться к портам нельзя (я не нашел как). Можно добавить в ФБ еще 4 входа, для портов ПЛК, тогда более менее что-то получается, но все равно не выходит черного ящика, да и не красиво это....

    Может быть я просто еще не научился думать в парадигме ФБ и что-то делаю не так?
    Последний раз редактировалось turkish945; 27.04.2020 в 18:44.

  5. #5

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    На русском по этим темам фактически ничего нет.

    1. Лучшая (и, собственно, единственная мне известная) книга про реализацию ООП в контексте МЭК 61131-3 - это Michael Braun, Wolfgang Horn.
    Object-Oriented Programming with SIMOTION. Fundamentals, Program Examples and Software Concepts According to IEC 61131-3

    Она, конечно, не про CODESYS - но так как и SIMOTION, и CODESYS базируются на МЭК 61131-3 - то отличий не очень много.
    2. Эта документация предоставляется только производителям оборудования и обычно не выкладывается в свободный доступ. Но если погуглить "codesys control win v3 manual" - то кое-что найти можно.
    Спасибо, посмотрю.

  6. #6

    По умолчанию

    Или исключить из арсенала ПЛК1хх 😁

    На самом деле ООП на больших проектах выручает. У меня прямо сейчас создается система где 3 частотника пчв, 3 instart и 3 упп. Много чего еще, но на примере этих - по сути это 3 насосные станции, они управляются все по modbus, команды и т.д. у всех разные. Но глобально логика общая работы. ООП в данном ключе отлично подходит.

  7. #7

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    разницы особой нет как писать через ООП или обычным способом для КДС, чем больше пользоваться тот и становиться по ощущениям более удобным, а суть не меняется. Но лучше закончить с ФБ, потому как если встанет задача творить на плк1хх сериях, то там нет ООП
    Расскажите, как правильно решить описанную выше задачу с помощью FB?

  8. #8

    По умолчанию

    Цитата Сообщение от RV9WFJ Посмотреть сообщение
    На самом деле ООП на больших проектах выручает. У меня прямо сейчас создается система где 3 частотника пчв, 3 instart и 3 упп.
    Т.е. Вы используете полиморфизм? Без него ООП в принципе мало нужен.

  9. #9

    По умолчанию

    Ну вам может и не нужен, а я в визуализации массивы из этих объектов использую и это очень удобно, что можно одну визуализацию для разных объектов создавать. Удобно то что массив именно один, а стуктуры в нем разные получаются. Полиморфизма тут конечно нет, вы можете не использовать ��

  10. #10

    По умолчанию

    Цитата Сообщение от ASo Посмотреть сообщение
    Т.е. Вы используете полиморфизм? Без него ООП в принципе мало нужен.
    Если требуется - использую, но, думаю, в текущих задачах он не пригодится. Все же прелести ООП не только в этом заключаются.

Страница 1 из 5 123 ... ПоследняяПоследняя

Похожие темы

  1. Использование УЗС-1
    от Сергей 2909 в разделе Эксплуатация
    Ответов: 0
    Последнее сообщение: 31.05.2018, 07:56
  2. Ответов: 3
    Последнее сообщение: 05.03.2015, 14:01
  3. ПЛК 110, использование RS-232
    от =MiX@$= в разделе ПЛК1хх
    Ответов: 18
    Последнее сообщение: 14.10.2011, 14:26
  4. Использование АС4
    от alex_sinjawin в разделе Сетевые технологии
    Ответов: 2
    Последнее сообщение: 10.11.2009, 18:31
  5. Использование CoDeSys Service Tool (CST).
    от Юрий_1900 в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 03.09.2009, 09:49

Ваши права

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