-----
18.11.2017 форум перенесён на другой хостинг. О замеченых глюках просьба сообщать администраторам.
-----
На форуме обязательно:
  1. Заполнить свой профиль на Русском языке. См. Правила, п.2.d.
  2. Не писать свой вопрос в первую попавшуюся тему, а вместо этого создать свою. См. Правила, п.3.a.
Рекламу на своём форуме мы не размещаем ни на каких условиях.

Есть куча DQ Siemens 32x24. Хочу сделать бегущий огонек.


Автор темы
Godygadu
здесь недавно
здесь недавно
Сообщения: 46
Зарегистрирован: 09 июн 2015, 13:02
Имя: C. С. Шак
Откуда: Инженер АСУ ТП
Поблагодарили: 2 раза

Есть куча DQ Siemens 32x24. Хочу сделать бегущий огонек.

Сообщение Godygadu » 06 сен 2016, 18:25

В общем здравствуйте. Вот лежат у меня штук 5 DQ 32x24 и хочу я с ними поиграться.
Хочу сделать бегущий огонек. Железо такое Siemens S7-315-2DP, DI 32x24, DQ 32x24. Проблема в том, что ума не приложу, как "простым" способом управлять большим количеством выходов. Например в Arduino можно использовать For Loop, но в Siemens как это сделать?
Прошу не пинать. Задача такая для себя и ради тренировки и обучения. Ну и для красоты, пока модули не понадобятся. :ext_book:

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

aranea
знаток Eplan
знаток Eplan
Сообщения: 678
Зарегистрирован: 21 сен 2012, 21:45
Имя: Воробьев Александр
Благодарил (а): 2 раза
Поблагодарили: 43 раза
Контактная информация:

Есть куча DQ Siemens 32x24. Хочу сделать бегущий огонек.

Сообщение aranea » 06 сен 2016, 19:26

ну так тренируйтесь и обучайтесь, читайте Бергера, хэлп и другую литературу по МЭК языкам программирования
если вам предоставят один или несколько реализаций - то какое вам от этого обучение?
Изображение

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

izhidkov
освоился
освоился
Сообщения: 276
Зарегистрирован: 25 фев 2016, 12:18
Имя: Жидков Игорь Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 6 раз
Контактная информация:

Есть куча DQ Siemens 32x24. Хочу сделать бегущий огонек.

Сообщение izhidkov » 06 сен 2016, 19:50

Инициализируете пару слов в стартовом блоке.
В циклическом прерывании сдвигайте эти слова (следите за переносом если хотите длинный огонек делать).
Далее копируете слово в область вывода.

Циклы вам не нужны, циклы в ПЛК плохо работают ))

Детали в step7
Компилятор - лучший друг человека!


Автор темы
Godygadu
здесь недавно
здесь недавно
Сообщения: 46
Зарегистрирован: 09 июн 2015, 13:02
Имя: C. С. Шак
Откуда: Инженер АСУ ТП
Поблагодарили: 2 раза

Есть куча DQ Siemens 32x24. Хочу сделать бегущий огонек.

Сообщение Godygadu » 06 сен 2016, 21:45

aranea писал(а):Источник цитаты ну так тренируйтесь и обучайтесь, читайте Бергера, хэлп и другую литературу по МЭК языкам программирования
если вам предоставят один или несколько реализаций - то какое вам от этого обучение?

Эх. Чуть вопрос касается Siemens, так сразу Бергер! Ну, читаю я его, а до этого оба курса serv1, serv2 и программирование в LAD S7-300. А практики маловато. Вот ставлю задачу перед собой и пытаюсь ее решить, когда не получается, то спрашиваю у тех кто знает.
izhidkov писал(а):Источник цитаты Инициализируете пару слов в стартовом блоке.
В циклическом прерывании сдвигайте эти слова (следите за переносом если хотите длинный огонек делать).
Далее копируете слово в область вывода.

Вот человек ответил. Спасибо. И Бергером не тычет, а подсказывает.

Теперь уточняющие вопросы:
1. Пару слов? Это в таблице ПЛК, сделать переменную типа DWord?
2. В циклическом прерывании - это в ROR_DW?
3. А копировать слово при помощи MOVE?
4. Область вывода - это в Q?

Я так понял или нет?

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

