Профиль должен быть заполнен на русском языке кириллицей. Заполнение профиля заведомо ложными или некорректными данными - причина возможного отказа в регистрации на форуме.

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


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

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

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

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


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

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

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

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

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

megavolt86
специалист
специалист
Сообщения: 630
Зарегистрирован: 14 ноя 2013, 19:35
Ф.И.О.: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 3 раза
Поблагодарили: 6 раз

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

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

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

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


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

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

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

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

Аналоговый сигнал...

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

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

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

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

megavolt86 писал(а):Источник цитаты И второе вам аналоговый сигнал надо эмитировать или переменную типа реал?)))

хороший подвох в вопросе))
Kreadlling писал(а):Источник цитаты Аналоговый сигнал...

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

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


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

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

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

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

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

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

den_vish
осмотрелся
осмотрелся
Сообщения: 138
Зарегистрирован: 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
специалист
специалист
Сообщения: 630
Зарегистрирован: 14 ноя 2013, 19:35
Ф.И.О.: Анатолий Сергеевич
Откуда: Башкортостан
Благодарил (а): 3 раза
Поблагодарили: 6 раз

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

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

Kreadlling писал(а):Источник цитаты симулятор датчика, чтобы проверить что программа нормально работает

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


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

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

Сообщение 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: Спасибо большое буду пробовать


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



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей