modbus device adress

Forum Home Forums Communicating with Devices Modbus modbus device adress

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #257
    bsamen
    Participant

    Добрый день.

    я использую собственное modbus устройство.
    обнаружил проблемму и незнаю как решить.
    в коммуникаторе создана линия для опроса моего устройства,
    настройка моей линии связи из файла ScadaCommSvcConfig.xml:

    <!–Линия 16–>
    <CommLine active=”true” bind=”true” number=”16″ name=”Установка”><Connection><ConnType value=”ComPort” descr=”Тип подключения: ComPort или None”/><ComPortSettings portName=”COM3″ baudRate=”38400″ dataBits=”8″ parity=”None” stopBits=”One” dtrEnable=”false” rtsEnable=”false”/></Connection><LineParams><Param name=”ReqTriesCnt” value=”3″ descr=”Количество попыток перезапроса КП при ошибке”/><Param name=”CycleDelay” value=”100″ descr=”Задержка после цикла опроса, мс”/><Param name=”MaxCommErrCnt” value=”1″ descr=”Количество неудачных сеансов связи до объявления КП неработающим”/><Param name=”CmdEnabled” value=”false” descr=”Команды ТУ разрешены”/></LineParams><UserParams><Param name=”TransMode” value=”RTU”/></UserParams><ReqSequence><KP active=”true” bind=”true” number=”64″ name=”Счётчик Капель” dll=”KpModbus” address=”3″ callNum=”” timeout=”1000″ delay=”200″ time=”00:00:00″ period=”00:00:00″ cmdLine=”kpmodbusflam.xml”/></ReqSequence></CommLine>

    создан шаблон для чтения данных из моего устройства kpmodbusflam.xml:

    <DevTemplate><ElemGroups><ElemGroup name=”cnt” tableType=”HoldingRegisters” address=”0″><Elem name=”cntKap” type=”ushort”/></ElemGroup><ElemGroup name=”zadano” tableType=”HoldingRegisters” address=”1″><Elem name=”zadKap” type=”ushort”/></ElemGroup></ElemGroups><Cmds/></DevTemplate>

    однако по какой-то причине адрес моего устройства может быть равен только 2, при любом значении какое я бы не указал в поле “address= “(на вкладке опрос КП), это видно в отправляемых запросах которые я смотрю в “Статистика линии связи” на вкладке “Журнал линии связи”. Вот часть лога:

    2015-07-21 13:09:20 Сеанс связи с КП 64 “Счётчик Капель”, тип: KpModbus, адрес: 2
    Запрос значений группы элементов “cnt”
    Отправка (8): 02 03 00 00 00 01 84 39
    Приём (5/5): 02 03 02 00 00
    Приём (2/2): FC 44
    OK!
    Запрос значений группы элементов “zadano”
    Отправка (8): 02 03 00 01 00 01 D5 F9
    Приём (5/5): 02 03 02 00 00
    Приём (2/2): FC 44
    OK!

    т.е. я при указанном адресе Modbus устройства = 3 имею запрос на устройство с адрессом = 2.
    более того, кокой бы я неввёл адрес утройства запрос будет на устройство с адресом 2.
    (для проверки работы связи на моём устройстве установлен адрес устройства = 2)

    Каким образом можно решить данную проблему и управлять адресом устройства Modbus которому передаётся запрос?

    С уважением Сергей.

    • This topic was modified 8 years, 9 months ago by bsamen.
    #259
    Mikhail
    Moderator

    Hello Sergey,
    The address 2 is got from the configuration database.
    You can change it using SCADA-Administrator. Do not forget to pass changes to SCADA-Server and restart SCADA-Communicator.
    For test purposes you could switch off the option ‘Use SCADA-Server’ in SCADA-Communicator. In this case the address specified in SCADA-Communicator is used.

    #260
    bsamen
    Participant

    Добрый день.

    Спасибо за помощь.

    Да действительно, при включенной привязке значение modbus адреса устройства берётся из SCADA-Administrator из таблицы “КП”, а при отключеной привязке из поля “адрес” SCADA-Communicator для текущей линии на вкладке “Опрос КП”.
    Таким образом получается чтобы на одной линии были несколько modbus устройства требуется создать КП в SCADA-Administrator на каждое устройство с указанием адреса.
    В SCADA-Communicator на вкладке “Опрос КП” добавить все КП modbus устройств со своими шаблона опроса.

    С уважением Сергей.

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.