16:03 можно также с таймером TOF сделать, а датчик подключить к входу таймера RESET. Как только сигнал с датчика пропадает по истечении времени выход отключится.
Огромное ВАМ спасибо за ТРУД! Отличные уроки и полезные фишки. Если будет возможность, то сделайте, пожалуйста, видео про фильтрацию дребезга аналоговых сигналов. Видео о создание SCADA будете делать? К сожалению в инете по SCADA ни чего вразумительного пока не нашел. Сможете помочь?
Network1: //Сброс значения состояния кнопки L 0 = "tag_out_1" //Смотрим активна ли кнопка A "BUTTON" JCN BUTTON_INACTIVE //Таймер устанавливаем, если кнопка нажата L S5T#10ms SD "TIMER" Network2: WHILE_TIMER_WORK : AN "BUTTON" JC BUTTON_INACTIVE A "TIMER" JCN WHILE_TIMER_WORK NOP 0 Network3: //Устанавливаем активное состояние кнопки L 1 = "tag_out_1" Netrowk4: BUTTON_INACTIVE : NOP 0
Здравствуйте. Вы хорошо обьясняете. Спасибо. Хочется некоторого усовершенствования. Сам пока не могу воплотить то что задумал. Может вы поможете. Есть например сотня дискретных сигналов. По вашей программе будет создано 100 блоков данных. Хочется чтобы это был один блок, а в нём сотня переменных с некоторым пользовательским типом данных. Чтобы структура была более красивее)).
А для чего вам тогда блок данных с этими сигналами? Если вы их не обрабатываете, от обращайтесь напрямую к тэгу. А если обрабатываете, то у вас в любом случае будет сто блоков данных. Можно заморочиться и переписать в отдельный блок данных все, но это явно лишнее)
@@portalview3028 Есть такая мысль. Разбить эти сигналы по группам, напр. группа безопасности (технологические блокировки), группа контроля питания цепей управления, группа контроля силовых цепей - мы все эти группы сигналов все равно обрабатываем как одно из условий начала работы. И таймер ставить на общий тэг, например, Tech_safety
Видео Класное.... и не длинное... Скажите, или снимите ролик :), как обработать дискретный сигнал по количеству нажатий или по времени нажатия(короткое - выход 1, два коротких - выход 2, длинное - выход 3).
Спасибо;) не думаю, что буду делать ролик именно на эту тему, но расскажу про таймеры и счётчики. Понимая это, вы сможете сделать кнопку с нужным вам функционалом. Сейчас несколько роликов одновременно делаю, выйдут в ближайшее время, я надеюсь :)
Напиши пожалуйста, как ты меняешь значения с TRUE на FALSE в таблице тегов в режиме симуляции? Я жму двойным щелчком и приходится писать вручную. На видео видно, что ты как-то делаешь, не прописывая вручную. Буду благодарен за ответ.
Это видео было прекрасно долгим! ) Кирилл, подскажи пожалуйста, зачем FB фильтрации сигнала ты вставил в функцию Discrete inputs (FC1)? Почему нельзя было вставить FB сразу в Main(OB1) ? Если это несет какой то смысл, расскажи пожалуйста, какой?
@@portalview3028 А можно где то почитать как работает эта система вызовов с блока Main? И как правильно организовать структуру программы чтоб не засорять. Может подскажешь где искать или ссылочку подкинешь?
@@portalview3028 а программе действительно все равно? у функции нет своей памяти и не значит ли это то, что каждый раз стирается память ФБ? ну или что-нибудь в этом роде? Функция действительно эквивалентна "обычному программированию в main"?
Здравствуйте. У вас очень интересные и познавательные видео! Подскажите, пожалуйста, как задавать произвольные (Random) значения? или как написать блок?
Привет. К сожалению, насколько я знаю, в тиа портале нет таких блоков для генерирования случайного значения. Можно попробовать поискать готовые библиотечные блоки на сайте Сименса. Возможно что-то найдется
Могу только предположить, что вы за ноутбуком работаете и у вас не получается, потому что надо, к примеру, нажать ещё кнопку fn. Других идей нет, мало ли чего оно может не работать)
Здраствуйте. Ну на самом деле тут ничего сложного нет и это просто творческая задачка, но описывать ее будет долго, наверное) Я бы смотрел в сторону таймеров и усреднений значений. Попробуйте в конце каждого цикла записывать измерение аналогового сигнала, а после 10-30 циклов, например, усреднять это значение. Также сделайте отслеживание аномальных показаний, если значение измерения резко изменилось более чем на 50 процентов, к примеру опять же. А лучше посмотреть лучшие практики по фильтрации значений сигнала и применять их в своей программе)
@@portalview3028 я в db таймера определяю переменную типа TON например и формитуется соответствующая структура, таким образом можно использовать таймер в fb возможно кому то будет полезно, я так понимаю что TON это сименсовская библиотека а TON_IEC IEC-шная соответственно..
@@portalview3028 Я решил проблему другим способом. Когда ТИА портал предлагает создать блок данных, я выбираю блок экземпляра данных, который находится внизу диалогового окна. Тогда создается в точности как у вас, только тип данных у него TON. Можно еще на выбор поставить TOF, TP или если счетчики то CTU, CTD и тд.
Мне кажется что логичнее и правильнее было поставить последовательно контакты tags Sensor c Sensor 1.value мы бы видели как мигает сам вход и как после него работает фильтр так бы это было и в реальной схеме только вместо тags.sensor стоял например вход контроллера i0.1 это на 36мин
Здравствуйте! Может Вы знаете как вернуть к заводским настройкам(обнулить) LOGO!8.2? Проблема вот в чем. При первой настройке после установки языка и часов видимо что то нажал и сейчас LOGO! находиться в одном состоянии, в котором на дисплее отображается только "Установки", "Сеть" и "Диагностика". В эти подменю заходить могу, но только для просмотра, а вот например часы изменить и запустить программу уже не могу. Нажимал уже все что угодно, но пока результата нет. Через ПК программа загружается и стартует тоже через ПК. Помогите разобраться или как можно все обнулить, что заново настроить.
Здравствуйте. Давно с лого не занимался. Там есть такая штука, типа упрощённое меню и расширенное. Сталкивался с подобным, нужно было ввести пароль, чтобы попасть в это расширенное меню, где остальные параметры становятся доступными. Не подскажу сейчас, как это сделать, нужно смотреть. Но ваша ситуация очень на это похожа. Сброс на заводские настройки должен быть описан как минимум в мануале на контроллер, посмотрите. Там и решение проблемы может найдёте)
всё чётко и ясно, красава, Только вот негде не могу найти где скачать тиа портал, для практики хотелось бы и самому пробовать делать свои проекты, кто посоветует где скачать ааа, буду очень благодарен ......
Я могу ошибаться, но в самом конце (ua-cam.com/video/6Gx2Jlijys4/v-deo.html 36:12 )при проверке дребезга не правильно сделана схема. тк при дребезге датчика sensor_1_input на прямую управляет out. Спасибо за уроки!
@@AmirFamily02 внимательно посмотрите на переменную выход "Tags.Out" в момент дребезга входом котроллера и когда не прошло 5 секунд, он повторяет "дребезг" датчика и двигатель включается/выключается
@@scolpak да есть такое, когда только допустим наполнился бак с водой до уровня датчика, тоесть из положения не наполнен в наполнен есть срабатывание помню такое. надо вновь вкл. схему. .
@@scolpak Абсолютно верно говорите, для этого и написана эта программа, чтобы исключить дребезг. Хотя в ней нет необходимости, фильтр чувствительности дискретных входов настраиваются прямо в Tia Portal.
@@portalview3028 Зачем просто? Надо правильно, вещи должны все лежать на своих местах. А антидребезг у меня исключительно хорош, и себе где нибудь запишите что ли - в "ассемблере существуют макросы", работают замечательно. фильтр у меня намного более сложный, не такой примитив как у вас, ну понятно, у вас треть ресурсов контроллера сожрёт, если будете ставить что то хорошее, а так вы привыкли каким попало пользоваться. Вы не можете себе позволить глубину фильтрации использовать как у меня, фигли, по упрощёнке всё.
@@portalview3028 Вам следует течь по течению со всеми, так что ничего вы поделать тут не можете, впаривайте дальше что какой замечательный контроллер, и что вы тут сейчас антидребезг наваяете.
Классные уроки. Если есть время и желание, пили еще. Много почерпнул из несовсем очевидных вещей.
Хочется делать ролики, но времени совсем нет. Как появится время, что нибудь сделаю)
Уроки просто супер, наконец нашел что то подходящее для себя спасибо тебе за это.
Красавчик! Уроки интересные и голос хорошо поставлен, не засыпаешь при просмотре. Так держать!
Нет слов. Очень доступно, и довольно полезно. Буду пробовать внедрять такую защиту!
Очень интересно и полезно для обучения. Если будет время, запиши пожалуйста видео про обработку аналоговых сигналов.
полезно, но сложно, буду пересматривать чтоб воспринять инфу 👍
16:03 можно также с таймером TOF сделать, а датчик подключить к входу таймера RESET. Как только сигнал с датчика пропадает по истечении времени выход отключится.
Так практичніше, плюс час відсутності сигналу для аналіза можна зафіксувати
Спасибо большое, очень информативно и понятно
Круто! Спасибо тебе!
Привет тебе коллега из Германии.
Огромное ВАМ спасибо за ТРУД! Отличные уроки и полезные фишки. Если будет возможность, то сделайте, пожалуйста, видео про фильтрацию дребезга аналоговых сигналов. Видео о создание SCADA будете делать? К сожалению в инете по SCADA ни чего вразумительного пока не нашел. Сможете помочь?
Когда-нибудь до этих тем может и доберёмся. Времени не хватает на всё)
@@portalview3028 ждём с нетерпением :-)
В меню создания блока памяти для таймера. Если выбрать multi instants то создаться экземплярный блок памяти таймера внутри блока памяти FB1
Красавчик, брат
так ну ждём видео по обработке аналоговых сигналов. Чем быстрее тем лучше. А то диплом пишу и делаю стенд с ПЛК и панелью оператора)
Network1:
//Сброс значения состояния кнопки
L 0
= "tag_out_1"
//Смотрим активна ли кнопка
A "BUTTON"
JCN BUTTON_INACTIVE
//Таймер устанавливаем, если кнопка нажата
L S5T#10ms
SD "TIMER"
Network2:
WHILE_TIMER_WORK : AN "BUTTON"
JC BUTTON_INACTIVE
A "TIMER"
JCN WHILE_TIMER_WORK
NOP 0
Network3:
//Устанавливаем активное состояние кнопки
L 1
= "tag_out_1"
Netrowk4:
BUTTON_INACTIVE : NOP 0
Здравствуйте. Вы хорошо обьясняете. Спасибо. Хочется некоторого усовершенствования. Сам пока не могу воплотить то что задумал. Может вы поможете.
Есть например сотня дискретных сигналов. По вашей программе будет создано 100 блоков данных. Хочется чтобы это был один блок, а в нём сотня переменных с некоторым пользовательским типом данных. Чтобы структура была более красивее)).
А для чего вам тогда блок данных с этими сигналами? Если вы их не обрабатываете, от обращайтесь напрямую к тэгу. А если обрабатываете, то у вас в любом случае будет сто блоков данных. Можно заморочиться и переписать в отдельный блок данных все, но это явно лишнее)
@@portalview3028 Есть такая мысль. Разбить эти сигналы по группам, напр. группа безопасности (технологические блокировки), группа контроля питания цепей управления, группа контроля силовых цепей - мы все эти группы сигналов все равно обрабатываем как одно из условий начала работы. И таймер ставить на общий тэг, например, Tech_safety
Видео Класное.... и не длинное... Скажите, или снимите ролик :), как обработать дискретный сигнал по количеству нажатий или по времени нажатия(короткое - выход 1, два коротких - выход 2, длинное - выход 3).
Спасибо;) не думаю, что буду делать ролик именно на эту тему, но расскажу про таймеры и счётчики. Понимая это, вы сможете сделать кнопку с нужным вам функционалом. Сейчас несколько роликов одновременно делаю, выйдут в ближайшее время, я надеюсь :)
Спасибо. Пытался сделать симуляцию, но так понял что с ДБ этого не сделать? У меня нет физического контроллера что бы поэкспериментировать
Стимуляция заменяет реальный ю контроллер, в этом и суть. Все симулируется, дб в том числе
Спасибо за уроки! Подскажите как в 11 клик меняете переменные в таблице базы данных(во время симуляции)?
Не в один клик, а в 2) просто щелкаю по переменной в блоке данных двойным кликом
Напиши пожалуйста, как ты меняешь значения с TRUE на FALSE в таблице тегов в режиме симуляции? Я жму двойным щелчком и приходится писать вручную. На видео видно, что ты как-то делаешь, не прописывая вручную. Буду благодарен за ответ.
CTRL+F2 and CTRL+F3
Друг подскажи как на ФБД сделать Есть вход (i1) и выход (q1) как их привязать друг к другу , какой блок использовать ?
А как теперь выключить Tag Out, если уже DB Sensor_1 на вход Tag Sensor_1_input не реагирует
Это видео было прекрасно долгим! )
Кирилл, подскажи пожалуйста, зачем FB фильтрации сигнала ты вставил в функцию Discrete inputs (FC1)? Почему нельзя было вставить FB сразу в Main(OB1) ? Если это несет какой то смысл, расскажи пожалуйста, какой?
Смысл только в организации) можно и сразу в main было вставить. Но чтобы не засорять сильно вызовами блок main, я объединяю вызовы fb в функциях
@@portalview3028 А можно где то почитать как работает эта система вызовов с блока Main? И как правильно организовать структуру программы чтоб не засорять. Может подскажешь где искать или ссылочку подкинешь?
Последовательно сверху вниз работает) я имел ввиду не засорять для себя, программе в принципе все равно
@@portalview3028 а программе действительно все равно? у функции нет своей памяти и не значит ли это то, что каждый раз стирается память ФБ? ну или что-нибудь в этом роде? Функция действительно эквивалентна "обычному программированию в main"?
Здравствуйте. У вас очень интересные и познавательные видео! Подскажите, пожалуйста, как задавать произвольные (Random) значения? или как написать блок?
Привет. К сожалению, насколько я знаю, в тиа портале нет таких блоков для генерирования случайного значения. Можно попробовать поискать готовые библиотечные блоки на сайте Сименса. Возможно что-то найдется
@@portalview3028 Спасибо за ответ!
посоветуйте где скачать ТИА портал, спасибо
Привет. У тебя ошибка на 36:20 (глючит датчик на выходе единица так же моргает)
За два года ни кто ошибки не заметил))))
Я пересмотрел и тоже не заметил никакой ошибки. Вы не в дб смотрите, а в самом нетворке что происходит
нравится
подскажите, почему могут не работать горячие клавиши в мониторинге (ctrl+F2,F3)?
Могу только предположить, что вы за ноутбуком работаете и у вас не получается, потому что надо, к примеру, нажать ещё кнопку fn. Других идей нет, мало ли чего оно может не работать)
@@portalview3028 это на PC, причем в таблице force все работает)?
красава
Здравствуйте! Можете в вкратце рассказать, как реализовать фильтрацию дребезга аналоговых сигналов? или это тоже займет очень много времени?
Здраствуйте. Ну на самом деле тут ничего сложного нет и это просто творческая задачка, но описывать ее будет долго, наверное) Я бы смотрел в сторону таймеров и усреднений значений. Попробуйте в конце каждого цикла записывать измерение аналогового сигнала, а после 10-30 циклов, например, усреднять это значение. Также сделайте отслеживание аномальных показаний, если значение измерения резко изменилось более чем на 50 процентов, к примеру опять же. А лучше посмотреть лучшие практики по фильтрации значений сигнала и применять их в своей программе)
@@portalview3028 Спасибо. Попробую
можно переменную (структуру) таймера определять как тип TON или TOF
Структура для любого таймера одинаковая. Вы только выбираете нужную инструкцию (TON, TOF, TP, TONR), а структуру используете IEC_TIMER
@@portalview3028 я в db таймера определяю переменную типа TON например и формитуется соответствующая структура, таким образом можно использовать таймер в fb возможно кому то будет полезно, я так понимаю что TON это сименсовская библиотека а TON_IEC IEC-шная соответственно..
У меня нет возможности выбрать IEC_TIMER в качестве типа данных. Как это сделать? 7:23
Странно. Проверьте, где вы создаёте таймер. Я в видео создаю его как static переменную. Возможно вы его создаёте куда-то в другое место
@@portalview3028 Я решил проблему другим способом. Когда ТИА портал предлагает создать блок данных, я выбираю блок экземпляра данных, который находится внизу диалогового окна. Тогда создается в точности как у вас, только тип данных у него TON. Можно еще на выбор поставить TOF, TP или если счетчики то CTU, CTD и тд.
посоветуйте где скачать ТИА портал, крякнутый
@@АнтонРудченко-м8й можешь скачать с торрента какого-нибудь и программку sim ekb install для взлома. Использовать только для учебы.
Мне кажется что логичнее и правильнее было поставить последовательно контакты tags Sensor c Sensor 1.value мы бы видели как мигает сам вход и как после него работает фильтр так бы это было и в реальной схеме только вместо тags.sensor стоял например вход контроллера i0.1 это на 36мин
Здравствуйте!
Может Вы знаете как вернуть к заводским настройкам(обнулить) LOGO!8.2? Проблема вот в чем. При первой настройке после установки языка и часов видимо что то нажал и сейчас LOGO! находиться в одном состоянии, в котором на дисплее отображается только "Установки", "Сеть" и "Диагностика". В эти подменю заходить могу, но только для просмотра, а вот например часы изменить и запустить программу уже не могу. Нажимал уже все что угодно, но пока результата нет. Через ПК программа загружается и стартует тоже через ПК. Помогите разобраться или как можно все обнулить, что заново настроить.
Здравствуйте. Давно с лого не занимался. Там есть такая штука, типа упрощённое меню и расширенное. Сталкивался с подобным, нужно было ввести пароль, чтобы попасть в это расширенное меню, где остальные параметры становятся доступными. Не подскажу сейчас, как это сделать, нужно смотреть. Но ваша ситуация очень на это похожа.
Сброс на заводские настройки должен быть описан как минимум в мануале на контроллер, посмотрите. Там и решение проблемы может найдёте)
@@portalview3028 спасибо. Всё правильно. Необходимо ввести пароль ADMINA. Поискал этот пароль. По умолчанию LOGO
Решили проблему?)
@@portalview3028 да. Спасибо! :-)
всё чётко и ясно, красава, Только вот негде не могу найти где скачать тиа портал, для практики хотелось бы и самому пробовать делать свои проекты, кто посоветует где скачать ааа, буду очень благодарен ......
Я с рутрекера скачал.
@@AndreyPolischuk можете ссылку скинуть пожалуйста, буду благодарен
plc4me.com/download-tia_portal_v16_full_version-real-100/
16 версия здесь с полным пакетом допов. Включайте VPN, если не открывается страница
Я могу ошибаться, но в самом конце (ua-cam.com/video/6Gx2Jlijys4/v-deo.html 36:12 )при проверке дребезга не правильно сделана схема. тк при дребезге датчика sensor_1_input на прямую управляет out. Спасибо за уроки!
У автора все верно. Я сам собрал схему со своим плк и именно value на db sensor 1 срабатывает таймер на 5 секунд все верно
@@AmirFamily02 внимательно посмотрите на переменную выход "Tags.Out"
в момент дребезга входом котроллера и когда не прошло 5 секунд, он повторяет "дребезг" датчика и двигатель включается/выключается
@@scolpak да есть такое, когда только допустим наполнился бак с водой до уровня датчика, тоесть из положения не наполнен в наполнен есть срабатывание помню такое. надо вновь вкл. схему.
.
@@scolpak Абсолютно верно говорите, для этого и написана эта программа, чтобы исключить дребезг. Хотя в ней нет необходимости, фильтр чувствительности дискретных входов настраиваются прямо в Tia Portal.
База
Оператору нельзя разрешать симуляцию сигналов. Только киповцам и их руководству.
От дребезга надо на низком уровне разбираться, я в своём контроллере только параметрами фильтрации настраиваю из среды программирования.
Зачем лезть на низкий уровень и усложнять себе жизнь, если можно сделать все просто?
@@portalview3028 Зачем просто? Надо правильно, вещи должны все лежать на своих местах. А антидребезг у меня исключительно хорош, и себе где нибудь запишите что ли - в "ассемблере существуют макросы", работают замечательно. фильтр у меня намного более сложный, не такой примитив как у вас, ну понятно, у вас треть ресурсов контроллера сожрёт, если будете ставить что то хорошее, а так вы привыкли каким попало пользоваться. Вы не можете себе позволить глубину фильтрации использовать как у меня, фигли, по упрощёнке всё.
@@portalview3028 Вам следует течь по течению со всеми, так что ничего вы поделать тут не можете, впаривайте дальше что какой замечательный контроллер, и что вы тут сейчас антидребезг наваяете.