yugog
10.03.2009, 14:58
В этой теме хочу поделиться опытом создания системы управления конвейером. Итак, это система должна управлять (вкл.\выкл) 11-ю двигателями. По трассе катаются x поездов длиной n кареток каждый. К каждой каретке прицеплена корзина для продукции. Система должна работать в составе линии.
Все началось примерно год назад, когда старая система начала давать сбой. Тогда и было принято решение создавать на модулях ввода-вывода по интерфейсу RS232\485 с управлением от главного компьютера. Накидали примерный рисунок того, как это должно работать, посчитали на пальцах, что по времени должно все укладываться, начертили начальную схему, начали считать стоимость - получили, что система на импортном оборудовании примерно в 2 раза дороже. Поэтому остановились на МДВВ ОВЕНа (хотя уже тогда знали, что будет трудновато). Заказали оборудование - подождали - получили - посмотрели. Первая проблема, с которой столкнулись: операционная система. У нас стоит Linux, а конфигуратор сделан под Windows. Делать нечего, совместно с нашим сисадмином-программистом, пришлось написать конфигуратор МДВВ под Linux и изучить протокол ОВЕН. Потратили на это два месяца, но результатом стала оперативная прошивка модулей, установленных на линии. От использования в системе протокола ОВЕН пришлось отказаться сразу: много преобразований (к примеру: байтовые символы, целые в формат float32), кодирование ASCII в тетраду и т.п. Использовали протокол Модбас (тем более есть бесплатная библиотека для этого протокола). Дальше началась самая длинная фаза - монтаж (в шкафах я старался расположить цепи управления отдельно от силовых (по крайней мере подальше), а затем пробный пуск и отладка. Сначала решили провести проверку работы протокола. В течении недель наверное двух гоняли данные, а потом решили включать и выключать выходы МДВВ. Через несколько часов начали отказывать блоки. Большое спасибо форуму, сказали напаять резистор. Напаяли на четырех блоках из шести. Пока работают все. Следующая проблема возникла из-за неправильного подбора волнового сопротивления и неправильной разводки провода UTP-5E. Пришлось вскрыть блоки, чтобы убедиться что там нет согласующего волнового сопротивления. Следующая проблема возникла при подключении датчиков. Входы блоков МДВВ - сухой контакт, общий минус. А выход датчиков - 24Vdc. Для согласования пришлось ставить оптронную развязку. Тут же появилась проблема: наводки от силового оборудования (несмотря на заземление) на выходы с датчиков, в следствии чего входы МДВВ подсвечивались (точнее приоткрывались оптроны). Только в одном случае пришлось поставить реле, в остальных обошлись RC цепочкой.
При написании программы также возникли некоторые трудности, которые нам удалось обойти. Пришлось ставить принудительную задержку между запросами. Думаю, это связано с длиной трассы (около 130м). Хотя на столе все работало без задержек.
Итак, спустя почти год система наконец-то заработала. На момент написания данной темы она уже отработала без сбоев 4 дня. По прежнему возникают ошибки при подключении силового оборудования (по программе это происходит один раз при подаче питания), но думаю блоки БСФ помогут.
Все началось примерно год назад, когда старая система начала давать сбой. Тогда и было принято решение создавать на модулях ввода-вывода по интерфейсу RS232\485 с управлением от главного компьютера. Накидали примерный рисунок того, как это должно работать, посчитали на пальцах, что по времени должно все укладываться, начертили начальную схему, начали считать стоимость - получили, что система на импортном оборудовании примерно в 2 раза дороже. Поэтому остановились на МДВВ ОВЕНа (хотя уже тогда знали, что будет трудновато). Заказали оборудование - подождали - получили - посмотрели. Первая проблема, с которой столкнулись: операционная система. У нас стоит Linux, а конфигуратор сделан под Windows. Делать нечего, совместно с нашим сисадмином-программистом, пришлось написать конфигуратор МДВВ под Linux и изучить протокол ОВЕН. Потратили на это два месяца, но результатом стала оперативная прошивка модулей, установленных на линии. От использования в системе протокола ОВЕН пришлось отказаться сразу: много преобразований (к примеру: байтовые символы, целые в формат float32), кодирование ASCII в тетраду и т.п. Использовали протокол Модбас (тем более есть бесплатная библиотека для этого протокола). Дальше началась самая длинная фаза - монтаж (в шкафах я старался расположить цепи управления отдельно от силовых (по крайней мере подальше), а затем пробный пуск и отладка. Сначала решили провести проверку работы протокола. В течении недель наверное двух гоняли данные, а потом решили включать и выключать выходы МДВВ. Через несколько часов начали отказывать блоки. Большое спасибо форуму, сказали напаять резистор. Напаяли на четырех блоках из шести. Пока работают все. Следующая проблема возникла из-за неправильного подбора волнового сопротивления и неправильной разводки провода UTP-5E. Пришлось вскрыть блоки, чтобы убедиться что там нет согласующего волнового сопротивления. Следующая проблема возникла при подключении датчиков. Входы блоков МДВВ - сухой контакт, общий минус. А выход датчиков - 24Vdc. Для согласования пришлось ставить оптронную развязку. Тут же появилась проблема: наводки от силового оборудования (несмотря на заземление) на выходы с датчиков, в следствии чего входы МДВВ подсвечивались (точнее приоткрывались оптроны). Только в одном случае пришлось поставить реле, в остальных обошлись RC цепочкой.
При написании программы также возникли некоторые трудности, которые нам удалось обойти. Пришлось ставить принудительную задержку между запросами. Думаю, это связано с длиной трассы (около 130м). Хотя на столе все работало без задержек.
Итак, спустя почти год система наконец-то заработала. На момент написания данной темы она уже отработала без сбоев 4 дня. По прежнему возникают ошибки при подключении силового оборудования (по программе это происходит один раз при подаче питания), но думаю блоки БСФ помогут.