Показано с 1 по 10 из 3248

Тема: Панели оператора СП3xx. Вопросы и ответы

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,846

    По умолчанию

    Вариант
    Захват-1.png

    Для такого распределения регистров, макрос может быть таким
    Захват-2.png

    Код:
    #define SleepMin PSW[258]
    #define MaxTemp *(float*)(PSW + 260)
    #define StartTemp *(float*)(PSW + 256)
    float CurTemp;
    unsigned int CurMinute;
     
    Read(PLC, 16, MODBUS_RTU_REG_3X, 0x03, 0, TYPE_DWORD, &CurTemp);
    StartTemp = CurTemp;
    Write(PLC, 16, MODBUS_RTU_REG_4X, 0X11, 0, TYPE_WORD, (int)(StartTemp + 1));
    do {
        CurMinute = (PSW[34] / 16) * 10 + PSW[34] % 16; 
        
        if (CurMinute % 5 == 0) {
            Read(PLC, 16, MODBUS_RTU_REG_3X, 0x03, 0, TYPE_DWORD, &CurTemp);
            Write(PLC, 16, MODBUS_RTU_REG_4X, 0X11, 0, TYPE_WORD, (int)(CurTemp + 1));
        }
          
    Delay(10);
    
    } while ( CurTemp < MaxTemp );
    
    Delay(SleepMin * 60000U);
    Read(PLC, 16, MODBUS_RTU_REG_3X, 0x03, 0, TYPE_DWORD, &CurTemp);
    Write(PLC, 16, MODBUS_RTU_REG_4X, 0x11, 0, TYPE_WORD, (int)CurTemp);
    
    ResetPSB(256);
    ЗЫ,
    Внимание, нашел и исправил "очепятку"
    Было
    do {
    CurMinute = (PSW[34] / 16) * 10 + PSW[34] % 16;

    if (CurMinute % 5 == 0) {
    Read(PLC, 16, MODBUS_RTU_REG_3X, 0, 0х03, TYPE_DWORD, &CurTemp);
    Write(PLC, 16, MODBUS_RTU_REG_4X, 0X11, 0, TYPE_WORD, (int)(CurTemp + 1));
    }
    Должно быть
    do {
    CurMinute = (PSW[34] / 16) * 10 + PSW[34] % 16;

    if (CurMinute % 5 == 0) {
    Read(PLC, 16, MODBUS_RTU_REG_3X, 0x03, 0, TYPE_DWORD, &CurTemp);
    Write(PLC, 16, MODBUS_RTU_REG_4X, 0X11, 0, TYPE_WORD, (int)(CurTemp + 1));
    }
    Последний раз редактировалось petera; 18.09.2017 в 22:10.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  2. #2

    По умолчанию

    Добрый день.

    Есть связка 310+ПР220-24. Связь по modbus rtu. Панель 310 - мастер.
    В связке всё работает нормально.
    Ниже кусок экрана панели.
    ПРОЕКТ.JPG
    На панели есть выключатель 4х512.
    Когда я его включаю в ПР-ку уходит время для таймера.
    ПР-ка возвращает 1 в 4х513 пока таймер работает.
    Как только время закончилось в 4х513 прилетает 0.
    Я уже всю голову себе сломал как сделать так, чтобы как только в 4х513 прилетает 0, то выключатель 4х512 так же выключался и открывалось окно с ID=2? Собственно вторая часть с окном, это не столь важна.

  3. #3
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,846

    По умолчанию

    Цитата Сообщение от Koren Посмотреть сообщение
    Добрый день.

    Есть связка 310+ПР220-24. Связь по modbus rtu. Панель 310 - мастер.
    В связке всё работает нормально.
    Ниже кусок экрана панели.
    ПРОЕКТ.JPG
    На панели есть выключатель 4х512.
    Когда я его включаю в ПР-ку уходит время для таймера.
    ПР-ка возвращает 1 в 4х513 пока таймер работает.
    Как только время закончилось в 4х513 прилетает 0.
    Я уже всю голову себе сломал как сделать так, чтобы как только в 4х513 прилетает 0, то выключатель 4х512 так же выключался и открывалось окно с ID=2? Собственно вторая часть с окном, это не столь важна.
    Значит надо как только в 4х513 прилетает 0, т.е. по спаду бита 0 в 4х513 запускать ф.область с функциями 1. Выкл бит 0 в 4х512; 2 Вызвать окно с ID=2.
    Только вот ф.область может запускаться только по фронту бита, а по спаду пока нет.

    Однако можно воспользоваться ГМ "НЕ" из моей библиотеки http://www.owen.ru/forum/showthread....l=1#post232246
    На вход(Операнд) подавать бит 0 в 4х513, а на выходе(Результат) использовать промежуточный PSB. И уже от этого PSB запускать ф.область с функциями Выкл бит 0 в 4х512; 2 Вызвать окно с ID=2.

    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  4. #4

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Однако можно воспользоваться ГМ "НЕ" из моей библиотеки http://www.owen.ru/forum/showthread....l=1#post232246
    На вход(Операнд) подавать бит 0 в 4х513, а на выходе(Результат) использовать промежуточный PSB. И уже от этого PSB запускать ф.область с функциями Выкл бит 0 в 4х512; 2 Вызвать окно с ID=2.
    Спасибо огромное. Всё получилось. И даже лучше чем хотел.... Но возникла другая проблема - при включении панели каждый раз появляется окно ID=2 т.к. при включении в регистре 4х513 0, а после функции НЕ соответственно 1. И появляется окно 2. Что можно сделать?

    И ещё вопрос по "дисплею для таймера" из ГМ можно ли его делать невидимым? Я хочу наложить два дисплея друг на друга и в зависимости от условий отображать один из двух.

  5. #5

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Нужно заменить ГМ "НЕ" на F_TRIGGER.
    F_TRIGGER и R_TRIGGER добавил в библиотеку http://www.owen.ru/forum/showthread....l=1#post258412
    Petera, спасибо огромное за ответы. У меня отпуск на 5 дней. Я во вторник обязательно попробую и отпишусь по результатам.

  6. #6

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    "Дни-часы-минуты" это что? Показания часов реального времени панели? Или это тоже "дисплей для таймера". Ведь дисплея с таким форматом я не делал.
    Добрый вечер, уважаемый Petera.
    Возникла проблема, о которой я не сразу подумал - максимальное количество дней в уставке 30. Те 720 часов. А в "дисплее для таймера" максимум 99 часов. Возможно ли прикрутить ещё один знак для таймера или сделать "дисплей для таймера" вида ДД:ЧЧ:ММ?

    PS моя попытка найти как создавать такие "ГМ" не привела к успеху. Если есть ссылка, то киньте пожалуйста.

    PPS спасибо за ГМ "Время наработки". Отличная вещь. Пригодится чуть позже.
    Последний раз редактировалось Koren; 04.10.2017 в 06:30.

Похожие темы

  1. Экспорт CSV в панели СП3xx и порядок квитирования событий
    от theoretician в разделе Панели оператора (HMI)
    Ответов: 30
    Последнее сообщение: 24.08.2021, 16:17
  2. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  3. Сенсорные панели оператора ОВЕН СП3ХХ
    от Боднар Олег Миколайович в разделе Подбор Оборудования
    Ответов: 7
    Последнее сообщение: 17.12.2015, 09:09
  4. СПК 107 в качестве панели оператора
    от Леонид в разделе СПК1хх
    Ответов: 15
    Последнее сообщение: 20.11.2015, 08:17

Ваши права

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