Сейчас занимаюсь программированием контроллеров фирмы ABB серии AC700F.
Вообще, у ABB несколько линеек контроллеров. Из тех, о которых я слышал или видел это AC500, AC700, 800xA. Но мне досталась серия AC700.
На самом деле, впервые я столкнулся с этими контроллерами ещё 4 года назад. А сейчас проект 4-хлетней давности получил развитие, и я продолжил работу с ним в сторону расширения.
Но вернемся к теме программирования контроллеров ABB.
Контроллеры 700-й,800-й, 900-й серий программируются софтом, имеющим название ABB Freelance 2000. Хотя это уже устаревшее название. На сегодня выпущена версия ABB Freelance 2016 SP1.
Этот софт имеет в своем составе несколько инструментов. В первую очередь, это среда разработки, и она же инструментальная система, Control Builder F и среда визуализации, т.е. по сути SCADA, – DigiVis. Кроме того в этот набор включен ABB OPC-Tunnel, средство разграничения доступа SecurityLock, сервер трендов TrendServer и средство CBF-Viewer.
Вся разработка происходит в среде Control Builder F. Здесь конфигурируется железо, сеть, создаются и конфигурируются операторские станции, процессовые станции (т.е.контроллеры со своими входами/выходами), пишутся функциональные блоки, программмы, рисуются мнемосхемы и.т.д. И это мне очень понравилось.
Среда поддерживает разработку на всех 5 языках МЭК 61131-3: IL, LD, ST, FB и SFC.
Интерфейс программы, конечно, оставляет желать лучшего. Но это разработка фактически начала 2000-х, поэтому можно на это сделать скидку. Хотя, нехватка некоторых элементарных на сегодня возможностей, иногда буквально бесит. 🙂
Например, в языке LD все соединения между контактами, катушками и блоками нужно буквально рисовать руками, т.е. мышкой проводить между ними соединения. Нет никакой автопривязки к точкам возможного подключения и т.д.
Тоже самое и в языке FB.
В языке ST нет никакого интеллектуального ввода. Есть только возможность вставить стандартные конструкции языка.
Но что-то я увлекся перечислением недостатков. 🙂
Поговорим вообще о последовательности программирования контроллера. И даже не о последовательности программирования контроллера, а вообще о создании АСУ ТП в среде ControlBuilderF.
На самом деле, учитывая, что все находится в одном месте (в одной среде), сразу появляются большие плюсы при разработке:
- база переменных одна,
- база тэгов одна (тэги и переменные для ControlBuilderF – это разные вещи),
- не нужно промежуточных инструментов для привязки тэгов и переменных в графической среде,
- все работает согласованно
- и т.д.
Последовательность шагов, необходимая для начала разработки более-менее стандартная.
В первую очередь нам нужно сконфигурировать железо в специальном разделе конфигурирования аппаратных средств. Здесь добавляются контроллеры с модулями ввода/вывода, операторские станции, шлюзовые станции и т.д.
Затем, там же конфигурируется сеть.
Все это сохраняется.
Следующим шагом будет создание в дереве проекта ресурсов. Как минимум, это будет так называемая процессовая станции. По сути, это программная часть контроллера.
Если есть операторская станция, то ее тоже нужно создать в дереве проекта. Здесь будут расположены ваши мнемосхемы, тренды, журналы аварий и событий и т.п.
Затем, железную часть проекта нужно связать с программной. Это делается в разделе конфигурирования аппаратных средств путем назначения аппаратным ресурсам программных.
Когда все это подготовлено, увязано и проверено – можно приступать к разработке программной и визуальной части.
Но об этом – в следующей статье.
Эту же статью я хочу закончить видео, в котором я показал все вышеперечисленные шаги. Все-таки, как говориться, лучше один раз увидеть…
Комментируйте, делитесь с друзьями.
1) Подскажите в видео у вас какой фриланс? 2000? 2016? или еще какой и версию тоже. 2) Эмулятор контроллера (через WEB) устанавливается автоматом вместе с контрол билдером или как то отдельно?
В видео фриланс 2000 вер.9 sp2. Эмулятор устанавливается автоматом. Прошу прощения за такую задержку с ответом.