- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Анализ программы обмотчика
Модератор: Глоб.модераторы
-
- осмотрелся
- Сообщения: 139
- Зарегистрирован: 15 дек 2020, 20:29
- Имя: Алексей
- Страна: Россия
- город/регион: Пенза
- Благодарил (а): 30 раз
- Поблагодарили: 8 раз
Анализ программы обмотчика
Здравствуйте, уважаемые коллеги.
Модифицирую сейчас программу обмотчика. Саму программу прикреплю. Работает всё на CPU S7-200.
Появился такой вопрос - при анализе программы встретил очень много NW в которых меркер формирует сам себя. Т.е. сам себя опрашивает и присваивает своё же значение. Не понимаю для чего это сделано.
При чём в некоторых дальнейших местах программы этот меркер так же опрашивается. Но так как он завязан сам на себя. Никто более его значение не меняет - нет ни панели HMI, ни как либо ещё - то смысл таких меркеров? Они будут всегда в нуле?
Вот - прикреплю скрины - на примере меркера 79.2 - он формируется в NW 29 и более нигде - так говорит утилита Cross Referens.
Но далее в программе в NW 88 и NW 95 мы встречаем его опрос - выходит, что всё что зависит от этого меркера никогда не будет работать при опросе его на "1"? Отправлено спустя 10 минут 55 секунд:
Модифицирую сейчас программу обмотчика. Саму программу прикреплю. Работает всё на CPU S7-200.
Появился такой вопрос - при анализе программы встретил очень много NW в которых меркер формирует сам себя. Т.е. сам себя опрашивает и присваивает своё же значение. Не понимаю для чего это сделано.
При чём в некоторых дальнейших местах программы этот меркер так же опрашивается. Но так как он завязан сам на себя. Никто более его значение не меняет - нет ни панели HMI, ни как либо ещё - то смысл таких меркеров? Они будут всегда в нуле?
Вот - прикреплю скрины - на примере меркера 79.2 - он формируется в NW 29 и более нигде - так говорит утилита Cross Referens.
Но далее в программе в NW 88 и NW 95 мы встречаем его опрос - выходит, что всё что зависит от этого меркера никогда не будет работать при опросе его на "1"? Отправлено спустя 10 минут 55 секунд:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- специалист
- Сообщения: 642
- Зарегистрирован: 02 дек 2015, 06:57
- Имя: Огородников Сергей
- Страна: РФ
- Благодарил (а): 136 раз
- Поблагодарили: 111 раз
Анализ программы обмотчика
Добрый день!
Судя по N28, это привычка программиста работать в программе с сигналами входов и выходов только в одном месте.
В первой секции делается копия входного сигнала в сигнал внутренней памяти, далее работа только с ним
В последней секции из внутренних битов копируется в сигналы DO
Т.е. все DI использованы только в первой (условно) секции, все DO - в последней
Те биты, которые вас озадачили, по-видимому, или отсутствуют сигналы, или кто-то это сделал специально
Судя по N28, это привычка программиста работать в программе с сигналами входов и выходов только в одном месте.
В первой секции делается копия входного сигнала в сигнал внутренней памяти, далее работа только с ним
В последней секции из внутренних битов копируется в сигналы DO
Т.е. все DI использованы только в первой (условно) секции, все DO - в последней
Те биты, которые вас озадачили, по-видимому, или отсутствуют сигналы, или кто-то это сделал специально
СВ
-
- здесь недавно
- Сообщения: 98
- Зарегистрирован: 21 мар 2023, 02:12
- Имя: Владимир
- Страна: РФ
- город/регион: Псков
- Благодарил (а): 2 раза
- Поблагодарили: 21 раз
Анализ программы обмотчика
Ещё вариант, возможно где-то используется битовая маска в виде WORD с использованием того же адреса? Проверьте распределение областей памяти, может найдёте переменную с адресом MW78
-
- осмотрелся
- Сообщения: 139
- Зарегистрирован: 15 дек 2020, 20:29
- Имя: Алексей
- Страна: Россия
- город/регион: Пенза
- Благодарил (а): 30 раз
- Поблагодарили: 8 раз
Анализ программы обмотчика
С nw28 и им подобными всё понятно. Я где-то даже встречал рекомендацию так делать - сигналы входные загонять в меркеры, работать с ними и выдавать на выходы. Вопрос как раз про те меркеры, которые выставляются сами собой и тем не менее участвуют в дальнейшем опросе в программе. Как я думаю - если поудалять такие NW ничего не должно поменяться. Даже наверное стоит удалить их дальнейшие вхождения - там где они через конъюнкцию идут.
Проверял уже - нет такого - ни в программе, ни в перекрёсных ссылках.
Единственная у меня мысль, что эти меркеры остались со времён отладки программы - и просто не стали их убирать. Типа - поставить условие принудительно. Хотя можно и так его было выставить... вообщем - не пойму я - поэтому и спросил здесь.
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
Анализ программы обмотчика
Когда мониторишь работу программы, то такие цепочки сигнализируют состояние соответствующего меркера. На самом деле эти цепочки ничего не делают.
-
- освоился
- Сообщения: 200
- Зарегистрирован: 18 сен 2021, 18:07
- Имя: Владимир
- Страна: Беларусь
- Благодарил (а): 12 раз
- Поблагодарили: 34 раза
Анализ программы обмотчика
Не всегда в чужом коде можно найти логику . К чему это я - в коде от написания до наладки всегда появляются куски, которые или не вызываются или просто закомментированы . При наладке главное запустить и пройти проверку, сдать в эксплкатацию , никто после этого свой код не чистит. Нет, ну может на этом форуме такие ангелы присутствуют, но я не встречал. Как правило при обслуживании после запуска еще как минимум пару лет находишь косяки в коде, которые не всплыли при сдаче в эксплуатацию.
-
- эксперт
- Сообщения: 2469
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2119 раз
- Поблагодарили: 206 раз
Анализ программы обмотчика
Скорее всего, эта программа изначально была написана для "другого железа". Потом железо "упростили", соответственно, входы и связанная с ними логика стала ненужна. И вместо I3.2 написали V79.2, что бы выключить эту часть программы
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- осмотрелся
- Сообщения: 139
- Зарегистрирован: 15 дек 2020, 20:29
- Имя: Алексей
- Страна: Россия
- город/регион: Пенза
- Благодарил (а): 30 раз
- Поблагодарили: 8 раз
Анализ программы обмотчика
Вынужден продолжить тему. Здравствуйте, зашедшим.
Мне поручили на этом обмотчике добавить траверсы для подъёма поддона перед обмоткой.
Траверсы установили, монтаж я произвёл - на резервные входа два индукционных датчика на высшую и низшую точку. Программу начерно переделал (правда ещё в производстве не пробовал).
Проблема в другом и честно говоря вообще не понимаю как так может быть:
1) Подключил резервный выход на пневнореле 24В. Перед этим просто от "Лабораторника" подавали 24В и всё у нас поднималось.
2) Принудительно подаю выставить на выход логическую единицу - нет 24 вольта, соответсвенно ничего не поднимается.
3) Меряю прям на выходе с CPU (6ES7 216-2AD00-0XB0) - нет 24В. Хотя индикация выхода горит.
4) Как только систему приводят в готовность - закрывают все двери, которые должны быть закрыты - 24В загадочным образом появляется. Всегда думал, что когда ты форсируешь выход, то он вообще не обращает внимание на программу. Хоть на пустом форсируй - если тебе приказали - будь добр выставить на выходе "единицу".
Всё это было выяснено экспериментальным путём - я без всякого страха во время производства выставил там "единицу" - у меня ведь при в системе при ошибке не работало ничего. В результате мой подъёмник вылез прям перед движущимся поддоном едва его не уронив.
И вот теперь чешу репу - не понимаю как такое может быть. Выход напрямую соединён с реле.
Была у меня мысль что 24В которые запитываю выхода CPU каким то образом соеденены через какой-то контур безопусности - типа какой-то концевик разонкнут - и нет на питания на выходах, но нет - я лично мерил мультиметром - питание выходов не пропадает. А вот при открытой дверке и форсированном выходе - между последним и "нулём" питания выходов 24В нет...
Вообщем порядочно мне это загнуло извилины - если есть у кого здравые идеи как такое может быть - прошу - накидывайте.
Схему соединения по данному CPU приложу.
Мне поручили на этом обмотчике добавить траверсы для подъёма поддона перед обмоткой.
Траверсы установили, монтаж я произвёл - на резервные входа два индукционных датчика на высшую и низшую точку. Программу начерно переделал (правда ещё в производстве не пробовал).
Проблема в другом и честно говоря вообще не понимаю как так может быть:
1) Подключил резервный выход на пневнореле 24В. Перед этим просто от "Лабораторника" подавали 24В и всё у нас поднималось.
2) Принудительно подаю выставить на выход логическую единицу - нет 24 вольта, соответсвенно ничего не поднимается.
3) Меряю прям на выходе с CPU (6ES7 216-2AD00-0XB0) - нет 24В. Хотя индикация выхода горит.
4) Как только систему приводят в готовность - закрывают все двери, которые должны быть закрыты - 24В загадочным образом появляется. Всегда думал, что когда ты форсируешь выход, то он вообще не обращает внимание на программу. Хоть на пустом форсируй - если тебе приказали - будь добр выставить на выходе "единицу".
Всё это было выяснено экспериментальным путём - я без всякого страха во время производства выставил там "единицу" - у меня ведь при в системе при ошибке не работало ничего. В результате мой подъёмник вылез прям перед движущимся поддоном едва его не уронив.
И вот теперь чешу репу - не понимаю как такое может быть. Выход напрямую соединён с реле.
Была у меня мысль что 24В которые запитываю выхода CPU каким то образом соеденены через какой-то контур безопусности - типа какой-то концевик разонкнут - и нет на питания на выходах, но нет - я лично мерил мультиметром - питание выходов не пропадает. А вот при открытой дверке и форсированном выходе - между последним и "нулём" питания выходов 24В нет...
Вообщем порядочно мне это загнуло извилины - если есть у кого здравые идеи как такое может быть - прошу - накидывайте.
Схему соединения по данному CPU приложу.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- завсегдатай
- Сообщения: 544
- Зарегистрирован: 19 мар 2012, 20:04
- Имя: Павел
- Страна: Россия
- Благодарил (а): 6 раз
- Поблагодарили: 59 раз
Анализ программы обмотчика
А не может питание выхода подаваться через какой либо контакт вне ПЛК? Клеммы 2L+ 1L+. То есть пока ПЛК на столе питания на этих клеммах нет. Либо минус питания чем то рвется. Вы бы схему установки показали.
-
- эксперт
- Сообщения: 2469
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2119 раз
- Поблагодарили: 206 раз
Анализ программы обмотчика
Обратите внимание, что +24 подается на модуль и является общим, а вот -24 - может по разному формироваться. Или кусок схемы приведите, но проверенной вами лично.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
-
- авторитет
- Сообщения: 865
- Зарегистрирован: 16 ноя 2016, 11:33
- Имя: Максим Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 16 раз
- Поблагодарили: 223 раза
Анализ программы обмотчика
Схема установки есть, а не картинка из руководства на контроллер?
Вангую, там найдутся все ответы.
Если нет, то мультиметр в руки и смотреть, как питание (1L+, 2L+) появляется на выходах контроллера.
-
- не первый раз у нас
- Сообщения: 372
- Зарегистрирован: 12 дек 2018, 14:47
- Имя: Влад
- Благодарил (а): 1 раз
- Поблагодарили: 50 раз
Анализ программы обмотчика
В целях безопасности часто делают отключение выходов при открывании дверцы или нажатии стоповой кнопки, как у Вас сделано не понятно надо схему.
-
- осмотрелся
- Сообщения: 139
- Зарегистрирован: 15 дек 2020, 20:29
- Имя: Алексей
- Страна: Россия
- город/регион: Пенза
- Благодарил (а): 30 раз
- Поблагодарили: 8 раз
Анализ программы обмотчика
Нет - я прозванивал - контакт на клемнике звонится напрямую с нужным мне выходом. Плюс на схеме они (нагрузки с выходов) так же подключены напрямую. Схему приложу. Мой выход резервный и я свою нагрузку (пневмо-реле) дорисовал просто карандашом.
-24В? Вы имеете ввиду 0В? Ноль общий - нигде не прерывается и берётся с блока питания.
Схему в части касающуюся приложу.
Смотрел уже - питание выходов, а именно +L и M - так как я использую резервный выход Q1.2 никуда не деваются - хоть дверь открыта, хоть закрыта. Я правильно понимаю - именно +24В с +L CPU коммутирует на соответсвующий выход?Parliament74 писал(а): ↑21 июл 2024, 07:00 Если нет, то мультиметр в руки и смотреть, как питание (1L+, 2L+) появляется на выходах контроллера.
Часть схемы с данным выходом:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- новенький
- Сообщения: 1
- Зарегистрирован: 01 ноя 2020, 20:15
- Имя: Makc
Анализ программы обмотчика
На другой выход пробовали переписать??? Выход может быть просто не исправен! У нас на S1200 два выгорело. Остальные превентивно запитали через релюшки.
-
- администратор
- Сообщения: 18747
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 972 раза
- Поблагодарили: 1852 раза
Анализ программы обмотчика
На схеме нет ни одного шунт.диода или варистора, клапана напрямую из контроллера питаются. Выходы могли просто сгореть.
Превентивно? :) А руководство по монтажу читали? Или хотя бы даташит с характеристиками выходов?
По вопросам работы Форума можно обратиться по этим контактам.
-
- эксперт
- Сообщения: 1584
- Зарегистрирован: 29 май 2009, 21:40
- Имя: Александр
- Страна: Россия
- город/регион: Курган
- Благодарил (а): 86 раз
- Поблагодарили: 208 раз