Страница 3 из 9 ПерваяПервая 12345 ... ПоследняяПоследняя
Показано с 21 по 30 из 92

Тема: Шаблоны модулей МХ110 для CODESYS 3.5

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    27.08.2011
    Адрес
    Курган
    Сообщений
    212

    По умолчанию

    В КДС2 в настройках шаблонов релейных модулей есть режим записи не циклический, а от изменения переменных привязанных к ним. Нельзя ли и тут что то такое сделать?

  2. #2

    По умолчанию

    Цитата Сообщение от kukla100 Посмотреть сообщение
    В КДС2 в настройках шаблонов релейных модулей есть режим записи не циклический, а от изменения переменных привязанных к ним. Нельзя ли и тут что то такое сделать?
    Как правило маски пишут постоянно. Вы можете в настройках выставить запись не циклическую, а по переменной.

  3. #3
    Пользователь Аватар для Эдуард_Н
    Регистрация
    22.09.2014
    Адрес
    Курган
    Сообщений
    1,620

    По умолчанию

    Вы имеете ввиду "RISING_EDGE" ? Тогда возникает 1000 проблем. Предлагаю в шаблоны включить блок который будет управлять триггером "RISING_EDGE". Может даже так:
    Изображения Изображения
    • Тип файла: jpg RE.jpg (62.2 Кб, Просмотров: 95)
    Последний раз редактировалось Эдуард_Н; 23.11.2014 в 16:08.

  4. #4

    По умолчанию

    Цитата Сообщение от Эдуард_Н Посмотреть сообщение
    Вы имеете ввиду "RISING_EDGE" ? Тогда возникает 1000 проблем. Предлагаю в шаблоны включить блок который будет управлять триггером "RISING_EDGE". Может даже так:
    Какие проблемы у Вас возникают в связи с использованием Rising Edge'a?
    Используя такую структуру (как в примере) Вы лишний раз грузите ПЛК (каждый триггер - ФБ, для каждого ФБ отдельный вызов да и хранить состояние нужно).
    Гораздо проще хранить где-то предыдущее значение маски, сравнивать его с текущим, и, если они отличаются, выдавать сигнал на запись.

    например:

    PHP код:
    PROGRAM PLC_PRG
    VAR
        
    wTmpMask:WORD;             //Здесь храним старое значение маски
        
    wMask:WORD;                //Маска для записи
        
    xTrigger:BOOL:=FALSE;    //Триггер для Rising Edge
    END_VAR

    IF xTrigger THEN            //Если триггер установлен - сбросим его
        
    xTrigger:=FALSE;
    ELSIF wTmpMask<>wMask THEN    //Если триггер не уставновлен - проверим изменилась ли маска, и если изменилась    
        
    wTmpMask:=wMask;    
        
    xTrigger:=TRUE;            //подадим команду на запись
    END_IF 
    Последний раз редактировалось Осинский Алексей; 24.11.2014 в 10:09.

  5. #5
    Пользователь
    Регистрация
    27.08.2011
    Адрес
    Курган
    Сообщений
    212

    По умолчанию

    Вопрос не в тему, извиняюсь, но как вам удаётся набирать программу сразу в нескольких строках?

  6. #6

    По умолчанию

    Цитата Сообщение от kukla100 Посмотреть сообщение
    Вопрос не в тему, извиняюсь, но как вам удаётся набирать программу сразу в нескольких строках?
    Присоединяюсь к вопросу. Есть какое то групповое редактирование?


    PS Для пользователей шаблонов- обязательно удаляйте неиспользуемые регистры в шаблоне, я с МУ110-8Р из-за них пол дня потерял.
    Последний раз редактировалось lar; 24.11.2014 в 13:24.

  7. #7
    Пользователь Аватар для Эдуард_Н
    Регистрация
    22.09.2014
    Адрес
    Курган
    Сообщений
    1,620

    По умолчанию

    можно конечно всяко разно, ни кто незапрещает. Вот тут: http://www.owen.ru/forum/showthread.php?t=19067, вообще такие споры кипят. У меня вход вордовский, и подаю туда теже сигналы которые в релейный модуль. Хотя про сравнение маски думал, но незнал как это сделать. Опядь же, уменя запись триггера происходит только присмене выхода, допустим переключение насосов, а тут надо постоянно сравнивать маску, что не есть удобно.
    Изображения Изображения
    Последний раз редактировалось Эдуард_Н; 24.11.2014 в 11:24.

  8. #8

    По умолчанию

    Цитата Сообщение от Эдуард_Н Посмотреть сообщение
    Опядь же, уменя запись триггера происходит только присмене выхода, допустим переключение насосов, а тут надо постоянно сравнивать маску, что не есть удобно.
    Не совсем понял эту фразу, и прикрепленные скриншоты не помогли.
    ФБ R_TRIG и F_TRIG делают то же, самое что и мой пример, но не со всей маской, а с отдельными ее битами. Т.е. постоянно сравнивают значения битов - изменился или нет. Поэтому не пойму неудобства.

  9. #9
    Пользователь Аватар для Эдуард_Н
    Регистрация
    22.09.2014
    Адрес
    Курган
    Сообщений
    1,620

    По умолчанию

    Цитата Сообщение от Осинский Алексей Посмотреть сообщение
    Не совсем понял эту фразу, и прикрепленные скриншоты не помогли.
    ФБ R_TRIG и F_TRIG делают то же, самое что и мой пример, но не со всей маской, а с отдельными ее битами. Т.е. постоянно сравнивают значения битов - изменился или нет. Поэтому не пойму неудобства.
    Если чесно я тоже вас не очень понял, можете выложить коротенький пример использования вашей программы.

  10. #10

    По умолчанию

    Цитата Сообщение от Эдуард_Н Посмотреть сообщение
    Если чесно я тоже вас не очень понял, можете выложить коротенький пример использования вашей программы.
    Ваш вопрос был: как сделать запись по изменению значения.
    Моя программа - проверяет изменилась маска или нет. Если изменилась, то подается команда на запись (RISING EDGE в терминологии CDS 3.5). Ключевые строки комментированы, если какая-то непонятна - спрашивайте.
    В моей программе слово "триггер" стоит понимать как "Команда на запись" т.е. это переменная типа BOOL (а не ФБ R_TRIG или F_TRIG), по которой будет происходить запись.

    Использовать кучу триггеров для анализа одной переменной крайне затратное дело.
    Последний раз редактировалось Осинский Алексей; 24.11.2014 в 17:48.

Страница 3 из 9 ПерваяПервая 12345 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 163
    Последнее сообщение: 19.04.2016, 17:18
  2. Ответов: 3
    Последнее сообщение: 07.12.2011, 19:06
  3. Эмуляторы входных сигналов для Мх110
    от Arthur.Aleksandrov в разделе Разработки
    Ответов: 3
    Последнее сообщение: 25.01.2011, 10:54
  4. Будут ли шаблоны для МК110
    от Arthur.Aleksandrov в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 22.01.2011, 00:33
  5. Эмуляция работы модулей ввода вывода в CoDeSys
    от Паша_Системотехника в разделе ПЛК63/73
    Ответов: 8
    Последнее сообщение: 25.11.2009, 16:58

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

Ваши права

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