В кодесис есть стандартные математические функции LOG() и LN()
Вид для печати
Я про Owen Logic, в функциях на ST нет вычисления Log(), или я что-то путаю.
причем здесь Owen Logic, Вы задаете вопрос в разделе "ПЛК (среда CoDeSys V2.3)"
ЗЫ.
Тут есть логарифмы https://owen.ru/forum/showthread.php?t=37203
Код: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
Lg(x) = 0.43429 * fLn(x)
или
Lg(x) = 0,30103*fLb(x)
Я про Owen Logic, в функциях на ST нет вычисления Log(), или я что-то путаю.
Спасибо, Вы мне очень помогли.
Дело в том что циклы увеличивал и второй квадратик потухал, это верно, но на работающем контроллере при запуски программы Онлайн/Старт "Power Status" и "Cpu is overloaded" не горит и никаких ошибок не возникает. Дело может быть в том что я неправильно загарузил проект в плк. Но делал я это по шаблону "Онлайн/Старт/Создание загрузочного проекта, так же Через "Онлайн/Старт/Создание загрузочного проекта/Загрузка исходных кодов, ну и само собой пробовал через "Онлайн/Записать файл в ПЛК". Добавлю что я чайник в Codesys и многие вещи мне пока не понятны.
Проект могу отправить, но дело в том что я снимал ПЛК, который "рабочий" и абсолютно те же действия проводил с ним и отключал от панели, но ошибки этой не появлялось. Так же фотографии имеются. Прикреплю так же скрины того же самого со второго не рабочего ПЛК(резервного)Вложение 70252Вложение 70253Вложение 70254Вложение 70255 Хочу обратить внимание на то, что все делалось на одних и тех же условиях, тоесть с отключенной панелью, подключено через КС1 к компьютеру и в одном и том же проекте.
P.s. Запущена программа через "Онлайн/Старт" в обоих случаях.
На фото у вас Статистика не работает, потому, что кроме квадратиков, там нули везде (возможно включена эмуляция). А должна быть и температура в ПЛК и время работы и отдыха процессора. При чём цифры постоянно меняются.
Либо нет старта, либо проблемы с ПЛК или программой.
А вот на скрине, статистика работает, но маленький цикл ПЛК, надо увеличить время цикла, тогда потухнет второй квадратик.
Выкладывайте программу.
Для загрузки новой программы надо сделать "Онлайн/Старт/Создание загрузочного проекта", но при этом надо быть подключенным к ПЛК (выполнить Онлайн/Логин).
После выполнения загрузки нужно отключить питание ПЛК на несколько секунд. После подачи питания ПЛК будет использовать обновлённую программу