Страница 67 из 320 ПерваяПервая ... 1757656667686977117167 ... ПоследняяПоследняя
Показано с 661 по 670 из 3198

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

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

    По умолчанию

    Цитата Сообщение от paul-th Посмотреть сообщение
    Описание процесса.
    При нажатии кнопки старт, вызывается макрос для первого канала регулировки температуры. Для этого записывается стартовая температура, ниже на один градус текущей или равна текущей. В ТРМ138 нет ПИДа, нельзя построить набор температуры по времени. Меня поставили перед фактом существования уже закупленного комплекта и его запуска в работу. Далее, идет набор температуры по времени до заданной, потом выдержка заданное время набранной температуры и всё, конец макроса и сброс уставки на стартовую.
    В панели программа управления, а ТРМ контроль температуры и исполнительные клапана.
    Я решил что такое можно сделать для данной связки, и вот мучаюсь осваивая для себя новую область.
    Каналов будет восемь.
    Уточните
    Для этого записывается стартовая температура, ниже на один градус текущей или равна текущей
    Все таки равная или меньше на 1?
    и в конце
    конец макроса и сброс уставки на стартовую
    на какую стартовую, ту что была в начале или в конце нужно уставке присвоить значение текущей температуры

    ЗЫ.
    А может все таки в начале нужно уставку записывать на 1 больше текущего значения иначе если она будет меньше текущего значения, то и нагрев не пойдет?
    Последний раз редактировалось petera; 18.09.2017 в 20:47.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

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

    По умолчанию

    Вариант
    Захват-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

  3. #663

    По умолчанию

    Ну как бы понятно что стартовая температура - это температура, с которой начинается процесс нагрева. И соответственно она должна быть равна или ниже текущей температуры чтобы регулятор не включал ВУ пока она не будет задана выше. Как её вводить и что вводить, текущая температура может гулять от времени года, утро или день. камера не остыла от предыдущего процесса и она может быть разная. Вот я и думал вводить её с цифрового ввода в зависимости от состояния текущей температуры. И в конце процесса нагрева она снова должна переписываться в прибор чтобы регулятор встал и ВУ не включалось, а иначе как остановить регулятор. Как то так.
    И думаю может все переменные привести к одному виду WORD int и читать 0х001. вроде как есть такая возможность, большой точности там не надо, сотые и десятые градуса не надо ловить.
    И что цифровая панель чтения из прибора

    Вот зачем это??

    Убрать категорически!!!

    не будет работать на запись в регистры?
    Последний раз редактировалось paul-th; 19.09.2017 в 17:19.

  4. #664

    По умолчанию

    Добрый день.

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

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

    По умолчанию

    Цитата Сообщение от 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

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

    По умолчанию

    И что цифровая панель чтения из прибора

    Вот зачем это??

    Убрать категорически!!!

    не будет работать на запись в регистры?
    Эта галка
    Захват-1.png
    Совсем не запись в регистр PSW256, т.е не 3x0003 ---> PSW256.

    А сия галка включает динамическую переадресацию.
    Т.е. если галка включена, то на самом деле адрес регистра в ТРМ будет вычисляться по формуле
    Адрес=БазовыйАдрес + Коеффициент х СодержимоеИндексногоРегистра.
    В данном случае
    3 + N x (Содержимое регистра PSW256)
    где коэффициент N задается на этой вкладке
    Захват-3.png

    Таким образом панель будет читать из ТРМ именно 3x0003 регистр если только PSW256 = 0.
    А если задать N=5, то меняя в процессе работы панели содержимое регистра PSW256 от 0 до 7 можно на этот один дисплей выводит температуру любого из восьми каналов.

    По этому я и спрашивал неоднократно
    Захват-4.png

    Но от Вас никакого ответа не получил.

    В моем макросе CurTemp читается непосредственно из ТРМ
    Последний раз редактировалось petera; 19.09.2017 в 17:58.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  7. #667

    По умолчанию

    Да, спасибо, разобрался, т.е. для цифровой индикации текущей температуры не надо использовать ту форму что я использую.
    А в макросе прописать строку чтения из прибора и записи в регистр. Как туго то доходит...

  8. #668

    По умолчанию

    Вот пробный проект, хочу завтра съездить посмотреть что получилось, там все равно монтаж надо ещё доделывать.
    Вложения Вложения

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

    По умолчанию

    Цитата Сообщение от paul-th Посмотреть сообщение
    Вот пробный проект, хочу завтра съездить посмотреть что получилось, там все равно монтаж надо ещё доделывать.
    Ну вот опять двадцать пять

    Уж и не знаю, что с Вами делать. Зачем я текст макроса выкладывал?

    Поймите, что нельзя так сделать
    WORD CurTemp=PSW[256];
    .......

    Read(PLC, 16, MODBUS_RTU_REG_3X, 0x01, 0, TYPE_WORD, &CurTemp);

    ..............................................

    Потому, что в ТРМ значения текущей температуры в формате float, а не WORD
    С таким подходом Вы ничего похожего на текущую температуру не прочитаете.


    ЗЫ.
    Например, если в ТРМ температура 123.456 градусов, то в CurTemp получите
    либо 17142 либо 59769, в зависимости от некоторых нюансов
    Последний раз редактировалось petera; 20.09.2017 в 15:25.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  10. #670

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Ну вот опять двадцать пять

    Уж и не знаю, что с Вами делать. Зачем я текст макроса выкладывал?

    Поймите, что нельзя так сделать
    WORD CurTemp=PSW[256];
    .......

    Read(PLC, 16, MODBUS_RTU_REG_3X, 0x01, 0, TYPE_WORD, &CurTemp);

    ..............................................

    Потому, что в ТРМ значения текущей температуры в формате float, а не WORD
    С таким подходом Вы ничего похожего на текущую температуру не прочитаете.
    По адресу 0x01 таки в WORD (точнее, в INT, не суть):
    20-09-2017 15-20-11.png

    Мне логика paul-th понятна - ему же достаточно прибавать целое число (а не, например, 1.5).
    Только прибавить, вероятно, надо 10, а не 1 (В ТРМ вроде для 25.5 в регистре 1 будет 255 и т.д.).
    Последний раз редактировалось Rake Runner; 20.09.2017 в 15:38.

Страница 67 из 320 ПерваяПервая ... 1757656667686977117167 ... ПоследняяПоследняя

Похожие темы

  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

Ваши права

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