Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 25

Тема: ПЛК-63 не устанавливаются состояния выходов c регистров по modbus

  1. #1

    По умолчанию ПЛК-63 не устанавливаются состояния выходов c регистров по modbus

    Конфигурация | ВУ | Сост.ВУ{N}2
    {0, 1}{10, 11}
    {4184, 4185}{4194, 4195}
    r.oe
    Float
    0.000
    1.000
    --
    Оперативный параметр, доступный на запись, задаётся в долях единицы с точностью 0,001. Определяет уровень выходного сигнала
    С помощью free утилиты http://www.terring.ru/files/apps/Ter...-Installer.exe

    С помощью modbus ф-ии 06 эти float пишутся за 2 транзакции (2 записи 16-битных слова).
    Ф-я modbus 0x10 записи группы регистров по регистрам группового чтения параметров дает ошибку
    Код:
    Request
    00:07  [10][10][10][58][00][02][04][00][00][3F][80][7A][99]
    Response
    00:07  [10][90][01][DD][C5]
    Чтение регистров состояния выходов по адресам группового чтения параметров ({4184, 4185}{4194, 4195}) любыми modbus функциями дают константные значения, не имеющие отношения к состоянию выходов.

    Состояния выходов, полученные с адресов {0, 1}{10, 11} - ok


    Можно ли выложить log обмена с ПЛК-63:
    запись в регистр управления выходом (float) за 1 транзакцию.
    проверочное чтение этого регистра с области двух- байтных переменных(адреса{0, 1}{10, 11}).

  2. #2

    По умолчанию

    1. Адрес неправильный. 4184 расшифровывается как (4 - код команды (доступ регистровый))184(адрес). Это стандарт описания ModBus переменных.
    2.Формат float неправильный.
    3. Контроллер отвечает "НЕТ ТАКОГО РЕГИСТРА"

  3. #3

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    1. Адрес неправильный. 4184 расшифровывается как (4 - код команды (доступ регистровый))184(адрес). Это стандарт описания ModBus переменных.
    2.Формат float неправильный.
    3. Контроллер отвечает "НЕТ ТАКОГО РЕГИСТРА"
    Т.е. надо писать ф-ей 4 (Read Input Registers) в регистр 184 ?

    Или писать ф-ей 0x10 в регистр 184? - Тогда в документации должен быть указан еще и адрес 16-184 при записи?

  4. #4

    По умолчанию

    так исторически (и не у нас) сложилось. адрес всегда 184.

  5. #5

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    так исторически (и не у нас) сложилось. адрес всегда 184.
    Да никто не против.

    Все работает ok. Нормальный контроллер.

    Только в документации " конфигурирование ..." в табличке написать бы в отдельных графах modbus ф-ю для чтения, записи и номер регистра.

    Или указать, что адрес другой(какой ?) при записи.


  6. #6

    По умолчанию

    Цитата Сообщение от Gosha Посмотреть сообщение
    Или указать, что адрес другой(какой ?) при записи.
    Так первая цифра и задает эту ф-ю для чтения.

  7. #7

    По умолчанию

    10015 - битовый доступ по адресу 0015
    40020 - регистровый доступ по адресу 0020

  8. #8

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    1. Адрес неправильный. 4184 расшифровывается как (4 - код команды (доступ регистровый))184(адрес). Это стандарт описания ModBus переменных.
    2.Формат float неправильный.
    3. Контроллер отвечает "НЕТ ТАКОГО РЕГИСТРА"
    Попробовал читать как Вы рекомендовали. Нудача.
    Регистр 4098(dec) читается. Рег. (ф-я modbus 4) (98 dec) не читается.

    Код:
    Request [10][04][00][B8][00][02][F2][AF]
    Response [10][84][02][92][C4]
    /*===========================================*/
    Аналоговые Вх.{4098, 4099} {4102, 4103}{4106, 4107}{4110, 4111}{4114, 4115}{4118, 4119}{4122, 4123}
    4098(dec)= 1002(hex)
    Request [10][04][10][02][00][02][D7][8A]
    Response[10][04][04][E1][29][42][90][2D][BD]
    /*===========================================*/
    0098(dec)= 62(hex)
    Request [10][04][00][62][00][02][D3][54]
    Response [10][84][02][92][C4]
    /*===========================================*/

  9. #9

    По умолчанию

    Кто в лес, кто по дрова.
    1. Где Вы вообще такие цифры взяли? Все 4-х байтные параметры в конфигурации имеют адрес <82 дес.
    2. Вам несказанно повезло! 1002(hex)
    - находится в области для непрерывного чтения параметров. Поэтому и читается, но читает не то, что Вы ожидаете, т.к. реально это адрес 2!

  10. #10

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Кто в лес, кто по дрова.
    1. Где Вы вообще такие цифры взяли? Все 4-х байтные параметры в конфигурации имеют адрес <82 дес.
    2. Вам несказанно повезло! 1002(hex)
    - находится в области для непрерывного чтения параметров. Поэтому и читается, но читает не то, что Вы ожидаете, т.к. реально это адрес 2!

    Так я и хочу читать область непрерывного чтения параметров.
    http://upload.caxapa.ru/plc63_config.pdf
    Стр 27.

    Из какого адреса читать?

    Пропадаю.

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

Ваши права

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