pymodbus: исключение в Modbus TCP - PullRequest
0 голосов
/ 31 мая 2018

Как я могу генерировать исключение, когда клиент записывает число вне диапазона на мой сервер?Кроме того, я хотел бы, чтобы некоторые файлы на моем сервере были доступны только для чтения, а другие - для чтения / записи.Любая рекомендация?

1 Ответ

0 голосов
/ 01 июня 2018

Pymodbus, как правило, обрабатывает доступ к связанному регистру изнутри, запрос на чтение / запись блока данных, выходящий за пределы диапазона, вызовет ExceptionResponse('Invalid Address').На стороне клиента вы можете проверить, является ли полученный ответ ответом на исключение, либо проверив метод isError() в ответе (pymodbus v1.5.0 и выше).

См. synchronous_server и synchronous_client

Также по умолчанию дискретные входы и входные регистры предназначены только для чтения и для регистров хранения и катушек, а также для чтения / записи.Любая попытка записи в блоки данных только для чтения вызывает ExceptionResponse.Если у вас есть особые требования к тому, чтобы сделать диапазон хранения регистров / катушек только для чтения, вы можете взглянуть на различные блоки данных , чтобы создать собственный блок данных, см. пример пользовательского блока данных

...