Кто нить знает, почему интач при использовании DASMBServer(Modbus - сервер ввода-вывода)не хочет читать нулевые адреса регистров(ячеек) Например 40001- читает
а вот 40000 - не хочет, может есть какой способ это обойти?
Заранее спасибо за ответ.
Может потому что ячейки 40000 попросту не может быть?
Главный инженер проектов.
"УралРТСофт"
Первоначально опубликовано arkonst
Кто нить знает, почему интач при использовании DASMBServer(Modbus - сервер ввода-вывода)не хочет читать нулевые адреса регистров(ячеек) Например 40001- читает а вот 40000 - не хочет, может есть какой способ это обойти? Заранее спасибо за ответ.
Регистр 40001 - это то, то в Modbus функциях имеет адрес 0 и читается функцией 3. Адреса 40000, как писали выше, не существует.
Хорошо...это понятно...Тогда поставлю вопрос так, у меня есть карта адресов контроллера. И адресация выглядит так,
идет сквозная нумерация. Например.Адреса discret адрес 0,1,2,3, и т д. Потом coil 5,6,7, и т д.Потом input 8,9,10, и т д.Потом holding 11,12,13, и т д. Так вот, с coil c input и holding все нормально, читаются. А вот с discret получаеться прочитать только адреса начиная с еденицы, а адрес 0 никак. Пробовал по разному и 1000 и 3000 ничего.Что делать не знаю...А под этим адресом скрыт довольно важный параметр.Из-за этого даже стоит вопрос о выборе другой скады,с более подходящим сервером ввода -вывода modbus.
У нас была такая-же проблема с Citect. У него в ини-файле есть параметр CheckAddressBoundary, вот пока его не поставишь в 0, проект не компилируется с четными модбас-адресами. Ищите нечто похожее в Интаче, должно быть по-любому.
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме