PDA

Просмотр полной версии : Создать функцию на ST



Страницы : [1] 2 3

monsterrnd
21.10.2021, 16:09
Добрый день.
Появилась новая иконка "Создать функцию на ST" как ее активировать?

Правильно ли я понимаю что теперь можно будет писать в виде кода а не блоков ??

Ревака Юрий
21.10.2021, 16:21
Добрый день.
Появилась новая иконка "Создать функцию на ST" как ее активировать?

Правильно ли я понимаю что теперь можно будет писать в виде кода а не блоков ??

Добрый день. Сейчас идет внутреннее тестирование, по его итогам будет версия с этим функционалом.

IVM
21.10.2021, 19:02
Добрый день. Сейчас идет внутреннее тестирование, по его итогам будет версия с этим функционалом.

Неужто свершилось ? :)

Lukas
21.10.2021, 20:08
Добрый день. Сейчас идет внутреннее тестирование, по его итогам будет версия с этим функционалом.

Ну вот и наступил конец эпохи "программируемого реле ПР". Да здравствует эпоха "недоПЛК ПР"))

IVM
21.10.2021, 20:20
Ну вот и наступил конец эпохи "программируемого реле ПР". Да здравствует эпоха "недоПЛК ПР"))

Что за бред ?

monsterrnd
21.10.2021, 20:25
Добрый день. Сейчас идет внутреннее тестирование, по его итогам будет версия с этим функционалом.

Могу ли я ее скачать ? очень интересно опробовать.
У меня очень большая программа и с каждым днем расширяю функционал. с блоком уже не удобно их там более 2000 тысяч
57626

Сергей0308
21.10.2021, 20:44
Могу ли я ее скачать ? очень интересно опробовать.
У меня очень большая программа и с каждым днем расширяю функционал. с блоком уже не удобно их там более 2000 тысяч
57626

Более 2000 макросов?

monsterrnd
21.10.2021, 21:02
Более 2000 макросов?

НЕТ) макросов примерно штук 40-60, я про блоки в этих макросах.

Внизу видно сколько ресурсов используется57627, проет уже весит более 8 мб.

Не удобно дорабатывать, очень много связей. в ст проще

monsterrnd
21.10.2021, 21:09
Более 2000 макросов?

5762857629

Как тот так. в каждом макросе, который в макросе)

Ревака Юрий
22.10.2021, 09:16
Могу ли я ее скачать ? очень интересно опробовать.
У меня очень большая программа и с каждым днем расширяю функционал. с блоком уже не удобно их там более 2000 тысяч
57626

Пока версии с поддержкой ST в общем доступе нет, следите за обновлениями.

Ревака Юрий
22.10.2021, 09:19
Неужто свершилось ? :)

Начало положено.

Ревака Юрий
22.10.2021, 09:29
Ну вот и наступил конец эпохи "программируемого реле ПР". Да здравствует эпоха "недоПЛК ПР"))

Почему?, FBD никуда не исчез, свобода выбора.

Могу поделится своим ощущением, я на ST написал от силы 5 строчек за всю жизнь, когда мне в руки попал OwenLogic с ST, я без особых усилий переделал макрос, который занимал пространство в виде блоков на весь экран. В итоге получилось несколько строчек кода.
Так что ничего не заканчивается, все только начинается :)

Сергей0308
22.10.2021, 09:39
Почему?, FBD никуда не исчез, свобода выбора.

Могу поделится своим ощущением, я на ST написал от силы 5 строчек за всю жизнь, когда мне в руки попал OwenLogic с ST, я без особых усилий переделал макрос, который занимал пространство в виде блоков на весь экран. В итоге получилось несколько строчек кода.
Так что ничего не заканчивается, все только начинается :)

Так о чём это говорит? Вроде неоднократно обсуждалось, что может быть логика, которая на LD будет проще и понятней чем на других языках, может тогда и LD нужно внедрить(тоже просили) следуя вашей логике, короче, налицо двойной подход, как минимум, логические объяснения не выдерживают критики, может тогда лучше и не приводить никаких объяснений?

Ревака Юрий
22.10.2021, 10:05
Так о чём это говорит?

О том, что открываются новые возможности и это хорошо:)

IVM
22.10.2021, 10:37
Так о чём это говорит? Вроде неоднократно обсуждалось, что может быть логика, которая на LD будет проще и понятней чем на других языках, может тогда и LD нужно внедрить(тоже просили) следуя вашей логике, короче, налицо двойной подход, как минимум, логические объяснения не выдерживают критики, может тогда лучше и не приводить никаких объяснений?

Не пойму из-за чего весь сыр-бор. Кому не нравится ST могут продолжать программировать на FBD.

bayk
22.10.2021, 10:43
Почему?, FBD никуда не исчез, свобода выбора.

Могу поделится своим ощущением, я на ST написал от силы 5 строчек за всю жизнь, когда мне в руки попал OwenLogic с ST, я без особых усилий переделал макрос, который занимал пространство в виде блоков на весь экран. В итоге получилось несколько строчек кода.
Так что ничего не заканчивается, все только начинается :)

Пожалуйста юрий! расскажи как это вообще реализовано? отдельный блок как макрос, а внутри текст? и еще душещипательный вопрос, возможно ли выполнять код единоразово? по тригеру например, или он будет всегда крутиться и все одноразовые команды придется ручками реализовывать? я вот мечтаю, чтобы у макроса с ст было дыва входа - один для непрерывного исполнения кода, второй для однократного выполнения кода по переднему фронту. тогда бы тот же пид превратился в одну строчку. было бы так удобно.. но я боюсь, что это только мечты

Ревака Юрий
22.10.2021, 11:04
Пожалуйста юрий! расскажи как это вообще реализовано? отдельный блок как макрос, а внутри текст? и еще душещипательный вопрос, возможно ли выполнять код единоразово? по тригеру например, или он будет всегда крутиться и все одноразовые команды придется ручками реализовывать? я вот мечтаю, чтобы у макроса с ст было дыва входа - один для непрерывного исполнения кода, второй для однократного выполнения кода по переднему фронту. тогда бы тот же пид превратился в одну строчку. было бы так удобно.. но я боюсь, что это только мечты

Функция, оформленная в виде текста в макросе. Так же стоит учитывать что это была альфа версия и "глубоко я не копал":)

bayk
22.10.2021, 16:12
Функция, оформленная в виде текста в макросе. Так же стоит учитывать что это была альфа версия и "глубоко я не копал":)

Кстати, а почему у потенциальных пользователей никто не спросил как они хотят это видеть? или с кем можно поговорить в овене по этому вопросу, пока не поздно? можно фамилию менеджера в личку, я его через скайп найду и вцеплюсь в мозг!

kondor3000
22.10.2021, 18:11
Функция, оформленная в виде текста в макросе. Так же стоит учитывать что это была альфа версия и "глубоко я не копал":)

Что то боюсь опять не в том направлении пошли. Почему функция, а не ФБ? Чего проще то придумать можно, макрос это же практически ФБ. Нужна функция сделай макрос с одним выходом, а если мне 5 выходов надо?

IVM
22.10.2021, 22:53
Функция, оформленная в виде текста в макросе. Так же стоит учитывать что это была альфа версия и "глубоко я не копал":)


У текстового макроса будет 1 выход ?

kondor3000
22.10.2021, 22:56
У текстового макроса будет 1 выход ?

Я тоже самое спросил, неужели не догадались, сделать не функцию, а ФБ?

bayk
23.10.2021, 11:57
Учитывая всю убогость FBD от овенлоджик, я не удивляюсь. Вместо того, чтобы нормальный фбд сделать, просто продолжили хернёй заниматься.

Честно я не понимаю, чем вам не нравится эта реализация ОЛ. Она вполне понятная и удобная.
Так же расскажите как модифицировать фбд, чтобы заменить все удобство решения задач на СТ

Ревака Юрий
23.10.2021, 16:43
Что то боюсь опять не в том направлении пошли. Почему функция, а не ФБ? Чего проще то придумать можно, макрос это же практически ФБ. Нужна функция сделай макрос с одним выходом, а если мне 5 выходов надо?

Вы OwenLogic видели 10 лет назад, какой у него был функционал, на ftp есть все версии, можно посмотреть. Ход моих мыслей надеюсь понятен:D

Ревака Юрий
23.10.2021, 16:50
Очень жаль, что вместо действительно нужных дел, Овен решил удовлетворить хотелки нескольких идиотов. Но, рынок очень быстро расставит нужные точки.
Учитывая всю убогость FBD от овенлоджик, я не удивляюсь. Вместо того, чтобы нормальный фбд сделать.

Держите себя в руках:), предложения всегда приветствуются, хоть они и не всегда воплощаются.

Ревака Юрий
23.10.2021, 16:56
У текстового макроса будет 1 выход ?

В том варианте с которым работал я, да функция с 1 выходом, но предлагаю дождаться выхода версии в общий доступ, и уже что-то обсуждать, а то получается как в одной пословице:D

IVM
23.10.2021, 18:28
В том варианте с которым работал я, да функция с 1 выходом, но предлагаю дождаться выхода версии в общий доступ, и уже что-то обсуждать, а то получается как в одной пословице:D

Лучше бы текстовый макрос с произвольным числом входов и выходов. Чего уж мелочиться, надо по крупному работать ? ;)

А вообще ОВЕНовцы молодцы, не зря хлеб едят.

bayk
23.10.2021, 23:06
Лучше бы текстовый макрос с произвольным числом входов и выходов. Чего уж мелочиться, надо по крупному работать ? ;)
.
Вот именно! Одно у овеновцев плохо, они сначала сделают что-то а потом спрашивают у пользователей ... Нет бы наоборот.... А то потом - "ну уже ничего не исправить". Как с трм1.у2 ну можно было же сразу сделать одну единственную модификацию с выходом 24 вольта и rs одновременно. При это rs на выносной платке с шлейфом сделать и сбоку разместить. Вынул ответную часть разъема (как на ип320) вставил в панель и воткнул ее на место.. а сзади пусть бы оставалось все строго как раньше!!! Нет, надо было нагородить две разных печатных платы а потом мучиться с их сборкой... Я просто не понимаю ЗАЧЕЕЕМ!!!! На вопрос почему так сразу не сделали- сказали что за период когда у трм была отдельная модификация на термодатчик и 4-20 80%покупок было на версию с термометром и без питания.... Но это 15 летназад было! Рынок меняется ежегодно минимум!!!

П.с. я не знаю, чем не нравится фбд в ол, но он однозначно лучше чем у Сименса, Митсубиси, сегнетикса. Это только то, с чем я очень плотно работал. Тут не надо забивать голову расположением кубиков относительно друг друга, чтобы это заработало! Вставил задержку и всё понятно и наглядно, а то сдвинул кубик случайно и все... Логика уплыла...бред....
П.п.с. работа с экранами к фбд не относится если что.

игорь68
24.10.2021, 18:39
Тут правильно написали fbd или st выбор за вами. Но Овен готовьтесь. Ваш телефон поддержки теперь вечно будет занят. При этом 90% времени это будут звонки от "stшников с возмущениями что " гениально написанный код "не работает . И виной будет именно ОЛ а не написанный через нижние полушария головного мозга код. Лично моё мнение. Оно может не совпадать с мнением других.

Ollema
24.10.2021, 20:52
Очень интересно пощупать вживую.

bayk
25.10.2021, 09:23
Тут правильно написали fbd или st выбор за вами. Но Овен готовьтесь. Ваш телефон поддержки теперь вечно будет занят. При этом 90% времени это будут звонки от "stшников с возмущениями что " гениально написанный код "не работает . И виной будет именно ОЛ а не написанный через нижние полушария головного мозга код. Лично моё мнение. Оно может не совпадать с мнением других.

я считаю, что сразу прописать, что техподдержка не будет оказывать помощь по ST. не нравится - делайте на ФБД

Ревака Юрий
25.10.2021, 10:52
я считаю, что сразу прописать, что техподдержка не будет оказывать помощь по ST. не нравится - делайте на ФБД

С чего вдруг код на ST должен быть проблемнее кода на fbd, я столько видел "уникальных" проектов присылаемых на fbd, и очень сомневаюсь что тех. поддержку можно чем-то удивить. В плане ST вижу даже +, можно код сразу вставить в текст, а на обратной стороне скопировать и запустить, с fbd в этом плане намного сложнее, мне кажется.

Sergey666
25.10.2021, 13:07
Вот именно! Одно у овеновцев плохо, они сначала сделают что-то а потом спрашивают у пользователей ... Нет бы наоборот....

П.с. я не знаю, чем не нравится фбд в ол, но он однозначно лучше чем у Сименса, Митсубиси, сегнетикса. Это только то, с чем я очень плотно работал.
П.п.с. работа с экранами к фбд не относится если что.

Вот ничего с пользователями обсуждать не надо, все украдено до нас и велики все уже изобретены, надо смотреть как у великих и делать аналогично, а обсуждение с пользователями это демагогия- непременный спутник демократии, бла-бла-бла.
Не понятно почему только FBD, если у старших товарищей в ПРках SFC как правило есть, и при реализации последовательно-цикличных алгоритмов наличие SFC здорово помогает.
В любом случае надо будет смотреть готовую реализацию ST в ОЛ.

CORSAR1500
30.11.2021, 21:49
Добрый день! Огромное пожелание по ST: иметь возможность создавать более одного выхода.

CORSAR1500
30.11.2021, 22:13
Очень странно, что в ST есть поддержка только UDInt. То есть целочисленный счет в отрицательных диапазонах не предусмотрен (DInt / Int)? Пока для этого использую Real.

Ревака Юрий
30.11.2021, 22:17
Язык ST уже доступен в новой версии OwenLogic 1.22.284.0, кто ждал, можно тестировать возможности.
Мой небольшой опыт на примере макроса Pt1000 прикрепляю.

https://www.youtube.com/watch?v=rVn96bfQedc

CORSAR1500
30.11.2021, 23:04
Доброй ночи! Можно ли вызывать одну функцию ST внутри другой функции ST? Пока не удается...

Cs-Cs
30.11.2021, 23:25
Как же круто же!!!!!!
Господи, было бы это лет пять назад, когда я мучился с ужасными Logo этими чёртовыми, пытаясь на FBD написать сложную логику!!

petera
30.11.2021, 23:36
Ура!
Моя первая функция - Вычисление дня недели

58152 58154

Нашёл давно на просторах интернета такой метод

dayOfWeek = (year+year/4+ ММ[mounth] + day) MOD 7
где
year - год;
day - номер дня в месяце;
ММ[mounth] - значение из массива


январь
5 (4 - для високосного года)


февраль
1 (0 - для високосного года)


март
1


апрель
4


май
6


июнь
2


июль
4


август
0


сентябрь
3


октябрь
5


ноябрь
1


декабрь
3



В вычислениях используются только целочисленные значения

