Кодесис для чайников: пошаговое создание первого проекта в CODESYS v2.3

Как создать свой первый проект в среде программирования CODESYS v2.3. Какие основные шаги нужно выполнить для настройки проекта. Как работать с языком CFC в CODESYS. На что обратить внимание начинающему разработчику ПЛК.

Содержание

Что такое CODESYS и для чего он используется

CODESYS — это комплексная среда разработки для программируемых логических контроллеров (ПЛК), созданная компанией 3S-Smart Software Solutions. Она позволяет создавать программы для ПЛК на языках стандарта МЭК 61131-3, включая:

  • Язык релейных диаграмм (LD)
  • Язык функциональных блоковых диаграмм (FBD)
  • Язык структурированного текста (ST)
  • Язык последовательных функциональных схем (SFC)
  • Язык инструкций (IL)

Кроме того, CODESYS включает дополнительный графический язык непрерывных функциональных схем (CFC), который является расширенной версией FBD.

CODESYS широко применяется для программирования промышленных контроллеров различных производителей, систем автоматизации зданий, транспортных средств и других областей.


Установка и запуск CODESYS

Для начала работы необходимо выполнить следующие шаги:

  1. Скачать дистрибутив CODESYS V2.3 с официального сайта 3S-Smart Software Solutions
  2. Запустить установщик и следовать инструкциям мастера установки
  3. После завершения установки запустить CODESYS через ярлык на рабочем столе или меню «Пуск»
  4. При первом запуске может потребоваться активация лицензии

После запуска откроется главное окно среды разработки CODESYS. Теперь можно приступать к созданию первого проекта.

Создание нового проекта

Для создания нового проекта в CODESYS v2.3 выполните следующие действия:

  1. Выберите пункт меню «Файл» — «Новый»
  2. В открывшемся окне укажите имя проекта и путь для его сохранения
  3. Выберите целевую платформу (тип ПЛК) из списка
  4. Нажмите кнопку «ОК» для создания проекта

После этого откроется рабочая область проекта с деревом объектов. Теперь можно приступать к созданию программных компонентов.

Добавление программного компонента на языке CFC

Для создания программы на языке CFC:


  1. Щелкните правой кнопкой мыши на узле «PLC_PRG» в дереве проекта
  2. Выберите «Добавить объект» — «Программа»
  3. Укажите имя программы, например «Main»
  4. В качестве языка реализации выберите CFC
  5. Нажмите «ОК»

Откроется редактор CFC, в котором можно приступать к созданию алгоритма управления.

Основы работы в редакторе CFC

Редактор CFC предоставляет графический интерфейс для создания алгоритмов. Основные элементы:

  • Функциональные блоки — добавляются из библиотек
  • Входы и выходы — для связи блоков
  • Соединительные линии — для передачи данных между блоками

Чтобы добавить блок, перетащите его из панели элементов на рабочую область. Для соединения блоков проведите линию от выхода одного блока ко входу другого.

Настройка параметров проекта

Для корректной работы проекта необходимо выполнить его настройку:

  1. Откройте вкладку «Ресурсы» в нижней части окна
  2. Выберите пункт «Конфигурация задач»
  3. Добавьте новую задачу и укажите для нее период выполнения
  4. Назначьте программу Main для выполнения в этой задаче

Это обеспечит циклическое выполнение программы с заданным периодом.


Компиляция проекта

Для проверки корректности созданной программы необходимо выполнить ее компиляцию:

  1. Выберите пункт меню «Проект» — «Компилировать все»
  2. В окне сообщений будут отображены результаты компиляции
  3. Исправьте ошибки, если они обнаружены

Успешная компиляция означает, что программа не содержит синтаксических ошибок и готова к загрузке в ПЛК.

Настройка подключения к ПЛК

Для загрузки проекта в контроллер нужно настроить канал связи:

  1. Откройте вкладку «Ресурсы» — «Настройки целевой платформы»
  2. Выберите используемый интерфейс (COM-порт, Ethernet и т.д.)
  3. Укажите параметры подключения (IP-адрес, скорость обмена и др.)
  4. Нажмите «Применить» для сохранения настроек

Теперь CODESYS сможет обмениваться данными с ПЛК для загрузки проекта и отладки.

Загрузка проекта в ПЛК

После настройки подключения можно загрузить проект в контроллер:

  1. Выберите пункт меню «Онлайн» — «Подключение»
  2. После установки связи выберите «Онлайн» — «Загрузка»
  3. Подтвердите загрузку в диалоговом окне
  4. Дождитесь завершения процесса загрузки

Теперь программа загружена в ПЛК и готова к запуску.


