Segnetics

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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.05.2014, 09:05   #1
activ8
Новичок
 
Регистрация: Mar 2013
Сообщения: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Постоянная перезапись переменной в слейве (решено)

Доброго всем дня!

Pixel выступает в роли мастера в сети ТСР. Связь со слейвом устанавливается, переменные забиты в карту как integer R/W (out). Xтение/запись на Pixel происходит без проблем. НО, на слейве переменныe изменить невозможно. Т.е. если я пытаюсь изменить переменную на самом слейве, она перезаписывается Pixel'ем в ее предыдущее значение. Проверял слейв в работе с Modscan - все меняется как с одной, так и с другой стороны.

В RTU та же ситуация...

При этом если Pixel выступает сам как слейв, то все без проблем. По-крайней мере в ТСР.

Просьба подсказать, что можно настроить?

Михаил.

Последний раз редактировалось activ8, 08.05.2014 в 09:17
activ8 вне форума   Ответить с цитированием
Старый 08.05.2014, 10:08   #2
Nick
Сотрудник Segnetics
 
Аватара для Nick
 
Регистрация: Feb 2010
Сообщения: 132
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Чтение переменных по ModBus

сделайте запись по команде и сами управляйте процессом.
для этого поставьте цикл опроса 0 - у переменной появится вход управления.
а иначе пиксель пишет свое значение постоянно с заданным циклом.
Nick вне форума   Ответить с цитированием
Старый 08.05.2014, 11:36   #3
activ8
Новичок
 
Регистрация: Mar 2013
Сообщения: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Чтение переменных по ModBus

Nick, так и ведь и чтение прекратится? Или при изменении на слейве последний "за ниточку дернет"?
activ8 вне форума   Ответить с цитированием
Старый 08.05.2014, 12:15   #4
Nick
Сотрудник Segnetics
 
Аватара для Nick
 
Регистрация: Feb 2010
Сообщения: 132
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Чтение переменных по ModBus

Цитата
Сообщение от activ8 Посмотреть сообщение
Nick, так и ведь и чтение прекратится? Или при изменении на слейве последний "за ниточку дернет"?
R(out) еще один прочитает, его и используйте.
а вообще это решение "через одно место", если нужно использовать цифирь на стороне слейва "поизменению", это нужно решать на стороне слейва посредством логики программы фбд слейва. модбас на то не заточен, сказали мастеру писать с таким циклом он с таким циклом и фигачит запросами, откуда ему знать, что там слейв у себя в мозгах думает.

Последний раз редактировалось Arsie, 03.11.2015 в 14:36
Nick вне форума   Ответить с цитированием
Старый 09.05.2014, 03:36   #5
activ8
Новичок
 
Регистрация: Mar 2013
Сообщения: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Чтение переменных по ModBus

А функционал этот не зря реализован как в модскане, так и в других контроллерах.

Это более чем логично - иметь возможность изменить уставку как с термостата, к примеру, так и по времени суток или другому условию.

Последний раз редактировалось Arsie, 03.11.2015 в 14:37
activ8 вне форума   Ответить с цитированием
Старый 09.05.2014, 21:26   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Чтение переменных по ModBus

Цитата
Сообщение от activ8 Посмотреть сообщение
А функционал этот не зря реализован как в модскане, так и в других контроллерах.
Извините, но вы не понимаете, о чём говорите.

Модскан по умолчанию отправляет запросы записи по требованию.

Лоджик по умолчанию настраивает запросы записи циклически.

Сменив время опроса на нулевое вы перенастроите циклический опрос на опрос по требованию. И не придётся здесь писать эти ненужные слова, которые вы написали.

Если одну и ту же нужно читать циклически и записывать по требованию, просто создайте две одинаковые переменные с разными настройками: для работы с холдинг регистром по адресу 42h вам нужно создать две переменные. "Ya_samij_umnij" с направлением R/W(out), адресом 42h и временем опроса 0. Это будет запись по требованию. Вторая переменная "Ya_samij_krasivij" с направлением R(out), адресом 42h и временем опроса не 0. Это будет циклическое чтение.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Ответ

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

Расширенный поиск
Опции просмотра

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запоминание переменной и константы (решено) asu_tech SMLogix 3 08.09.2019 01:03
Не понятно как регулировать переменной в SMArt и SMLogix (решено) Sergey Romanov Вопросы о программировании 19 04.07.2017 10:29
Момент изменения переменной (решено) Andrey92 SMLogix 7 09.01.2017 11:34
Возможность изменения переменной из нескольких мест (решено) viy-777 SMLogix 3 21.01.2016 15:22


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


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