Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

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

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

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

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

Сообщение Andrey 2014 » 24 май 2016, 10:33

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

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

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

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

Сообщение den_vish » 24 май 2016, 12:10

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


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

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

Сообщение Andrey 2014 » 24 май 2016, 14:01

den_vish писал(а):Источник цитаты слева на право, сверху вниз

Сначала слева направо, а потом сверху вниз? То есть построчно, как книгу читать?

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

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

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

Сообщение den_vish » 24 май 2016, 14:58

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


Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 2569
Зарегистрирован: 07 окт 2011, 08:12
Ф.И.О.: Гаско Вячеслав Эриевич
Откуда: Рязань, Россия
Благодарил (а): 43 раза
Поблагодарили: 71 раз

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

Сообщение Ryzhij » 24 май 2016, 21:35

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


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

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

Сообщение Andrey 2014 » 25 май 2016, 09:55

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


Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 2569
Зарегистрирован: 07 окт 2011, 08:12
Ф.И.О.: Гаско Вячеслав Эриевич
Откуда: Рязань, Россия
Благодарил (а): 43 раза
Поблагодарили: 71 раз

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

Сообщение Ryzhij » 26 май 2016, 23:49

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


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

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

Сообщение Andrey 2014 » 28 май 2016, 09:16

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


Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 2569
Зарегистрирован: 07 окт 2011, 08:12
Ф.И.О.: Гаско Вячеслав Эриевич
Откуда: Рязань, Россия
Благодарил (а): 43 раза
Поблагодарили: 71 раз

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

Сообщение Ryzhij » 28 май 2016, 15:25

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


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

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

Сообщение Andrey 2014 » 29 май 2016, 11:07

Ryzhij писал(а):Источник цитаты при невыполнении логических условий

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


Ryzhij
почётный участник форума
почётный участник форума
Сообщения: 2569
Зарегистрирован: 07 окт 2011, 08:12
Ф.И.О.: Гаско Вячеслав Эриевич
Откуда: Рязань, Россия
Благодарил (а): 43 раза
Поблагодарили: 71 раз

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

Сообщение Ryzhij » 29 май 2016, 12:30

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


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

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

Сообщение Andrey 2014 » 29 май 2016, 16:09

Понял, спасибо!


Вернуться в «Средний уровень автоматизации»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей