# Подключение панели оператора

**URL:** <https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714>\
**Category:** Без категории\
**Created:** [July 4, 2023, 6:06pm UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714 "2023-07-04T18:06:18Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![automatintegro](https://avatars.discourse-cdn.com/v2/letter/a/a3d4f5/32.png) [@automatintegro](https://support.wirenboard.com/u/automatintegro)\
**Post date:** [July 4, 2023, 6:06pm UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/1 "2023-07-04T18:06:18Z")

</div>

Есть следующая задача.  
Нужно подключить панель оператора по modbus tcp.  
При этом панель оператора master а wiren board slave  
Нужно записывать и читать данные с holding register.  
после чего mqtt топики привязанные к адресам holding register будут обрабатываться пайтон скриптом.  
Проблема в том что я не понимаю как добавить  
Шлюз MQTT - Modbus RTU/TCP slave в Регистры Holding (чтение/запись)  
свой топик.

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [July 5, 2023, 8:16am UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/3 "2023-07-05T08:16:35Z")

</div>

Добрый день.  
Не уверен что верно понял задачу, но попробую показать.  
Нажимаю “+”:  
 ![Screenshot_20230705_111147](https://support.wirenboard.com/uploads/default/original/2X/8/8704b002831914595d72d9f516803bc1d3db55c7.png)  
Вписываю мой, созданный в соответствии с [конвенцией](https://github.com/wirenboard/conventions/blob/main/README.md) топик:

 ![Screenshot_20230705_111454](https://support.wirenboard.com/uploads/default/original/2X/4/45c155ce471f7efccd9762fdc5f57682efbdcaa8.png)  
Указав ID(Modbus address) 1 и адрес регистра 100.  
Все. Теперь регистр можно читать и записывать.

---

<div class="post-metadata">

**Author:** ![automatintegro](https://avatars.discourse-cdn.com/v2/letter/a/a3d4f5/32.png) [@automatintegro](https://support.wirenboard.com/u/automatintegro)\
**Post date:** [July 6, 2023, 8:55am UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/4 "2023-07-06T08:55:55Z")

</div>

Я это делал только вся проблема в том что если я пытаюсь читать данный адрес командой 3 получаю ошибку . Если читаю командой 4 то все в порядке. но в таком случае я не могу записать в этот адрес ничего

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [July 6, 2023, 9:46am UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/5 "2023-07-06T09:46:39Z")

</div>

> [@automatintegro](#):
>
> Если читаю командой 4 то все в порядке. но в таком случае я не могу записать в этот адрес ничего

Какого **типа** регистр?

---

<div class="post-metadata">

**Author:** ![automatintegro](https://avatars.discourse-cdn.com/v2/letter/a/a3d4f5/32.png) [@automatintegro](https://support.wirenboard.com/u/automatintegro)\
**Post date:** [July 6, 2023, 10:57am UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/6 "2023-07-06T10:57:47Z")

</div>

![image](https://support.wirenboard.com/uploads/default/original/2X/9/92c20b28dab86407e72c53012733843b1f0408aa.png)

---

<div class="post-metadata">

**Author:** ![automatintegro](https://avatars.discourse-cdn.com/v2/letter/a/a3d4f5/32.png) [@automatintegro](https://support.wirenboard.com/u/automatintegro)\
**Post date:** [July 6, 2023, 10:59am UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/7 "2023-07-06T10:59:00Z")

</div>

вот такие настройки OPC сервера в Wiren Board тоже holding

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [July 6, 2023, 12:29pm UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/8 "2023-07-06T12:29:56Z")

</div>

> [@automatintegro](#):
>
> в Wiren Board тоже holding

holding читается только 03 командой.

Пожалуйста покажите конфиг wb-mqtt-mbgate.conf  
Также - запрос к этому регистру, в виде **байт**. Сделайте его с компьютера для диагностики.  
Например

```auto
Connecting to 10.0.0.71:502
[00][01][00][00][00][06][37][03][07][D0][00][01]
Waiting for a confirmation...
<00><01><00><00><00><05><37><03><02><00><00>
SUCCESS: read 1 of elements:
	Data: 0x0000 

```

Картинка как настроено в незнакомом ПО - недостаточно…

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [July 13, 2023, 12:34pm UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/10 "2023-07-13T12:34:15Z")

</div>

Я вижу:

```auto
   {
    "topic": "test/tesr1",
    "address": 160,
    "unitId": 1,
    "meta_type": "range",
    "enabled": true,
    "format": "signed",
    "size": 1,
    "max": 0,
    "scale": 0,
    "byteswap": false,
    "wordswap": false
   }

```

настроенный 160 holding регистр c id1

> [@BrainRoot](#):
>
> `[00][01][00][00][00][06][37][03][07][D0][00][01]`

а читаете 208 c id 7  
Логично, такого нет.

---

<div class="post-metadata">

**Author:** ![automatintegro](https://avatars.discourse-cdn.com/v2/letter/a/a3d4f5/32.png) [@automatintegro](https://support.wirenboard.com/u/automatintegro)\
**Post date:** [July 24, 2023, 12:28pm UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/11 "2023-07-24T12:28:16Z")

</div>

> [@BrainRoot](#):
>
> `test/tesr1`

Просто правильно указал количество байт и проблема ушла.

---

<div class="post-metadata">

**Author:** ![automatintegro](https://avatars.discourse-cdn.com/v2/letter/a/a3d4f5/32.png) [@automatintegro](https://support.wirenboard.com/u/automatintegro)\
**Post date:** [July 24, 2023, 12:30pm UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/12 "2023-07-24T12:30:01Z")

</div>

Теперь вопрос в том что в Каналах MQTT я не могу найти такой топик.test/tesr1

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [July 24, 2023, 3:59pm UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/13 "2023-07-24T15:59:52Z")

</div>

Так, я этот топик в MQTT создавал, используя вот такой скрипт:

```auto
function makeNewVirtualPool(vdName, nameControl, typeControls, orderControl){
  //log.info("GetDevice", getDevice("vdName"))
  if (getDevice(vdName) === undefined) {
    log.info("Define new")
    defineVirtualDevice(vdName, {
      title: vdName,
      cells: {

      },
    })
  }
 
    //Тут проверим есть ли уже контрол и если нет - создадим.
    if (!getDevice(vdName).isControlExists(nameControl)) {
      log.info("Контрола нет, создаем.")
      getDevice(vdName).addControl(nameControl, {
        type: typeControls,
         min: 10,
        max: 50,
        value: 1,
        readonly: false,
        order: orderControl
      });
    }

  
  
}

makeNewVirtualPool("pemp1", "tesr1", "range", 1);

```

---

<div class="post-metadata">

**Author:** ![automatintegro](https://avatars.discourse-cdn.com/v2/letter/a/a3d4f5/32.png) [@automatintegro](https://support.wirenboard.com/u/automatintegro)\
**Post date:** [July 24, 2023, 4:57pm UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/14 "2023-07-24T16:57:06Z")

</div>

Топик создается но как его добавить “Регистры Holding (чтение/запись)”

 ![image](https://support.wirenboard.com/uploads/default/original/3X/2/3/233875e913ab357f61185713a68d63cebecac2e1.png)  
Но это не работает

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [July 24, 2023, 5:04pm UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/15 "2023-07-24T17:04:27Z")

</div>

> [@automatintegro](#):
>
> Топик создается но как его добавить “Регистры Holding (чтение/запись)”

Я верно понимаю что топик - есть, но проблема возникает с его добавлением в конфиг wb-mqtt-mbgate?  
Нпишите - что делаете, какого результата ожидаете.

---

<div class="post-metadata">

**Author:** ![automatintegro](https://avatars.discourse-cdn.com/v2/letter/a/a3d4f5/32.png) [@automatintegro](https://support.wirenboard.com/u/automatintegro)\
**Post date:** [July 24, 2023, 5:27pm UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/16 "2023-07-24T17:27:46Z")

</div>

Топик есть. Через MQTT я могу как записывать в него данные так и читать.  
Но мне нужно передать в этот топик параметр из панели оператора по modbus tcp.  
Панель оператор является мастером  
Вот тут “Регистры Holding (чтение/запись)” я прописал вот такое название pemp1/tesr1  
При попытке записать любое значение оно тут же становится равно “0”

Tx, data:[00 09 00 00 00 09 01 10 05 DC 00 01 02 00 4B]  
Rx data:[00 09 00 00 00 06 01 10 05 DC 00 01]

---

<div class="post-metadata">

**Author:** ![automatintegro](https://avatars.discourse-cdn.com/v2/letter/a/a3d4f5/32.png) [@automatintegro](https://support.wirenboard.com/u/automatintegro)\
**Post date:** [July 26, 2023, 7:32am UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/17 "2023-07-26T07:32:09Z")

</div>

Есть какое то решение этой проблемы? Или надо свой скрипт для этого писать?

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [July 26, 2023, 8:10am UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/18 "2023-07-26T08:10:01Z")

</div>

Покажите пожалуйста

```auto
mosquitto_sub -v -t /devices/pemp1/#

```

То есть запустите в консоли и запишите згачение по Modbus TCP

---

<div class="post-metadata">

**Author:** ![automatintegro](https://avatars.discourse-cdn.com/v2/letter/a/a3d4f5/32.png) [@automatintegro](https://support.wirenboard.com/u/automatintegro)\
**Post date:** [July 26, 2023, 10:46am UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/19 "2023-07-26T10:46:36Z")

</div>

root@wirenboard-AQCMCVPH:~# mosquitto\_sub -v -t /devices/pemp1/#  
/devices/pemp1/meta/name pemp1  
/devices/pemp1/meta/driver wb-rules  
/devices/pemp1/controls/tesr1 inf  
/devices/pemp1/controls/tesr1/meta {“order”:1,“readonly”:false,“type”:“value”}  
/devices/pemp1/controls/tesr1/meta/order 1  
/devices/pemp1/controls/tesr1/meta/readonly 0  
/devices/pemp1/controls/tesr1/meta/type value  
/devices/pemp1/controls/tesr2 inf  
/devices/pemp1/controls/tesr2/meta {“order”:1,“readonly”:false,“type”:“value”}  
/devices/pemp1/controls/tesr2/meta/order 1  
/devices/pemp1/controls/tesr2/meta/readonly 0  
/devices/pemp1/controls/tesr2/meta/type value  
/devices/pemp1/controls/tesr1/on inf

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [July 26, 2023, 3:45pm UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/20 "2023-07-26T15:45:37Z")

</div>

Так, отлично.  
То есть при записи по Modbus TCP - в топик ничего не писалось?  
Дайте еще конфиг wb-mqtt-mbgate, попробую воспроизвести.

---

<div class="post-metadata">

**Author:** ![automatintegro](https://avatars.discourse-cdn.com/v2/letter/a/a3d4f5/32.png) [@automatintegro](https://support.wirenboard.com/u/automatintegro)\
**Post date:** [July 26, 2023, 4:30pm UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/21 "2023-07-26T16:30:42Z")

</div>

[wb-mqtt-mbgate.conf](https://support.wirenboard.com/uploads/short-url/sGy7FkDtZA3SOprBCdcgHig0KEf.conf) (170,2 КБ)

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [July 27, 2023, 5:53am UTC](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714/22 "2023-07-27T05:53:48Z")

</div>

Вижу два вхождения, причем первое скорнфигурировано неверно:

```auto
   {
    "topic": "pemp1/controls/tesr1",
    "address": 1000,
    "unitId": 1,
    "meta_type": "",
    "enabled": true,
    "format": "signed",
    "size": 2,
    "max": 0,
    "scale": 0,
    "byteswap": false,
    "wordswap": false
   },
   {
    "topic": "pemp1/tesr1",
    "address": 1500,
    "unitId": 1,
    "meta_type": "",
    "enabled": true,
    "format": "signed",
    "size": 2,
    "max": 0,
    "scale": 0,
    "byteswap": false,
    "wordswap": false
   }

```

Со всторым (адрес 1500) - работает.

[Next page](https://support.wirenboard.com/t/podklyuchenie-paneli-operatora/15714.md?page=2)
