# Modbus TCP ошибки каждые 40 минут Zentec Z031

**URL:** <https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189>\
**Category:** Без категории\
**Created:** [January 18, 2024, 4:25pm UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189 "2024-01-18T16:25:44Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![svipsa](https://support.wirenboard.com/user_avatar/support.wirenboard.com/svipsa/32/4022_2.png) [@svipsa](https://support.wirenboard.com/u/svipsa)\
**Post date:** [January 18, 2024, 4:25pm UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/1 "2024-01-18T16:25:45Z")

</div>

К контроллеру подключен Zentec Z031 по Modbus TCP. Все работает штатно за исключением 2-х моментов.

1. Ошибки каждые 40 минут, иногда каждые 30 минут.
2. Переключение контролов срабатывает через раз. То есть изменил температуру на 1 градус. контрол через несколько сек вернулся к предыдущему значению. Изменил еще раз - все ок.

Куда копать?

Устройство:

 ![image](https://support.wirenboard.com/uploads/default/original/3X/f/d/fd51afca00855b1df77b1612c82b12494808b580.png)

Ошибки:

```auto
Home, [18.01.2024 17:49]
Error => name: /devices/ZentecZ0310/controls/ChannelCurrentTemperature/meta/error, value: r

Home, [18.01.2024 17:49]
Error => name: /devices/ZentecZ0310/controls/RotationSpeed/meta/error, value: r

Home, [18.01.2024 17:49]
Error => name: /devices/ZentecZ0310/controls/Mode/meta/error, value: r

Home, [18.01.2024 17:49]
Error => name: /devices/ZentecZ0310/controls/TargetTemperature/meta/error, value: r

Home, [18.01.2024 17:49]
Error => name: /devices/ZentecZ0310/controls/State/meta/error, value: r

Home, [18.01.2024 18:29]
Error => name: /devices/ZentecZ0310/controls/IndoorCurrentTemperature/meta/error, value: r

Home, [18.01.2024 18:29]
Error => name: /devices/ZentecZ0310/controls/ChannelCurrentTemperature/meta/error, value: r

Home, [18.01.2024 18:29]
Error => name: /devices/ZentecZ0310/controls/RotationSpeed/meta/error, value: r

Home, [18.01.2024 18:30]
Error => name: /devices/ZentecZ0310/controls/Mode/meta/error, value: r

Home, [18.01.2024 18:30]
Error => name: /devices/ZentecZ0310/controls/TargetTemperature/meta/error, value: r

Home, [18.01.2024 19:11]
Error => name: /devices/ZentecZ0310/controls/E01/meta/error, value: r

Home, [18.01.2024 19:11]
Error => name: /devices/ZentecZ0310/controls/E02/meta/error, value: r

Home, [18.01.2024 19:11]
Error => name: /devices/ZentecZ0310/controls/E04/meta/error, value: r

Home, [18.01.2024 19:11]
Error => name: /devices/ZentecZ0310/controls/E05/meta/error, value: r

Home, [18.01.2024 19:11]
Error => name: /devices/ZentecZ0310/controls/E06/meta/error, value: r

Home, [18.01.2024 19:11]
Error => name: /devices/ZentecZ0310/controls/E07/meta/error, value: r

Home, [18.01.2024 19:11]
Error => name: /devices/ZentecZ0310/controls/E08/meta/error, value: r

Home, [18.01.2024 19:11]
Error => name: /devices/ZentecZ0310/controls/E17/meta/error, value: r

Home, [18.01.2024 19:11]
Error => name: /devices/ZentecZ0310/controls/IndoorCurrentTemperature/meta/error, value: r

Home, [18.01.2024 19:11]
Error => name: /devices/ZentecZ0310/controls/ChannelCurrentTemperature/meta/error, value: r

Home, [18.01.2024 19:11]
Error => name: /devices/ZentecZ0310/controls/RotationSpeed/meta/error, value: r

```

Шаблон устройства:

```auto
{
    "title": "Zentec_Z031",
    "device_type": "Zentec_Z031",
    "group": "g-control-panel",
    "response_timeout_ms": 1000,
    "guard_interval_us": 5000,
    "device": {
        "name": "Zentec_Z031",
        "id": "Zentec_Z031",
        "channels": [
            {
                "name": "State",
                "reg_type": "holding",
                "address": 40003,
                "type": "switch"
            },
            {
                "name": "Mode",
                "reg_type": "holding",
                "address": 40001,
                "type": "range",
                "offset": -1,
                "max": 1
            },
            {
                "name": "RotationSpeed",
                "reg_type": "holding",
                "address": 40000,
                "type": "range",
                "max": 7
            },
            {
                "name": "IndoorCurrentTemperature",
                "reg_type": "input",
                "address": 30000,
                "type": "temperature",
                "scale": 0.1
            },
            {
                "name": "ChannelCurrentTemperature",
                "reg_type": "input",
                "address": 40009,
                "type": "temperature",
                "scale": 0.1
            },
            {
                "name": "TargetTemperature",
                "reg_type": "holding",
                "address": 40002,
                "type": "range",
                "min": 15,
                "max": 30
            },
            {
                "name": "DisplayLock",
                "reg_type": "holding",
                "address": 50000,
                "type": "range",
                "max": 2
            },
            {
                "name": "TemperatureMeasuringPoint",
                "reg_type": "holding",
                "address": 50014,
                "type": "range",
                "max": 2
            },
            {
                "name": "AllowFanAutoMode",
                "reg_type": "holding",
                "address": "50005:0:1",
                "type": "switch"
            },
            {
                "name": "FanIconOutput",
                "reg_type": "holding",
                "address": "50005:1:1",
                "type": "switch"
            },
            {
                "name": "DisplayingTheAirflowIcon",
                "reg_type": "holding",
                "address": "50005:2:1",
                "type": "switch"
            },
            {
                "name": "AutoExitTimeFromAuxiliaryMenus",
                "reg_type": "holding",
                "address": 50050,
                "type": "range",
                "min": 5,
                "max": 30
            },
            {
                "name": "MinimumDaylight",
                "reg_type": "holding",
                "address": 50051,
                "type": "range",
                "min": 0,
                "max": 100
            },
            {
                "name": "MaximumDaylight",
                "reg_type": "holding",
                "address": 50052,
                "type": "range",
                "min": 0,
                "max": 100
            },
            {
                "name": "MinimumNightIllumination",
                "reg_type": "holding",
                "address": 50053,
                "type": "range",
                "min": 0,
                "max": 100
            },
            {
                "name": "MaximumNightIllumination",
                "reg_type": "holding",
                "address": 50054,
                "type": "range",
                "min": 0,
                "max": 100
            },
            {
                "name": "Built-inTemperatureCorrection",
                "reg_type": "holding",
                "address": 50049,
                "type": "value",
                "readonly": false
            },
            {
                "name": "E01",
                "reg_type": "holding",
                "address": "40004:0:1",
                "readonly": true,
                "type": "switch"
            },
            {
                "name": "E02",
                "reg_type": "holding",
                "address": "40004:1:1",
                "readonly": true,
                "type": "switch"
            },
            {
                "name": "E03",
                "reg_type": "holding",
                "address": "40004:2:1",
                "readonly": true,
                "type": "switch"
            },
            {
                "name": "E04",
                "reg_type": "holding",
                "address": "40004:3:1",
                "readonly": true,
                "type": "switch"
            },
            {
                "name": "E05",
                "reg_type": "holding",
                "address": "40004:4:1",
                "readonly": true,
                "type": "switch"
            },
            {
                "name": "E06",
                "reg_type": "holding",
                "address": "40004:5:1",
                "readonly": true,
                "type": "switch"
            },
            {
                "name": "E07",
                "reg_type": "holding",
                "address": "40004:6:1",
                "readonly": true,
                "type": "switch"
            },
            {
                "name": "E08",
                "reg_type": "holding",
                "address": "40004:7:1",
                "readonly": true,
                "type": "switch"
            },
            {
                "name": "E09",
                "reg_type": "holding",
                "address": "40004:8:1",
                "readonly": true,
                "type": "switch"
            },
            {
                "name": "E10",
                "reg_type": "holding",
                "address": "40004:9:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E11",
                "reg_type": "holding",
                "address": "40004:10:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E12",
                "reg_type": "holding",
                "address": "40004:11:1",
                "readonly": true,
                "type": "switch"
            },
            {
                "name": "E13",
                "reg_type": "holding",
                "address": "40004:12:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E14",
                "reg_type": "holding",
                "address": "40004:13:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E15",
                "reg_type": "holding",
                "address": "40004:14:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E16",
                "reg_type": "holding",
                "address": "40004:15:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E17",
                "reg_type": "holding",
                "address": "40005:0:1",
                "readonly": true,
                "type": "switch"
            },
            {
                "name": "E18",
                "reg_type": "holding",
                "address": "40005:1:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E19",
                "reg_type": "holding",
                "address": "40005:2:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E20",
                "reg_type": "holding",
                "address": "40005:3:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E21",
                "reg_type": "holding",
                "address": "40005:4:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E22",
                "reg_type": "holding",
                "address": "40005:5:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E23",
                "reg_type": "holding",
                "address": "40005:6:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E24",
                "reg_type": "holding",
                "address": "40005:7:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E25",
                "reg_type": "holding",
                "address": "40005:8:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E26",
                "reg_type": "holding",
                "address": "40005:9:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E27",
                "reg_type": "holding",
                "address": "40005:10:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E28",
                "reg_type": "holding",
                "address": "40005:11:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E29",
                "reg_type": "holding",
                "address": "40005:12:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E30",
                "reg_type": "holding",
                "address": "40005:13:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E31",
                "reg_type": "holding",
                "address": "40005:14:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E32",
                "reg_type": "holding",
                "address": "40005:15:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E33",
                "reg_type": "holding",
                "address": "40006:0:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E34",
                "reg_type": "holding",
                "address": "40006:1:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E35",
                "reg_type": "holding",
                "address": "40006:2:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E36",
                "reg_type": "holding",
                "address": "40006:3:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E37",
                "reg_type": "holding",
                "address": "40006:4:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E38",
                "reg_type": "holding",
                "address": "40006:5:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E39",
                "reg_type": "holding",
                "address": "40006:6:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E40",
                "reg_type": "holding",
                "address": "40006:7:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E41",
                "reg_type": "holding",
                "address": "40006:8:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E42",
                "reg_type": "holding",
                "address": "40006:9:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E43",
                "reg_type": "holding",
                "address": "40006:10:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E44",
                "reg_type": "holding",
                "address": "40006:11:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E45",
                "reg_type": "holding",
                "address": "40006:12:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E46",
                "reg_type": "holding",
                "address": "40006:13:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E47",
                "reg_type": "holding",
                "address": "40006:14:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            },
            {
                "name": "E48",
                "reg_type": "holding",
                "address": "40006:15:1",
                "readonly": true,
                "enabled": false,
                "type": "switch"
            }
        ],
        "translations": {
            "en": {
                "Zentec_Z031": "Zentec Z031 Programmable operating terminal"
            },
            "ru": {
                "Zentec_Z031": "Zentec Z031 Программируемый пользовательский терминал",
                "State": "Состояние",
                "RotationSpeed": "Скорость вентилятора",
                "IndoorCurrentTemperature": "Температура в помещении",
                "ChannelCurrentTemperature": "Температура в канале",
                "TargetTemperature": "Целевая температура",
                "TargetHumidity": "Целевая влажность",
                "TargetVOC": "Целевое качество воздуха VOC",
                "Mode": "Режим",
                "DisplayLock": "Блокировка дисплея",
                "TemperatureMeasuringPoint": "Точка измерения температуры",
                "AllowFanAutoMode": "Разрешить авторежим вентилятора",
                "FanIconOutput": "Вывод значка венитлятора",
                "DisplayingTheAirflowIcon": "Вывод значка обдува",
                "AutoExitTimeFromAuxiliaryMenus": "Время автовыхода из вспомогательных меню, сек:",
                "MinimumDaylight": "Минимальная дневная подсветка",
                "MaximumDaylight": "Максимальная дневная подсветка",
                "MinimumNightIllumination": "Минимальная ночная подсветка",
                "MaximumNightIllumination": "Максимальная ночная подсветка",
                "Built-inTemperatureCorrection": "Корректировка показний датчика температуры",
                "E01": "E01 - Включена пожарная сигнализация",
                "E02": "E02 - Отказ датчика t° приточного воздуха",
                "E03": "E03 - Отказ датчика t° отработаного теплоносителя",
                "E04": "E04 - Отказ датчика t° наружного воздуха",
                "E05": "E05 - Отказ датчика t° воздуха в помещении",
                "E06": "E06 - Отказ двигателя",
                "E07": "E07 - Сработал защитный термостат теплообменника",
                "E08": "E08 - Слишком низкая t° приточного воздуха",
                "E09": "E09 - Несоответствие параметров теплоносителя",
                "E12": "E12 - Проект пульта поврежден",
                "E17": "E17 - Встроенный датчик t° не отвечает"
            }
        }
    }
}

```

---

<div class="post-metadata">

**Author:** ![svipsa](https://support.wirenboard.com/user_avatar/support.wirenboard.com/svipsa/32/4022_2.png) [@svipsa](https://support.wirenboard.com/u/svipsa)\
**Post date:** [January 18, 2024, 4:27pm UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/2 "2024-01-18T16:27:19Z")

</div>

Debug:

 ![image](https://support.wirenboard.com/uploads/default/original/3X/9/e/9e32e12f00338cef441255e493dd27a26daad376.jpeg)

---

<div class="post-metadata">

**Author:** ![svipsa](https://support.wirenboard.com/user_avatar/support.wirenboard.com/svipsa/32/4022_2.png) [@svipsa](https://support.wirenboard.com/u/svipsa)\
**Post date:** [January 18, 2024, 4:31pm UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/3 "2024-01-18T16:31:06Z")

</div>

Таймаут ответа (мс) 500 - частые ошибки  
Таймаут ответа (мс) 1000 - шибки раз в 30-40 минут.  
Увеличивать еще или можно что то друге подкрутить?

---

<div class="post-metadata">

**Author:** ![mikhail.burchu](https://support.wirenboard.com/user_avatar/support.wirenboard.com/mikhail.burchu/32/15559_2.png) [@mikhail.burchu](https://support.wirenboard.com/u/mikhail.burchu)\
**Post date:** [January 19, 2024, 6:31am UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/5 "2024-01-19T06:31:14Z")

</div>

Добрый день.  
Пришлите [диагностический архив](https://wirenboard.com/wiki/Wiren_Board_Web_Interface#diagnostic:~:text=rules%2C%20%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80.-,%D0%9E%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D0%B8%20%D0%B8%20%D0%B2%D1%8B%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0%20%D0%B4%D0%B8%D0%B0%D0%B3%D0%BD%D0%BE%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE%20%D0%B0%D1%80%D1%85%D0%B8%D0%B2%D0%B0,-%5B%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%5D). Укажите ревизию контроллера и версию ПО.  
Пришлите лог wb-mqtt-serial (с выключенным отладочным режимом) при таймауте ответа (мс) 500 и при таймауте ответа (мс) 1000.

> [@svipsa](#):
>
> Таймаут ответа (мс) 500 - частые ошибки  
> Таймаут ответа (мс) 1000 - шибки раз в 30-40 минут.  
> Увеличивать еще или можно что то друге подкрутить?

Вполне возможно, что и целесообразно дальше увеличивать. Здесь надо смотреть на документацию самого Zentec Z031, какие там указаны рекомендации (рекомендаций может и нет, но ограничения по факту есть).

> [@svipsa](#):
>
> Переключение контролов срабатывает через раз. То есть изменил температуру на 1 градус. контрол через несколько сек вернулся к предыдущему значению. Изменил еще раз - все ок.

Может здесь стоит посмотреть в ту сторону, что значение температуры нужно писать в один регистр, а считывать из другого. Как предположение. Нужно смотреть карту регистров устройства.

---

<div class="post-metadata">

**Author:** ![svipsa](https://support.wirenboard.com/user_avatar/support.wirenboard.com/svipsa/32/4022_2.png) [@svipsa](https://support.wirenboard.com/u/svipsa)\
**Post date:** [January 19, 2024, 2:54pm UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/6 "2024-01-19T14:54:54Z")

</div>

> Может здесь стоит посмотреть в ту сторону, что значение температуры нужно писать в один регистр, а считывать из другого. Как предположение. Нужно смотреть карту регистров устройства

Нет, пишется и читается одним регистром. ([Документация](https://zentec.ru/storage/2023/11/d190919_v21.pdf))

 ![image](https://support.wirenboard.com/uploads/default/original/3X/0/6/069af07c969547ee63a19d7a1c2af3a15fdaad7c.png)

В логах заметил сранную вещь.  
Стоит скорость 4. Перетаскиваю ползунок на 3. Вижу оправляется 3 и за ним сразу 4.  
Ползунок возвращается на 4. Второй раз перетаскиваю на 3 - отправляется только 3.

Далее переводу на 6 - пишется 6 и за ним 3. Второй раз на 6 - пишетсся только 6.  
То есть срабатывает со второго раза практичеки всегда.

```auto
root@wirenboard-AWJY4GZR:~# journalctl -u wb-mqtt-serial -f |grep 40000
янв 19 14:48:42 wirenboard-AWJY4GZR wb-mqtt-serial[15320]: DEBUG: [serial port driver] setting device register: <modbus-tcp:0:holding: 40000> <- 3
янв 19 14:48:42 wirenboard-AWJY4GZR wb-mqtt-serial[15320]: DEBUG: [modbus] write 1 holding(s) @ 40000 of device modbus-tcp:0
янв 19 14:48:42 wirenboard-AWJY4GZR wb-mqtt-serial[15320]: DEBUG: [register] new val for <modbus-tcp:0:holding: 40000>: 3
янв 19 14:48:44 wirenboard-AWJY4GZR wb-mqtt-serial[15320]: DEBUG: [register] new val for <modbus-tcp:0:holding: 40000>: 4
янв 19 14:49:04 wirenboard-AWJY4GZR wb-mqtt-serial[15320]: DEBUG: [serial port driver] setting device register: <modbus-tcp:0:holding: 40000> <- 3
янв 19 14:49:04 wirenboard-AWJY4GZR wb-mqtt-serial[15320]: DEBUG: [modbus] write 1 holding(s) @ 40000 of device modbus-tcp:0
янв 19 14:49:04 wirenboard-AWJY4GZR wb-mqtt-serial[15320]: DEBUG: [register] new val for <modbus-tcp:0:holding: 40000>: 3
янв 19 14:49:30 wirenboard-AWJY4GZR wb-mqtt-serial[15320]: DEBUG: [serial port driver] setting device register: <modbus-tcp:0:holding: 40000> <- 6
янв 19 14:49:30 wirenboard-AWJY4GZR wb-mqtt-serial[15320]: DEBUG: [modbus] write 1 holding(s) @ 40000 of device modbus-tcp:0
янв 19 14:49:30 wirenboard-AWJY4GZR wb-mqtt-serial[15320]: DEBUG: [register] new val for <modbus-tcp:0:holding: 40000>: 6
янв 19 14:49:31 wirenboard-AWJY4GZR wb-mqtt-serial[15320]: DEBUG: [register] new val for <modbus-tcp:0:holding: 40000>: 3
янв 19 14:49:52 wirenboard-AWJY4GZR wb-mqtt-serial[15320]: DEBUG: [serial port driver] setting device register: <modbus-tcp:0:holding: 40000> <- 6
янв 19 14:49:52 wirenboard-AWJY4GZR wb-mqtt-serial[15320]: DEBUG: [modbus] write 1 holding(s) @ 40000 of device modbus-tcp:0
янв 19 14:49:52 wirenboard-AWJY4GZR wb-mqtt-serial[15320]: DEBUG: [register] new val for <modbus-tcp:0:holding: 40000>: 6

```

---

<div class="post-metadata">

**Author:** ![svipsa](https://support.wirenboard.com/user_avatar/support.wirenboard.com/svipsa/32/4022_2.png) [@svipsa](https://support.wirenboard.com/u/svipsa)\
**Post date:** [January 19, 2024, 3:02pm UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/7 "2024-01-19T15:02:53Z")

</div>

> [@mikhail.burchu](#):
>
> ревизию контроллера и версию ПО

Wirenboard release wb-2401 (as stable), target wb7/bullseye  
HW: 7.2.1B

Диагностический архив:

_приложен диагностический архив, доступен только сотрудникам поддержки_
 (137,5 КБ)

---

<div class="post-metadata">

**Author:** ![svipsa](https://support.wirenboard.com/user_avatar/support.wirenboard.com/svipsa/32/4022_2.png) [@svipsa](https://support.wirenboard.com/u/svipsa)\
**Post date:** [January 19, 2024, 3:25pm UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/9 "2024-01-19T15:25:36Z")

</div>

> [@mikhail.burchu](#):
>
> > [@svipsa](#):
> >
> > Таймаут ответа (мс) 500 - частые ошибки  
> > Таймаут ответа (мс) 1000 - шибки раз в 30-40 минут.  
> > Увеличивать еще или можно что то друге подкрутить?

во время ошибок лог такой:

```auto
19-01-2024 18:16:35.501	INFO: [serial device] device modbus-tcp:0 is connected
19-01-2024 18:16:31.770	WARNING: [serial device] device modbus-tcp:0 is disconnected
19-01-2024 18:16:31.766	WARNING: [modbus] failed to read 1 holding(s) @ 40000 of device modbus-tcp:0: Serial protocol error: request timed out
19-01-2024 18:16:30.744	WARNING: [modbus] failed to read 1 input(s) @ 40009 of device modbus-tcp:0: Serial protocol error: request timed out
19-01-2024 18:16:29.722	WARNING: [modbus] failed to read 1 input(s) @ 30000 of device modbus-tcp:0: Serial protocol error: request timed out

```

---

<div class="post-metadata">

**Author:** ![svipsa](https://support.wirenboard.com/user_avatar/support.wirenboard.com/svipsa/32/4022_2.png) [@svipsa](https://support.wirenboard.com/u/svipsa)\
**Post date:** [January 19, 2024, 5:25pm UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/10 "2024-01-19T17:25:05Z")

</div>

насобирал бльше ошибок:

 ![image](https://support.wirenboard.com/uploads/default/original/3X/a/a/aa6a1be09551fabbe729db9aabeb13a2e38aca12.jpeg)

при 500 и 1000 ошибки одинаковые. При 1000 они просто реже.

---

<div class="post-metadata">

**Author:** ![svipsa](https://support.wirenboard.com/user_avatar/support.wirenboard.com/svipsa/32/4022_2.png) [@svipsa](https://support.wirenboard.com/u/svipsa)\
**Post date:** [January 23, 2024, 4:53pm UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/11 "2024-01-23T16:53:11Z")

</div>

@mikhail.burchu Есть идеи?

---

<div class="post-metadata">

**Author:** ![mikhail.burchu](https://support.wirenboard.com/user_avatar/support.wirenboard.com/mikhail.burchu/32/15559_2.png) [@mikhail.burchu](https://support.wirenboard.com/u/mikhail.burchu)\
**Post date:** [January 24, 2024, 5:52am UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/12 "2024-01-24T05:52:53Z")

</div>

Добрый день.

1. Попробуйте установить параметр “Задержка перед записью в порт (мкс)” больше 4000, например 4500 (мкс).
2. Таймаут ответа оставьте 1000 (мс).  
Сообщите о результате.

---

<div class="post-metadata">

**Author:** ![svipsa](https://support.wirenboard.com/user_avatar/support.wirenboard.com/svipsa/32/4022_2.png) [@svipsa](https://support.wirenboard.com/u/svipsa)\
**Post date:** [January 24, 2024, 9:53am UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/13 "2024-01-24T09:53:32Z")

</div>

> [@mikhail.burchu](#):
>
> - Попробуйте установить параметр “Задержка перед записью в порт (мкс)” больше 4000, например 4500 (мкс).
> - Таймаут ответа оставьте 1000 (мс).  
> Сообщите о результате.

Это больше относится к проблеме записи в порт со второго раза? Протестировал с 4500 мкс - не помогло

А что насчет ошибок чтения? При увеличении таймаута ответа до 10000(мс) ошибки становятся реже, раз в 2-3 часа, но все равно есть.

Так же подключил wb-mge v.2 по TCP

 ![image](https://support.wirenboard.com/uploads/default/original/3X/e/c/ec1d1d43fad4a2fb490d9d831fe9849bdecdf7bf.png)

на нем 3 устройства: два WB-MSW 4 (24 и 36) и один WB-M1W2 (51)

на них тоже наблюдаю в логах “request timed out”.  
похоже проблема не в самом Zentec

```auto
24-01-2024 01:37:35.847	WARNING: [modbus] failed to read 12 coil(s) @ 0 of device modbus:24: Serial protocol error: request timed out
24-01-2024 01:37:34.367	WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
24-01-2024 01:19:26.672	WARNING: [modbus] failed to read 14 input(s) @ 270 of device modbus:36: Serial protocol error: malformed response: invalid crc
24-01-2024 01:19:26.384	WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
24-01-2024 01:19:25.875	WARNING: [modbus] failed to read 13 input(s) @ 0 of device modbus:36: Serial protocol error: request timed out
24-01-2024 01:19:25.373	WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
24-01-2024 01:15:24.828	WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet
24-01-2024 01:15:24.787	WARNING: [modbus] failed to read 12 coil(s) @ 0 of device modbus:36: Serial protocol error: request timed out
24-01-2024 01:15:24.787	WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
24-01-2024 01:15:23.625	WARNING: [modbus] failed to read 14 input(s) @ 270 of device modbus:36: Serial protocol error: request timed out
24-01-2024 01:15:23.625	WARNING: [modbus] failed to read 14 input(s) @ 270 of device modbus:36: Serial protocol error: request timed out
24-01-2024 00:57:44.251	WARNING: [modbus] failed to read 1 holding(s) @ 40002 of device modbus-tcp:0: Serial protocol error: socket closed
24-01-2024 00:27:00.391	WARNING: [modbus] failed to read 2 holding(s) @ 97 of device modbus:24: Serial protocol error: request timed out
24-01-2024 00:24:59.828	WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet
24-01-2024 00:24:59.788	WARNING: [modbus] failed to read 14 input(s) @ 270 of device modbus:36: Serial protocol error: request timed out
24-01-2024 00:24:59.788	WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
24-01-2024 00:24:58.538	WARNING: [modbus] failed to read 13 input(s) @ 0 of device modbus:36: Serial protocol error: request timed out
24-01-2024 00:16:08.127	WARNING: [modbus] failed to read 1 holding(s) @ 40001 of device modbus-tcp:0: Serial protocol error: socket closed
24-01-2024 00:12:53.835	WARNING: [serial client] Reading events failed: Serial protocol error: malformed response: invalid packet
24-01-2024 00:12:53.805	WARNING: [modbus] failed to read 12 coil(s) @ 0 of device modbus:36: Serial protocol error: request timed out
24-01-2024 00:12:53.805	WARNING: [modbus] failed to read 12 coil(s) @ 0 of device modbus:36: Serial protocol error: request timed out
24-01-2024 00:12:53.805	WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
24-01-2024 00:12:52.211	WARNING: [modbus] failed to read 14 input(s) @ 270 of device modbus:36: Serial protocol error: request timed out
23-01-2024 21:07:21.772	WARNING: [modbus] failed to read 12 coil(s) @ 0 of device modbus:24: Serial protocol error: malformed response: invalid crc
23-01-2024 21:07:21.772	WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
23-01-2024 21:07:21.772	WARNING: [modbus] failed to read 34 input(s) @ 250 of device modbus:24: Serial protocol error: request timed out
23-01-2024 21:07:20.407	WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
23-01-2024 21:01:18.334	WARNING: [modbus] failed to read 12 coil(s) @ 0 of device modbus:36: Serial protocol error: request timed out
23-01-2024 20:47:11.783	WARNING: [modbus] failed to read 12 coil(s) @ 0 of device modbus:24: Serial protocol error: malformed response: invalid crc
23-01-2024 20:47:11.783	WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
23-01-2024 20:47:11.783	WARNING: [serial client] Reading events failed: Serial protocol error: request timed out
23-01-2024 20:47:11.783	WARNING: [modbus] failed to read 34 input(s) @ 250 of device modbus:24: Serial protocol error: request timed out
23-01-2024 20:47:10.363	WARNING: [serial client] Reading events failed: Serial protocol error: request timed out

```

---

<div class="post-metadata">

**Author:** ![mikhail.burchu](https://support.wirenboard.com/user_avatar/support.wirenboard.com/mikhail.burchu/32/15559_2.png) [@mikhail.burchu](https://support.wirenboard.com/u/mikhail.burchu)\
**Post date:** [January 24, 2024, 2:32pm UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/14 "2024-01-24T14:32:35Z")

</div>

> [@svipsa](#):
>
> А что насчет ошибок чтения? При увеличении таймаута ответа до 10000(мс) ошибки становятся реже, раз в 2-3 часа, но все равно есть.

Не думаю, что раз в 2-3 часа это частые ошибки.

Пришлите фото подключения всех устройств, по которым появляются ошибки.

---

<div class="post-metadata">

**Author:** ![svipsa](https://support.wirenboard.com/user_avatar/support.wirenboard.com/svipsa/32/4022_2.png) [@svipsa](https://support.wirenboard.com/u/svipsa)\
**Post date:** [January 24, 2024, 3:00pm UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/15 "2024-01-24T15:00:32Z")

</div>

> [@mikhail.burchu](#):
>
> Пришлите фото подключения всех устройств, по которым появляются ошибки.

 ![q](https://support.wirenboard.com/uploads/default/original/3X/0/9/097d1913df1ed7c131a9d2fa5f2456bd69ab48b2.jpeg)

Zentec Z031 подключен по Wifi.

---

<div class="post-metadata">

**Author:** ![mikhail.burchu](https://support.wirenboard.com/user_avatar/support.wirenboard.com/mikhail.burchu/32/15559_2.png) [@mikhail.burchu](https://support.wirenboard.com/u/mikhail.burchu)\
**Post date:** [April 17, 2024, 7:18am UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/16 "2024-04-17T07:18:27Z")

</div>

Добрый день.  
Извините за долгий ответ. Тема у меня затерялась. Не стесняйтесь тегать при долгом ожидании ответа.  
Визуально по подключению вопросов нет.

> [@svipsa](#):
>
> Zentec Z031 подключен по Wifi.

Также интересно, почему используете именно широковещательный адрес для связи с устройством? Есть возможность использовать адрес устройства? Что документация на Zentec об этом говорит?

> [@svipsa](#):
>
> Так же подключил wb-mge v.2 по TCP

Здесь попробуйте использовать не стандартный порт (не 23).  
Также вижу ошибки только по адресам 24 и 36, а по 51 нет ошибок. Все же похоже на шину. Попробуйте с [терминатором](https://wirenboard.com/wiki/RS-485:_Wiring_and_Connection#:~:text=%D0%A2%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D1%82%D0%BE%D1%80%20%D0%BD%D0%B0%20%D0%BA%D0%BE%D0%BD%D1%86%D0%B0%D1%85%20%D0%BB%D0%B8%D0%BD%D0%B8%D0%B8). Также я бы попробовал эти три устройства подключить напрямую к контроллеру и посмотрел, как себя в таком случае шина ведет.

---

<div class="post-metadata">

**Author:** ![svipsa](https://support.wirenboard.com/user_avatar/support.wirenboard.com/svipsa/32/4022_2.png) [@svipsa](https://support.wirenboard.com/u/svipsa)\
**Post date:** [April 17, 2024, 7:59am UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/17 "2024-04-17T07:59:10Z")

</div>

Спасибо за ответ.

24 и 36 стояли за WB-MGE v.2 (term включен, failsafe bias выключен). Длина шины была 30 - 40 см.  
Попробую еще на конец повесить терминатор но честно говоря не думаю что поможет.

> Также я бы попробовал эти три устройства подключить напрямую к контроллеру и посмотрел, как себя в таком случае шина ведет.

Делал, напрямую ошибок нет вообще, все работает отлично.

> Здесь попробуйте использовать не стандартный порт (не 23).

Проверю, спасибо. А в чем заключается подозрение на 23 порт?

P.S. пробовал два разных WB-MGE v.2 с двумя устройствами после них. Один в локальной сети, второй через интернет. В обоих случаях наблюдались одинаковые ошибки. (Саму Eth сеть исключили, сеть гигабитная, построена на промышленном оборудовании, с ней проблем нет).

P.S.S. так де пробовали два WB-MGE v.2 - один мастер другой слейв. Между ними 1 метр витой пары. Все то же самое.

P.S.S.S ошибки обошли программно, но на будущее хорошо бы понять в чем было дело. Впереди проект где будут четыре WB-MGE v.2 в локальной сети и не хотелось бы получить сюрприз с ними.

---

<div class="post-metadata">

**Author:** ![mikhail.burchu](https://support.wirenboard.com/user_avatar/support.wirenboard.com/mikhail.burchu/32/15559_2.png) [@mikhail.burchu](https://support.wirenboard.com/u/mikhail.burchu)\
**Post date:** [April 17, 2024, 8:54am UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/18 "2024-04-17T08:54:21Z")

</div>

> [@svipsa](#):
>
> Проверю, спасибо. А в чем заключается подозрение на 23 порт?

Стандартный порт. Вдруг что-то туда тоже прилетает.

> [@svipsa](#):
>
> на нем 3 устройства: два WB-MSW 4 (24 и 36) и один WB-M1W2 (51)

Попробую у себя данную конфигурацию проверить на частоту появления ошибок.  
WB-MSW v4, WB-M1W2 и преобразователь. На какую скорость настроен обмен?

---

<div class="post-metadata">

**Author:** ![svipsa](https://support.wirenboard.com/user_avatar/support.wirenboard.com/svipsa/32/4022_2.png) [@svipsa](https://support.wirenboard.com/u/svipsa)\
**Post date:** [April 17, 2024, 9:44am UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/19 "2024-04-17T09:44:47Z")

</div>

> [@mikhail.burchu](#):
>
> На какую скорость настроен обмен?

9600

---

<div class="post-metadata">

**Author:** ![Vlad\_Volchkov](https://support.wirenboard.com/user_avatar/support.wirenboard.com/vlad_volchkov/32/15550_2.png) [@Vlad\_Volchkov](https://support.wirenboard.com/u/Vlad_Volchkov)\
**Post date:** [April 17, 2024, 1:34pm UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/20 "2024-04-17T13:34:17Z")

</div>

> [@mikhail.burchu](#):
>
> Также интересно, почему используете именно широковещательный адрес для связи с устройством? Есть возможность использовать адрес устройства? Что документация на Zentec об этом говорит?

0 это стандартный Modbus адрес у пульта. Широковещательные адреса данное устройство не поддерживает

---

<div class="post-metadata">

**Author:** ![mikhail.burchu](https://support.wirenboard.com/user_avatar/support.wirenboard.com/mikhail.burchu/32/15559_2.png) [@mikhail.burchu](https://support.wirenboard.com/u/mikhail.burchu)\
**Post date:** [April 19, 2024, 5:28am UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/21 "2024-04-19T05:28:38Z")

</div>

Добрый день.  
Повторил вашу конфигурацию.  
Ошибки тоже появляются, но это, в принципе, не критично. Параметром Guard interval (us) можно снизить частоту появления ошибок.

> [@svipsa](#):
>
> P.S.S.S ошибки обошли программно, но на будущее хорошо бы понять в чем было дело. Впереди проект где будут четыре WB-MGE v.2 в локальной сети и не хотелось бы получить сюрприз с ними.

Можете подробнее описать чем вредит появление ошибки на шине для вашей задачи?

---

<div class="post-metadata">

**Author:** ![svipsa](https://support.wirenboard.com/user_avatar/support.wirenboard.com/svipsa/32/4022_2.png) [@svipsa](https://support.wirenboard.com/u/svipsa)\
**Post date:** [April 22, 2024, 7:13am UTC](https://support.wirenboard.com/t/modbus-tcp-oshibki-kazhdye-40-minut-zentec-z031/18189/22 "2024-04-22T07:13:30Z")

</div>

> [@mikhail.burchu](#):
>
> Можете подробнее описать чем вредит появление ошибки на шине для вашей задачи?

Из-за ошибок чтения, запись нового значения в регистр не всегда происходит с первого раза.  
Допустим в регистре число 3, мы записываем число 4, если произошла ошибка чтения после записи то в регистре остается число 3 а не 4. Это основная проблема.  
Обошли программно: виртуальное устройство принимает значения от пользователя, далее пишет в канал, далее с промежутком по таймеру 3 раза читает канал и сверяет значение с установленным, если отличается пишет заново и запускает проверку заново. Решение так себе (костыль), но пока других вариантов не нашли.