Запуск программы и отладка

Для запуска загруженной программы:

  1. Выберите «Онлайн» — «Старт»
  2. Программа начнет выполняться в ПЛК
  3. Для остановки выберите «Онлайн» — «Стоп»

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

Заключение

В этой статье мы рассмотрели основные шаги по созданию первого проекта в среде CODESYS v2.3. Освоив базовые принципы, вы сможете создавать более сложные программы для промышленной автоматизации. Практика и изучение дополнительных возможностей CODESYS позволят вам стать опытным разработчиком ПЛК.


Язык непрерывных функциональных схем CFC. Часть 1

АиП №2, 2020 (51)   /   Энциклопедия инженера АСУ   /   #codesys #редактор cfc #функциональные блоки

Пять основных языков программирования (ST, SFC, FBD, LD, IL), установленных стандартом МЭК 61131-3, используются при написании программ для логических контроллеров. В дополнение к ним CODESYS предлагает язык непрерывных функциональных схем (CFC). Редактор языка и сама его структура интуитивно понятна. Для написания программ не требуется специальных знаний. Именно поэтому CFC является языком выбора для начинающих программистов.

 

Начиная с 1993 года стандартом IEC 61131-3 (МЭК 61131-3) определено пять основных языков (ST, SFC, FBD, LD, IL) для программирования логических контроллеров. Из них наиболее простым в изучении и удобным в работе является графический язык FBD.

Некоторые компании для облегчения программирования внедряют в свои программные продукты языки, не входящие в стандарт МЭК. Например, CODESYS использует язык непрерывных функциональных схем (CFC), как вариант языка FBD. Язык удобен для прикладных специалистов, не имеющих специальной подготовки в области информатики.  

Принципиальное отличие CFC от FBD заключается в том, что в редакторе CFC размещать компоненты программы (функциональные и логические блоки) и задавать порядок их выполнения можно произвольным образом. Такие возможности позволяют легко реализовывать обратные связи, что удобно при разработке схем регулирования. При создании программ на CFC необходимо вручную выстраивать связи между элементами, в то время как на FBD соединения выполняются автоматически.  

Свойства редактора CFC

Существуют две разновидности редактора CFC: стандартный (рис. 1) и страничный (рис. 2). Выбрать тип редактора можно при создании нового проекта или при добавлении POU (компонент организации программы) в уже существующий проект

Рис. 1Рис. 2

 

 

 

 

 

 

 

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

Стандартный тип редактора CFC более популярен среди пользователей, так как обладает рядом преимуществ: наглядность представления кода (все блоки и связи между ними расположены на единой рабочей области), не требуется переключения между страницами, что позволяет избежать лишних действий при написании кода. 

Важно помнить, что стандартный и страничный типы редактора не конвертируются один в другой.

Общие свойства блоков

Программа на языке CFC начинается с добавления блоков на рабочую область редактора. Нужный блок добавляется мышкой с панели инструментов. 
Блоки имеют фиксированное значение входных и выходных контактов. Можно добавить дополнительные контакты с панели инструментов Входной и Выходной контакт или из пункта: Контакты, контекстного меню, вызываемого нажатием ПКМ на рабочей области редактора.

При работе с большим числом ФБ могут остаться не задействованными входные/выходные контакты. Для компактности программы их можно удалить. При необходимости удаленные контакты всегда можно восстановить функцией сброс контактов.  Операции удаления и сброса контактов выполняются аналогично добавлению входных и выходных контактов, а также при помощи соответствующих кнопок на панели инструментов. Чтобы поменять порядок входных/выходных контактов, необходимо их удалить, а потом заново добавить в нужном порядке.

После создания блока начинается этап создания входов и выходов путем перемещения их с панели инструментов. Если блок имеет два-три входных/выходных контакта, то операция занимает мало времени. Если у блока большое число контактов, то потребуется оптимизировать процесс. Необходимо выделить входной или выходной контакт блока и начать вводить имя переменной или константу. Таким образом выход будет добавляться автоматически столько раз, сколько потребуется (рис. 3).

Рис. 3

Существует еще один способ добавления входа/выхода блока сразу с переменной. Для этого переменные задаются в разделе программы VAR: выделяется имя переменной и перемещается к нужному входному или выходному контакту блока.

При формировании логики программы блоки добавляются, как правило, в произвольном порядке и так же строятся связи между ними. Это приводит к тому, что нумерация блоков отличается от последовательности их расположения (порядка выполнения) (рис. 4). Чтобы соблюсти очередность выполнения (рис. 5), нужно перед запуском программы нажать ПКМ на рабочем поле редактора CFC и в меню Порядок выполнения, выбрать пункт Упорядочить в соответствии с потоком данных.