FUNCTION dayOfWeek : UDINT; // (c) PeterA
VAR_INPUT
year: udint;
mounth: udint;
day:udint;
END_VAR
VAR
MM: ARRAY [1..12] OF udint := [5,1,1,4,6,2,4,0,3,5,1,3];
END_VAR

IF udint_to_bool(year MOD 4 ) THEN
MM[1]:= 5; MM[2]:= 1;
ELSE
MM[1]:= 4; MM[2]:= 0;
END_IF

dayOfWeek:= (year+year/4+ MM[mounth] + day) MOD 7;

end_function

ЗЫ.
Добавил вход Sun_7
если он устанвлен в 1, то воскресенье 7 день, иначе 0


FUNCTION dayOfWeek : UDINT; // (c) PeterA
VAR_INPUT
year: udint;
mounth: udint;
day:udint;
Sun_7:bool; //если 1, то воскресенье 7 день, иначе 0
END_VAR
VAR
MM: ARRAY [1..12] OF udint := [5,1,1,4,6,2,4,0,3,5,1,3];
dayOfWeekTMP: udint;
END_VAR

IF udint_to_bool(year MOD 4 ) THEN
MM[1]:= 5; MM[2]:= 1;
ELSE
MM[1]:= 4; MM[2]:= 0;
END_IF
dayOfWeekTMP:= (year+year/4+ MM[mounth] + day) MOD 7;

dayOfWeek:= dayOfWeekTMP + bool_to_udint(Sun_7 AND dayOfWeekTMP=0) * 7;

end_function

petera
30.11.2021, 23:56
Экспорт функции в файл - не судьба?

kondor3000
01.12.2021, 00:56
Для первого раза неплохо, 5 мин искал где написанную функцию найти и как вставить))) Окно было минимальное и функции не видно.

Petera, функции теперь в блокноте будем хранить, зачем ещё импорт, экспорт делать)

petera
01.12.2021, 01:13
ST вариант моего макроса PLA (кусочно-линейная аппроксимация) по мотивам https://owen.ru/forum/showthread.php?t=10555&p=220263&viewfull=1#post220263
график по 10 точкам, метод поиска делением интервала пополам, известный также как двоичный поиск или Дихотомия (https://ru.wikipedia.org/wiki/Дихотомия)

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

58155

Филоненко Владислав
01.12.2021, 07:52
Ура!
Моя первая функция - Вычисление дня недели

58152 58154

Нашёл давно на просторах интернета такой метод

dayOfWeek = (year+year/4+ ММ[mounth] + day) MOD 7
где
year - год;
day - номер дня в месяце;
ММ[mounth] - значение из массива


январь
5 (4 - для високосного года)


февраль
1 (0 - для високосного года)


март
1


апрель
4


май
6


июнь
2


июль
4


август
0


сентябрь
3


октябрь
5


ноябрь
1


декабрь
3



В вычислениях используются только целочисленные значения

FUNCTION dayOfWeek : UDINT; // (c) PeterA
VAR_INPUT
year: udint;
mounth: udint;
day:udint;
END_VAR
VAR
MM: ARRAY [1..12] OF udint := [5,1,1,4,6,2,4,0,3,5,1,3];
END_VAR

IF udint_to_bool(year MOD 4 ) THEN
MM[1]:= 5; MM[2]:= 1;
ELSE
MM[1]:= 4; MM[2]:= 0;
END_IF

dayOfWeek:= (year+year/4+ MM[mounth] + day) MOD 7;

end_function

Ну с массивами придётся обождать/аккуратно разграничивать. Пока ST и остальной код ОвенЛоджика это как 2 континента с узким подвесным мостом. В Лоджике пока ещё только bool, unsigned long и float. Остальные типы не поддерживаются

Rake Runner
01.12.2021, 08:53
Ура!
Моя первая функция - Вычисление дня недели


FUNCTION dayOfWeek : UDINT; // (c) PeterA
VAR_INPUT
year: udint;
mounth: udint;
day:udint;
END_VAR
VAR
MM: ARRAY [1..12] OF udint := [5,1,1,4,6,2,4,0,3,5,1,3];
END_VAR

IF udint_to_bool(year MOD 4 ) THEN
MM[1]:= 5; MM[2]:= 1;
ELSE
MM[1]:= 4; MM[2]:= 0;
END_IF

dayOfWeek:= (year+year/4+ MM[mounth] + day) MOD 7;

end_function

Протестируйте свою функцию с любым днем 2000 года.

kondor3000
01.12.2021, 09:16
Протестируйте свою функцию с любым днем 2000 года.

Уже протестировал, всё работает. А вы не забыли прибавить 2000 к году?

Rake Runner
01.12.2021, 10:01
Уже протестировал, всё работает. А вы не забыли прибавить 2000 к году?

Тоже ошибся - имел в виду 2100 год.

58163 58164

dan75
01.12.2021, 10:23
Rake Runner, а на кой нам загдядывать в ту пору прекрасную, где жить не придется ни мне, ни тебе? Да и что ПР будет, тоже далеко не факт. Упрощённого алгоритма, справедливого в рамках нашего столетия, предостаточно для большинства наших задач.

Ревака Юрий
01.12.2021, 10:48
ST вариант моего макроса PLA (кусочно-линейная аппроксимация)

Вот это прям мега полезная тема, вспомнил как оформлял PLA для онлайн базы макросов, сколько времени потратил на соединения всех блоков, недавно понадобился блок на 15 точек, я взгрустнул:(, сейчас же потратил 2 минуты на переделку макроса.

kondor3000
01.12.2021, 10:53
Радость была не долгой.
Макрос на ST давайте а не функцию.

Об этом писал ещё несколько месяцев назад, почему функция, а не ФБ ?
Мне вот понадобились таймеры TON и TP со вторым выходом отсчёта времени, ща бы на раз сделал.
Почему таймеры в базе только с булевым выходом, время где? Да и вообще функции не рулят!

Ревака Юрий
01.12.2021, 11:12
Радость была не долгой.
Макрос на ST давайте а не функцию.

Не все сразу,:) OwenLogic с FBD в том виде как сейчас тоже не за один день появился.

petera
01.12.2021, 11:18
Rake Runner, а на кой нам загдядывать в ту пору прекрасную, где жить не придется ни мне, ни тебе? Да и что ПР будет, тоже далеко не факт. Упрощённого алгоритма, справедливого в рамках нашего столетия, предостаточно для большинства наших задач.

Спасибо за поддержку!
Именно этими соображениями и руководствовался для упрощения способа определения високосного года.

kondor3000
01.12.2021, 18:02
Согласен на счет развития проекта все нормально идет темпы хорошие так держать. Но думаю на первых парах в ST не стоит вкладывается во все функции на это нужно уйма времени.
А вот выходов в функции можно добавить.

Нельзя в функции выходов добавить (читайте описание функции и отличие от ФБ), можно в ФБ или в макросе добавить.
В этом весь и смысл, сразу пошли по неверному пути.

СергейНовосиб
02.12.2021, 10:09
А почему нет как в макросах после внесений изменений команды "Обновить функцию". Изменил тип выходной переменной, а в программе нельзя просто обновить. Надо из списка функций заново вставить в проект, чтобы изменить тип выхода. По входам тоже самое.
Название выходной переменной тоже нельзя изменить.

gmz_001
02.12.2021, 10:23
Браво!
Но да, выходных переменных нехватает. Конечного автомата не сделаешь. Только для расчетов годится.

kondor3000
02.12.2021, 10:51
А почему нет как в макросах после внесений изменений команды "Обновить функцию". Изменил тип выходной переменной, а в программе нельзя просто обновить. Надо из списка функций заново вставить в проект, чтобы изменить тип выхода. По входам тоже самое.
Название выходной переменной тоже нельзя изменить.
В функции переменная выхода и есть имя функции, изменить можно, если название изменить. Если вы про Q, то да, выход всегда Q будет.

starmos
02.12.2021, 12:33
Присоединяюсь - после изменения не обновляется функция на поле, например если её название изменить. Только удалить-вставить.
И в плане консультации, таймер как (можно/нельзя) на этом языке описать? Я понимаю, что функция, это участок кода, который имеет один выход. Если у меня есть такие участки программы, но они включают в себя таймер, можно/нельзя их реализовать на ST? Ну и я правильно понимаю, что между вызовами функция никаких внутренних значений переменных не сохраняет и всегда вызывается "как в первый раз" и иначе сделать нельзя?

kondor3000
02.12.2021, 13:16
Присоединяюсь - после изменения не обновляется функция на поле, например если её название изменить. Только удалить-вставить.
И в плане консультации, таймер как (можно/нельзя) на этом языке описать? Я понимаю, что функция, это участок кода, который имеет один выход. Если у меня есть такие участки программы, но они включают в себя таймер, можно/нельзя их реализовать на ST? Ну и я правильно понимаю, что между вызовами функция никаких внутренних значений переменных не сохраняет и всегда вызывается "как в первый раз" и иначе сделать нельзя?

В том то весь и смысл, мало того, что выход один, функция не сохраняет данные, и каждый раз будет снова запускаться, сделали бы ФБ даже с одним выходом, можно было бы и таймеры и что угодно делать.
Я например пытался сделать таймер с паузой и выходом времени (флоат или целочисленное), и просто сохранить переменную, ничего не получается, каждый раз переменная меняется.

starmos
02.12.2021, 13:27
В том то весь и смысл, мало того, что выход один, функция не сохраняет данные, и каждый раз будет снова запускаться, сделали бы ФБ даже с одним выходом, можно было бы и таймеры и что угодно делать.

Возможно дело в том, что в ОВЕН хотят, чтобы все эти изделия назывались непременно "программируемые реле". А у таких реле уже устоявшийся вид среды и методики программирования. Т.е. нет задачи превратить это в ПЛК (я помню давнюю дискуссию на эту тему здесь где-то). Поэтому такой усеченный вид. Пригодный только для упрощения комбинационной логики и вычислений, т.е. того, что сильно занимает экран. Бесило рисовать например 8-входовое ИЛИ, а тут раз и просто. Или посчитать что-нибудь большее чем сложить/умножить. А так: вроде и упростили работу и "фундаментальных основ" не затронули.

Dimensy
02.12.2021, 15:29
Странно, в макрос запихать функцию на ST нельзя, можно пользоваться только в основной программе

Сергей0308
02.12.2021, 17:53
Посмотрим что дальше будет, но думаю грань между ПЛК и ПР они не передут. Если не передут то разбегутся от них все. И ПР103 будет не востребован.

А что есть такая грань?
Кроме Вас об этом кто-то знает?
Сколько было тем по этому вопросу, пока грань не получалось обозначить, короче, не томите, грани нарисуйте!

CORSAR1500
02.12.2021, 18:36
Браво!
Но да, выходных переменных нехватает. Конечного автомата не сделаешь. Только для расчетов годится.

Добрый вечер! Конечный автомат сделать можно. На входе создаете переменную, например, PrevState. И с помощью "линии задержки" передаете выходное значение Q (UDInt - код шага в автомате) на вход. Таким образом при вызове функция узнает на каком шаге автомата она остановилась в прошлом цикле. Внутри делаете CASE по PrevState и все. Получился такой себе FB с хранением предыдущего состояния "снаружи". Все таймеры внешние. Если шаг =10, то таймер 1 запустить. Таймер через время задержки Т выдает TRUE на вход функции. Управление исполнительными механизмами - по номеру состояний. 5818158182

CORSAR1500
02.12.2021, 18:38
Браво!
Но да, выходных переменных нехватает. Конечного автомата не сделаешь. Только для расчетов годится.

Как пример - кусок кода. Не знаю как правильно его вставлять:
FUNCTION State: udint; //имя функции и тип данных выхода

VAR_INPUT //объявление входных переменных
SaveState : udint; // сохраненное значения состояния в предыдущем цикле
MdRevKM : bool; // режим работы реверсивных контакторов 0=ручной / 1=автомат
MdFuelVlv : bool; // режим работы топливного крана 0=ручной / 1=автомат
MdGen : bool; // режим работы генератора 0=ручной / 1=автомат
InSplOk : bool; // сетевое питание в норме
GenSplOk : bool; // питание от генератора в норме
FuelVlvOpn : bool; // топливный кран 1=открыт
FuelVlvCls : bool; // топливный кран 1=закрыт
Start : bool; // импульс первого выполнения программы после загрузки
S0_Tmr : bool; // таймер состояния (загрузка)
S6_Tmr : bool; // таймер состояния (закрытие топливного клапана)
S7_Tmr : bool; // таймер состояния (команда остановки генератора)
S24_Tmr : bool; // таймер состояния (заполнение бензином поплавковой камеры)
END_VAR

VAR //объявление локальных переменных
boolVAR : bool := FALSE;
END_VAR

IF Start THEN
State := 0;
ELSE
CASE SaveState OF
0: // запуск графа, пауза для срабатывания реле контроля напряжения (должно быть более TON19/20)
IF S0_Tmr THEN
State := 1;
ELSE
State := 0; // остаемся в текущем состоянии
END_IF

1: // запуск графа, проверка режима работы реверсивных контакторов
IF MdRevKM THEN
State := 2;
ELSE
State := 1; // остаемся в текущем состоянии
end_if

2: // проверка наличия сетевого питания
IF InSplOk THEN
State := 3;
ELSE
State := 4;
END_IF

3: // включение контактора питания от сети КМ1
IF InSplOk = FALSE THEN // если сетевое напряжение пропало
State := 2;
ELSE
State := 3; // остаемся в текущем состоянии
END_IF

4: // проверка наличия питания от генератора
IF GenSplOk THEN
State := 5;
ELSE
// уходим на запуск генератора
State := 20;
END_IF

CORSAR1500
02.12.2021, 18:42
Важно, чтобы в каждом состоянии в любом случае выполнялась команда присвоения State := ... . Тогда все будет работать.

rovki
02.12.2021, 20:03
Как пример - кусок кода. Не знаю как правильно его вставлять:
FUNCTION State: udint; //имя функции и тип данных выхода

VAR_INPUT //объявление входных переменных
SaveState : udint; // сохраненное значения состояния в предыдущем цикле
MdRevKM : bool; // режим работы реверсивных контакторов 0=ручной / 1=автомат
MdFuelVlv : bool; // режим работы топливного крана 0=ручной / 1=автомат
MdGen : bool; // режим работы генератора 0=ручной / 1=автомат
InSplOk : bool; // сетевое питание в норме
GenSplOk : bool; // питание от генератора в норме
FuelVlvOpn : bool; // топливный кран 1=открыт
FuelVlvCls : bool; // топливный кран 1=закрыт
Start : bool; // импульс первого выполнения программы после загрузки
S0_Tmr : bool; // таймер состояния (загрузка)
S6_Tmr : bool; // таймер состояния (закрытие топливного клапана)
S7_Tmr : bool; // таймер состояния (команда остановки генератора)
S24_Tmr : bool; // таймер состояния (заполнение бензином поплавковой камеры)
END_VAR

VAR //объявление локальных переменных
boolVAR : bool := FALSE;
END_VAR

IF Start THEN
State := 0;
ELSE
CASE SaveState OF
0: // запуск графа, пауза для срабатывания реле контроля напряжения (должно быть более TON19/20)
IF S0_Tmr THEN
State := 1;
ELSE
State := 0; // остаемся в текущем состоянии
END_IF

1: // запуск графа, проверка режима работы реверсивных контакторов
IF MdRevKM THEN
State := 2;
ELSE
State := 1; // остаемся в текущем состоянии
end_if

2: // проверка наличия сетевого питания
IF InSplOk THEN
State := 3;
ELSE
State := 4;
END_IF

3: // включение контактора питания от сети КМ1
IF InSplOk = FALSE THEN // если сетевое напряжение пропало
State := 2;
ELSE
State := 3; // остаемся в текущем состоянии
END_IF

4: // проверка наличия питания от генератора
IF GenSplOk THEN
State := 5;
ELSE
// уходим на запуск генератора
State := 20;
END_IF

Целое сочинение ,которое заменяется несколькими квадратиками:eek:

Сергей0308
02.12.2021, 20:05
Целое сочинение ,которое заменяется несколькими квадратиками:eek:

Согласен: исписали два карандаша!

rovki
02.12.2021, 22:49
Согласен: исписали два карандаша!

Для формул, расчетов еще туда-сюда ...:confused:

gmz_001
03.12.2021, 06:42
Целое сочинение ,которое заменяется несколькими квадратиками:eek:

Конечный автомат очень удобен для проектирования - сразу продумываешь состояния, удобен на этапе отладки - она практически и не нужна, вся отладка прошла еще на листочке на этапе проектирования. Работа КА предсказуема, точно известно состояние ситемы в целом в любой момент времени. Да, он более громоздкий чем переплетения из комбинационной логики.
Вообще, его можно и на fbd и на lad делать, для ПР200 писал. Но st с его CASE of - просто идеальный язык, но опять вылазят ограничения конкретной реализации и вновь нужны костыли.

Малышев Олег
03.12.2021, 09:58
// Вычисление по графику Тпрям(Тнар)
function get_t_dir:REAL;
var_input
//Вход Тнаружн
t_ext:REAL;
max_points:UDINT;
end_var
var
// Итератор
iter:UDINT;
// Т наружнего воздуха
t_extern:array [1..3] of real:=[-25.0,0.0,15.0];
// Т прямой - в сеть
t_direct:array [1..3] of real:=[80.0,55.0,30.0];
end_var
// Если Меньше = Нижней точки
if t_ext<=t_extern[1] then
get_t_dir:=t_direct[1];
ELSE
if t_ext>=t_extern[max_points] then
get_t_dir:=t_direct[max_points];
ELSE
iter:=1;
// Вычисляем в цикле
while iter<max_points do
if t_ext>=t_extern[iter] then // Нашли
// вычисление по формуле Y(x)=Y1+(Y2-Y1)*( (x-x1) / (x2-x1))
get_t_dir:=t_direct[iter]+(t_direct[iter+1]-t_direct[iter])*(t_ext-t_extern[iter])/(t_extern[iter+1]-t_extern[iter]);
iter:=100;
end_if
iter:=iter+1;
end_while
end_if
end_if

// Если больше = верхней точки


end_function

Малышев Олег
03.12.2021, 10:00
// Вычисление дискриминанта
function Discr:real;
var_input
a,b,c:REAL;
end_var
Discr:=pow(b,2.0) - 4.0*a*c;
end_function


// Вычисление корня 1 квадратного уравнения
FUNCTION Get_Roots : bool;
VAR_INPUT
a,b,c:REAL;
end_var
var
d:real;
x1,x2:REAL;
end_var
d:=Discr(a,b,c );
if (d<0.0) then
Get_Roots:=false;
ELSE
x1:=((-b)+pow(d,0.5))/(2.0*a);
x2:=((-b)-pow(d,0.5))/(2.0*a);
Get_Roots:=true;
end_if
END_FUNCTION

Ельцов Андрей
03.12.2021, 12:41
Здравствуйте!
Сделаю несколько комментариев по поводу основных предложений и замечаний.
1. Функциям нужны ещё выходы.
Мы будем это реализовывать в будущих версиях. Это не простая задачка, там будет и сохранение переменных. По сути это ФБ.
2. Использовать функцию в функции или в макросе.
Тоже есть в планах, но ФБ в приоритете.
3. Экспорт импорт в файл. Тоже реализуем, задачка не сложная. Пока отказались, т.к. много чего не поддержано в СТ.

Если что-то упустил, прокомментируйте, пожалуйста.

kondor3000
03.12.2021, 18:33
Здравствуйте!
Сделаю несколько комментариев по поводу основных предложений и замечаний.
1. Функциям нужны ещё выходы.
Мы будем это реализовывать в будущих версиях. Это не простая задачка, там будет и сохранение переменных. По сути это ФБ.
2. Использовать функцию в функции или в макросе.
Тоже есть в планах, но ФБ в приоритете.
3. Экспорт импорт в файл. Тоже реализуем, задачка не сложная. Пока отказались, т.к. много чего не поддержано в СТ.

Если что-то упустил, прокомментируйте, пожалуйста.
Очень радует, что будут ФБ, несколько выходов и применение одного в другом)
А вопросы у меня такие:
1) В языке ST будут поддержаны другие команды и функции, сейчас не поддержанные, например TIME( ) ?
2) Будут ли введены типы данных BYTE, INT, WORD, DINT, DWORD и TIME ? И преобразование одного в другое?
Или минимум, вместо UDINT сделать DINT и DWORD и их преобразования в REAL и обратно.

