- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Создать иммитацию аналогового сигнала
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 37
- Зарегистрирован: 25 май 2016, 23:44
- Имя: Евсюков Юрий Николаевич
- Благодарил (а): 8 раз
Создать иммитацию аналогового сигнала
Здравствуйте. Не подскажете как создать переменную типа Real, которая
бы иммитировала постоянный выход разных значений аналогового
сигнала каждую секунду (например random в диапазоне от 0 до 100)?
бы иммитировала постоянный выход разных значений аналогового
сигнала каждую секунду (например random в диапазоне от 0 до 100)?
-
- эксперт
- Сообщения: 3648
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
Создать иммитацию аналогового сигнала
Блин, у каждого контроллера свой набор инструкций. Что программируете? S7-200/300/400/1200/1500?
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
Создать иммитацию аналогового сигнала
А для чего? Если для самообразования то могу вам посоветовать использовать простые математические функции - так принцип программирования лучше усваивается чем копировать чужие решения.
И второе вам аналоговый сигнал надо эмитировать или переменную типа реал?)))
-
- здесь недавно
- Сообщения: 37
- Зарегистрирован: 25 май 2016, 23:44
- Имя: Евсюков Юрий Николаевич
- Благодарил (а): 8 раз
-
- освоился
- Сообщения: 233
- Зарегистрирован: 11 апр 2013, 13:22
- Имя: Вишневский Денис
- Благодарил (а): 11 раз
- Поблагодарили: 13 раз
Создать иммитацию аналогового сигнала
хороший подвох в вопросе))
уточните - вы хотите проверить как работают аналоговые входы на оборудовании физически, или все таки как отрабатывает программа при различных значениях некой абстрактной переменной, что бы отследить поведение программы и выловить баги, когда там появятся данные с датчика?
если последнее, то возможно вам будет достаточно и периодического изменения сигнала по допустим синусоидальному закону?
"- Знаешь, дружище, в чем истинный смысл второго закона термодинамики?
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)
-
- здесь недавно
- Сообщения: 37
- Зарегистрирован: 25 май 2016, 23:44
- Имя: Евсюков Юрий Николаевич
- Благодарил (а): 8 раз
Создать иммитацию аналогового сигнала
Нет у меня задача посчитать средний расход за час, сутки и месяц от датчика расхода, который приблизительно каждую секунду показывает разный расход. Так как я программирую дома без реального датчика, то мне нужен симулятор датчика, чтобы проверить что программа нормально работает...
-
- освоился
- Сообщения: 233
- Зарегистрирован: 11 апр 2013, 13:22
- Имя: Вишневский Денис
- Благодарил (а): 11 раз
- Поблагодарили: 13 раз
Создать иммитацию аналогового сигнала
вот такой вот генератор сигналов думаю поможет
написан на SCL, компилируем, задаем адреса переменных, закидываем в ОБ35 например
написан на SCL, компилируем, задаем адреса переменных, закидываем в ОБ35 например
"- Знаешь, дружище, в чем истинный смысл второго закона термодинамики?
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)
-
- здесь недавно
- Сообщения: 68
- Зарегистрирован: 05 сен 2014, 13:17
- Имя: Виталий Анатольевич Куроткин
- Страна: РФ
- город/регион: Москва
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
Создать иммитацию аналогового сигнала
Напишите программку:
valQ := constVal + A * sin(koef * T)
где:
valQ - сигнал датчика,
constVal - постоянный сигнал (примерно среднее значение датчика расхода)
A - амплитуда колебаний (A << constVal )
koef - циклическая частота (например 0.01)
T - переменная, которая меняется по таймеру T:=T+1 (например раз в секунду)
В этом случае у вас средний расход будет всегда постоянен и равен constVal, для проверки будет полезно
Рандом может быть не симметричный и не равномерный, и будет сложно понять работает Ваш алгоритм или нет
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 раз.
-
- эксперт
- Сообщения: 1172
- Зарегистрирован: 14 ноя 2013, 20:35
- Имя: Анатолий Сергеевич
- Страна: Россия
- город/регион: Башкортостан
- Благодарил (а): 13 раз
- Поблагодарили: 68 раз
Создать иммитацию аналогового сигнала
А как вы проверите правильно ли считает счетчик, если значения разные будут? Вы батенька неправильное решение задачи хотите организовать...на вход счетчика ставите константу, например 1 и за час у вас должно получиться 3600, если получилось то работает правильно, если нет, то ищите ошибку в математике. Еще учтите что расходомер передает часовой расход, из него вы должны получить мгновенный и уже им оперировать.
Если не поленитесь то можете поискать в недавних темах по сименсу кусок моего кода по реализации хозрасчета...может пригодиться
-
- здесь недавно
- Сообщения: 37
- Зарегистрирован: 25 май 2016, 23:44
- Имя: Евсюков Юрий Николаевич
- Благодарил (а): 8 раз
Создать иммитацию аналогового сигнала
Спасибо большое буду пробоватьSiluet писал(а): Напишите программку:valQ := constVal + A * sin(koef * T)где:valQ - сигнал датчика,constVal - постоянный сигнал (примерно среднее значение датчика расхода)A - амплитуда колебаний (A << constVal )koef - циклическая частота (например 0.01)T - переменная, которая меняется по таймеру T:=T+1 (например раз в секунду)