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

Как работает логический элемент И если у него один вход?

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

Ответить

Автор темы
DzmitryM
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 26 сен 2022, 12:43
Имя: Дмитрий
Страна: Беларусь
город/регион: Minsk
Поблагодарили: 2 раза

Как работает логический элемент И если у него один вход?

Сообщение DzmitryM »

Как работает элемент И если у него один вход?
IMG_20220926_125111.jpg
Мне разбирающийся человек сказал, что это просто повторяется сигнал.
Но я немного сомневаюсь, так тогда огромные куски кода все время не задействованы.
Как вариант, я предполагаю, что в качестве отсутствующего операнда используется значение RLO
У вас нет необходимых прав для просмотра вложений в этом сообщении.

NewOrdered
осмотрелся
осмотрелся
Сообщения: 169
Зарегистрирован: 24 янв 2018, 11:18
Имя: Антон
Страна: Россия
город/регион: Калининград
Благодарил (а): 26 раз
Поблагодарили: 27 раз

Как работает логический элемент И если у него один вход?

Сообщение NewOrdered »

DzmitryM, не помню точно, но вроде бы RLO начинает "собираться" заново, если была операция присвоения (=, S, R). Но это в STL. А тут похоже на первичную проверку операнда (опять же аналог A в STL).

Отправлено спустя 1 минуту 31 секунду:
А кстати как выглядит этот нетворк, если переключится в STL?

Автор темы
DzmitryM
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 26 сен 2022, 12:43
Имя: Дмитрий
Страна: Беларусь
город/регион: Minsk
Поблагодарили: 2 раза

Как работает логический элемент И если у него один вход?

Сообщение DzmitryM »

А кстати как выглядит этот нетворк, если переключится в STL?
У вас нет необходимых прав для просмотра вложений в этом сообщении.

NewOrdered
осмотрелся
осмотрелся
Сообщения: 169
Зарегистрирован: 24 янв 2018, 11:18
Имя: Антон
Страна: Россия
город/регион: Калининград
Благодарил (а): 26 раз
Поблагодарили: 27 раз

Как работает логический элемент И если у него один вход?

Сообщение NewOrdered »

DzmitryM, в данном случае похоже что в нетворке 55 значение RLO = true будет вызывать "прыжок" на метку M021

AlexandrGr
не первый раз у нас
не первый раз у нас
Сообщения: 306
Зарегистрирован: 26 май 2022, 12:10
Имя: Александр
Страна: Россия
город/регион: lipetsk
Благодарил (а): 5 раз
Поблагодарили: 28 раз

Как работает логический элемент И если у него один вход?

Сообщение AlexandrGr »

Зачем гадать? Проверьте в симуляторе.

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

Как работает логический элемент И если у него один вход?

Сообщение v0v »

DzmitryM писал(а): 26 сен 2022, 12:54 Как работает элемент И если у него один вход?
Не понимаю к чему этот вопрос. Это просто NO контакт. Если Вы хотели что бы было все логично раз это "И" воткните еще один контакт всегда включено.
В LADе так часто делают для включения нескольких выходов в одном нетвоке.

NewOrdered
осмотрелся
осмотрелся
Сообщения: 169
Зарегистрирован: 24 янв 2018, 11:18
Имя: Антон
Страна: Россия
город/регион: Калининград
Благодарил (а): 26 раз
Поблагодарили: 27 раз

Как работает логический элемент И если у него один вход?

Сообщение NewOrdered »

v0v писал(а): 27 сен 2022, 11:59 воткните еще один контакт всегда включено.
Так там имя операнда позволяет предположить, что он и есть этот самый "always on".

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

Как работает логический элемент И если у него один вход?

Сообщение Ryzhij »

Мы имеем просто проверку состояния бита для выполнения условного перехода. И всё.

