Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 28 из 28

Тема: Оператор MOVE в owen logic

  1. #21

    По умолчанию

    Цитата Сообщение от pro100nik Посмотреть сообщение
    Просьба обратить внимание что требуется "Оператор MOVE в owen logic" а не Codesys.

    Условно задача:
    Есть переменная SetPoint. Необходимо реализовать её запись из трёх разных мест:
    1. Значение SetPoint может принимать значение "А" или "Б" при включении/установке дефолтного значения (тут изменение из кода ПЛК fSel на 4 входа с "возвратом" выходного значения на один из входов и переключателем "если не 1/2/3" то "возврат")
    2. Значение SetPoint может меняться со SCADA (тут изменение по Модбасу - тут костыль с дополнительным битом актуальности переменной)
    3. Значение SetPoint может меняться из поля ввода экрана (тут изменение с экрана - в целом "кто последний тот и папа" пришлось реализовать изменением последовательности операций присвоения)

    ПС: не надо писать про "отказ от задачи" и про деньги - это выставляет вас в не очень хорошем свете. За деньги можно и фигню впарить: работает=плати.
    ПСПС: "записать старое значение(else GetEquip := 0)" я это понял прекрасно. Но это не работает, если нужно "поймать" момент когда GetEquip == 0
    ПСПСПС: задача решена костылями, без которых можно было обойтись при наличии MOVE/MEMSET и т.п.
    ПСПСПСПС: в техподдержке ОВЕН признали, что оператора MOVE нет, что создание костылей вместо этой этой операции создаёт дополнительные накладные расходы процессорного времени. но не могут помочь с "условной" записью в переменную (переменная будет обновляться в каждом цикле программы тем или иным значением если она помещена на выход какого-либо блока).

    была конечно надежда, что создан профессиональный функциональный блок "обновить переменную" "значением на входе блока" только если активен "вход EN", но вижу, что сообществу это не интересно, а интересно раскритиковать того, кто реально видит необходимость(смысл) в этом.
    Для записи из трёх разных мест:
    - из Modbus и с экрана - в одну и ту же сетевую переменную
    - в значение по умолчанию - при помощи fSel
    3_Sources.png

    И пример - с той самой сетевой переменной.
    Вложения Вложения

  2. #22
    Пользователь
    Регистрация
    09.12.2013
    Адрес
    Ставрополь
    Сообщений
    1,899

    По умолчанию

    Я, в свое время, делал программу для вентиляции где можно было выбирать алгоритм - работать по приточному датчику или по датчику в помещении. Переменная уставки на экране была одна и использовалась в зависимости от алгоритма.
    Может автору что-то в этом роде надо?
    Вложения Вложения

  3. #23

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Не хочет он помощи, только воду льёт.
    В нескольких словах описать задачу, и какие переменные нужны, целые или булевые. Выложить свой блок, чтобы понятней было.
    Так и не понял, чем MOVE отличается от присвоения, в голове у ТС похоже сумбур полный.
    Он не умеет воспринимать текст. И, вероятно, не понимает, что и ST и FBD - Тьюринг-полные языки, т.е. позволяют реализовать абсолютно все алгоритмы, разве что циклы FOR/WHILE/UNTIL на FBD будет выполняться с учётом машинного цикла.

    Грубо говоря, он не по специальности работает - не учился, а нахватался. И пытается втюхать свой прошлый опыт вместо изучения возможностей. В общем, переживает, что в "мотоблоке" отсутствует круиз-контроль, как в привычном "мерседесе", поэтому на следующую вспашку огорода он обязательно потребует "нормальный мерседес, а не этот мотоблок".

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

    По умолчанию

    Цитата Сообщение от pro100nik Посмотреть сообщение
    Просьба обратить внимание что требуется "Оператор MOVE в owen logic" а не Codesys.
    не считайте что квадратик move каким то образом не расходует процессорное время, если он будет сделан разработчиком ОЛ, а не программистом проекта

    Цитата Сообщение от pro100nik Посмотреть сообщение
    Условно задача: Есть переменная SetPoint. Необходимо реализовать её запись из трёх разных мест
    попытайтесь использовать вложение
    ЗЫ в коде другой метод, не про папу, а "кто первый встал того и тапки"
    ПС: не надо писать про "отказ от задачи" и про деньги - это выставляет вас в не очень хорошем свете. За деньги можно и фигню впарить: работает=плати.
    покажите свою реализацию, чтоб отбить у форумчан желание предложить Вам поменять профессию
    ПСПС: "записать старое значение(else GetEquip := 0)" я это понял прекрасно. Но это не работает, если нужно "поймать" момент когда GetEquip == 0
    раскройте мысль про поймать момент
    Вложения Вложения
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  5. #25

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    не считайте что квадратик move каким то образом не расходует процессорное время, если он будет сделан разработчиком ОЛ, а не программистом проекта


    попытайтесь использовать вложение
    ЗЫ в коде другой метод, не про папу, а "кто первый встал того и тапки"

    покажите свою реализацию, чтоб отбить у форумчан желание предложить Вам поменять профессию

    раскройте мысль про поймать момент
    Какой смысл переменной OLD_SP в примере?
    Интересно кстати работает симуляция - выход принимает все промежуточные значения цикла., на реальной ПР так-же?

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

    По умолчанию

    вариант от capzap упростил и учел необходимость инициализаций.
    не думаю что нужно будет 100500 точек (хотя не проблема и в таком виде), но если подопрет то можно и цикл
    Вложения Вложения

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

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Какой смысл переменной OLD_SP в примере?
    Ее я сам вставил, потому что то, как написала Алиса меня не устраивало, даже без теста
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  8. #28

    По умолчанию

    Мой вариант автоматического изменения 3 (от 1 до 3) переменных из разных мест + уставка (инициализация уставки) 1 Работа Move.jpg
    и возможность по Enable установить её в любое время. Enable с авто сбросом.
    А также возможность изменения уставки и её применение по Enable (аналог MOVE).
    Версия Owen Logic2.10.367
    Вложения Вложения
    Последний раз редактировалось kondor3000; 15.11.2025 в 16:09.

Страница 3 из 3 ПерваяПервая 123

Похожие темы

  1. Owen Logic 2.1 нет экспорта устройства в Owen Cloud.
    от Григори в разделе Среда программирования OWEN Logic
    Ответов: 4
    Последнее сообщение: 12.10.2022, 19:33
  2. Добавление аварийных ситуаций в Owen Logic на ПР200 для отображения в Owen Cloud.
    от Григори в разделе Среда программирования OWEN Logic
    Ответов: 6
    Последнее сообщение: 07.07.2022, 11:09
  3. ПО OWEN Logic !!!
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 3
    Последнее сообщение: 11.10.2011, 15:33
  4. OWEN Logic 1.2.0.14b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 40
    Последнее сообщение: 21.02.2011, 14:16
  5. OWEN Logic 1.1.0.11b
    от Ельцов Андрей в разделе Программируемые реле
    Ответов: 58
    Последнее сообщение: 12.10.2010, 20:55

Метки этой темы

Ваши права

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