Segnetics

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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.05.2020, 18:21   #1
Goryachev
Новичок
 
Регистрация: Oct 2018
Сообщения: 20
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Modbus функция 22 (16h)

Здравствуйте. По долгу службы я связан с автоматикой тепловых пунктов в г. Москве.
Так вот тут в основном применяются модульные контроллеры одного "известного в узких кругах" московского производителя.
Сам контроллер никто кроме производителя не ремонтирует и не программирует - отсюда цены на ремонт у них космические.
Предположил я, что эти контроллеры общаются со своими модулями по протоколу modbus. Просканировал и оказалось что да, обычный modbus. Только вот беда - некоторые модули пишутся функцией 22 (16h).
Можно ли научить контроллеры Сегнетикс писать функцией 22?
Больно уж хочется выкинуть все эти контроллеры, оставив только их модули и связать их, например, с Тримом.
Goryachev вне форума   Ответить с цитированием
Старый 18.05.2020, 00:59   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Goryachev Посмотреть сообщение
Здравствуйте. По долгу службы я связан с автоматикой тепловых пунктов в г. Москве.
Так вот тут в основном применяются модульные контроллеры одного "известного в узких кругах" московского производителя.
Сам контроллер никто кроме производителя не ремонтирует и не программирует - отсюда цены на ремонт у них космические.
Предположил я, что эти контроллеры общаются со своими модулями по протоколу modbus. Просканировал и оказалось что да, обычный modbus. Только вот беда - некоторые модули пишутся функцией 22 (16h).
Можно ли научить контроллеры Сегнетикс писать функцией 22?
Больно уж хочется выкинуть все эти контроллеры, оставив только их модули и связать их, например, с Тримом.
Что делает функция 16h?


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

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

Я не силён в этих дебрях. Википедия вот что говорит : 22 (0x16) — запись в один регистр хранения с использованием маски «И» и маски «ИЛИ» (Mask Write Register).

Запрос выглядит так : 41 16 00 02 FF F0 00 01 7A 11
Ответ повторяет запрос.

В результате включается один из дискретных выходов модуля.
При таком запросе отключается: 41 16 00 02 FF F0 00 00 BB D1
Goryachev вне форума   Ответить с цитированием
Старый 18.05.2020, 06:52   #4
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 125
Благодарил(а): 239 раз(а)
Поблагодарили: 161 раз(а) в 153 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Goryachev Посмотреть сообщение
Я не силён в этих дебрях. Википедия вот что говорит : 22 (0x16) — запись в один регистр хранения с использованием маски «И» и маски «ИЛИ» (Mask Write Register).

Запрос выглядит так : 41 16 00 02 FF F0 00 01 7A 11
Ответ повторяет запрос.

В результате включается один из дискретных выходов модуля.
При таком запросе отключается: 41 16 00 02 FF F0 00 00 BB D1
я бы попробовал для начала попытаться сделать то же самое используя функции 5/6 и 15/16, возможно все получится


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Старый 18.05.2020, 11:14   #5
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Goryachev Посмотреть сообщение
Википедия вот что говорит : 22 (0x16)
LordN дело говорит.

Я ещё добавлю, что то, что говорит Вики совсем необязательно в таком виде поддерживается модулями.


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

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

Всё, что советует LordN я уже перепробовал в самом начале своего пути... Дело в том, что остальные модули (дискретного ввода, аналогового ввода, дискретного вывода с электронными выходными ключами я довольно быстро "нащупал" и они все читаются функцией 3 и пишутся функцией 16, соответственно Тримом я с ними связываюсь без проблем. А вот с с модулем 4 релейных выхода что только не перепробовал. Потом уже просканировал сеть на работающем приборе и увидел эту 22 функцию... Попробовал в программе-терминале сам вручную повторить такие запросы с функцией 22 - всё записывается, релюшки щёлкают.
Обидно получается, что все модули победил, а только эти нет.
Нельзя ли реализовать эту 22 функцию в сегнетиксе? Вдруг это не так уж сложно)).
Goryachev вне форума   Ответить с цитированием
Старый 18.05.2020, 12:05   #7
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Goryachev Посмотреть сообщение
Нельзя ли реализовать эту 22 функцию в сегнетиксе? Вдруг это не так уж сложно)).
https://dl.segnetics.com/PRODUCTS/SMH2Gi/C/docs/

