Отказано в соединении с Modbus TCP с использованием Telegraf и InfluxDB

#plugins #influxdb #modbus #plc #telegraf

#Плагины #influxdb #modbus #плк #telegraf

Вопрос:

Я пытаюсь использовать Telegraf впервые. У меня есть ПЛК с работающим modbus TCP на нем (проверено с помощью других инструментов) и InfluxDB на моем Raspberry Pi.

Пожалуйста, помогите мне выяснить, что именно не работает?

Я прикрепляю конфигурацию Telegraf и журнал

При проверке конфигурации Telegraf с

 telegraf -config telegraf.conf -input-filter modbus -test
  

Я получаю:

 2020-11-16T12:17:56Z I! Starting Telegraf 1.16.2
2020-11-16T12:17:56Z E! [inputs.modbus] Error in plugin: dial tcp [::1]:502: connect: connection refused
2020-11-16T12:17:56Z E! [telegraf] Error running agent: input plugins recorded 1 errors
  

Я уже потратил на это целый день, я думаю, это что-то очевидное, чего мне не хватает.

Пожалуйста, помогите, с наилучшими пожеланиями, Дарек

Вот telegraf.log: telegraf.log

Вот конфигурация Telegraf: файл конфигурации Telegraf

Редактировать: проблема заключалась в том, что я не запускал telegraf с моим файлом конфигурации telegraf.comf. Файл конфигурации должен быть указан напрямую, например:

C:WindowsSystem32cmd.exe /к C:UsersmyUserSCADAtelegraf-1.20.3telegraf.exe —конфигурация C:UsersmyUserSCADAtelegraf-1.20.3telegraf.conf

Комментарии:

1. Вставленный вами журнал не соответствует ошибке в вашем вопросе (ошибка в журнале есть dial tcp 169.254.230.136:502: connect: network is unreachable ). IP 169.254.230.136 (в конфигурации и журнале) является локальным адресом ссылки и ::1 является петлевым , поэтому это выглядит как проблема с настройкой вашей сети. Убедитесь, что вы можете получить доступ к своему ПЛК с помощью чего-то вроде mbpoll , прежде чем пытаться использовать Telegraf.

2. Спасибо, британцы, прошло некоторое время, так как я снова могу столкнуться с проблемой. Я перешел на статический IP для RPI и PLC в локальной сети маршрутизатора. Теперь у меня есть 192.168.0.101 для PLC. Я успешно прочитал регистры modbus PLC с помощью mbpoll, но все та же ошибка от telegraf. Возможно ли, что telegraf начинает нумерацию регистров с 1, а PLC ожидает нумерацию с 0? С mbpoll PLC отвечает только в том случае, если mbpoll номера от 0. Возможно ли изменить нумерацию в telegraf?

3. Или, может быть, telegraf игнорирует, что я установил PLC IP в telegraf.conf на 192.168.0.101 и по какой-то причине telegraf опрашивает raspberry вместо опроса PLC? И это причина «отказа в подключении», поскольку на raspberry не работает сервер modbus …?

4. Пожалуйста, обновите свой вопрос соответствующими деталями (текущее сообщение об ошибке, конфигурация и т. Д.).

Ответ №1:

Причина неработания была слишком очевидной, чтобы заметить для меня. Мой экземпляр telegraf просто не использовал telegraf.conf. На самом деле он использовал один telegraf.conf, но не тот, который я так думал (не тот, который я редактировал).

Теперь я явно указываю файл конфигурации для telegraf при его запуске. У меня есть ярлык на рабочем столе с такой командой:

 C:WindowsSystem32cmd.exe /k C:UsersmyUserSCADAtelegraf-1.20.3telegraf.exe --config C:UsersmyUserSCADAtelegraf-1.20.3telegraf.conf