Язык st codesys самоучитель

Содержание
  1. Общие сведения о языке ST¶
  2. Типы данных¶
  3. Подробности об языке программирования на ST в CoDeSyS
  4. Язык программирования ST и типы переменных
  5. Перечень основных операторов
  6. Самоучители по LD, ST, IL, FBD, SFC
  7. CoDeSys | Обучение
  8. Программирование ПЛК ОВЕН. Языки МЭК61131-3. Среда CoDeSys. Основы. Alex IA. Видеокурс. 2017
  9. Программирование ПЛК ОВЕН. Языки МЭК 61131-3. Среда CoDeSys. Гайнутдинов К. Видеокурс. 2013
  10. CoDeSys. v3.5. ЧаВо. FAQ. Руководство. ОВЕН. Pdf. 2018
  11. CoDeSys. v3.5. Форум. Owen.ru. ОВЕН
  12. CoDeSys. v3.5. Таргет-файлы. ПЛК ОВЕН. Руководство. ОВЕН. Pdf. 2018
  13. CoDeSys. v3.5. Старт. Руководство. ОВЕН. Pdf. 2018
  14. CoDeSys. v3.5. Справка-онлайн. Официал.сайт. Ru. 2017
  15. CoDeSys. v3.5. Связь, обмен данными. Сокеты. Руководство. ОВЕН. Pdf. 2018
  16. CoDeSys. v3.5. Связь, обмен данными. Протокол. Нестандартный. Руководство. ОВЕН. Pdf. 2018
  17. CoDeSys. v3.5. Связь, обмен данными. Протокол. OWEN. Руководство. ОВЕН. Pdf. 2018
  18. CoDeSys. v3.5. Связь, обмен данными. Протокол. Modbus. ПЛК ОВЕН. Руководство. ОВЕН. Pdf. 2018
  19. CoDeSys. v3.5. Связь, обмен данными. Протокол. Modbus. Контроллер СПК. Руководство. ОВЕН. Pdf. 2016
  20. CoDeSys. v3.5. Связь, обмен данными. Верхний уровень. Руководство. ОВЕН. Pdf. 2018
  21. CoDeSys. v3.5. Проект. Адаптация. Руководство. ОВЕН. Pdf. 2018
  22. CoDeSys. v3.5. Визуализация. Руководство. ОВЕН. Pdf. 2018
  23. CoDeSys. v3.5. Версии ПО и документации. Руководство. ОВЕН. Pdf. 2019
  24. CoDeSys. v3.5. Библиотеки. OwenStringUtils. Руководство. ОВЕН. Pdf. 2018
  25. CoDeSys. v3.5. Библиотеки. CmpSysExec. Руководство. ОВЕН. Pdf. 2018
  26. CoDeSys. v3.5. Архивация. Руководство. ОВЕН. Pdf. 2018
  27. CoDeSys. v2.3. Форум. Owen.ru
  28. Таймеры и триггеры CODESYS. Еще один шаг Arduino к классическому ПЛК
  29. TON — функциональный блок «таймер с задержкой включения»
  30. В Arduino IDE:
  31. TOF — функциональный блок «таймер с задержкой выключения»
  32. В Arduino IDE:
  33. TP — функциональный блок «импульс-таймер»
  34. В Arduino IDE:
  35. R_TRIG — функциональный блок «дeтектор фронта»
  36. В Arduino IDE:
  37. F_TRIG — функциональный блок «дeтектор спада»
  38. В Arduino IDE:
  39. RS_TRIG — функциональный блок RS-триггер / SR_TRIG — функциональный блок SR-триггер

Видео:Вебинар «Основы программирования ПЛК1хх на языке ST»Скачать

Вебинар «Основы программирования ПЛК1хх на языке ST»

Общие сведения о языке ST¶

ST (Structured Text) – это текстовый язык высокого уровня общего назначения, по синтаксису схожий с языком Pascal. Удобен для программ, включающих числовой анализ или сложные алгоритмы. Может использоваться в программах, в теле функции или функционального блока, а также для описания действия и перехода внутри элементов SFC. Согласно IEC 61131-3 ключевые слова должны быть введены в символах верхнего регистра. Пробелы и метки табуляции не влияют на синтаксис, они могут использоваться везде.