https://dl.segnetics.com/PRODUCTS/TRIM5/C/


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

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

То, что реализовать это можно, я не сомневаюсь. Дело в том, что я не обладаю для этого достаточными знаниями. В противном случае и писать бы сюда не стал.
Сформулирую вопрос иначе: Кто нибудь из форумчан готов взяться за реализацию этой самой 22 (16h) функции, в частности в контроллере Trim-5?
С удовольствием рассмотрю ваши предложения, разумеется не за спасибо.
Goryachev вне форума   Ответить с цитированием
Старый 18.05.2020, 13:55   #9
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Goryachev Посмотреть сообщение
То, что реализовать это можно, я не сомневаюсь. Дело в том, что я не обладаю для этого достаточными знаниями. В противном случае и писать бы сюда не стал.
Сформулирую вопрос иначе: Кто нибудь из форумчан готов взяться за реализацию этой самой 22 (16h) функции, в частности в контроллере Trim-5?
С удовольствием рассмотрю ваши предложения, разумеется не за спасибо.
Там фишка в том, что требуется две степени квалификации для решения данной задачи:

1) Придётся писать собственный полный драйвер modbus. Просто "добавить" не получится - порт используется ядром SMLogix. Средняя по сложности задача.

2) Выполнить перехват трафика по интерфейсу с подменой некоторых функций - работы гораздо меньше, но квалификация требуется предельная.

Программисты такого уровня недёшевы.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 18.05.2020, 13:59   #10
alex.vas
Senior Member
 
Аватара для alex.vas
 
Регистрация: Jul 2009
Сообщения: 249
Благодарил(а): 0 раз(а)
Поблагодарили: 9 раз(а) в 9 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Goryachev Посмотреть сообщение
Всё, что советует LordN я уже перепробовал в самом начале своего пути... Дело в том, что остальные модули (дискретного ввода, аналогового ввода, дискретного вывода с электронными выходными ключами я довольно быстро "нащупал" и они все читаются функцией 3 и пишутся функцией 16, соответственно Тримом я с ними связываюсь без проблем. А вот с с модулем 4 релейных выхода что только не перепробовал. Потом уже просканировал сеть на работающем приборе и увидел эту 22 функцию... Попробовал в программе-терминале сам вручную повторить такие запросы с функцией 22 - всё записывается, релюшки щёлкают.
Обидно получается, что все модули победил, а только эти нет.
Нельзя ли реализовать эту 22 функцию в сегнетиксе? Вдруг это не так уж сложно)).
Может модуль проще поменять, или взять перенести релейные выхода на модуль дискретного выхода, раз с ним есть связь.
alex.vas вне форума   Ответить с цитированием
Старый 18.05.2020, 22:38   #11
Goryachev
Новичок
 
Регистрация: Oct 2018
Сообщения: 20
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Modbus функция 22 (16h)

Программисты такого уровня, думаю, найдутся в компании Сегнетикс. Я ж ведь не какой то эксклюзивный протокол вам предлагаю запилить, а всего лишь расширить стандартный modbus. Подумайте, повторю, БОЛЬШИНСТВО тепловых пунктов в Москве собрано на этом оборудовании. Мне кажется многие согласились бы вместо того, чтобы выкладывать 50к за ремонт контроллера (который через год опять просится в ремонт) заменить его на что то более открытое и привлекательное для пользователя, например на контроллер от Сегнетикс.
Сохранив при этом все модули ввода-вывода, не переделывая вовсе шкаф автоматики.
Мне кажется это может быть выгодно и вам, не в последнюю очередь.
Goryachev вне форума   Ответить с цитированием
Старый 18.05.2020, 22:47   #12
New
Senior Member
 
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили: 22 раз(а) в 22 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Goryachev Посмотреть сообщение
БОЛЬШИНСТВО тепловых пунктов в Москве собрано на этом оборудовании.
Вы правда не знаете почему так?


