Обзор языка STL для программирования ПЛК: автор объясняет, чем STL отличается от языков, похожих на Паскаль, показывает создание функционального блока и комбинирование языков, разбирает логические операторы, группировку условий скобками, работу с аккумулятором, математические операции, операторы сравнения, условные переходы JMP и оператор BEL.
- 00:59 Язык STL: обзор и методические материалы
- 04:33 Создание блока и комбинирование языков в TIA Portal
- 08:09 Логические операторы и аналогия с Ladder Diagram
- 13:45 Написание логики на ST с операторами OR и AND
- 17:25 Группировка условий скобками для последовательного выполнения
- 24:20 Комментирование кода в STL и переход к работе с переменными
- 27:00 Загрузка чисел в аккумулятор и сложение
- 30:15 Операторы сравнения и математические операции
- 37:53 Условные переходы JMP и метки в ST
- 43:23 Оператор BEL и пропуск участков программы
- STL
- ST
- ПЛК
Кому полезно: Инженерам АСУ ТП, начинающим изучать программирование ПЛК на языке STL.
Описание составлено автоматически по расшифровке речи в ролике.
Расшифровка видео
0:01 Ну что, народ всем привет всех с Новым годом сегодня, 1 января, ну технически уже 2 января. Пока этот готовился к записи, этот ролик выйдет после праздников, ну пока у нас работяги в. состоянии алкогольной интоксикации мы тут пилим контент, причем довольно таки я бы сказал не на самую простую тему. Но прежде чем мы начнем небольшое объявление в описании, к видео будет. Ссылочка, я создал телеграм, канал заходите, будем с вами общаться, буду туда постить, какие нибудь интересные вещи, на которые у меня не будет. Время, например, записать видео, а так что то там. Можно будет написать и будем общаться, будет какой нибудь закрепленный там чатик. Заходите, комментарии будут открыты, пишите вопросы свои, может, где то лично спишемся, потому что на почте.
0:59 В комментариях на YouTube это не совсем общение, вот и соберем какую то свою компашку будем дружить, общаться и так далее. Ну и давайте начинать тема сегодняшнего видео. Это язык Эстель, который будоражит умы всех программистов.
1:21 Много об этом разговоров, почему то я не знаю очень мало материалов. Что на ютюбе, что в принципе не знаю, почему никто не снимает на эту тему? Там раз 2 видео на ютюбе и обчелся, причем я нашел видео какого то индуса, и он там рассказывает. Но рассказывает с ошибками, я проверил за ним, и у меня короче не сошлось. Вот поэтому попытаемся сегодня с вами разобраться. Я не знаю, хотелось бы уже уложиться в 30 минут, но мне кажется, это нереально то, что я вам сегодня расскажу.
1:57 Вы не станете гуру Эстеля, но понимание какое то будет и можно будет в принципе уже с багажом этих знаний, которые я вам сегодня несу. Уже можно будет писать реальной полноценной программы. Я надеюсь, давайте начнем с методического материала. Методический материал у нас ищется в Гугле по запросу Эстель Мануал и есть мануал на английском языке для 300 400 контроллеров. Он, в принципе, подойдет для 1005 она100, то есть разница там кабинету. 282 Страницы читать все это, конечно, не обязательно, ну. Например, если вас интересует там логические операции, можете открыть, посмотреть в принципе примеры все доступно. Правда, Мануалы честно немножечко, как то переусложнены. Мне кажется, для новичка, то есть много каких то функций, которые вот они в. Повседневной жизни как бы не особо то и используются. Но не знаю, какие у вас задачи, но лично мне, как бы они не нужны. Также я нашел на новом на русском языке прекрасный мануал. Я, если не забуду, постараюсь, обещаю, но оставлю все ссылки в описании. К ролику, но если что, вы знаете, это 1 запросы по Эстель Мануал, откройте все как бы на месте. Вот и еще есть такая штучка, которая называется Эстель Чичиц. Ну или по русски шпаргалки тут их 2 штучки мы будем сегодня пользоваться вот этой сама. Ходовая здесь самые необходимые функции операторы, которые мы будем использовать. Конечно, мы сегодня вот это все не посмотрим в 1 ролик. Вот даже если буду 3 часа записывать, но вот максимум, что мы сможем это разобрать, вот примерно вот столько. Это как бы очень поверхностно, вот мы сегодня посмотрим на логические операции. Вот буквально вот на эти вот на эти посмотрим по математике. Посмотрим там еще что нибудь такое, вот и в принципе. Вот этого хватит на большинство программ, которые вы. Будете разрабатывать, скорее всего, вот а то, что я вам не расскажу. Вы уже дальше с легкостью разберетесь, будете знать, как это в принципе работает куда дальше копать. Вот давайте уже к тебе порталу, потому что интра у нас затянулась, как обычно.
4:20 Я сегодня ради прикола обновился до 17 те портала, но единственное изменение, которое реально я заметил, вот который сразу бросается в глаза. Он у меня стал лагать еще сильнее, чем раньше, и. Вот чем 15 теопортал, ну да ладно, давайте начинать. Если вы не знали, то на 12.00 контроллерах Эстель языка в принципе нет. Он есть на 400 300 на тыщи 500 на ятежках, по моему есть Эстель, вот давайте создадим блок. Функциональный, назовем его Лат Эстель Ком Пьер. Будем писать на Ладе, тут же писать на Эстели, смотреть, в чем разница вот при выборе языка. Если вы собираетесь писать на Эстели, только вы можете выбрать Эстель, но. Как бы я посоветовал, наверное, выбирать все таки заклад, потому что, когда мы создадим, наладим функциональный блок или функцию, то мы можем писать в принципе. Как обычно, на Ладе, как всегда, это делаем, видите да как. Лагаете портал вот, но + ко всему мы сможем создать правой кнопкой мыши по нетворку и добавить нетворк на ст. Или, например, или нетворк на СЦ или очень удобно можно комбинировать языки, вот в рамках 1 нетворка.
5:48 И раз уж я коснулся маленько Эсцеля, хотел бы момент прояснить. В комментариях тоже была там небольшая и небольшое обсуждение, и у других роликов, у других авторов. Я видел подобные комментарии, люди, видимо, путают. По схожести названия языков и маленечко воспринимает даже не маленечко, воспринимает их не за то. Что они есть на самом деле эти языки? Конкретно на моем канале было такое обсуждение в комментариях. Может быть, я не прав, где то ребят поправьте меня вот.
6:27 Парень писал то, что другому парню объяснял то, что язык Эстель это типа язык. Если ты умеешь писать на Паскале, то в принципе ты без проблем сможешь писать. На ст или вот, но на самом деле это не так, потому что язык, похожий на Паскаль, это язык с цели. Ну либо там, в коды сиси, язык ст есть, вот он похож на Паскаль. Язык Эстель, о котором мы сегодня с вами говорим, он похож больше на Сэмблер. Вот никак на Паскалю не похож, если ты умеешь подписать на Паскале на Эстели ты. Писать не сможешь, тут нужно будет разбираться в этом языке. Если ты писал на Семблере, то Эстель, тебе только так в путь будет, будет легко в нем разобраться.
7:19 Так на самом деле язык довольно простой. Не сказал бы, что он он на самом деле сложный. Но когда вы будете понимать основы, его не сложно в принципе читать и. Понимать давайте мы с вами создадим переменных, с которыми будем работать булевы. Я буду называть просто б б 1 б 2 давайте создадим штук 10 небольшая, спасибо 8 к 9.
7:46 У тебя портал завис, вот я о чем и говорил, почему то мне с 15 такого не было. 1 Из ладно, я создал и давайте писать простую логику на Ладе. То есть всем нам знакомая конструкция примерно вот такая?
8:09 Она будет выглядеть у нас на ст или добавляем нетворк с истелем, и мы начинаем с вами писать с объявления оператора, да это, наверное. Называется я не программист, я не шарю. Вот то есть с логического какого то оператора, и у нас логические операторы есть и оператор энт не и.
8:33 То есть или или не исключительное, или исключительное? Не или тут есть передний и задний фронт? Позитивный негативный ресет сет, и вот это вот все, то есть, если мы будем читать. Код на Ладе, то это у нас выглядит как если б 1 и б 2, то б 3. Да, у нас будет и поэтому мы так и пишем на ст или энд, то есть и б 1. Б 2 и, соответственно, пишем равно б 3 правда писать. Так нельзя 2 раза вот так вот к переменной обращаться в таком виде, давайте, поэтому я напишу. Здесь б 4 но мы будем считать то, что это та же самая переменная. Вот давайте 1 раз мы загрузим, посмотрим, а потом мы маленько ускоримся, потому что.
9:35 Очень длинное видео получится, я уже прям чувствую. А так надо вызвать блок каждый раз, я это забываю почему то. Все вызываем блок и давайте зайдем сразу вот сюда. Вот и смотрим в онлайне. Как мы читаем? На Ладе то есть. Зеленая полоска, это у нас идет сигнал. Если он проходит дальше, то есть будет зеленый, если не проходит синий. Вот на Эстеле в онлайне мы смотрим вот здесь, в Столбце РЛО, это результат логической операции, вот и есть столбец со значением переменной.
10:33 Давайте взведем единицу переменную бы 1 и. И видим, у нас здесь сигнал пошел. И на стеле видим результат логической операции. У нас единица и значение перемены у нас тоже единица. Вот давайте уберем и включим б 2 здесь, смотрим то, что у нас на Ладе загорелась. бы 2 то, что переменная равна единицы, она и стеле. Мы смотрим то, что значение переменной действительно у нас единица, но результат логической операции у нас равен, 0 потому что.
11:10 Вот на этом этапе на этом шаге у нас результат логической операции будет равен единице, когда у нас будет единица вот здесь и когда. Будет единица вот здесь, так как у нас бы 1 равно 0. У нас здесь результат логической операции не может быть равен единице, поэтому мы 1. Тоже взводим и получаем здесь б 3, а здесь б 4 равной единицы. Как бы ничего сложного нету, следующий момент, если у нас будет нормально. Закрытый контакт, например бы 2 на Эстеле, мы просто пишем энг нот, а н и получаем такую конструкцию, если у нас идут параллельные контакты.
11:54 Вот так вот, например. То мы вместо оператора и используем оператор или то есть у нас это о. На их Эстеле это выглядит вот так. Если у нас нормально закрытый контакт, то соответственно или не о М. Также мы можем делать, например, Сет просто пишем вместо равно на Эстеле пишем с. Или ресет, если нам нужен, мы пишем просто р, как бы сложности в этом никаких нету, ну и давайте. Напишем что нибудь посложнее. Какую нибудь ветвистую историю, давайте давайте я вот это удалю и просто что нибудь мы рандомно накидаем.
12:47 Что нибудь еще и да посложнее? Давайте без нормально закрытых контактов, потому что у нас там для понимания это, возможно, вызовет какую то путаницу в голове. Мы потом усложнить всегда можем, давайте пока маленечко попроще сделаем такую ветку, ну и, например.
13:13 А кстати, нет, давайте не так это будет, будет у нас вот так идти. И потом, вот здесь еще сделаем параллельно такую веточку. Вот и давайте быстренько перемены тоже сюда выбьем, чтобы у нас при компиляции это не ругалась и вопросиков не было, а. О, у нас прям в аккурат вышло переменных. Так ноги давайте писать это на ст или? 1 У нас что, идет у нас здесь 2 контакта через условия или или б 1, или б 2. Если что, то из 1 этого у нас будет равно единицы, то мы перейдем дальше к б 3. Поэтому так и пишем, мы уже умеем, пишем или б 1.
14:09 Или б 2 и следующий у нас идет контакт б 3, и он уже. Идет с оператором и потому, что он уже идет последовательно, не параллельно этим контактам, поэтому пишем оператор энд да б 3. И далее у нас идет опять ветвление, ветвление. Поэтому мы давайте маленечко отступим, чтобы делать логические, такие как бы. Расстояние от стопы и также напишем или б 4 или б 5. Если мы вот в таком виде сейчас с вами оставим, давайте сразу же будем проверять. Она точно работать сейчас правильно не будет. То есть мы сейчас кусочек кода написали и давайте его отладим. Посмотрим, как он работает, так давайте равно б не 11 как раз есть, чтобы с этой переменной не повторяться с Бодей и давайте запустим и сейчас найдем с вами ошибку. Почему так нельзя было писать?
15:26 Так давайте вот эти все переменные подключаем, чтобы по порядку идти. Смотрите, вот мы сейчас смотрим на ладе, да если мы. Вот этот вот кусочек мы сейчас с вами не смотрим. Вот этот вот как будто бы его не написали, представили и вот и если мы сейчас с вами в единицу. Взведем б 4 или б 5 у нас б 10 останется равно. 0 Ну, она не должна быть у нас равна единицы, потому что у нас условия не выполнится, потому что здесь.
16:03 Во 1 бы 1 либо 2 должна быть единица потом б 3 и только потом, если бы 4 либо 5 равно единиц у нас на выходе тоже будет единица. Но вот смотрите, если сейчас б 4 в единицу взведу, то б 11 мы на выходе получим единицу, так б 4 например. Вот видим, у нас здесь единица, это происходит, потому что если мы рассмотрим вот это вот условие. Так вот вместе, то оно читается как или б 1, или б 2, или б 4 или б 5 и б. 3 Вот еще где то здесь потерялась, поэтому программа видит, что у. Нас есть здесь б 1111 или б 5, и она сразу же у нас на выходе тоже единица появляется. Но если мы, например, бы 1 взведем единицу, то у нас ничего не произойдет. То есть на выходе у нас останется, 0 потому что у нас здесь было условие и. И у нас программа вот до этого момента дошла, и дальше она нас не пускает. Вот, но если вдруг здесь единица появится, то здесь у нас тоже единица будет. Как нам эту проблему решить, нам нужно вот этот вот кусочек завернуть, так сказать.
17:25 Давайте я вам термин придумаю, назовем контейнер в такой контейнер поместить, что я под этим подразумеваю вот это условие б 4 и б 5. Оно относительно вот этого куска программы идет последовательно.
17:45 Поэтому нам нужно сделать так, чтобы вот этот кусочек программы шел и за ним последовательно шел вот этот кусочек программы. Поэтому давайте мы вот эту часть программы тоже завернем в так называемый мною придуманный термин контейнер и перед вот этим. Кском программы мы поставим оператор энд и откроем скобочку, и после этого условия мы скобку закроем и в таком виде мы вот эту структуру будем считать такой единой переменной. То есть, если у нас внутри этого контейнера выполнится вот это вот условия?
18:26 То на выходе с этого контейнера мы получим единицу и и соответственно вот это условие мы тоже заворачиваем такой контейнер. Тоже ставим скобочку в конце, и у нас получается вышло глобально 2 условия, и вот это условие и вот это условие. Давайте проверим, посмотрим, что это так.
19:04 Теперь давайте б 4 единичку поставим, и мы. И мы видим то, что внутри этого контейнера у нас условия выполнилось, но в целом вся ветка. У нас результат равен 0. И поэтому если мы сейчас с вами поставим бы 1 единицу и б 3 единицу, то на выходе мы с вами получаем до 11 единицы. И теперь давайте просто допишем дальше. Условия уже будет не сложно, когда мы этот момент проговорили, пишем также отдельно. И б 6 потому, что у нас последовательно идут б 6 и б 7.
19:59 Вот написали их, и давайте еще отдельно напишем б 8 и б 8. И б 9? И сейчас, как вы уже поняли, мы тоже условия б 6 б 7 и условия б 8 б 9 тоже завернем в контейнеры. Но здесь нужно понимать, как б 6 б 7 вот эта ветка относится к ветке б 8 б 9 и. Они у нас идут в параллели, поэтому это будет оператор, о так что мы просто с вами заворачиваем, здесь пишем оператор О. Господи, да где эта кнопка? Вот сейчас мы вот это вот завернули и сейчас и завернем в 8 б 9 тоже оператор по.
20:55 Открываем скобочку и в конце закрываем скобочку. Вот сделали, но сейчас у нас программа тоже с вами работать не будет, потому что у нас. Получились тоже такие отдельные условия. Теперь мы, когда разобрались по отдельности, вот с этой веточкой с этой веточкой нам нужно это условие объединить в общий контейнер. Такой и посмотреть, как он относится к вот этой части программы, то есть, а?
21:30 То есть, а к этой части программы вот эта часть программы она идет последовательно, поэтому мы запишем ее через оператора и. Поэтому вот это вот все условие мы еще раз завернем в так называемый контейнер, но уже через оператор и поставил здесь. А скобочка, и в конце вот этого условия мы ее закроем. Ну и теперь давайте проверять. Может быть, это, кажется, сложно, хотя, может быть, на видео это не кажется сложным? Но когда вы будете писать, тут, конечно, надо будет попрактиковаться маленько.
22:14 Давайте все отключаем и проверяем, что у нас получилось. Давайте будем сравнивать, на Ладе включаем бы 1 все. У нас сигнал дошел, ждем, где у нас будет б 3 вот здесь. У нас пока результат логической операции 0 включаем б 3 все результат логической операции. У нас единица, то есть вот этот вот контейнер мы. Его считаем как единая переменная относительно всей вот этой вот штуки и и перешли на следующий шаг. Уже вот сюда б 4 или б 5 выбираем, например, б 5 включаем б 5. Смотрим то, что у нас вот этот контейнер тоже здесь исполнилось, у нас тут единица.
23:04 То есть вот она вот эта вот единичка как раз пошла и теперь рассматриваем вот этот вот кусочек. Вот это вот условие. Нам нужно с вами, чтобы у нас были в единице б 6 и б 7 либо б 8 и б 9 поэтому. Давайте мы поставим и б 6 и поставим б, 9 чтобы у нас ничего не исполнилось, да вот. Вот и смотрим то, что у нас по прежнему единицы здесь, и когда мы поставим б 7 единица либо б 8 единица, у нас условия выполнится. Давайте проверяем, ставим бассейн, здесь условия выполнилось. На Ладе смотрим, здесь здесь условия тоже выполнилось бы, 7 снимаем, не выполнилось, ставим б, 8 выполнилось. Теперь, например, убираем б 3 и у нас должна быть должен быть 0 на выходе, убираем б 3.
24:08 И смотрим то, что да, действительно, у нас здесь 0. Фу ребят, блин, капец, это вот вроде бы не сложно, но я что то. То офигел я, что то офигел, но самое интересное впереди. Вот этот момент был реально сложный, с ним нужно попрактиковаться, открывать. Вот я учился, когда писать на стеле. Я прям брал код на Ладе и переводил его на Эстель, потом писал на Эстель, переводил его на лад и смотрел то, что я написал вообще не то, что я планировал, то есть здесь. Нужна практика, на самом деле вот правда писать не сложно, то есть дело, привычки, небольшой сноровки. И вы будете писать ничуть не хуже, чем на Ладе, и мне кажется даже. Это будет где то местами быстрее, продуктивнее. Если вы хорошо к этому приноровитесь, потому что Эстель он маленечко пугает своей внешностью, но он на самом деле легко. Читаем, можно писать большие условия. Вот когда у нас здесь, на Ладе, будет ветка прям куда то уходить за экран, и нужно будет туда сюда гонять на на Эстель, это все будет. Компактненько вот так вот на крутая вещь в Эстели. Это то, что мы можем с вами комментировать, ваш код можем выделить нажать вот эту кнопочку, и все у нас этот код. Исполняться не будет, мы можем где то, что то написать дабл Слэш, какой то комментарий оставить. То есть вообще без проблем на Ладе, конечно, с этим проблем не можем вот так. Вот закомментировать и вполне себе. Ну и давайте с вами переходить к раунду 2 нашего обзора языка. Эстель, так нам нужно с вами, будет сейчас создать других переменных.
26:06 И удалить здесь, наверное, наш код. Я создам переменные типа Рим. Тоже несколько штучек создадим. Р 4 р. Я не знаю, пригодятся ли они на все или нет. Но посмотрим, что мы с вами можем сделать с этими переменными. Понятно, когда мы пишем, наладим и открываем здесь вот инструкции и и заходим, например, в математику. Вот здесь и можем с вами сложить 2 числа.
27:00 Вот так вот можем их умножить, поделить, отнять, и я сейчас довольно много времени потратил, перетащил вот этот блок. Там переменные сюда там прописывал, вот мне кажется, на столе. Это все можно делать гораздо быстрее, как это, как нам сложить 2 числа на Эстели. Давайте создадим нетворк, и все начинается, когда мы работаем с числом, все начинается с того, что нам нужно загрузить это число. В аккумулятор это делается командой, то есть Уолт, загрузка и выбираем, что мы грузим в аккумулятор, например, переменная эр 1.
27:43 Далее нам нужно загрузить 2 число. Которое у нас здесь, в операции, участвует это р 2 тоже, пишем лоуд р 2 и. И далее нам нужна какая то математическая операция с этими числами, но в данном случае мы их хотим сложить. Давайте посмотрим вообще шпаргалочку нашу, где у нас идет. Кстати, про загрузку я что то почему то, а ну вот мы видим лот загрузка. Вот мы использовали с вами оператор, вот этот. А для математики мы будем использовать оператор. Вот есть операторы сравнения, есть операторы сложения, например + р.
28:40 В случае С. Вещественным числом мы используем оператор. Чтобы сложить 2 числа, если у нас переменные целые типа интеджер, то нам нужно будет использовать оператор. И но это тоже самое только для вещественного. Это будет р для целого, это будет и. Вот мы с вами загрузили 2 2 значения в аккумулятор, сложили их, и теперь нам нужно значение из аккумулятора, куда то записать. Для этого используется команда трансфер. Она у нас находится здесь, называется просто команда. Т трансфер пишем т и указываем, куда мы будем записывать результат переменную р 3.
29:35 Давайте вот этот кусочек удалю, чтобы у нас не конфликтовал каким нибудь образом, чтобы все было честно. Вот и мы с вами что сейчас наблюдаем? Давайте разделим экран, где у нас блок данных. Напишем Эр, 1 пускай будет 10 видим 10 + 0 равно 10 здесь, пускай 5 будет все 10 + 5 равно 15 давайте. Давайте, например, сравним вот эти 2 числа. Для этого используются операторы сравнения. Если мы сравниваем с вами вещественные числа, например, равно равно р то есть, если, например, вот эти 2 числа у нас будут равны равно равно р, то мы будем с вами выполнять какое то условие.
30:44 Для этого нам, наверное, понадобится какая нибудь переменная типа бул булеву сделаем. И напишем если р 1 равна р 2, то б 1 будет равна единице. Загружаем, проверяем. Сейчас у нас переменные равны по нулям, поэтому у нас переменная б 1 тоже равна единицы. Давайте изменим здесь, например, 15 у нас не равно, 0 поэтому бы 1 у нас тоже равна. 0 Ставим р 2 тоже 15 условия выполняются, все замечательно.
31:37 Что у нас по математическим всяким штукам? Где они у нас есть, вот, например. Можем извлечь корень, можем квадрат числа получить, что там можем абсолютное значение взять. Вот мне нравится меня, надеюсь, не забанят за за негра. Мы с вами сейчас пропишем его, это же блин капец, как весело это кек. Давайте у нас будет такое условие. Если значение Эр 1 больше или равно р 2, то мы. Что мы с вами сделаем, нет, нет? Давайте не так, это попозже, это на следующий на следующий пример мы будем использовать. Давайте их также сложим, например.
32:37 Сложим и запишем промежуточный результат в переменную р. 3 Как мы уже писали, далее мы вот это значение возьмем и сделаем негра, просто пишем команды негр, это у нас будет.
33:00 Значение просто сделается, если оно было положительным, оно станет отрицательным, если оно было отрицательным, оно станет положительной. Делаем негра, пишем результат в р 4. Давайте вот так вот сюда отнесем, и после этого мы сделаем, получим абсолютное значение. Вот этого числа, которое у нас есть, и запишем его в переменную р. 5 Так правильно, надо т трансфер и в Р. 5 Давайте загрузим, посмотрим, что у нас получилось.
33:50 Блин, тут уже спойлеры, спойлеры, так все у нас по нулям р 1, например, пускай 15. Р, 2 пускай 20 сумма у нас получается 35 в р. 3 Мы записали сумму, это у нас 35 далее, мы делаем значение негативным, вот и пишем результат в р. 4 То есть у? Нас было положительное число, 35 мы получили с вами она, 35 и потом мы получаем абсолютное значение без знака. И это у нас 35 но все замечательно, то есть как. Вы поняли, да мы уже тут далеко так зашли по математике. Например, функция МУВ, которую мы используем в Ладе, добавляем блочок, добавляем МУВ, пишем р 1 значение. Пишем в р 2 вот так вот много телодвижений на Эстели, мы пишем просто эль эр 1 т р. 2. Все мы записали значение р 1 в переменную р 2 просто вот 2 символа.
35:14 Конечно, это не так наглядно возможно, но к этому привыкаешь, и с этим проблем нет никаких. Так ну давайте мы уже с вами тут половину. Как счета, как по русски, я забыл половину шпаргалки, уже с вами практически прошли. Что еще здесь такого интересного можно найти? О чем бы хотелось рассказать, а, но я, кстати, вот вам не рассказал, например, как это. Элементарная вещь, но давайте мы проясним этот момент на всякий случай, как мы вызываем. Например, блоки на ст или блоки данных я имею ввиду.
35:57 То есть, например, у нас есть какой, то блок у него. Будут какие то входы выходы. Давайте мы не будем сильно креативничать и сделаем вот так вот. Вот у него есть какие то входы выходы. И этот блок мы можем просто методом путем перетаскивания сюда поместить. Либо прописать в ручную кол и пишем блок и его блок данных, то есть функциональный блок и какой блок данных нам нужен, который мы вызываем. Единственное неудобство есть, когда мы работаем на Эстеле, вот блок данных мы не видим, где у него вход, где у него. Выход, то есть, пока мы не наведем, когда наводим. Мы видим, что это им тут, а здесь мы видим то, что это алтпод, но визуально как на Ладе. Конечно, такого нету и, но иногда, наверное, хочется, но опять же к этому привыкаешь и особых проблем, как бы вроде бы и нет.
37:11 Так блок мы с вами вызвали все классно, можно можно удалять все спасибо за внимание. Вот и еще этот краем глаза увидел интересный момент. Это с прыжками Джампс, они, в принципе, по моему, даже на Ладе есть как то разок я их писал.
37:31 Но вот что то у меня в моей работе не прижилось на Ладе, я даже не знаю, где это посмотреть. Где у нас прыжки идут? Блин! Считать, что на Ладе их нет, но они вроде бы есть что такое Джамп. Это условия. Даже, наверное, не условия, это оператор в программе, и когда программа до него доходит, то есть у нас есть разные виды джампов. Например, Джамп Джи Эс Джейси, если по русски до говорить как надо. Если у нас перед этим оператором результат логической операции Единица, то мы с вами перепрыгнем на метку.
38:28 И кусок программы, который идет после джампа джампера, вот этого он исполняться не будет. Давайте я продемонстрирую, может, на словах это сложно немного. И как раз здесь мы с вами вот условия, которые я хотел написать, тогда мы с вами очень напишем. Возьмем переменную р 1, загрузим в аккумулятор. Переменную р 2 и поставим условия, например, больше. Если переменная эр 1 больше или равна переменной эр, 2 то то мы напишем с вами условия.
39:12 Пишем оператор и Джей Си, то есть прыжок. Если результат логической операции равен единице, то есть мы совершим прыжок в том случае, если у нас р 1 будет больше, чем р 2. Пишем Джей Си и придумываем название метки. То есть она может быть произвольно, какое вы придумаете, просто пускай метка будет ок? Вот у нас ругается красным, потому что мы к этой метки и пока что не обращались. Давайте сразу же к ней обратимся пониже и напишем. Пишем название метки, когда мы на нее переходим двоеточие и что будет исполняться здесь. Давайте не будем сильно фантазировать, просто напишем да 1.
40:06 Вот когда у нас р 1 будет больше, чем р 2, то мы сразу перепрыгнем вот сюда и все, что мы напишем. Вот здесь программой будет игнорироваться, поэтому для примера давайте здесь тоже что нибудь напишем. Например, сложение 2 чисел, почему нет, мы сложим р 3. И р 4. И запишем результат в р 5. Теперь давайте загрузим, посмотрим, что у нас получилось. Так смотрите, сейчас у нас р 1 меньше, чем р 2. То есть 15 здесь, 20 вот и поэтому у нас условия после вот этого прыжка оно у нас выполняется.
41:20 Но, собственно, и вот этот кусочек программы он у нас тоже выполняется. Теперь давайте сделаем, чтобы р 1 было больше, чем р. 2 Например, 25 и обратили внимание, как у нас здесь вот этот кусок программы, он так? Потускнел, вот и у нас здесь получается. Р 3 и р 4 была сумма, и мы получали значение суммы 0, потому что 35 + ты 35 получаем 0 в итоге вот. Если мы с вами сейчас попытаемся здесь что нибудь поменять, например, эр 3 сделаю. Допустим, 0 да то, если бы у нас программа исполнялась. У нас значение переменной р 5 должно было бы стать одни. 35 Но она не стала, потому что вот этот кусок программы он не исполняется здесь.
42:21 Давайте снова сделаем р 1 меньше, чем р 2. И сразу же у нас вот этот кусочек программы включился, посчитался значение здесь отрицательно. У нас все как надо, все так и должно быть вот таким джампером применение в принципе. Масса можно их всяко разное использовать, например, еще есть интересная такая функция. Я где то ее в Мануале тут подглядел, я вот я вот не знаю, шпаргалки она есть или нет.
42:52 Например, если мы хотим, чтобы. Если мы хотим, чтобы у нас после, допустим, будем считать вот это. Вот происшествие будем считать аварии, и если мы хотим, чтобы. Во время аварии у нас. Мы переходили сюда. А когда аварии нету у нас? Код не исполнялся. Дальше, например, какого то места, как сложно это объяснить. Господи, давайте просто покажу вот в это место. Мы напишем такой вот оператор, как он называется Бел. Я думал, Бел, он называется Бел, это.
43:44 Я забыл, как он расшифровывается, в общем, неважно. Давайте я продемонстрирую, это будет вместо 1000 слов. Смотрите ситуации, сейчас у нас с вами эр 1 меньше, чем эр. 2 И как мы видим, у нас все, что после вот этого оператора у нас не исполняется, то. Есть здесь у нас, видите, ничего нету и в следующем нетворки. То, что вы напишите в этом функциональном блоке то, что вы дальше будете писать оно. Исполняться не будет, пока р 1 не станет больше, чем р 2. То есть делаем р 1 больше, чем р 2 и смотрим то, что теперь у нас вот этот кусок программы. Не исполняется, но зато исполняется все, что после него, то есть все последующие нетворки, которые вы ниже напишите, они будут исполняться. Вот и на Эстелле таких возможностей, просто их капец, сколько то есть на Ладе. Некоторые моменты написать либо невозможно, либо очень сложно. Муторно и на Эстель это делается просто вот на ура. Я надеюсь, что то, что я вам рассказал, было вам полезно. Обязательно посмотрите, Мануал, потому. Что, особенно на русском языке, здесь все очень понятно. И после каждой какой то функции, которая здесь описано, идут примеры, то есть и вы можете. Их повторить, вот все на русском все понятно. То есть посмотрите и, надеюсь, надеюсь, мое видео то, что я вам сегодня рассказал, оно будет таким.
45:31 Как это по русски то назвать толчком? Надеюсь, я вас подтолкну к обучению Эстеля, и вы с ним справитесь и будете на нем писать и попробуйте. Это просто интересно, это ты получаешь от этого кайф даже. Вот когда у тебя получается, ты пишешь какие то такие клевые вещи, и они работают это, но офигенное чувство. А если вы освоите язык и потом, где то вам попадется? Программа, написанная на ст. Или вы без проблем с ней разберетесь? Это клевый багаж знаний, который классно иметь и пользоваться им, но а видео у нас затянулось. Уже на сколько на 50 минут после монтажа на минут 40 будет? Ой, Господи, я почти в полчаса уложился ребят, но это заслуживает лайкоса, я думаю, прям и комментарии.
46:27 И поделиться с Видосом везде в соц сетях с друзьями. Это лучшая поддержка, которая может быть от вас. Не забывайте про телеграм канал, на котором я говорю. В начале заходите, ссылочка будет в. Описании будем общаться, обсуждать вам всем большое спасибо за просмотр, желаю вам всем удачи в новом году, успехов в вашей работе в программировании. Всего вам самого хорошего, всем пока пока.
Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.