Выражения в ST выглядят точно также, как и в языке Pascal:

Порядок их выполнения – справа налево. Выражения состоят из операндов и операторов. Операндом является литерал, переменная, структурированная переменная, компонент структурированной переменной, обращение к функции или прямой адрес.

Видео:CoDeSys создание первого проекта - счётчик (ST)Скачать

CoDeSys создание первого проекта - счётчик (ST)

Типы данных¶

Согласно стандарту IEC 61131-3, язык ST поддерживает весь необходимый набор типов, аналогичный классическим языкам программирования. Целочисленные типы: SINT (char), USINT (unsigned char), INT (short int), UINT (unsigned int), DINT (long), UDINT (unsigned long), LINT (64 бит целое), ULINT (64 бит целое без знака). Действительные типы: REAL (float), LREAL (double). Специальные типы BYTE, WORD, DWORD, LWORD представляют собой битовые строки длиной 8, 16, 32 и 64 бит соответственно. Битовых полей в ST нет. К битовым строкам можно непосредственно обращаться побитно. Например:

a.3 := 1; (* Установить бит 3 переменной a *)

Логический тип BOOL может иметь значение TRUE или FALSE. Физически переменная типа BOOL может соответствовать одному биту. Строка STRING является именно строкой, а не массивом. Есть возможность сравнивать и копировать строки стандартными операторами. Например:

Для работы со строками есть стандартный набор функций (см. приложение 2, раздел «Строковые операции с переменными типа STRING»).

Специальные типы в стандарте IEC определены для длительности (TIME), времени суток (TOD), календарной даты (DATE) и момента времени (DT).

В таблице 3.1 приведены значения по умолчанию, соответствующие описанным выше типам.

Таблица 3.1 – Значения по умолчанию для типов данных IEC 61131-3

Тип(ы) данныхЗначение
BOOL, SINT, INT, DINT, LINT0
USINT, UINT, UDINT, ULINT0
BYTE, WORD, DWORD, LWORD0
REAL, LREAL0.0
TIMET#0S
DATED#0001-01-01
TIME_OF_DAYTOD#00:00:00
DATE_AND_TIMEDT#0001-01-01-00:00:00
STRING‘’ (пустая строка)

По умолчанию, все переменные инициализируются нулем. Иное значение переменной можно указать явно при ее объявлении. Например:

str1: STRING := ‘Hello world’;

В определённых ситуациях при разработке программных модулей удобно использовать обобщения типов, т.е. общее именование группы типов данных. Данные обобщения приведены в таблице 3.2.

Таблица 3.2 – Обобщения типов данных IEC 61131-3

Источник

Видео:Основы программирования на языке STСкачать

Основы программирования на языке ST

Подробности об языке программирования на ST в CoDeSyS

Язык st codesys самоучитель

Прежде чем мы с вами будем рассматривать упрощённую графическую систему программирования для технологов, хотелось бы в двух словах рассказать о базисном языке программирования СИ. Язык ST CoDeSyS отличается от других своей гибкостью и адаптивностью под любые задачи. Он позволяет обрабатывать сложные решения и видеть всю картину в целом. Чаще всего применяется в функциональных блоках для обработки алгоритма той или иной части рабочего органа станка или линии.

Из этой статьи вы узнаете:

Здравствуйте уважаемые Дамы и Господа! Меня зовут Гридин Семён, и я являюсь автором этого блога. В данном посте я хочу обсудить с вами базовые понятия языка программирования CoDeSyS. Называется он ST CoDeSyS, очень сильно напоминает СИ.

Видео:Создание функционального блока на языке STСкачать

Создание функционального блока на языке ST

Язык программирования ST и типы переменных

ST (Structured text) — это одна из составных частей комплекса CoDeSyS и представляет собой текстовый редактор высокого уровня. Он очень похож на Basic или Pascal. Такой способ программирования является идеальным инструментом для людей-программистов. Преимуществом языка является создание сложных математических и разветвленных алгоритмов.