__________________
RTFM
New вне форума   Ответить с цитированием
Старый 18.05.2020, 22:59   #13
alex.vas
Senior Member
 
Аватара для alex.vas
 
Регистрация: Jul 2009
Сообщения: 249
Благодарил(а): 0 раз(а)
Поблагодарили: 9 раз(а) в 9 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Goryachev Посмотреть сообщение
Программисты такого уровня, думаю, найдутся в компании Сегнетикс. Я ж ведь не какой то эксклюзивный протокол вам предлагаю запилить, а всего лишь расширить стандартный modbus. Подумайте, повторю, БОЛЬШИНСТВО тепловых пунктов в Москве собрано на этом оборудовании. Мне кажется многие согласились бы вместо того, чтобы выкладывать 50к за ремонт контроллера (который через год опять просится в ремонт) заменить его на что то более открытое и привлекательное для пользователя, например на контроллер от Сегнетикс.
Сохранив при этом все модули ввода-вывода, не переделывая вовсе шкаф автоматики.
Мне кажется это может быть выгодно и вам, не в последнюю очередь.
У сигнетикса есть свое хорошее оборудование, зачем им тратить силы на подключение ваших модулей.
Может вам замутить переделку на сових теплопунктах и перейти на Сигнетикс полностью.
Вы бы хоть фото выложили этих модулей, может кто-то уже занимался.
alex.vas вне форума   Ответить с цитированием
Старый 19.05.2020, 09:45   #14
Bayk
Senior Member
 
Регистрация: Oct 2019
Адрес: Курск
Сообщения: 474
Благодарил(а): 11 раз(а)
Поблагодарили: 10 раз(а) в 10 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от alex.vas Посмотреть сообщение
У сигнетикса есть свое хорошее оборудование, зачем им тратить силы на подключение ваших модулей.
поддержу! тем более топикстартер говорит что у него не завелся только один единственный модуль с 4 релейными выходами! пусть не полностью. но один модуль можно добавить и выбрать его такой конфигурации, чтобы заменить максимум существующих, если они рядом стоят. если вы что-то модернизируете, то скорее всего оно уже не новое. ввязываться в эту авантюру (с разбором модбас) для старого оборудования, которое в любой момент может крякнуть - это не есть правильный путь.
Bayk вне форума   Ответить с цитированием
Старый 19.05.2020, 11:22   #15
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 125
Благодарил(а): 239 раз(а)
Поблагодарили: 161 раз(а) в 153 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Goryachev Посмотреть сообщение
Программисты такого уровня, думаю, найдутся в компании Сегнетикс. Я ж ведь не какой то эксклюзивный протокол вам предлагаю запилить, а всего лишь расширить стандартный modbus. Подумайте, повторю, БОЛЬШИНСТВО тепловых пунктов в Москве собрано на этом оборудовании. Мне кажется многие согласились бы вместо того, чтобы выкладывать 50к за ремонт контроллера (который через год опять просится в ремонт) заменить его на что то более открытое и привлекательное для пользователя, например на контроллер от Сегнетикс.
Сохранив при этом все модули ввода-вывода, не переделывая вовсе шкаф автоматики.
Мне кажется это может быть выгодно и вам, не в последнюю очередь.
никто не будет заниматься 22й функцией ради одного модуля. цены не сопостовимы. это все равно что переделать порш 911 в камаз ради одной поездки


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Старый 19.05.2020, 14:58   #16
ujin
Senior Member
 
