|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
09.09.2014, 09:43 | #31 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
И опять вопрос об одном (отключать вычитывание после записи - "недокументированной функцией" в виде задания периода опроса как отрицательного значения), ответ на другое (о длительности периода опроса)...
Хотя где-то (был уверен, что здесь - но, видимо, ошибаюсь) уже отвечено, что гораздо правильнее будет сделать направление W(out), нежели предложенный мной вариант (Но его вы - ни в коем случае делать не будете, потому что даже если W(out) нигде в АВОК/ИТП не использовать - совместимость контроллеров зараз пропадет ) |
09.09.2014, 10:25 | #32 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
Я же вроде разжевал вам всё. Но сейчас у меня полное ощущение, что все мои объяснения ушли просто вникуда. Во вселенскую пустоту. Поэтому на этот раз я отвечу просто и без объяснений: вы не правы в своих размышлениях. Почему? Вспоминайте, это было всего лишь вчера. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
09.09.2014, 13:12 | #33 | |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
1) я предожил вариант (обманка через "отрицательные значения", чтобы не вычитывать свежезаписанный регистр слейва) - но согласился с вашими аргументами: грубо и некрасиво. Засим - "вычеркиваем" обманку. 2) вами было упомянуто, что уже давно думали о направлении "W(out)" (установка coil без последующего вычитывания их состояния), но это нельзя реализовать на пикселях и 2010. 3) я предложил реализовать W(out) только для 2G и 2Gi 4) вы заявили о том, что тогда пропадет совместимость. 5) я предположил, что обратная совместимость (2G/2Gi --> 2010/Pixel) врядли будет кем-то востребована. 6) вы аргументировали тем, что в создаваемых "конструкторами" программах - вариант "запись без чтения" не используется, т.к. в штатных ситуациях всё равно надо сразу проверять, "прошла" ли запись (а еще нашелся человек, который совместимостью пользуется). Хорошо, я услышал этот аргумент. 7) далее я предложил напрпавление W(out) всё-таки реализовать для 2G/2Gi, но не использовать в генерируемых Конструкторами программах, чтоб не страдала совместимость. 8) Вдруг я благополучно узнал, что я не прав априори, ибо не услышал объяснений выше и вообще исхожу из неправильных размышлений. Вопрос: где я начал "начинать сначала", неправильно мыслить, или что там еще неправильного делать? |
|
09.09.2014, 13:22 | #34 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
09.09.2014, 17:30 | #35 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Варианты, оставленные вами открытыми:
1) вы реализуете эту возможность в следующей версии ядра 2G/2Gi, но не используете W(out) в выдаче конструкторов, чтобы "сохранилась совместимость"... 2) вы не напрягаетесь - и оставляете это ограничение "как есть", ибо из тех, кто мог бы использовать эту "опцию" - шум поднимаю только я... Пока однозначного ответа не было, хотя вы явно симпатизируете второму варианту... |
09.09.2014, 17:32 | #36 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
Но вот аргументов пока маловато за то, чтобы перетряхивать стабильно работающие драйверы и их конфигуратор. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
13.03.2017, 14:27 | #37 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Вопрос:
А что будет при попытке сделать запись по широковещательному адресу? Ведь при попытке потом вычитать по этому адресу - получится коллизия на шине (или широковещательные запросы блокируются напрочь?) |
13.03.2017, 16:05 | #38 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
Если к нашим контроллерам, то они не делают разницы между нулевым адресом и остальными. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
13.03.2017, 21:55 | #39 | |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
Суть в чем: в этом году ОВЕН снимает с производства МДВВ - предлагая заменой габаритные блоки, которые не встают под пластрон щита. Найденная альтернатива (практически единственная) имеет одно нехорошее свойство: она отвечает на широковещательный запрос чтения. Ранее уже было установлено, что после записи ваш контроллер вычитывает записанные регистры. Соответственно, после записи coil'ов (широковещательным запросом) вычитывание сразу от дюжины "аналогов МДВВ" - явно приведет к коллизии на шине RS485... Вот и встает вопрос: как эту коллизию воспримут SMH2Gi и Pixel-25??? (да и с железякой непонятно из описания, что будет - но это уже не ваша проблема) |
|
13.03.2017, 23:21 | #40 | ||
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
Вот только на кой Вам запись широковещательным запросом? Так вы запишете только одинаковые данные во все устройства. Цитата:
Если один из девайсов начнет передачу раньше, то другие просто не должны ответить. Но только если успеют распознать состояние линии. Вероятность одновременного ответа и получения полной каши очень высока. Тогда контроллер вообще не поймет ответа. Последний раз редактировалось ATS, 13.03.2017 в 23:38 |
||
14.03.2017, 00:05 | #41 | |
Senior Member
Регистрация: Dec 2011
Сообщения: 762
Благодарил(а): 1 раз(а)
Поблагодарили:
11 раз(а) в 11 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
Но можно посмотреть на этот вопрос и с другой стороны. Пусть все слейвы отвечают и их ответы не перекрываются. Ну такие дисциплинированные и сознательные слейвы. Первый ответит - 5 Второй ответит - 6 Третий ответит - 7 Но согласно стандарту ModBus адрес в ответе слейва должен совпадать с адресом в запросе. И все трое ответят с адресом 0. Пусть и мастер у нас будет умным и понимать, что может быть несколько ответов на запрос. Сначала он запишет в нужный регистр 5, потом 6, потом 7. А если глупый, и действует строго в соответствии с уставом ModBus, то запишет в нужный регистр 5 и на этом остановится. То есть отцом ребенка будет или первый или последний пользовавший женщину. Остальные отцы останутся неизвестными. Так что широковещательные запросы это не к ModBus. __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
|
14.03.2017, 01:52 | #42 | |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Исключительно для экономии времени.
У меня матричный опрос датчиков (а это - уже экономия проводов и средств). Поочередно включаю выходы и считываю состояние входов. Если устанавливать выходы поочередно для всех МДВВ - цикл почти 5 секунд (скорость сильно зажата из-за помех на почти 600-метровой линии "кривым зигзагом"). Устанавливая выходы широковещательной командой, а потом вычитывая входы поочередно со всех - с небольшим запасом укладываюсь в нормативные 2 секунды. Цитата:
И мне абсолютно по барабану, что там вычитает пиксель в ответ на широковещательную команду записи выходов ("в дело" я использую последующие индивидуальные команды чтения входов), но и отключить эту ненужную операцию Сегнетикс не позволяет. Мне важно, чтобы при этом Пиксель и 2Gi не ушли в аварию или подобный "прикол", прекратив опрос или выполнение программы. |
|
14.03.2017, 09:38 | #43 | ||
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
Цитата:
|
||
14.03.2017, 10:39 | #44 | |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
Сперва во все слейвы пишется %000001. И вычитываются входы с каждого УСО отдельно. Потом во все слейвы пишется %000010. И вычитываются входы с каждого УСО отдельно. Затем во все слейвы пишется %000100. И вычитываются входы с каждого УСО отдельно. И таким образом опрашиваются все 42 сухих контакта (в матрице 6х8). (УСО разнесены территориально. Каждое УСО - отдельная "установка", сами "установки" подобны). Просто разница в цене клемм с диодами и без - на порядок меньше разницы в цене между МДВВ (8 выходов и 12 входов, считываемых как регистр) и УСО на 42+ входов. Буджет-то традиционно в 5 раз меньше, чем нужен... UPD: впрочем, под новый проект можно попробовать продавить и 3 модуля ввода на 16 входов (любопытно, есть ли такие, чтоб все входы можно было вычитать как битовую маску, т.е. в стиле МДВВ? А то M7054 так не умеют, каждый вход отдельной командой читать надо - в нормируемое время опроса не уложусь)... Последний раз редактировалось ailcat, 14.03.2017 в 10:56 Причина: орфографию подправил, уточнил откуда матрица, добавил UPD |
|
14.03.2017, 11:12 | #45 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
Теперь о модбасе. В модбасе напрямую запрещено широковещательное чтение, поэтому что где-то вы хотите или делаете - это исключительно везение и недокументированные возможности. В модбасе нет требования поддерживать широковещательные запросы - это отдано на усмотрение производителя. В модбасе чётко описано, что на один запрос должен следовать один ответ. Понятное дело, что хотелок много. Те же модули MR работают ровно так, как вы хотите сделать и именно по тем же причинам)) Но к модбасу это имеет ровно такое же отношение, как и мухи к котлетам. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
14.03.2017, 11:21 | #46 | |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
Что же касается второй части вопроса - используйте либо такие же noname модули с большим количеством входов, либо модули производителей. Например, есть надёжные модули Delta. Я бы использовал "маленький" контроллер на каждой установке, например, пиксель с необходимым числом МРов. Он бы сам занимался вычитыванием своей "матрицы", а в сеть отдавал уже вычисленные и приведённые значения состояния матрицы. Кроме того, такая схема позволит заложить алгоритм потери связи и придать некую автономность. По деньгам тут, вероятно, будет некоторый проигрыш. Но я старался бы убедить заказчика в более высокой надёжности данного решения. __________________ В сегнетиксе не работаю с самого начала 2019 года. |
|
14.03.2017, 11:40 | #47 | |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
P.S. Что широковещательные запросы - не есть обязательная часть стандарта Modbus RTU - я в курсе. Но если с МДВВ "оно работает", то что будет с этим китайцем - история умалчивает... А нестандартное использование стандартного оборудования - увы, лепилово из продуктов жизнедеятельности "конфетки" - сродни кроилову. Но кроилово-то "сверху", а попадалово - "снизу"... |
|
14.03.2017, 11:43 | #48 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
У нас нет поддержки широковещательных запросов. Это пункт номер два из написанных мною.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
14.03.2017, 11:54 | #49 | |||
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
А проверить "на натуре" не выходит, т.к. бумаготворчество на закуп образца - проще повеситься. Цитата:
Они, конечно, несовместимы - но переписать макросы выборки не шибко трудоемко, но они будут попроще и, скорее всего, пошустрее (запас РеалТика до нормируемых 2 сек увеличится, что только в плюс). Цитата:
Так что для старой системы закупим МДВВ "в запас" (ага, и запакуем в азот ) - авось не погорят до реконструкции системы. А новую попробую изначально построить на Аконах с уходом от матричного опроса... UPD: "заказчик" - это верхнее руководство ("кроилово" на эксплуатации есть норма), исполнители и эксплуатанты - мы (и "попадалова" совсем не хочется) |
|||
14.03.2017, 14:12 | #50 | ||
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
Цитата:
|
||
14.03.2017, 15:13 | #51 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
|
14.03.2017, 15:35 | #52 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Ну так МДВВ должен его проигнорить и всё.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
14.03.2017, 16:27 | #53 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
|
15.03.2017, 08:17 | #54 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
|
15.03.2017, 10:14 | #55 |
Уволен из Сегнетикс
Регистрация: Nov 2015
Адрес: CПб/ВЛГ
Сообщения: 0
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Я совсем запутался...
Вы хотите широковещательные запросы(к адресу 0), чтобы писать одинаковую маску выходов во все модули разом, но мдвв этого не умеет? Или же мдвв игнорировал такие запросы и надо было записывать каждому своё? __________________ В сегнетиксе не работаю с самого начала 2019 года. |
15.03.2017, 11:28 | #56 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
|
15.03.2017, 11:33 | #57 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Это я исхожу из слов оппонента, что они поддерживают.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
15.03.2017, 11:48 | #58 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
|
15.03.2017, 12:05 | #59 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Цитата:
Всё логично. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
15.03.2017, 12:14 | #60 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
|