Программные блоки в TIA Portal с примерами

  Рет қаралды 33,051

Portal View

Portal View

Күн бұрын

Телеграм-канал, где можно связаться со мной, пообщаться и задать свои вопросы: t.me/portal_view
Привет. На этом канале я решил поделиться своими знаниями и опытом программирования в TIA Portal. В свое время я тоже разбирался в TIA Portal при помощи форумов и роликов на KZbin. Но информации было мало, а про какие-то базовые вещи мало кто говорил. Как и про продвинутые. Про них если и рассказывают, то поймет такие ролики только хорошо подкованный в теме специалист. Моя цель - доступно и понятно рассказать как о базовых вещах в программировании в TIA, так и о продвинутых, но так, чтобы понять это смог любой желающий.
В данном ролике мы разберем программные блоки, которые понадобятся для программирования в TIA Portal. Поговорим про организационные блоки, покажу как работают функции, функциональные блоки и блоки данных. Создадим переменные, в том числе и переменные в энергонезависимой памяти контроллера и посмотрим, как это работает

Пікірлер: 87
@arslangalim9630
@arslangalim9630 5 ай бұрын
Посмотрел на одном дыхании, 30 минут очень полезной инфы влетели как свежий глоток воздуха! И сразу всё на свои места встало, как же понятно объясняете. Спасибо Огромное за Ваш труд! Респект и Уважуха!!! Всё, теперь я здесь живу)
@alexb3344
@alexb3344 10 ай бұрын
Из всех обзоров по ТИА-порталу доходчивее объяснения не нашёл! Везде как будто из учебника на видео перекладывают. Огромное пацанское спасибо!
@dilshodrakhmatov1348
@dilshodrakhmatov1348 3 ай бұрын
спасибо братишка мне 30 работаю в заводе 4 года уже вот чтото тепер про програме тиа узнаю
@engineerus
@engineerus 2 жыл бұрын
Респект и уважуха! ))) Помог, однозначно помог! Перекопал кучу инфы, случайно наткнулся на канал - это просто лучик света в темном царстве! Спасибо за труд!)))
@АлександрАбражеев-м1к
@АлександрАбражеев-м1к 2 жыл бұрын
Отличный видеоурок.Спасибо Вам.
@dmitriylaskin883
@dmitriylaskin883 3 жыл бұрын
спасибо. все понятно и доступно.
@Aleksandr_Kashirin
@Aleksandr_Kashirin 4 жыл бұрын
Спасибо, полезно!
@user-ShortAI
@user-ShortAI 11 ай бұрын
Спасибо тебе за труд!
@framos9991
@framos9991 Жыл бұрын
Спасибо за видео/ Очень полезно.
@Kluni997
@Kluni997 3 жыл бұрын
Спасибо. Всё толково.
@MakSs59
@MakSs59 Жыл бұрын
Видео очень полезное, спасибо! Обязательно продолжай!
@user-py6eh7ox6h
@user-py6eh7ox6h 3 жыл бұрын
Кирилл, у тебя талант учителя! Отлично объясняешь.
@portalview3028
@portalview3028 3 жыл бұрын
Спасибо ;)
@Sergnavin
@Sergnavin Жыл бұрын
Спасибо! Молодец! Очень познавательно )
@ainurgas7719
@ainurgas7719 2 жыл бұрын
Однозначно лайк и подписка!! Отличная подача материала!
@vyacheslavn4823
@vyacheslavn4823 2 жыл бұрын
Спасибо за уроки
@Kipperleader
@Kipperleader 3 жыл бұрын
Вот таких вот нюансов хрен найдешь в интернете, считают все что это элементарно, и пропускают, а когда ты с нуля пытаешься разобраться то пипец как не элементарно, особенно когда тебе 40+...
@portalview3028
@portalview3028 3 жыл бұрын
Поэтому я и начал делать именно такие видео, потому что сам в свое время изучал все по ютюбу. И вопросов было после просмотра ролика больше, чем ответов. Надеюсь, что смог помочь ;)
@mi4ell
@mi4ell 3 жыл бұрын
На самом деле возраст тут не причем, просто занимайтесь как можно чаще, и у вас все получится! Все зависит от количества подходов))))
@andrey47579
@andrey47579 3 жыл бұрын
Интересно. Спасибо.
@bekzhanmukhitov
@bekzhanmukhitov 2 жыл бұрын
Спасибо!!! 👍
@Ruslan_Ishmuratov
@Ruslan_Ishmuratov Жыл бұрын
Помог друг
@АндрейБыков-о7ф
@АндрейБыков-о7ф Жыл бұрын
Спасибо
@georgykutin8471
@georgykutin8471 2 жыл бұрын
Классные уроки, спасибо :). 29:22 переменные static для каждого блока будут свои? или это три переменных для трех блоков?
@Joyhaakwi
@Joyhaakwi 2 жыл бұрын
thanks a lot
@felixm8788
@felixm8788 3 жыл бұрын
спасибо большое ,всё объяснили толково. если можно вопрос. есть проблема с тегами? "invalid internal data tape" если можно , буду рад ответу или можете снять видео. заранее спасибо .
@AmirFamily02
@AmirFamily02 3 жыл бұрын
Более слаженнее надо. Не понятно какая цель у данного программирования (#2). Кажется как будто бы взято из головы. Надо конкретику. Условия и цель, а потом уже и показывать. Спасибо за обзор!
@SERVICE_KARELIA
@SERVICE_KARELIA 3 ай бұрын
0:45 с номером 1
@АндрейКарпенков-с9н
@АндрейКарпенков-с9н 2 ай бұрын
Если в функции(например) как в вашем примере, вы создали два входа и два выхода, предварительно назначив переменные, на вход функции из таблицы тегов на вход мы привяжем дискретный выход (tag_out), а на выход дискретный вход (tag_in) И если в функции переменные типа integer а мы хотим привязать из таблицы тегов булевые значения Tia Portal заругается?
@portalview3028
@portalview3028 2 ай бұрын
Вообще должен заругаться, подсветит красным переменные и не даст скомпилировать. Иногда в некоторых ситуациях подсвечивает переменные жёлтым, когда в целом можно сделать, но не рекомендуется. Чаще всего портал просто не даст вам сделать дичь, которые вы хотите сделать
@АлександрНасонов-н5х
@АлександрНасонов-н5х 3 жыл бұрын
Скажите пожалуйста. Когда присваиваешь релейныи контактам адреса входов, там можно еще выбрать теги этих входов. Как правильней делать, присваивать теги или названия? Извиняюсь если непонятно изъясняюсь))
@Sergnavin
@Sergnavin Жыл бұрын
Кирилл, назрел вопросик. Экземплярный бд появляется в момент вставки ФБ в Main(организационный блок). А если мы не вставляем ФБ в Main(OBn)? Как плс работает с таким блоком: 1. Будет ли этот ФБ считан плс как программа? 2. Если да, то где будут хранится переменные Static такого FB?
@portalview3028
@portalview3028 Жыл бұрын
Да этот блок просто будет игнорироваться программой и все, если вызова нигде не будет)
@Sergnavin
@Sergnavin Жыл бұрын
@@portalview3028 Благодарю за ответ! )
@talgatmusin296
@talgatmusin296 4 жыл бұрын
так какой создать блок фб или функцию если все равно к функции нужно блок данных создавать? проясните момент
@portalview3028
@portalview3028 4 жыл бұрын
к функции не обязательно блок данных создавать, это было для примера и понимания. функциональные блоки круто использовать, когда у тебя есть повторяющиеся элементы: задвижки, двигатели, датчики и так далее
@SHR-yo1pf
@SHR-yo1pf 3 жыл бұрын
@@portalview3028 А повторяющиеся функции можно использовать? Насколько я понял функции в плане использования памяти более рациональны чем блоки.
@chupa00
@chupa00 3 жыл бұрын
@@SHR-yo1pf функции можно вызывать сколько угодно, но они не хранят данные, в отличии от функ. блоков.
@StreamingTv.
@StreamingTv. 3 ай бұрын
Подскажите пожалуйста в колонке monitor value не могу изменять значение false на true,как быть?При симуляции программы
@portalview3028
@portalview3028 3 ай бұрын
Возможно переменная программно где то перезаписывается, поэтому и не можете
@АлександрНасонов-н5х
@АлександрНасонов-н5х 3 жыл бұрын
Если кто нибудь може объяснитьв чем разница FB и FC блоко и они нужны? Буду очень вам благодарен.
@portalview3028
@portalview3028 3 жыл бұрын
Целый ролик об этом был
@mi4ell
@mi4ell 3 жыл бұрын
FC- это функция, она может иметь входные и выходные параметры. Все внутренние переменные не являются статическими (регистры под них выделяются из стека соответственно обращаться к ним из других блоков нельзя, но виртуозы это могут делать на свой страх и риск). FC можно использовать для промежуточных повторяющихся вычислений. FB - это тоже функция, которая может также иметь входные и выходные параметры, НО! самый главные ее +, это то что FB имеет область статических переменных (сохраняемых от вызова к вызову). FB использует экземплярный блок данных (DB), так сказать сводную таблицу переменных которая содержит все переменные используемые в FB. И вот тут путем установки птички "Retain", ты можешь указать какая из переменных должны сохраняться в памяти при ребуте ПЛК. Для каждого вызова FB используется новый, вновь создаваемый (автоматически) DB. FB очень удобно использовать когда имеется множество однотипного оборудования с однотипной логикой управления. Каждому вызову FB соответствует одна единица оборудования (к примеру насос Н-1), соотвественно DB для него будет содержать переменные, значения которых актуальны именно для этого насоса (Н-1). Для следующего насоса, будет свой вызов FB (к примеру Н-2). И блок DB, будет содержать переменные актуальные уже для этого насоса (Н-2).
@neminem7276
@neminem7276 2 жыл бұрын
FC, тот же FB, но без памяти
@yevhenizotov440
@yevhenizotov440 Жыл бұрын
Кирилл, такой вопрос. Если мы из main, через кнопку Старт, запустим на выполнение какой то ФБ. То после нажатия кнопки Стоп в main, ЕN функционального блока будет равен "1". Как сбросить его на "0".
@portalview3028
@portalview3028 Жыл бұрын
Ничего не понял) кнопку старт наверное сбросить надо. Если en активен, значит какое-то условие перед ним выполняется
@3Demonv
@3Demonv Жыл бұрын
>видос про блоки >ну про большинство блоков мы говорить не будем, можете сами почитать ору. но видос неплохой
@portalview3028
@portalview3028 Жыл бұрын
Потому что о них нет смысла говорить) за 5 лет работы многие из них мне ни разу не понадобились. А про самые основные рассказал
@mp3corp
@mp3corp 2 жыл бұрын
Добрый день. У меня вопрос по поводу FB и его копирования. Если допустим есть 100 аналоговых сигналов, при написании под него FB и перетаскивания в OB выходит будет 100 блоков DB, это же не совсем удобно. Для этих операций как я понимаю нужно использовать FC и например какой то большой глобальный DB?
@portalview3028
@portalview3028 2 жыл бұрын
Перетащите 100 FB в один FC. Назовите его analog_call, например. И этот FC вызывайте в OB. От сотни DB вы не избавитесь, если у вас 100 сигналов и блок обработки сигналов под один сигнал. Нет ничего плохого в этом, создавайте папки, структурируйте блоки, чтобы было удобно
@aleksandrzaviazkin285
@aleksandrzaviazkin285 Жыл бұрын
Добрый день. Кирилл. Хотел бы задать вопрос по теме: В main блоке есть несколько Network 1,2 3, и т.д. Подскажите пожалуйста, для чего они служат? Можно ли всю программу расположить в одном network или лучше каждый ФБ располагать в отдельном? Огромное Вам спасибо.
@portalview3028
@portalview3028 Жыл бұрын
Привет. По идее можно все и в один нетворк запихать, но программа не всегда будет правильно так работать. Есть некоторые правила и рекомендации. Например не рекомендуется в одном нетворке записывать переменную и тут же читать. Некоторые программы на это прям ругаются. Нетворки помогают организовать вашу программу, прокомментировать ее. Их удобно сворачивать, переносить, удалять, если что
@portalview3028
@portalview3028 Жыл бұрын
Есть у сименса пример, как сделать фб для инверсии бита. Там программа на два нетворка. Я ее по своему переписал с методички в один нетворк и она у меня не заработала. Я думаю, ну чё за фигня. Записал вот прям как в методичке в два нетворка и все заработало)
@aleksandrzaviazkin285
@aleksandrzaviazkin285 Жыл бұрын
@@portalview3028 Спасибо большое. Теперь всё понятно. Мыль была, что не зря так всё сделано с network, но сомневался. До этого больше с CoDeSys работал, сейчас первый серьёзный проект делаю в TIA PORTALE, вот и не хотелось бы ошибок наделать.
@aleksandrzaviazkin285
@aleksandrzaviazkin285 Жыл бұрын
@@portalview3028 Спасибо, Кирилл. Я теперь всё буду делать в отдельных Network, так действительно даже и удобней. Спасибо, удачи Вам.
@КоляМэл
@КоляМэл 2 жыл бұрын
Здравствуйте, Вы можите сделать ролики по плк ОМРОН
@portalview3028
@portalview3028 2 жыл бұрын
Не работал с омрон, к сожалению)
@АртурСагеев
@АртурСагеев Жыл бұрын
Классно все объясняешь! У меня возникла проблема при компиляции пишет "The F-runtime group 1 " does not have valid и перебрасывает меня на вкладку Safety administration Подскажи пожалуйста что делать в таком случае ?
@АртурСагеев
@АртурСагеев Жыл бұрын
я создал новую функиональную группу а старую удалил, будет ли у меня выполняться в плк тот код что я создал ранее ?
@portalview3028
@portalview3028 Жыл бұрын
Насчёт первого вопроса я не понял, не встречал такого. Но походу у тебя просят установить защиту на плк. Поставь пароль, попробуй ещё раз скомпилить. По второму вопросу тоже не особо понял. Если удалил что-то и прогрузил новое, то старое, очевидно, выполняться не будет) не понял вопроса
@АртурСагеев
@АртурСагеев Жыл бұрын
@@portalview3028 Не, поставил простой пароль, но пароль поставился только на открытие моего FBD, а как сделать так что бы он компилировался и выполнялся ? Или это нужно заново создавать функциональную группу ?
@АртурСагеев
@АртурСагеев Жыл бұрын
@@portalview3028 извините, просто если брать тот же Codesys или Eliwell, да та же IDE от Шнайдер, то там это всё дело намного легче.
@portalview3028
@portalview3028 Жыл бұрын
Я вас все равно не понимаю) FBD это язык. Вы имеете ввиду FB? Поставили пароль на функциональный блок? Ну и хорошо. Он запоролен от чтения, но при этом он будет исполняться на плк. Не понимаю, что такое функциональная группа? Насчёт других ide тут дело привычки. Я плююсь от шнайдера, кодесис меня вообще бесит, тиа портал на их фоне кажется в сто раз удобнее и продуманные) это кому как
@artemmaliutin943
@artemmaliutin943 3 жыл бұрын
Добрый день! Отличный курс, спасибо. Столкнулся с такой проблемой: делал упражнения по инструкциям, все ок. Затем перезагнрузил комп и контроллер перестал подключаться к ПК. В сети он виден, удается поморгать диодом, нажав на кнопку Flash LED, но при попытк езагрузить прошивку или перейте в online появляется вот такая ошибка the connection partner is not responding tia portal. В чем может быть дело?
@portalview3028
@portalview3028 3 жыл бұрын
Сложно сказать, не помню, чтобы я с таким встречался. Но как правило перезагрузки тиа портала и ПК достаточно в таких случаях. Как вариант, попробуйте хард ресет плк сделать. Может неудачно в прошлый раз загрузили программу
@artemmaliutin943
@artemmaliutin943 3 жыл бұрын
@@portalview3028 Hard Reset делается также через Tia Portal? Или на корпусе есть какая-то кнопка?
@portalview3028
@portalview3028 3 жыл бұрын
@@artemmaliutin943 лучше посмотрите по руководству, как это сделать. Это будет правильно. На самом плк есть рычажок или какая-то кнопка. Ее определенным образом нужно нажать
@artemmaliutin943
@artemmaliutin943 3 жыл бұрын
@@portalview3028 Спасибо за советы! Дело оказалось в сетевом подключении - в сети появилось устройство с таким же IP.
@РамильМиннеханов-з9е
@РамильМиннеханов-з9е 3 жыл бұрын
напишите мне управляющую программу по дипломной работе для СИМЕНС 1212с, пожалуйста
@dmitrijbozhok
@dmitrijbozhok 3 жыл бұрын
Помогли?
@Master_Q
@Master_Q 2 жыл бұрын
Что такое network 1, network 2...?
@portalview3028
@portalview3028 2 жыл бұрын
Это то, где вы пишите программу. Можно все в один нетворк лепить, но это неудобно и не всегда будет работать. В одном нетворке одну операцию выполнили, в следующем нетворке - другую. Если простыми словами
@Master_Q
@Master_Q 2 жыл бұрын
29:01 запутал немного)
@antonplankin699
@antonplankin699 2 жыл бұрын
у меня почему то нет катушки... (
@portalview3028
@portalview3028 2 жыл бұрын
А где именно нет? На панели под списком переменных? Это панель с избранными функциями. Может у вас просто не добавлена туда. Ищите ее справа в разделе инструкций
@КириллЧернявский-э6ь
@КириллЧернявский-э6ь Жыл бұрын
Привет из 2023, с домашним заданием по функциональму блоку не справился))
@chupa00
@chupa00 3 жыл бұрын
По поводу блока циклического прерывания, который вызывается независимо от main. Вы сказали, что используете для подсчета моточасов двигателей. А если допустим двигатель не был запущен или произошел простой, то моточасы же все равно накручиваются.
@portalview3028
@portalview3028 3 жыл бұрын
Почему это?) С помощью блока прерываний можно удобно считать секунды, например. Но если двигатель отключится, то из основного цикла без проблем можно получить эту информацию и остановить счётчик
@nik01aich
@nik01aich 2 жыл бұрын
@@portalview3028 а не проще таймер+счетчик блоками?
@portalview3028
@portalview3028 2 жыл бұрын
@@nik01aich если вам проще, то пожалуйста. Но как по мне, это та ещё дичь
@Automation_Engineer0
@Automation_Engineer0 11 ай бұрын
TOP!!!
@КоляМэл
@КоляМэл 2 жыл бұрын
Здравствуйте, если реализовать простейшую схему включения пускателя с кнопками пуск и стоп необходимо реализовать самоподхват виртульным контактом и в итоге к примеру катушка имеет адрес Q0.0 реальный выход плк так? И контакт виртуальный привязан к тому же адресу Q0.0, почему так? Разве так можно? И еще подскажите как разбирать где идет привязка к реальному входу/выходу а где виртуальные элементы. Спасибо.
@portalview3028
@portalview3028 2 жыл бұрын
Что за виртуальные элементы? Любой выход от q0.0 до хоть q1000000.0 будет как вы говорите реальным выходом. Вам может повезти выбрать выход, который не используется плк, а может не повезти. Если вы хотите использовать свободно свои переменные, так создавайте свои блоки данных, не нужно область памяти входов и выходов просто так для своих каких-то вычислений использовать. Напишите свой функциональный блок, создайте все переменные, реализуйте самоподхват, а потом уже привяжите тэги с адресами входов и выходов плк в фб
From Small To Giant Pop Corn #katebrush #funny #shorts
00:17
Kate Brush
Рет қаралды 69 МЛН
Running With Bigger And Bigger Lunchlys
00:18
MrBeast
Рет қаралды 92 МЛН
Spongebob ate Patrick 😱 #meme #spongebob #gmod
00:15
Mr. LoLo
Рет қаралды 15 МЛН
Симуляция программы в TIA Portal - PLCSIM
24:00
Siemens STL 01 - Задача на собеседовании
17:53
Click Clack Logic
Рет қаралды 6 М.
TIA Portal: HMI Easy Alarms
18:20
Hegamurl
Рет қаралды 149 М.
From Small To Giant Pop Corn #katebrush #funny #shorts
00:17
Kate Brush
Рет қаралды 69 МЛН