1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Анализ программы обмотчика

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)

Модератор: Глоб.модераторы

Ответить
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 139
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 30 раз
Поблагодарили: 8 раз

Анализ программы обмотчика

Сообщение Alex80 »

Здравствуйте, уважаемые коллеги.
Модифицирую сейчас программу обмотчика. Саму программу прикреплю. Работает всё на CPU S7-200.
Появился такой вопрос - при анализе программы встретил очень много NW в которых меркер формирует сам себя. Т.е. сам себя опрашивает и присваивает своё же значение. Не понимаю для чего это сделано.
При чём в некоторых дальнейших местах программы этот меркер так же опрашивается. Но так как он завязан сам на себя. Никто более его значение не меняет - нет ни панели HMI, ни как либо ещё - то смысл таких меркеров? Они будут всегда в нуле?
Вот - прикреплю скрины - на примере меркера 79.2 - он формируется в NW 29 и более нигде - так говорит утилита Cross Referens.
Но далее в программе в NW 88 и NW 95 мы встречаем его опрос - выходит, что всё что зависит от этого меркера никогда не будет работать при опросе его на "1"?
Зацикленные меркеры.jpg
Screenshot_1.jpg
NW 95.jpg
NW 88.jpg
Отправлено спустя 10 минут 55 секунд:
Helix H30 ru.zip
У вас нет необходимых прав для просмотра вложений в этом сообщении.

ogorsv
специалист
специалист
Сообщения: 642
Зарегистрирован: 02 дек 2015, 06:57
Имя: Огородников Сергей
Страна: РФ
Благодарил (а): 136 раз
Поблагодарили: 111 раз

Анализ программы обмотчика

Сообщение ogorsv »

Добрый день!
Судя по N28, это привычка программиста работать в программе с сигналами входов и выходов только в одном месте.
В первой секции делается копия входного сигнала в сигнал внутренней памяти, далее работа только с ним
В последней секции из внутренних битов копируется в сигналы DO
Т.е. все DI использованы только в первой (условно) секции, все DO - в последней
Те биты, которые вас озадачили, по-видимому, или отсутствуют сигналы, или кто-то это сделал специально
СВ

Joshua
здесь недавно
здесь недавно
Сообщения: 98
Зарегистрирован: 21 мар 2023, 02:12
Имя: Владимир
Страна: РФ
город/регион: Псков
Благодарил (а): 2 раза
Поблагодарили: 21 раз

Анализ программы обмотчика

Сообщение Joshua »

Ещё вариант, возможно где-то используется битовая маска в виде WORD с использованием того же адреса? Проверьте распределение областей памяти, может найдёте переменную с адресом MW78
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 139
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 30 раз
Поблагодарили: 8 раз

Анализ программы обмотчика

Сообщение Alex80 »

ogorsv писал(а): 11 июн 2024, 11:38 Судя по N28, это привычка программиста работать в программе с сигналами входов и выходов только в одном месте.
С nw28 и им подобными всё понятно. Я где-то даже встречал рекомендацию так делать - сигналы входные загонять в меркеры, работать с ними и выдавать на выходы. Вопрос как раз про те меркеры, которые выставляются сами собой и тем не менее участвуют в дальнейшем опросе в программе. Как я думаю - если поудалять такие NW ничего не должно поменяться. Даже наверное стоит удалить их дальнейшие вхождения - там где они через конъюнкцию идут.
Joshua писал(а): 11 июн 2024, 12:19 Ещё вариант, возможно где-то используется битовая маска в виде WORD с использованием того же адреса? Проверьте распределение областей памяти, может найдёте переменную с адресом MW78
Проверял уже - нет такого - ни в программе, ни в перекрёсных ссылках.
Единственная у меня мысль, что эти меркеры остались со времён отладки программы - и просто не стали их убирать. Типа - поставить условие принудительно. Хотя можно и так его было выставить... вообщем - не пойму я - поэтому и спросил здесь.

Михайло
эксперт
эксперт
Сообщения: 3643
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 8 раз
Поблагодарили: 286 раз

Анализ программы обмотчика

Сообщение Михайло »

Alex80 писал(а): 11 июн 2024, 11:15 при анализе программы встретил очень много NW в которых меркер формирует сам себя.
Когда мониторишь работу программы, то такие цепочки сигнализируют состояние соответствующего меркера. На самом деле эти цепочки ничего не делают.

zromz
освоился
освоился
Сообщения: 200
Зарегистрирован: 18 сен 2021, 18:07
Имя: Владимир
Страна: Беларусь
Благодарил (а): 12 раз
Поблагодарили: 34 раза

