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

Массив на FBD

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
Ответить

Автор темы
Ivydy
здесь недавно
здесь недавно
Сообщения: 45
Зарегистрирован: 28 апр 2015, 17:19
Имя: Петров Артем Олегович
Благодарил (а): 9 раз

Массив на FBD

Сообщение Ivydy »

Здравствуйте. Стоит задача:

Фрагмент программы на SCL переведите на FBD
Пусть, необходимо считать слова с PIW 128 по PIW 142 из области
периферии в область меркеров в слова с MW 128 по MW 142.

FOR i := 128 TO 142 BY 2 DO
MW(i) := PIW(i);
END_FOR;

Подскажите как её можно осуществить или хотя бы как работать с массивами на языке FBD? Спасибо

Vozzhd
здесь недавно
здесь недавно
Сообщения: 19
Зарегистрирован: 11 дек 2019, 08:36
Имя: Артём
Страна: Россляндия
Благодарил (а): 2 раза
Поблагодарили: 2 раза

Массив на FBD

Сообщение Vozzhd »

Хмм, ну есть задача стоит просто это выражение в FBD записать, то можно просто через MOVE\MOVEBLCK скинуть значения в DB указывая адрес. А так - в 1200/1500 есть команды типа Serialize/Deserialize связанные с массивамим, если мне память не изменяет.
Добро пожаловать отсюда.

Автор темы
Ivydy
здесь недавно
здесь недавно
Сообщения: 45
Зарегистрирован: 28 апр 2015, 17:19
Имя: Петров Артем Олегович
Благодарил (а): 9 раз

Массив на FBD

Сообщение Ivydy »

Vozzhd писал(а): 16 ноя 2020, 13:59 Хмм, ну есть задача стоит просто это выражение в FBD записать, то можно просто через MOVE\MOVEBLCK скинуть значения в DB указывая адрес. А так - в 1200/1500 есть команды типа Serialize/Deserialize связанные с массивамим, если мне память не изменяет.
имеется в виду что надо реализовать на FBD цикл For для PIW и для MW. Просто всю жизнь работал только на St. Возникла необходимость на FBD. И не знаю даже как подступиться..

POV
корифей
корифей
Сообщения: 768
Зарегистрирован: 12 авг 2008, 11:05
Имя: Патрушев Олег Валерьевич
Страна: Россия
город/регион: г. Н.Новгород
Благодарил (а): 105 раз
Поблагодарили: 146 раз

Массив на FBD

Сообщение POV »

Что мешает вставить код (1-2 network) на st в модуль написанный на FBD?
Скомпилируйте код из SCL и возьмите из полученного кода (еще как вариант, можно его оптимизировать, если компилятор как обычно сложно сделает)

Автор темы
Ivydy
здесь недавно
здесь недавно
Сообщения: 45
Зарегистрирован: 28 апр 2015, 17:19
Имя: Петров Артем Олегович
Благодарил (а): 9 раз

Массив на FBD

Сообщение Ivydy »

POV писал(а): 16 ноя 2020, 17:45 Что мешает вставить код (1-2 network) на st в модуль написанный на FBD?
Скомпилируйте код из SCL и возьмите из полученного кода (еще как вариант, можно его оптимизировать, если компилятор как обычно сложно сделает)
Задание такое - сделать только на FBD. А так, конечно, ничего не мешает)

winb
освоился
освоился
Сообщения: 248
Зарегистрирован: 31 янв 2017, 08:44
Имя: Маркушин Андрей Геннадьевич
Страна: Россия
город/регион: Нижегородская обл., Выкса
Благодарил (а): 19 раз
Поблагодарили: 64 раза

Массив на FBD

Сообщение winb »

Контроллер-то какой? S7-300/400 не поддерживает динамический индекс массивов, так что на LAD/FBD смысла в решении задачи нет. Для 1500 - стандартный цикл на джампах

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

Массив на FBD

Сообщение stesl »

Ivydy, цикл FOR - непонятно, а если цикл REPEAT UNTIL? ;)
Проверка условия в конце, если нет - jump на метку, ну и там inc(i)

Что за дурацкий экзамен, не понимаю, если честно ) Я наоборот пользуюсь SCL для создания циклов, ибо там все наглядно и понятно. FBD для логики.
Я так рассуждаю - если без GOTO не обойтись, значит это неверный подход ;)

Автор темы
Ivydy
здесь недавно
здесь недавно
Сообщения: 45
Зарегистрирован: 28 апр 2015, 17:19
Имя: Петров Артем Олегович
Благодарил (а): 9 раз

Массив на FBD

Сообщение Ivydy »

stesl писал(а): 18 ноя 2020, 09:22 Ivydy, цикл FOR - непонятно, а если цикл REPEAT UNTIL? ;)
Проверка условия в конце, если нет - jump на метку, ну и там inc(i)

Что за дурацкий экзамен, не понимаю, если честно ) Я наоборот пользуюсь SCL для создания циклов, ибо там все наглядно и понятно. FBD для логики.
Я так рассуждаю - если без GOTO не обойтись, значит это неверный подход ;)
про ПЛК ничего не сказано. Я делаю в TIA Portal на s7-1200. По поводу того, что экзамен дурацкий, вынужден согласиться. Сам всегда пишу чисто на scl. Но такое условие.

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

Массив на FBD

Сообщение stesl »

Ivydy писал(а): 18 ноя 2020, 10:05 про ПЛК ничего не сказано
А я про ПЛК ничего не говорю ) SCL по сути - Pascal, не знаю как в других языках, но в Паскале цикл Repeat/Until есть. Я к тому, если Вы посыл не поняли.
А SCL хорош до того момента, пока ошибок не начали делать трудноуловимых. Я так и не разобрался как там можно мониторить исполнение. Зато в FBD - очечи надел и все прекрасно видно )

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

Массив на FBD

Сообщение v0v »

Посмотрите пример косвенной адресации, который можно перевести в FBD. Единственная команда - последняя, организация цикла (LOOP) в FBD не конвертируется.

_reso_
Сообщения: 2
Зарегистрирован: 17 сен 2020, 14:21
Имя: Владимир
Страна: Россия
город/регион: Липецк

Массив на FBD

Сообщение _reso_ »

Делается довольно легко. Мы делали такое в LAD, все операторы для циклов доступны, только надо шаг менять считывания по 2
Ответить

Вернуться в «Simatic TIA Portal»