Попробую объяснить, начну издалека, вот Вы частенько стараетесь всё усовершенствовать, оптимизировать, предлагаете свои решения, макросы, здесь примерно тоже самое, для большинства случаев хватает диапазона INT(хотя некоторым и DINT не хватало), так зачем мне передавать во флоате(если значения могут быть как выше, так и ниже ноля), занимает 2 регистра, могут возникнуть проблемы с "чередованием" байт, смысл в чём? И также с получением данных, например от ТРМ2хх!
Забыл сказать самое неожиданное для меня от флоата, раньше считывал СМИ2 из ПР114 очень медленно меняющийся параметр(уровень в накопительных ёмкостях) в инте в процентах(0 - 100%) с точностью до десятых долей и ступенька была "0,1" ну и разумеется показания менялись на 0,1 через какое-то время, потом переделал на флоат, и как бы ожидал уменьшение ступеньки до сотых долей, но произошло прямо противоположное, ступенька увеличилась в 2,5 раза до 0,25, что мне очень непонятно, так что флоаты только в случае крайней необходимости теперь буду применять!
Последний раз редактировалось Сергей0308; 01.11.2016 в 21:54.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Здравствуйте! На ПР200 надо с экрана задавать число с запятой в таймер, на экране задаю тип переменной-вещественная,дальше в программе эту переменную обозначаю как с плавающей запятой, дальше умножаю мулом на 1000 и запись в таймер-не работает. Вопрос-все ли правильно делаю? С целыми числами все работает.
таймер не понимает вещественных переменных. картинку выложите что у вас там...
А просто целочисленное на экране сделать и передавать в таймер ?
Именно с запятой число надо1.JPG
Artemid - MUL у вас целочисленный, как вы ему смогли скормить переменную с плавающей запятой ?
Write to FB понимает только целочисленные. Вы определитесь что вы хотите и главное ЗАЧЕМ ?
А так, есть там такая вещь как преобразование To INT
Блок записи в FB пишет в миллисекундах, это целочисленный параметр, или вы хотите записывать в виде 0,1 мс с экрана ?
тогда float c экрана сперва умножаем fMUL на 1000, потом TO INT и запись в FB
Последний раз редактировалось melky; 02.11.2016 в 11:19.
Как-то так:
Время таймера.PNG
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
для корректности надо еще fABS поставить.... а то мало ли, через минус начнут записывать
Нужно просто контроль диапазона включить
Захват-3.png
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Если переменная не сетевая то да, если сетевая, то контроль не работает...