Segnetics

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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.06.2020, 16:16   #31
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от ujin Посмотреть сообщение
Например:
На планерке программисту поставили задачу сделать просто, универсально. Времени выделили до обеда вместе с тестированием.
И чтобы все работало и ничего не ломалось.
Вентустановкой управляют 2-3-4-5 контроллеров? Пока не могу понять проблемы, если контроллер один.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 01.06.2020, 16:24   #32
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Arsie Посмотреть сообщение
А вот зачем это отдельному модулю с маленьким количеством, да ещё одновременно без R/W C/R - я этого не понимаю.
По стандарту модбаса имеет право быть. Да и модуль не просто вывод.

Цитата Тем более, в вентиляшке.
и не вентиляшка.
ATS вне форума   Ответить с цитированием
Старый 01.06.2020, 16:44   #33
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата
Сообщение от ATS+ Посмотреть сообщение
По стандарту модбаса имеет право быть. Да и модуль не просто вывод.
Мы соответствуем древнему Rev J. стандарта. Про неё там:
Description

Modifies the contents of a specified 4XXXX register using a combination of an
AND mask, an OR mask, and the register’s current contents. The function can be used to set or clear individual bits in the register. Broadcast is not supported.

This function is supported in the 984–785 controller only.
Другими словами, имеет право и не быть. В отличии от функций 05/06. Там в стандарте вообще много всего необязательного есть, в том числе и пересылка файлов.



Цитата
Сообщение от ATS+ Посмотреть сообщение
и не вентиляшка.
Хорошо, ИТП.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 01.06.2020, 17:11   #34
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Arsie Посмотреть сообщение
Мы соответствуем древнему Rev J. стандарта.
.......
Другими словами, имеет право и не быть. В отличии от функций 05/06.
Так однако нет же у Вас и 6/16 в чистом виде.

Цитата Там в стандарте вообще много всего необязательного есть, в том числе и пересылка файлов.
Да можно вообще всё считать не обязательным.
ATS вне форума   Ответить с цитированием
Старый 01.06.2020, 17:39   #35
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Arsie Посмотреть сообщение
А вот зачем это отдельному модулю с маленьким количеством, да ещё одновременно без R/W C/R - я этого не понимаю. Тем более, в вентиляшке.
Помнится, вы же и говорили, что SMH2Gi (и, далее, Trim, SMH4, вот про Матрикс еще не успели) - это универсальные контроллеры, а не только для вентиляции.
А на деле, выходит - всё-таки только вентиляшка, ага?
P.S. Градирня открытого типа (производителя из очень южной азии умолчим), 12 клапанов, 6 насосов - все управляется через реле. Чем управление отдельными клапанами или насосами при изменении производительности не задача для 22-й функции?

P.P.S.
А вот обязательность чтения ппосле операции записи - надо убирать, как страшный сон. Даже в ревизии J этого "улучшизма" не наблюдается, а нервы он портит регулярно, стоит только сделать шаг влево или шаг вправо от возможностей Конструкторов...
ailcat вне форума   Ответить с цитированием
Старый 01.06.2020, 17:48   #36
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от ailcat Посмотреть сообщение
P.S. Градирня открытого типа (производителя из очень южной азии умолчим), 12 клапанов, 6 насосов - все управляется через реле. Чем управление отдельными клапанами или насосами при изменении производительности не задача для 22-й функции?
Управляется несколькими контроллерами? Каков аргумент использования именно 22?


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 01.06.2020, 17:54   #37
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Arsie Посмотреть сообщение
Управляется несколькими контроллерами? Каков аргумент использования именно 22?
Одним, естественно.
А аргумент - возможность управления каскадами "по наработке", независимо друг от друга (ну как в ротации насосов) баз извращений с вычиткой, маскированием и обратной записью ради закрытия клапана или запуска насоса.

UPD:
Да, я в курсе, что возможен и порегистровый вариант.
ailcat вне форума   Ответить с цитированием
Старый 01.06.2020, 18:20   #38
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от ailcat Посмотреть сообщение
Одним, естественно.
А аргумент - возможность управления каскадами "по наработке", независимо друг от друга (ну как в ротации насосов) баз извращений с вычиткой, маскированием и обратной записью ради закрытия клапана или запуска насоса.
Ну так ротация - это заглушить одно, запустить другое. 22 функция здесь скорее помеха и переизбыток сложности.


Я ж писал ранее, в мультимастере в задаче управления тем же освещением вопросов нет. Выключатель пишет бит по маске и по адресу и в душе не чает, что там с остальными битами и кто сейчас их пишет. Это несомненно удобно. Хотя другой вопрос, что там и обычных битов хватает. Как и в вашем примере.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 01.06.2020, 19:55   #39
Goryachev
Новичок
 