Ельцов Андрей
04.12.2021, 15:20
Очень радует, что будут ФБ, несколько выходов и применение одного в другом)
А вопросы у меня такие:
1) В языке ST будут поддержаны другие команды и функции, сейчас не поддержанные, например TIME( ) ?
2) Будут ли введены типы данных BYTE, INT, WORD, DINT, DWORD и TIME ? И преобразование одного в другое?
Или минимум, вместо UDINT сделать DINT и DWORD и их преобразования в REAL и обратно.

Да. То что написали будем реализовывать. Конечно, сразу все не выкатим, но постепенно все будет.
Как Вы, для себя, видите приоритеты?

Ollema
04.12.2021, 18:37
Очень радует данное развитие Лоджика! Пока потестирую, для полноценного использования не хватает возможности расположения в макросах и сохранение функций в файл.

Сергей0308
04.12.2021, 19:54
Может для развития сменить микроконтроллер перейти с STM32 на GD32, цена ниже а характеристики(частота, память) в несколько раз выше, к тому же по ножкам совпадает, просто другой чип на плату припаять.

рабочая частота до 108 МГц для семейства GD32F1 (у STM32F1 до 72 МГц),
объем FLASH памяти до 3 Мб (у STM32F2 не более 1 Мб),
объем оперативной памяти до 256 Кб (у STM32 не более 128 Кб)

https://www.eltech.spb.ru/mikrokontrollery-gigadevice-instrukciya-po-osvoeniyu?yclid=7215488065851930099

kondor3000
04.12.2021, 22:17
Да. То что написали будем реализовывать. Конечно, сразу все не выкатим, но постепенно все будет.
Как Вы, для себя, видите приоритеты?

Для начала, хотелось бы всё таки ФБ с возможностью добавлять выходы (сколько переменных на выход поставил, столько выходов и получил) и памятью внутри блока, а так же возможность использовать функции и ФБ в любом месте программы. Остальное по мере разработки.
Если честно, я с самого начала думал, что будут просто макросы на ST, со всеми их возможностями. Зачем сделали функции мне не понятно, хотя если как переходной процесс, тогда можно понять.

Кстати хорошая мысль у Сергей0308, поставить более дешёвый и производительный процессор, конечно если это возможно. Архитектура и по ногам как я понял идентичный.

Ельцов Андрей
04.12.2021, 22:37
Может для развития сменить микроконтроллер перейти с STM32 на GD32, цена ниже а характеристики(частота, память) в несколько раз выше, к тому же по ножкам совпадает, просто другой чип на плату припаять.

рабочая частота до 108 МГц для семейства GD32F1 (у STM32F1 до 72 МГц),
объем FLASH памяти до 3 Мб (у STM32F2 не более 1 Мб),
объем оперативной памяти до 256 Кб (у STM32 не более 128 Кб)

https://www.eltech.spb.ru/mikrokontrollery-gigadevice-instrukciya-po-osvoeniyu?yclid=7215488065851930099

Сергей, комментарий, конечно, слабо относится к СТ, но отвечу. Большая часть продуктов у нас уже переведена на gd. К сожалению, не от хорошей жизни. Проблема с поставками МК затрагивает всех производителей.
Что касается увеличения памяти и пр., возможно, дойдём и до этого, но сейчас задача №1 обеспечить поставки продуктов с заявленными характеристиками. Даже в таком формате gd преподносит сюрпризы, хотя нужно отдать должное китайцы очень постарались над бесшевным преходом;)

Ельцов Андрей
04.12.2021, 22:41
Для начала, хотелось бы всё таки ФБ с возможностью добавлять выходы (сколько переменных на выход поставил, столько выходов и получил) и памятью внутри блока, а так же возможность использовать функции и ФБ в любом месте программы. Остальное по мере разработки.

Кстати хорошая мысль у Сергей0308, поставить более дешёвый и производительный процессор, конечно если это возможно. Архитектура и по ногам как я понял идентичный.


Про цену Сергею не написал. Разницу в цене не вы, не мы не заметим. 1-2$ никак не отразится на конечной цене продукта, тем более что производители мк и других компонентов планомерно задирают цены: х3 и более. Дефицит делает свое дело.

Ельцов Андрей
05.12.2021, 12:07
Друзья! Давайте по теме ST, пожалуйста:)

Итог полемик известен: "лучше быть здоровым и богатым, чем ..."

melky
05.12.2021, 12:43
По сути Макрос это и есть FB, просто пользовательский. Соответственно на ST необходимо делать не только Функции но и FB (макрос)

з.ы. вот взять тот же FB Blink или скажем TON который уже реализован в ОЛ и соответственно в прошивке ПР, просто нужен доступ к его запросу из ST.
Все.

kondor3000
05.12.2021, 13:29
По сути Макрос это и есть FB, просто пользовательский. Соответственно на ST необходимо делать не только Функции но и FB (макрос)

з.ы. вот взять тот же FB Blink или скажем TON который уже реализован в ОЛ и соответственно в прошивке ПР, просто нужен доступ к его запросу из ST.
Все.

Тут возможно не всё так просто, собираются ввести тип переменных TIME, DINT, DWORD ( функцию TIME(); и конвертацию TIME_TO_ DWORD и обратно),
а в этих таймерах выхода ET нет как класса.
Неизвестно что проще, переделывать все таймеры или сделать доступ к внутреннему времени, которое там есть вообще то.
Мне кажется, проще было сразу сделать макросы (ФБ) на ST, со всеми его свойствами (что обещают сделать). Вставка одного в другой, память внутри, выходов сколько надо. А не городить огород с функциями.

kondor3000
06.12.2021, 14:51
Кто мешает сделать функция в другой функции.
Попробуйте вставить функцию в макрос, ничего не выйдет. Функцию в функцию можно вставить, только изменив код и потеряв выход одной из них. Просто блоком вставить нельзя.

Можно ещё расположить функции рядом и использовать одну в другой. Но опять же, собрать в макрос нельзя.

kondor3000
06.12.2021, 18:34
Больше ожидать нам нечего от овен лоджик. Как сказали на семинаре только функция и все, и то на это они шли со скрипом.

Это вы зря, пропустили пару страниц))


Здравствуйте!
Сделаю несколько комментариев по поводу основных предложений и замечаний.
1. Функциям нужны ещё выходы.
Мы будем это реализовывать в будущих версиях. Это не простая задачка, там будет и сохранение переменных. По сути это ФБ.
2. Использовать функцию в функции или в макросе.
Тоже есть в планах, но ФБ в приоритете.
3. Экспорт импорт в файл. Тоже реализуем, задачка не сложная. Пока отказались, т.к. много чего не поддержано в СТ.


А так же.
1) В языке ST будут поддержаны другие команды и функции, сейчас не поддержанные, например TIME( ).
2) Будут введены типы данных BYTE, INT, WORD, DINT, DWORD и TIME. И преобразование одного в другое.


Да. То что написали будем реализовывать. Конечно, сразу все не выкатим, но постепенно все будет.

keysansa
06.12.2021, 22:33
А структуры будут ?
При наличии структур и функций надобности в фб нету.
А TIME() даст возможность запилить любые таймеры.

ФБ, на секундочку, умеют хранить промежуточные данные.

Филоненко Владислав
07.12.2021, 11:36
Структуры, без сомнения, будут.

Ollema
07.12.2021, 12:09
Так и до поддержки Win10 дойдем :)

IVM
07.12.2021, 21:32
К вопросу о полезности текстового языка. Переделываю проект. В нем ПР200, панель и облако. Программа на ПР200 - жуть, черт ногу сломит. И при этом не все хотелки смогли в OL реализовать. Я предложил часть функционала перенести в панель и сделать в макросах на C. В макросах на C все получается просто и красиво. После редактирования проекта в OL от схемы остаются рожки да ножки. ;) Текстовый язык - это сила.

Сергей0308
08.12.2021, 09:47
К вопросу о полезности текстового языка. Переделываю проект. В нем ПР200, панель и облако. Программа на ПР200 - жуть, черт ногу сломит. И при этом не все хотелки смогли в OL реализовать. Я предложил часть функционала перенести в панель и сделать в макросах на C. В макросах на C все получается просто и красиво. После редактирования проекта в OL от схемы остаются рожки да ножки. ;) Текстовый язык - это сила.

Может тогда логичней, если сложный алгоритм работы, сразу применить полноценный ПЛК, не надо было бы изощряться и перекладывать нагрузку на панель!
Здесь вопрос разумности конкретного решения, ни о чём другом это не говорит!

Можно найти гораздо больше обратных примеров замены ПР релейной логики, когда на ОЛ можно быстрей и лучше сделать!
Надо использовать преимущества тех или иных средств(а не их недостатки), по доступности программирования ОЛ нет равных в смысле, по сравнению с текстовыми языками!

А конкретный пример, как я понимаю, изначально не совсем продуманный, ни о чём не говорит, тем более о языках программирования!

IVM
08.12.2021, 10:23
Может тогда логичней, если сложный алгоритм работы, сразу применить полноценный ПЛК, не надо было бы изощряться и перекладывать нагрузку на панель!
Здесь вопрос разумности конкретного решения, ни о чём другом это не говорит!

Можно найти гораздо больше обратных примеров замены ПР релейной логики, когда на ОЛ можно быстрей и лучше сделать!
Надо использовать преимущества тех или иных средств(а не их недостатки), по доступности программирования ОЛ нет равных в смысле, по сравнению с текстовыми языками!

А конкретный пример, как я понимаю, изначально не совсем продуманный, ни о чём не говорит, тем более о языках программирования!

