Целая часть int это 2 лярда с лишним, наверное раньше пр сдохнет или сам взлет![]()
Целая часть int это 2 лярда с лишним, наверное раньше пр сдохнет или сам взлет![]()
Дважды уже написал
10 знаков до и 6 -7 после запятой 1 Вывод 2 переменных.jpg
Последний раз редактировалось kondor3000; 23.11.2025 в 17:19.
Если задача только выводить на дисплей ПР205, то можно вывести целое, затем ".", затем float умножить на 1_000_000, преобразовать в целое и вывести с лидирующими нолями.
Обычный флоат, максимум 7-8 знаков или до или после запятой, для большего кол-ва знаков нужен LFloat ( 4 регистра), чего в ПР и в ПЛК110 нет.
больше 8 знаков будут нулями (что в расходе не допустимо)
Поэтому и делают целым до запятой и Float после запятой, итого 17 знаков.
Здесь пытались вывести DOUBLE ( LFloat ) как REAL (Float ) , получилось всего 8 знаков.
https://owen.ru/forum/showthread.php...l=1#post472259
Последний раз редактировалось kondor3000; 23.11.2025 в 18:44.
Как понимаю, этот "объём прямого направления потока" - не текущее значение расхода, а накопленное с момента включения прибора в работу.
Для такого параметра, скорее всего, применение - или оплата израсходованного ресурса по тарифу, или какая-то статистика в конце смены. Т.е. реально используется разность с предыдущим зафиксированным значением. Тогда можно и после всех вычитаний и учёта заёма из "целых" при вычитании "дробных" - приводить результат к единому float, т.к. разность будет уже не столь значительна по числу точных знаков.
Смотрите, что получается Расход в целых 123456789- 123456784= 5 кубов 1 Разница в кубах.jpg
Расход с плав. точкой, ввожу 123456789 округляется до 123456790
ввожу 123456784 округляется до 123456780,
123456790-123456780= 10 кубов, а показывает 8.
Офигенно считает, 5 по факту, насчитал 8, а должно быть 10.
Это 9 знаков.
При 10 знаках, разницы уже нет совсем, расход 0 1 10 знаков.jpg в целых те же 5 кубов
И это всего 10 знаков, что будет если знаков 15, +/- 1000 кубов влёт
Последний раз редактировалось kondor3000; 23.11.2025 в 20:57.
IVM куда вам дальше? Поступите так же, как во взлете, даже 1 регистр можете сэкономить, представив дробную часть целым числом.