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

Принцип прохода программы Control Logix

PLC, прочие контроллеры, промышленные компьютеры, операторские панели
Ответить

Автор темы
Andrey 2014
осмотрелся
осмотрелся
Сообщения: 153
Зарегистрирован: 04 фев 2014, 14:52
Имя: Исаков Андрей Вячеславович
Благодарил (а): 2 раза

Принцип прохода программы Control Logix

Сообщение Andrey 2014 »

Здравствуйте! Такой вопрос у меня возник, релейная логика, если я последовательно поставлю два блока MOV первый будет 0 записывать в некий тег, а второй в этот же тег будет писать 1. Если запустить эту программу, то тег будет всегда в "1". Когда программа сканируется она вроде бы должна в "0" переводить тег этот, а уже потом в "1". На деле же этого не происходит (либо происходит, но очень быстро). Разъясните, как вообще программа сканируется? Измененные данные пишутся в какой то буфер, а после прохода уже в теги или сразу в теги, прямо во время сканирования?
Аватара пользователя

den_vish
освоился
освоился
Сообщения: 233
Зарегистрирован: 11 апр 2013, 13:22
Имя: Вишневский Денис
Благодарил (а): 10 раз
Поблагодарили: 12 раз

Принцип прохода программы Control Logix

Сообщение den_vish »

слева на право, сверху вниз, итоговые значения РЛО (результат логической операции) формируются по окончании цикла (скана)
образно - ты входишь в коридор, в начале коридора тебе дали яблоко, а в середине коридора это яблоко отобрали, то выйдешь ты, как ни странно - без яблока, ты разозлился, пошел опять в начало коридора, там по каким то причинам яблок нету, но в середине коридора ты опять встретил типа, который отжал яблоко, а так как программисты ему объяснили что он должен делать наоборот, то он тебе всучит яблоко и выпроводит дальше по коридору и так цикл за циклом, думаю ничего не напутал, правда возможны варианты в виде приоритетов операций и прерываний, но тут доку к контроллеру смотреть надо
"- Знаешь, дружище, в чем истинный смысл второго закона термодинамики?
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)

Автор темы
Andrey 2014
осмотрелся
осмотрелся
Сообщения: 153
Зарегистрирован: 04 фев 2014, 14:52
Имя: Исаков Андрей Вячеславович
Благодарил (а): 2 раза

Принцип прохода программы Control Logix

Сообщение Andrey 2014 »

den_vish писал(а): слева на право, сверху вниз
Сначала слева направо, а потом сверху вниз? То есть построчно, как книгу читать?
Аватара пользователя

den_vish
освоился
освоился
Сообщения: 233
Зарегистрирован: 11 апр 2013, 13:22
Имя: Вишневский Денис
Благодарил (а): 10 раз
Поблагодарили: 12 раз

Принцип прохода программы Control Logix

Сообщение den_vish »

Андрей, давайте сделаем проще, вы кинете скрин программы, и мы его дружненько прочтем, на примере так сказать.
"- Знаешь, дружище, в чем истинный смысл второго закона термодинамики?
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5620
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 544 раза
Поблагодарили: 706 раз

Принцип прохода программы Control Logix

Сообщение Ryzhij »

Внутри одной и той же рутины теги изменяют свое значение сразу же, по мере исполнения программы. Прикол в том, что связь с процессором со стороны компа происходит абсолютно асинхронно. Поэтому кратковременные изменения тегов могут то фиксироваться на ПК, то не замечаются им.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Автор темы
Andrey 2014
осмотрелся
осмотрелся
Сообщения: 153
Зарегистрирован: 04 фев 2014, 14:52
Имя: Исаков Андрей Вячеславович
Благодарил (а): 2 раза

Принцип прохода программы Control Logix

Сообщение Andrey 2014 »

Ну вот, прикрепил этот участок программы. Есть тег Status, который принимает целочисленное значение в зависимости от того, какой аларм сработал. Его, естественно нужно обнулять, если значение вышло из аларма. То есть, по сути у меня моргание будет в данном случае?
Безымянный.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5620
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 544 раза
Поблагодарили: 706 раз

Принцип прохода программы Control Logix

Сообщение Ryzhij »

Да, будет моргание.
Чтобы этого избежать, строкой ниже скопируйте MOV-ом сформированное значение этого тега в другой, и его уже обабатывайте. Второй тег мельтешить уже не будет. Сбрасывать есть смысл первый, промежуточгный тег-заготовку.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Автор темы
Andrey 2014
осмотрелся
осмотрелся
Сообщения: 153
Зарегистрирован: 04 фев 2014, 14:52
Имя: Исаков Андрей Вячеславович
Благодарил (а): 2 раза

Принцип прохода программы Control Logix

Сообщение Andrey 2014 »

Сделал вот так, теперь моргать ничего не будет?
download/file.php?mode=view&id=4934
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5620
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 544 раза
Поблагодарили: 706 раз

Принцип прохода программы Control Logix

Сообщение Ryzhij »

Вынесите последний оператор Mov в отдельную "ступеньку", иначе, при невыполнении логических условий, у Вас ноль из временного тега в окончательный переписываться не будет. Тот так и останется с последним значением.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Автор темы
Andrey 2014
осмотрелся
осмотрелся
Сообщения: 153
Зарегистрирован: 04 фев 2014, 14:52
Имя: Исаков Андрей Вячеславович
Благодарил (а): 2 раза

Принцип прохода программы Control Logix

Сообщение Andrey 2014 »

Ryzhij писал(а): при невыполнении логических условий
Что значит эта фраза? Смотрел, думал, ничего не понял. Покатал этот кусок в эмуляторе, все нормально обновляется и переписывается. Поясните подробнее пожалуйста.

Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 5620
Зарегистрирован: 07 окт 2011, 09:12
Имя: Гаско Вячеслав Эриевич
Страна: Россия
город/регион: Рязань
Благодарил (а): 544 раза
Поблагодарили: 706 раз

Принцип прохода программы Control Logix

Сообщение Ryzhij »

У Вас есть два оператора -[\]-
Если хоть один из них не выполняется, то выходной тег не обновится.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Автор темы
Andrey 2014
осмотрелся
осмотрелся
Сообщения: 153
Зарегистрирован: 04 фев 2014, 14:52
Имя: Исаков Андрей Вячеславович
Благодарил (а): 2 раза

Принцип прохода программы Control Logix

Сообщение Andrey 2014 »

Понял, спасибо!
Ответить

Вернуться в «Средний уровень автоматизации (управляющий)»