megavolt86
авторитет
авторитет
Сообщения: 820
Зарегистрирован: 14 ноя 2013, 19:35
Имя: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 8 раз
Поблагодарили: 20 раз

Есть куча DQ Siemens 32x24. Хочу сделать бегущий огонек.

Сообщение megavolt86 » 07 сен 2016, 04:50

Godygadu писал(а):Источник цитаты Вот ставлю задачу перед собой и пытаюсь ее решить, когда не получается, то спрашиваю

А как вы научитесь логически мыслить?)))
Главное это понимать и представлять как это должно работать...если в голове не получается, то можете на бумаге блок-схему нарисовать и по ней разрабатывать программу.

Я впервые сев за степ7 для тренировки сделал бегущий огонек на 32-канальном модуле. Работает от двух тумблеров: От одного огонек начинает бегать, от второго выбиралось направление движения. Делал не через сдвиг, а через инкремент/декремент int меркера по тактовому биту, далее в зависимости от значения этой переменной загорался нужный огонек.

Поинтереснее задачка - сделать счетчик на семисегментном индикаторе работающем от до-модуля
:ext_secret:


Автор темы
Godygadu
здесь недавно
здесь недавно
Сообщения: 46
Зарегистрирован: 09 июн 2015, 13:02
Имя: C. С. Шак
Откуда: Инженер АСУ ТП
Поблагодарили: 2 раза

Есть куча DQ Siemens 32x24. Хочу сделать бегущий огонек.

Сообщение Godygadu » 07 сен 2016, 07:56

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

Мне хочется и универсальности и плавности. Ну захотелось и теперь решаю эту задачу. :roll:

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

megavolt86
авторитет
авторитет
Сообщения: 820
Зарегистрирован: 14 ноя 2013, 19:35
Имя: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 8 раз
Поблагодарили: 20 раз

Есть куча DQ Siemens 32x24. Хочу сделать бегущий огонек.

Сообщение megavolt86 » 07 сен 2016, 10:25

А какие эффекты нужны для лампочек? В чем плавность заключается?
Скорость меняется заменой тактовогобита...
:ext_secret:


Автор темы
Godygadu
здесь недавно
здесь недавно
Сообщения: 46
Зарегистрирован: 09 июн 2015, 13:02
Имя: C. С. Шак
Откуда: Инженер АСУ ТП
Поблагодарили: 2 раза

Есть куча DQ Siemens 32x24. Хочу сделать бегущий огонек.

Сообщение Godygadu » 07 сен 2016, 11:36

Ну, эффекты - это когда лампочки загораются по-одной, потом все сразу, потом тухнут по-одной, ну и как фантазия разыграется. Я хочу практиковаться. Вот и придумываю себе задачки "поинтереснее". Мне бы саму логику понять работы. В процесс вникнуть и запомнить. Вот так я учусь. :ext_book:


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

Есть куча DQ Siemens 32x24. Хочу сделать бегущий огонек.

Сообщение Михайло » 07 сен 2016, 16:57

Надо начать с постановки задачи. Ну допустим, задача: светодиоды должны загораться "по кругу", горит светодиод 1, затем 2, ..., светодиод 32 и снова светодиод 1, ... С регулируемой частотой. Вопрос: какое минимальное время переключения светодиодов может быть достигнуто надежно, без "зависаний", "тормозов"?

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

megavolt86
авторитет
авторитет
Сообщения: 820
Зарегистрирован: 14 ноя 2013, 19:35
Имя: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 8 раз
Поблагодарили: 20 раз

Есть куча DQ Siemens 32x24. Хочу сделать бегущий огонек.

Сообщение megavolt86 » 07 сен 2016, 18:10

Godygadu писал(а):Источник цитаты лампочки загораются по-одной, потом все сразу, потом тухнут по-одной

Таки это не бегущий огонек)))

Я вижу решение так:
Создаете два int меркера: Один степень двойки, второй-накопленное значение.
По тактовому биту происходит инкремент/декремент степени, а на следующем действии вычисляется сумма накопленного значения и двойки в ранее полученной степени. Далее преобразуете накопленное значение в bcd и присваиваете полученное значение слову выхода...

Человек учится на ошибках а не на примерах...как нибудь уж сами пробуйте решить задачи, полезнее будет.
:ext_secret: