Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 15 из 15

Тема: ООП в CoDeSys 3.5

  1. #11

    По умолчанию

    Это все конечно вы правильно говорите оба :-) но ООП в CS такое какое есть. Возможно доработают лет через 5 :-) Тут меня больше интересует использование того что есть сейчас.

  2. #12
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,243

    По умолчанию

    где то в специфических объеках можно применить и ООП, например разные технологические операции, совершают одинаковые действия с температурой,а вот клапана могут открыватся в зависимости от задачи, вот тут легче иметь общий класс для работы с пидом, а методы управления клапанами в расширяемых классах, но утверждать что это ускорит существенно разработку проекта я бы всёравно не стал
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #13
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Если бы я текущий проект в третьем кодесисе делал, то симулятор установки и настоящую установку под одним интерфейсом обобщил бы может быть (симулятор цепляется на отдельный COM-порт ПЛК, а настоящая установка — через железные входы-выходы). Других поводов применить ООП на ПЛК за 3,5 года работы на предприятии не припомню.

  4. #14

    По умолчанию

    Есть, оказывается, такая тема на форуме. Аж 2015 года
    Короче пытаюсь разобраться.

    1. Есть два насоса - один основной, второй резервный.
    2. Есть интерфейс itfPump, в котором есть методы Start, Stop и разные свойства (готовность, в работе, превышение давления, сухой ход и т.д).
    3. Создан ФБ classSupplyPump, который реализует этот этот интерфейс.
    4. Созданы два экземпляра данного ФБ (по кол-ву насосов).

    Теперь я создал ФБ, в который хочу передаю экземпляр нужного мне насоса (который сейчас выбран основным) и оперирую его методами.
    Собственно вопрос. В чем будет разница между такими определениями входных переменных:

    Вариант 1
    На входе указываем объект, унаследованный от интерфейса
    Код:
    FUNCTION_BLOCK FB_PUMP
    VAR_INPUT
    	refPump:		itfPump;
    END_VAR
    VAR_OUTPUT
    END_VAR
    VAR
    END_VAR
    Вариант 2
    На входе указываем ссылку на ФБ
    Код:
    FUNCTION_BLOCK FB_PUMP
    VAR_INPUT
    	refPump:		REFERENCE TO classSupplyPump;
    END_VAR
    VAR_OUTPUT
    END_VAR
    VAR
    END_VAR

    Работает вроде и так и так. Но чую в чем-то все-таки есть разница, опыта пока не хватает понять в чем.

  5. #15

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. ООП в CODeSys_v3
    от kao в разделе СПК2хх
    Ответов: 6
    Последнее сообщение: 06.02.2014, 21:06

Ваши права

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