Segnetics

Вернуться   Segnetics > Форум Segnetics > Связь с внешним миром > Проблемы с панелями Weintek

Проблемы с панелями Weintek Всё о багах панелей Weintek

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.03.2012, 11:00   #1
canada
Senior Member
 
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Wientek, 2Gi, Modbus и InputStatus

Как прочитать панелью Wientek значение булевой переменной из 2Gi по modbus ?



Вроде как InputStatus читается стандартной функцией 2х. Но ее нет в Wienteke...

canada вне форума   Ответить с цитированием
Старый 21.03.2012, 11:49   #2
Nick
Сотрудник Segnetics
 
Аватара для Nick
 
Регистрация: Feb 2010
Сообщения: 132
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Wientek, 2Gi, Modbus и InputStatus

адресация по спецификации модбус

0XXXX - coils ( функция 1-читать, 5,15-писать)
1XXXX - input status ( функция 2-читать)
3XXXX - input reg ( функция 4-читать)
4XXXX - Holding reg ( функция 3-читать, 6,16-писать)

так что все тама есть

функции 15 и 16 мультипресет

и еще - Holding register 40001 is addressed as register 0000 (из спецификации) тоесть нашу переменную HR по адресу 0000 нужно читать писать адресом 40001
input status с адреса 0070 из вашей карты читать адресом 10071 вашей программы
наверно щас все должно быть понятна.
Nick вне форума   Ответить с цитированием
Старый 21.03.2012, 17:04   #3
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Wientek, 2Gi, Modbus и InputStatus

Цитата:
Сообщение от canada
Как прочитать панелью Wientek значение булевой переменной из 2Gi по modbus ?



Вроде как InputStatus читается стандартной функцией 2х. Но ее нет в Wienteke...

Читаете в вайнтеке функцией 0х или 1х - читайте их опсиание в руководстве,
либо упакуйте в переменные типа int и читайте при помощи 3х_bit и 4x_bit с указанием номера бита.
Max2114 вне форума   Ответить с цитированием
Старый 24.07.2012, 14:41   #4
canada
Senior Member
 
Регистрация: Oct 2011
Сообщения: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Wientek, 2Gi, Modbus и InputStatus

Вновь вопрос связанный с этой панелью.

Программа организована так, что с панели заводятся настройки объекта (температуры времена и т.п.) Связь панели и контроллера - Modbus TCP.

Столкнулся с таким неприятным явлением как несохранение настроек, после вкл/выкл питания установки. Все значения Modbus переменных устанавливаются по умолчанию в значения введенные в он-лайн режиме из SMLogix...

Пока решил проблему следующим образом: В панели каждому полю ввода/вывода можно задать разные адреса на чтение и на запись. В контроллере создаю эти 2 переменные - одну записываю в EEPROM из панели, другую из этой EEPROM читаю и показываю в панели... Работает, но как-бы очень геморно иметь 2 переменные вместо 1...

Может кто подскажет более изящный способ?
canada вне форума   Ответить с цитированием
Старый 25.07.2012, 06:22   #5
tvf
Senior Member
 
Регистрация: Dec 2011
Сообщения: 742
Благодарил(а): 1 раз(а)
Поблагодарили: 9 раз(а) в 9 сообщениях
По умолчанию Ответ: Wientek, 2Gi, Modbus и InputStatus

Сталкивался с описаной проблемой. Панель использовалась в качестве диспетчерского пульта. Более простого решения, чем у вас придумать не получилось. А насчет гемора не согласен. Одна переменная показывает, что реально записано в контроллер, вторая, что вы пытаетесь записать в контроллер. С учетом того, что уставка может меняться и с клавиатуры самого контроллера, проще не сделаешь. Особенно если хочешь знать что реально записано в контроллере, а не то что вы пытаетесь туда записать. Минус такого решения некоторое запаздывание при смене уставки (записал, потом считал), но с этим смирился.
tvf вне форума   Ответить с цитированием
Старый 14.03.2014, 17:53   #6
k0der
Новичок
 
Регистрация: Mar 2014
Сообщения: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Wientek, 2Gi, Modbus и InputStatus

Можно проект панели который читает слово из контроллера.
перепробывал все варианты, на читает и все
k0der вне форума   Ответить с цитированием
Старый 17.03.2014, 12:10   #7
skr
Новичок
 
Регистрация: Mar 2014
Сообщения: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Wientek, 2Gi, Modbus и InputStatus