Отправлено спустя 4 минуты 21 секунду:
NewOrdered писал(а): 27 сен 2022, 12:26 Так там имя операнда позволяет предположить, что он и есть этот самый "always on".
Это даёт нам заготовку под условие в будущем. Например, так часто делают, когда агрегат может быть встроен в производственную цепочку автоматической линии или опционально оснащается вспомогательными механизмами.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

Автор темы
DzmitryM
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 26 сен 2022, 12:43
Имя: Дмитрий
Страна: Беларусь
город/регион: Minsk
Поблагодарили: 2 раза

Как работает логический элемент И если у него один вход?

Сообщение DzmitryM »

Так в том то и дело, что "General".TRUE_BIT всегда True, соответственно код всегда будет переходить на метку M021 пропуская очень-очень много кода.
Ладно, надо будет изучать среду и смотреть в эмуляторе.

stesl
эксперт
эксперт
Сообщения: 1035
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 100 раз
Поблагодарили: 141 раз

Как работает логический элемент И если у него один вход?

Сообщение stesl »

Такое одноногое И автоматически ставится в FBD при создании, например, бит такой то Set бит такой то и последующем сохранении. Считаю, что смысла сакрального в нем нет. Предполагаю, что это для совместимости языков. Для переключения FBD/STL/LAD

Автор темы
DzmitryM
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 26 сен 2022, 12:43
Имя: Дмитрий
Страна: Беларусь
город/регион: Minsk
Поблагодарили: 2 раза

Как работает логический элемент И если у него один вход?

Сообщение DzmitryM »

Исходная моя версия операции И между операндом и значением RLO была верна
IMG_20220927_151253.jpg
IMG_20220927_151335.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.

stesl
эксперт
эксперт
Сообщения: 1035
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 100 раз
Поблагодарили: 141 раз

Как работает логический элемент И если у него один вход?

Сообщение stesl »

DzmitryM писал(а): 27 сен 2022, 15:20 Исходная моя версия операции И между операндом и значением RLO была верна
А причем тут RLO? В представленном коде, если бит в DB взведен, то происходит переход по метке. Вообще не понимаю о чем сыр бор.
Более того, уверен, что И там появился после вставки JMP, привязок и сохранения.
Как на LAD такое выглядеть будет? NO - JMP. Вот FBD и подставляет бесполезный, по сути И. Для совместимости.

NewOrdered
осмотрелся
осмотрелся
Сообщения: 169
Зарегистрирован: 24 янв 2018, 11:18
Имя: Антон
Страна: Россия
город/регион: Калининград
Благодарил (а): 26 раз
Поблагодарили: 27 раз

Как работает логический элемент И если у него один вход?

Сообщение NewOrdered »

stesl писал(а): 28 сен 2022, 02:23 А причем тут RLO?

при том что в общем случае инструкция A комбинирует значение операнда и RLO, если перед этим не было например операции присвоения (=, S, R). А если была - то происходит первичная проверка операнда.

Отправлено спустя 45 минут 27 секунд:
DzmitryM писал(а): 27 сен 2022, 14:35 код всегда будет переходить на метку M021 пропуская очень-очень много кода
как уже сказали выше, это вполне возможно в случае, например, опционального или не введенного в эксплуатацию оборудования.

stesl
эксперт
эксперт
Сообщения: 1035
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 100 раз
Поблагодарили: 141 раз

Как работает логический элемент И если у него один вход?

Сообщение stesl »

NewOrdered писал(а): 28 сен 2022, 09:15 при том что в общем случае инструкция A комбинирует значение операнда и RLO, если перед этим не было например операции присвоения (=, S, R). А если была - то происходит первичная проверка операнда.
И какое это имеет значение в этом конкретном куске кода? Я не программирую на STL и понятия не имею о RLO, кроме его существования. Зачем эти сложные умозаключения, когда все на поверхности?
NewOrdered писал(а): 28 сен 2022, 09:15 это вполне возможно в случае, например, опционального или не введенного в эксплуатацию оборудования.
Это вполне возможно хоть в случае чего. Программист так запрограммировал. Не учился в ВУЗах, не знает, что GOTO табу ;)

