Sokolov_Dmitry писал(а): ↑20 сен 2021, 10:36
давайте фрагмент лога посмотрим
Вот цикл опроса без ошибок. Этот цикл повторяется постоянно в таком-же порядке. Примерно 95% циклов проходят без ошибок (но счетчик Bus Error Count в обоих частотниках почему-то увеличивается).
Устройства с номерами 21, 22, 23 - это модули ввода/вывода, номера 11 и 12 - это частотники.
- [+]
- 00:00:12.943 - Request: 15 02 00 00 00 08 7a d8
00:00:12.943 - ID: 21, Fn: 2 (Read DI), addr: 0, count: 8, CRC: 0xd87a
00:00:12.943 - Response: 15 02 01 fe 25 f8
00:00:12.991 - Request: 15 05 00 00 00 00 ce de
00:00:12.991 - ID: 21, Fn: 5 (Write Single Coil), addr: 0, value: 0, CRC: 0xdece
00:00:13.008 - Response: 15 05 00 00 00 00 ce de
00:00:13.054 - Request: 15 05 00 01 00 00 9f 1e
00:00:13.054 - ID: 21, Fn: 5 (Write Single Coil), addr: 1, value: 0, CRC: 0x1e9f
00:00:13.071 - Response: 15 05 00 01 00 00 9f 1e
00:00:13.119 - Request: 15 05 00 02 00 00 6f 1e
00:00:13.119 - ID: 21, Fn: 5 (Write Single Coil), addr: 2, value: 0, CRC: 0x1e6f
00:00:13.136 - Response: 15 05 00 02 00 00 6f 1e
00:00:13.183 - Request: 15 05 00 03 00 00 3e de
00:00:13.183 - ID: 21, Fn: 5 (Write Single Coil), addr: 3, value: 0, CRC: 0xde3e
00:00:13.199 - Response: 15 05 00 03 00 00 3e de
00:00:13.248 - Request: 15 05 00 04 00 00 8f 1f
00:00:13.248 - ID: 21, Fn: 5 (Write Single Coil), addr: 4, value: 0, CRC: 0x1f8f
00:00:13.264 - Response: 15 05 00 04 00 00 8f 1f
00:00:13.312 - Request: 15 05 00 05 00 00 de df
00:00:13.312 - ID: 21, Fn: 5 (Write Single Coil), addr: 5, value: 0, CRC: 0xdfde
00:00:13.326 - Response: 15 05 00 05 00 00 de df
00:00:13.375 - Request: 16 04 00 00 00 08 f2 eb
00:00:13.375 - ID: 22, Fn: 4 (Read IR), addr: 0, count: 8, CRC: 0xebf2
00:00:13.391 - Response: 16 04 10 05 78 00 c7 00 c8 00 c8 05 78 00 ca 00 cc 00 ca 94 4a
00:00:13.438 - Request: 16 02 00 00 00 08 7a eb
00:00:13.438 - ID: 22, Fn: 2 (Read DI), addr: 0, count: 8, CRC: 0xeb7a
00:00:13.455 - Response: 16 02 01 03 e4 3d
00:00:13.502 - Request: 17 04 00 01 00 07 e2 fe
00:00:13.502 - ID: 23, Fn: 4 (Read IR), addr: 1, count: 7, CRC: 0xfee2
00:00:13.518 - Response: 17 04 0e 00 c8 00 cb 00 d0 00 ce 00 cc 00 cb 05 78 54 b8
00:00:13.583 - Request: 17 02 00 00 00 09 ba fa
00:00:13.583 - ID: 23, Fn: 2 (Read DI), addr: 0, count: 9, CRC: 0xfaba
00:00:13.598 - Response: 17 02 02 f8 01 72 7b
00:00:13.647 - Request: 0b 03 3e 9d 00 01 18 a6
00:00:13.647 - ID: 11, Fn: 3 (Read HR), addr: 16029, count: 1, CRC: 0xa618
00:00:13.679 - Response: 0b 03 02 00 03 60 44
Частотник с номером 11 ответил на запрос, но через пару десятков циклов не ответит (см. следующий лог)
00:00:13.727 - Request: 0b 03 3f 01 00 01 d9 74
00:00:13.727 - ID: 11, Fn: 3 (Read HR), addr: 16129, count: 1, CRC: 0x74d9
00:00:13.775 - Response: 0b 03 02 00 00 20 45
00:00:13.824 - Request: 0b 03 3f 0b 00 02 b9 77
00:00:13.824 - ID: 11, Fn: 3 (Read HR), addr: 16139, count: 2, CRC: 0x77b9
00:00:13.870 - Response: 0b 03 04 00 00 00 00 50 33
00:00:13.918 - Request: 0b 03 3b c3 00 01 79 b8
00:00:13.918 - ID: 11, Fn: 3 (Read HR), addr: 15299, count: 1, CRC: 0xb879
00:00:13.967 - Response: 0b 03 02 00 00 20 45
00:00:14.013 - Request: 0c 03 3e 9d 00 01 19 11
00:00:14.013 - ID: 12, Fn: 3 (Read HR), addr: 16029, count: 1, CRC: 0x1119
00:00:14.030 - Response: 0c 03 02 00 03 d5 84
00:00:14.078 - Request: 0c 03 3f 01 00 01 d8 c3
00:00:14.078 - ID: 12, Fn: 3 (Read HR), addr: 16129, count: 1, CRC: 0xc3d8
00:00:14.127 - Response: 0c 03 02 00 00 95 85
00:00:14.174 - Request: 0c 03 3f 0b 00 02 b8 c0
00:00:14.174 - ID: 12, Fn: 3 (Read HR), addr: 16139, count: 2, CRC: 0xc0b8
00:00:14.221 - Response: 0c 03 04 00 00 00 00 26 f3
00:00:14.270 - Request: 0c 03 3b c3 00 01 78 0f
00:00:14.270 - ID: 12, Fn: 3 (Read HR), addr: 15299, count: 1, CRC: 0xf78
00:00:14.318 - Response: 0c 03 02 00 00 95 85
А вот тот-же самый цикл, но частотник с номером 11 почему-то решил не отвечать на первый запрос, хотя, на предыдущем цикле ответил.
- [+]
- 00:00:36.071 - Request: 15 02 00 00 00 08 7a d8
00:00:36.071 - ID: 21, Fn: 2 (Read DI), addr: 0, count: 8, CRC: 0xd87a
00:00:36.086 - Response: 15 02 01 fe 25 f8
00:00:36.134 - Request: 15 05 00 00 00 00 ce de
00:00:36.134 - ID: 21, Fn: 5 (Write Single Coil), addr: 0, value: 0, CRC: 0xdece
00:00:36.134 - Response: 15 05 00 00 00 00 ce de
00:00:36.198 - Request: 15 05 00 01 00 00 9f 1e
00:00:36.198 - ID: 21, Fn: 5 (Write Single Coil), addr: 1, value: 0, CRC: 0x1e9f
00:00:36.198 - Response: 15 05 00 01 00 00 9f 1e
00:00:36.245 - Request: 15 05 00 02 00 00 6f 1e
00:00:36.245 - ID: 21, Fn: 5 (Write Single Coil), addr: 2, value: 0, CRC: 0x1e6f
00:00:36.261 - Response: 15 05 00 02 00 00 6f 1e
00:00:36.311 - Request: 15 05 00 03 00 00 3e de
00:00:36.311 - ID: 21, Fn: 5 (Write Single Coil), addr: 3, value: 0, CRC: 0xde3e
00:00:36.325 - Response: 15 05 00 03 00 00 3e de
00:00:36.374 - Request: 15 05 00 04 00 00 8f 1f
00:00:36.374 - ID: 21, Fn: 5 (Write Single Coil), addr: 4, value: 0, CRC: 0x1f8f
00:00:36.391 - Response: 15 05 00 04 00 00 8f 1f
00:00:36.438 - Request: 15 05 00 05 00 00 de df
00:00:36.438 - ID: 21, Fn: 5 (Write Single Coil), addr: 5, value: 0, CRC: 0xdfde
00:00:36.454 - Response: 15 05 00 05 00 00 de df
00:00:36.502 - Request: 16 04 00 00 00 08 f2 eb
00:00:36.502 - ID: 22, Fn: 4 (Read IR), addr: 0, count: 8, CRC: 0xebf2
00:00:36.517 - Response: 16 04 10 05 78 00 c8 00 c9 00 c9 05 78 00 cb 00 cd 00 ca e5 29
00:00:36.583 - Request: 16 02 00 00 00 08 7a eb
00:00:36.583 - ID: 22, Fn: 2 (Read DI), addr: 0, count: 8, CRC: 0xeb7a
00:00:36.597 - Response: 16 02 01 03 e4 3d
00:00:36.646 - Request: 17 04 00 01 00 07 e2 fe
00:00:36.646 - ID: 23, Fn: 4 (Read IR), addr: 1, count: 7, CRC: 0xfee2
00:00:36.661 - Response: 17 04 0e 00 c9 00 cb 00 d2 00 d1 00 cd 00 cc 05 78 2d 99
00:00:36.725 - Request: 17 02 00 00 00 09 ba fa
00:00:36.725 - ID: 23, Fn: 2 (Read DI), addr: 0, count: 9, CRC: 0xfaba
00:00:36.742 - Response: 17 02 02 f8 01 72 7b
00:00:36.790 - Request: 0b 03 3e 9d 00 01 18 a6
00:00:36.790 - ID: 11, Fn: 3 (Read HR), addr: 16029, count: 1, CRC: 0xa618
Ответа на запрос нет, хотя на предыдущих циклах ответ был
00:00:37.126 - Request: 0b 03 3f 01 00 01 d9 74
00:00:37.126 - ID: 11, Fn: 3 (Read HR), addr: 16129, count: 1, CRC: 0x74d9
00:00:37.158 - Response: 0b 03 02 00 00 20 45
00:00:37.206 - Request: 0b 03 3f 0b 00 02 b9 77
00:00:37.206 - ID: 11, Fn: 3 (Read HR), addr: 16139, count: 2, CRC: 0x77b9
00:00:37.253 - Response: 0b 03 04 00 00 00 00 50 33
00:00:37.318 - Request: 0b 03 3b c3 00 01 79 b8
00:00:37.318 - ID: 11, Fn: 3 (Read HR), addr: 15299, count: 1, CRC: 0xb879
00:00:37.349 - Response: 0b 03 02 00 00 20 45
00:00:37.413 - Request: 0c 03 3e 9d 00 01 19 11
00:00:37.413 - ID: 12, Fn: 3 (Read HR), addr: 16029, count: 1, CRC: 0x1119
00:00:37.433 - Response: 0c 03 02 00 03 d5 84
00:00:37.479 - Request: 0c 03 3f 01 00 01 d8 c3
00:00:37.479 - ID: 12, Fn: 3 (Read HR), addr: 16129, count: 1, CRC: 0xc3d8
00:00:37.526 - Response: 0c 03 02 00 00 95 85
00:00:37.574 - Request: 0c 03 3f 0b 00 02 b8 c0
00:00:37.574 - ID: 12, Fn: 3 (Read HR), addr: 16139, count: 2, CRC: 0xc0b8
00:00:37.621 - Response: 0c 03 04 00 00 00 00 26 f3
00:00:37.670 - Request: 0c 03 3b c3 00 01 78 0f
00:00:37.670 - ID: 12, Fn: 3 (Read HR), addr: 15299, count: 1, CRC: 0xf78
00:00:37.718 - Response: 0c 03 02 00 00 95 85
Мастер запрограммирован так, что он не повторяет неудачный запрос. Опрос слейвов идет в цикле и нас устраивает, что следующая попытка будет на следующем цикле. Так мы не теряем время пытаясь добиться ответа от выключенного устройства, например.
Повторю, что я менял частотники местами (назначал номер 11 тому, который имел номер 12 и наоборот). Ситуация всегда повторяется. Не отвечает только тот частотник, который первым получает запрос после модулей ввода/вывода. Т.е. это не дефект конкретного частотника.
Паузы между запросами я увеличивал до 200 мс. Картина - та-же.
Если в программе мастера убрать все запросы к устройствам 21, 22 и 23 (модули в/в), то обмен с частотниками идет без ошибок и Bus Error Count в частотниках равен нулю.
Сегодня я добавил еще один запрос 0b 03 3e 9d 00 01 18 a6 в программу мастера (т.е. два одинаковых запроса подряд). На второй запрос ответ всегда приходит. Это - не решение, но других вариантов я не придумал.