Сергей0308 и rovki известные апологеты FBD. ;) Гибче надо быть, ибо жизнь сложна и многообразна. Что касается конкретного случая, то я разгребаю то, что изначально наворотили без моего участия.

keysansa
08.12.2021, 18:22
ФБ это просто синтаксический сахар для функции и структуры. Промежуточные данные хранятся в структуре.

Сахар, согласен. Вкусный и удобный. Не надо искать отдельно структуру и отдельно ее обработку. Даже если они имеют одинаковые номера.
Но сахар немного горчит, когда в обработку нужно передать 2-5 структур, которые используются другими 2-5 обработками.
Тут ФБ не только сахар.

Сергей0308
08.12.2021, 18:26
Сергей0308 и rovki известные апологеты FBD. ;) Гибче надо быть, ибо жизнь сложна и многообразна. Что касается конкретного случая, то я разгребаю то, что изначально наворотили без моего участия.

Я в принципе не могу выступать за то, в чём абсолютно не разбираюсь, если Вы в этом разбираетесь и считаете нужным, то сами и пропагандируйте, меня увольте от вашей затеи! Не могут пчёлы выступать против мёда или хищники за вегетарианство! Короче, это естественно и предсказуемо, почему Вы от меня ждёте противоестественных действий?

keysansa
08.12.2021, 18:28
К вопросу о полезности текстового языка. .
Мне сразу всплывает, что не нужна мышь для редактирования программы. Что нет "проводочков", которые для понимания, нужно растащить по полю, что бы они не пересекались. Что можно легко выделить и вставить код туда куда хочется, не заботясь о том, как поведут себя соединения. На схему несложной логики, без автомата состояния - норм.

Я предложил часть функционала перенести в панель и сделать в макросах на C. В макросах на C все получается просто и красиво. После редактирования проекта в OL от схемы остаются рожки да ножки. ;) Текстовый язык - это сила.

Препроцессор C - это отдельный язык. Но повсеместно использовать макросы - я бы не стал.

keysansa
08.12.2021, 18:37
Примитивный автомат из пары десятков шагов и свободными переходами ?

Есть уже толковые реализации для данного варианта, это SFC, например. Где, тоже только тыкая мышкой, изредка набирая условия перехода, любой автомат нарисовать - на раз-два.
ЗЫ. И автомат в SFC выглядит лучше в отладке, чем текстовый код.

Ollema
09.12.2021, 19:32
К вопросу о полезности текстового языка. Переделываю проект. В нем ПР200, панель и облако. Программа на ПР200 - жуть, черт ногу сломит. И при этом не все хотелки смогли в OL реализовать. Я предложил часть функционала перенести в панель и сделать в макросах на C. В макросах на C все получается просто и красиво. После редактирования проекта в OL от схемы остаются рожки да ножки. ;) Текстовый язык - это сила.

+1000!
Я тут для микроконтроллера код писал - модбас там, то, да се. Код с одну страницу, все наметанным взглядом просматривается, правится в мгновение ока.
Потом решил эту программу перенести на ПР200. Первое что обломало - отсутствие групповых запросов... Я на микроконтроллере не задумываясь просил слейва выдать мне сколько нужно регистров и получал все, что нужно. ПР200 - увы. Ну а хитросплетение проводов по экрану мало кого оставит равнодушным при желании переделать программу :)

Ollema
09.12.2021, 19:36
Может тогда логичней, если сложный алгоритм работы, сразу применить полноценный ПЛК

Это когда бабла девать некуда, можно всюду ПЛК ставить! Чтобы на ST писать! ПЛК ради ST! Все остально не важно! Так что ли!
ПЛК нужен не где алгоритм сложный! А где важно то, чего не может более дешевое устройство!

K123
09.12.2021, 20:33
+1000!
Ну а хитросплетение проводов по экрану мало кого оставит равнодушным при желании переделать программу :)

Тут всего лишь культуру и порядок надо соблюдать. Комменты и оформление.
Даже свой код спустя короткое время можно не понять, если писать "на отвяжись".
В самом начале меня тоже занимал вопрос - как читать эту паутину (я в курсе, что вы не новичок :) ).
Если вы еще не дошли самостоятельно, подсказываю - комменты и оформление:
58263
Читается отлично, особенно если переменные не называть X1, Y3

Сергей0308
09.12.2021, 21:48
Это когда бабла девать некуда, можно всюду ПЛК ставить! Чтобы на ST писать! ПЛК ради ST! Все остально не важно! Так что ли!
ПЛК нужен не где алгоритм сложный! А где важно то, чего не может более дешевое устройство!

Вы поймите, в основном(чаще всего) возможности ПР зависят от возможностей(способностей) конкретного человека, есть конечно и объективные ограничения, типа невозможности работы на нестандартном протоколе по сетевому интерфейсу(и др.), но и здесь не всё однозначно, в смысле, что большинство и имея ПЛК не смогут это организовать!
Предложите что либо, что Вы считаете нельзя сделать на ПР по субъективным причинам(мне пока ничего в голову не приходит, в смысле логики, что я на ПР не смог бы сделать), только по-русски, в смысле, чтобы понятно было, без всяких там словечек, типа массивы или конечный автомат, надеюсь, понятно?!

Ollema
09.12.2021, 21:51
K123, да, конечно, сейчас тоже оформляю так, чтобы не паутиной все перечеркивать :) Спорить бесмыссленно - больше дело привычки сказывается. И, поскольку ранее я писал на языках высокого уровня, к иным мозг еще не так адаптировался. Поэтому есть прекрасная возможность совмещать. Некоторые вещи мне, например, удобнее на FDB изобразить, другие гораздо быстрее и проще на ST описать. Овен однозначно молодцы!

Ollema
09.12.2021, 21:57
Сергей0308, по объктивным причинам нужно решать по применяемости, а не субъективным :) И речь, конечно, не про логику, которую на ПР можно с успехом реализовать, а про что-либо нестандартное - реализация каких то интерфейсов, обработка скоростных сигналов, где ПР200 не успевает. Наверное, есть еще много того, что ПР не сможет (вспомнил - с модемом связаться еще), но дело в том, что я сам практически все появляющиеся задачи решаю с помощью ПР, хватает. Многие же закладывают ПЛК от непонимания возможностей ПР.

bayk
09.12.2021, 23:07
это будет немало квадратиков, но не меньше и текста. учитывая, что сейчас ст это только функция.

kondor3000
09.12.2021, 23:09
Вы поймите, в основном(чаще всего) возможности ПР зависят от возможностей(способностей) конкретного человека, есть конечно и объективные ограничения, типа невозможности работы на нестандартном протоколе по сетевому интерфейсу(и др.), но и здесь не всё однозначно, в смысле, что большинство и имея ПЛК не смогут это организовать!
Предложите что либо, что Вы считаете нельзя сделать на ПР по субъективным причинам(мне пока ничего в голову не приходит, в смысле логики, что я на ПР не смог бы сделать), только по-русски, в смысле, чтобы понятно было, без всяких там словечек, типа массивы или конечный автомат, надеюсь, понятно?!

Бессмысленный спор. Полно причин работать с ПЛК, а не с ПР, несколько сотен переменных передавать надо, нет группового опроса, точность измерений, нужна структурная разветвлённая логика, скорость выполнения программ, быстрые входы-выходы, нет типов переменных стрингов, времени и других, не входит в реестр средств измерений. Лично мне достаточно 3-4 пунктов из перечисленного. Это далеко не все причины, которые можно назвать. Про структуры и файлы, массивы и остальное, даже не пишу.
И никто не будет ломать голову как вы, пытаясь передавать через 64 сетевые 192*8 регистров.
Я сам начинал с квадратиков, а потом изучив ST понял, какой иногда это маразм.
В некоторых случаях 10 листов квадратиков, можно превратить в 10 строк.

Сергей0308
10.12.2021, 13:39
1.Лить пока не поднимется 2-й поплавок, но в аварию если долго его нет или появится без 1-ого поплавка
2.После греть пока не сработает термостат, но в аварию если упадет 1-й поплавок или появится внешний сигнал продолжения
3.После ждать внеший сигнал продолжения, но в аварию если упадет 1-й поплавок или упадет тем-ра
4.Долить до 2-ого поплавка, но в аварию если упадет темп-ра или выйдет время равное 3-ему шагу
5.После ждать заданное время, но в аварию если упадет 2-й поплавок или упадет тем-пра
6.После греть до 2-ого термостата, но в аварию если упадет 2-й поплавок или долго нет термостата или появится внешний сигнал продолжения
7.Сливать ниже 1-го поплавка , но в аварию если долго сливаем, но на шаг 4 если появится внешний сигнал продолжения
8.На шаг 1

Если была авария - указать цикл, шаг и причину
Иметь возможность перейти назад/вперед

Просто любопытно как это будет в квадратиках

Это несложная задача для ОЛ, я бы сказал даже простая, возможно компактной и не получится, я этого и не обещал, короче, никаких проблем не вижу в плане реализации! По времени, думаю, пара часов уйдёт на создание. Для отсчёта(задания) шагов создаём счётчик с возможностью перехода на любой шаг, можно универсальный счётчик использовать с минимальным обвесом! Это наверно относительно самая сложная часть проекта, остальное попроще будет. Далее расписываем(реализуем) логику работы в каждом шаге и т. д., надеюсь суть понятна и я обычно логику выполняю в целочисленном виде, там схема проще получается, если логика достаточно сложная(мудрёная), типа какую Вам надо!

gmz_001
10.12.2021, 19:51
Собственно это и есть конечный автомат. Сложность в том что он получается громоздким и, если применять минимизации логических схем перехода состяний - интуитивно непонятным. И неудобство реализации записи из нескольких мест в один счетчик
Вот по сути то жесамое, но на основе флагов состояний.
http://window.edu.ru/resource/659/76659/files/Методичка3_1.pdf

А вот подобное, но на текстовом языке, что проще вот вопрос...
http://is.ifmo.ru/download/1minute.pdf

Вот пример того что на ST в пару десятков строк поместится, но в FBD это целый лист

keysansa
10.12.2021, 19:59
Измените при работе таймера (например) его внутренние* данные == "передать 2-5 структур, которые используются другими 2-5 обработками"
Получите такое же гуано. Вопрос - накой ?
*Отсутствие черточек (доступа) это спички (которые дитям не игрушка (это к вопросу - накой)) положенные в шкафчик на ключик.

Я не понял, правильно ли вы прочитали мое сообщение (в последнее время такое наблюдается, то я неправильно читаю ваши, то вы мои). Я за текст, если что.

keysansa
10.12.2021, 20:04
Собственно это и есть конечный автомат. Сложность в том что он получается громоздким и, если применять минимизации логических схем перехода состяний - интуитивно непонятным. И неудобство реализации записи из нескольких мест в один счетчик
Вот по сути то жесамое, но на основе флагов состояний.
http://window.edu.ru/resource/659/76659/files/Методичка3_1.pdf

А вот подобное, но на текстовом языке, что проще вот вопрос...
http://is.ifmo.ru/download/1minute.pdf

Первые реализации SFC я видел у Mitsubishi FX1N (не факт, что они первые, и тем более, единственные). Но сейчас везде есть, кто хоть сколько старается стандартам соответствовать. У Owen тоже есть.

gmz_001
10.12.2021, 20:19
У низшей линейки Delta нет, как и в случае с программируемыми реле.

keysansa
10.12.2021, 20:27
У низшей линейки Delta нет, как и в случае с программируемыми реле.

Чисто технически - это линейка сравнения целого числа со значением и изменение этого целого числа по условиям.

gmz_001
10.12.2021, 20:36
Нужно делать мультиплексор с количеством входов по числу состояний. Делал такое. Неудобно. Неудобство именно в том что запись в переменную возможен только в одном месте. В обычных языках есть ветвление алгоритма, и никто тебе не мешает писать в одну переменную в разных ветвях, да и вообще в разных шагах линейного алгоритма.

keysansa
10.12.2021, 20:39
Нужно делать мультиплексор с количеством входов по числу состояний. Делал такое. Неудобно.

Мультиплексор - ненужное усложнение.
Хотя, при отсутствии функции простого сравнения, согласен, возможно лучшее решение.

keysansa
10.12.2021, 20:49
У низшей линейки Delta нет, как и в случае с программируемыми реле.

Если вы говорите не про Owen, а про Delta, то:
1. Вы не на том форуме.
2. Detla очень похожа на Mitsubishi, поищите в документации слово "STL", или прочитайте тут (https://docs.yandex.ru/docs/view?tm=1639158222&tld=ru&lang=en&name=FX1S-FX1N-FX2N(C)_Series-min.pdf&text=mitsubishi%20fx1n%20SFC&url=https%3A%2F%2Fwww.elinc.ru%2FDownloads%2FMitsu bishi%2Fmodules%2FFX1S-FX1N-FX2N%2528C%2529_Series-min.pdf&mime=pdf&l10n=ru&sign=23ba22ac5777f3f5b38ee562d42f3154&keyno=0&nosw=1&serpParams=tm%3D1639158222%26tld%3Dru%26lang%3Den% 26name%3DFX1S-FX1N-FX2N(C)_Series-min.pdf%26text%3Dmitsubishi%2Bfx1n%2BSFC%26url%3Dh ttps%253A%2F%2Fwww.elinc.ru%2FDownloads%2FMitsubis hi%2Fmodules%2FFX1S-FX1N-FX2N%252528C%252529_Series-min.pdf%26mime%3Dpdf%26l10n%3Dru%26sign%3D23ba22ac 5777f3f5b38ee562d42f3154%26keyno%3D0%26nosw%3D1) про STL и найдите похожее.

IVM
14.12.2021, 18:54
Сделал первую функцию на ST. Получилось легко и просто. Даже не ожидал такого. Настоящий подарок на Новый год всем почитателям текстовых языков программирования.

Огромный респект хорошим парням из фирмы ОВЕН. ;)

rovki
14.12.2021, 20:02
А внутри то что ? На FBD ни как ?

IVM
14.12.2021, 21:45
А внутри то что ? На FBD ни как ?

Внутри 1 строчка на ST. На FBD корячиться бы пришлось, а я этого не люблю. ;)

Ollema
14.12.2021, 23:54
В макросы бы еще эти функции совать чтобы компактнее получилось на поле боя.

Филоненко Владислав
15.12.2021, 12:53
Сделал первую функцию на ST. Получилось легко и просто. Даже не ожидал такого. Настоящий подарок на Новый год всем почитателям текстовых языков программирования.

Огромный респект хорошим парням из фирмы ОВЕН. ;)

Спасибо, мы старались!

IVM
15.12.2021, 18:08
Кто-нибудь пробовал оператор CASE ? Что-то он у меня не работает как надо. Не понятно как можно использовать оператор CASE если в функции не сохраняются значения переменных.

rovki
15.12.2021, 19:41
Внутри 1 строчка на ST. . ;)

Секретная ?