Анализ программы обмотчика

Сообщение zromz »

Не всегда в чужом коде можно найти логику . К чему это я - в коде от написания до наладки всегда появляются куски, которые или не вызываются или просто закомментированы . При наладке главное запустить и пройти проверку, сдать в эксплкатацию , никто после этого свой код не чистит. Нет, ну может на этом форуме такие ангелы присутствуют, но я не встречал. Как правило при обслуживании после запуска еще как минимум пару лет находишь косяки в коде, которые не всплыли при сдаче в эксплуатацию.
Аватара пользователя

keysansa
эксперт
эксперт
Сообщения: 2471
Зарегистрирован: 20 дек 2018, 04:45
Имя: Сергей
Страна: РБ/РФ
город/регион: РФ Сергиев Посад
Благодарил (а): 2121 раз
Поблагодарили: 208 раз

Анализ программы обмотчика

Сообщение keysansa »

Alex80 писал(а): 11 июн 2024, 13:07 Единственная у меня мысль, что эти меркеры остались со времён отладки программы - и просто не стали их убирать.
Скорее всего, эта программа изначально была написана для "другого железа". Потом железо "упростили", соответственно, входы и связанная с ними логика стала ненужна. И вместо I3.2 написали V79.2, что бы выключить эту часть программы
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 139
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 30 раз
Поблагодарили: 8 раз

Анализ программы обмотчика

Сообщение Alex80 »

Вынужден продолжить тему. Здравствуйте, зашедшим.
Мне поручили на этом обмотчике добавить траверсы для подъёма поддона перед обмоткой.
Траверсы установили, монтаж я произвёл - на резервные входа два индукционных датчика на высшую и низшую точку. Программу начерно переделал (правда ещё в производстве не пробовал).
Проблема в другом и честно говоря вообще не понимаю как так может быть:
1) Подключил резервный выход на пневнореле 24В. Перед этим просто от "Лабораторника" подавали 24В и всё у нас поднималось.
2) Принудительно подаю выставить на выход логическую единицу - нет 24 вольта, соответсвенно ничего не поднимается.
3) Меряю прям на выходе с CPU (6ES7 216-2AD00-0XB0) - нет 24В. Хотя индикация выхода горит.
4) Как только систему приводят в готовность - закрывают все двери, которые должны быть закрыты - 24В загадочным образом появляется. Всегда думал, что когда ты форсируешь выход, то он вообще не обращает внимание на программу. Хоть на пустом форсируй - если тебе приказали - будь добр выставить на выходе "единицу".
Всё это было выяснено экспериментальным путём - я без всякого страха во время производства выставил там "единицу" - у меня ведь при в системе при ошибке не работало ничего. В результате мой подъёмник вылез прям перед движущимся поддоном едва его не уронив.
И вот теперь чешу репу - не понимаю как такое может быть. Выход напрямую соединён с реле.
Была у меня мысль что 24В которые запитываю выхода CPU каким то образом соеденены через какой-то контур безопусности - типа какой-то концевик разонкнут - и нет на питания на выходах, но нет - я лично мерил мультиметром - питание выходов не пропадает. А вот при открытой дверке и форсированном выходе - между последним и "нулём" питания выходов 24В нет...
Вообщем порядочно мне это загнуло извилины - если есть у кого здравые идеи как такое может быть - прошу - накидывайте.
Схему соединения по данному CPU приложу.
05.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.

pkl58
завсегдатай
завсегдатай
Сообщения: 544
Зарегистрирован: 19 мар 2012, 20:04
Имя: Павел
Страна: Россия
Благодарил (а): 6 раз
Поблагодарили: 59 раз

Анализ программы обмотчика

Сообщение pkl58 »

А не может питание выхода подаваться через какой либо контакт вне ПЛК? Клеммы 2L+ 1L+. То есть пока ПЛК на столе питания на этих клеммах нет. Либо минус питания чем то рвется. Вы бы схему установки показали.
Аватара пользователя

keysansa
эксперт
эксперт
Сообщения: 2471
Зарегистрирован: 20 дек 2018, 04:45
Имя: Сергей
Страна: РБ/РФ
город/регион: РФ Сергиев Посад
Благодарил (а): 2121 раз
Поблагодарили: 208 раз

Анализ программы обмотчика

Сообщение keysansa »

Alex80 писал(а): 19 июл 2024, 15:07 И вот теперь чешу репу - не понимаю как такое может быть. Выход напрямую соединён с реле.
Обратите внимание, что +24 подается на модуль и является общим, а вот -24 - может по разному формироваться. Или кусок схемы приведите, но проверенной вами лично.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.