ST позволяет без труда описывать сложные операции компактным и лёгким для восприятия текстом. Structured Text содержит в себе много конструкций, позволяющие присваивать переменные, использовать готовые библиотеки, функции и функциональные блоки.

Язык st codesys самоучитель

В чём преимущество данного способа программирования? давайте с вами перечислим:

С этим мы разобрались, но, прежде чем переходить к непосредственному изучению азов программирования, необходимо ознакомиться с элементом языка — тип данных. Хочу обратить внимание, этот элемент практически схож во многих си-подобных языках (Питон, Ардуино IDE, СИ# т.д.)

Язык st codesys самоучитель

Тип данных переменной определяет род информации, диапазон представлений и множество допустимых операций. Языки МЭК используют строгую идеологию в этом отношений. Любую переменную можно использовать только после её объявления. Присваивать значения одной переменной другой можно, только если они одного типа. В другом случае используются преобразователи типов.

В таблице ниже я представлю типы данных, которые используются чаще всех:

ТипНазваниеПределРазмер в байтах
BOOLЛогическое1 бит1 бит
BYTEЦелочисленое8 бит1 байт
WORDЦелочисленое16 бит2 байта
INTЦелочисленое-32768-327672 байта
UINTЦелочисленое0-655352 байта
FLOATВещественное±10³³4 байта
DATE_AND_TIMEДата и время
STRINGСтроковое

Видео:Урок 7. Создание макроблока на языке STСкачать

Урок 7. Создание макроблока на языке ST

Перечень основных операторов

Операторы — это символы определённых операций. Но их можно определить и как функции, наделёнными определёнными привилегиями. Они имеют определённые ключевые слова и формы для представления на ST.

Оператор выбора IF позволяет выполнить различные группы выражений в зависимости от условий, выраженных логическими выражениями.

Источник

Видео:Часть 14: Язык программирования STСкачать

Часть 14: Язык программирования ST

Самоучители по LD, ST, IL, FBD, SFC

Язык st codesys самоучительCMD/BAT: Взять из работающего sfc проценты, вывести и обновлять так, как в sfc, при этом добавить прогресс-бар
Здравствуйте. Сейчас всё поподробнее. И так, выполняется команда sfc /scannow, и то, что она.

ПО и Самоучители
Добрый день, уважаемые форумчане. Хочется попробовать себя в веб програмирование. Пожалуйста.

Самоучители.
Посоветуйте, плиз, какие-нибудь самоучители или учебники для будущего системного администратора. Я.

Самоучители
Добрый вечер ) Уверена, многие изучали С++ самостоятельно. Вопрос: какая книга более всего.

Вложения

Язык st codesys самоучительМУ. Программирование ПЛК на языке LD_ST_IL_FBD_SFC.pdf (1.50 Мб, 7496 просмотров)

Вложения

Язык st codesys самоучительН.Б.Сбродов. МУ. Основы программирования ОВЕН ПЛК-100 на языке LD.pdf (984.1 Кб, 2235 просмотров)

Вложения

Язык st codesys самоучительFX PLC Beginners.pdf (1.08 Мб, 1128 просмотров)
Язык st codesys самоучительFX PLC Programming.pdf (6.88 Мб, 1037 просмотров)

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Самоучители и видеоуроки
посоветуйте хорошие самоучители или еще лучше видеоуроки по java для начинающих

Самоучители по Visual C++
Подскажите пожалуйста современные самоучители (работаю в Visual Studio 2013), чтобы можно было.

Самоучители по Java и JavaScript
добрый вечер,подскажите пожалуйста самоучители по Java и JavaScript,с примерами для новичков и.

Язык st codesys самоучительСамоучители по Visual Basic
Дайте ссылки отличных подробных самоучителей по VB. Просто летом практика, хочу хоть как-то.

Онлайн самоучители по PHP
Решил изучить PHP не знете ли вы где можно найти хорошие онлайновые самоучители.. если что оставьте.

Источник

Видео:#4 - Structured Text // Функция или функциональный блок?Скачать

#4 - Structured Text // Функция или функциональный блок?

CoDeSys | Обучение