Регистрация: Oct 2018
Сообщения: 20
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Modbus функция 22 (16h)

Дайте свои 5 копеек вставлю, а то развел тут костёр...
Меня бы устроил такой вариант: не дополнять драйвер или что там ещё, не знаю тонкостей, для полноценной реализации функции 22 с её "масками" и прочими сказками, а лишь сделать так, чтобы в запросе на запись функцией 16 на конкретный адрес вместо 16 (10h) во втором байте отправлялось 22(16h) с корректным вычислением контрольной суммы запроса.
Проверил, так тоже получается управлять этим модулем, хоть и не так, как задумал производитель.
Это сложно сделать?
Goryachev вне форума   Ответить с цитированием
Старый 01.06.2020, 22:28   #40
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата
Сообщение от Goryachev Посмотреть сообщение
Это сложно сделать?
Этого категорически НЕЛЬЗЯ делать, т.к. появляется неопределенность в поведении миллионов устройств, использующих функцию 16 в соответствии со стандартом.

P.S. А в вашем случае, чем извращаться с поддержкой древней железки, проще (и, скорее всего, дешевле) будет поменять её на новую, знающую о функциях 6 и 16.
Даже для госструктуры это проще.


Добавлено через 8 минут


Цитата:
Сообщение от Arsie Посмотреть сообщение
Ну так ротация - это заглушить одно, запустить другое. 22 функция здесь скорее помеха и переизбыток сложности
в градирне 12 форсунок. под режим нужны 9. Что мешает организовать процесс ротации, чтобы и три "лишние" тоже подработали? Заодно и ресурс клапанов подравнять...


Цитата:
Сообщение от Arsie Посмотреть сообщение
Я ж писал ранее, в мультимастере в задаче управления тем же освещением вопросов нет
Хех, схожую задачу решал (таки тоже по освещению - вот же ж вы угадали!). Без мультимастера, но с местным управлением - тыкнул кнопочку - включилось, тыкнул еще - отключилось. И таких кнопочек - 6 каналов на УСО, поддерживающих только запись регистров целиком, вот прям обратный случай железяки топикстартера (и никогда не знаешь, что там включено вручную, что отключено. Но вот что-то надо включить сейчас скадой, или отключить). Приходилось вычитывать состояние, маскировать, и записывать взад.

Последний раз редактировалось ailcat, 01.06.2020 в 22:39
ailcat вне форума   Ответить с цитированием
Старый 01.06.2020, 23:00   #41
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата
Сообщение от Goryachev Посмотреть сообщение
Меня бы устроил такой вариант: не дополнять драйвер или что там ещё, не знаю тонкостей, для полноценной реализации функции 22 с её "масками" и прочими сказками, а лишь сделать так, чтобы в запросе на запись функцией 16 на конкретный адрес вместо 16 (10h) во втором байте отправлялось 22(16h) с корректным вычислением контрольной суммы запроса.
А все равно это править в mbs, проще добавить 22-ю.
Для двух масок она по структуре и будет как 16-я при передаче двух регистров.

Запросы и ручками в контроллере подправить можно, но mbs их не понимает.

Цитата:
Сообщение от ailcat Посмотреть сообщение
А в вашем случае, чем извращаться с поддержкой древней железки, проще (и, скорее всего, дешевле) будет поменять её на новую, знающую о функциях 6 и 16.
Древней? Да она пожалуй даже моложе Трима.
Причем есть еще две её сестрицы которые функции 6 и 16 вполне понимают...


Цитата:
Сообщение от Arsie Посмотреть сообщение
Мы соответствуем древнему Rev J. стандарта
......
This function is supported in the 984–785 controller only.

Другими словами, имеет право и не быть.
Арсений! Передернул!
Другими словами некоторые Модиконы 25 лет назад уже понимали эту функцию...

Современным видимо не дано.

Последний раз редактировалось ATS, 01.06.2020 в 23:21
ATS вне форума   Ответить с цитированием
Старый 02.06.2020, 01:29   #42
Goryachev
Новичок
 
Регистрация: Oct 2018
Сообщения: 20
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата P.S. А в вашем случае, чем извращаться с поддержкой древней железки, проще (и, скорее всего, дешевле) будет поменять её на новую, знающую о функциях 6 и 16.
Даже для госструктуры это проще.
Я пока ещё, слава богу, не в госструктуре. Люди из этих структур не пишут на на этих форумах. Не надо им это. Я сам по-себе. И не сэкономить я хочу вовсе, а просто немного "подвинуть" эту самую структуру, которая монополизировала рынок автоматизации тепловых пунктов в столице. Справедливости хочу, как бы глупо это не звучало...
Конечно глупо. И конечно не подвину. Но отчего ж не попробовать...


