Вход

Просмотр полной версии : ПР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.

Kliper
18.03.2024, 21:55
Посмотрите в 001A ещё может сидеть реактивная мощность, а в 0400 - реактивная энергия

melky
19.03.2024, 09:04
Странная карта регистров. Пункт 4 и пункт 5 адреса повторяются. В 4-м Read Only стоит, предположительно Inpet Registers функция 4
А в 5-м пункте Read Write - видимо Holding Registers - 3-я функция

Итого по пункту 4 - пропущен адрес 0004 после Напряжения. ну и дальше есть пропуски. Везде float.

Увеличьте период опроса и немного таймаут.

Андрей M
19.03.2024, 09:52
Всем спасибо. К сожалению начальник не вытерпел и со словами "да и хрен с этими переменными" отправил шкаф управления электромонтажникам с целью приведения в божеский вид. Тайна трёх нечитаемых переменных остаётся неразгаданной, по крайней мере пока.

melky
19.03.2024, 10:05
Андрей M переменные читаются по одной, ибо ПР200 мастер так их читает.
Период Х - прочитали первую, вторую, третью, четвертую - период неожиданно закончился, 5,6,7 не дочиталась. Начало нового периода - прочитали 1,2,3,4 - упс, опять период закончился.

Период действует на все, вроде так устроено в ПР-ке

Sergej_
19.03.2024, 11:14
Карта регистров косячная, это точно, в табл.5 обратите внимание на формат, возможно и в табл.4 ошиблись также, и никакой там не флоат. Попробовать нужно почитать содержимое чем-то ,Modbus Poll например. И понятно станет.

Андрей M
19.03.2024, 12:09
Андрей M переменные читаются по одной, ибо ПР200 мастер так их читает.
Период Х - прочитали первую, вторую, третью, четвертую - период неожиданно закончился, 5,6,7 не дочиталась. Начало нового периода - прочитали 1,2,3,4 - упс, опять период закончился.

Период действует на все, вроде так устроено в ПР-ке

Спасибо, попробую как шкаф вернут.

Kliper
19.03.2024, 21:04
Карта не косячная, всё правильно. В своё время разбирался с сериями этих счетчиков от разных производителей. Протокол у них стандартный. Пропуски в карте для трехфазных моделей.
Один мне попался (однофазный 4-х модульный) немножко глючный. Плохо читался (ошибки КС), хоть по одному параметру, хоть группой.
Для этого счетчика еще раз, должны присутствовать 001A - реактивная мощность, 0400 - реактивная энергия
Счетчик отвечает с задержкой около 100мс

Sergej_
20.03.2024, 04:33
Карта не косячная, всё правильно. В своё время разбирался с сериями этих счетчиков от разных производителей. Протокол у них стандартный. Пропуски в карте для трехфазных моделей.
Один мне попался (однофазный 4-х модульный) немножко глючный. Плохо читался (ошибки КС), хоть по одному параметру, хоть группой.
Для этого счетчика еще раз, должны присутствовать 001A - реактивная мощность, 0400 - реактивная энергия
Счетчик отвечает с задержкой около 100мс

Обратите внимание на п.5 карты. Формат указан флоат. Сетевые настройки. Встречали где нибудь?
Возможно и в формате данных п.4 ошибка, возможно часть этих данных в другом формате, (это не утверждение, но предположение). Адрес 0008 дважды указан для разных параметров, ну это ладно можно предположить что для разных функций, такое встречается.

melky
20.03.2024, 08:26
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 мс. Всё прекрасно читается. Ещё раз спасибо.

Kliper
20.03.2024, 17:32
Обратите внимание на п.5 карты. Формат указан флоат. Сетевые настройки. Встречали где нибудь?
Вот такие они, китайские счетчики :D
Очень смущает что у автора топика при неудачном запросе в ответ выходят нули. А должна быть информация об ошибке. Ну хотя бы NAN. Косяк ПР200?