Работает не трогайте. Ну или отредактируйте как предлагает ОЛ и проверьте работу. Иногда при данной ошибке блок работает правильнее чем с линией задержки, зависит от задумки создателя.
Работает не трогайте. Ну или отредактируйте как предлагает ОЛ и проверьте работу. Иногда при данной ошибке блок работает правильнее чем с линией задержки, зависит от задумки создателя.
Ну вот и хотелось узнать у создателя. Просто непонятно, оно так и должно быть?
Сейчас создал пустой проект. Вставил в него блок AVG-тоже ругается.Безымянный.png
Последний раз редактировалось Vit_U; 26.05.2022 в 11:42.
А меня, вот интересует, кто и как добавляет макросы в базу? Просто есть непонятки: примеры
1. Макрос 2PosHisReg из раздела "Управляющие и регулирующие модули" и 2PHReg+ из раздела "Регуляторы" - оба двухпозиционные регуляторы с гистерезисом, но почему в разных разделах?
2. Такая же фишка с недельным таймером - один есть а разделе "Дата и время", другой в разделе "Доп. функции"
3. Есть устаревшие макросы, которые используют fSel в виде макроса, хотя в Лоджике уже давно есть функция
4. Есть макросы без явно выраженных обратных связей - они на полотне весело светятся желтым.
Я понимаю, что все это на ход не влияет, но нельзя ли как-то навести порядок в базе!
Так там полный беспорядок!
Один раз Юрия Реваку спрашивал зачем в макросе два одинаковых элемента(уже и не припомню насчёт какого макроса интересовался), никак между собой не связанных, макрос был в менеджере компонентов(раньше это по-другому называлось), может лучше удалить один элемент из макроса, кому надо 2 элемента - возьмут два макроса, а кому один нужен - второй будет висеть мёртвым грузом?
Ответ удивил, говорит в таком виде к нему он поступил, ну это же не дело, надо всё приводить в человеческий вид!
Короче, согласен с товарищем, в плане всё поправить!
Немного ошибся, даже не два одинаковых элемента, а четыре: https://owen.ru/forum/showthread.php?t=25067&page=4
Последний раз редактировалось Сергей0308; 22.07.2022 в 23:25.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Хочу библиотечный макрос График по четырем точкам (Graf_4pnt_v1.04) переделать под 10 точек, но что-то ума не хватает. Помогите.
До пилил, вроде работает.
Последний раз редактировалось Эдуард_Н; 20.07.2022 в 04:28.
Последний раз редактировалось Сергей0308; 15.07.2022 в 13:23.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Мой макрос в базе называется PLA, но я уже на ST вариант выкладывал https://owen.ru/forum/showthread.php...l=1#post369459
график по 10 точкам, метод поиска делением интервала пополам, известный также как двоичный поиск или Дихотомия
Код:function PLA_ST: real; // (c) PeterA var_input //объявление входных переменных x1: real; x2: real; x3: real; x4: real; x5: real; x6: real; x7: real; x8: real; x9: real; x10: real; y1: real; y2: real; y3: real; y4: real; y5: real; y6: real; y7: real; y8: real; y9: real; y10: real; In: real; end_var var //объявление локальных переменных a:udint; (*Начало интервала поиска*) b: udint; (*Конец интервала поиска*) N: udint; (*Число точек в графике*) i: udint; x: array [0..9] of real; y: array [0..9] of real; end_var N:= 10; x[0]:= x1; x[1]:= x2; x[2]:= x3; x[3]:= x4; x[4]:= x5; x[5]:= x6; x[6]:= x7; x[7]:= x8; x[8]:= x9; x[9]:= x10; y[0]:= y1; y[1]:= y2; y[2]:= y3; y[3]:= y4; y[4]:= y5; y[5]:= y6; y[6]:= y7; y[7]:= y8; y[8]:= y9; y[9]:= y10; (*Начальные значения интервала поиска*) a:=0; b:=N-1; (*Обрезание графика для крайних точек*) IF IN<=x[0] THEN PLA_ST:=y1; ELSIF IN>= x[N-1] THEN PLA_ST:= y[N-1]; (*Теперь можно начать поиск*) ELSE WHILE (b-a) <> 1 DO (*В конце концов, входной сигнал ТОЧНО попадет между двумя соседними точками X(a) и Х(а+1)*) i:=(a+b)/2; (*Делим интервал поиска пополам*) IF IN=x[i+1] THEN (*Может нам повезло, и мы сразу нашли точку? *) a:=i; b:=i+1; (*Бинго! прекращаем итераций, нечего в пустую молотить :) *) (*мимо :( ,тогда посмотрим в какую половину интервала попали*) ELSIF IN>x[i] THEN (*Если входной сигнал больше середины интервала поиска,*) a:=i; (*то следующий поиск будем делать начиная от середины и до конца массива*) ELSE (*А если входной сигнал меньше середины интервала поиска,*) b:=i; (*то следующий поиск будем делать начиная от начала и до середины массива*) END_IF (*Таким образом на каждой итерации отбрасываем из поиска заведомо ненужную половину значений две соседние координаты X(a) и Х(а+1), меду которыми попадает входной сигнал найдем очень быстро для 8 точек графика нужно не более 3 итераций при 9..16 точек в графике нужно не более 4 итераций при 17..32 точек в графике нужно не более 5 итераций при 33..64 точек в графике нужно не более 6 итераций при 65..128 точек в графике нужно не более 7 итераций инфа точная - 100% ;) *) END_WHILE; (*Теперь самое простое - сделать линейную аппроксимацию по двум точкам ;) *) PLA_ST:= y[b] - (x[b] - IN) * (y[b] - y[a]) / (x[b] - x[a]); END_IF end_function
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Мой канал на РУТУБЕ
https://rutube.ru/channel/23641433/
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg