Просмотр полной версии : СПК 107 выдает сигнал дольше чем нужно
Добрый день!
Столкнулся с проблемой при работе СПК107, подключённого к модулю ввода/вывода МК210-301 по Ethernet через Modbus.
Суть следующая:
Когда скип опускается вниз, при срабатывании концевиков (нижнего положения) сигнал на визуализации и в модуле ввода появляется моментально, но сам выход SkipGoLow отключается с задержкой примерно 2 секунды. Из-за этого скип продолжает движение даже после того, как достиг нижней точки.
Визуально видно, что концевик уже "зажёгся", но команда на останов скипа в логике отрабатывает с опозданием.
Связь между СПК и МК210-301 реализована по Modbus TCP. В программе переменная SkipGoLow := FALSE ставится при переходе в следующий шаг, после проверки концевика SkipAtMixerLOW.
Вопрос:
С чем может быть связана такая задержка? Как правильно реализовать мгновенное отключение выхода после срабатывания концевика, если сам сигнал на модуле приходит моментально?
Заранее благодарю за советы!
Концевики нужно обрабатывать железно, а не программно!
Это раз...
МихаилГл
23.09.2025, 14:02
Концевики нужно обрабатывать железно, а не программно!
Это раз...
Не соглашусь.
На многих объектах все давно делается программно, даже элементы безопасности (вот тут я кстати не против реле безопасности). Если все делать железно, то много диагностической информации просто некорректно обрабатывается или вообще невозможно применить... Да и в шкафу много реле тоже не приведет к быстрому поиску неисправности...
Поэтому лучше найти причину такого "зависания", либо как вариант основные блокирующие сигналы на сам плк повесить, а не на модуль входов. Может еще концевой добавить на некотором расстоянии от основного, чтоб начать торможение частотником, если такое возможно... Но все равно, для большого объекта много "железных" реализаций стараются не применять. Если у вас 50 конвейеров и 40 грохотов, а на каждом из них и ктв, и ксл, и заштыбовка, и датчики схода, и концевые на задвижках... И это все формально элементы безопасной работы. Короче спорный вопрос, но я бы заставлял ставить реле безопасности только на те функции, которые для этого нужны: кнопка аварийного останова и троссовый выключатель, ну или шторка безопасности. Остальное вполне программно хорошо должно обрабатываться...
kondor3000
23.09.2025, 14:25
Вопрос:
С чем может быть связана такая задержка? Как правильно реализовать мгновенное отключение выхода после срабатывания концевика, если сам сигнал на модуле приходит моментально?
На модуль сигнал приходит сразу, вопрос сколько времени он передаётся по ТСР у вас?
При кривой реализации обмена это может быть и 2-5 секунд, а при правильной около 30 мс.
А так же зависит от кол-ва подключённых модулей.
Александр Пинэко-Скворцов
23.09.2025, 15:12
Добрый день!
Столкнулся с проблемой при работе СПК107, подключённого к модулю ввода/вывода МК210-301 по Ethernet через Modbus.
Суть следующая:
Когда скип опускается вниз, при срабатывании концевиков (нижнего положения) сигнал на визуализации и в модуле ввода появляется моментально, но сам выход SkipGoLow отключается с задержкой примерно 2 секунды. Из-за этого скип продолжает движение даже после того, как достиг нижней точки.
Визуально видно, что концевик уже "зажёгся", но команда на останов скипа в логике отрабатывает с опозданием.
Связь между СПК и МК210-301 реализована по Modbus TCP. В программе переменная SkipGoLow := FALSE ставится при переходе в следующий шаг, после проверки концевика SkipAtMixerLOW.
Вопрос:
С чем может быть связана такая задержка? Как правильно реализовать мгновенное отключение выхода после срабатывания концевика, если сам сигнал на модуле приходит моментально?
Заранее благодарю за советы!
Добрый день.
Если я правильно понял логику программы:
1. На шаге AutoStep = 0 включается таймер XDproduvkaDelay на 5 секунд
2. Когда таймер сработал, он сбрасывается (IN := FALSE) и обрабатывается концевик SkipAtMixerLOW
3. Из-за того, что таймер XDproduvkaDelay сбросили, в следующий раз состояние концевика учтётся с задержкой в 5 секунд, когда таймер снова досчитает.
Вопрос: может ли возникнуть ситуация, что концевик сработает не строго через 5 секунд от начала работы таймера?
Скорее всего, так и происходит, и логику обработки концевика нужно вынести из блока IF XDproduvkaDelay.Q THEN // END_IF
Спасибо вам огромное, действительно плохо смотрел)
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot