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

Программа на FBD (Siemens) - пытаюсь понять...

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

Автор темы
VADR
администратор
администратор
Сообщения: 2412
Зарегистрирован: 25 июл 2008, 06:12
Ф.И.О.: Диев Александр Васильевич
Благодарил (а): 19 раз
Поблагодарили: 26 раз

Программа на FBD (Siemens) - пытаюсь понять...

Сообщение VADR » 25 дек 2015, 09:02

Здравствуйте, коллеги.

Самостоятельно пытаюсь изучить программирование симатиков, и дабы совместить полезное с полезным, ковыряю рабочий проект (задать вопросы разработчику не могу, поэтому взываю к мировому разуму). И вот столкнулся с языковыми конструкциями на FBD, которые понять не могу.

1. Вот такая конструкция. Если я правильно понял, здесь из слова берётся младший байт, сравнивается со значением 37, и если равно, по определённому адресу закидывается число 2. Если я правильно понимаю, это же самое можно сделать гораздо проще (учитывая, что аналогичных конструкций с другими константами ещё штук 5 в коде). Или есть какой-то глобальный смысл делать именно так?
screen1.jpg


2. И вот такая. Комментарии соответствуют реальности, в M199.0 всегда 1, в M199.1 - всегда 0. Мне кажется или эта конструкция и вправду никогда не сработает?
screen2.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.

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

erv_asutp
осмотрелся
осмотрелся
Сообщения: 108
Зарегистрирован: 25 авг 2015, 11:55
Ф.И.О.: Ефименко Роман Владимирович
Откуда: Днепропетровск
Поблагодарили: 7 раз

Re: Программа на FBD (Siemens) - пытаюсь понять...

Сообщение erv_asutp » 25 дек 2015, 09:25

Ну как бы "Что-то"&"0" всегда будет равно "0", остальное там уже ни к чему.

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

Автор темы
VADR
администратор
администратор
Сообщения: 2412
Зарегистрирован: 25 июл 2008, 06:12
Ф.И.О.: Диев Александр Васильевич
Благодарил (а): 19 раз
Поблагодарили: 26 раз

Re: Программа на FBD (Siemens) - пытаюсь понять...

Сообщение VADR » 25 дек 2015, 09:43

erv_asutp писал(а):Ну как бы "Что-то"&"0" всегда будет равно "0", остальное там уже ни к чему.

Я о том и говорю. Там ещё, кстати, "что-то или инвертированная 1", которая всегда даст "что-то", бывшее в начале (впрочем, да - следующий "и" сводит это на нет...). То есть, я правильно понимаю, что никаких скрытых смыслов в этих фрагментах нет и всё работает именно так, как это выглядит на первый взгляд?
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.

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

erv_asutp
осмотрелся
осмотрелся
Сообщения: 108
Зарегистрирован: 25 авг 2015, 11:55
Ф.И.О.: Ефименко Роман Владимирович
Откуда: Днепропетровск
Поблагодарили: 7 раз

Re: Программа на FBD (Siemens) - пытаюсь понять...

Сообщение erv_asutp » 25 дек 2015, 10:21

Ответы специалиста, которому я доверяю))

[9:14:49] Дмитрий Филь: второй блок - сбор по И и там переменная которая всегда ноль

[9:14:50] Дмитрий Филь: странная конструкция конечно...
[9:15:17] Дмитрий Филь: наверное что - то было написано, а потом исправлялось, вот и получается такая "петрушка"

[9:15:19] Дмитрий Филь: да уж... ну може оно так задумано? типа очень хитро закоментировали код ;)

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

Автор темы
VADR
администратор
администратор
Сообщения: 2412
Зарегистрирован: 25 июл 2008, 06:12
Ф.И.О.: Диев Александр Васильевич
Благодарил (а): 19 раз
Поблагодарили: 26 раз

Re: Программа на FBD (Siemens) - пытаюсь понять...

Сообщение VADR » 25 дек 2015, 12:29

Значит, дело не в том, что я что-то недопонял, а всё так и есть :lol:
Повторное использование кода не отменяет повторного использования мозга при его повторном использовании.


Михайло
почётный участник форума
почётный участник форума
Сообщения: 2229
Зарегистрирован: 10 ноя 2009, 04:58
Ф.И.О.: Толмачев Михаил Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 23 раза
Контактная информация:

Re: Программа на FBD (Siemens) - пытаюсь понять...

Сообщение Михайло » 25 дек 2015, 15:56

Что за блок "==0" на первом скриншоте?


agent_serg
здесь недавно
здесь недавно
Сообщения: 63
Зарегистрирован: 12 мар 2014, 15:43
Ф.И.О.: Сергей

Re: Программа на FBD (Siemens) - пытаюсь понять...

Сообщение agent_serg » 25 дек 2015, 17:10

VADR писал(а):Или есть какой-то глобальный смысл делать именно так?

Сколько раз разбирался в чужих программах, столько и находил подобные "висяки".
Скорее всего, это просто остатки от каких-то предыдущих задумок автора. Потом автор что-то переосмыслил, внёс изменения, кое-где подвесил нолики, кое-где единички. Иногда, так проще, чем вносить кучу изменений.

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

megavolt86
специалист
специалист
Сообщения: 630
Зарегистрирован: 14 ноя 2013, 19:35
Ф.И.О.: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 3 раза
Поблагодарили: 6 раз

Re: Программа на FBD (Siemens) - пытаюсь понять...

Сообщение megavolt86 » 25 дек 2015, 19:55

А извиняюсь, блок wand_w это логическое умножение слова? А wxor_w исключительно или для слова? Тыл бы степ 7 под рукой посмотрел бы хелп, но его нет а жутко интересно)))
:ext_secret:


petr2off
новенький
новенький
Сообщения: 2
Зарегистрирован: 06 янв 2016, 19:45
Ф.И.О.: Петров В.Л.

Программа на FBD (Siemens) - пытаюсь понять...

Сообщение petr2off » 06 янв 2016, 19:54

wand_w это побитовое логические И а wxor_w соответственно побитовое исключающее или


Вернуться в «ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)»



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

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