На работе, в качестве модернизации, поставили канальный нагреватель, который обдувает горячим воздухом полосу оцинкованного металла. По сути просто вентилятор и тэны. Управление вентилятором осуществляется с нашего, уже существующего, частотного преобразователя, а управление тэном смонтировано в отдельном шкафу, где есть свой ПЛК от Шнайдера, тиристорный преобразователь для плавного регулирования температуры и панель оператора для управления и настройки всего этого дела. Контроллеры Шнайдера очень хорошо работают с протоколом Modbus (кажется они и изобрели его, но это не точно), а вот на нашей линии все внешние контроллеры подключены по протоколу Profibus (через DP/DP coupler). В этой же системе предлагался преобразователь с modbus на profibus от МОХИ, который и требовалось настроить. Самое классное это то, что после настройки программа конфигуратор отдает готовый GSD файл, который можно подгрузить в Simatic Manager или другую программу для настройки сетей profibus
Настраивается моха через свой собственный переходник с RS232 на RJ45 - ну то есть как я понимаю тот же самый RS232, старый-добрый нуль модемный кабель, просто интерфейсный разъем на втором конце немного другой. Думаю что сделано для того чтобы не запутаться, потому как на морде имеется уже 2 разъема D-sub (DB9 один папа, другой мама, один для модбасаса, другой для профибаса). Подключив переходник к com-порту (через USB переходник), можно начинать конфигурировать моху. Сначала нужно настроить Modbus:
Главное тут не ошибиться и указать правильно настройки порта, чтобы они совпадали с настройками ведомого устройства (slave). У меня например один раз в порт на комп приходили непонятные символы вместо ожидаемых запросов, когда я забыл у слейва указать, что бит парности четный (even).
На вкладке profibus настраивается адрес только, да и то не требуется поскольку на самом устройстве его можно задать поворотными переключателями.
Самое интересное на третьей вкладке, где нужно соотнести запросы modbus к словам profibus, и оказалось что это совсем не сложно - все входные сигналы пишутся в input, а выходные в output, а пользователю только требуется правильно зарезервировать адреса: то есть подсчитать сколько слов требуется для входов и выходов, что делается тоже довольно просто. Все запросы в модбас порт делаются с определенным интервалом, я как и было оставил по умолчанию 1000 мс
Как видно на скриншоте под все запросы выделено 15 слов, и в сумме если посчитать сколько слов запрашивается по модбасу, то выйдет тоже 15 - то есть посчитать не сложно. Проблема в том, что запрашивая значение регистра с плавающей точкой (тип real) - ты запрашиваешь 2 регистра, и их нужно поменять местами, то есть везде, где запрошено 2 регистра, нужно делать SWAP by WORD. Ну и запись соответственно тоже. На скрине также хорошо видно, что входа это функция запроса 03, выхода (то бишь запись в регистры) это функции 06 и 16. В документации адреса регистров могут быть указаны в шестнадцатеричном формате, что тоже нужно учитывать.
Мне было интересно опробовать все это дело на стенде, поэтому я подключил выход модбас разъема через переходник RS485 к компьютеру. Кстати, первый раз я вообще ошибся и не правильно распаял разъем (в документации есть распиновка), и все удивлялся почему в порт не посылаются данные (как я уже и говорил каждую секунды посылаются запросы). Открываю com port терминал а входные данные не вижу, но если послать в этот же порт обратно ответ от слейва (по есть вручную посчитать контрольную сумму), то данные нормально оправились и их было видно на контроллере подключенном по профибасу. А вообще все просто если правильно подключил переходник, правильно распаял разъем, правильно настроил терминал (бит парности, или паритета как некоторые называют) - и данные каждую секунда поступают от мохи на терминал компьютера.
Прикольно было так же потестировать и профибас. С ним большая проблема - без контроллера это практически нереально, нет таких симуляторов и переходников для компьютера, по крайней мере у нас не оказалось. Потому мне пришлось просто брать стендовый ПЛК, настраивать его, скормив тот самый GSD от мохи, после чего в VAT таблице уже можно наблюдать обратную связь от устройства, а так же спокойно записывать в него же данные. Кстати, в качестве симулятора ведомого устройства хорошо подходит прога modbus slave simulator- проблема только в том что она платная и работает только 30 дней бесплатно, а еще постоянно каждые 10 минут вылетает. Возникла даже идея написать самому сделать симулятор, посмотрим, может и созрею когда-нибудь, а почему бы и нет)
И еще кое-что. Понравилось что в проекте степ7 можно изменять конфигурацию входов выходов устройства без генерации новы gsd файлов, делается довольно просто, через свойства:
Вот такие дела. Просто решил поделиться, вдруг кому-то пригодится)
Комментариев нет:
Отправить комментарий