|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
08.05.2014, 09:05 | #1 |
Новичок
Регистрация: Mar 2013
Сообщения: 14
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Постоянная перезапись переменной в слейве (решено)
Доброго всем дня!
Pixel выступает в роли мастера в сети ТСР. Связь со слейвом устанавливается, переменные забиты в карту как integer R/W (out). Xтение/запись на Pixel происходит без проблем. НО, на слейве переменныe изменить невозможно. Т.е. если я пытаюсь изменить переменную на самом слейве, она перезаписывается Pixel'ем в ее предыдущее значение. Проверял слейв в работе с Modscan - все меняется как с одной, так и с другой стороны. В RTU та же ситуация... При этом если Pixel выступает сам как слейв, то все без проблем. По-крайней мере в ТСР. Просьба подсказать, что можно настроить? Михаил. Последний раз редактировалось activ8, 08.05.2014 в 09:17 |
08.05.2014, 10:08 | #2 |
Сотрудник Segnetics
Регистрация: Feb 2010
Сообщения: 132
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Чтение переменных по ModBus
сделайте запись по команде и сами управляйте процессом.
для этого поставьте цикл опроса 0 - у переменной появится вход управления. а иначе пиксель пишет свое значение постоянно с заданным циклом. |
08.05.2014, 11:36 | #3 |
Новичок
Регистрация: Mar 2013
Сообщения: 14
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Чтение переменных по ModBus
Nick, так и ведь и чтение прекратится? Или при изменении на слейве последний "за ниточку дернет"?
|
08.05.2014, 12:15 | #4 | |
Сотрудник Segnetics
Регистрация: Feb 2010
Сообщения: 132
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Чтение переменных по ModBus
Цитата:
а вообще это решение "через одно место", если нужно использовать цифирь на стороне слейва "поизменению", это нужно решать на стороне слейва посредством логики программы фбд слейва. модбас на то не заточен, сказали мастеру писать с таким циклом он с таким циклом и фигачит запросами, откуда ему знать, что там слейв у себя в мозгах думает. Последний раз редактировалось Arsie, 03.11.2015 в 14:36 |
|
09.05.2014, 03:36 | #5 |
Новичок
Регистрация: Mar 2013
Сообщения: 14
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Чтение переменных по ModBus
А функционал этот не зря реализован как в модскане, так и в других контроллерах.
Это более чем логично - иметь возможность изменить уставку как с термостата, к примеру, так и по времени суток или другому условию. Последний раз редактировалось Arsie, 03.11.2015 в 14:37 |
09.05.2014, 21:26 | #6 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 115
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Чтение переменных по ModBus
Цитата:
Модскан по умолчанию отправляет запросы записи по требованию. Лоджик по умолчанию настраивает запросы записи циклически. Сменив время опроса на нулевое вы перенастроите циклический опрос на опрос по требованию. И не придётся здесь писать эти ненужные слова, которые вы написали. Если одну и ту же нужно читать циклически и записывать по требованию, просто создайте две одинаковые переменные с разными настройками: для работы с холдинг регистром по адресу 42h вам нужно создать две переменные. "Ya_samij_umnij" с направлением R/W(out), адресом 42h и временем опроса 0. Это будет запись по требованию. Вторая переменная "Ya_samij_krasivij" с направлением R(out), адресом 42h и временем опроса не 0. Это будет циклическое чтение. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|