- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Программа на FBD (Siemens) - пытаюсь понять...
Модератор: Глоб.модераторы
-
- администратор
- Сообщения: 4925
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 245 раз
- Поблагодарили: 426 раз
Программа на FBD (Siemens) - пытаюсь понять...
Здравствуйте, коллеги.
Самостоятельно пытаюсь изучить программирование симатиков, и дабы совместить полезное с полезным, ковыряю рабочий проект (задать вопросы разработчику не могу, поэтому взываю к мировому разуму). И вот столкнулся с языковыми конструкциями на FBD, которые понять не могу.
1. Вот такая конструкция. Если я правильно понял, здесь из слова берётся младший байт, сравнивается со значением 37, и если равно, по определённому адресу закидывается число 2. Если я правильно понимаю, это же самое можно сделать гораздо проще (учитывая, что аналогичных конструкций с другими константами ещё штук 5 в коде). Или есть какой-то глобальный смысл делать именно так? 2. И вот такая. Комментарии соответствуют реальности, в M199.0 всегда 1, в M199.1 - всегда 0. Мне кажется или эта конструкция и вправду никогда не сработает?
Самостоятельно пытаюсь изучить программирование симатиков, и дабы совместить полезное с полезным, ковыряю рабочий проект (задать вопросы разработчику не могу, поэтому взываю к мировому разуму). И вот столкнулся с языковыми конструкциями на FBD, которые понять не могу.
1. Вот такая конструкция. Если я правильно понял, здесь из слова берётся младший байт, сравнивается со значением 37, и если равно, по определённому адресу закидывается число 2. Если я правильно понимаю, это же самое можно сделать гораздо проще (учитывая, что аналогичных конструкций с другими константами ещё штук 5 в коде). Или есть какой-то глобальный смысл делать именно так? 2. И вот такая. Комментарии соответствуют реальности, в M199.0 всегда 1, в M199.1 - всегда 0. Мне кажется или эта конструкция и вправду никогда не сработает?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
-
- осмотрелся
- Сообщения: 125
- Зарегистрирован: 25 авг 2015, 11:55
- Имя: Ефименко Роман Владимирович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 1 раз
- Поблагодарили: 17 раз
Re: Программа на FBD (Siemens) - пытаюсь понять...
Ну как бы "Что-то"&"0" всегда будет равно "0", остальное там уже ни к чему.
-
- администратор
- Сообщения: 4925
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 245 раз
- Поблагодарили: 426 раз
Re: Программа на FBD (Siemens) - пытаюсь понять...
Я о том и говорю. Там ещё, кстати, "что-то или инвертированная 1", которая всегда даст "что-то", бывшее в начале (впрочем, да - следующий "и" сводит это на нет...). То есть, я правильно понимаю, что никаких скрытых смыслов в этих фрагментах нет и всё работает именно так, как это выглядит на первый взгляд?erv_asutp писал(а):Ну как бы "Что-то"&"0" всегда будет равно "0", остальное там уже ни к чему.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
-
- осмотрелся
- Сообщения: 125
- Зарегистрирован: 25 авг 2015, 11:55
- Имя: Ефименко Роман Владимирович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 1 раз
- Поблагодарили: 17 раз
Re: Программа на FBD (Siemens) - пытаюсь понять...
Ответы специалиста, которому я доверяю))
[9:14:49] Дмитрий Филь: второй блок - сбор по И и там переменная которая всегда ноль
[9:14:50] Дмитрий Филь: странная конструкция конечно...
[9:15:17] Дмитрий Филь: наверное что - то было написано, а потом исправлялось, вот и получается такая "петрушка"
[9:15:19] Дмитрий Филь: да уж... ну може оно так задумано? типа очень хитро закоментировали код ;)
-
- администратор
- Сообщения: 4925
- Зарегистрирован: 25 июл 2008, 07:12
- Имя: Диев Александр Васильевич
- Страна: Россия
- город/регион: г. Сегежа, Карелия
- Благодарил (а): 245 раз
- Поблагодарили: 426 раз
Re: Программа на FBD (Siemens) - пытаюсь понять...
Значит, дело не в том, что я что-то недопонял, а всё так и есть
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.
-
- здесь недавно
- Сообщения: 94
- Зарегистрирован: 12 мар 2014, 16:43
- Имя: Сергей
- Поблагодарили: 1 раз
Re: Программа на FBD (Siemens) - пытаюсь понять...
Сколько раз разбирался в чужих программах, столько и находил подобные "висяки".VADR писал(а):Или есть какой-то глобальный смысл делать именно так?
Скорее всего, это просто остатки от каких-то предыдущих задумок автора. Потом автор что-то переосмыслил, внёс изменения, кое-где подвесил нолики, кое-где единички. Иногда, так проще, чем вносить кучу изменений.
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
Re: Программа на FBD (Siemens) - пытаюсь понять...
А извиняюсь, блок wand_w это логическое умножение слова? А wxor_w исключительно или для слова? Тыл бы степ 7 под рукой посмотрел бы хелп, но его нет а жутко интересно)))
-
- эксперт
- Сообщения: 1743
- Зарегистрирован: 06 янв 2016, 19:45
- Имя: Петров В.Л.
- Страна: Россия
- город/регион: Красноярск
- Благодарил (а): 79 раз
- Поблагодарили: 236 раз
Программа на FBD (Siemens) - пытаюсь понять...
wand_w это побитовое логические И а wxor_w соответственно побитовое исключающее или