Показано с 1 по 5 из 5

Тема: СП315Р и PFW

  1. #1

    По умолчанию СП315Р и PFW

    Добрый день. Подскажите каким образом считывать и записывать значения в PFW регистры при написании макроса? В руководстве указано, что через использование функций Read и Write, но примеров нет.

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

    По умолчанию

    Цитата Сообщение от KIB52 Посмотреть сообщение
    Добрый день. Подскажите каким образом считывать и записывать значения в PFW регистры при написании макроса? В руководстве указано, что через использование функций Read и Write, но примеров нет.
    Набирай по смволам
    Read(
    после ввода скобки откроется окно мастера выбора операндов функции. там все понятно интуитивно.

    ЗЫ
    Читаем значение регистра PFW256
    Скрытый текст:


    ЗЫ
    Копируем регистр PSW300 в регистр PFW500. Т.е. запись в регистр PFW500
    Скрытый текст:
    Последний раз редактировалось petera; 03.05.2023 в 18:06.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #3

    По умолчанию

    Класс. Спасибо большое.

  4. #4

    По умолчанию

    Цитата Сообщение от KIB52 Посмотреть сообщение
    Класс. Спасибо большое.
    Так вы дырку в памяти за 2-3 недели протрёте, нельзя часто в PFW записывать, да ещё в один и тот же регистр.
    Лучше это делать по биту, не чаще нескольких раз (2-4 раза) в день. Ссылку уже давал в другой теме.

  5. #5

    По умолчанию

    Здравствуйте.
    Пишу макрос для СП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] и панель сразу зависает ( не реагирует на нажатия)...что я делаю не так?

Похожие темы

  1. Обмен ПЛК210 и СП315Р
    от KIB52 в разделе ПЛК2хх
    Ответов: 7
    Последнее сообщение: 03.05.2023, 14:12
  2. Панель СП315Р и ПЛК 210-03
    от Gatling в разделе Панели оператора (HMI)
    Ответов: 3
    Последнее сообщение: 24.08.2022, 21:11
  3. Панель СП315Р и TCP
    от Пьер в разделе Панели оператора (HMI)
    Ответов: 12
    Последнее сообщение: 26.12.2021, 20:26
  4. панель СП315Р ПР200 и ПЛК110
    от niklud19511 в разделе Панели оператора (HMI)
    Ответов: 1
    Последнее сообщение: 25.04.2019, 19:53
  5. панель СП315Р
    от niklud19511 в разделе Панели оператора (HMI)
    Ответов: 6
    Последнее сообщение: 12.11.2018, 12:16

Ваши права

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