Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 29

Тема: Использование PFW регистров в скриптах для СП310

  1. #11
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,171

    По умолчанию

    У Read там всегда 0. У Reads в поле указывается кол-во считывемых регистров.

    В итоге у функций Read/Reads одинаковый программный интерфейс - по ряду причин удобнее было сделать так.

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

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    У Read там всегда 0.
    Это справедливо отчасти. Только если тип данных будет регистр(TYPE_WORD)
    Описание команды в справке
    BOOL Read (PortName, SlaveID, DeviceTypeReg, Adr, 0, DataType, &Var);
    не полное.
    Команда также может читать состояние отдельных бит регистра. Тип данных - бит (TYPE_BIT)
    BOOL Read (PortName, SlaveID, DeviceTypeReg, Adr1, Adr2, DataType, &Var);
    где
    Adr1 - первая часть адреса (номер регистра)
    Adr2 - вторая часть адреса (номер бита в регистре)

    Например
    BOOL bValue;
    Read(HMI_LOCAL_MCH, 0, TYPE_PFW, 256, 12, TYPE_BIT, &bValue);
    Здесь в переменную bValue читается состояние двенадцатого бита регистра PFW256.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #13

    По умолчанию

    WORD wValue=120;

    Write(HMI_LOCAL_MCH, 0, TYPE_PFW, 300, 0, TYPE_WORD, wValue);

    Для Write аналогично?
    Последний раз редактировалось GSK; 12.04.2017 в 13:18.

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

    По умолчанию

    Цитата Сообщение от GSK Посмотреть сообщение
    WORD wValue=120;

    Write(HMI_LOCAL_MCH, 0, TYPE_PFW, 300, 0, TYPE_WORD, wValue);

    Для Write аналогично?
    Аналогично.
    Константу 120 можно сразу указать
    Write(HMI_LOCAL_MCH, 0, TYPE_PFW, 300, 0, TYPE_WORD, 120);
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  5. #15

    По умолчанию

    Так можно?
    BOOL bValue;
    Write(HMI_LOCAL_MCH, 0, TYPE_PFW, 256, 12, TYPE_BIT, &bValue);

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

    По умолчанию

    Цитата Сообщение от GSK Посмотреть сообщение
    Так можно?
    BOOL bValue;
    Write(HMI_LOCAL_MCH, 0, TYPE_PFW, 256, 12, TYPE_BIT, &bValue);
    Использовать (&) для ненужно
    Write(HMI_LOCAL_MCH, 0, TYPE_PFW, 256, 12, TYPE_BIT, bValue);
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  7. #17

    По умолчанию

    И еще вопросик)

    WORD Adr = 0;
    WORD wValue = 0;
    DWORD dValue = 0;


    /* Так работает */
    wValue = 12;
    Adr = 700;
    Write(HMI_LOCAL_MCH, 0, TYPE_PFW, Adr, 0, TYPE_WORD, wValue);

    /* Так не работает работает */
    dValue = 123.4;
    Adr = 701;
    Write(HMI_LOCAL_MCH, 0, TYPE_PFW, Adr, 0, TYPE_DWORD, dValue);

    Почему во втором случае не работает. Отображается 0.0

  8. #18

  9. #19

    По умолчанию

    WORD Adr = 0;
    WORD wValue = 0;
    DWORD dValue = 0;
    float fValue = 0.0;

    fValue = 123.4;
    Adr = 701;
    Writes(HMI_LOCAL_MCH, 0, TYPE_PFW, Adr, 2, fValue);

    Так? А то что то совсем запутался

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

    По умолчанию

    А разве так не работает?
    float Value = 123.4;
    int Adr =701;
    Write(HMI_LOCAL_MCH, 0, TYPE_PFW, Adr, 0, TYPE_DWORD, Value);

    ЗЫ.
    Тогда уже не
    Writes(HMI_LOCAL_MCH, 0, TYPE_PFW, Adr, 2, fValue);
    а так
    Write(HMI_LOCAL_MCH, 0, TYPE_PFW, Adr, 4, fValue);
    Последний раз редактировалось petera; 13.04.2017 в 13:19.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. Плк 110 + 2 сп310
    от Kostennikov в разделе Помощь Разработчикам
    Ответов: 4
    Последнее сообщение: 12.07.2016, 12:59
  2. Прозрачность. СП310
    от _Алексей_ в разделе Панели оператора (HMI)
    Ответов: 2
    Последнее сообщение: 14.06.2016, 12:11
  3. СП310+ПЛК110-60[M02]
    от AlekseyK в разделе Эксплуатация
    Ответов: 0
    Последнее сообщение: 27.04.2016, 01:34
  4. использование регистров 3х и 4х
    от feniks13 в разделе Панели оператора (HMI)
    Ответов: 3
    Последнее сообщение: 17.09.2014, 23:35
  5. Ответов: 5
    Последнее сообщение: 15.12.2011, 15:56

Ваши права

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