Посмотрел на одном дыхании, 30 минут очень полезной инфы влетели как свежий глоток воздуха! И сразу всё на свои места встало, как же понятно объясняете. Спасибо Огромное за Ваш труд! Респект и Уважуха!!! Всё, теперь я здесь живу)
Респект и уважуха! ))) Помог, однозначно помог! Перекопал кучу инфы, случайно наткнулся на канал - это просто лучик света в темном царстве! Спасибо за труд!)))
Вот таких вот нюансов хрен найдешь в интернете, считают все что это элементарно, и пропускают, а когда ты с нуля пытаешься разобраться то пипец как не элементарно, особенно когда тебе 40+...
Поэтому я и начал делать именно такие видео, потому что сам в свое время изучал все по ютюбу. И вопросов было после просмотра ролика больше, чем ответов. Надеюсь, что смог помочь ;)
спасибо большое ,всё объяснили толково. если можно вопрос. есть проблема с тегами? "invalid internal data tape" если можно , буду рад ответу или можете снять видео. заранее спасибо .
Скажите пожалуйста. Когда присваиваешь релейныи контактам адреса входов, там можно еще выбрать теги этих входов. Как правильней делать, присваивать теги или названия? Извиняюсь если непонятно изъясняюсь))
Если в функции(например) как в вашем примере, вы создали два входа и два выхода, предварительно назначив переменные, на вход функции из таблицы тегов на вход мы привяжем дискретный выход (tag_out), а на выход дискретный вход (tag_in) И если в функции переменные типа integer а мы хотим привязать из таблицы тегов булевые значения Tia Portal заругается?
Вообще должен заругаться, подсветит красным переменные и не даст скомпилировать. Иногда в некоторых ситуациях подсвечивает переменные жёлтым, когда в целом можно сделать, но не рекомендуется. Чаще всего портал просто не даст вам сделать дичь, которые вы хотите сделать
Кирилл, такой вопрос. Если мы из main, через кнопку Старт, запустим на выполнение какой то ФБ. То после нажатия кнопки Стоп в main, ЕN функционального блока будет равен "1". Как сбросить его на "0".
к функции не обязательно блок данных создавать, это было для примера и понимания. функциональные блоки круто использовать, когда у тебя есть повторяющиеся элементы: задвижки, двигатели, датчики и так далее
Здравствуйте, если реализовать простейшую схему включения пускателя с кнопками пуск и стоп необходимо реализовать самоподхват виртульным контактом и в итоге к примеру катушка имеет адрес Q0.0 реальный выход плк так? И контакт виртуальный привязан к тому же адресу Q0.0, почему так? Разве так можно? И еще подскажите как разбирать где идет привязка к реальному входу/выходу а где виртуальные элементы. Спасибо.
Что за виртуальные элементы? Любой выход от q0.0 до хоть q1000000.0 будет как вы говорите реальным выходом. Вам может повезти выбрать выход, который не используется плк, а может не повезти. Если вы хотите использовать свободно свои переменные, так создавайте свои блоки данных, не нужно область памяти входов и выходов просто так для своих каких-то вычислений использовать. Напишите свой функциональный блок, создайте все переменные, реализуйте самоподхват, а потом уже привяжите тэги с адресами входов и выходов плк в фб
Кирилл, назрел вопросик. Экземплярный бд появляется в момент вставки ФБ в Main(организационный блок). А если мы не вставляем ФБ в Main(OBn)? Как плс работает с таким блоком: 1. Будет ли этот ФБ считан плс как программа? 2. Если да, то где будут хранится переменные Static такого FB?
Добрый день. У меня вопрос по поводу FB и его копирования. Если допустим есть 100 аналоговых сигналов, при написании под него FB и перетаскивания в OB выходит будет 100 блоков DB, это же не совсем удобно. Для этих операций как я понимаю нужно использовать FC и например какой то большой глобальный DB?
Перетащите 100 FB в один FC. Назовите его analog_call, например. И этот FC вызывайте в OB. От сотни DB вы не избавитесь, если у вас 100 сигналов и блок обработки сигналов под один сигнал. Нет ничего плохого в этом, создавайте папки, структурируйте блоки, чтобы было удобно
Добрый день. Кирилл. Хотел бы задать вопрос по теме: В main блоке есть несколько Network 1,2 3, и т.д. Подскажите пожалуйста, для чего они служат? Можно ли всю программу расположить в одном network или лучше каждый ФБ располагать в отдельном? Огромное Вам спасибо.
Привет. По идее можно все и в один нетворк запихать, но программа не всегда будет правильно так работать. Есть некоторые правила и рекомендации. Например не рекомендуется в одном нетворке записывать переменную и тут же читать. Некоторые программы на это прям ругаются. Нетворки помогают организовать вашу программу, прокомментировать ее. Их удобно сворачивать, переносить, удалять, если что
Есть у сименса пример, как сделать фб для инверсии бита. Там программа на два нетворка. Я ее по своему переписал с методички в один нетворк и она у меня не заработала. Я думаю, ну чё за фигня. Записал вот прям как в методичке в два нетворка и все заработало)
@@portalview3028 Спасибо большое. Теперь всё понятно. Мыль была, что не зря так всё сделано с network, но сомневался. До этого больше с CoDeSys работал, сейчас первый серьёзный проект делаю в TIA PORTALE, вот и не хотелось бы ошибок наделать.
FC- это функция, она может иметь входные и выходные параметры. Все внутренние переменные не являются статическими (регистры под них выделяются из стека соответственно обращаться к ним из других блоков нельзя, но виртуозы это могут делать на свой страх и риск). FC можно использовать для промежуточных повторяющихся вычислений. FB - это тоже функция, которая может также иметь входные и выходные параметры, НО! самый главные ее +, это то что FB имеет область статических переменных (сохраняемых от вызова к вызову). FB использует экземплярный блок данных (DB), так сказать сводную таблицу переменных которая содержит все переменные используемые в FB. И вот тут путем установки птички "Retain", ты можешь указать какая из переменных должны сохраняться в памяти при ребуте ПЛК. Для каждого вызова FB используется новый, вновь создаваемый (автоматически) DB. FB очень удобно использовать когда имеется множество однотипного оборудования с однотипной логикой управления. Каждому вызову FB соответствует одна единица оборудования (к примеру насос Н-1), соотвественно DB для него будет содержать переменные, значения которых актуальны именно для этого насоса (Н-1). Для следующего насоса, будет свой вызов FB (к примеру Н-2). И блок DB, будет содержать переменные актуальные уже для этого насоса (Н-2).
Добрый день! Отличный курс, спасибо. Столкнулся с такой проблемой: делал упражнения по инструкциям, все ок. Затем перезагнрузил комп и контроллер перестал подключаться к ПК. В сети он виден, удается поморгать диодом, нажав на кнопку Flash LED, но при попытк езагрузить прошивку или перейте в online появляется вот такая ошибка the connection partner is not responding tia portal. В чем может быть дело?
Сложно сказать, не помню, чтобы я с таким встречался. Но как правило перезагрузки тиа портала и ПК достаточно в таких случаях. Как вариант, попробуйте хард ресет плк сделать. Может неудачно в прошлый раз загрузили программу
@@artemmaliutin943 лучше посмотрите по руководству, как это сделать. Это будет правильно. На самом плк есть рычажок или какая-то кнопка. Ее определенным образом нужно нажать
Классно все объясняешь! У меня возникла проблема при компиляции пишет "The F-runtime group 1 " does not have valid и перебрасывает меня на вкладку Safety administration Подскажи пожалуйста что делать в таком случае ?
Насчёт первого вопроса я не понял, не встречал такого. Но походу у тебя просят установить защиту на плк. Поставь пароль, попробуй ещё раз скомпилить. По второму вопросу тоже не особо понял. Если удалил что-то и прогрузил новое, то старое, очевидно, выполняться не будет) не понял вопроса
@@portalview3028 Не, поставил простой пароль, но пароль поставился только на открытие моего FBD, а как сделать так что бы он компилировался и выполнялся ? Или это нужно заново создавать функциональную группу ?
Я вас все равно не понимаю) FBD это язык. Вы имеете ввиду FB? Поставили пароль на функциональный блок? Ну и хорошо. Он запоролен от чтения, но при этом он будет исполняться на плк. Не понимаю, что такое функциональная группа? Насчёт других ide тут дело привычки. Я плююсь от шнайдера, кодесис меня вообще бесит, тиа портал на их фоне кажется в сто раз удобнее и продуманные) это кому как
Это то, где вы пишите программу. Можно все в один нетворк лепить, но это неудобно и не всегда будет работать. В одном нетворке одну операцию выполнили, в следующем нетворке - другую. Если простыми словами
А где именно нет? На панели под списком переменных? Это панель с избранными функциями. Может у вас просто не добавлена туда. Ищите ее справа в разделе инструкций
Более слаженнее надо. Не понятно какая цель у данного программирования (#2). Кажется как будто бы взято из головы. Надо конкретику. Условия и цель, а потом уже и показывать. Спасибо за обзор!
По поводу блока циклического прерывания, который вызывается независимо от main. Вы сказали, что используете для подсчета моточасов двигателей. А если допустим двигатель не был запущен или произошел простой, то моточасы же все равно накручиваются.
Почему это?) С помощью блока прерываний можно удобно считать секунды, например. Но если двигатель отключится, то из основного цикла без проблем можно получить эту информацию и остановить счётчик
Из всех обзоров по ТИА-порталу доходчивее объяснения не нашёл! Везде как будто из учебника на видео перекладывают. Огромное пацанское спасибо!
Кирилл, у тебя талант учителя! Отлично объясняешь.
Спасибо ;)
Посмотрел на одном дыхании, 30 минут очень полезной инфы влетели как свежий глоток воздуха! И сразу всё на свои места встало, как же понятно объясняете. Спасибо Огромное за Ваш труд! Респект и Уважуха!!! Всё, теперь я здесь живу)
ты делаешь доброе дело, так сказать несешь свет ))
Респект и уважуха! ))) Помог, однозначно помог! Перекопал кучу инфы, случайно наткнулся на канал - это просто лучик света в темном царстве! Спасибо за труд!)))
Спасибо тебе , за твой труд и контент !!!!
спасибо братишка мне 30 работаю в заводе 4 года уже вот чтото тепер про програме тиа узнаю
Спасибо тебе за труд!
Спасибо за видео/ Очень полезно.
Видео очень полезное, спасибо! Обязательно продолжай!
Спасибо! Молодец! Очень познавательно )
Однозначно лайк и подписка!! Отличная подача материала!
спасибо. все понятно и доступно.
Спасибо. Всё толково.
Спасибо, полезно!
Спасибо за уроки
TOP!!!
Спасибо!!! 👍
Классные уроки, спасибо :). 29:22 переменные static для каждого блока будут свои? или это три переменных для трех блоков?
Интересно. Спасибо.
Помог друг
Спасибо
Вот таких вот нюансов хрен найдешь в интернете, считают все что это элементарно, и пропускают, а когда ты с нуля пытаешься разобраться то пипец как не элементарно, особенно когда тебе 40+...
Поэтому я и начал делать именно такие видео, потому что сам в свое время изучал все по ютюбу. И вопросов было после просмотра ролика больше, чем ответов. Надеюсь, что смог помочь ;)
На самом деле возраст тут не причем, просто занимайтесь как можно чаще, и у вас все получится! Все зависит от количества подходов))))
спасибо большое ,всё объяснили толково.
если можно вопрос. есть проблема с тегами? "invalid internal data tape"
если можно , буду рад ответу или можете снять видео. заранее спасибо .
thanks a lot
0:45 с номером 1
Скажите пожалуйста. Когда присваиваешь релейныи контактам адреса входов, там можно еще выбрать теги этих входов. Как правильней делать, присваивать теги или названия? Извиняюсь если непонятно изъясняюсь))
Если в функции(например) как в вашем примере, вы создали два входа и два выхода, предварительно назначив переменные, на вход функции из таблицы тегов на вход мы привяжем дискретный выход (tag_out), а на выход дискретный вход (tag_in) И если в функции переменные типа integer а мы хотим привязать из таблицы тегов булевые значения Tia Portal заругается?
Вообще должен заругаться, подсветит красным переменные и не даст скомпилировать. Иногда в некоторых ситуациях подсвечивает переменные жёлтым, когда в целом можно сделать, но не рекомендуется. Чаще всего портал просто не даст вам сделать дичь, которые вы хотите сделать
Кирилл, такой вопрос. Если мы из main, через кнопку Старт, запустим на выполнение какой то ФБ. То после нажатия кнопки Стоп в main, ЕN функционального блока будет равен "1". Как сбросить его на "0".
Ничего не понял) кнопку старт наверное сбросить надо. Если en активен, значит какое-то условие перед ним выполняется
Подскажите пожалуйста в колонке monitor value не могу изменять значение false на true,как быть?При симуляции программы
Возможно переменная программно где то перезаписывается, поэтому и не можете
так какой создать блок фб или функцию если все равно к функции нужно блок данных создавать? проясните момент
к функции не обязательно блок данных создавать, это было для примера и понимания. функциональные блоки круто использовать, когда у тебя есть повторяющиеся элементы: задвижки, двигатели, датчики и так далее
@@portalview3028 А повторяющиеся функции можно использовать? Насколько я понял функции в плане использования памяти более рациональны чем блоки.
@@SHR-yo1pf функции можно вызывать сколько угодно, но они не хранят данные, в отличии от функ. блоков.
Здравствуйте, если реализовать простейшую схему включения пускателя с кнопками пуск и стоп необходимо реализовать самоподхват виртульным контактом и в итоге к примеру катушка имеет адрес Q0.0 реальный выход плк так?
И контакт виртуальный привязан к тому же адресу Q0.0, почему так? Разве так можно?
И еще подскажите как разбирать где идет привязка к реальному входу/выходу а где виртуальные элементы. Спасибо.
Что за виртуальные элементы? Любой выход от q0.0 до хоть q1000000.0 будет как вы говорите реальным выходом. Вам может повезти выбрать выход, который не используется плк, а может не повезти. Если вы хотите использовать свободно свои переменные, так создавайте свои блоки данных, не нужно область памяти входов и выходов просто так для своих каких-то вычислений использовать. Напишите свой функциональный блок, создайте все переменные, реализуйте самоподхват, а потом уже привяжите тэги с адресами входов и выходов плк в фб
Кирилл, назрел вопросик. Экземплярный бд появляется в момент вставки ФБ в Main(организационный блок). А если мы не вставляем ФБ в Main(OBn)? Как плс работает с таким блоком:
1. Будет ли этот ФБ считан плс как программа?
2. Если да, то где будут хранится переменные Static такого FB?
Да этот блок просто будет игнорироваться программой и все, если вызова нигде не будет)
@@portalview3028 Благодарю за ответ! )
Добрый день. У меня вопрос по поводу FB и его копирования. Если допустим есть 100 аналоговых сигналов, при написании под него FB и перетаскивания в OB выходит будет 100 блоков DB, это же не совсем удобно. Для этих операций как я понимаю нужно использовать FC и например какой то большой глобальный DB?
Перетащите 100 FB в один FC. Назовите его analog_call, например. И этот FC вызывайте в OB. От сотни DB вы не избавитесь, если у вас 100 сигналов и блок обработки сигналов под один сигнал. Нет ничего плохого в этом, создавайте папки, структурируйте блоки, чтобы было удобно
Здравствуйте, Вы можите сделать ролики по плк ОМРОН
Не работал с омрон, к сожалению)
Добрый день. Кирилл. Хотел бы задать вопрос по теме: В main блоке есть несколько Network 1,2 3, и т.д. Подскажите пожалуйста, для чего они служат? Можно ли всю программу расположить в одном network или лучше каждый ФБ располагать в отдельном? Огромное Вам спасибо.
Привет. По идее можно все и в один нетворк запихать, но программа не всегда будет правильно так работать. Есть некоторые правила и рекомендации. Например не рекомендуется в одном нетворке записывать переменную и тут же читать. Некоторые программы на это прям ругаются. Нетворки помогают организовать вашу программу, прокомментировать ее. Их удобно сворачивать, переносить, удалять, если что
Есть у сименса пример, как сделать фб для инверсии бита. Там программа на два нетворка. Я ее по своему переписал с методички в один нетворк и она у меня не заработала. Я думаю, ну чё за фигня. Записал вот прям как в методичке в два нетворка и все заработало)
@@portalview3028 Спасибо большое. Теперь всё понятно. Мыль была, что не зря так всё сделано с network, но сомневался. До этого больше с CoDeSys работал, сейчас первый серьёзный проект делаю в TIA PORTALE, вот и не хотелось бы ошибок наделать.
@@portalview3028 Спасибо, Кирилл. Я теперь всё буду делать в отдельных Network, так действительно даже и удобней. Спасибо, удачи Вам.
Если кто нибудь може объяснитьв чем разница FB и FC блоко и они нужны? Буду очень вам благодарен.
Целый ролик об этом был
FC- это функция, она может иметь входные и выходные параметры.
Все внутренние переменные не являются статическими (регистры под них выделяются из
стека соответственно обращаться к ним из других блоков нельзя, но виртуозы это могут делать на свой страх и риск).
FC можно использовать для промежуточных повторяющихся вычислений.
FB - это тоже функция, которая может также иметь входные и выходные параметры, НО!
самый главные ее +, это то что FB имеет область статических переменных (сохраняемых от вызова к вызову).
FB использует экземплярный блок данных (DB), так сказать сводную таблицу переменных которая содержит все переменные используемые в FB.
И вот тут путем установки птички "Retain", ты можешь указать какая из переменных должны сохраняться в памяти при ребуте ПЛК.
Для каждого вызова FB используется новый, вновь создаваемый (автоматически) DB.
FB очень удобно использовать когда имеется множество однотипного оборудования с однотипной логикой управления.
Каждому вызову FB соответствует одна единица оборудования (к примеру насос Н-1), соотвественно DB для него будет содержать
переменные, значения которых актуальны именно для этого насоса (Н-1).
Для следующего насоса, будет свой вызов FB (к примеру Н-2). И блок DB, будет содержать переменные актуальные уже для этого насоса (Н-2).
FC, тот же FB, но без памяти
29:01 запутал немного)
Добрый день!
Отличный курс, спасибо.
Столкнулся с такой проблемой: делал упражнения по инструкциям, все ок. Затем перезагнрузил комп и контроллер перестал подключаться к ПК. В сети он виден, удается поморгать диодом, нажав на кнопку Flash LED, но при попытк езагрузить прошивку или перейте в online появляется вот такая ошибка the connection partner is not responding tia portal. В чем может быть дело?
Сложно сказать, не помню, чтобы я с таким встречался. Но как правило перезагрузки тиа портала и ПК достаточно в таких случаях. Как вариант, попробуйте хард ресет плк сделать. Может неудачно в прошлый раз загрузили программу
@@portalview3028 Hard Reset делается также через Tia Portal? Или на корпусе есть какая-то кнопка?
@@artemmaliutin943 лучше посмотрите по руководству, как это сделать. Это будет правильно. На самом плк есть рычажок или какая-то кнопка. Ее определенным образом нужно нажать
@@portalview3028 Спасибо за советы! Дело оказалось в сетевом подключении - в сети появилось устройство с таким же IP.
Классно все объясняешь!
У меня возникла проблема при компиляции
пишет "The F-runtime group 1 " does not have valid и перебрасывает меня на вкладку Safety administration
Подскажи пожалуйста что делать в таком случае ?
я создал новую функиональную группу а старую удалил, будет ли у меня выполняться в плк тот код что я создал ранее ?
Насчёт первого вопроса я не понял, не встречал такого. Но походу у тебя просят установить защиту на плк. Поставь пароль, попробуй ещё раз скомпилить.
По второму вопросу тоже не особо понял. Если удалил что-то и прогрузил новое, то старое, очевидно, выполняться не будет) не понял вопроса
@@portalview3028 Не, поставил простой пароль, но пароль поставился только на открытие моего FBD, а как сделать так что бы он компилировался и выполнялся ?
Или это нужно заново создавать функциональную группу ?
@@portalview3028 извините, просто если брать тот же Codesys или Eliwell, да та же IDE от Шнайдер, то там это всё дело намного легче.
Я вас все равно не понимаю) FBD это язык. Вы имеете ввиду FB? Поставили пароль на функциональный блок? Ну и хорошо. Он запоролен от чтения, но при этом он будет исполняться на плк. Не понимаю, что такое функциональная группа? Насчёт других ide тут дело привычки. Я плююсь от шнайдера, кодесис меня вообще бесит, тиа портал на их фоне кажется в сто раз удобнее и продуманные) это кому как
напишите мне управляющую программу по дипломной работе для СИМЕНС 1212с, пожалуйста
Помогли?
Что такое network 1, network 2...?
Это то, где вы пишите программу. Можно все в один нетворк лепить, но это неудобно и не всегда будет работать. В одном нетворке одну операцию выполнили, в следующем нетворке - другую. Если простыми словами
у меня почему то нет катушки... (
А где именно нет? На панели под списком переменных? Это панель с избранными функциями. Может у вас просто не добавлена туда. Ищите ее справа в разделе инструкций
>видос про блоки
>ну про большинство блоков мы говорить не будем, можете сами почитать
ору. но видос неплохой
Потому что о них нет смысла говорить) за 5 лет работы многие из них мне ни разу не понадобились. А про самые основные рассказал
Более слаженнее надо. Не понятно какая цель у данного программирования (#2). Кажется как будто бы взято из головы. Надо конкретику. Условия и цель, а потом уже и показывать. Спасибо за обзор!
Привет из 2023, с домашним заданием по функциональму блоку не справился))
По поводу блока циклического прерывания, который вызывается независимо от main. Вы сказали, что используете для подсчета моточасов двигателей. А если допустим двигатель не был запущен или произошел простой, то моточасы же все равно накручиваются.
Почему это?) С помощью блока прерываний можно удобно считать секунды, например. Но если двигатель отключится, то из основного цикла без проблем можно получить эту информацию и остановить счётчик
@@portalview3028 а не проще таймер+счетчик блоками?
@@nik01aich если вам проще, то пожалуйста. Но как по мне, это та ещё дичь