Аватара для ujin
 
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили: 10 раз(а) в 10 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Это не выгодно никому.
1. Заказчик тратит деньги на техобслуживание - это накладные расходы. Не увеличивается капитализация. Не списывается старое оборудование.
2. Подрядчик зависит от предыдущего подрядчика и его качества работ.
3. Старый производитель оборудования теряет деньги на обслуживании.
4. Новый производитель оборудования не получает прибыль от продаж нового оборудования.
Больше всего это не выгодно Вам. Полная ответственность за минимальные деньги.


__________________
В жизни 2 правила успеха:
1 Не говори всего что знаешь
2 ...
ujin вне форума   Ответить с цитированием
Старый 21.05.2020, 13:32   #17
Goryachev
Новичок
 
Регистрация: Oct 2018
Сообщения: 20
Благодарил(а): 1 раз(а)
Поблагодарили: 1 раз в 1 сообщении
По умолчанию Ответ: Modbus функция 22 (16h)

Арсений, мне кажется, что вы как никто хорошо себе представляете объём работ для решения моей задачи. А соответственно можете назвать стоимость этого решения. Если не трудно, озвучте сумму в рублях.
Или какие то принципы вам не позволяют этого сделать?
Goryachev вне форума   Ответить с цитированием
Старый 21.05.2020, 13:37   #18
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Goryachev Посмотреть сообщение
Арсений, мне кажется, что вы как никто хорошо себе представляете объём работ для решения моей задачи. А соответственно можете назвать стоимость этого решения. Если не трудно, озвучте сумму в рублях.
Или какие то принципы вам не позволяют этого сделать?
Чтобы озвучить сумму в рублях, нужно провести исследование, как и что нужно изменять и дорабатывать. Драйверы, интерфейсы. Это примерно треть всей работы по доработке.

Т.к. заранее понятно, что дорабатываться ничего не будет по экономическим причинам, смысла в исследовании нет. Цифру взять не откуда. Модуль FMR точно дешевле будет купить.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 21.05.2020, 20:47   #19
gcvdsv
Senior Member
 
Регистрация: Dec 2015
Сообщения: 119
Благодарил(а): 23 раз(а)
Поблагодарили: 4 раз(а) в 4 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Goryachev Посмотреть сообщение
Арсений, мне кажется, что вы как никто хорошо себе представляете объём работ для решения моей задачи. А соответственно можете назвать стоимость этого решения. Если не трудно, озвучте сумму в рублях.
Или какие то принципы вам не позволяют этого сделать?
Вам значит, для этой задачи, просто не подходит плк segnetics. Тут есть спецы для которых это вообще не проблема, но если вы не в силах написать программу на С, то самый простой вариант либо заменить модули как советовали либо выбрать плк где это реализуется штатными средствами.
Потому что даже заплатив за программу, будучи находясь в мухосранске, что то там отлаживать может стать отличным геморроем. Ведь в худшем случае придётся отлаживать свою программу и ещё другого программиста. А как показал этот форум, левые программы могут быть ещё и через задницу написаны.
В моём случае был ASCII и вместо того что бы разбираться с написанием ПО под Линукс , я взял плк который с ним работает из одной среды разработки со всем остальным. Потому что звонить специалисту с разницей в часовых поясах +7 как то не очень.
gcvdsv вне форума   Ответить с цитированием
Старый 22.05.2020, 03:58   #20
Ruslangsm
Сотрудник Segnetics
 
Аватара для Ruslangsm
 
Регистрация: Dec 2008
Адрес: Оракул отдела продаж ООО"Сегнетикс"+7(812)564-50-01
Сообщения: 411
Благодарил(а): 90 раз(а)
Поблагодарили: 28 раз(а) в 27 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Goryachev Посмотреть сообщение
Мне кажется это может быть выгодно и вам, не в последнюю очередь.
протокол на заказ как контроллер на заказ )
https://forum.segnetics.com/showthread.php?t=2159


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


Цитата:
Сообщение от Goryachev Посмотреть сообщение
Арсений, мне кажется, что вы как никто хорошо себе представляете объём работ для решения моей задачи. А соответственно можете назвать стоимость этого решения. Если не трудно, озвучте сумму в рублях.
Или какие то принципы вам не позволяют этого сделать?
вам фрилансер нужен?
проясните вопрос вам быстрее и ответят
Ruslangsm вне форума   Ответить с цитированием
Старый 30.05.2020, 00:19   #21
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 746
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Arsie Посмотреть сообщение
Чтобы озвучить сумму в рублях, нужно провести исследование, как и что нужно изменять и дорабатывать. Драйверы, интерфейсы. Это примерно треть всей работы по доработке.
Ну для начала немного изменять надо Ваш mbs. Ну и еще немного редактор карт слейвов в Лоджике.
И не так много там работы. Не с нуля же писать.

22-я и 23-я функция очень бы не помешали устройству претендующему на совместимость с modbus.
Тем более 23 функция у Вас по сути реализована для R/W(out) привычным способом через назад. Хотя иногда лишнее вычитывание и мешает.
Кстати 8-я функция для ECHO тоже реализована хоть и не в полном объеме. Да и 13-ю сделали ведь зачем-то для своих нужд.
Ответы в стиле нам оно не надо конечно очень оригинальны.

Modbus_Application_Protocol

Цитата:
Сообщение от Ruslangsm Посмотреть сообщение
протокол на заказ как контроллер на заказ )
https://forum.segnetics.com/showthread.php?t=2159
Зачем тогда Лоджик дорабатываете?
Да и протокол в характеристиках заявлен.

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

Цитата:
Сообщение от ATS+ Посмотреть сообщение
22-я и 23-я функция очень бы не помешали устройству претендующему на совместимость с modbus.
Ловите мяч обратно: отказ от использования функции 06/0F со стороны модуля, претендующего на совместимость с modbus, каг бэ немного более не помешали бы.



Цитата:
Сообщение от ATS+ Посмотреть сообщение
Ответы в стиле нам оно не надо конечно очень оригинальны.
Принцип разумной достаточности: с 2004 года это первый запрос на функции 22/23.


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

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

Цитата:
Сообщение от Arsie Посмотреть сообщение
Ловите мяч обратно: отказ от использования функции 06/0F со стороны модуля, претендующего на совместимость с modbus, каг бэ немного более не помешали бы.
Ну не надо сравнивать контроллер и периферийный модуль. Простенькая периферия вообще может понимать одну команду.
ATS сейчас на форуме   Ответить с цитированием
Старый 01.06.2020, 14:25   #24
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от ATS+ Посмотреть сообщение
Ну не надо сравнивать контроллер и периферийный модуль. Простенькая периферия вообще может понимать одну команду.
Если честно, я вообще в душе не понимаю, почему там релюхи через маски включаются. Средний автоматчик мозг сломает, пока нормально ими управлять научится.


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

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

Цитата:
Сообщение от Arsie Посмотреть сообщение
Если честно, я вообще в душе не понимаю, почему там релюхи через маски включаются. Средний автоматчик мозг сломает, пока нормально ими управлять научится.
Средний-то как раз и не сломает - это типовой шаблон на Сименсе. Вот как без масок - это для него может оказаться выше понимания.
Маски очень хорошо работают там, где программист начинал с LD и ГОСТовских аппаратно-зависимых языков автоматизации в 80-90-х (таких еще немало, и их уровень зачастую выше, чем у молодежи). Чуется, оттуда же родом и поддержка этих функций в Modbus'е...
ailcat вне форума   Ответить с цитированием
Старый 01.06.2020, 15:32   #26
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 746
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Arsie Посмотреть сообщение
Если честно, я вообще в душе не понимаю, почему там релюхи через маски включаются. Средний автоматчик мозг сломает, пока нормально ими управлять научится.
А я не понимаю сладкую парочку для R/W(out) когда чистая запись невозможна. А чтение модуль может и не поддерживать. Начинаются ошибки и тормоза обмена.
Явно огород делали для себя и почему не использовали 23-ю где все идет за одну транзакцию непонятно.
ATS сейчас на форуме   Ответить с цитированием
Старый 01.06.2020, 15:38   #27
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от ailcat Посмотреть сообщение
Средний-то как раз и не сломает - это типовой шаблон на Сименсе. Вот как без масок - это для него может оказаться выше понимания.
Маски очень хорошо работают там, где программист начинал с LD и ГОСТовских аппаратно-зависимых языков автоматизации в 80-90-х (таких еще немало, и их уровень зачастую выше, чем у молодежи). Чуется, оттуда же родом и поддержка этих функций в Modbus'е...
Спасибо, почитаю, откуда ноги растут.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 01.06.2020, 15:46   #28
ujin
Senior Member
 
