Всем привет.
Помогите, Товарищи, сижу три часа не могу понять как в Step 7 (S7-1500) натянуть кучу байт из области %I на дата блок.
Поясню: есть шлюз протоколов Профинет-Модбас, данные из него складываются в области I и Q, теперь нужно 12 байт начиная с %IB512 перекинуть в дата блок чтобы бы они там превратились в 2 DINT и 2 INT.
Думаю POKE_BLK то, что нужно...
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Как натянуть блок байт из %I на DB
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 98
- Зарегистрирован: 21 мар 2023, 02:12
- Имя: Владимир
- Страна: РФ
- город/регион: Псков
- Благодарил (а): 2 раза
- Поблагодарили: 21 раз
Как натянуть блок байт из %I на DB
S7-1500 поддерживает Slice механизм. Такой пример должен заработать. Байты можете тасовать как хотите:
Если отключен оптимизированный доступ, то можно сделать объединение через инструкцию AT
Код: Выделить всё
"Data".DInt1.%B3 := "%IB512";
"Data".DInt1.%B2 := "%IB513";
"Data".DInt1.%B1 := "%IB514";
"Data".DInt1.%B0 := "%IB515";
"Data".DInt2.%B3 := "%IB516";
"Data".DInt2.%B2 := "%IB517";
"Data".DInt2.%B1 := "%IB518";
"Data".DInt2.%B0 := "%IB519";
"Data".Int1.%B1 := "%IB520";
"Data".Int1.%B0 := "%IB521";
"Data".Int2.%B1 := "%IB522";
"Data".Int2.%B0 := "%IB523";
-
- специалист
- Сообщения: 655
- Зарегистрирован: 19 фев 2019, 22:38
- Имя: Сергей
- Страна: Россия
- город/регион: Краснодар
- Благодарил (а): 20 раз
- Поблагодарили: 89 раз
Как натянуть блок байт из %I на DB
Ага, вспомнил что у сименса байты наоборот и...выходит что только так...