Программирование контроллеров ABB

Сейчас занимаюсь программированием контроллеров фирмы 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 – это разные вещи),
  • не нужно промежуточных инструментов для привязки тэгов и переменных в графической среде,
  • все работает согласованно
  • и т.д.

Последовательность шагов, необходимая для начала разработки более-менее стандартная.

В первую очередь нам нужно сконфигурировать железо в специальном разделе конфигурирования аппаратных средств. Здесь добавляются контроллеры с модулями ввода/вывода, операторские станции, шлюзовые станции и т.д.

Затем, там же конфигурируется сеть.

Все это сохраняется.

Следующим шагом будет создание в дереве проекта ресурсов. Как минимум, это будет так называемая процессовая станции. По сути, это программная часть контроллера.

Если есть операторская станция, то ее тоже нужно создать в дереве проекта. Здесь будут расположены ваши мнемосхемы, тренды, журналы аварий и событий и т.п.

Затем, железную часть проекта нужно связать с программной. Это делается в разделе конфигурирования аппаратных средств путем назначения  аппаратным ресурсам программных.

Когда все это подготовлено, увязано и проверено – можно приступать к разработке программной и визуальной части.

Но об этом – в следующей статье.

Эту же статью я хочу закончить видео, в котором я показал все вышеперечисленные шаги. Все-таки, как говориться, лучше один раз увидеть…

Комментируйте, делитесь с друзьями.

2 комментария

Оставить комментарий
  1. 1) Подскажите в видео у вас какой фриланс? 2000? 2016? или еще какой и версию тоже. 2) Эмулятор контроллера (через WEB) устанавливается автоматом вместе с контрол билдером или как то отдельно?

    1. В видео фриланс 2000 вер.9 sp2. Эмулятор устанавливается автоматом. Прошу прощения за такую задержку с ответом.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

49 + = 54