Аватара для ujin
 
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили: 10 раз(а) в 10 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Arsie Посмотреть сообщение
Если честно, я вообще в душе не понимаю, почему там релюхи через маски включаются. Средний автоматчик мозг сломает, пока нормально ими управлять научится.
Функция 05 (0x05) Write Single Coil. Записывается один выход за один запрос. Много запросов, чтобы записать реле выборочно и остальные не трогать
Функция 15 (0x0F) Write Multiple Coils. Записываются все релюхи за один запрос. Один запрос, но невозможно пропустить релюху.
Функция 22 (0x16) Mask Write Register. Можно записать одним запросом одну выборочную релюху а остальные не трогать.
Можно еще сначала прочитать все релюхи, затем модифицировать свою, затем записать все. Но при мультимастерном доступе (как такое организовать на RTU тема отдельная, а на TCP так вообще запросто) происходят коллизии, когда один прочитал, второй в это время модифицировал, первый вернул на место.


__________________
В жизни 2 правила успеха:
1 Не говори всего что знаешь
2 ...
ujin вне форума   Ответить с цитированием
Старый 01.06.2020, 15:49   #29
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 024
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от ujin Посмотреть сообщение
Функция 05 (0x05) Write Single Coil. Записывается один выход за один запрос. Много запросов, чтобы записать реле выборочно и остальные не трогать
Функция 15 (0x0F) Write Multiple Coils. Записываются все релюхи за один запрос. Один запрос, но невозможно пропустить релюху.
Функция 22 (0x16) Mask Write Register. Можно записать одним запросом одну выборочную релюху а остальные не трогать.
Можно еще сначала прочитать все релюхи, затем модифицировать свою, затем записать все. Но при мультимастерном доступе (как такое организовать на RTU тема отдельная, а на TCP так вообще запросто) происходят коллизии, когда один прочитал, второй в это время модифицировал, первый вернул на место.
Я это всё понимаю и представляю, зачем это, например, в системах с десятками и сотнями релюх или "релюх". Понимаю, зачем это в задачах управления освещением в мультимастере.

А вот зачем это отдельному модулю с маленьким количеством, да ещё одновременно без R/W C/R - я этого не понимаю. Тем более, в вентиляшке.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 01.06.2020, 16:08   #30
ujin
Senior Member
 
Аватара для ujin
 
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили: 10 раз(а) в 10 сообщениях
По умолчанию Ответ: Modbus функция 22 (16h)

Цитата:
Сообщение от Arsie Посмотреть сообщение
Я это всё понимаю и представляю, зачем это, например, в системах с десятками и сотнями релюх или "релюх". Понимаю, зачем это в задачах управления освещением в мультимастере.

А вот зачем это отдельному модулю с маленьким количеством, да ещё одновременно без R/W C/R - я этого не понимаю. Тем более, в вентиляшке.
Например:
На планерке программисту поставили задачу сделать просто, универсально. Времени выделили до обеда вместе с тестированием.
И чтобы все работало и ничего не ломалось.


__________________
В жизни 2 правила успеха:
1 Не говори всего что знаешь
2 ...
ujin вне форума   Ответить с цитированием
Ответ

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

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

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

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, время: 15:57.


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