Parliament74
авторитет
авторитет
Сообщения: 865
Зарегистрирован: 16 ноя 2016, 11:33
Имя: Максим Владимирович
Страна: Россия
город/регион: Магнитогорск
Благодарил (а): 16 раз
Поблагодарили: 223 раза

Анализ программы обмотчика

Сообщение Parliament74 »

Alex80 писал(а): 19 июл 2024, 15:07 Вообщем порядочно мне это загнуло извилины - если есть у кого здравые идеи как такое может быть - прошу - накидывайте.
Схему соединения по данному CPU приложу.
Схема установки есть, а не картинка из руководства на контроллер?
Вангую, там найдутся все ответы.
Если нет, то мультиметр в руки и смотреть, как питание (1L+, 2L+) появляется на выходах контроллера.

v0v
не первый раз у нас
не первый раз у нас
Сообщения: 372
Зарегистрирован: 12 дек 2018, 14:47
Имя: Влад
Благодарил (а): 1 раз
Поблагодарили: 50 раз

Анализ программы обмотчика

Сообщение v0v »

В целях безопасности часто делают отключение выходов при открывании дверцы или нажатии стоповой кнопки, как у Вас сделано не понятно надо схему.
Аватара пользователя

Автор темы
Alex80
осмотрелся
осмотрелся
Сообщения: 139
Зарегистрирован: 15 дек 2020, 20:29
Имя: Алексей
Страна: Россия
город/регион: Пенза
Благодарил (а): 30 раз
Поблагодарили: 8 раз

Анализ программы обмотчика

Сообщение Alex80 »

pkl58 писал(а): 19 июл 2024, 15:30 А не может питание выхода подаваться через какой либо контакт вне ПЛК? Клеммы 2L+ 1L+. То есть пока ПЛК на столе питания на этих клеммах нет. Либо минус питания чем то рвется. Вы бы схему установки показали.
Нет - я прозванивал - контакт на клемнике звонится напрямую с нужным мне выходом. Плюс на схеме они (нагрузки с выходов) так же подключены напрямую. Схему приложу. Мой выход резервный и я свою нагрузку (пневмо-реле) дорисовал просто карандашом.
keysansa писал(а): 21 июл 2024, 00:25 Обратите внимание, что +24 подается на модуль и является общим, а вот -24 - может по разному формироваться. Или кусок схемы приведите, но проверенной вами лично.
-24В? Вы имеете ввиду 0В? Ноль общий - нигде не прерывается и берётся с блока питания.
Схему в части касающуюся приложу.
Parliament74 писал(а): 21 июл 2024, 07:00 Если нет, то мультиметр в руки и смотреть, как питание (1L+, 2L+) появляется на выходах контроллера.
Смотрел уже - питание выходов, а именно +L и M - так как я использую резервный выход Q1.2 никуда не деваются - хоть дверь открыта, хоть закрыта. Я правильно понимаю - именно +24В с +L CPU коммутирует на соответсвующий выход?

Часть схемы с данным выходом:
04.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.

simeens
новенький
новенький
Сообщения: 1
Зарегистрирован: 01 ноя 2020, 20:15
Имя: Makc

Анализ программы обмотчика

Сообщение simeens »

На другой выход пробовали переписать??? Выход может быть просто не исправен! У нас на S1200 два выгорело. Остальные превентивно запитали через релюшки.
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 18758
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 973 раза
Поблагодарили: 1854 раза

Анализ программы обмотчика

Сообщение Jackson »

Alex80 писал(а): 22 июл 2024, 09:47 асть схемы с данным выходом
На схеме нет ни одного шунт.диода или варистора, клапана напрямую из контроллера питаются. Выходы могли просто сгореть.
simeens писал(а): 30 авг 2024, 14:59Остальные превентивно запитали через релюшки.
Превентивно? :) А руководство по монтажу читали? Или хотя бы даташит с характеристиками выходов?
По вопросам работы Форума можно обратиться по этим контактам.

olexsa
эксперт
эксперт
Сообщения: 1584
Зарегистрирован: 29 май 2009, 21:40
Имя: Александр
Страна: Россия
город/регион: Курган
Благодарил (а): 86 раз
Поблагодарили: 208 раз

Анализ программы обмотчика

Сообщение olexsa »

simeens писал(а): 30 авг 2024, 14:59 Остальные превентивно запитали через релюшки.
А релюшки через что управляются?
Ответить

Вернуться в «Simatic Step7»