Рис. 4Рис. 5

 

 

 

 

 

В версии CODESYS V3.5 SP15 появилась новая опция – автоматическая нумерация блоков в соответствии с потоком данных. Теперь элементы можно добавлять на рабочую область редактора в любом порядке и как угодно перемещать.

Автоматическая нумерация элементов программы установлена по умолчанию. Вместе с тем сохранена нумерация элементов в режиме заданного порядка выполнения. Переключаться между режимами можно из свойств POU на вкладке: Порядок выполнения CFC. Посмотреть номера элементов при автоматической нумерации (рис. 6) можно из пункта контекстного меню Порядок выполнения с помощью кнопки Показать порядок выполнения или с помощью этой же кнопки, расположенной на панели инструментов. 

Рис. 6

Функциональные блоки и структуры

При работе с ФБ, имеющими большое количество входов/выходов, или структурами, содержащими большое количество переменных, удобно использовать компоновщик и селектор (рис. 7), которые находятся на панели инструментов. 

Компоновщик упаковывает входы ФБ или структуры, а селектор распаковывает в отдельные выходы, таким образом заменяется большое количество близко расположенных линий связи на одну. Такой подход позволяет избежать ошибок и ускорить процесс компоновки и перемещения блоков, а также экономит место на рабочей области редактора и делает код программы нагляднее.

Рис. 7 

Линии связи

Для построения линии связи между двумя элементами нужно соединить контакты двух блоков. В редакторе CFC реализован ряд полезных функций по построению линий свиязи. Функция автосоединения линий связи по умолчанию активна, ее можно включить или отключить в меню Инструменты, пункт Опции. Для автосоединения необходимо вплотную приблизить контакты элементов. Существует поддержка параллельной связи от одного элемента к многим другим (рис. 3).

Если линия связи целиком не умещается на экране монитора, нужно выделить один из контактов линии связи (зажать клавишу <Ctrl> + нажать стрелку <Влево/Вправо>), тогда рабочая область сама сдвинется к входным или выходным контактам.

Для того чтобы избежать проблем из-за наличия большого количества линий связи, в стандартном редакторе CFC используют соединительные метки (рис. 8). Единственная задача меток – заменить длинные нечитаемые линии связи. Соединительные метки можно установить с панели инструментов. Сначала добавляется метка выхода (ей автоматически присваивается идентификационный номер), затем добавляется метка входа, и ей присваивается соответствующий номер. Заменить линию связи метками можно в пункте Метка соединения контекстного меню, вызываемого нажатием ПКМ на самой линии или на соответствующем входе/выходе. Аналогичным образом можно восстановить линию из меток.

Рис. 8

В страничном редакторе CFC нельзя добавить соединительную метку на рабочую область (заменить ими линии связи), так как они выполняют другую задачу. Соединительные метки служат входами и выходами на страницах проекта – осуществляют передачу данных с одной страницы на другую (рис. 9). Метки добавляются не на рабочей области, что улучшает наглядность проекта и экономит место непосредственно на рабочей области редактора.

Рис. 9

Оформление и компоновка программ

Неотъемлемой частью оформления программы являются комментарии. В редакторе CFC можно свободно размещать комментарии на рабочей области. Создать комментарий можно с помощью одноименного элемента на панели инструментов. Переход на новую строку при написании комментария осуществляется с помощью комбинации клавиш: <Ctrl>+<Enter>.

В редакторе CFC существует возможность печати проекта с двумя типами подгонки – Постер и Страница, выбрать один из них можно в меню Инструменты, в пункте Опции. По умолчанию стоит печать постером. Перед печатью проекта можно выполнить его предварительный просмотр в пункте Файл.

Во второй части статьи речь пойдет о реализации условий на языке CFC; особенностях работы с элементами, охваченными обратной связью; свойствах раздела VAR_INPUT CONSTANT в ФБ; кастомизации проектов и других важных особенностях работы с CFC.

OPC технология: opc сервер CoDeSys

Промышленная автоматизация использует OPC-технологии очень широко, так как это позволяет разработчику легко связать различное «железо», используемое в системах автоматизации (например, промышленные контроллеры, логические контроллеры) с компьютерными программами (такими, как SCADA-системы).

При этом совершенно не приходится утруждать себя изучением протоколов обмена данными и системных функций для работы с коммуникационными портами.

Данный документ описывает создание простого проекта CoDeSys для проверки работы OPC-сервера CoDeSys.OPC.02. Цель — подключение контроллера ОВЕН к SCADA-системе для обмена данными.

