Комментарии 5
Не раз сталкивался с неприятной особенностью «зависания» обмена, когда ни Done, ни Error на выходах не было. Кроме этого, некорректно работает «штатный» таймаут, точнее, минимальное время можно выставить, если не ошибаюсь, минимум 500мс, да и то, сколько не менял, оно фактически так и оставалось по-умолчанию (секунда?). В результате пришлось писать дополнительно свой таймаут со «своим» кодом ошибки.
0
А при каких условиях происходило зависание?
0
Да щас точно не вспомню. При неправильной адресации (койлы больше 9999, например, ошибка 8383 вроде), ещё пару раз ловил на рандомном зависании (в основном на 485м, но это и на TCP бывало, видимо драйвер в какой-то части общий). В общем, таймаут нет-нет, да пригождается…
Касаемо «вывернутых» байтов поступил проще: использовал %B(и при необходимости %W, аналоги CAD-CAW ) описание тут
Касаемо «вывернутых» байтов поступил проще: использовал %B(и при необходимости %W, аналоги CAD-CAW ) описание тут
0
Что касается адресации.
Если в Modbus TCP задать MB_MODE, равным 1фф, где фф — номер функции модбас, то можно адресовать любой адрес в диапазоне от 0 до 65535.
Для RTU это, почему-то, касается только регистров хранения.
Вот чего-чего, а рандомных зависаний я вообще не наблюдал, а Modbus, хоть TCP, хоть RTU, в моих программах крутится очень много где по России. Причем, и «лицензионный» для 300ых, и самопал для них же, и «портальные» версии.
Если в Modbus TCP задать MB_MODE, равным 1фф, где фф — номер функции модбас, то можно адресовать любой адрес в диапазоне от 0 до 65535.
Для RTU это, почему-то, касается только регистров хранения.
Вот чего-чего, а рандомных зависаний я вообще не наблюдал, а Modbus, хоть TCP, хоть RTU, в моих программах крутится очень много где по России. Причем, и «лицензионный» для 300ых, и самопал для них же, и «портальные» версии.
0
как будет возможность на след. проекте потестить, я обязательно выловлю и напишу.
Регистры хранения — есть holding? Если да, то там и так по умолчанию 65535
Регистры хранения — есть holding? Если да, то там и так по умолчанию 65535
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Клиент Modbus TCP для Simatic S7-1200 / S7-1500