Видео:#1 - Structured Text // Определение переднего (R_TRIG) и заднего (F_TRIG) фронта сигнала в CodesysСкачать

#1 - Structured Text // Определение переднего (R_TRIG) и заднего (F_TRIG) фронта сигнала в Codesys

Программирование ПЛК ОВЕН. Языки МЭК61131-3. Среда CoDeSys. Основы. Alex IA. Видеокурс. 2017

Язык st codesys самоучитель

Возможности среды CoDeSys. Языки программирования ПЛК. Библиотеки. Типы данных, операторы. Примеры.

Видео:#2 - Structured Text // Создадим копию таймера TON и добавим к нему памятьСкачать

#2 - Structured Text // Создадим копию таймера  TON и добавим к нему память

Программирование ПЛК ОВЕН. Языки МЭК 61131-3. Среда CoDeSys. Гайнутдинов К. Видеокурс. 2013

Язык st codesys самоучитель

Возможности среды разработки CoDeSys. Языки программирования контроллеров. Операторы. Типы данных. Стандартные библиотеки.

Видео:1Tool. 7. Создание макроблока на языке STСкачать

1Tool. 7. Создание макроблока на языке ST

CoDeSys. v3.5. ЧаВо. FAQ. Руководство. ОВЕН. Pdf. 2018

Язык st codesys самоучитель

Сборник часто задаваемых вопросов, возникающих во время работы с контроллерами ОВЕН, программируемых в среде CODESYS V3.5, и ответов на них. В некоторых случаях вопросы охватывают слишком большую предметную область – тогда вместо ответа приводится ссылка на документ, посвященный затронутой теме.

Видео:Видео CoDeSys ПЛК Овен язык программирования ST Часть№1Скачать

Видео CoDeSys ПЛК Овен язык программирования ST Часть№1

CoDeSys. v3.5. Форум. Owen.ru. ОВЕН

Язык st codesys самоучитель

Вопросы и ответы. Настройка обмена с другими устройствами (Modbus, ОВЕН, OPC и др.). Визуализация. Архивация. Онлайн-FAQ. История обновлений Шаблоны модулей Mx110 для CODESYS V3.5. Библиотеки: ModemOwenLib, библиотеки для опроса электросчётчиков и тепловычислителей, библиотека OwenStringUtils.

Видео:Контроллер АГАВА ПЛК-50. Программирование на языке ST (урок 1)Скачать

Контроллер АГАВА ПЛК-50. Программирование на языке ST (урок 1)

CoDeSys. v3.5. Таргет-файлы. ПЛК ОВЕН. Руководство. ОВЕН. Pdf. 2018

Язык st codesys самоучитель

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

Видео:Представляю книгу по Structured Text (ST) МЭК 61131-3Скачать

Представляю книгу по Structured Text (ST) МЭК 61131-3

CoDeSys. v3.5. Старт. Руководство. ОВЕН. Pdf. 2018

Язык st codesys самоучитель

Вводная информация для работы с контроллерами ОВЕН в среде CODESYS V3.5. Установка ПО. Настройка связи между контроллером и компьютером. Интерфейс CODESYS. Подключение к контроллеру модулей ввода-вывода и их конфигурирование. Создание и запуск демонстрационного проекта.

Видео:OwenLogic функция на языке STСкачать

OwenLogic функция на языке ST

CoDeSys. v3.5. Справка-онлайн. Официал.сайт. Ru. 2017

Язык st codesys самоучитель

Справочная онлайн-система по CoDeSys на официальном сайте производителя 3S-Smart Software Solutions. Постоянно обновляется. На русском и английском языках. Удобная навигация.

Видео:Видео CoDeSys ПЛК Овен язык программирования CFC плюс STСкачать

Видео CoDeSys ПЛК Овен язык программирования CFC плюс ST

CoDeSys. v3.5. Связь, обмен данными. Сокеты. Руководство. ОВЕН. Pdf. 2018

Язык st codesys самоучитель

Связь по интерфейсу Ethernet и протоколам на стеке TCP/IP – Modbus TCP, KNX, MQTT, SNMP и др. Передача данных в OPC-серверы и SCADA-системы, передача файлов (по FTP), синхронизации с серверами точного времени (NTP), рассылка сообщений по электронной почте (SMTP/POP3) и т. д. Работа с сетевыми сокетами в CODESYS V3.5 позволяет программисту реализовать свой протокол обмена поверх стандартных UDP и TCP.

Видео:Лекция. Программирование на языке SFC (CoDeSys)Скачать

Лекция. Программирование на языке SFC (CoDeSys)

CoDeSys. v3.5. Связь, обмен данными. Протокол. Нестандартный. Руководство. ОВЕН. Pdf. 2018

Язык st codesys самоучитель

В основном обмен данными происходит по последовательным интерфейсам RS-232/485 и стандартным промышленным протоколам (например, Modbus RTU). Но иногда необходим обмен с устройством поддерживающим только свой специфичный протокол, например тепло- и электросчетчики, весовые индикаторы, модули ввода-вывода и т.д. Поддержку этого протокола в контроллере можно организовать с помощью системных библиотек, которые позволяют работать с последовательным портом напрямую.

Видео:#3 - Structured Text // УказателиСкачать

#3 - Structured Text // Указатели

CoDeSys. v3.5. Связь, обмен данными. Протокол. OWEN. Руководство. ОВЕН. Pdf. 2018

Язык st codesys самоучитель

Обмен данными с использованием протокола ОВЕН для контроллеров ОВЕН, программируемых в среде CODESYS V3.5. Протокол ОВЕН поддерживается такими устройствами, как ТРМ, СИ, модули Mx110 и др. Работа с протоколом в CODESYS реализована в библиотеке OwenNet. Описание библиотеки и пример ее использования для опроса ТРМ212 (на языках CFC и ST).

CoDeSys. v3.5. Связь, обмен данными. Протокол. Modbus. ПЛК ОВЕН. Руководство. ОВЕН. Pdf. 2018

Язык st codesys самоучитель

Обмен данными между контроллерами, программируемыми в CODESYS V3.5 и CoDeSys V2.3 по протоколу Modbus. Контроллеры могут работать как в режиме Master, так и в режиме Slave.

CoDeSys. v3.5. Связь, обмен данными. Протокол. Modbus. Контроллер СПК. Руководство. ОВЕН. Pdf. 2016

Язык st codesys самоучитель

Обмен данными по протоколу Modbus для панельных контроллеров ОВЕН СПК в среде CODESYS V3.5. Способы организации связи: шаблоны модулей, стандартные средства конфигурирования CODESYS, библиотека ModulsOwenLib, библиотеки Modbus и ModbusSlave.

CoDeSys. v3.5. Связь, обмен данными. Верхний уровень. Руководство. ОВЕН. Pdf. 2018

Язык st codesys самоучитель

Web-визуализация, VPN вместо сложной SCADA. Обмен данными между контроллерами в локальной сети при помощи сетевых переменных. Передача данных в SCADA с помощью OPC-сервера. Передача данных в облачный сервис типа OwenCloud.

CoDeSys. v3.5. Проект. Адаптация. Руководство. ОВЕН. Pdf. 2018

Язык st codesys самоучитель

Перенос проектов CODESYS из предыдущих версий среды в новую. Перенос проектов, созданных в CODESYS V3.5 SP5 Patch 5 и CoDeSys V2.3, в CODESYS V3.5 SP11 Patch 5.

CoDeSys. v3.5. Визуализация. Руководство. ОВЕН. Pdf. 2018

Язык st codesys самоучитель

Cоздание экранов визуализации для контроллеров, программируемых в среде CODESYS V3.5, с подробным описанием характеристик и настроек всех графических примитивов, а также примерами работы с ними.

CoDeSys. v3.5. Версии ПО и документации. Руководство. ОВЕН. Pdf. 2019

Язык st codesys самоучитель

Определение версии: встроенного ПО (прошивки) прибора, таргет-файла, компонента, библиотеки, документа (руководства).

CoDeSys. v3.5. Библиотеки. OwenStringUtils. Руководство. ОВЕН. Pdf. 2018

Язык st codesys самоучитель