Компания ОВЕН разработала несколько собственных OPC-серверов, но, к сожалению, все они предназначены в основном для подключения различных измерительных и регулирующих приборов производства ОВЕН. О существовании OPC-сервера для обмена данными между контроллерами (ПЛК) ОВЕН и SCADA-системами посредством технологии OPC мне ничего не известно. Впрочем, в этом и нет особой необходимости, так как существует OPC-сервер CoDeSys. Поэтому в данном примере мы будем использовать OPC-сервер CoDeSys.OPC.02, который входит в состав пакета CoDeSys и поэтому его можно считать бесплатным (скачать CoDeSys можно на официальном сайте компании).

Итак, для того, чтобы SCADA-система могла обмениваться данными с контроллером ОВЕН по технологии OPC, нам потребуется выполнить следующие действия:

  1. Создать проект в CoDeSys
  2. Настроить проект таким образом, чтобы контроллер мог выполнять обмен данными через OPC-сервер
  3. Загрузить проект в контроллер
  4. Разработать проект в SCADA-системе

Разработка простого проекта в SCADA-системе рассмотрена в отдельном документе, скачать который можно здесь: RELIANCE 3: Пример работы с устройствами через OPC-сервер

ВНИМАНИЕ!
На этой странице приведено только содержание документа, описывающего пример использования OPC-сервера CoDeSys. Скачать документ вы можете бесплатно по указанной ниже ссылке.


