Может такой подойдёт, с перспективой дальнейшего развития до 8 насосов:
https://owen.ru/forum/showthread.php?t=36564
Вид для печати
Может такой подойдёт, с перспективой дальнейшего развития до 8 насосов:
https://owen.ru/forum/showthread.php?t=36564
Добрый день! Кто нибудь реализовывал накопительный счетчик расхода? Задача считать расход смеси за месяц, для примера: частотники управляют шнеками, при частоте 15Гц, в минуту насыпается 20кг, при 50Гц -40кг. Данные о расходе в минуту и их изменении есть, но как суммировать расходы при их изменении не пойму.
Может сумматор поможет:
Вложение 68211
https://owen.ru/forum/showthread.php?t=13106&page=3
спасибо, сейчас посмотрю.
Доброго дня, уважаемые! Наткнулся поиском на "макросы логических элементов" в начале топика, и еще натыкался на "пуск по одной кнопке на выход 1й, останов по другой кнопке и выходом 2" для ПР110. Ещё были готовые решения для котельных с резервными насосами, и проч - ссылки все битые.
В связи с этим огромная просьба к сообществу: накидайте для новичка основных готовых макросов\проектов, для использования их в качестве "рыбы" для модульной котельной, а? А то вот пришлось коснуться с ПР110, а с него ничего не сольёшь. надо то всего увеличить время открытия задвижки теплоносителя - но блин, приходится теперь писать прошивку с нуля. В общем, очень нуждаюсь в образцах для котельных на ПР110, помогите!
"Моя безграничная благодарность будет ограничена в разумных пределах"(с)
Спасибо заранее!!!
Может Вам следует присмотреться к чему то более современному(динозавров оставить в покое), типа ПР200, тогда и проблем бы не возникло, в смысле, там можно уставки прямо с экрана менять:
https://owen.ru/product/pr200
https://disk.yandex.ru/d/1cGNgkNovt6eJA
Прошу прощения. Интересная тема,хоть прочитать "от корки до корки" за один раз довольно проблематично,но...
Не могу понять то,как у меня в Проект "заскочил" этот макрос.
Ни в "Библиотеке" ни в "Менеджере компонентов" я его найти не мог,а самому создать такое мне явно не под силу.
То есть макрос не только для вычисления десятичного и натурального логарифма,но и бинарного тоже..
Давно это было... https://owen.ru/forum/showthread.php...l=1#post212118
Ох, уважаемый! Взяли здоровенный объект в ПНР, и в частности - котельная на 2 котла, ШУКи на Овенах ПР110. Поставить то её поставили, но 9 лет стояла заброшенная. Оживили, запустили. В одном котле прошивка работает, вроде всё норм. Но при переходе (в случае аварии 1го котла) на второй - начинает открываться задвижка на теплоносителе 2го котла - и маленькое время видимо выставлено на ожидание открытия. Открыться не успевает - второй котел тоже в аварию по потоку сваливается.
В общем понятно, что есть вещи гораздо современнее, но пока приходится писать новую прогу на ПР110й.
Вроде написал, технолог приедет - будем пробовать запускаться...
Здравствуйте. Знающие люди подскажите существует ли макрос с нелинейным масштабированием для пр100. Необходимо подключить датчик температуры NTC 10k. Пока вышел из ситуации использую 10 макросов Scale из онлайн библиотеки макросов.
Смотреть под спойлером аналоговые преобразования https://owen.ru/forum/showthread.php...l=1#post397000
логарифмКод:function fNTC: Real; // Универсальный датчик типа NTC, необходимо указывать R0 и B25/100
var_input
R:real;
R0:Real;
B:Real;
end_var
//PRG
fNTC:=1/(1/298.15+1/B*fLn(R/R0))-273.15; // вызов функции "fLn"
end_function
двоичный логарифмКод:function fLn: Real; //Натуральный логарифм
var_input
X:real;
end_var
//PRG
fLn:=0.6931472*fLb(x); //вызов функции "fLb"
end_function
ЗЫ.Код:function fLb: Real; //Двоичный логарифм
var_input
X:real;
end_var
var
s:real:=0.0;
a:real:=0.5;
i:udint;
b:real;
end_var
//PRG
if X>0 then
if X>=1 then
b:=1;
X:=X;
else
b:=-1;
X:=1/X;
end_if
if x>2 then
s:=udint_to_real( cd32(real_to_udint(x)));
X:=X/ pow(2,s);
end_if;
for i:=0 to 16 do
x:=x*x;
if x>2 then
x:=x/2;
s:=s+a;
end_if;
a:=a*0.5;
end_for
fLb:=s*b;
end_if
end_function
(кусочно-линейная аппроксимация) по 10 точкам https://owen.ru/forum/showthread.php...l=1#post369459Цитата:
использую 10 макросов Scale из онлайн библиотеки макросов.
Код: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
Кроме специального макроса для его типа датчиков температуры в менеджере компонентов имеется и макрос кусочно-линейной аппроксимации на 10 точек:
Вложение 69351
Прошу прощения Может в этой теме этот макрос и есть,но что-то не нашёл...
А именно "Извлечение квадратного корня из числа с плавающей запятой "
Если не трудно-то поделитесь.
В библиотеке ОЛ есть функция возведения в степень!
Если возведёте в степень 1/2 или 0,5 на практике это равнозначно извлечению квадратного корня!
Короче, это много раз обсуждалось(доходило до ругани) и надеюсь теперь понятно, как извлечь кубический корень или четвёртой степени?!
Если возведёте в степень 1/2 или 0,5 на практике это равнозначно извлечению квадратного корня!
Ну Ё-моё ,конечно же То ли 6-ой,то ли 7 -ой класс Надо же так лохануться....
Спасибо за ответ..
Чем же Вас не устраивает ПР200 или датчики температуры, подходящие для вашего прибора: https://owen.ru/product/dtshh5_termo...ignalom_420_ma
Я уже ранее неоднократно писал, экран всегда пригодится, в смысле, мне трудно представить такой случай, когда экран не может пригодится!
И, чтобы Вы думали, что это дешёвые датчики, наверно надо ещё и такие предложить: https://owen.ru/product/dtsxx5m_rs
Если ваше ПР100 с сетевым интерфейсом!
Я уже ранее неоднократно писал, экран всегда пригодится, в смысле, мне трудно представить такой случай, когда экран не может пригодится!
Ну уж если говорить про "Экран" на ПР 200-то скорее интерес представляет не "Экран",а кнопки...
"Монохромная 2-строчка".... ПР 205 в этом отношении будет по-привлекательнее.
Но если сравнивать ПР 100 и ПР 200-то это "как небо от земли"..
В том смысле,что всё со временем меняется . И меняется в лучшую сторону.
Тем более ,что между ПР 100 и ПР 200 есть ещё ПР 102 и ПР 103,которые ни кнопок,ни дисплея не имеют.
Зато ПР 103 имеет Езернет..."У каждого овоща свой вкус".
Если я кнопки к ПР без экрана приделаю(на дискретный вход), это уже не такие кнопки будут?
Тоже верно. Но я имел ввиду ,что хотя бы кнопки на "дискретный выход".. В случае какой либо "нештатно-аварийной ситуации" можно было бы хоть "в ручную "релюшкой клацнуть.
Но это как вариант. Если же судить по форуму-то и ПР 100 ПР 102 и ПР 103 тоже применяются.
А значит и они находят себе "подходящих хозяев".
Вообще смысл не понятен, Вы имеете ввиду безопасное состояние выходов и как это связано с кнопками?
Вложение 69352
Хорошее решение . Тут не поспоришь..
Но если так-то ...Вполне бы "Экрана" и "однострочки" хватило...
А использовать аналоговый вход ,как дискретный-то по-моему так это вообще "буржуйская роскошь".
Конечно я -человек начинающий,но разве можно "комбинацией клавиш"( допустим Альт+ВВЕРХ) чем-то управлять ?
Кроме ,конечно ,"прокрутки" самого экрана. Это я к тому,что если быть "шибко привередливым"-то при (желании ,конечно) можно и к "Экрану" на ПР 200 всякого "наскрести".
Но как-то наш разговор попал в "междутемье",а это не есть хорошо. Лучше перенесём этот разговор в другое место и в другое время.
Вложение 69354
Не корректно отображает. Должно быть 10 на выходе
2,18 это значение которое выдает аналоговый вход. Сам датчик подтянут резистором 10ком к питанию 3,3в и для него подсчитаны значения, которые он выдает при определенной температуре с шагов 10 градусов. Можно было б и каждые 2 градуса делать, но это очень много значений прописывать. Замена вверх и вниз и смена осей х и y меняет значения, но они также не корректны. Измерения происходят на овен пр100, который не может работать с аналоговым входом по измерению сопротивления
А так ? Вложение 69355
Макрос не при чём, просто по оси Х надо значения поставить в порядке увеличения, скрин смотрите. У вас наоборот.
Значения ваши стоят и получается 10 В на выходе.
Вам и Сергей0308 об этом написал час назад.
У меня макрос на ST написан, он не будет работать на ПР100.
Да это рассмешило, это Вы видимо для "упрощения" так сделали, в смысле, вместо того, чтобы просто использовать имеющийся источник питания, разобрали ПР и пайкой занялись!
Вход выдержит до 30 вольт, но, мне кажется разумным так подобрать делитель напряжения, чтобы максимальное значение на входе в рабочем диапазоне температуры не превышало 10 вольт!
Здравствуйте, а как скачать у меня просто черный экран открывается.
r9ybp вероятно файлов давно нету, здесь файлы хранятся 5 лет всего...
Если вы по ПКМ получаете clear то адью...
Здравствуйте!
Подскажите пожалуйста почему у меня в программе не отображается онлайн база макросов? Совсем пустая.Вложение 69591
Никто не реализовывал ввод пароля с заменой символов на звездочки через некоторое время? Поделитесь?
На чем? На ПР-200? Флаг Вам в руки. Теоретически можно символы закрывать строкой со звездочками и сдвигать её, но тогда для каждого символа нужно отдельное поле, отдельный ввод для каждой цифры. Но это так много что делать, что ни думаю ни кто на столько не заморачивался.