|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
04.02.2011, 10:22 | #31 | ||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Заказчик просит полный модбас
Цитата:
Цитата:
Если они останутся, конечно. . __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
||
04.02.2011, 17:18 | #32 |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Заказчик просит полный модбас
Не отвеченный технический вопрос следующий:
В контроллере Segnetics (любом) есть определенная область памяти отведенная для: Input Status, Coils, Input Registers, Holding Registers. Каким будет ответ контроллера при чтении области памяти за пределами отведенной для соответствующего запроса, при записи в область памяти за пределами области. Конкретно интересует будет ли контроллер выдавать сообщение содержащее код ошибки. И может ли пользователь(программист) контроллера каким либо образом изменить эту область памяти, изменив например тип карты памяти? Обсуждение и вопрос уважаемого avas'а именно с этого и начинался. Посмотрел Вашу ссылку про троллинг - действительно напоминает, но это не троллинг, а реакция на Ваши уклончивые "политические" ответы. И еще вопрос, на мой взгляд также стоящий обсуждения. Есть slave с некоторой картой памяти. Используем в программе переменную R (in). У нее только один выход. Никак не узнать нормальные данные от нее идут или нет. Мне лично очень не хватает у каждой сетевой переменной выхода с кодом ошибки. Функции MODBUS это сделать позволяют. Возможно ли это сделать в лоджике. Это все касается функций контроля за ошибками, так же как и предыдущие вопросы. Связывал ПЛК ОВЕН со своей программой и SMH 2010 с со своей же программой, сильно помучился без средств диагностики ошибок. Связывал SMH 2010 с частотником MITSUBISHI также помучился (надо было прибавить к адресу единицу), опять попадал не в те области памяти. Ну и по поводу тестирования раз уж заикнулся про это - буду делать. И о результатах сообщу дополнительно. Сроки назвать не могу. |
04.02.2011, 17:45 | #33 |
Senior Member
Регистрация: Jul 2007
Адрес: Калининград
Сообщения: 422
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Заказчик просит полный модбас
Любая палка имеет два конца. То же самое и с сетевыми переменными.
Конец №1: диагностика траффика нужна, никто и не спорит. И чем более продвинутая диагностика будет, тем лучше и для пусконаладчика, и для сервисмена. Конец №2: однако выход кода ошибки для каждой сетевой переменной нужен только при отладке программы. После отладки он наоборот становатся балластом, напрасно потребляющим ресурсы контроллера. А если не для каждой переменной, то достаточно грамотной обработки счетчиков блока DEVICE (Link). PS: Смещение на единицу в карте адресов сразу видно, когда при отладке видишь ожидаемые значения не в родной, а в соседней переменной. PPS: Протокол modbus подразумевает выдачу кода ошибки для запроса мастера целиком, а не для конкретной переменной в этом запросе. Имхо, обработка кодов ошибок целой группы переменных может не упростить задачу, а совсем наоборот. |
04.02.2011, 20:58 | #34 | |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Заказчик просит полный модбас
Цитата:
__________________ RTFM |
|
07.02.2011, 10:50 | #35 | |||||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Заказчик просит полный модбас
Цитата:
При записи в некоторые системные области возвращается общая ошибка - старший бит функции. Цитата:
Цитата:
Цитата:
Цитата:
. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|||||
09.02.2011, 07:00 | #36 |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Заказчик просит полный модбас
Спасибо за ответы. В ближайшее время и помучаю контроллеры. Как раз 3 объекта в наладке и все типы контроллеров кроме 2Gi. И в запасе все типы есть.
Опыт приходит пропорционально выведенному из строя оборудованию. |
08.04.2011, 17:46 | #37 |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Заказчик просит полный модбас
Некоторые результаты работы с MODBUS.
Сеть из 9 приборов. SMH2010 (далее планируется мастером), восемь слейвов PIXEL. Подключил компьютер к общей шине, установил всем свои адреса. Первое действие - замена ядра Pixel. Попытка обновить ядро контроллера без отключения остальных от сети - выдается ошибка тип контроллера не совпадает. В описании Pixel есть порядок загрузки ядра через гипертерминал, а при помощи SM Logix описания нет, хотя кнопка(Button) обновить ядро есть и работает. Однако нет прямого указания, что никого на линии не должно быть, кроме обновляемого контроллера. Результат - обновления ядра без отключения остальных на линии невозможно. Второе действие. При программировании контроллера Pixel без отключения остальных, программа на остальных сбивается. Т.е вроде все работает, а логике не поддается. Подключиться и проверить, сбилось что нибудь или не сбилось невозможно, так как при подключении программа заливается снова. Компоновки были отладочные. Вопрос как правильно выполнять вышеописанные операции? И планируются ли изменения. На этой неделе с тестированием все. |
08.04.2011, 18:29 | #38 | ||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Заказчик просит полный модбас
Цитата:
Цитата:
Поэтому мне нужно более подробное описание, чтобы я смог повторить ваш тест. Версия лоджика, версии ядер. Программы, загруженные в контроллеры. -------------- Но у меня есть соображения на эту тему. Судя по тому, что у вас неудачные загрузка и ядра и программ, то скорее всего в вашей сети есть какое-то активное устройство. Как раз оно и мешает нормальной работе. . __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
||
08.04.2011, 18:52 | #39 |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Заказчик просит полный модбас
1. Вопрос можно ли обновлять ядро если остальные на линии?
2. Активного устройства нет точно. Уважаемый Арсений, у меня опасный производственный объект и мне нужен отвен - что такая ситуация принципиально невозможна, а не "пока не было". Буду проверять еще раз. |
08.04.2011, 19:15 | #40 | |||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Заказчик просит полный модбас
Цитата:
Цитата:
Цитата:
Я, скорее всего, отключу контроллер от общей сети и как минимум выну из него клеммники, мало ли что где проглючит. Причём я не о наших контроллерах. Я это сделаю абсолютно на любом оборудовании, любого производителя. Бережёного бог бережёт (с) . __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|||
08.04.2011, 19:31 | #41 | ||
Senior Member
Регистрация: Jul 2007
Адрес: Калининград
Сообщения: 422
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Заказчик просит полный модбас
Хоть я не Арсений, но с подобным сам несколько раз сталкивался.
Цитата:
Скажу, что я бы не советовал. Потому что ядро заливается потоком байт, а не пакетами модбаса. И в потоке байт могут попадаться такие их комбинации, которые остальными контроллерами могут быть восприняты как корректные модбасовские пакеты с непредсказуемым результатом в итоге. Цитата:
__________________ Автомат АК - самый распространенный преобразователь стека в очередь |
||
08.04.2011, 23:32 | #42 |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Заказчик просит полный модбас
С объектом все нормально. На время перезагрузки соответствующие меры приняты.
С загрузкой ядра тоже все понятно. Раз не MODBUS, не исключается определенная последовательность, которую устройства на линии могут воспринять как запрос и ответить на него.Да и ядро все равно не грузится если кто нибудь на линии Остался один вопрос с загрузкой программы, когда остальные на линии. Собрал сеть, загрузил программу, подключился к одному из PIXELей для отладки. Минут 15 все проверяю никаких сбоев ни у кого. Затем программирую другой. Загорается авария. Выполняю обычные манипуляции для сброса аварии - переключатель в положении стоп, затем опять в автомат. Авария не сбрасывается. Но так не должно быть. Далее отсоединяю по одному перезагружаю программы и все нормально и логично - аварии сбрасываются. Поэтому повторяю вопрос исключена ли возможность случайной записи каких либо данных при загрузке программы в один из контроллеров, если остальные на линии? При условии конечно, что аппаратная часть в норме. Если не исключается, значит так не буду делать, если исключается, значит буду искать где ошибка, вариант с отражениями тогда наиболее вероятный. Почему тогда при отладке сбоев нет. Раньше чуть что сообщение появлялость нет связи с контроллером. Или вы в этом месте усилили стабильность. А так как это опасный объект нужна 100% уверенность, что после наладки не останется чудес. Есть ведь разные контроллеры, некоторые можно программировать прямо из системы диспетчеризации, и производитель гарантирует, что все будет нормально. Совершенно законный вопрос по этому поводу и к вам как к производителю. |
09.04.2011, 12:38 | #43 |
Senior Member
Регистрация: Jul 2007
Адрес: Калининград
Сообщения: 422
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Заказчик просит полный модбас
Если все контроллеры Сегнетикса, то теоретически загрузка программы в один из них не должна влиять на другие.
Практически не пробовал, у меня Сегнетиксы пока еще нигде группами не стоят. А вот порчу данных в контроллерах других производителей при загрузке программы в Сегнетикс, наблюдал очень часто Дело в том, что при загрузке программы используются не совсем стандартные функции модбаса (как-то случайно забыл парсер отключить и потом в логе увидел).... __________________ Автомат АК - самый распространенный преобразователь стека в очередь |
09.04.2011, 14:23 | #44 |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Заказчик просит полный модбас
Спасибо за ответ. Все контроллеры Segnetics. Если на шине есть устройства других производителей я не рискую отклоняться от таблицы адресов. С Сегнетиком проще. Можно и ядро перегрузить. Да и целиком контроллер заменить не те затраты.
Значит где-то у меня косяк с шиной. Реализую давнюю задумку о распределении мозгов. Каждому функциональному узлу в котельной ставлю свой контроллер. Причем мозги разделены не только функционально на контроллеры но и территориально, по разным углам котельной. Иногда в одном шкафу. Есть главный контроллер один на котельную. Связь между узлами исключена. Только через главного. Получается достаточно удобно. Отработал методы взаимодействия с функциональным узлом, запрограммировал его, работай с другими. Нет главного, функциональный узел сам начинает что-то там делать, (например выполняет последнюю команду). В связи с этим возникают требования к надежности связи с узлами. А так как при разработке и отладке возникают разные ошибки, необходимо на них правильно реагировать. Вообще правильней будет сказать распределение мозгов я уже давно организовал, только на другой аппаратуре. Но она дороже примерно в 8 раз. Теперь новые проекты перевожу на Сегнетикс. А к хорошей жизни то уже привык... |
10.04.2011, 15:45 | #45 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Заказчик просит полный модбас
Цитата:
Напишите всё сразу, приложите проекты. Слова "загорается авария" и любое другое подобное описание для меня не несут абсолютно никакой полезной информации. Тем более я вижу, что у вас какие-то разработанные именно вами программы, что делает помощь с моей стороны практически невозможной, т.к. ещё неизвестно, откуда именно у глюков растут ноги. Если подозреваете ошибку работы протокола - зачем гадать, логи обмена на шине в студию (с), по ним уже будет видно, какие устройства и как и на что реагируют. . __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
11.04.2011, 07:17 | #46 |
Senior Member
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили:
10 раз(а) в 10 сообщениях
|
Ответ: Заказчик просит полный модбас
Невозможно загрузить (обновить) ядро - это точно на 100%.
При загрузке программы, возникают "чудеса" в работе соседних контроллеров. Причем программа в контроллер загружается. Логов никаких нет. Объект за 200 км в деревне. Неделю наналадку и все. Помощь тебуется только одна - в виде ответа на вопрос со стороны производителя. А именно, исключена ли возможность порчи программ и данных в контроллерах подключенных к общей шине в момент загрузки программы в один из контроллеров на этой шине, при условии что аппаратная часть в норме? Утверждаю, что у меня такая порча происходит. Проявляется в виде внешне неправильной работы программ. Почему нельзя просто ответить - порча данных в принципе невозможна, так как это исключено протоколом загрузки и т.д. Ищите недостатки в своей аппаратной части. Ответ "не было до этого" - это не гарантия производителя. Уважаемый Арсений, я ни в коем случае не пытаюсь дискредитировать вашу аппаратуру. Тем более, что сам активно ее использую и продвигаю. Но нужно четко знать границы применимости. От этого всем будет только польза. |
11.04.2011, 11:47 | #47 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Заказчик просит полный модбас
Цитата:
А вот чтобы дать ответ "исключена" мне нужно провести масштабные испытания, выходящие за рамки описываемого мною стенда. На мой взгляд поднимаемый вами вопрос не стоит таких затрат времени. Тем более что никакая аппаратная неисправность не может привести к такой ситуации. Исключительно программная, но от вас до сих пор не прозвучало никаких данных в этом направлении. Набранная за 6 лет статистика говорит о том, что загрузка программы на один контроллер никак не влияет на другие контроллеры - это я тоже писал. И это вытекает из тезиса "Модбас устроен так, что слейв активируется исключительно при обращении к нему". Не пытайтесь вытащить из меня те слова, которые я не могу сказать. . __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|