Forum Home › Forums › Communicating with Devices › Modbus › modbus device adress
- This topic has 2 replies, 2 voices, and was last updated 8 years, 9 months ago by bsamen.
-
AuthorPosts
-
July 21, 2015 at 9:34 am #257bsamenParticipant
Добрый день.
я использую собственное 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.
July 21, 2015 at 7:37 pm #259MikhailModeratorHello 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.July 22, 2015 at 9:30 am #260bsamenParticipantДобрый день.
Спасибо за помощь.
Да действительно, при включенной привязке значение modbus адреса устройства берётся из SCADA-Administrator из таблицы “КП”, а при отключеной привязке из поля “адрес” SCADA-Communicator для текущей линии на вкладке “Опрос КП”.
Таким образом получается чтобы на одной линии были несколько modbus устройства требуется создать КП в SCADA-Administrator на каждое устройство с указанием адреса.
В SCADA-Communicator на вкладке “Опрос КП” добавить все КП modbus устройств со своими шаблона опроса.С уважением Сергей.
-
AuthorPosts
- You must be logged in to reply to this topic.