kondor3000
15.12.2021, 20:19
Кто-нибудь пробовал оператор CASE ? Что-то он у меня не работает как надо. Не понятно как можно использовать оператор CASE если в функции не сохраняются значения переменных.

Уже автомат состояний пробовал сделать, как сделать, описал почти в подробностях CORSAR1500 , в этой теме на 7 странице. Со скринами и частью кода)
Главное на выходе состояние вывести, для состояния, сделать задержку на цикл, и подать на вход, а таймеры все снаружи поставить. И главное ведь работает) хоть и делал просто для проверки.

IVM
15.12.2021, 22:00
Уже автомат состояний пробовал сделать, как сделать, описал почти в подробностях CORSAR1500 , в этой теме на 7 странице. Со скринами и частью кода)
Главное на выходе состояние вывести, для состояния, сделать задержку на цикл, и подать на вход, а таймеры все снаружи поставить. И главное ведь работает) хоть и делал просто для проверки.

Громоздко получается. Все таки макрос на ST надо в FB упаковывать.

kondor3000
15.12.2021, 23:07
Громоздко получается. Все таки макрос на ST надо в FB упаковывать.

Это точно)

игорь68
16.12.2021, 22:49
Ждем нормальные толковые учебники оп st.

Ollema
16.12.2021, 22:50
Можно с Паскаля начать. У нас в институте до сих пор об нем не забыли, наверное.

Сергей0308
16.12.2021, 23:49
Можно с Паскаля начать. У нас в институте до сих пор об нем не забыли, наверное.

Выражайтесь понятней для неискушённых людей!
Паскаль занимался многим:
https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D1%81%D0%BA%D0%B0%D0%BB%D1%8C,_%D0%91 %D0%BB%D0%B5%D0%B7

Ollema
17.12.2021, 08:36
Какие учебки вам дали для простых расчетов и хватит размечтались. Кто у них тогда ПЛК покупать будет. Вы о чем ребята. Купи продай хотят зарабатывать на нас.

Нет чтобы бесплатно приборы раздавали, скупердяи.

IVM
17.12.2021, 11:21
Первый шаг сделан. Надо двигаться разработчикам дальше. Функция на ST хорошо, но ее возможности ограничены. Надо делать ФБ на ST. Также надо расширять типы данных. Нужны математические функции: LN, LOG, EXP, SIN, COS, ABS, ASIN, ACOS.

IVM
17.12.2021, 11:46
В Китае уже раздают бери и ставь. Из-за этого и скачок производств. Ну те хоть копируют. А эти все только обещают. Дальше функций не двинутся вот увидите.

Откуда столько пессимизма ?

Ollema
17.12.2021, 12:26
В Китае уже раздают бери и ставь. Из-за этого и скачок производств. Ну те хоть копируют. А эти все только обещают. Дальше функций не двинутся вот увидите.

Ставь. Если что, китайские сервисные центры тебе помогут в любом случае. А так же гугл, чтобы в них разобраться.

Ревака Юрий
17.12.2021, 13:20
Дальше функций не двинутся вот увидите.
Знаем мы Вас, сначала был холивар что и ST никому не нужен, и никогда его не будет и т.д. Теперь ST стартонул, давай новые байки, появится ФБ, что там на очереди, есть уже заготовки:D

Филоненко Владислав
17.12.2021, 13:40
Первый шаг сделан. Надо двигаться разработчикам дальше. Функция на ST хорошо, но ее возможности ограничены. Надо делать ФБ на ST. Также надо расширять типы данных. Нужны математические функции: LN, LOG, EXP, SIN, COS, ABS, ASIN, ACOS.

Мало, мало желающих ФБ на ST, расширения типов и прочего сахара. У нас в руководстве проектом бытует мнение что всё это не нужно, никем не используется и вообще место только в приборах занимает. Клиентов нет!

IVM
17.12.2021, 13:44
Знаем мы Вас, сначала был холивар что и ST никому не нужен, и никогда его не будет и т.д. Теперь ST стартонул, давай новые байки, появится ФБ, что там на очереди, есть уже заготовки:D

"Ладно, ладно, детки, дайте только срок,
Будет вам и белка, будет и свисток!" ;)

Плещеев А. Н.


С нетерпением ждем развития ST для ПР.

kondor3000
17.12.2021, 13:46
Мало, мало желающих ФБ на ST, расширения типов и прочего сахара. У нас в руководстве проектом бытует мнение что всё это не нужно, никем не используется и вообще место только в приборах занимает. Клиентов нет!

Ну вы просто убили! Сначала пишите, что всё будет, люди успокоились и ждут. Теперь вы заявляете, что ничего не будет. Это официальное заявление?

IVM
17.12.2021, 13:50
Мало, мало желающих ФБ на ST, расширения типов и прочего сахара. У нас в руководстве проектом бытует мнение что всё это не нужно, никем не используется и вообще место только в приборах занимает. Клиентов нет!

Зачем гадать ? Устройте опрос. Мне ST со всеми его прибамбасами очень нужен. Часто приходится делать проекты на ПР ОВЕН. Наличие полноценного ST в OL сильно бы облегчило жизнь.

Первейшая задача - это ФБ на ST, потом все остальное.

keysansa
17.12.2021, 22:21
ST сертифицирован IEC. Значит используется.
Ну и от меня:
Умеет в структуры, перечислимые, наследования типов.
Умеет в функции и функциональные блоки.
В CodeSys его научили в ООП, но пока не знаю, понравилось ли мне это, пока больше нет.
Умеет FOR, CASE. Чем перекрывает преимущества SFC.

Остальным языкам приходится страдать...

keysansa
17.12.2021, 22:26
Ардуино разумеется система библиотечная и требует разбора и понимания той или иной библиотеки и переделки для требуемых задач. Но увы знаний нет и переделка невозможно для большинства. Все таки в ардуино есть политика стуканья по рукам ребятам я про высокий уровень кода библиотек, который окончательно убивает интерес. Но основа Си в этом случае становится приоритетом для них первый язык в памяти откладывается четко.
Это я так для общего понимания приоритетов в рынке и молодого поколения.
С и ардуино далеко друг от друга. Нет заголовков, слабый дефайн.
Но хорошо, что есть дешевая платформа для оттачивания навыков.

Ревака Юрий
17.12.2021, 23:48
Си также интересен группе студентов и радиолюбителей микропроцессорных умных вещей это и есть ваш рынок посуте конкуренция ардуинщиков :)

Против Си ничего против не имею, на счет "ардуинщиков" и среды в целом, мое мнение, люди от нее деградируют и очень сильно, если не расширяют свой кругозор, даже на этом форуме по промышленной автоматизации их достаточно много появляется в последнее время, их сразу видно по первым сообщениям, и как правило это тупиковый путь.

Rake Runner
18.12.2021, 08:41
Предлагал сделать макросы на си, нет выбрали путь st вот и пришли к экономическим разногласием.

К каким разногласиям?


А на си профи работали а их мизер вот и небело конкуренции ПЛК.

И какой тогда смысл поддерживать С, если он нужен мизеру людей?


Си также интересен группе студентов и радиолюбителей микропроцессорных умных вещей это и есть ваш рынок

Рынок ОВЕН - это вообще-то системы промышленной автоматизации, а не студенты и самоделкины.


Приходятся работать с молодежью с ребятами которые окончили училище либо имели по года два три стаж КИПиА все хотят научится программировать ПР, ПЛК но увы к сожалению им трудно понять МЕК языки

Если предположить, что они действительно неплохо знают С, и при этом им "трудно понять" языки стандарта МЭК - то есть серьезные вопросы к их квалификации.
У ST и С есть некоторые мелкие отличия в синтаксисе, но все они спокойно запоминаются за пару дней по ходу дела.
Тому, кто знает С, не надо "учить" ST - там такое же структурное программирование (https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D 0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0 %B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%B D%D0%B8%D0%B5) и тот же набор операторов.
Хорошая статья на тему: http://www.codesys.ru/docs/st_c.pdf

Ну и, собственно, не хотят понимать - пусть идут шкафы собирать, в чем проблема.

С экономической точки зрения - сомневаюсь, что кто-то будет прислушиваться к жалобам студента типа "а я вот умею только на С, залажите в проект ПЛК с С, а то МЭК-языки сложные, ни хачу учить...". Программируй то, что дают, а если не хочешь - студентов много, проблем найти такого, который не будет выеживаться, особо и нет.

И к тому же, для студентов инженерных специальностей первым языком в настоящее время становится Python, а не С.
Хотя не удивлюсь, если деды в уфимских шарагах продолжают преподавать С (еще времен K&R наверняка), потому что ничего другого не знают и не хотят изучать.



Но почему не подружить всех и не обеднить через макрос Си.

Потому что вы сами выше написали про МЭК - "эта основа принципов и подходов сегодняшнего дня".
И вы сами выше писали про С - это мизер профи и студенты-неучи.
Вот поэтому нет смысла никого "обеднять".


МЭК эта основа принципов и подходов сегодняшнего дня но думаю уже вчерашнего

А С, который старше МЭК лет на 30, это будущее, да?
Написали хотя бы, почему вы так думаете.


но действительно начальников я бы побил. Хотя сейчас их везде навалом из за этого и стоим на месте. А за бугром смеются над нами и потирают руки.

Какой же кошмар у человека в голове...


В принципе кто мешает делать тестовою не официальную версию лоджика с макросом си. Думаю положительный ответ рынка не стал долго ждать. Пробуйте все в ваших руках.

Разработайте свои программируемые реле с IDE АдрейЛоджик и программированием на С.
Думаю, реакция рынка (https://www.meme-arsenal.com/memes/ad0347c4180447742b8ab2c474565fac.jpg) не заставит себя ждать.
Пробуйте, все в ваших руках.

Rake Runner
18.12.2021, 09:56
Хотите продаж подстраивайтесь под народ а он вот такой сейчас лучше не найдете.

В вашем представлении - да. Но только в вашем представлении.
Почему оно должно быть значимым для других людей?


Делайте востребованные рынку устройства и по реальной цене плюхаетесь уже сколько а паровоз все стоит. Кто сейчас будет квадратиками формулы рисовать.

Судя по данному разделу форума, ПР - востребованные на рынке устройства и значительному числу людей нравится "квадратиками формулы рисовать".
Если вы предпочитаете ПЛК, программируемые на С - используйте их, в чем проблема-то.
Зачем только ныть об этом в данной теме - непонятно.

melky
18.12.2021, 10:44
Адрей давайте начнем с простого, микропроцессор вообще не знает о таких вещах как Си, ST и прочем... Потом подумайте и сделайте выводы.


Чисто в довесок, покажите хоть одно импортное ПР, основанное на языках МЭК и поддерживающие вставки на C, ST или любом текстовом языке ?
Хочется посмотреть на смеющихся производителей...

melky
18.12.2021, 11:36
Адрей мое первое предложение прочитайте очень внимательно....

ПР это очень маломощный компьютер, неспособный нести в себе интерпретаторы в принципе. Вам нужен такой подход? берите ПЛК на основе микроПК, где у вас возможен любой язык. Есть на WindowsCE, есть на Linux и "пилите Шура, пилите" (с)

rovki
18.12.2021, 21:01
Приходятся работать с молодежью с ребятами которые окончили училище либо имели по года два три стаж КИПиА все хотят научится программировать ПР, ПЛК но увы к сожалению им трудно понять МЕК языки и у большинства интерес просто отпадает пр знакомстве с ними, дело в том что платы ардуино и софт покрутилось уже в их головах. Ардуино разумеется система библиотечная и требует разбора и понимания той или иной библиотеки и переделки для требуемых задач. Но увы знаний нет и переделка невозможно для большинства. Все таки в ардуино есть политика стуканья по рукам ребятам я про высокий уровень кода библиотек, который окончательно убивает интерес. Но основа Си в этом случае становится приоритетом для них первый язык в памяти откладывается четко.
Это я так для общего понимания приоритетов в рынке и молодого поколения.
.,
Вы ошибаетесь , есть FBD для ардуино , отечественная разработка, называется FLProg! Ни библиотек,

melky
18.12.2021, 22:27
rovki вы ошибаетесь, FLProg всего лишь надстройка над IDE это как раз для тех, кто в С не шарит вообще...

rovki
19.12.2021, 10:39
rovki вы ошибаетесь, FLProg всего лишь надстройка над IDE это как раз для тех, кто в С не шарит вообще...

Так пользователю какая разница кто у кого надстройка, я и говорю что можно рисовать квадратики для кучи МК(ESP,STM,AVR) не зная кода и библиотек . Тысячи пользователей , пусть для себя ,не являясь электронщиками и тем более программистами применяют МК для своих целей, благодаря FLProg. Это я о том, что FBD легче заходит в голову , даже не подготовленным пользователям. Да и статистика показывает, что 80% ПЛК использует LD и FBD в мире. Уверен, что благодаря , в первую очередь языку(ОЛ) , а во вторую цене ПР выпускается и продается тысячами в месяц...Естественно, что язык накладывает некоторые ограничения на круг решаемых задач и области применения(ниши), отсюда и разделение на ПЛК и ПР...Если 1% пользователей воспользуются ST в ПР200, то хорошо...
Лично я не один десяток ардуинщиков вдохновил ПР200, освоив ФЛ и почувствовав вкус творчества они переходят на ОЛ ( не забывая о ФЛпрог) в зависимости от решаемых задачах.
Часто использую совместно ФЛпрог и ОЛ (ESP,AVR и ПР200) , там где требуется быстродействие, например -управление ШД...

Rake Runner
19.12.2021, 11:04
Да и статистика показывает, что 80% ПЛК использует LD и FBD в мире. .

А можно ссылку на статистику?
Интересно, что там по другим языкам.

IVM
19.12.2021, 13:30
А можно ссылку на статистику?
Интересно, что там по другим языкам.

Давал он когда-то ссылку, но статистика была очень древняя.

rovki
19.12.2021, 17:06
Давал он когда-то ссылку, но статистика была очень древняя.

По крайней мере это не мое субъективное мнение - https://controleng.ru/proekty-i-vnedrenija/v-fokuse-polzovateli-udovletvoreny-rabotoi-plk/
https://dieselit.ru/spravka/plk-eto.html
Речь только о языках для ПЛК(ПР) ,а не языках программирования вообще.

IVM
20.12.2021, 15:35
Филоненко Владислав, вот с каких образцов надо брать пример. А вы там в ОВЕНе что-то все колеблетесь, рассуждаете, надо-не надо. ;)

Нормальный ST в ПР ОВЕН однозначно нужен.

rovki
21.12.2021, 09:04
ST однозначно нужен.
До кучи ;) и LD

Филоненко Владислав
21.12.2021, 10:27
До кучи ;) и LD

Кому нужен LD-то? Чисто для галочки и монтажников за 80+?

melky
21.12.2021, 10:56
Филоненко Владислав будете смеяться, но некоторые производители импортного оборудования имеют только LD, при этом хорьки ПЛК в несколько раз превосходят ваши поделия.... забавно, не правда ли?