Скачать бесплатно документ OPC-сервер CoDeSys: пример использования (включая исходные коды) можно ЗДЕСЬ

 Не могу скачать :о( 


Содержание

ВВЕДЕНИЕ 
1. Создание проекта CoDeSys 
2. Настройка проекта CoDeSys для работы с OPC-сервером 
   2.1. Активация опции «Создавать описания» 
   2.2. Настройка символьного файла 
   2.3. Конфигурирование OPC-сервера 
3. Загрузка проекта CoDeSys в контроллер 
КНИГИ 

См. также:

  • Дипломный проект по автоматизации
  • Курсовые и контрольные по автоматизации
  • Методические пособия по автоматизации
  • «Чайникам» о компьютерах — Книга о работе на компьютере для начинающих
  • Как стать программистом? — Книга о том, как писать программы и что такое программы вообще…
  • VBScript — Документация с примерами по VBScript

Кодирование для чат-шпаргалки Dummies

BY: Nikhil Abraham и

Обновлено: 01-19-2022

Из книги: Кодирование для Dummies

Кодирование для Dummies

. Explore Book на Amazon

555555555555555555555555555555555555555555555555555555555555555955
для Dummies

. Кодирование состоит из словарного запаса, логики и синтаксиса в равных долях. На первый взгляд кодирование может показаться пугающим, но с практикой легко освоиться с его терминологией, концепциями и структурой. Понимание кодирования мало чем отличается от изучения нового языка: используйте его достаточно часто, и вы обнаружите, что можете говорить, думать и писать на коде. Тем не менее, вопросы у новичков естественны.

Вам доступно множество ресурсов кодирования, как онлайн, так и офлайн. Спросите вокруг, и вы обнаружите, что вы не одиноки — многие люди учатся. В конце концов, кодирование — это бесконечное образование. Освойте ту или иную грань, и перед вами откроется новая.

Базовый словарь кодирования

Кодирование имеет обширный словарный запас, который для неспециалистов может показаться непонятным техническим бредом. Читаете ли вы статью о кодировании в Интернете или разговариваете с разработчиком на работе, вы можете услышать слова, которые раньше не слышали или которые имеют другое значение в контексте кодирования. Вот некоторые общие словарные слова, которые нужно знать:

  • Общие условия веб-разработки:
    • Сервер: Компьютер, на котором размещен код веб-сайта и который «обслуживает» код веб-сайта по запросу «клиентского» компьютера. Серверы обычно размещаются на больших складах с тысячами других серверов и по размеру и мощности аналогичны вашему домашнему компьютеру.
    • Клиент: Устройство, используемое для доступа к веб-сайту, включая настольные или портативные компьютеры, планшеты или мобильные телефоны.
    • Дизайнер: Художественный профессионал, который решает, как будет выглядеть веб-сайт, а также как пользователи будут взаимодействовать с веб-сайтом, например, щелкая мышью, проводя пальцем по экрану, прокручивая его и т.  д.
    • Каркас: Иллюстрация, созданная дизайнерами, которая подробно показывает макеты, изображения и цветовые схемы веб-сайта.
    • Разработчик: Инженер-профессионал, который пишет код для превращения вайрфреймов в полезные веб-сайты. В зависимости от типа написанного кода разработчиков называют фронтенд, бэкэнд или полный стек.
    • Внешний интерфейс: Все, что вы можете увидеть и нажать в браузере. Разработчики внешнего интерфейса пишут код на языках внешнего интерфейса, таких как HTML, CSS и JavaScript, для создания внешнего вида веб-сайта.
    • Серверная часть: Все, что происходит за кулисами, чтобы внешний интерфейс работал должным образом. Внутренние разработчики пишут код на внутренних языках, таких как Ruby или Python, для создания таких функций, как вход пользователей в систему, сохранение пользовательских настроек и извлечение данных, таких как комментарии к фотографии.
  • Термины, связанные с интерфейсными языками:
    • HTML (язык гипертекстовой разметки): Язык, используемый для размещения текста, изображений и другого содержимого на веб-странице.
    • HTML-тег: HTML-инструкции, обычно появляющиеся парами. Браузеры применяют специальные эффекты к тексту между открытием ; и закрытие ; HTML-тег. Например, ; отображается в браузере как крупный заголовок, выделенный полужирным шрифтом, и может использоваться следующим образом:

      Дьюи побеждает Трумэна

      .
    • Атрибут HTML: Атрибуты или параметры для тегов HTML, которые изменяют поведение тега. Атрибуты всегда размещаются в открывающем теге HTML. Например, href является атрибутом следующего тега привязки (используемого для создания гиперссылок):
      Поисковая система
    • CSS (каскадные таблицы стилей ): код, который изменяет HTML на веб-страницах и управляет внешним видом контента, изменяя размер текста, размер изображения и другие атрибуты.
    • JavaScript: Код, добавляющий интерактивность и анимацию веб-страницам. JavaScript также обнаруживает события браузера, такие как щелчки мышью, проверяет вводимые пользователем данные, такие как текстовые записи, и извлекает данные с внешних веб-сайтов.
    • Переменная: Место хранения, которому присвоено имя и которое содержит числовые данные или текст (называемые строками ) для последующего использования.
    • Оператор If (условный): Кодовая инструкция, проверяющая условие, обычно включающее переменные, например 9.0070 x < 18 и выполняет написанный вами код, когда условие истинно.
    • Функция: Имя, присвоенное группе операторов программирования для простоты обращения и использования.
  • Термины, относящиеся к внутренним языкам:
    • Ruby: Язык программирования с открытым исходным кодом, наиболее известный благодаря использованию в веб-программировании.
    • Rails: Фреймворк, разработанный для упрощения создания веб-страниц на Ruby.
    • Питон: Язык программирования с открытым исходным кодом, используемый в Интернете, в научных приложениях и для анализа данных.

Справочники и ресурсы по кодированию

HTML, CSS и JavaScript являются наиболее распространенными языками кодирования интерфейса. В следующей таблице перечислены некоторые онлайн-ресурсы, справочные материалы и учебные пособия, которые помогут вам продолжать практиковать все три языка.

  • W3Schools: Справочные руководства по HTML, CSS и JavaScript

  • Шпаргалка по HTML: наиболее часто используемые HTML-команды

  • Шпаргалка по CSS: наиболее часто используемые команды CSS

  • Учебники по HTML: Учебники и статьи для Интернета, поддерживаемые Google

  • Учебники по CSS: Учебники и статьи по веб-программированию с акцентом на CSS

    .
  • Учебники по JavaScript: Учебники и справочные руководства по JavaScript

Распространенные ошибки кодирования

Код не работает? Вот несколько распространенных ошибок, о которых может споткнуться даже самый опытный кодер. Если ваш код не запускается, попробуйте просмотреть этот контрольный список, чтобы узнать, есть ли у вас какие-либо из этих ошибок:

.
  • Отсутствие закрывающего тега HTML после каждого открывающего тега HTML .

  • Отсутствуют скобки < или > в HTML.

  • Отсутствие фигурных скобок, двоеточий или точек с запятой в CSS, например:

     ч2 {
      цвет синий;
    } 
  • Отсутствуют фигурные скобки в JavaScript, особенно для операторов if.

  • Забыть иметь пару закрывающих котировок для каждой открывающей пары котировок.

  • Наличие более одного открывающего и закрывающего тега, тега или тега.

  • Помещение кода HTML в файл или раздел CSS и размещение кода CSS в разделе HTML. Если код имеет дело со стилем и внешним видом, скорее всего, это CSS.

  • Отсутствие ссылки на файл CSS с помощью тега M-Gen