Цитата:
Сообщение от k0der Посмотреть сообщение
Можно проект панели который читает слово из контроллера.
перепробывал все варианты, на читает и все
Какой протокол? Интерфейс и параметры связи? Типы регистров?
skr вне форума   Ответить с цитированием
Старый 15.08.2017, 16:26   #8
GTS
Senior Member
 
Регистрация: Jun 2017
Сообщения: 152
Благодарил(а): 3 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Wientek, 2Gi, Modbus и InputStatus

Добрый день! Также столкнулся с проблемой не сохранения уставок после отключения электропитания. Панель Weintek, контроллер 2Gi. Например в том же Codesys достаточно поставить галочку retain, и переменная становится энергонезависимой, и что самое главное читается и пишется по одному адресу. Вопрос в том можно ли в Лоджике сделать также?
Прочитал про две переменные для чтения и записи в Weintek, но чем и как лучше сохранять EEPROM или ARRAY?
GTS вне форума   Ответить с цитированием
Старый 15.08.2017, 17:35   #9
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Wientek, 2Gi, Modbus и InputStatus

Цитата:
Сообщение от GTS Посмотреть сообщение
Прочитал про две переменные для чтения и записи в Weintek, но чем и как лучше сохранять EEPROM или ARRAY?
Первое это стек, второе это массив.

Если вам сохранять, то нужен массив.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 15.08.2017, 19:02   #10
GTS
Senior Member
 
Регистрация: Jun 2017
Сообщения: 152
Благодарил(а): 3 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Wientek, 2Gi, Modbus и InputStatus

Цитата:
Сообщение от Arsie Посмотреть сообщение
Первое это стек, второе это массив.

Если вам сохранять, то нужен массив.
А по другому никак? Придется по двепеременные создавать.
GTS вне форума   Ответить с цитированием
Старый 16.08.2017, 11:42   #11
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Wientek, 2Gi, Modbus и InputStatus

Цитата:
Сообщение от GTS Посмотреть сообщение
А по другому никак? Придется по двепеременные создавать.
Кодесис, когда вы ставите галочку, выставляет невидимый вам условный ARRAY(). Всё то же самое происходит с точки зрения контроллера: выделяется память, куда и происходит сохранение.

Создайте две переменные. Чтение одной переменной и запись другой переменной это ровно то же самое по трафику и задержкам, что чтение и запись одной и той же переменной. Это в любом случае чтение и в любом случае запись.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 16.08.2017, 12:16   #12
GTS
Senior Member
 
Регистрация: Jun 2017
Сообщения: 152
Благодарил(а): 3 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Wientek, 2Gi, Modbus и InputStatus

Цитата:
Сообщение от Arsie Посмотреть сообщение
Кодесис, когда вы ставите галочку, выставляет невидимый вам условный ARRAY(). Всё то же самое происходит с точки зрения контроллера: выделяется память, куда и происходит сохранение.

Создайте две переменные. Чтение одной переменной и запись другой переменной это ровно то же самое по трафику и задержкам, что чтение и запись одной и той же переменной. Это в любом случае чтение и в любом случае запись.
Я с вами согласен, но в кодесисе я не создаю 2 переменные, этим и удобней для пользователя. Может в будущем допилите в Лоджике. Спасибо за ответ.
GTS вне форума   Ответить с цитированием
Старый 16.08.2017, 13:05   #13
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Wientek, 2Gi, Modbus и InputStatus

Цитата:
Сообщение от GTS Посмотреть сообщение
Я с вами согласен, но в кодесисе я не создаю 2 переменные, этим и удобней для пользователя. Может в будущем допилите в Лоджике. Спасибо за ответ.
В данном случае кодесис идёт против основ протокола modbus, размещая данные для чтения в переменной для выхода.

Учитывая, что создание двух переменных в лоджике происходит раз в 10 быстрее, чем создание одной переменной в кодесисе, ваше предложение замедлить и усложнить процедуру не могу признать актуальным в нынешних условиях.


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

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

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2Gi не выходит на связь chaos1727 Вопросы о SMH-2G(i) 12 19.04.2019 18:44
Honeywell MVC80-DH10M LordN Связь с внешним миром 30 28.11.2016 14:21
Segnetics 2Gi и несколько ЧП через Modbus matvey_antohov Вопросы о SMH-2G(i) 3 22.11.2016 06:19
диспетчеризация smh 2gi vladsl74 Вопросы о SMH-2G(i) 30 29.06.2016 22:22
Как изменить формат данных Modbus в 2Gi на 8N1? AlekSir Связь с внешним миром 29 23.04.2013 09:42


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


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