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

Создать иммитацию аналогового сигнала

Ответить

Автор темы
Kreadlling
здесь недавно
здесь недавно
Сообщения: 37
Зарегистрирован: 25 май 2016, 23:44
Имя: Евсюков Юрий Николаевич
Благодарил (а): 8 раз

Создать иммитацию аналогового сигнала

Сообщение Kreadlling »

Здравствуйте. Не подскажете как создать переменную типа Real, которая
бы иммитировала постоянный выход разных значений аналогового
сигнала каждую секунду (например random в диапазоне от 0 до 100)?

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

Создать иммитацию аналогового сигнала

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

Блин, у каждого контроллера свой набор инструкций. Что программируете? S7-200/300/400/1200/1500?
Аватара пользователя

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 65 раз

Создать иммитацию аналогового сигнала

Сообщение megavolt86 »

Kreadlling писал(а): котораябы иммитировала постоянный выход разных значений аналоговогосигнала каждую секунду
А для чего? Если для самообразования то могу вам посоветовать использовать простые математические функции - так принцип программирования лучше усваивается чем копировать чужие решения.
И второе вам аналоговый сигнал надо эмитировать или переменную типа реал?)))
:ext_secret:

Автор темы
Kreadlling
здесь недавно
здесь недавно
Сообщения: 37
Зарегистрирован: 25 май 2016, 23:44
Имя: Евсюков Юрий Николаевич
Благодарил (а): 8 раз

Создать иммитацию аналогового сигнала

Сообщение Kreadlling »

megavolt86 писал(а): И второе вам аналоговый сигнал
Аналоговый сигнал...
Аватара пользователя

den_vish
освоился
освоился
Сообщения: 233
Зарегистрирован: 11 апр 2013, 13:22
Имя: Вишневский Денис
Благодарил (а): 10 раз
Поблагодарили: 12 раз

Создать иммитацию аналогового сигнала

Сообщение den_vish »

megavolt86 писал(а): И второе вам аналоговый сигнал надо эмитировать или переменную типа реал?)))
хороший подвох в вопросе))
Kreadlling писал(а): Аналоговый сигнал...
уточните - вы хотите проверить как работают аналоговые входы на оборудовании физически, или все таки как отрабатывает программа при различных значениях некой абстрактной переменной, что бы отследить поведение программы и выловить баги, когда там появятся данные с датчика?
если последнее, то возможно вам будет достаточно и периодического изменения сигнала по допустим синусоидальному закону?
[+] ОФФ
Юрий Николаевич, не обижайтесь, но тут форум, такой, на четко поставленные вопросы получаем четко поставленные ответы,
я вон про футбол сформулировал вопрос, думал тема забурлит жизнью, ан нет, для это надо было задавать
крайне не четкий вопрос))))
"- Знаешь, дружище, в чем истинный смысл второго закона термодинамики?
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)

Автор темы
Kreadlling
здесь недавно
здесь недавно
Сообщения: 37
Зарегистрирован: 25 май 2016, 23:44
Имя: Евсюков Юрий Николаевич
Благодарил (а): 8 раз

Создать иммитацию аналогового сигнала

Сообщение Kreadlling »

den_vish писал(а): уточните - вы хотите проверить как работают аналоговые входы на оборудовании физически, или все таки как отрабатывает программа при различных значениях некой абстрактной переменной
Нет у меня задача посчитать средний расход за час, сутки и месяц от датчика расхода, который приблизительно каждую секунду показывает разный расход. Так как я программирую дома без реального датчика, то мне нужен симулятор датчика, чтобы проверить что программа нормально работает...
Аватара пользователя

den_vish
освоился
освоился
Сообщения: 233
Зарегистрирован: 11 апр 2013, 13:22
Имя: Вишневский Денис
Благодарил (а): 10 раз
Поблагодарили: 12 раз

Создать иммитацию аналогового сигнала

Сообщение den_vish »

вот такой вот генератор сигналов думаю поможет
написан на SCL, компилируем, задаем адреса переменных, закидываем в ОБ35 например
"- Знаешь, дружище, в чем истинный смысл второго закона термодинамики?
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)
Аватара пользователя

Siluet
здесь недавно
здесь недавно
Сообщения: 68
Зарегистрирован: 05 сен 2014, 13:17
Имя: Виталий Анатольевич Куроткин
Страна: РФ
город/регион: Москва
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Создать иммитацию аналогового сигнала

Сообщение Siluet »

Напишите программку:
valQ := constVal + A * sin(koef * T)
где:
valQ - сигнал датчика,
constVal - постоянный сигнал (примерно среднее значение датчика расхода)
A - амплитуда колебаний (A << constVal )
koef - циклическая частота (например 0.01)
T - переменная, которая меняется по таймеру T:=T+1 (например раз в секунду)

В этом случае у вас средний расход будет всегда постоянен и равен constVal, для проверки будет полезно
Рандом может быть не симметричный и не равномерный, и будет сложно понять работает Ваш алгоритм или нет
Последний раз редактировалось Siluet 23 июн 2016, 13:23, всего редактировалось 1 раз.
Аватара пользователя

megavolt86
эксперт
эксперт
Сообщения: 1172
Зарегистрирован: 14 ноя 2013, 20:35
Имя: Анатолий Сергеевич
Страна: Россия
город/регион: Башкортостан
Благодарил (а): 13 раз
Поблагодарили: 65 раз

Создать иммитацию аналогового сигнала

Сообщение megavolt86 »

Kreadlling писал(а): симулятор датчика, чтобы проверить что программа нормально работает
А как вы проверите правильно ли считает счетчик, если значения разные будут? Вы батенька неправильное решение задачи хотите организовать...на вход счетчика ставите константу, например 1 и за час у вас должно получиться 3600, если получилось то работает правильно, если нет, то ищите ошибку в математике. Еще учтите что расходомер передает часовой расход, из него вы должны получить мгновенный и уже им оперировать.
Если не поленитесь то можете поискать в недавних темах по сименсу кусок моего кода по реализации хозрасчета...может пригодиться
:ext_secret:

Автор темы
Kreadlling
здесь недавно
здесь недавно
Сообщения: 37
Зарегистрирован: 25 май 2016, 23:44
Имя: Евсюков Юрий Николаевич
Благодарил (а): 8 раз

Создать иммитацию аналогового сигнала

Сообщение Kreadlling »

Siluet писал(а): Напишите программку:valQ := constVal + A * sin(koef * T)где:valQ - сигнал датчика,constVal - постоянный сигнал (примерно среднее значение датчика расхода)A - амплитуда колебаний (A << constVal )koef - циклическая частота (например 0.01)T - переменная, которая меняется по таймеру T:=T+1 (например раз в секунду)
:ges_up: Спасибо большое буду пробовать
Ответить

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