Просмотр полной версии : ПР200 не читает половину переменных
Андрей M
18.03.2024, 15:09
Добрый день. Возникла следующая проблема:
Я подключаю к ПР200 однофазный счётчик DDSR9588. В паспорте на DDSR9588 указаны шесть параметров, которые он измеряет, указаны адреса регистров, где они хранятся, указан номер функции для их чтения.
Вот настройки сетевого обмена.
74467
В результате ПР200 считывает только три первых переменных, три последних показывают нули (я выводил их все на экран). Если подключить DDSR9588 к компьютеру и опрашивать через программу Termite (с теми же сетевыми настройками и адресами регистров), все переменные нормально читаются.
kondor3000
18.03.2024, 15:16
Добрый день. Возникла следующая проблема:
Я подключаю к ПР200 однофазный счётчик DDSR9588. В паспорте на DDSR9588 указаны шесть параметров, которые он измеряет, указаны адреса регистров, где они хранятся, указан номер функции для их чтения.
Вот настройки сетевого обмена.
74467
В результате ПР200 считывает только три первых переменных, три последних показывают нули (я выводил их все на экран). Если подключить DDSR9588 к компьютеру и опрашивать через программу Termite (с теми же сетевыми настройками и адресами регистров), все переменные нормально читаются.
А где карта регистров этого прибора? Вероятно вы ошиблись в адресах или в типе переменных, того, что не читается.
Андрей M
18.03.2024, 15:20
Через Termite всё читается. Вот карта:
74469
kondor3000
18.03.2024, 15:27
Через Termite всё читается. Вот карта:
74469
На первый взгляд, всё правильно, а то что читается, правильно отображается? Или вы не смотрели?
Андрей M
18.03.2024, 15:30
На первый взгляд, всё правильно, а то что читается, правильно отображается? Или вы не смотрели?
Да, отображается корректно. Частота 50 Гц, Power Factor - 87 (как понял это КПД). - это то, что приходит на Termite в виде Hex.
А первые три отображаются нормально.
kondor3000
18.03.2024, 15:34
Да, отображается корректно. Частота 50 Гц, Power Factor - 87 (как понял это КПД). - это то, что приходит на Termite в виде Hex.
А первые три отображаются нормально.
Вы сейчас о чём пишите?
До этого вы написали, что последние 3 не отображаются, вопрос как отображаются остальные?
Float при неправильной расстановке байт или регистров, отображается не корректно.
Андрей M
18.03.2024, 15:38
Вы сейчас о чём пишите?
До этого вы написали, что последние 3 не отображаются, вопрос как отображаются остальные?
Первые три отображались нормально на экране ПР200 и далее на ПЛК, куда я их отправлял.
Последние три на экране ПР200 показывают 0, на ПЛК соответственно тоже 0. Но при чтении через Termite выдаёт частоту 50 герц и КПД 87% (то есть данные в регистрах есть, и они правильные).
kondor3000
18.03.2024, 15:42
Первые три отображались нормально на экране ПР200 и далее на ПЛК, куда я их отправлял.
Последние три на экране ПР200 показывают 0, на ПЛК соответственно тоже 0. Но при чтении через Termite выдаёт частоту 50 герц и КПД 87% (то есть данные в регистрах есть, и они правильные).
Я к этому и веду, смотрите различия настроек Termite и ПР200. Float при неправильной расстановке байт или регистров, отображается не корректно.
Проверьте чтение самим ПЛК, без ПР200.
АРТ.Кар 64
18.03.2024, 15:45
Попробуйте поменять "порядок чтения". Не факт,а всё же....
Андрей M
18.03.2024, 15:49
Я к этому и веду, смотрите различия настроек Termite и ПР200. Float при неправильной расстановке байт или регистров, отображается не корректно.
Проверьте чтение самим ПЛК, без ПР200.
Настройки сетевого обмена и порядок байт выставляются для всего устройства в целом. Если читаются первые переменные, значит настройки верны. Единственное что можно поменять для отдельной переменной - адрес регистра и функцию чтения/записи. Функция чтения для всех переменных в разделе Data Register одна и та же - четвёртая. Адреса регистров правильные, я проверил ещё раз. Да и компьютер напрямую читает по этим адресам.
Андрей M
18.03.2024, 15:50
Попробуйте поменять "порядок чтения". Не факт,а всё же....
Порядок чтения выставляется для всего устройства сразу, нельзя поменять для одной переменной
МихаилГл
18.03.2024, 16:18
Порядок чтения выставляется для всего устройства сразу, нельзя поменять для одной переменной
Бывает что некоторые диапазоны показаний верно отображаются даже при неправильной последовательности байт и бит. До 100 примерно. А значения выше показывают абракадабру и даже 0.
Посмотрите в 001A ещё может сидеть реактивная мощность, а в 0400 - реактивная энергия
Странная карта регистров. Пункт 4 и пункт 5 адреса повторяются. В 4-м Read Only стоит, предположительно Inpet Registers функция 4
А в 5-м пункте Read Write - видимо Holding Registers - 3-я функция
Итого по пункту 4 - пропущен адрес 0004 после Напряжения. ну и дальше есть пропуски. Везде float.
Увеличьте период опроса и немного таймаут.
Андрей M
19.03.2024, 09:52
Всем спасибо. К сожалению начальник не вытерпел и со словами "да и хрен с этими переменными" отправил шкаф управления электромонтажникам с целью приведения в божеский вид. Тайна трёх нечитаемых переменных остаётся неразгаданной, по крайней мере пока.
Андрей M переменные читаются по одной, ибо ПР200 мастер так их читает.
Период Х - прочитали первую, вторую, третью, четвертую - период неожиданно закончился, 5,6,7 не дочиталась. Начало нового периода - прочитали 1,2,3,4 - упс, опять период закончился.
Период действует на все, вроде так устроено в ПР-ке
Карта регистров косячная, это точно, в табл.5 обратите внимание на формат, возможно и в табл.4 ошиблись также, и никакой там не флоат. Попробовать нужно почитать содержимое чем-то ,Modbus Poll например. И понятно станет.
Андрей M
19.03.2024, 12:09
Андрей M переменные читаются по одной, ибо ПР200 мастер так их читает.
Период Х - прочитали первую, вторую, третью, четвертую - период неожиданно закончился, 5,6,7 не дочиталась. Начало нового периода - прочитали 1,2,3,4 - упс, опять период закончился.
Период действует на все, вроде так устроено в ПР-ке
Спасибо, попробую как шкаф вернут.
Карта не косячная, всё правильно. В своё время разбирался с сериями этих счетчиков от разных производителей. Протокол у них стандартный. Пропуски в карте для трехфазных моделей.
Один мне попался (однофазный 4-х модульный) немножко глючный. Плохо читался (ошибки КС), хоть по одному параметру, хоть группой.
Для этого счетчика еще раз, должны присутствовать 001A - реактивная мощность, 0400 - реактивная энергия
Счетчик отвечает с задержкой около 100мс
Карта не косячная, всё правильно. В своё время разбирался с сериями этих счетчиков от разных производителей. Протокол у них стандартный. Пропуски в карте для трехфазных моделей.
Один мне попался (однофазный 4-х модульный) немножко глючный. Плохо читался (ошибки КС), хоть по одному параметру, хоть группой.
Для этого счетчика еще раз, должны присутствовать 001A - реактивная мощность, 0400 - реактивная энергия
Счетчик отвечает с задержкой около 100мс
Обратите внимание на п.5 карты. Формат указан флоат. Сетевые настройки. Встречали где нибудь?
Возможно и в формате данных п.4 ошибка, возможно часть этих данных в другом формате, (это не утверждение, но предположение). Адрес 0008 дважды указан для разных параметров, ну это ладно можно предположить что для разных функций, такое встречается.
Sergej_ оно и есть для разных функций, так как в одном месте только чтение Input Registers и в примере запроса это видно. В другом случае с возможностью записи, а это уже Holding Registers.
Если он отвечает с задержкой, а в ПР период на все стоит 100мс то вероятно так и будет. Он просто не успевает читать все переменные скорее всего. я с ПР200 когда читал 8АС вообще подавал импульс на чтение (разрешение битовой переменной) а оказалось на весь период надо поднимать лог 1, эффект был таким же (в моем случае вообще ничего не читалось). Потом посмотрел ролик от Юрия Ревака и стало понятно почему. Вроде даже обсуждали этот момент.
Андрей M
20.03.2024, 09:57
Андрей M переменные читаются по одной, ибо ПР200 мастер так их читает.
Период Х - прочитали первую, вторую, третью, четвертую - период неожиданно закончился, 5,6,7 не дочиталась. Начало нового периода - прочитали 1,2,3,4 - упс, опять период закончился.
Период действует на все, вроде так устроено в ПР-ке
Вы были правы. Увеличил период опроса до 300 мс и на всякий случай таймаут ответа до 200 мс. Всё прекрасно читается. Ещё раз спасибо.
Обратите внимание на п.5 карты. Формат указан флоат. Сетевые настройки. Встречали где нибудь?
Вот такие они, китайские счетчики :D
Очень смущает что у автора топика при неудачном запросе в ответ выходят нули. А должна быть информация об ошибке. Ну хотя бы NAN. Косяк ПР200?
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot