Второй урок по CODESYS 3.5: добавление библиотек Standard и Util, обзор типов данных и переменных, операторов и преобразований типов. Показано создание простой программы на языке CFC с локальными и глобальными переменными, компиляция, запуск эмуляции и проверка работы оператора сложения и сравнения.
- 00:06 Добавление библиотек Standard и Util в проект CODESYS
- 03:16 Типы данных: BOOL, целочисленные, REAL, STRING, TIME
- 07:46 Типы переменных: локальные, входные, выходные, глобальные
- 13:39 Побитовые операторы и операторы сдвига
- 16:05 Операторы преобразования типов данных
- 19:25 Добавление элемента и переменных в проект
- 25:13 Использование ассистента ввода
- 31:58 Компиляция и запуск программы в CODESYS
- 36:06 Оператор сравнения и библиотеки
- 38:21 Добавление и настройка переменных в проекте
- CODESYS
Кому полезно: Инженерам АСУ ТП, начинающим изучать программирование ПЛК в CODESYS
Описание составлено автоматически по расшифровке речи в ролике.
Расшифровка видео
0:01 Добрый день всем хорошего летнего настроения. Так продолжим работать, установили программу, что теперь будем делать 1, добавим нужный нам часто. Для 1 по первости необходимы самые библиотеки, это стандарт стандарт 64 и утил. То есть как это делается, то есть вот заходим меньше в библиотеку.
0:31 Добавить библиотеку значок дальше аплекейшен. Вот они вот тут у нас высвечиваются. У меня она просто уже стоит, да библиотека + Ходора стандарт уже встал. Нужно установить. Установили все. Теперь возвращаемся обратно. Страницу. И теперь нам нужно попасть в руководство по программированию в справке параллельно. Потому что я буду сейчас рассказывать про операторы, про типы данных. Переменные и параллельно. Покажу, как пользоваться еще справка, где вся эта информация тоже как бы существует.
1:35 Заходим в справку. Вот она у нас русифицирована, вот. Вот. Этот кодекс систем, да и здесь мы находим руководство программирования. То есть кому, то есть кто заинтересовался, пожалуйста, здесь вообще. Все все, все, то есть все, что я рассказываю. Да здесь можно это все прочитать, то есть все очень хорошо и расписаны, и расписано поэтому.
2:12 Для закрепления, так сказать. Для развития, пожалуйста, вот можно сюда прямо заходить, и все прописано все, что. Вот допустим. Мы будем работать сейчас на языке си эф Си для начала на графическом языке, потом будем со временем переходить на какие. Может быть, какую то программку там напишем сразу на нескольких языках, вот. То есть вот все здесь можете как бы? Прочитать да то есть. То есть все вот эти вот изначочки не буду? Я, наверное, про это все сейчас рассказывать. То есть это, то есть это все можно и самим здесь.
3:08 Прочитать, да? Значит, что у нас есть? Типа данных, да какие у нас существуют типа данных, вот то есть. Тип тип данных бул, заходим, то есть это труд, да и фальшь, то есть нет. Да то есть, 1 0 то есть, да нет, вот значит. Нет, значит, следующие ссылательные типы данных, вот они и Байт Ворд Ворд. Инт и и так далее, это вот целочисленные типы данных. Вот нижняя граница от 0 до 255 занимает 8 от 0 до 65535 Деворт. Уже вот такая вот цифра, да, Элворд, уже там.
4:09 2 64 степени, ну и так далее, вот они целочисленные данные, которыми можно пользоваться от минуса. Какие то от 0 какие, то от минуса она 128 до 127 и так далее.
4:30 Дальше у нас идут. С плавающей запятой, то есть ареал обычно стандартная, такая ходовая и л реал, то есть. Еще больше, да? Вот значит. Значит, следующий? Типа данных Стринг, то есть это строковые, то есть описание, грубо говоря. Переменная типа Стрим может содержать строку любых символов. Значит, Где то вот, да вот как они это прописывают до 80 символов, можно писать пусть такую. Написать. Да, кстати, когда устанавливают переменную, вот можно тоже ее ограничить в скобочках, то есть ограничить количеством, то есть.
5:39 Ну хотите прочитать, да? Дальше что у нас тип? Данных Вестеринг. Цена отличается принцип, принцип тоже самое тут отличается. Не могу, так сказать, австрийно. Так типа данных времени, вот у нас есть тайм. То есть обычное как бы число, да? Тайм ОФ Дей то есть показывает время, то есть часы и еще показывает. Дата. Год месяц. Число Дейтон тайм соответственно дату и время, то есть, может показать. Это все можете тоже можете посмотреть справки, здесь всего у нас указано.
6:57 Что у нас еще здесь можно не смотреть типа данных? Бит это, грубо говоря, единички. Тоже как бы сюда! Что еще есть типа данных Р. Это массивы, там есть структуры перечисления, но это уже более сложные вещи. До до них мы доберемся, когда будет вот. Делать структуры перечисления. Уже будем с ними разбираться, вот ну кто. Ну кто кому, интересно, можете зайти посмотреть, почитать? Что это такое? Далее, то есть, посмотрели, значит. Типа данных дальше что, типа, типа переменных? Да у нас вот есть либо переменных, тоже локальные переменные, это основные, с которыми мы сейчас будем работать.
7:59 Локальные переменные объявляются между ключевыми словами, давайте вернемся. Вот как бы вот стоит вот здесь, мы будем задавать раз переменную между Вар, и это конец. Сюда мы ставить наши наши перемены. Дальше идут входные переменные да входные переменные, это переменные, которые используются на входах функциональных блоков. То есть когда задавать, да то есть? Они будут, они могут использоваться только на входе. Соответственно, есть выходные, которые используются в общем как бы только на выходе входные и выходные.
8:53 Переменная это выходная переменная, которая передается. Вызывающего пол переменная может быть считана и записана. И глобальные переменные. Ну и там вот еще их переменных предостаточно. Да, то есть тоже про них можете почитать. Мы будем сейчас пользоваться только для начала. Глобальными переменными, которые глобальные переменные они используются по всему проекту, то есть не на 1 какой то странице они видимые. Сочинять какую то программу, да у нас будет несколько.
9:35 Страница и переменная глобальная, она может там быть и там быть, и там быть на всех, на всех, как бы страницах. Она будет, видимо, в отличие от локальной переменной, которая привязана только ко мне. Какой то страничке так простыми словами, ну вот.
9:57 Дальше. Так переменные посмотрели. Так это у нас были переменные, тоже можете прочитать, почитать, то есть дальше, это типа данных посмотрели. Операторы. Есть у нас как год оператора. Арифметические операторы до оператора ДД. Это вот, + грубо говоря сказать, это + плюсовая. Плюсовой оператор. Так что так? Саб, это вычитание вот. То есть верхняя Вахислава читается нижнее число? Вот вот примерно на языке ст, на языке ФБД вот. Как это выглядит, это сейчас тоже будет все.
11:12 Так мул, это у нас умножение миф, это деление. Мод. Это для деления с остатком, то есть, если вот делим на 2 здесь, у нас. Значит, многочисленный остаток появляются у нас? То есть, что у нас 2 на 9 на 2 мы поделим, у нас единица должна появиться. Да вот результат единицы, то есть на языке ст опять же на этом языке.
11:55 Следующие муф, это у нас присваивание. Значит, Это нам особо как бы. Оператор. Для получения указателя индекс блока, то есть это до них тоже потом доберутся. Сейчас мы не будем забивать эту голову. Вот значит операторы битовой строки, это энд и сейчас тоже до них. Будем доходить. Так, значит, или? Иксор используется. Побитого операнта, как только.
13:09 Вот как только у нас 1 из 2 входов дает единицу, а выходной бит также дает единицу, когда оба входа дают единицу или 0. Выход дает. 0 С ним тоже сейчас вот тоже с ними, со всеми разбирался. Вот что у нас тут еще есть, но вот это не. И операторы, и тогда, если то есть или если значит побитовые операторы, здесь тоже идут у нас, допустим. Пользователя, побитого сдвига операнда влево. Следующий там вправо. Так что так? Значит, операторы сравнения жт, если мне память больше больше?
14:17 Так что на встрече уже д. ЛТ меньше л. е. меньше или равно же е. Больше или равно е кью функция равно. То есть, если опять же, просто у нас и 20, и 20, да то здесь на выходе будет единица. Не равно и так далее. Пираты. Так что еще? Оператора вызова. Так оператор выбора, то есть цел это. Для побитого выбора любой. Когда вот, допустим, уже имеет значение, труд не вычисляется. Выражение, предшествующее, 0 когда же имеет значение фальшь, а агрессивно вычисляет выражение, предшествующее им 1. Все сейчас будем что то, что то такое делать, и каждый каждый будем испытывать вот.
15:52 Ну и в общем, опять же, кто хочет, пожалуйста, можете. Почитать то есть продажные операторы, здесь их много предостаточно. Вот есть, допустим, операторы Булл, то есть это из. Типа Булл переводят в Инд, допустим, здесь у трое стоит. Тогда, соответственно, он на выходе становится, пишет, будет писать не трое, а будет писать непосредственно единицу, когда он будет писать в программе. Вот у нас на входе трогали да болтуин, то на выходе у нас будет единичек смотреться.
16:38 Вот вот болту стринг, да, допустим, на входе мы написали. Единицу вот На выходе будет значит, то есть здесь мы написали, то есть был трое, да и на выходе он в принципе тоже самое и напишет. Вот вот они все вот эти вот переходы, и это все в принципе здесь. Тут его здесь, наоборот, в голову превращает здесь в бул, превращает вот потом. Есть переходы и там из Реал. Зряло, можно там перейти в. Ворд. Из этого в это то есть, вот они все такие такие. Вот как бы операторы, вот есть тут тангенсы, косинусы.
17:39 Синусы. Логарифмы то есть. Освобождает память, то есть очень много, много, много, много, много всяких. Есть там же. Ну, это мы уже все вроде как операнды, вот эти посмотрели. Вроде как бы основное основное, все все посмотрели, да что еще здесь можно.
18:26 Так, ну, в принципе, больше так типа данных посмотрели, но дальше пока сообщение об ошибках. Почитает, то есть у нас будут выскакивать какие то ошибки и. Вот они здесь как бы разъясняются, что как это. Вот так что. Вот вернемся теперь сюда обратно, и здесь мы сейчас можем вот уже. Устанавливать наши какие то беременные. По крайней мере, что то, что то посмотреть. Ну давайте просто напросто сейчас возьмем самую, самую сделаем. Самое что то наипростейшее на сегодня, то есть есть у нас.
19:25 Вот берем элемент, устанавливаем, установили элемент. Дальше берем. Наши наши переменные, которые будут подключаться к водам и. И теперь, допустим, зададим зададим ему какое то имя. То есть мы можем его здесь написать, да то есть, как мы можем сделать? Допустим, вот я сейчас пишу, пусть у нас будет называться это переменный икс, что.
20:06 Такое в пишем Икс 1. Он у нас вот уже сразу сам начинает спрашивать, какой тип, пусть у нас будет вот тип инт да тип инт. Значит, сможем как бы вернуться обратно, да и что у нас такое? Что у нас такое так типа данных, так это у нас целочисленные. Это вот числа, которые входят от ты 32768 до 32767 вот такие числа, мы можем устанавливать. Вот икс 1. Типа инт ставим окей. Вот то есть, вот есть у нас уже появился, вот он автоматически даже сам сам сам записал. Допустим, берем х 2 2 икс, можем теперь можем записать вот так вот Икс 2.
21:27 Инт тоже будет у нас финт. Вот все есть значит, а теперь берем его сюда, записываем. 2 Все, то есть либо мы можем его сразу сюда записать и в табличке уже восстановить, как мы уже можем здесь его прописать. А потом сюда уже опять записать, и так вот потом берем, цепляем. Пальшиной мышки. Нажали и прицепились к к блоку блок, пусть у нас будет. А д. д. это прибавление, прибавление мы можем, допустим, с прибавлением еще сделать мы можем добавить. Входной контакт как раз добавили еще 1 факт.
22:30 Вот у нас есть здесь входной контакт, выходной контакт. Сейчас еще 1 сейчас мы еще, да давайте еще раз сейчас вот так добавим, что нибудь, как не контакт. Делаем немножко по другому. Удалить. Удалить. Берем еще 1 в год. И Называем его. Так Икс 3 И он у нас будет, так мы его сделаем. Мы его сделаем глобальные перемены. Объект создаем объект, то есть где он у нас будет как бы храниться. Да вот именно автоматическое, то здесь имя говорил. Значит, пишем добавить, вот он у нас здесь появился.
24:03 Тоже пусть он будет типа инт. Нажимаем маки все, то есть у нас теперь вот это так. Кстати, немножко сейчас так работать не будет неправильно. Сейчас объясню, почему, то есть вот сейчас мы сюда заглянем. Мы видим. Начал, так сказать, это. Переменную уже в своей, так сказать, глобальной вот этой папке, вот бар Глобал. Кстати, можем смотреть. По табличному виду так кстати даже удобнее и задавать можно. Переменные, допустим, можно сейчас взять да какую то еще переменную переменную.
24:59 Пусть будет у нас Икс. Пусть будет, допустим, е 1. И мы ее сделаем тип данных. Кстати, вот есть еще такое понятие, как ассистент. Воду да вот нажали сюда ассистент, вода он помогает выбрать. То есть не надо самим ничего писать и подбираем, какой тип данных у нас будет? Вот я выбираю типу, вот у нас будет тепло, теперь возвращаемся. Туда, где мы пишем нашу программу ПЛК ПРД. Берем еще. 1 И здесь вот вопли Кейшен до находим вот этот нашего папочку, папочку ГВЛ и берем, ставим.
26:11 Так сейчас немножко, да? Вот. Не так, то есть мы поставим, чего здесь дополнительно мы можем поставить вот такой вход не просто входной контакт, а вход и. То есть, если мы будем включать, если мы будем включать? Давать. Так сказать, как бы питание, то есть здесь же, у нас Буловский теперь контакт, то есть будем включать. Давать единицу трое, да то у нас блок будет работать, будет он считать. Ну как бы включатель выключатель вот этого блока. Если же у нас будет выключен, тогда у нас блок работать не будет, чтобы мы не поставили. Да у нас считать не будет, можем любую цифру поставить, но это сейчас сейчас мы это все посмотрим, вот я и икс 3 у нас.
27:18 У нас неправильно здесь записан, да? У нас должен выглядеть как бы посмотреть. Должен, как и То есть вот название папки, да вот этой нашей Гвл и следом уже идет название Название. Название переменной так и здесь мы, то есть сейчас, вот берем. Заходим и ставим, так вот то есть, то есть у нас, вот называется экстрим. Только еще впереди есть название папки, то есть его его видит. Ну и давайте как бы и теперь. Выход выход на выходе. Будет какая нибудь, пусть будет игрек, да?
28:24 Ставим ИНК. Кстати, можно не обязательно, даже то есть можно поставить. Ну пусть будет, пусть будут у нас все одинаковые, переменные окей. Все вот у нас нет и можем еще, допустим, поставить вывод. Ну какая то здесь у нас здесь, у нас будут числа до п получаться, а вот а здесь у нас пусть будет. Допустим, когда мы будем включать здесь, у нас на выходе будет тоже единица появляться, то есть будет трое, тоже появляться. Будет. Узбек. Д 1. Будет у нас местным, кстати, кстати, мы можем можем сделать вот аукт именно непосредственно, непосредственно, то есть выходной. Он будет только только выходным вот так вот.
29:39 Ставим окей. Все вот у должен, вот он у нас появился, сам автоматически даже написал здесь. Глобальные у нас переменные, отдельные как бы проходят в отдельный как бы папочки, они у нас тут находятся, вот а. Все остальное на как бы здесь, вот у нас локальные переменные идут в да и вот они заканчиваются, а дальше вот Вар Аут. Вот у них как бы. Своя своя. Под папочка появилась вот. Ну что, вот вроде как бы сделали, да теперь нам так, как у нас здесь стоит сейчас.
30:32 Панель, да которой у нас просто напросто нет, мы. Нам начать работать, так мы поставим сейчас. Нам нужно поставить эмуляцию, да то есть в овуляции работать, теперь это все компилируем. Вот у нас видите, то есть появилась куча куча, куча всяких ошибок, почему потому что? У нас сейчас стоит здесь вот этот, это панель, которая просто напросто не хочет в таком виде с ней с ней работать. Поэтому нам нужно ее взять и обновить устройство, поставить здесь.
31:26 Это, кстати, виртуальный контроллер, так как я его называю да кататиск контрал, вин 3 с которым мы будем работать. Вот мы его как бы теперь обновили, то есть у нас вот эти все, все, что прилагалось к той панели. Да все у нас пропало, то есть она как бы не нужно, вот и теперь. Берем, запускаем компиляцию, проверяем на наличие ошибок всяких предупреждений. Все, как бы нормально, уже никаких ошибок ничего нет, вот она заработала, то есть у нас есть.
32:12 Синеньким загорелось все как бы нормально, а теперь вот нажимаем вот этот значок. Да, Сейчас он тоже опять еще раз про компли прокомпилирует проверить все, что, как и почему, то есть это дает. Информацию дальше. И теперь запускаем нажимаем старт все, и теперь мы можем работать вот то есть можем. Мы теперь брать, как щелкнули здесь по, допустим, поставили цифру 5 да окей. Можем здесь, в табличке, допустим, цифра 2 у нас можем. Щелкнули 2 раза, можем здесь, допустим, поставить, да вот.
33:13 Да вот следующая. Квл. Можем опять же также записать да также записать. Да закачали спеца сейчас цифру, да, допустим, вот мы записали и поставили окей, да вот. То есть подготовили, вот сейчас мы сюда сейчас зайдем в Гвл. Да, то есть, вот мы видим, она у нас подготовленная, и теперь нам нужно записать, то есть мы их подготовили, а чтобы. Записать нажимаем правую клавишу мышки, и вот есть вот такая строчка записать все значения. Вот записали все, теперь у нас все значения записаны, возвращаемся вот 5 7 6.
34:13 А на выходе 0 то есть он ничего не посчитал. Да у нас, а почему он это не сделал, а потому что у нас блок не работает? Блок можно было сделать без вот этого входа. Да, тогда он уже нас посчитал бы, а вот мы сделали, чтобы его надо обязательно включить. То есть, вот теперь мы его тоже. Заходим. Подготавливаем. У меня просто что то. Записали все теперь. Все он включен на выходе, у нас тоже вроде как бы там можно. Даже лампочка загорелась, да и на входе вот у нас появился результат. 5 + 7 + 6 Вот 18 у нас появился. Здесь таблица тоже как бы сотка моя, какая то на на и простейшая программа можно сделать. Допустим, вот что то есть, вот я отключил все теперь, допустим, мы можем.
35:25 Можем, допустим, взять и как.
35:46 Взять, допустим, ну как бы что, что, допустим, возьмем. Какой какой оператор? Можно какой то взять, вот, допустим, давайте возьмем сравнение. Да жт, вот этот вот данный, значит, реализует больше, чем допустимые типы данных любой основной тип данных. Если 1 опера больше, 2 значит, устанавливает у нас на выходе, ставит. Трое, а на если наоборот, то, соответственно, будет фальшь. Вот заращаемся сюда, допустим, как вам желтые, да? Ж. Опять же можно воспользоваться этим, а вот вот да час. Кстати, вот мы можем пользоваться библиотеками. Вот для чего я как бы и библиотеки, то и установили, то есть стандартная библиотека. Вот, но это да не хочу, да в следующий раз уже доберемся эти триггеры таймеры.
37:20 Так так так, так? Что то? Так это у нас конверсия? Ладно, что то я подзабыл, где они, то они то есть. Можем с помощью помощника тоже их как бы находить, чтобы самому их не писать, ну. Написали и написали вот. Значит, Прицепили на выход, то есть у нас теперь на 1 входе здесь будет. У нас как бы программка здесь, у нас на входе будет результат вот этого нашего сложения, а на вот этом входе поставим какой то. Давайте сделаем, добавим. Так что там Икс.
38:40 5 Да, Вот только у нас будет интурским ассистент ввода. Можно взять и не обязательно инта, допустим, взять если небольшое, какое то число, то есть, то вот, может, даже и давайте поставим вот этот вот. Так теперь возвращаемся сюда. Так что так? Вот он у нас все установили. Соответственно. На выходе. Пусть будет. Д 2. Д 2 вот. Вот тоже у нас, Буловский, то есть. Вот у нас. То есть не стал, я его делал делать как выходной. Да как вот этот нас делают выходной, а это у нас просто вот обычная локальная, такая переменная и все.
40:11 То есть можно экспериментировать по разному? Сейчас мы это только для для ознакомления, это все смотрим, да? Тут желание кого есть, можете теперь взять спокойно, как бы побаловаться, поиграться всякими этими операторами, то есть экспериментировать. Все, что можно понаделать, теперь вот у нас смысл смысл. Смысл какой, давай теперь это всего опять. Проводим компиляцию. Окей. Так запускаем, допустим, тут. Допустим, тут можно. Так что так? Давайте. Давайте его сейчас.
41:21 Отключим вот. Отключили. Теперь Ну, эти цифры у нас, как они вот были, так они у нас остались, сохранились. Можно поменяем, какое нибудь число возьмем поставим? В 12 да? Вот подготовили, да? Записали все, результат не поменялся, да потому что блок у нас выключен. Теперь теперь вот у нас на выходе 18 так и висит. Да если мы сейчас сюда поставим, допустим, 30. Все он видите, погас, да у нас вот это число. Должно быть, чтобы на выходе, грубо говоря, лампочка загорелась. Да у нас на выход выход должен быть больше, чем ой, точнее вход вот этот.
42:44 Переменная должна быть больше 2. То теперь, что теперь вот эту. Записываем, включили. Результат поменялся, 23 стало так, как у нас заработал и принял новый результат, здесь ничего не поменялось. Да потому что 23 меньше, 30 а вот сейчас мы возьмем, допустим, добавим. 45 Записываем значение, все заработала, то есть у нас здесь стало 62 здесь, 3 как то вот так. Вот, но я думаю на сегодня. Для начала как бы хватит, можете почитать справку, посмотреть библиотеки, посмотреть, поиграться, так сказать. Вот с этими больше меньше, с плюсами, с минусами, с делениями, с умножениями. Чего там только нету, так сказать.
43:58 Синусы, косинусы, да то есть можете поиграть, придумывать, что то, так сказать, в следующий раз уже. Начнем делать, что то более более интересное, всем спасибо, кто меня слушает. Если есть какие, то вопросы пишите, задавайте вопросы вот. Приятно было общаться всем удачи. До свидания.
Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.