В ролике показана аппаратная диагностика аналоговых модулей SIMATIC через системную функцию SFC59. Автор разбирает организацию OB82, формирование массива данных диагностики, работу SFC59 с записью DS1 и сравнение с готовой переменной ошибки канала автономного ПИД-регулятора.
- 00:04 Аппаратная диагностика модулей через SFC59
- 04:29 Диагностика токовой петли автономного ПИД-регулятора
- 07:07 Настройка масштабирования аналогового входа
- 08:02 Использование SFC59 и организация OB82
- 12:37 Формирование массива данных для диагностики модуля
- 17:55 Работа системной функции SFC59 с запросом диагностики
- 21:02 Использование переменной ошибки канала ПИД-регулятора
- SIMATIC
- SFC59
- ПИД-регулятор
Кому полезно: Инженерам АСУ ТП, занимающимся диагностикой аналоговых модулей SIMATIC
Описание составлено автоматически по расшифровке речи в ролике.
Расшифровка видео
0:04 Здравствуйте, уважаемые зрители, сегодня речь пойдет о аппаратной диагностике. Ну что я подразумеваю под аппаратной диагностикой? Это расследование, так скажем, в коде какой там, что там с модулем, с каким то случилось. Да ну все знают, что есть отключаемая диагностика в основном у многих модулей, то есть он может сообщить процессору.
0:33 Что там случилось непосредственно с ним, причем делает это в своем прерывании? То есть может прервать цикла Аби, 1 это все для скоростных процессоров вообще меня? Эта тема как то мало всегда касалась, потому что о такой диагностике, говоря такой диагностике. Я в основном имею, подразумеваю и имею ввиду аналоговые сигналы, да?
1:01 Ну, когда чаще всего рвется токовая петля, и вот как бы сейчас я тут закину блок. 1 Когда я говорю о такой диагностике, мне обычно всегда хватало. Ну вот, этого элементарного оси 105 отправляем, и все 105 значит, если его Речорн. Валуя отличается от 0 это однозначная ошибка масштабирования, да и такая ошибка. Ну, в большинстве случаев говорит о том, что некорректный сигнал пришел на вход периферий. И как бы именно так я всегда и диагностировал эти вещи.
1:42 Помимо того, что детерн валуя. Будет отлично от 0 при ошибке такое масштабирование, еще и оно тоже будет равняться. 0 Ну, то есть блок будет не исполняемым. Если в онлайне смотрим, он будет пунктирном линии да выделяться, а не зеленым гореть, вот в принципе такой диагностики. Мне хватало, и если 1 из этих признаков я исследовал, то с Найчмай был однозначный сигнал типовцу идти и проверять свой прибор и свой кабель, потому что 99 она что то случилось с ним. Ну пока он идет, можно или перед тем, как его попросить идти. Можно в железе посмотреть в онлайне, что с модулем, насколько модуль адекватен в своем слоте? Вот принципе это все лирика, и ну понятно, да как что за диагностирование, но внимательные. Мои зрители знают, что я сейчас работаю над проектом, в котором. Есть, в частности, так называемые автономные пид регуляторы от, кстати, ФБ, от него функциональный блок от этого регулятора. Ссылочка более с более подробным описанием будет сейчас наверху. А я постараюсь вкратце напомнить, о чем там речь значит.
3:07 Вот такая вот сборочка сейчас у меня стоит, да и работает, вот он само астрономы регуляторов м. 355 С то есть ступенчатый степ шаговый, так называемый, но и выполнено подключение на 1 на 1 вход этого регулятора, он четырехканальный. На 1 канал подается только 4 20 миллиампер. Значит, еще раз скажу свое мнение по поводу применения этого регулятора. Я остаюсь при своем глубоком мнении, что этот регулятор нужен только там, где нужна автономность, то есть если ЦПУ. Ушло в стоп или, допустим, у нее питание пропало, а у регулятора отдельное питание у него есть 2 возможных развития сценария. Он либо может уйти на безопасную ранее заданную ставку, например, в 0 закрыться или наоборот 100 или в 50. Понятно, либо продолжать регулировать по последней заданной. У ставки все для всего другого существуют обычные модули аналог, а и, а ну, также там до и до. Да, если это о шаговых регуляторах и встроенные степ 7 блоки эпид регулирования.
4:29 Очень неудобно с ним по факту работы, значит, что здесь демонстрируется здесь. Как видите, я рву токовую петлю, ну то есть отсоединяя 1 штекер у меня модуль во. 1 Говорит, что у меня по каналу ошибка и так как включена диагностика та самая аппаратная, до которой мы и ведем речь. Это сигнал уходит на ЦПУ, на ЦПУ, уби 8. 6 Запрограммированы, мы посмотрим, что там понаписано. Но даже если бы он был бы пустой, он не дает уйти процессору стоп и такой вот скажем 3 момент ЦПУ в стопе. У меня на пид модули этом горит индикатор Бэкап, то есть это вот тот самый пример автономной работы. В принципе, как сказать, вспомнили, да о чем речь значит.
5:22 Значит, здесь у меня есть такой некий проект, небольшой, в котором я исследовал, как я буду аппаратно диагностировать. Дело в том, что у меня на вход. Этого прибора, естественно, подается аналоговый сигнал. Он же должен, что то регулировать, значит, процесс Варя был должна быть подключена непосредственно. К этому блоку ее невозможно, даже нет такой просто возможности программной подкидывать переменного процесса от контроллера. Да то есть она где, то там. На другой аналоговой периферии, а вы ее там прокидываете? Нет, так не получится, она должна быть подсоединена непосредственно к этому пид регулятору.
6:03 Ну, естественно, для его автономной работы, чтобы, когда он ушел в свою автономность, он продолжил регулирование, все закономерно. Так вот, есть у меня там сверху настройки над этим. Регулированием свои алгоритмы, которые нельзя запускать, и если у него ошибка аппаратная именно по вот этой токовой петле. Да, если петля неисправны, то не стоит и запускать те самые. Алгоритмы, поэтому мне нужна диагностика от него и так, как здесь не применяется. 105 То есть смотрите у меня, у меня пока ничего не не подключено, но вообще подключается здесь даже не. Не написано, какая периферия там, куда подключается. У нее своя внутренняя периферия и включается. Только вот вот этот битик репа в это означает, что он будет читать переменную процесса.
7:07 Со своей периферией все и здесь она будет уже отшкалированы. То есть вот это настройки масштабирования опять же извне они недоступны, то есть максимально минимальный предел, вы не порегулируете. Что крайне, конечно, неудобно, они вот здесь и находится. То есть включаем аналоговый вход, выбираем? Ну, оперу тип датчика, и вот здесь и нормализация. Вот, допустим, я, масштабируя от 4 до 20 миллиампер.
7:41 Значит, смотрите здесь, обратите внимание, что 1 мой адрес у Пит модуля 6 шестерочка. Ну тут как во всех модулях его можно уставлять, ну любым в рамках естественных ограничений, так скажем, адресации. Все железо нам, наверное, больше не понадобится.
8:02 Теперь идем поэтапно к использованию СС 59. Значит, что у нас происходит при входе, так мне не дает сохраниться, потому что это надо удалить. При поступлении прерывания до запускается оби, 82 что мы делаем в Оби 82. Так, а Би 82 у нас написанная цель? Написано на исцеле, был на другом мониторе, прошу прощения за задержку. Значит так, чтобы нам давайте обе, 1 примеру, откроем разницы, никакой нету. У каждого оби есть набор из 20 Байтов, но здесь вот опять же лишняя переменная. Это я уже ручками дописал, так скажем, 20 Байтов, то есть дейтен тайм она 8 Байт и 12 + 8 20 Байт.
9:09 Так ну все таки нет, мне нужен. Сейчас секундочку я сейчас вот так вот сделаю. Уберу. Свой Соурс источник, да и заново создам 82 блок. Чтобы вам показать, откуда, что я беру. Вот теперь мы его открываем, то есть как он у нас из коробки. Да выглядит вот наша темпоральная область, все те же самые 20 байт, но они уже естественно другие, чем у обе, 1 как то малодушная, я понадеялся, что. Не одинаково нет, нас здесь интересует модуль адрес. То есть, когда запускается Аби 82 в его темпоральной области, мы сразу же видим адрес модуля, который его запустил. И вот теперь мне снова придется сделать.
10:21 Бэк да бэкап. То есть взять Сорс кинуть его сюда, а нет в? принципе его можно было и не убирать. Откомпилировать его. Удалилось имя из таблицы. Так что она у нас так не открывается, открывается. Сейчас я заново запишу, ну а ну давайте еще проще поступим. Я прошу прощения за задержки некоторые, но. Иначе как бы и не показать одновременно 2 82. Я не могу создать, в принципе, можно было на ФБД, его написать, конечно же, было бы проще. Все, в принципе, мы снова его скомпилирую, что я, значит, делаю.
11:23 Для СС 59 который я буду в дальнейшем использовать, да я составил свой ДБ, значит. Значит, смотрим теперь уже в книжку по 355 по этому пид, модулю и читаем здесь, что есть 2 записи диагностики ДС 0 и ДС 1 ДС, 0 она мало. Информативная 4 Байта там содержит, и эти же 4 Байта есть в Оби. 82 А вот ДС 1 Она более расширенная, и здесь мы вот уже как раз получаем.
12:01 Данное, что у нас там по аналоговому входу, да и конкретно по каналу, по каналу. Вот вектор, вот что нас интересует. Вектор отказа канала вид назначается каждому каналу, то есть смотрите не в явном числе. Отображается, на что там на 1 2 3 4 до канал, а по убитикам нулевой бит. Это 1 канал 2 бит, это 1 убиточнее, это 2 канал, ну и так далее. То есть опять же тут не просто не в лоб, да надо маленько исхищряться.
12:37 Так и состоит из 16 Байт ДС 1. У нас до проговорил нет, это значит, я и создаю, что Байт свой ДБ. Ну, тут у меня массив 16 байт и еще 1 переменную ложу под адрес своего модуля. Сразу же включим. Так сейчас его перезалью, чтобы он у нас чистый был. Так все по нулям, пусть он пока у нас болтается, вот и в оби 82 получается. Я беру 1 Байт 6 с той самой. Списка темпоральной области, да мы помним, там с 6 Байта начинается Ворд с адресом нашего модуля, 6 в 16 кидая. И 7 17 но дело в том, что на их цели всякие Мувы.
13:43 Блок Муве, вот эти функции они, ну, там недоступно. В общем, но если Муве она принципе вот так и выглядит до присвоение, поэтому я 2 Байта кидаю и включаю. И включаю некую переменную булевую, которая у меня есть там, в таблице адресов под адресом. Там м 1 0 до Мертельной области и взвожу, значит, этот бит.
14:12 В принципе, все значит, теперь давайте посмотрим, как у нас отработает, так мне открыто уже, да? То есть сейчас я рву? Токовую петлю все адрес мы получили адрес, у нас 6 что соответствует нашему железу. Да, действительно, адресация вот этого пин модуля начинается с 1 его адреса в железе. Ну, можем подергать, то есть ставили, убрали. Ставили, убрали, понятно, что у нас адрес всегда хранится 1 и тот же. А вот наш вот этот 7 Байт он как раз и включает 1 бит, это речь о 1 канале, если. Б бы это был 2 бит двоечка, была бы шестнадцатиричной, если был то 3 бита, уже это была бы четверочка. Да потому, что 2 бита нулевой, и 1 это уже 4.
15:14 Так и дальше вот идет, где 14 у нас там уже идет расшифровка, о чем это? Ну что за неисправность, давайте попробуем расшифровать. То есть 8 Байт у нас? 14 Да давайте попробуем набрать в Хексе опять же 14. Так, а не хочет она набираться у меня? Дистанционном. 14 Это у нас 3 бит 0 1 2 2 3. И 4, 2 и 4 2 обрыв на аналоговом входе, что и. Следовало ожидать, да и еще 1 1 неисправность сигнала на налом. В ходе меньше нижнего предела допустимых значений, то есть, по сути, мы получили 2 неисправности. К чему такая диагностика, ну как бы становится непонятно, поэтому я считаю достаточно просто адреса.
16:30 Для диагностики достаточно получить вот здесь вот этот адрес канала. То есть у нас есть адрес модуля и адрес канала? Все, соответственно, на Эчмае уже можно отразить, что вот этот прибор имеет проблемы с Токовой петлей. Ну, то есть я могу сейчас уменьшить ток. Ниже допустимого, вот опять же 14 прилетает опять обрыв, хотя обрыва нет. Ладно, бог с ним, оставим это на совести разработчиков. Значит, двигаемся дальше, что у нас происходит далее вот такие.
17:12 Блоки по управлению такими вещами, как Пит. Они запускаются в циклических оби, ну типа оби. 35 Да ну в моем случае битриса! 2 Раз 100 Миллисекунд запускается, то есть должна выдерживаться строгая цикличность. Значит, смотрите, у нас модуль адрес 6 почему то? И и канал 1 надо на 6 изменить в принципе на самой то регулировки же и не будет, поэтому тут ошибок никаких и соответственно нету.
17:50 А здесь мы уже подходим к той самой наконец то. СС, 59 значит, смотрите, каким образом она работает на Реквест на вход Реквест. На запрос мы ставим наш файл, который получили в оби, 82 взвели. Помните, да и о и д мы ставим 54 в случае аналогового. Входа и по моему 55 или 56 ну все это шестнадцатеричным, Байт, это для аналогового выхода. Ну, нас интересует аналоговый вход. У меня стоит шестнадцатеричном виде 54 здесь, опять же, адрес нашего модуля.
18:36 6 До шестнадцатиричном шестнадцатиричном также остается как десятичным 6. И вот здесь номер записи, а номер записи. Это вот наше вот это, вот ДС 1 либо ДС 0. Нас интересует 1 но, но Ретор Молвой есть есть базе, что занят пока что еще до запрос совершается и рекорд на выходе рекорд. Тип переменной Эний, это указатель на наш тот самый Диби, который мы и сделали это в моем случае. Диби, 2 с его там массивом 16 Байт.
19:20 Вот в принципе и как бы все, ну и в конце. Если у нас базе закончился, да и есть файл, мы этот Фейл сбрасываем, чтобы в следующий раз он снова отработал запрос. Как бы в принципе и все, то есть на данный момент файл нету. Запускаем его. Так а? Вот, кстати, мой токовый сигнал тот самый, вот он процесс. Варя был здесь, уже отображается луча, составлю там 4 ампера. Ну как бы калибратор, не суть что точный. Дальше запускаем, я просто не успеваю. В этот момент, когда совершается вопрос запрос в онлайне, ну и таким образом у нас на.
20:21 ДБ 2 в ДБ 2 в ДБ 2 получается та самая запись, которую мы и наблюдали. Надеюсь, она осталась в открытом виде. Ну, то есть, вот мы видим эту самую диагностику. То есть все довольно таки такие, как сказать, непросто. Через 1 блок мы получаем адрес модуля во 2, мы запускаем блок диагностики и. Таким образом получаем номер канала вот такая вроде не хитрая диагностика, но тем не менее очень много телодвижений. Почему я решил снять этот ролик для того, чтобы, наверное, самому, через какое то время освежить в памяти, что и как это делается, но самое самое. Печальное это то, что я все это снесу. Скорее всего потому, что читал справку по своему пид регулятору по диагонали, оказывается, есть переменная.
21:31 Ну, в общем, ошибка, ошибка канала. Короче, это все то же самое, что какого бить и к я добивался. Она у нас возникнет, а сейчас мы, наверное. А сейчас мы, наверное, сделаем опять же темпоральную перемену, да какую то. Внутреннюю такую файл. И сейчас мы ее привяжем, вот очень длинный этот блок, вот она, да я, кстати. Я, кстати, этого еще сам ни разу не делал. Будет интересно посмотреть здесь, уже важно, что у нас блок 6. Ну, теперь правильную адресацию имеет, опять же мы и ПВС Калит. Не видели бы, если не было, 0 да давайте попробуем отсоединили.
22:22 Ну и что то? Так, а я ее никуда не туда привязал, извиняюсь. Пока болтал. Здесь она должна быть так секунду. Все это плохо работают с сочетанием клавиш, так Фейл привязываем внутреннюю переменную, сохраняем. Заливаем. Смотрим. Да, то есть однозначно вот эта переменная говорит и так, как мы снимаем уже с модуля. С блока и ДФМ, о котором мы точно знаем, какой там у него адрес, да и какой канал. То, как бы все эти ухищрения, они нафиг не нужны. Вывод всего видео, внимательно читайте инструкцию. Ну тут простительно, потому что смотрите, ну просто их тут много, очень всех этих входов и выходов. То есть я вот себе такое перевел по назначениям в ворности файлик и. Он достаточно такой протяженный, так скажем, но, наверное, на этом все. Если у кого то был было желание попробовать вот эту аппаратную диагностику, я показал, что в принципе СС 59 работает особых сложностей, каких то там. Сверхневыносимых нет, в принципе можно применять как бы в в какой то момент. И может, кто то вам скажет спасибо за то, что диагностика действительно есть и она какая, то расширенная. Да что на ячма и отображается, ну действительно. Какие то важные такие, ну хотя спасибо, никто не скажет, уж никто не поймет, что человек над этим трудился себе. Подумаешь, вот так и должно быть, но, но тем не менее, если кому то понравилось данное видео, поставьте лайк.
24:33 Кто впервые попал на канал и досмотрел таки до конца? Подписывайтесь, изучаем разные вещи. В обозрении сематики не только. Всем хорошего остатка дня до свидания!
Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.
Как я долго мучался и к чему пришел )))
Целевое назначение — развитие канала (оборудование для съёмки, м.б. какие то мини стенды и т.п.)