Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 4028

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

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от a86ndrew Посмотреть сообщение
    Здравствуйте!
    Работаю с панелью ОВЕН СП307, и есть у меня несколько вопросов, на которые мне интересно получить ответ:
    1. Когда я читал карту регистров Modbus для этой железки то нашел там такой параметр как "Пульсирующий бит 50/500/30/150 мс" в регистрах PSB, и я хотел бы узнать, а что это собственно за параметр, для чего он нужен и в каких случаях он может быть true или false?
    2. Интересует вот такой момент: когда мы только подключаем панель, стоит ли галочка "Авторазмещение" в настройках регистров PFW? И если ее выключить то что будет с данными - они переместятся на ячейки, которые в карте регистров Modbus расписаны или на том же месте останутся?
    Проще было вывести эти биты на индикаторы и посмотреть. Они просто мигают с заявленным периодом. PSB4 (500 ms) например, можно использовать как секундные импульсы.
    Авторазмещение ставится не само, а при добавлении например Тренда, соответственно записываться тренд будет начиная с PFW4096 и далее в зависимости от глубины (длительности записи).
    Всё что от PFW256 до PFW4095 можете спокойно использовать, ничего не сместится. Только не делайте запись часто. Не чаще нескольких раз в день.
    Для трендов, желательно делать записи глубиной от недели до нескольких месяцев, для продления ресурса памяти.
    Последний раз редактировалось kondor3000; 14.05.2023 в 11:25.

  2. #2
    Пользователь
    Регистрация
    29.04.2023
    Адрес
    Томск
    Сообщений
    5

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Проще было вывести эти биты на индикаторы и посмотреть. Они просто мигают с заявленным периодом. PSB4 (500 ms) например, можно использовать как секундные импульсы.
    Авторазмещение ставится не само, а при добавлении например Тренда, соответственно записываться тренд будет начиная с PFW4096 и далее в зависимости от глубины (длительности записи).
    Всё что от PFW256 до PFW4095 можете спокойно использовать, ничего не сместится. Только не делайте запись часто. Не чаще нескольких раз в день.
    Для трендов, желательно делать записи глубиной от недели до нескольких месяцев, для продления ресурса памяти.
    Хорошо, я вас услышал, единственное что я бы вот хотел уточнить:
    Вот у меня есть программа на C#, там я работаю со всеми регистрами, PSB, PSW, c PSB я взаимодействую через ReadCoils, а с PSW и PFW - с ReadHoldingRegisters, и, если я правильно понимаю то регистры PSW и PFW имеют одну общую область, и у меня сейчас такая проблема, что с PSB и PSW все в порядке, а вот с PFW - все грустнее, данные выводятся, но это не то вообще, и вот отсюда вопрос: можно ли каким-то образом посмотреть и понять, что в какой ячейке лежит? Можно ли это сделать через конфигуратор?

  3. #3

    По умолчанию

    Цитата Сообщение от a86ndrew Посмотреть сообщение
    Хорошо, я вас услышал, единственное что я бы вот хотел уточнить:
    Вот у меня есть программа на C#, там я работаю со всеми регистрами, PSB, PSW, c PSB я взаимодействую через ReadCoils, а с PSW и PFW - с ReadHoldingRegisters, и, если я правильно понимаю то регистры PSW и PFW имеют одну общую область, и у меня сейчас такая проблема, что с PSB и PSW все в порядке, а вот с PFW - все грустнее, данные выводятся, но это не то вообще, и вот отсюда вопрос: можно ли каким-то образом посмотреть и понять, что в какой ячейке лежит? Можно ли это сделать через конфигуратор?
    Область одна, а адреса регистров PFW +10 000, то есть адрес PFW256 будет 10256
    Последний раз редактировалось kondor3000; 14.05.2023 в 13:07.

  4. #4

    По умолчанию

    Здравствуйте.
    Пишу макрос для СП310
    static WORD ArrValueDW[2];
    static float RegFloat;
    WORD Temp1;

    if (GetPSBStatus(318)==1) {//1
    if (Reads(HMI_LOCAL_MCH, 0, TYPE_PFW, 300, 2, &ArrValueDW)) {//2
    RegFloat=*(float*)(ArrValueDW);//float
    *(float*)(PSW+318)=RegFloat;//PSW[318] DWord float
    RegFloat=RegFloat*10.0;
    Temp1=(WORD)RegFloat;
    PSW[320]=Temp1;//PSW[320] Word Dec
    if (Write(PLC, 82, MODBUS_RTU_REG_4X, 186, 0, TYPE_WORD, Temp1)) {//Wr adr 0x0080+58=186
    ResetPSB(318);
    } //Wr
    }//2
    }//1
    При вводе данных в PFW[300] устанавливается бит PSB[318] и панель сразу зависает ( не реагирует на нажатия)...что я делаю не так?

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

    По умолчанию

    Цитата Сообщение от GIGSatellite Посмотреть сообщение
    Здравствуйте.
    Пишу макрос для СП310
    static WORD ArrValueDW[2];
    static float RegFloat;
    WORD Temp1;

    if (GetPSBStatus(318)==1) {//1
    if (Reads(HMI_LOCAL_MCH, 0, TYPE_PFW, 300, 2, &ArrValueDW)) {//2
    RegFloat=*(float*)(ArrValueDW);//float
    *(float*)(PSW+318)=RegFloat;//PSW[318] DWord float
    RegFloat=RegFloat*10.0;
    Temp1=(WORD)RegFloat;
    PSW[320]=Temp1;//PSW[320] Word Dec
    if (Write(PLC, 82, MODBUS_RTU_REG_4X, 186, 0, TYPE_WORD, Temp1)) {//Wr adr 0x0080+58=186
    ResetPSB(318);
    } //Wr
    }//2
    }//1
    При вводе данных в PFW[300] устанавливается бит PSB[318] и панель сразу зависает ( не реагирует на нажатия)...что я делаю не так?
    Если РЕАЛЬНЫЙ ПЛК к панели не подключен,то
    виснет когда пытается записать в ПЛК здесь
    if (Write(PLC, 82, MODBUS_RTU_REG_4X, 186, 0, TYPE_WORD, Temp1)) {//Wr adr 0x0080+58=186

    Закомментируй этот Write и посмотри результат
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Мой канал на РУТУБЕ
    https://rutube.ru/channel/23641433/
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  6. #6

    По умолчанию

    if (GetPSBStatus(318)) {//1
    ResetPSB(318);
    SetPSB(400);
    Read(HMI_LOCAL_MCH, 0, TYPE_PFW, 300, 0, TYPE_DWORD, &ArrValueDW);

    /* RegFloat= *(float*)(ArrValueDW);//float
    //RegFloat=12.3;
    *(float*)(PSW+318)=RegFloat;
    RegFloat=RegFloat*10.0;
    Temp1=(WORD)RegFloat;
    PSW[320]=Temp1;*/
    // if (Write(PLC, 82, MODBUS_RTU_REG_4X, 186, 0, TYPE_WORD, Temp1)) {//Wr adr 0x0080+58=186
    // ResetPSB(318);
    // } //Wr
    }//1
    при вводе значения в PFW[300] виснет

  7. #7

    По умолчанию

    Цитата Сообщение от GIGSatellite Посмотреть сообщение
    if (GetPSBStatus(318)) {//1
    ResetPSB(318);
    SetPSB(400);
    Read(HMI_LOCAL_MCH, 0, TYPE_PFW, 300, 0, TYPE_DWORD, &ArrValueDW);

    /* RegFloat= *(float*)(ArrValueDW);//float
    //RegFloat=12.3;
    *(float*)(PSW+318)=RegFloat;
    RegFloat=RegFloat*10.0;
    Temp1=(WORD)RegFloat;
    PSW[320]=Temp1;*/
    // if (Write(PLC, 82, MODBUS_RTU_REG_4X, 186, 0, TYPE_WORD, Temp1)) {//Wr adr 0x0080+58=186
    // ResetPSB(318);
    // } //Wr
    }//1
    при вводе значения в PFW[300] виснет
    может надо еще добавить в макрос условие читать reads только в том случае, когда в данный текущий момент времени не идет запись в PFW.......

  8. #8

    По умолчанию

    не понял про 318....PSB318 это бит уведомления о изменении параметра(может быть любого номера)
    а PSW[318] Dword =4 байта(т.е. регистры 318 и 319)
    Последний раз редактировалось GIGSatellite; 17.05.2023 в 11:22.

  9. #9

    По умолчанию

    это как то совсем не научно ((( а других ошибок в коде нет?

  10. #10

    По умолчанию

    у Вас есть пример работы с PFW?

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  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 в качестве панели оператора
    от Леонид в разделе СПК1xx (архив)
    Ответов: 15
    Последнее сообщение: 20.11.2015, 08:17

Ваши права

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