Библиотека OwenStringUtils предоставляющая программисту дополнительный функционал для работы со строками – функции конвертации строк ASCII в строки Unicode и Unicode в ASCII.

CoDeSys. v3.5. Библиотеки. CmpSysExec. Руководство. ОВЕН. Pdf. 2018

Язык st codesys самоучитель

Библиотека CmpSysExec позволяет организовать доступ к терминалу ОС Linux из программы контроллера. Реализация библиотеки находится в Linux (библиотека CODESYS представляет только интерфейс), поэтому может меняться в зависимости от версии прошивки контроллера.

CoDeSys. v3.5. Архивация. Руководство. ОВЕН. Pdf. 2018

Язык st codesys самоучитель

Контроллеры ОВЕН могут архивировать данные во внутреннюю память или на внешний носитель (USB- или SD-накопитель). Для этого могут использоваться компонент OwenArchiver или библиотека CAA File.

CoDeSys. v2.3. Форум. Owen.ru

Язык st codesys самоучитель

Форум компании ОВЕН по Codesys версии 2.3. Вопросы, обсуждения, полезности, примеры.

CoDeSys. Среда программирования ПЛК. Обучение: видеокурсы, уроки, документация, книги, для чайников, статьи.

Источник

Таймеры и триггеры CODESYS. Еще один шаг Arduino к классическому ПЛК

Язык st codesys самоучитель

Случается программировать контроллеры (ПЛК) в среде CODESYS. Все, кто имел дело с этой системой, знают, что в любом проекте присутствует библиотека Standard.lib, в которой реализованы базовые таймеры, триггеры, счетчики и некоторое кол-во других функций и функциональных блоков. Многие из этих блоков постоянно используются в программах для ПЛК. А сама библиотека, как и языки программирования CODESYS, является воплощением стандарта IEC 61131-3, т.е. призвана помочь при программировании классических ПЛК задач.

Одна из особенностей программ для ПЛК в том, что основной цикл программы должен выполняться без существенных задержек, в нем не должно быть внутренних циклов с неопределенным временем выхода или синхронных вызовов «задумчивых» функций, особенно это касается коммуникаций по медленным каналам. Обновление входных и выходным образов процесса происходит только на границе основного цикла, и чем дольше мы будем «сидеть» внутри одной итерации цикла, тем меньше мы будет знать о реальном состоянии объекта управления, в конечном итоге сработает watchdog переполнения времени выполнения цикла. Многие могут мне возразить, сказав, что современные ПЛК многозначны, есть с поддержкой аппаратных прерываний. Согласен, но разговор о таких системах не входит в мои планы, я же хочу поговорить о (квази, псевдо — выбирайте) ПЛК однозадачной реализации (без прерываний) на базе микропроцессорной платформы Arduino, в котором есть только один основной цикл. Кстати, не лишним будет сказать, что на написание данной заметки меня сподвигла статья Ардуино-совместимый ПЛК CONTROLLINO, часть 1 о попытке аппаратного воплощения Arduino в пром. ПЛК.

Несколько слов об Arduino. С точки зрения программиста ПЛК, Arduino — это типичный контроллер с одним очень быстрым или, наоборот, очень медленным циклом loop(). На время выполнения цикла не накладывается никаких ограничений, и он может отработать и один, и бесконечное кол-во раз — по замыслу программиста. Когда программа проста и сводится к выполнению последовательных операций, регуляторов, без параллельных событий, то достаточно чередовать операции бесконечными вложенными циклами проверки условий и синхронными задержками типа delay(). Последовательные шаги такой программы будут выполняться буквально построчно, просто и логично. Но, как только возникает необходимость в программировании параллельных операций, необходимо менять парадигму программы.

В однозадачной системе добиться видимой параллельности можно только очень быстрым последовательным сканированием параллельных состояний, не задерживаясь подолгу на каждом вызове функции или проверке условия. С физическими входами-выходами проблем нет, функции отрабатывают достаточно быстро, а вот delay() становится неоправданным тормозом. И вот тут на смену приходят неблокирующие таймеры, те самые, которые в программировании ПЛК являются классикой. Суть в том, что для их работы используется миллисекундный счетчик времени, и все действия привязаны к значениям этого глобального счетчика.