NewOrdered
осмотрелся
осмотрелся
Сообщения: 169
Зарегистрирован: 24 янв 2018, 11:18
Имя: Антон
Страна: Россия
город/регион: Калининград
Благодарил (а): 26 раз
Поблагодарили: 27 раз

Как работает логический элемент И если у него один вход?

Сообщение NewOrdered »

stesl писал(а): 28 сен 2022, 11:11 Зачем эти сложные умозаключения, когда все на поверхности?
ах, пардоньте за флуд

stesl
эксперт
эксперт
Сообщения: 1035
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 100 раз
Поблагодарили: 141 раз

Как работает логический элемент И если у него один вход?

Сообщение stesl »

NewOrdered писал(а): 28 сен 2022, 11:33 ах, пардоньте за флуд
Без претензий, коллега )) Возможно и я недоучка ;) Но суть топика простая. Человек запереживал, что у него куча кода не исполнится ;))
Но тут уж либо верить предыдущему прогеру, либо с головою в код окунаться.

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

Как работает логический элемент И если у него один вход?

Сообщение Ryzhij »

stesl писал(а): 28 сен 2022, 11:11 Программист так запрограммировал. Не учился в ВУЗах, не знает, что GOTO табу ;)
Табу и моветон на языках высокого уровня с возможностями объектно-ориентированного программирования.
IL и STL@Siemens (не путать с ST@IEC !!!) такими языками не являются.
---------------------------------------------------
«У человека в душе дыра размером с Бога, и каждый заполняет её как может.» (Жан-Поль Сартр)
"Ту пустоту, которая остаётся в душе, когда в ней нет Бога, и весь мир не может заполнить." (святитель Николай Сербский)

stesl
эксперт
эксперт
Сообщения: 1035
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 100 раз
Поблагодарили: 141 раз

Как работает логический элемент И если у него один вход?

Сообщение stesl »

Ryzhij писал(а): 28 сен 2022, 13:45 с возможностями объектно-ориентированного программирования
ООП тут не причем. В Pascal GOTO уже нет. И это дискуссия на тему яйцо и курица. Доказано, что без GOTO можно обойтись. Выкинули его из языков. Но находятся адепты, которые готовы доказывать, что GOTO не только нужен, но и не заменим. Конкретно я никакую сторону не поддерживаю. Есть в языке возможность перехода по метке, и ты не можешь понять, как сделать иначе, значит пользуем GOTO. Но никому не говорим ;))

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

Как работает логический элемент И если у него один вход?

Сообщение Ryzhij »

stesl писал(а): 29 сен 2022, 06:42 И это дискуссия на тему яйцо и курица.
Часто это спор теоретиков и практиков.
В 90-х у меня был опыт переделки программы тестирования микропроцессорного блока на ассемблере для Z80. Целью работы было уйти от конструкций CALL/RETURN в сторону коротких JMP.
Причина - первый вариант использует стек в ОЗУ, а второй обходится регистрами ЦПУ.
Программа, повторю, тестовая, располагалась в ПЗУ, и при сбойном ОЗУ должна была не зависать, а выдавать результат.

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

Автор темы
DzmitryM
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 26 сен 2022, 12:43
Имя: Дмитрий
Страна: Беларусь
город/регион: Minsk
Поблагодарили: 2 раза

Как работает логический элемент И если у него один вход?

Сообщение DzmitryM »

stesl писал(а): 28 сен 2022, 11:11Зачем эти сложные умозаключения, когда все на поверхности?
Не на поверхности.
Я показывал этот код трем программистам и они говорили, что это просто переход по метке по соответствующему условию, и что всегда огромный кусок кода будет пропускаться. Что RLO тут не причем. Два из них только слышали что есть RLO
По факту в данном случае в логической операции И одним из операндом всегда является True ("General".TRUE_BIT всегда True), вторым- результат RLO.