Добавлено через 15 минут


И ведь правда, Арсений, отчего ж вашим программистам не лень по несколько раз в году выпускать лоджик новой версии? Может таки в новой-новой версии вместо подтирания косяков версий предъидущих немного расширить функционал? Это я про 22 функцию)))
Тем более, как показала тема, не один я проявил к этому интерес.
Goryachev вне форума   Ответить с цитированием
Старый 02.06.2020, 11:33   #43
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Позвоните в отдел продаж, сделайте заказ на N-контроллеров, скажите, что в них нужна 22 функция. Дальше по ситуации


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. вне форума   Ответить с цитированием
Старый 02.06.2020, 14:19   #44
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Ilya J. Посмотреть сообщение
Позвоните в отдел продаж, сделайте заказ на N-контроллеров, скажите, что в них нужна 22 функция. Дальше по ситуации
С условием возврата по двойной цене в случае проблем устроит?

Всего-то проблем добавить обработку 22-й в mbs по аналогии с 16-й.
Слейву 2 регистра из шаредов отправить и ответ проверить.

При наличии исходника там копипаста на полчаса.

Ядро лоджика даже трогать при этом не надо.
А уж запросики для слейва ручками подправим и лишние чтения выбросим.
ATS вне форума   Ответить с цитированием
Старый 02.06.2020, 16:34   #45
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата
Сообщение от ATS+ Посмотреть сообщение
С условием возврата по двойной цене в случае проблем устроит?

Всего-то проблем добавить обработку 22-й в mbs по аналогии с 16-й.
Слейву 2 регистра из шаредов отправить и ответ проверить.

При наличии исходника там копипаста на полчаса.

Ядро лоджика даже трогать при этом не надо.
А уж запросики для слейва ручками подправим и лишние чтения выбросим.
Вы же знаете, что здесь не решаются торговые вопросы...


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. вне форума   Ответить с цитированием
Старый 02.06.2020, 19:11   #46
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 125
Благодарил(а): 239 раз(а)
Поблагодарили: 161 раз(а) в 153 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

я вообще не понимаю смысла 22й функции.


__________________
C уважением, LordN
LordN сейчас на форуме   Ответить с цитированием
Старый 02.06.2020, 20:26   #47
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата
Сообщение от LordN Посмотреть сообщение
я вообще не понимаю смысла 22й функции.
Возможность изменения битов регистров хранения.
Код:
The function’s algorithm is:
  
Result = (Current Contents AND And_Mask) OR (Or_Mask AND (NOT And_Mask))  

For example:   
                    Hex  Binary 
Current Contents=   12  0001 0010 
And_Mask =          F2  1111 0010 
Or_Mask =           25  0010 0101 
 
(NOT And_Mask)=     0D  0000 1101 
 
Result =            17  0001 0111
Или не сталкивались с устройствами в которых адресные пространства регистров не совпадают?
ATS вне форума   Ответить с цитированием
Старый 02.06.2020, 21:49   #48
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 125
Благодарил(а): 239 раз(а)
Поблагодарили: 161 раз(а) в 153 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата
Сообщение от ATS+ Посмотреть сообщение
Возможность изменения битов регистров хранения.
Код:
The function’s algorithm is:
  
Result = (Current Contents AND And_Mask) OR (Or_Mask AND (NOT And_Mask))  

For example:   
                    Hex  Binary 
Current Contents=   12  0001 0010 
And_Mask =          F2  1111 0010 
Or_Mask =           25  0010 0101 
 
(NOT And_Mask)=     0D  0000 1101 
 
Result =            17  0001 0111
Или не сталкивались с устройствами в которых адресные пространства регистров не совпадают?
неа. последнее время чаще другое - что биты, что регистры читаются функциями 0/1 и 3/4.


__________________
C уважением, LordN
LordN сейчас на форуме   Ответить с цитированием
Ответ

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция Modbus 0Dh Vovanchik Вопросы о Trim5 1 27.08.2018 13:55
Honeywell MVC80-DH10M LordN Связь с внешним миром 30 28.11.2016 14:21
Конвертер карты памяти в файл конфигурации Modbus Universal MasterOPC Server 32 Arsie Библиотека макросов 0 25.04.2016 13:38
Функция 0Dh в Modbus TCP Antistatic Вопросы о SMH-2G(i) 1 25.03.2013 15:59
Важная функция в релизе 3.17 Jaffar SMLogix 0 23.03.2009 15:36


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


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