А теперь давайте вспомним ту самую Standard.lib из CODESYS. В ней как раз реализованы МЭК-овские неблокирующие таймеры. Я взял ее за основу и портировал функции таймеров и триггеров в библиотечный код Arduino (С++). Т.е. попытался приблизить Arduino к классическому ПЛК.

Ниже я приведу краткое описание портированных функциональных блоков (FB) CODESYS и их аналоги в моей библиотеке plcStandardLib, все временные диаграммы верны для новой библиотеки Arduino. Подробнее описание исходных блоков можно посмотреть, например, в русскоязычной справке по CODESYS.

TON — функциональный блок «таймер с задержкой включения»

Входы IN и PT типов BOOL и TIME соответственно. Выходы Q и ET аналогично типов BOOL и TIME. Пока IN равен FALSE, выход Q = FALSE, выход ET = 0. Как только IN становится TRUE, начинается отсчет времени (в миллисекундах) на выходе ET до значения, равного PT. Далее счетчик не увеличивается. Q равен TRUE, когда IN равен TRUE, а ET равен PT, иначе FALSE. Таким
образом, выход Q устанавливается с задержкой PT от фронта входа IN.

В Arduino IDE:

Временная диаграмма работы TON:

Язык st codesys самоучитель

TOF — функциональный блок «таймер с задержкой выключения»

Входы IN и PT типов BOOL и TIME соответственно. Выходы Q и ET аналогично типов BOOL и TIME. Если IN равен TRUE, то выход Q = TRUE и выход ET = 0. Как только IN переходит в FALSE, начинается отсчет времени (в миллисекундах) на выходе ET. При достижении заданной длительности отсчет останавливается. Выход Q равен FALSE, если IN равен FALSE и ET равен PT, иначе — TRUE. Таким образом, выход Q сбрасывается с задержкой PT от спада входа IN.

В Arduino IDE:

Очень похоже на TON, для краткости:

Временная диаграмма работы TOF:

Язык st codesys самоучитель

TP — функциональный блок «импульс-таймер»

Входы IN и PT типов BOOL и TIME соответственно. Выходы Q и ET аналогично типов BOOL и TIME. Пока IN равен FALSE, выход Q = FALSE, выход ET = 0. При переходе IN в TRUE выход Q устанавливается в TRUE и таймер начинает отсчет времени (в миллисекундах) на выходе ET до достижения длительности, заданной PT. Далее счетчик не увеличивается. Таким образом, выход Q генерирует импульс длительностью PT по фронту входа IN.

В Arduino IDE:

Очень похоже на TON, для краткости:

Временная диаграмма работы TP:

Язык st codesys самоучитель

R_TRIG — функциональный блок «дeтектор фронта»

Функциональный блок R_TRIG генерирует импульс по переднему фронту входного сигнала. Выход Q равен FALSE до тех пор, пока вход CLK равен FALSE. Как только CLK получает значение TRUE, Q устанавливается в TRUE. При следующем вызове функционального блока выход сбрасывается в FALSE. Таким образом, блок выдает единичный импульс при каждом переходе CLK из FALSE в TRUE.

Пример CODEDESYS на языке ST:

В Arduino IDE:

F_TRIG — функциональный блок «дeтектор спада»

Функциональный блок F_TRIG генерирует импульс по заднему фронту входного сигнала.
Выход Q равен FALSE до тех пор, пока вход CLK равен TRUE. Как только CLK получает значение FALSE, Q устанавливается в TRUE. При следующем вызове функционального блока выход сбрасывается в FALSE. Таким образом, блок выдает единичный импульс при каждом переходе CLK из TRUE в FALSE.

В Arduino IDE:

RS_TRIG — функциональный блок RS-триггер / SR_TRIG — функциональный блок SR-триггер

Переключатель с доминантой выключения, RS-триггер:

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

Входные переменные SET и RESET1 — как и выходная переменная Q1 типа BOOL.

Источник

Поделиться или сохранить к себе:
Технологии | AltArena.ru
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных, принимаю Политику конфиденциальности и условия Пользовательского соглашения.