И разбор переходов по меткам на таком большом количестве кода действительно оказался адом. JMP- зло

stesl
эксперт
эксперт
Сообщения: 1035
Зарегистрирован: 31 мар 2018, 12:05
Имя: Вячеслав
Благодарил (а): 100 раз
Поблагодарили: 141 раз

Как работает логический элемент И если у него один вход?

Сообщение stesl »

DzmitryM писал(а): 13 окт 2022, 12:51 По факту в данном случае в логической операции И одним из операндом всегда является True ("General".TRUE_BIT всегда True), вторым- результат RLO.
Вам это, конкретно, зачем? Есть он этот 3й операнд нет его... Этот кусок кода сделает Goto при условии таком то. Всё, больше никогда и ничего делать он не будет. Сами инженеры Симатик, видимо избавляет вас от лишних размышлений, но нет - надо вникнуть. Разобраться)))
Скоро на 2ю страницу темы пойдём ;)

И ладно были бы какие то подводные камни, но нет их.
Такого не встречали?

Код: Выделить всё

IF true then
//100 строк кода
Else 
//ещё 100 строк
End_if;
Всё зависит от конкретного программиста. Вот тут - зачем он писал "ещё 100 строк" не понятно :lol:

NewOrdered
осмотрелся
осмотрелся
Сообщения: 169
Зарегистрирован: 24 янв 2018, 11:18
Имя: Антон
Страна: Россия
город/регион: Калининград
Благодарил (а): 26 раз
Поблагодарили: 27 раз

Как работает логический элемент И если у него один вход?

Сообщение NewOrdered »

stesl писал(а): 28 сен 2022, 11:11 Я не программирую на STL и понятия не имею о RLO
Ваше право. Позвольте тогда топикстартеру самому (и с помощью коллег на форуме) разобраться во всех тонкостях выполнения определенных инструкций, без ремарок "а зачем вам это, тут и так все понятно"
Если ему работать с этим кодом, то он должен понимать его досконально.

Автор темы
DzmitryM
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 26 сен 2022, 12:43
Имя: Дмитрий
Страна: Беларусь
город/регион: Minsk
Поблагодарили: 2 раза

Как работает логический элемент И если у него один вход?

Сообщение DzmitryM »

stesl писал(а): 14 окт 2022, 01:24 Вам это, конкретно, зачем? Есть он этот 3й операнд нет его... Этот кусок кода сделает Goto при условии таком то.
Ау! Вопрос был как как работает элемент И с одним входом. Все, точка.
Я понял как он работает. Вы- возможно не поняли. (
"А причем тут RLO"
).
Все, тема закрыта. Всем спасибо
Аватара пользователя

aranea
знаток Eplan
знаток Eplan
Сообщения: 1136
Зарегистрирован: 21 сен 2012, 22:45
Имя: aranea
Благодарил (а): 30 раз
Поблагодарили: 165 раз

Как работает логический элемент И если у него один вход?

Сообщение aranea »

DzmitryM писал(а): 16 окт 2022, 17:30 Я понял как он работает
поделитесь, пожалуйста знаниями, RLO там и всё остальное
2022-10-16_23-03-26.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение

Автор темы
DzmitryM
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 26 сен 2022, 12:43
Имя: Дмитрий
Страна: Беларусь
город/регион: Minsk
Поблагодарили: 2 раза

Как работает логический элемент И если у него один вход?

Сообщение DzmitryM »

aranea, исчерпывающе грамотно и кратко специалист написал
NewOrdered писал(а): 28 сен 2022, 09:15 в общем случае инструкция A комбинирует значение операнда и RLO, если перед этим не было например операции присвоения (=, S, R). А если была - то происходит первичная проверка операнда.
Ответить

Вернуться в «Общие вопросы»