Не секрет! паруснов25501 по моему этот точно не помню.
Не секрет! паруснов25501 по моему этот точно не помню.
Пришло сообщение в личку:Решил, что нужно выложить пример использования макроса fROM на всеобщее обозрение....Спасибо...Сообщение от AI!
Пытаюсь применить ваш макрос в ситуации:
Входной параметр - температура теплоносителя установки меняется с 82,5С до 100С..
Выходной параметр(задание - управление исполнителем) - флоат - уменьшается с 1,0 до 0,01.
Смещение - 2 градуса..
Зависимость следующая:
Темп. - задание
82.5 - 1.000
84.5 - 0.980
86.5 - 0.886
88.5 - 0.780
90.5 - 0.670
92.5 - 0.564
94.5 - 0.450
96.5 - 0.348
98.5 - 0.206
100.0 - 0.012
1) Первое что мы видим, что шаг 2 градуса, а у fROM, как у любого нормального ROMшаг=1 т.е. надо будет разделить на 2
2) шаг должен быть одинаковый, а контрольная точка "100" не вписывается в это условие, но с учётом, что это крайнее значение, и то что больше 100 нас не интересует, просто сделаем линейную интерполяцию до "100.5".
Путём несложных вычислений, у меня получилось что при 100.5 значение должно быть -0,052(6)
3) внутри макроса есть константа "смещение", это смещение первого значения, в нашем случае, т.к. мы вход предварительно делим пополам, смещение равно 82.5/2=41.25
4) для демонстрации возможностей каскадирования макроса, решил усложнить задачу, и увеличить кол-во контрольных точек в 2 раза, т.е. с 62.5 до 100, с шагом 2 градуса, т.к. именно для удобства каскадированияо внутрь макроса было встроено "смещение". При этом, "смещение" соседних блоков должно отличаться ровно на 10. (на выходе числа абстрактные, просто для примера)
получается бесшовная склейка выходных значений, т.е. линейная интерполяция между последним значением одного макроса и первым значением второго
PS если во вложенном примере удалить fROM2 то будет исходное условие.
Последний раз редактировалось AI!; 08.06.2017 в 17:11.
начинающий профессионал
Константы надо подписать как нибудь, хотя бы так:
Свойства макроса_4.PNG
А то немудрено и попутать, и не факт что они идут по порядку, как Вы полагаете:
Свойства макроса_1.PNG
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Понятно, Вы не верите, пока шишек не набьёте вдоволь, вот смотрите, зашёл в макрос и случайно "шевельнул" ни чего не меняя и что получилось в итоге:
Свойства макроса_5.PNG
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Вроде подходящая тема: посмотрел макросы SCALE, точно не скажу как обозвать, типа преобразователь диапазона или перенос диапазона из одной области в другую и ужаснулся, честно чуть с ума не сошёл, зачем так всё сильно усложнили, короче, чтобы не сойти с ума придумал свой вариант, как мне кажется минимум раза в два проще чем я смог найти из самых простых:
Преобразователь диапазона.PNG
Конструктивная критика приветствуется!
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Теория и практика иногда сталкиваются. Когда это случается, теория проигрывает. Всегда. (Закон Линуса)
Я бы тогда как-то так сделал:
Преобразователь диапазона с ограничением.PNG
Сколько людей, столько и мнений, лично я не вижу особого смысла объединять два, функционально разных макроса, хотя не исключаю такого в отдельных случаях!
Последний раз редактировалось Сергей0308; 10.06.2017 в 23:08.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.