rovki
21.12.2021, 15:51
Кому нужен LD-то? Чисто для галочки и монтажников за 80+?
Странно слышать от вас такое. На заводе где я работал линия по производству пенополистирола (современная) из Европы(почти лимон баксов), там одни митсубиси контроллеры и все сделано на LD.Вот ,что значит ориентация на ЖКХ...

IVM
21.12.2021, 18:50
До кучи ;) и LD

LD изначально должен был быть в ПР. ПЛК и ПР в свое время и появились для замены логики, сделанной на ЭМ реле. Вот эта схема на LD элементарно программируется.

IVM
21.12.2021, 18:53
Кому нужен LD-то? Чисто для галочки и монтажников за 80+?

LD широко используется. DELTA, например, в ПЧ использует LD. Они по вашему кто ?

rovki
21.12.2021, 19:51
LD широко используется. DELTA, например, в ПЧВ использует LD. Они по вашему кто ?

Статистика, что приводил, подтверждается...Да куча PLC ...
Странно, что Владислав не в курсе , хотя он же не пользователь...Другие инструменты использует....

Сергей0308
21.12.2021, 20:37
В этом и проблема, что конструктор, что новые автобусы проектирует, на автобусах не ездит, надеюсь аналогия понятна! Будь такой конструктор хоть трижды гениален, но он понятия не имеет, что надо пассажиру, водителю, механику!

Filini
21.12.2021, 21:30
LD отдыхает для ПРхх он там не нужен при наличии FBD.
Вот именно, LD это анахронизм и то, что его применяют в каких-то импортных изделиях не говорит ровным счетом ни о чем.
Это тоже самое, что латынь в медицине, практического значения ни какого, но учат все.

Filini
21.12.2021, 21:43
LD изначально должен был быть в ПР. ПЛК и ПР в свое время и появились для замены логики, сделанной на ЭМ реле. Вот эта схема на LD элементарно программируется.

Вы хотели бы чтобы "железо" стало новым, а язык программирования его перекочевал из того, от чего избавились?))))

kondor3000
21.12.2021, 21:58
Самое главное, все статистику посмотрели наверно, но выводов никто не сделал.
Там за последние два года, а это был 2007 !!! в 3 раза увеличилось количество пользователей языка ST.
За прошедшие 14 лет это количество наверняка перевалило за 50 %, если не к 90 подошло. Какой LD люди? Даже FBD круче и удобней.
А функция в одну строчку на ST заменяет запросто 2 десятка квадратиков! Если не сотню.

melky
21.12.2021, 22:12
kondor3000 опять же для смеха, если не брать в расчет ST и прочее, а сравнивать между LD и FBD то некоторые вещи на LD делаются проще, чем на FBD/
а в реализации ОЛ это будет выглядеть как паутина связей, да еще и с понятием "обратная"...

rovki
21.12.2021, 22:24
LD отдыхает для ПРхх он там не нужен при наличии FBD. Смотрим уровнем выше. Далее меняем название с ПР на ПЛК и будет счастье, при наличии конечно ST и макросов на C. И убедительная просьба уберите кондеры с ПР они сейчас не надежные, ставьте тантал замучились менять их и в ПЛК. Фотки скину весной когда поменяю кондеры и батарейки на 30 ПЛК этой зимой посадки напряжения замучили котельные встают и обнуляются уставки.

Странно рассуждаете , на LD куча народа, работающие на импортных PLC, и переходить на FBD сложновато ,но проще чем на ST, особенно электронщику.

rovki
21.12.2021, 22:29
Вы хотели бы чтобы "железо" стало новым, а язык программирования его перекочевал из того, от чего избавились?))))

Смотрите шире, за рамки квартиры , вам же показали статистику в мире( ну конечно они нам не указ) ,а вы все старое, старое.. Не старее чем модбас !!!
И не надо сравнивать железо (меняется технология) с ПО , тут все консервативней (старый друг, лучше новых двух).

kondor3000
21.12.2021, 23:16
Сейчас написал функцию на ST, упаковка 16 бит в маску. Всем известный макрос из 16 квадратов. Уложился в 2 строки и то, только потому, что название макроса длинное.
B16_Mask.0 := b0; B16_Mask.1 := b1;
Работает присвоение через точку, какой же кайф)))) 58431 58432
Любители LD и FBD, большинство, даже не знают, что такое возможно)))

Сергей0308
21.12.2021, 23:35
Сейчас написал функцию на ST, упаковка 16 бит в маску. Всем известный макрос из 16 квадратов. Уложился в 2 строки и то, только потому, что название макроса длинное.
B16_Mask.0 := b0; B16_Mask.1 := b1;
Работает присвоение через точку, какой же кайф)))) 58431 58432

А смысл делать хуже, чем ранее было, я неоднократно выкладывал, в свойствах макроса назначается бит для каждого входа и имеется целочисленный вход расширения, Ваш макрос ущербен по функционалу, Вы этим невольно дискредитируете ST, мне так кажется.

58433

kondor3000
21.12.2021, 23:46
А смысл делать хуже, чем ранее было, я неоднократно выкладывал, в свойствах макроса назначается бит для каждого входа и имеется целочисленный вход расширения, Ваш макрос ущербен по функционалу, Вы этом невольно дискредитируете ST, мне так кажется.

58433

Без обид, но вы больны старым ОЛ наверное, как можно столько лет сидеть в одном болоте и хвалить его столько лет) Где движение вперёд, к новому?
Некоторые предлагают катиться назад вообще к LD, самый тупой язык, для современного западного мира, воспитанного на зубрёжке тестов в школе, вместо нормального обучения. Давайте тупому западу уподобимся.
Замкни контакт, чтобы реле сработало. Маразм какой то и это в 21 веке.
А любителям LD по барабану, что вы выкладываете, и какой функционал есть. Они продолжают тратить целые регистры на передачу одного бита.

Filini
22.12.2021, 06:05
А любителям LD по барабану, что вы выкладываете, и какой функционал есть. Они продолжают тратить целые регистры на передачу одного бита.

Ну так может они еще и с пейджерами ходят, только зачем это всем остальным?

Filini
22.12.2021, 06:11
Смотрите шире, за рамки квартиры , вам же показали статистику в мире( ну конечно они нам не указ) ,а вы все старое, старое.. Не старее чем модбас !!!
И не надо сравнивать железо (меняется технология) с ПО , тут все консервативней (старый друг, лучше новых двух).

Если уж заговорили "о всем мире и они нам не указ", то посмотрите кто в ЕС и США нанимается ПР? В основном это инженеры, которые заточены на решение конкретных задачь.
А теперь посмотрите уже, в рамках одной страны, у нас задачи на ПР решают не только инженеры, но и младший технический состав, реалии жизни таковы.
Если FBD вполне легко осваиваемый язык, то LD с его катушками и контактами это муть сплошная впервые его увидевшего.
Изучить конечно можно все, но вопрос зачем?))))

Filini
22.12.2021, 08:26
Ну вот и наступил конец эпохи "программируемого реле ПР". Да здравствует эпоха "недоПЛК ПР"))

очень верное описание ситуации.

BETEP
22.12.2021, 09:01
Сейчас написал функцию на ST, упаковка 16 бит в маску. Всем известный макрос из 16 квадратов. Уложился в 2 строки и то, только потому, что название макроса длинное.
B16_Mask.0 := b0; B16_Mask.1 := b1;
Работает присвоение через точку, какой же кайф)))) 58431 58432
Любители LD и FBD, большинство, даже не знают, что такое возможно)))

Я любитель LD и открою вам тайну, Ваша функция в Дельте или Мицубиши будет выглядеть так: MOV K4M0 D0
В Омроне ещё проще, там бит это всегда бит из какого то слова, т.е. упаковка-распаковка не имеет никакого смысла.

В Тиа портале и Сисмак студии на LD и ST можно писать вперемешку, т.е. в LD можно делать вставки на ST, очень удобно чередовать текстовый язык с графическим.
Возможно вы нормального LD ни разу не видели.

kondor3000
22.12.2021, 09:08
Я любитель LD и открою вам тайну, Ваша функция в Дельте или Мицубиши будет выглядеть так: MOV K4M0 D0
В Омроне ещё проще, там бит это всегда бит из какого то слова, т.е. упаковка-распаковка не имеет никакого смысла.

В Тиа портале и Сисмак студии на LD и ST можно писать вперемешку, т.е. в LD можно делать вставки на ST, очень удобно чередовать текстовый язык с графическим.
Возможно вы нормального LD ни разу не видели.

А ничего, что здесь обсуждается Овен лоджик, раздел программируемого реле? И надо ли внедрять ST в ОЛ ?

BETEP
22.12.2021, 09:09
Вы любителя LD оскорбили, вы наверно самый умный?

kondor3000
22.12.2021, 09:41
Вы любителя LD оскорбили, вы наверно самый умный?

Чем оскорбил? Тем что многие не знают присвоение битов через точку? Если вы знаете, хорошо, а вы форум почитайте, 90 % вопросов в не знании даже азов программирования, все электрики в программирование ударились. И главное ничего учить не хотят.

rovki
22.12.2021, 09:53
Чем оскорбил? Тем что многие не знают присвоение битов через точку? Если вы знаете, хорошо, а вы форум почитайте, 90 % вопросов в не знании даже азов программирования, все электрики в программирование ударились. И главное ничего учить не хотят.

Вот для электриков и создавалось ПР, а для вас ПЛК:rolleyes: И ни каких точек и запятых ! В ПЛК все есть(языки) ,что вас на ПР тянет, неужто дорого? Более скажу - в МК ударились водители, учителя и даже безработные , благодаря FBD, отнимая хлеб у" белой кости".

Rake Runner
22.12.2021, 10:00
. Время идет, технологии растут, разрядность процессоров уже 32 битная, ресурсы и подходы процессоров требуют С, проще сделать компиляторы чем идти к кубикам в прошлое. .

Просто напомню, что язык С появился в те же годы, что и первые ПЛК.
И ПЛК / пром. ПК, программируемые на С, существуют очень давно.
И rovki, кстати, совсем недавно выкладывал статистику по поводу того, какие языки выбирают пользователи для программирования ПЛК - язык С там тоже есть.
Можно оценить его реальную востребованность на рынке ПЛК.
https://owen.ru/forum/showthread.php?t=35489&p=371051&viewfull=1#post371051



На кубиках для современных роботах алгоритм не построишь. Без роботов в России с нехваткой чел ресурсов не как

А кто мешает?
Алгоритмы можно реализовать на любом языке.
Языки МЭК 61131-3 успешно используются в том числе и для управления роботами.
https://www.plcopen.org/news/plcopen-motion-control-robotics
https://www.youtube.com/watch?v=5xKtpJ1EMvM

kondor3000
22.12.2021, 10:24
И rovki, кстати, совсем недавно выкладывал статистику по поводу того, какие языки выбирают пользователи для программирования ПЛК - язык С там тоже есть.
Можно оценить его реальную востребованность на рынке ПЛК.

Про статистику, написал на предыдущей странице, статистика за 2007 год, это как раз показатель, что читать отвыкли, лучше написать не по делу, вырвав кусок из контекста.

Самое главное, все статистику посмотрели наверно, но выводов никто не сделал.
Там за последние два года, а это был 2007 !!! в 3 раза увеличилось количество пользователей языка ST.
За прошедшие 14 лет это количество наверняка перевалило за 50 %, если не к 90 подошло. Какой LD люди? Даже FBD круче и удобней.
А функция в одну строчку на ST заменяет запросто 2 десятка квадратиков! Если не сотню.

Rake Runner
22.12.2021, 10:34
Про статистику, написал на предыдущей странице, статистика за 2007 год, это как раз показатель, что читать отвыкли, лучше написать не по делу, вырвав кусок из контекста.

Приведите ссылку на более актуальную статистику, если можете - обсудим ее.

Филоненко Владислав
22.12.2021, 10:53
Филоненко Владислав будете смеяться, но некоторые производители импортного оборудования имеют только LD, при этом хорьки ПЛК в несколько раз превосходят ваши поделия.... забавно, не правда ли?

Забавно что LD еще кем-то здесь приветствуется.
Как на нём писать сложные многокомпонентные программы?
Как их потом поддерживать (а это обычно десятилетия, все давно уволились)?
Если нужно пару I/O соединить- еще приемлемо,но большие ПЛК на LD???

Филоненко Владислав
22.12.2021, 10:56
LD широко используется. DELTA, например, в ПЧВ использует LD. Они по вашему кто ?

Ну есть у Дельты готовый код под LD. А кода и денег под ST нету. Естественно будут использовать LD, что ж им теперь помирать?
Так и в отдалённых регионах Амазонки до сих пор в ходу каменные топоры, более того, там есть индустрия их производства!
Теперь что, все производители в мире обязаны иметь в линейке каменные топоры?! Иначе общество не поймёт!

rovki
22.12.2021, 11:08
Самое главное, все статистику посмотрели наверно, но выводов никто не сделал.
Там за последние два года, а это был 2007 !!! в 3 раза увеличилось количество пользователей языка ST.
За прошедшие 14 лет это количество наверняка перевалило за 50 %, если не к 90 подошло. Какой LD люди? Даже FBD круче и удобней.
А функция в одну строчку на ST заменяет запросто 2 десятка квадратиков! Если не сотню.

Что вы все фантазируете -50%,90% . Вы хоть знаете кто лидер по выпуску PLC в мире, который один выпускает столько , сколько все вместе взятые и какие языки там применяются ?

rovki
22.12.2021, 11:14
Ну есть у Дельты готовый код под LD. А кода и денег под ST нету. Естественно будут использовать LD, что ж им теперь помирать?
Так и в отдалённых регионах Амазонки до сих пор в ходу каменные топоры, более того, там есть индустрия их производства!
Теперь что, все производители в мире обязаны иметь в линейке каменные топоры?! Иначе общество не поймёт!

Еще один фантазер:) Особенно про топор у японцев - LD, FBD, ST, SFC (Mitsubishi), аборигены какие то.

Филоненко Владислав
22.12.2021, 11:22
Еще один фантазер:) Особенно про топор у японцев - LD, FBD, ST, SFC (Mitsubishi)

LD - это и есть каменный топор в автоматизации. Наследие релейных шкафов. Ну а как мы все знаем, камера с 100 Мпикселями гораздо лучше чем с 50 МПикселями, маркетинг не даст соврать! Так и тут, для галочки добавим LD, благо это ничего не стоит.
Покажем следование стандарту МЭК.
Найдем седого бородатого инженера, который в LD дока - вот и потребитель!

rovki
22.12.2021, 11:32
Да, дураки все...бородатые, доживают свой век, зачем им новые PLC- так думает представитель Российской компании, выражая (слава Богу) свое мнение.
Маркетинг это о продажах, а не качестве. Вас послушать так у всех айфоны, хотя в у нас 80% это андроиды.
Если добавить LD ни чего не стоит, так добавьте , глядишь на %10 вырастут объемы продаж - бородатых инженеров гораздо больше чисто выбритых программеров.
Лично я использую только FBD (хотя и LD приходилось использовать), поэтому говорю не о собственном пристрастии, а о том как дела обстоят(реально).

