Segnetics

Вернуться   Segnetics > Форум Segnetics > Связь с внешним миром

Связь с внешним миром Modbus, RS232, RS485, Lon и другое.

Ответ
 
Опции темы Поиск в этой теме
Старый 11.09.2017, 16:52   #31
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 074
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: SMH2G + Modbus

Если имеется ввиду непонятно эхо, возникающее на фейковых переменных при использовании групповых запросов, то это мы постарались потрафить всяким непонятным личностям, которые годами стонали на форуме "аааа, как же так, моя дешёвая китайская панель с бажным модбасом не работает!!!111одинодин".

Формально, чтение несуществующих адресов запрещено протоколом.

Поэтому выбирайте: либо поддержка любимых вами панелей, либо чёткое следование модбасу.

Фантомные данные возникают потому, что драйвер выплёвывает содержимое буфера за пределами объявленной области. Ничего по этому поводу делаться не будет. Это необъявленные адреса, данные на них недействительны. Ноль с них такое же ложное значение, как и единица или любое другое.

PS. Вижу только баг, что запись холдингов не отлупается. Нужно сделать, чтобы в отлуп шло.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 11.09.2017 в 17:08
Arsie вне форума   Ответить с цитированием
Старый 11.09.2017, 16:55   #32
p001p
Member
 
Регистрация: Sep 2017
Сообщения: 68
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: SMH2G + Modbus

Цитата:
Сообщение от Arsie Посмотреть сообщение
Начнём с самого начала.

1) Готовим программу. См. первый рисунок - обратите внимания, переменные не имеют адреса

2) Объявляем переменные. См. второй рисунок - обратите внимание, переменные получают адреса

3) Грузим в контроллер, настраиваем лектус по мануалу, добавляя несуществующие фейковые переменные

4) Объявленные читаются, фейковые - нет

5) Объявленные читаются, фейковые - нет

Весь софт последних версий. Кроме лектуса.


Последовательность соблюдается. Попробую ещё раз.
p001p вне форума   Ответить с цитированием
Старый 11.09.2017, 17:10   #33
New
Senior Member
 
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили: 22 раз(а) в 22 сообщениях
По умолчанию Ответ: SMH2G + Modbus

Цитата:
Сообщение от Arsie Посмотреть сообщение
Если имеется ввиду непонятно эхо, возникающее на фейковых переменных при использовании групповых запросов, то это мы постарались потрафить всяким непонятным личностям, которые годами стонали на форуме "аааа, как же так, моя дешёвая китайская панель с бажным модбасом не работает!!!111одинодин".
Вот теперь понятно. А то что переменные Holding Register читаются/пишутся по любым адресам вне зависимости от типа запроса (групповой или нет) тоже оттуда же?
Пока писал уже ответ появился.
Цитата:
Сообщение от Arsie Посмотреть сообщение
Формально, чтение несуществующих адресов запрещено протоколом.
Собственно, никогда, за 10 лет работы с вашими контроллерами, и не пытался несуществующие адреса читать. Потому и вопросов не возникало.


__________________
RTFM

Последний раз редактировалось New, 11.09.2017 в 17:22
New вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 01:04.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024