у меня нет недовольства. Я не до конца понимаю где оно используется, именно за этим я сослался к Вам.
Но если макрос есть, значит он кому-то нужен.
PS макрос LongInt-Float будет ещё проще - там не будет среднего AND из моего макроса
Вид для печати
Попробую объяснить, начну издалека, вот Вы частенько стараетесь всё усовершенствовать, оптимизировать, предлагаете свои решения, макросы, здесь примерно тоже самое, для большинства случаев хватает диапазона INT(хотя некоторым и DINT не хватало), так зачем мне передавать во флоате(если значения могут быть как выше, так и ниже ноля), занимает 2 регистра, могут возникнуть проблемы с "чередованием" байт, смысл в чём? И также с получением данных, например от ТРМ2хх!
Забыл сказать самое неожиданное для меня от флоата, раньше считывал СМИ2 из ПР114 очень медленно меняющийся параметр(уровень в накопительных ёмкостях) в инте в процентах(0 - 100%) с точностью до десятых долей и ступенька была "0,1" ну и разумеется показания менялись на 0,1 через какое-то время, потом переделал на флоат, и как бы ожидал уменьшение ступеньки до сотых долей, но произошло прямо противоположное, ступенька увеличилась в 2,5 раза до 0,25, что мне очень непонятно, так что флоаты только в случае крайней необходимости теперь буду применять!
Здравствуйте! На ПР200 надо с экрана задавать число с запятой в таймер, на экране задаю тип переменной-вещественная,дальше в программе эту переменную обозначаю как с плавающей запятой, дальше умножаю мулом на 1000 и запись в таймер-не работает. Вопрос-все ли правильно делаю? С целыми числами все работает.
таймер не понимает вещественных переменных. картинку выложите что у вас там...
А просто целочисленное на экране сделать и передавать в таймер ?
Именно с запятой число надоВложение 27400
Artemid - MUL у вас целочисленный, как вы ему смогли скормить переменную с плавающей запятой ?
Write to FB понимает только целочисленные. Вы определитесь что вы хотите и главное ЗАЧЕМ ?
А так, есть там такая вещь как преобразование To INT
Блок записи в FB пишет в миллисекундах, это целочисленный параметр, или вы хотите записывать в виде 0,1 мс с экрана ?
тогда float c экрана сперва умножаем fMUL на 1000, потом TO INT и запись в FB
Как-то так:
Вложение 27401
для корректности надо еще fABS поставить.... а то мало ли, через минус начнут записывать :)
Нужно просто контроль диапазона включить
Вложение 27404
Если переменная не сетевая то да, если сетевая, то контроль не работает...