BETEP
22.12.2021, 12:07
LD - это и есть каменный топор в автоматизации. Наследие релейных шкафов.
Вообще то LD наследник IL (Instruction List), т.е. это и есть IL, только в графическом виде.
У некоторых производителей отображение проги между LD и IL переключается одной кнопкой.
------------------
В идеале, когда на одной портянке в LD можно делать вставки на ST, т.е. логика (условия) на LD а математика на ST.
if с длинным условием, с вложенными скобками, понимается с трудом, в онлайн отладке не информативен. То же самое на LD читается мозгами практически мгновенно, в отладке сразу видно чего не хватает для выполнения условий.

игорь68
22.12.2021, 14:17
Ну у меня был в обслуживании завод керамзитных изделий(делали кирпич). Стаяли мицубиси на всех узлах линии и был ld. Этот язык быстро научил читать схемы от Выхода ко входу. А FBD понятен со времен ЛА3.

IVM
22.12.2021, 17:49
Забавно что LD еще кем-то здесь приветствуется.
Как на нём писать сложные многокомпонентные программы?

Каждой задаче свой язык. Релейку удобно делать на LD, расчеты - на ST и т.д. В CoDeSys в одном проекте можно использовать все 5 языков и это замечательно. В ПР ОВЕН пока только один приличный язык программирования, ST - в зачаточном состоянии.

rovki
22.12.2021, 18:16
Дело не только в задач, которые накладывают ограничения на язык, но и в Человеке (пользователе), его восприятии . Много раз писал- программист это писатель, электроншик- художник. У каждого свой язык реализации и принцип восприятия . Тест читается (воспринимается) последовательно в мозгу человека, а картина параллельно, вся или фрагментами. Потому и сохраняются графические языки(картинки) , а не только тексты, в зависимости от прежнего опыта мастера, его способа восприятия ...

Ollema
22.12.2021, 18:47
А почему бы не поговорить про вкус фломастеров? По мне так будет полноценно ST - здорово! Не будет - чтож, будем на FDB творить, конец света не наступит. Динозаврам LD прошу не наливать.

keysansa
22.12.2021, 19:58
Против Си ничего против не имею, на счет "ардуинщиков" и среды в целом, мое мнение, люди от нее деградируют и очень сильно, если не расширяют свой кругозор, даже на этом форуме по промышленной автоматизации их достаточно много появляется в последнее время, их сразу видно по первым сообщениям, и как правило это тупиковый путь.

Это не тупик, это развитие. Огромное количество разнообразного кода, часто с описанием, с привязкой к несложным, и бытовым (понятным) задачам - самое то для лабораторных работ. Похожесть на C (с ограничениями платформы), по моему вносит свой плюс.

keysansa
22.12.2021, 20:01
Как то одни политики не помню из какой партии, ярко двигали западный лозунг чтобы люди были цветные разные по мнению и пониманию событий, то что мы видим на экране 60минут результат. Я про басню "Лебедь, рак и щука". Конечно я не против языков МЭК эта основа принципов и подходов сегодняшнего дня но думаю уже вчерашнего. Но почему не подружить всех и не обеднить через макрос Си. Я не сомневаюсь в профессионализме ребят кто делает лоджик хвала им и слава, но действительно начальников я бы побил. Хотя сейчас их везде навалом из за этого и стоим на месте. А за бугром смеются над нами и потирают руки. В принципе кто мешает делать тестовою не официальную версию лоджика с макросом си. Думаю положительный ответ рынка не стал долго ждать. Пробуйте все в ваших руках.



Потому что SFC гораздо удобнее ST (LD и прочего) в написании программы, выполняющейся по шагам. При этом, может выступать и документацией, так как представляет графически алгоритм выполнения.

keysansa
22.12.2021, 20:14
Если предположить, что они действительно неплохо знают С, и при этом им "трудно понять" языки стандарта МЭК - то есть серьезные вопросы к их квалификации.

Все языки МЭК - обычно со строгой типизацией. Больше отличий от C я не увидел. Тем более, что некоторые производители позволяют включать программы и на С в проект. Лично я пользуюсь только для того, что мне ни один язык МЭК не позволяет передавать в качестве параметра функции - указатель на другую функцию. В остальном, меня полностью устраивают. И их строгая типизация - очень правильна.



У ST и С есть некоторые мелкие отличия в синтаксисе, но все они спокойно запоминаются за пару дней по ходу дела.

ST - это все-таки больше Pascal. Отличия там значительные, но не принципиальные, согласен.



Тому, кто знает С, не надо "учить" ST
С экономической точки зрения - сомневаюсь, что кто-то будет прислушиваться к жалобам студента типа "а я вот умею только на С, залажите в проект ПЛК с С, а то МЭК-языки сложные, ни хачу учить...". Программируй то, что дают, а если не хочешь - студентов много, проблем найти такого, который не будет выеживаться, особо и нет.

Жалобы студента - только от его, студента лени. Его учат С не для контроллера, а для общего образования. Это как если бы студенты на факультете стихотворения жаловались на то, что их русскому языку учат.



И к тому же, для студентов инженерных специальностей первым языком в настоящее время становится Python, а не С.
Хотя не удивлюсь, если деды в уфимских шарагах продолжают преподавать С (еще времен K&R наверняка), потому что ничего другого не знают и не хотят изучать.

Качели Java/Python даавно наблюдаю.

keysansa
22.12.2021, 20:26
Не буду ветку засорять. Как сделаете реальные макросы будем закупать пачками ПР.

Я видимо что-то пропустил, но макросы у Овен - реальные, макс глубину вложения не проверял, но никогда не утыкался в нее.

ЗЫ. Да, лично меня бы более устроило текстовое программирование ПР, но я понимаю, что для изучения, более наглядно графическое.

keysansa
22.12.2021, 20:30
Надо не смотреть им в рот а делать. Предложи еще на ассемблере писать.

Если вам ассемблер не нравится, что вы про гибкость разговор тогда затеяли? )

keysansa
22.12.2021, 22:06
Что вы все фантазируете -50%,90% . Вы хоть знаете кто лидер по выпуску PLC в мире, который один выпускает столько , сколько все вместе взятые и какие языки там применяются ?

Это утверждение надо сравнивать с количеством новых (и сложных) проектов. Китайцы штампуют на Siemens своего производства серийные станки. Это показатель чего? Количества программистов на этом языке вендоре или количество пользователей, которые к программированию не имеют никакого отношения?

melky
23.12.2021, 09:04
На счет китайцев - их очень много, а умных мало. Недавно тут рассказали, что ИБП Хуавей, при подключении нового инвертора в систему в нем хранит все прошивки и обновляет всю систему до последней версии без участия инженера. При чем причина простая, отсутствие обученного персонала...

petera
23.12.2021, 11:17
На счет китайцев - их очень много, а умных мало. Недавно тут рассказали, что ИБП Хуавей, при подключении нового инвертора в систему в нем хранит все прошивки и обновляет всю систему до последней версии без участия инженера. При чем причина простая, отсутствие обученного персонала...

Ага! Три китайца умные, а остальные три миллиарда - тупые
Американская пропаганда, типичная!

ЗЫ.
А Вы знаете, что эти не умные, сейчас, в режиме реального времени, осваивают Луну, их луноход вовсю пашет обратную сторону Луны.

игорь68
23.12.2021, 12:06
В справке к лоджику в разделе помощь. Если открыть раздел ST. Тип данный REAL aдальше корявый перевод с немецкого.

keysansa
25.12.2021, 14:35
Ага! Три китайца умные, а остальные три миллиарда - тупые
Американская пропаганда, типичная!

ЗЫ.
А Вы знаете, что эти не умные, сейчас, в режиме реального времени, осваивают Луну, их луноход вовсю пашет обратную сторону Луны.

На самом деле не много. Много приглашенных специалистов, которые и работают.
Но и с преподаванием у них очень хорошо, согласен. Так же много и приглашенных преподавателей, и сами с 90х ездят по всему миру, смотрят учатся (в 2002, находясь на режимном предприятии в НН видел толпы китайцев, изучающих все и вся).
Сейчас вижу много оборудования из китая (изнутри, так как стыкую одно с другим).

Filini
25.12.2021, 14:44
На самом деле не много. Много приглашенных специалистов, которые и работают.


Странно, спецы едут к "тупым" китайцам, а не в просветленную Россию. Может хватит уже этот бред нести? Как минимум российский автопром китайцы задавили точно.

keysansa
25.12.2021, 15:20
Странно, спецы едут к "тупым" китайцам, а не в просветленную Россию. Может хватит уже этот бред нести? Как минимум российский автопром китайцы задавили точно.

Так учителя надо там, где не хватает своих специалистов. Что не так?
ЗЫ. И специалисты-то едут оттуда, где они есть, из "просветленной" в том числе. Или из нее не едут?

IVM
25.12.2021, 17:19
В свое время сделал свой FB ПИД на ST в среде CoDeSys на основе стандартной формулы с добавлением собственных хотелок. После появления ST в среде OL тупо скопировал текст в макрос функции. Макрос функции состоит из объявления переменных и восьми строк текста. В макрос на ST собственные хотелки перенести невозможно, т.к. у функции только 1 выход. Можно то же самое сделать на FBD, но возни будет много больше.

В очередной раз призываю разработчиков ОВЕН отбросить прочь сомнения и реализовать полноценный ST для OL. Если это будет сделано, то ПР ОВЕН превратится в маленького гиганта ;) большой автоматизации.

Трудно представить сколько добра наворотят пользователи OL при появлении полноценного ST.

Считаю, что разработчикам фирмы ОВЕН при принятии решений надо внимательно прислушиваться к мнению квалифицированных представителей форума.

keysansa
25.12.2021, 17:58
IVM - полностью поддерживаю! Именно так и расширялся IEC/МЭК!
ЗЫ. 50% шутки.

Filini
25.12.2021, 18:36
Считаю, что разработчикам фирмы ОВЕН при принятии решений надо внимательно прислушиваться к мнению квалифицированных представителей форума.

Если это будет сделано, то ПР ОВЕН превратится в маленького гиганта ;) большой автоматизации.

Последовательность будет такой, а потом этот "гигант" быстро умрет, т.к. надоест в короткий срок именно "квалифицированных представителей форума".

IVM
25.12.2021, 18:38
Последовательность будет такой, а потом этот "гигант" быстро умрет, т.к. надоест в короткий срок именно "квалифицированных представителей форума".

Ничего не понял. Кто кому надоест ?

capzap
25.12.2021, 21:45
стоолько страниц уже исписано в разговорах ни о чем. Квалифицированные специалисты не должны использовать только один язык, они обязаны работать со всем разнообразием в программировании. Конкретно в ОЛ текстовый язык нужен чтоб появилась возможность использовать массивы и циклы, а сейчас тема развивается как будто у тех кто писал программы в ОЛ отобрали их любимые квадратики

rovki
25.12.2021, 22:02
Согласен, но речь исключительно о расстановки приоритетов в ограниченных условиях.

rovki
25.12.2021, 22:28
А почему бы для расчетов(формул) не выбрать математические записи на подобии как в EXCEL? Вопросов бы вообще не было.

IVM
25.12.2021, 23:04
Согласен, но речь исключительно о расстановки приоритетов в ограниченных условиях.

А какие сейчас у разработчиков OL приоритеты ?

Filini
26.12.2021, 07:45
стоолько страниц уже исписано в разговорах ни о чем. Квалифицированные специалисты не должны использовать только один язык, они обязаны работать со всем разнообразием в программировании. Конкретно в ОЛ текстовый язык нужен чтоб появилась возможность использовать массивы и циклы, а сейчас тема развивается как будто у тех кто писал программы в ОЛ отобрали их любимые квадратики

Разве сейчас негде использовать массивы и циклы? Есть ПЛК, не? Или хотим на "дешевом железе", но "чтобы как в ПЛК"? Вот и получится как написали выше - недоПЛК.)))))
Не нравятся "квадратики", идите в ПЛК, развивайтесь, мне достаточно "квадратиков" в ПР для решения моих задач.

Filini
26.12.2021, 07:47
Кому не нравятся "квадратики" советую посмотреть "Zelio Soft" от Schneider Electric, там тоже "квадратики" и ни кого это не напрягает.

rovki
26.12.2021, 10:50
А какие сейчас у разработчиков OL приоритеты ?

Не очень совпадающие с потребностью пользователей

Filini
26.12.2021, 10:59
Не очень совпадающие с потребностью пользователей

высокомерное утверждение))))))))))))))))))))))))))))))))))))))) ))))

IVM
26.12.2021, 10:59
Кому не нравятся "квадратики" советую посмотреть "Zelio Soft" от Schneider Electric, там тоже "квадратики" и ни кого это не напрягает.

Тех кто пользуется квадратиками вопрос о ST в OL вообще не должен волновать. ;)

Filini
26.12.2021, 11:03
Тех кто пользуется квадратиками вопрос о ST в OL вообще не должен волновать. ;)

да он нас так-то и не волнует, это вы пришли в наши ПР с ST, а не мы со своими "квадратиками пришли и попросили их добавить в ПЛК.
Так что это вам тусоваться из нашего монастыря с уставом ST нужно, а не указывать что нас должно волновать, а что нет.
У вас есть ПЛК, пишите там что хотите. Дорого? Так научитесь зарабатывать, а не пытайтесь навязать производитель свое мнение.:)

IVM
26.12.2021, 11:15
да он нас так-то и не волнует, это вы пришли в наши ПР с ST, а не мы со своими "квадратиками пришли и попросили их добавить в ПЛК.
Так что это вам тусоваться из нашего монастыря с уставом ST нужно, а не указывать что нас должно волновать, а что нет.
У вас есть ПЛК, пишите там что хотите. Дорого? Так научитесь зарабатывать, а не пытайтесь навязать производитель свое мнение.:)

А что вас так напрягает ? Лично вам никто ничего не навязывает. Разработчики сами во всем разберутся, не надо за них переживать. А места под солнцем всем хватит, и квадратчикам и STшникам. ;)

Filini
26.12.2021, 11:25
А что вас так напрягает ? Лично вам никто ничего не навязывает. Разработчики сами во всем разберутся, не надо за них переживать. А места под солнцем всем хватит, и квадратчикам и STшникам. ;)
Меня ни чего не напрягает.
Так зачем вам ST в ПР? Вы можете ответить на простой вопрос?

IVM
26.12.2021, 11:32
Меня ни чего не напрягает.Так успокойтесь наконец и займите более конструктивную позицию.


Так зачем вам ST в ПР? Вы можете ответить на простой вопрос?

Для облегчения жизни тем, кто предпочитает наскальной живописи обычный человеческий язык (шутка, но в ней большая доля правды). ;)

