![]() |
![]() ![]() |
|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
#1 |
Новичок
Регистрация: Jan 2015
Сообщения: 25
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Здравствуйте, коллеги!
Опишу свои действия с контроллером и возникшие при этом проблемы. 1. Имеется SMH 2Gi с двумя последовательно подключенными ПЧ к COM1. Порты настроены и проверены, кабели проверены также. 2. При попытке связаться с 1 ПЧ работает только запись слов управления, чтение статусов не проходит. ФБ ошибок связи показывает то отсутствие, то наличие ошибок чтения. Счетчик ошибок доходит до 5, не более, и потом сбрасывается. 3. При попытке подключить второй ПЧ вся связь уходит в нокаут. Запросы не идут никуда, счетчики ошибок растут без сброса. Темы и хелп про управление по МБ читал, примеры скачивал и пытался применить безрезультатно. Основная проблема в том, что ATV212 имеет профиль управления, не совпадающий с AT31, потому и код с форума не работает. Основной вопрос такой - может быть, кто-то сталкивался с особенностями именно этих альтиваров - 212? Есть ли у кого кусок работающего кода? PS: проект не приложен из-за ограничений по обьему. Готов ответить оперативно на все вопросы. |
![]() |
![]() |
![]() |
#2 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 357
Благодарил(а): 15 раз(а)
Поблагодарили:
607 раз(а) в 555 сообщениях
|
![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#3 |
Новичок
Регистрация: Jan 2015
Сообщения: 25
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Адреса разные, проект в архиве вложил.
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() Последний раз редактировалось serg-el, 17.02.2015 в 19:02 |
![]() |
![]() |
![]() |
#5 |
Новичок
Регистрация: Jan 2015
Сообщения: 25
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() По п.2 - попробую. |
![]() |
![]() |
![]() |
#6 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Имеется в виду сообщение это, с ссылкой сюда, на Пример №5
|
![]() |
![]() |
![]() |
#7 |
Новичок
Регистрация: Jan 2015
Сообщения: 25
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#8 |
Новичок
Регистрация: Jan 2015
Сообщения: 25
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
То есть никто не сталкивался со сложностями при подключении ATV212 к SMH 2Gi и у всех работает? Тогда я напишу по порядку все, что сделал, а вы скажете - что я делаю не так.
1. Создал карту регистров, взятую из документа ATV212_Modbus_manual_EN_S1A53844_02.pdf Command word 1 (FA00) Frequency reference from serial comm (FA01) Status word (FD01) Output frequency (FD00) Тайм-ауты взял по 200мс, группировку запросов отключил. 2. Настроил подключение по посл.порту. 19200 8N2, адрес - 11. 3. Загрузил, включил, подал единицы на управление и задание по сети. Управление - есть! Включить-выключить могу, частоту задать могу. А считать слово состояния - нет, выходную частоту тоже не вижу. Это закончилась первая часть и началась вторая. Запускаю второе устройство, физически подключенное по этой же линии следующим. Просто копирую ATV212-1 в ATV212-2 и меняю только лишь адрес с 11 на 12. Переключаю терминаторы на обоих. На 1 разомкнул, на 2 замкнул. И все - связь полностью отпала. Больше контроллер не видит ни одного устройства. |
![]() |
![]() |
![]() |
#9 |
Senior Member
Регистрация: Mar 2008
Адрес: Екатеринбург
Сообщения: 480
Благодарил(а): 46 раз(а)
Поблагодарили:
13 раз(а) в 12 сообщениях
|
![]()
Уберите терминаторы.
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 263
Благодарил(а): 8 раз(а)
Поблагодарили:
163 раз(а) в 160 сообщениях
|
![]() 19200 8E2 но вот таймаут в проекте 1 секунда, а в частотнике 3. Так как входные команды устройство понимает остается предположить что мы не понимаем ответ. Для начала попробовал бы везде 8N1 и 8N2. Именно без четности. И таймаут увеличить в контроллере для пробы не помешает. В идеале лучше посмотреть обмен ноутбуком или попробовать с него же порулить частотником. Сам привык терминалкой с подсчетом CRC, но достаточно удобно и бесплатным OPC от Инсата. По второй части. Для кучки устроиств на 485-м давнишняя привычка проверять все последовательно и по одному. Смотрим сначала первый на шлейфе, потом отдельно второй с отключенным от шлейфа первым. И т. д. А уж потом собираем в кучку. В данном случае о втором ничего не известно. (можно даже полярность попутать и все...) |
![]() |
![]() |
![]() |
#11 |
Senior Member
Регистрация: Dec 2011
Сообщения: 690
Благодарил(а): 0 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
![]()
sergeyvmm , постараюсь помочь вашему горю. Рекомендации, которые вам давались носят общий характер, а дьявол кроется в деталях.
1. Особенности ModBus ATV212. Надо внимательней читать документацию. Там все написано. Только читать надо между строк. Стр. 33 приведенного вами руководства. Для записи и чтения применяются функции группового чтения/записи, но по 1 регистру. Исключение indirect block, которые можно читать/записывать по 5/2 регистра. 2. Особенности ModBus сегнетикса. К сожалению данная реализация не позволяет сформировать карту переменных произвольным образом. По крайней мере без танцев с бубнами. Если переменные стоят последовательно и с одинаковым временем опроса, то по отдельности их считать нельзя, только вместе. То же самое и с записью. Выход - устанавливать или разное время опроса, или разбивать по разным устройствам. 3. Рекомендации. Полноразмерное управление можно реализовать только через indirect block. Стр. 27 руководства. Внимание стоит обратить на особенность адресации indirect block стр.35, 39 руководства. Если подробней, то если хотите считать данные из параметра, заданного в F875, то адресоваться к 1875 (#16), что в десятичной системе соответствует адресу 6261. Ну или к адресу F875 (#16), что в десятичной системе соответствует адресу 63605. __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
![]() |
![]() |
![]() |
#12 |
Новичок
Регистрация: Jan 2015
Сообщения: 25
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() Как-то не подумал, что таймауты должны совпадать. Это точно? По отдельности частотники работают нормально. Но только на запись. |
![]() |
![]() |
![]() |
#13 |
Новичок
Регистрация: Jan 2015
Сообщения: 25
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() Еще раз всем, кто постарался помочь - большое спасибо! |
![]() |
![]() |
![]() |
#14 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 263
Благодарил(а): 8 раз(а)
Поблагодарили:
163 раз(а) в 160 сообщениях
|
![]() ![]() Кстати. Они только витой парой соединены по 485-му? Если есть общий и экран я бы попробовал откинуть. |
![]() |
![]() |
![]() |
#15 |
Senior Member
Регистрация: Dec 2011
Сообщения: 690
Благодарил(а): 0 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
![]() __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
![]() |
![]() |
![]() |
#16 |
Новичок
Регистрация: Jan 2015
Сообщения: 25
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Сегодня попробую прокинуть свою витую пару от ПЛК до ПЧ для проверки существующей линии, благо это всего 2 м. А то монтаж неидеален, так скажем. Ну и настроить ПЧ на индирект.
|
![]() |
![]() |
![]() |
#17 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 357
Благодарил(а): 15 раз(а)
Поблагодарили:
607 раз(а) в 555 сообщениях
|
![]() Ещё перед этим попробуйте снять галочку "групповые запросы", вдруг поможет. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#18 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
CAS Modbus Scanner - ом попробовать опросить по одному регистру, группу регистров (станет понятно как идут ответы от частотника).
Подтяжку делать пробовал? (без подтяжки все выходы драйверов в состоянии Z, частотники не видят что мастер находится в режиме приём) |
![]() |
![]() |
![]() |
#19 |
Senior Member
Регистрация: Dec 2011
Сообщения: 690
Благодарил(а): 0 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
![]() __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
![]() |
![]() |
![]() |
#20 |
Новичок
Регистрация: Jan 2015
Сообщения: 25
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#21 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() |
![]() |
![]() |
![]() |
#22 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 263
Благодарил(а): 8 раз(а)
Поблагодарили:
163 раз(а) в 160 сообщениях
|
![]() У 2Gi подтяжки в явном виде не обнаружено... Внутрь лезть лень. ![]() Плохо сделанная внешняя подтяжка может принести больше вреда чем пользы. В устройствах со старыми драйверами она обычно сделана. Элементарно определяется мультиметром. |
![]() |
![]() |
![]() |
#23 |
Senior Member
Регистрация: Aug 2013
Адрес: Москва
Сообщения: 600
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]() ![]() Поэтому повторюсь - за неимением 2G и 2Gi измерить наличие подтяжки (вольтметром между клеммами А и В (без обмена по порту) не могу, у Pixel 2512 подтяжки нет. Насчет плохо сделанной согласен, но ради приличия попробовать стоит. Не зря же об этом писалось в наладке другого частотника этого производителя. Хотя, наверняка всё дело в отсутствии возможности группового чтения регистров в altivar 212. |
![]() |
![]() |
![]() |
#24 |
Новичок
Регистрация: Jan 2015
Сообщения: 25
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Блин, создал все как здесь мы обсудили - не работает! Индиректом я управляю, но считать ничего не могу - ошибок нет, но идут нули! Таймауты конские, по секунде, но хоть ошибок нет. Индексы для индирект блоков вписал, но не работает от слова совсем. Прошу хоть скриншоты рабочих настроек, ибо я вроде уже достаточно опытный человек, но с такой подставой еще не встречался.
|
![]() |
![]() |
![]() |
#25 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 357
Благодарил(а): 15 раз(а)
Поблагодарили:
607 раз(а) в 555 сообщениях
|
![]() __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#26 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 17 357
Благодарил(а): 15 раз(а)
Поблагодарили:
607 раз(а) в 555 сообщениях
|
![]() Поставьте на поляну блок Device(link), настройте. Что на выходах? __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
![]() |
![]() |
![]() |
#27 |
Senior Member
Регистрация: Dec 2011
Сообщения: 690
Благодарил(а): 0 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
![]()
Во вложении тестовый проект, специально сделанный для проверки правильности сборки щита автоматики и настройки связи с ПЧ. Некоторые пояснения.
1. ПЧ подключены на СОМ2 через овеновский преобразователь RS232/RS485. Сделано это сознательно. Хотелось иметь возможность отладки при обмене с ПЧ и оставить свободным СОМ1 для возможности диспетчеризации. 2. Макрос управления ПЧ реализован с минимально необходимым мне функционалом. Дополнительные функции обрезаны так как рабочий проект просто не влазил в 2G. Макрос брался без изменения из рабочего проекта. 3. Для контроля связи с ПЧ используется ячейка F880 в ПЧ. Это свободная ячейка в ПЧ, без какого либо функционала для работы ПЧ. Если запись/чтение в эту ячейку проходят то связь с ПЧ есть. От настроек ПЧ зависит минимально. Только порт и настройки порта. Остальные параметры зависят от большего числа настроек ПЧ. В данном конкретном варианте использован порт с винтовыми клемниками, а не порт с разъемом RJ. Комментарии и описание внутри макроса. 4. Использование F880 в качестве контроля обмена допустима только для отладки. В рабочем режиме примерно через полгода появляются ошибки типа "Ошибка записи в память". Запись происходит в ПЗУ, видимо ресурс заканчивается. Пришлось контролировать связь через SlaveLink. 5. Если решите полностью повторить конфигурацию СОМ2-преобразователь RS232/RS485-ПЧ, то перед покупкой сегнетивского кабеля СОМ2-преобразователь RS232/RS485 советую проверить совместимость разъемов на DB9 на кабеле и преобразователе S232/RS485. Сегнетиковский кабель не подошел к овеновскому преобразователю по половым признакам (папа/мама). Пришлось делать самодельный из обычного патч-корда. Распиновка тоже во вложении. 6. Если не пройдет вариант с подключением через СОМ1, то стоит попробовать для начала подключиться к ПЧ ОРС-сервером. Так по крайней мере можно и запрос/ответ просмотреть и вопрос с подтяжкой уточнить. Про подтяжку чуть позже. __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
![]() |
![]() |
![]() |
#28 |
Senior Member
Регистрация: Dec 2011
Сообщения: 690
Благодарил(а): 0 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
![]()
Тему подчистили, страсти поулеглись. Теперь по поводу подтяжки. Оказалось, что здесь все не так однозначно. Стандарт ModBus в том или ином виде предписывает подтяжку, но не оговаривает номиналы подтягивающих резисторов. Путем коллективных усилий выяснилось, что контроллеры Сегнетикс не имеют явно выраженной подтяжки. По крайней мере Пиксель, 2G, 2Gi. Но это не мешает им работать по ModBus как между собой, так и, по крайней мере, с частью контроллеров и модулей сторонних производителей. применение внешней подтяжки так же сталкивается с рядом проблем. Во первых это номинал подтягивающих резисторов - он не стандартизован и зависит от многих факторов, так что придется его подбирать, и не просто так, а с осциллографом. Во вторых это вопрос к чему подтягивать? У 2G СОМ1 изолирован. Так что придется или использовать внешний отдельный блок питания на 5 В (по стандарту ModBus) или отказаться от гальваноразвязки и подтягивать к питанию 24 В, что то же отклонение от стандарта.
В моем варианте подключения ПЧ использовался овеновский преобразователь RS232/RS485. Есть ли там подтяжка, сказать не могу. Тестером не тыкался. Но овеновском преобразователе USB/RS485 подтяжка есть. Но она отключаемая. И связь с контроллерами Сегнетикс есть вне зависимости от наличия или отсутствия подтяжки. __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
![]() |
![]() |
![]() |
#29 |
Senior Member
Регистрация: Dec 2011
Сообщения: 690
Благодарил(а): 0 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
![]() Я достаю из широких штанин .... В доказательство своей правоты хочу привести расширенную цитату из докуменации: стр.33 Read one word - Function 3, quantity = 1 стр.34 Read indirect block - Function 3, quantity = 1 ... 5 стр.37 Write multiple registers - Function 16 = 16#10, quantity =1 стр.38 Write indirect block - Function 16 = 16#10, quantity = 2 Не вижу противоречий между документацией и моим заявлением: __________________ Нет абсолютно бездарных людей. Каждый бездарен в своей области. |
![]() |
![]() |
![]() |
#30 |
Новичок
Регистрация: Jan 2015
Сообщения: 25
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
![]()
Подозрительно то, что ПЧ не работает только в ОДНУ сторону. То есть проблема мне видится не в электрической части. Я не думаю, что у контроллера не хватает мощи перекинуть RX в TX)
К сожалению, проверить смогу только вечером, когда я выезжаю на объект, а пока посмотрю высланное. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Тестовая программка управления по Modbus частотником Altivar212 | dp38 | Примеры работы по Modbus | 2 | 14.04.2019 08:37 |
Переменные Modbus, управление вентилятором | starmos | SMConstructor (вентиляция) | 47 | 15.12.2017 22:43 |
Ошибка при вызове Lectus Modbus OPC server из Autoscada(Masterscada) | Dkydryashov | AutoSCADA (вентиляция) | 3 | 07.11.2017 11:56 |
SMH2G ошибка при загрузке по RS 232 (нет проблемы) | serg_19 | Форум Segnetics | 6 | 30.08.2016 00:39 |
Литиевые батарейки | Arsie | Библиотека | 0 | 21.08.2013 14:24 |