CONSAT
Forum Member / Участник форума
Участник № / Member № 51
отправлено / posted
Есть аналоговый канал 12 бит - 4095 единиц. Требуемое напряжение 5 Вольт - коефициент для канала 5/4095= 0.01221 А как вычислять следующее: Необходим шаг дисретизации 0.05В (0.05, 0.10, 0.15...) на экране и в архиве. Не так уж и легко оперировать апертурой, дрейфом, сглаживанием и т.д. Кроме того шумы около 10-40 единиц.
Сообщения / Posts 58 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Штатных готовых функций, позволяющих реализовать подобную процедуру, у нас нет. Однако, это легко сделать с помощью FBD, в состав которой входят 3 FB (DIV, FLOOR, * (умножение)), последовательно соединенные. В качестве делителя в Вашем случае надо принять 40.95, в качестве множителя 0.05. А вообще, задача, видимо, заслуживает того, чтобы в дальнейшем такая функция была реализована на системном уровне.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
CONSAT
Forum Member / Участник форума
Участник № / Member № 51
отправлено / posted
А если у нас всего около 500 аналоговых канаолов и к каждому из них мы подключим эту FBD-программу то как это отразится на скорости работы проекта в целом? на 1, 5, 10 %%медленее???
Сообщения / Posts 58 | Из / From: Украина
| IP / IP: IP адрес / IP address |
Потемкин В.В.
Forum Haunter / Завсегдатай форума
Участник № / Member № 31
отправлено / posted
Для контроля времени, затраченного на последний пересчёт базы каналов можно использовать канал подтипа Системный->Время пересчёта.
IP / IP: IP адрес / IP address |
CONSAT
Forum Member / Участник форума
Участник № / Member № 51
отправлено / posted
Ш711 (8*60) + PCL818(789) 16*6 = 576 А перед тем как посмотреть в канал для оценки времени - нужно убедиться что єто теоретически правильній подход...
Сообщения / Posts 58 | Из / From: Украина
| IP / IP: IP адрес / IP address |
отправлено / posted
Никакими теоретическими методами нельзя достоверно оценить, сколько времени уходит на обработку базы каналов с конкретной математикой - не только количество вызываемых FBD, но и их содержание влияет на затрачиваемые ресурсы, а также - свойства ОС, быстродействие и архитектура ПК. А экспериментальная оценка получается очень просто и убедительно. Возьмите Ваш проект, запустите с командной строки сервер, и на его консоли Вы увидите реальное время пересчета. Если вы хотите оценить, сколько требует времени конкретная FBD, сделайте 100-200 пробных каналов с этой формулой и определите ее вклад в общие потребности. В частности, рекомендованная Вам формула на 5000 вызовов потребовала около 60 мс (Celeron 433).
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Потемкин В.В.
Forum Haunter / Завсегдатай форума
Участник № / Member № 31
отправлено / posted
Плата PCL-818 имеет 12 разрядов, цена одного разряда равна U/4095, где U - входной диапазон. Для того, что-бы цена разряда была равна 0.05 В , входной диапазон должен быть 0.05*4095 = 204,75 В, что невозможно. По совету наших коллег, можно поставить входной делитель с отношением плечей например 10/204,75. Тогда цена деления будет равна 0,05 В.
Сообщения / Posts 101 | Из / From: Украина
| IP / IP: IP адрес / IP address |
Styxx
Forum Member / Участник форума
Участник № / Member № 74
отправлено / posted
Да все получилось....
У нас был задан множитель (атрибут канала) и Неработало, то тех пор, пока его не убрали - должно ли быть так?
А если мы имеем различные диапазоны требуемых значений (всего 19). Будет ли в этом случае разумно сделать 1 FBD где множитель и делитель - аргументы (берут значения с каналов) или лучше сделать 19 FBD с константами? Этим вопросом, мы хотим понять как правильнее (корректнее, лучше, быстрее...) делать. Может ТМ'ду легче работать с константами.... consat@zp.ukrtel.netСообщения / Posts 60 | Из / From: Ukraine
| IP / IP: IP адрес / IP address |