Filini
26.12.2021, 11:34
Так успокойтесь наконец и займите более конструктивную позицию.

"Конструктивная" это та, которая совпадает с вашей?



Для облегчения жизни тем, кто не любит наскальную живопись. ;)
Не нравится "наскальная живопись" - берите ПЛК. Дорого? Начните зарабатывать)))))

IVM
26.12.2021, 11:43
"Конструктивная" это та, которая совпадает с вашей?


Не нравится "наскальная живопись" - берите ПЛК. Дорого? Начните зарабатывать)))))

Вас не вразумить. На этом и закончим.

Filini
26.12.2021, 12:18
Вас не вразумить. На этом и закончим.

Вы в своих проблемах разберитесь, начните понимать простые вещи и не усложнять их. Давно все придумано, расширяйте кругозор.

Filini
26.12.2021, 12:18
Вас не вразумить. На этом и закончим.

Вы в своих проблемах разберитесь, начните понимать простые вещи и не усложнять их. Давно все придумано, расширяйте кругозор.

Ollema
26.12.2021, 18:08
Давайте вообще ничего нового развивать не будем? Что есть - этим и пользуйтесь и ни с каким уставом по монастырям не шастайте :)

Filini
26.12.2021, 18:21
Давайте вообще ничего нового развивать не будем? Что есть - этим и пользуйтесь и ни с каким уставом по монастырям не шастайте :)

в каком месте ST новое? )))))))))) Дядя, вам англицкие буковки показали и вы уже что-то новое увидели?
Какой смысл ставить на Оку двигатель от Мерседеса? Ну не станет она Мерседесом, но ломаться точно будет больше. В ОЛ до сих пор баги находят, давайте туда еще ST засунем и вообще за голову возьмемся.
Есть ПЛК, вам там нового не хватает и вы решили код запихать в ПР??? Зачем?

Ollema
26.12.2021, 19:08
Если ранее не было, потом почвилось (в ПР не было) - это новое. Внезапно. А куда чего совать я сам разберусь.

Filini
26.12.2021, 19:17
Если ранее не было, потом почвилось (в ПР не было) - это новое. Внезапно. А куда чего совать я сам разберусь.

Так разбирайся в своем доме, зачем ты навязываешь свои хотелки производителю?))))))

Ollema
26.12.2021, 19:41
Так разбирайся в своем доме, зачем ты навязываешь свои хотелки производителю?))))))

А зачем ты мне запрещаешь это? :) Что хочу, то и навязываю. Мне, потому что, так хочется. Писать на ST. Благо не на твоем заборе пишу :D

Filini
26.12.2021, 19:44
А зачем ты мне запрещаешь это? :) Что хочу, то и навязываю. Мне, потому что, так хочется. Писать на ST. Благо не на твоем заборе пишу :D

за писанину на заборе и получить можно, а вот безнаказанность писанины в интернете многим хотельщикам вседозволенности разум затуманивает.

игорь68
26.12.2021, 20:41
Вот для меня самое главное что бы в тех поддержке по вопросам связанным с ST отвечал отдельный человек. Потому как если мне нужно получить консультацию по фб мне бы не хотелось ждать в очереди пока разберут очередной генеральный код который почему-то не работает в среде ол. А в остальном как в поговорке о фломастерах.

Filini
26.12.2021, 20:53
Вот для меня самое главное что бы в тех поддержке по вопросам связанным с ST отвечал отдельный человек. Потому как если мне нужно получить консультацию по фб мне бы не хотелось ждать в очереди пока разберут очередной генеральный код который почему-то не работает в среде ол. А в остальном как в поговорке о фломастерах.

Вот по этой причине я и против, зная какие "гении" пишут код, проще в зародыше задавить эту бредовую идею.

X200881
27.12.2021, 09:54
о фломастерах.
Где фломастеры для рисования LD?:D
Не могу найти, закатились видать куда то:confused:
С наступающим ВАС НОВЫМ ГОДОМ!!! УРАааааа.

Вольд
27.12.2021, 10:32
Вот по этой причине я и против, зная какие "гении" пишут код, проще в зародыше задавить эту бредовую идею.

Ты хочешь остановить ход истории или затормозить технический прогресс ? Наивный, это еще никому не удавалось. Или ты хочешь стать первым ? ;)

СергейНовосиб
27.12.2021, 10:34
Я по специальность "Радио-инженер-конструктор". В старые времена (СССР, со школы) начинал с того, что разрабатывал и паял схемы на микросхемах и рассыпухе. Начинал осваивать Codesys 2.3 еще в 2011 году и понятного для меня языка CFC, хотя в институте учил "Фортран" (если кто знает, что есть такой язык). До СИ дело не дошло, но база мне позволила освоить и делать проекты и CFC и ST и LT. Сейчас делаю проекты и ОЛ и Codesys 2.3 и Codesys 3.5, при чем объединяя разные контроллеры (ПЛК, ПР и т.д.) по шине в общую систему.
Разные части проекта я делаю на удобном для меня языке. Разные задачи легко делаются на тем языке, который больше удобен.
То, что ОЛ не стоит на месте и движется вперед - это хорошо. Язык ST появился в ОЛ - тоже хорошо. Количество выходов конечно маловато, но думаю в следующих версиях исправят.

С Новым годом товарищи!!!!

Вольд
27.12.2021, 10:53
Я по специальность "Радио-инженер-конструктор". В старые времена (СССР, со школы) начинал с того, что разрабатывал и паял схемы на микросхемах и рассыпухе. Начинал осваивать Codesys 2.3 еще в 2011 году и понятного для меня языка CFC, хотя в институте учил "Фортран" (если кто знает, что есть такой язык). До СИ дело не дошло, но база мне позволила освоить и делать проекты и CFC и ST и LT. Сейчас делаю проекты и ОЛ и Codesys 2.3 и Codesys 3.5, при чем объединяя разные контроллеры (ПЛК, ПР и т.д.) по шине в общую систему.
Разные части проекта я делаю на удобном для меня языке. Разные задачи легко делаются на тем языке, который больше удобен.
То, что ОЛ не стоит на месте и движется вперед - это хорошо. Язык ST появился в ОЛ - тоже хорошо. Количество выходов конечно маловато, но думаю в следующих версиях исправят.

С Новым годом товарищи!!!!

Толково и по делу написал.

игорь68
27.12.2021, 11:12
С новым Годом . Больше проектов . Новых плюшек в лоджик. И всем хорошего настроения. Пошёл собирать последний в этом году передаточный бокс УФ лапами.

Вольд
27.12.2021, 11:48
По сидели, по говорили, и забыли, а паровоз все стоит. Вот и приходится на LD писать. Сидите дальше на кубиках, мечтайте дальше о светлым и будущем.
58509

Какой LD, ты сначала грамотно научись писать ?

Filini
27.12.2021, 11:56
По сидели, по говорили, и забыли, а паровоз все стоит. Вот и приходится на LD писать. Сидите дальше на кубиках, мечтайте дальше о светлым и будущем.
58509
LD выглядит так
58510

Filini
27.12.2021, 11:58
Ты хочешь остановить ход истории или затормозить технический прогресс ? Наивный, это еще никому не удавалось. Или ты хочешь стать первым ? ;)

тормозите пока вы, а прогресс уже ушел далеко от вас, код нормальные люди пишут для ЛПК, а не пытаются его приспособить для примитивного железа в виде ПР.

Вольд
27.12.2021, 12:11
тормозите пока вы, а прогресс уже ушел далеко от вас, код нормальные люди пишут для ЛПК, а не пытаются его приспособить для примитивного железа в виде ПР.

Солнечный Filini, ты случайно пиццы с грибами не объелся ? ;)

Filini
27.12.2021, 12:26
Filini, ты случайно пиццы с грибами не объелся ? ;)

Диванный психоаналитик?
Так тема есть на форуме, она только начинается, но думаю быстро выскочит в ТОП по количеству "почему?" и "что не так в моем коде". Почитай, это недалекое будущие если в ПР полноценно засунут ST)))))))

Филоненко Владислав
27.12.2021, 12:27
По сидели, по говорили, и забыли, а паровоз все стоит. Вот и приходится на LD писать. Сидите дальше на кубиках, мечтайте дальше о светлым и будущем.
58509

Всю жизнь он программировал на CFC, но думал что это LD.

Вольд
27.12.2021, 12:57
Диванный психоаналитик?
Так тема есть на форуме, она только начинается, но думаю быстро выскочит в ТОП по количеству "почему?" и "что не так в моем коде". Почитай, это недалекое будущие если в ПР полноценно засунут ST)))))))

Продолжаешь нести бред ? Я смотрю ты понятия не имеешь что такое современный микроконтроллер.

Вольд
27.12.2021, 13:08
Всю жизнь он программировал на CFC, но думал что это LD.

Для того чтобы думать надо мозги в голове иметь. ;)

Filini
27.12.2021, 13:11
Продолжаешь нести бред ? Я смотрю ты понятия не имеешь что такое современный микроконтроллер.

О да, я насыпал попкорна, слушаю, поясни мне, недалекому, что такое современный микроконтроллер)))))))
Господе, откуда вы такие беретесь?
Может тогда и FBD в ПЛК, для полного веселья? Ну а чО, ST же ума хватило в ПР засунуть, давайте дальше развивать "прогресс", даешь FBD в ПЛК!!!)))))

Филоненко Владислав
27.12.2021, 13:34
О да, я насыпал попкорна, слушаю, поясни мне, недалекому, что такое современный микроконтроллер)))))))
Господе, откуда вы такие беретесь?
Может тогда и FBD в ПЛК, для полного веселья? Ну а чО, ST же ума хватило в ПР засунуть, давайте дальше развивать "прогресс", даешь FBD в ПЛК!!!)))))

О, МЫ ЭТО СДЕЛАЛИ ЕЩЁ В 2004 ГОДУ!

Вольд
27.12.2021, 14:03
О да, я насыпал попкорна, слушаю, поясни мне, недалекому, что такое современный микроконтроллер)))))))
Господе, откуда вы такие беретесь?
Может тогда и FBD в ПЛК, для полного веселья? Ну а чО, ST же ума хватило в ПР засунуть, давайте дальше развивать "прогресс", даешь FBD в ПЛК!!!)))))

Мужик ты дремучий. ПЛК ОВЕН поддерживают 5 языков программирования, FBD в том числе. Ты про CoDeSys что-то слыхал или кроме квадратиков ничего не знаешь ?

Андрей Посохов
27.12.2021, 14:07
Друзья, предлагаю закончить этот разговор и вести конструктивную беседу на тему ветки.
Давайте уважать остальных участников форума.

Вольд
27.12.2021, 14:09
О, МЫ ЭТО СДЕЛАЛИ ЕЩЁ В 2004 ГОДУ!

В.Филоненко, скажите, пожалуйста, какой код будет занимать больше места в памяти ПР, тот что получен после компиляции ST текста или FBD полотна ? Предполагается, что программируется одна и та же задача.

Вольд
27.12.2021, 14:11
Друзья, предлагаю закончить этот разговор и вести конструктивную беседу на тему ветки.
Давайте уважать остальных участников форума.

Извините, но тут идет историческая битва за и против ST в OL.;) Сами понимаете, тут не до сантиментов.

melky
27.12.2021, 14:25
Полагаю, что внутри ПР(ПЛК) компилированный код будет занимать одинаково места. Потому что все, что мы пишем исходит из того, что внедрили в ПР(ПЛК) и не более того... Ну разве что массивы и их организация сэкономит немного места, так как на FBD это куча SEL, а на ST всего лишь выделение памяти на нужное количество переменных. SEL вероятно отнимет немного памяти на себя самого.

Filini
27.12.2021, 15:40
Мужик ты дремучий. ПЛК ОВЕН поддерживают 5 языков программирования, FBD в том числе. Ты про CoDeSys что-то слыхал или кроме квадратиков ничего не знаешь ?

это твоя писанина в соседней ветке: "Понимаем, что компилятор с ST пока сырой. Но паниковать не надо, разработчики все поправят."
)))))))))))))))))))
Может сначала поправить, а потом добавлять в то, что работает?

Ну давай, порассуждай о дремучести, продвинутый ты наш)))))

Filini
27.12.2021, 15:47
В.Филоненко, скажите, пожалуйста, какой код будет занимать больше места в памяти ПР, тот что получен после компиляции ST текста или FBD полотна ? Предполагается, что программируется одна и та же задача.

чувак, пойми ПРОСТУЮ вещь - НЕ НУЖЕН КОД В ПР, просто не нужен и все. Почему не нужен? Так ты сам ответил на этот вопрос в соседней ветке - "Понимаем, что компилятор с ST пока сырой. Но паниковать не надо, разработчики все поправят."
Вот когда поправят, если это будет экономически выгодно производителю, вот тогда стоит об этом говорить)))))

И да, если обратится к мировому опыту, то ни кто в ПР код не сует, т.к. это глупость, у ПР своя ниша, маленькие программы автоматизации, серьезные вещи сразу пишутся под ПЛК, это к вопросу кто из нас дремуч.

sot
27.12.2021, 16:21
Денег нет, но вы держитесь (с)

А по сути - клёво, что можно то, что не можно, например, на сегнетиксе.
Это экономит и силы и нервы. описывать цикличную логику - та ещё лабуда.

но вот ответы разработчиков - напрягают.
Они вообще видят цель?

Filini
27.12.2021, 16:33
Денег нет, но вы держитесь (с)

А по сути - клёво, что можно то, что не можно, например, на сегнетиксе.
Это экономит и силы и нервы. описывать цикличную логику - та ещё лабуда.

"Кроилово ведет к попадалову" Старая еврейская притча.))))

Вольд
27.12.2021, 16:37
чувак, пойми ПРОСТУЮ вещь - НЕ НУЖЕН КОД В ПР, просто не нужен и все. Почему не нужен? Так ты сам ответил на этот вопрос в соседней ветке - "Понимаем, что компилятор с ST пока сырой. Но паниковать не надо, разработчики все поправят."
Вот когда поправят, если это будет экономически выгодно производителю, вот тогда стоит об этом говорить)))))

И да, если обратится к мировому опыту, то ни кто в ПР код не сует, т.к. это глупость, у ПР своя ниша, маленькие программы автоматизации, серьезные вещи сразу пишутся под ПЛК, это к вопросу кто из нас дремуч.

Мне за тебя становится страшно, ты скоро из своих штанов выпрыгнешь. ;)

melky
27.12.2021, 16:38
Filini кажется вы тоже не понимаете простой вещи, в ПР никакой код НИКОГДА и не совался, как и в большинство ПЛК. Все, что вы видите - квадратики TON, TOF, BLINK и так далее, будь они квадратиками или на ST - это все уже реализовано в прошивке (firmware) ПР. ОЛ всего лишь обертка с указанием что, когда и как выполнять, не более того.

Хотя смотря на реализацию ОЛ не удивлюсь, что в ПР загружается картинка с холстом ОЛ, а тот бедолага мучается ее воспроизвести :)