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

Управление 3-мя битами на S7-1200

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)

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

Ответить

Автор темы
Dimition
здесь недавно
здесь недавно
Сообщения: 11
Зарегистрирован: 15 фев 2019, 16:56
Имя: Дмитрий
Страна: Россия
город/регион: Ростов-на-Дону
Благодарил (а): 6 раз

Управление 3-мя битами на S7-1200

Сообщение Dimition »

Добрый день!
Имеется регулятор давления, который управляется 3 битами. То есть у меня есть 2^3=8 состояний. Например, переключение на 2ое состояние будет выглядеть так: 001, 3ье: 010 и т.д., где , биты по сути - дискретные выходы (Q0.0/0.1/0.2).
Подскажите пожалуйста, как это реализовать в TIA Portal на языке FBD или другом. Идея через массивы (array) и т.д. Спасибо!

pkl58
завсегдатай
завсегдатай
Сообщения: 544
Зарегистрирован: 19 мар 2012, 20:04
Имя: Павел
Страна: Россия
Благодарил (а): 6 раз
Поблагодарили: 59 раз

Управление 3-мя битами на S7-1200

Сообщение pkl58 »

Ну так и передавайте нужную комбинацию в выходное слово. Сименс надеюсь это умеет.

Автор темы
Dimition
здесь недавно
здесь недавно
Сообщения: 11
Зарегистрирован: 15 фев 2019, 16:56
Имя: Дмитрий
Страна: Россия
город/регион: Ростов-на-Дону
Благодарил (а): 6 раз

Управление 3-мя битами на S7-1200

Сообщение Dimition »

Пытался выдавать нужные комбинации через операнды сравнения. В результате выдает криво, или совсем не выдает. Вопрос тогда иной, как правильно записать или запомнить нужную комбинацию. Что если будет 6 бит. То это уже 2^6=64 комбинации. Как сделать это автоматизированно. Связать Q0.0/0.1/0.2 с нужной комбинацией.

pkl58
завсегдатай
завсегдатай
Сообщения: 544
Зарегистрирован: 19 мар 2012, 20:04
Имя: Павел
Страна: Россия
Благодарил (а): 6 раз
Поблагодарили: 59 раз

Управление 3-мя битами на S7-1200

Сообщение pkl58 »

Обращение к выходным битам как к словам. Должно быть в одном месте в теле программы, желательно в конце. Так как применительно к выходным битам будет выполняться только последняя инструкция. то есть типа так:
1 Условие Если ( ваше условие 1 истина) То MOV 0 D0 // D0 - вспомогательное слово
2 Условие Если ( ваше условие 2 истина) То MOV 2 D0
---
8 Условие Если ( ваше условие 8 истина) То MOV 7 D0
Каждый цикл - MOV D0 QW ( QW - слово выходов )
Это самый простой вариант.
Если вдруг вы захотите использовать остальные биты в слове выходов то перед записью D0 в слово выходов нужно сделать сложение по маске.
Dimition писал(а): 10 апр 2020, 10:47 В результате выдает криво, или совсем не выдает.
Скриншот приложите

Михайло
эксперт
эксперт
Сообщения: 3643
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 8 раз
Поблагодарили: 286 раз

Управление 3-мя битами на S7-1200

Сообщение Михайло »

Формула:
Result = Input0 * 2^0 + Input1 * 2^1 + Input2 * 2^2
Ответить

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