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

Рекламу на своём форуме мы не размещаем ни на каких условиях.

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

Ответить

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

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

Сообщение Kreadlling » 22 июн 2016, 12:04

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


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

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

Сообщение Михайло » 22 июн 2016, 19:18

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

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

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

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

Сообщение megavolt86 » 22 июн 2016, 20:56

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


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

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

Сообщение Kreadlling » 23 июн 2016, 11:17

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

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

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

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

Сообщение den_vish » 23 июн 2016, 12:13

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


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

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

Сообщение Kreadlling » 23 июн 2016, 12:39

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

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

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

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

Сообщение den_vish » 23 июн 2016, 13:11

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

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

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

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

Сообщение Siluet » 23 июн 2016, 13:20

Напишите программку:
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
авторитет
авторитет
Сообщения: 828
Зарегистрирован: 14 ноя 2013, 19:35
Имя: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 8 раз
Поблагодарили: 20 раз

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

Сообщение megavolt86 » 23 июн 2016, 13:21

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


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

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

Сообщение Kreadlling » 24 июн 2016, 10:23

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

Ответить