Добрый день.
Появилась новая иконка "Создать функцию на ST" как ее активировать?
Правильно ли я понимаю что теперь можно будет писать в виде кода а не блоков ??
Вид для печати
Добрый день.
Появилась новая иконка "Создать функцию на ST" как ее активировать?
Правильно ли я понимаю что теперь можно будет писать в виде кода а не блоков ??
Могу ли я ее скачать ? очень интересно опробовать.
У меня очень большая программа и с каждым днем расширяю функционал. с блоком уже не удобно их там более 2000 тысяч
Вложение 57626
НЕТ) макросов примерно штук 40-60, я про блоки в этих макросах.
Внизу видно сколько ресурсов используетсяВложение 57627, проет уже весит более 8 мб.
Не удобно дорабатывать, очень много связей. в ст проще
Вложение 57628Вложение 57629
Как тот так. в каждом макросе, который в макросе)
Почему?, FBD никуда не исчез, свобода выбора.
Могу поделится своим ощущением, я на ST написал от силы 5 строчек за всю жизнь, когда мне в руки попал OwenLogic с ST, я без особых усилий переделал макрос, который занимал пространство в виде блоков на весь экран. В итоге получилось несколько строчек кода.
Так что ничего не заканчивается, все только начинается :)
Так о чём это говорит? Вроде неоднократно обсуждалось, что может быть логика, которая на LD будет проще и понятней чем на других языках, может тогда и LD нужно внедрить(тоже просили) следуя вашей логике, короче, налицо двойной подход, как минимум, логические объяснения не выдерживают критики, может тогда лучше и не приводить никаких объяснений?
Пожалуйста юрий! расскажи как это вообще реализовано? отдельный блок как макрос, а внутри текст? и еще душещипательный вопрос, возможно ли выполнять код единоразово? по тригеру например, или он будет всегда крутиться и все одноразовые команды придется ручками реализовывать? я вот мечтаю, чтобы у макроса с ст было дыва входа - один для непрерывного исполнения кода, второй для однократного выполнения кода по переднему фронту. тогда бы тот же пид превратился в одну строчку. было бы так удобно.. но я боюсь, что это только мечты
Вот именно! Одно у овеновцев плохо, они сначала сделают что-то а потом спрашивают у пользователей ... Нет бы наоборот.... А то потом - "ну уже ничего не исправить". Как с трм1.у2 ну можно было же сразу сделать одну единственную модификацию с выходом 24 вольта и rs одновременно. При это rs на выносной платке с шлейфом сделать и сбоку разместить. Вынул ответную часть разъема (как на ип320) вставил в панель и воткнул ее на место.. а сзади пусть бы оставалось все строго как раньше!!! Нет, надо было нагородить две разных печатных платы а потом мучиться с их сборкой... Я просто не понимаю ЗАЧЕЕЕМ!!!! На вопрос почему так сразу не сделали- сказали что за период когда у трм была отдельная модификация на термодатчик и 4-20 80%покупок было на версию с термометром и без питания.... Но это 15 летназад было! Рынок меняется ежегодно минимум!!!
П.с. я не знаю, чем не нравится фбд в ол, но он однозначно лучше чем у Сименса, Митсубиси, сегнетикса. Это только то, с чем я очень плотно работал. Тут не надо забивать голову расположением кубиков относительно друг друга, чтобы это заработало! Вставил задержку и всё понятно и наглядно, а то сдвинул кубик случайно и все... Логика уплыла...бред....
П.п.с. работа с экранами к фбд не относится если что.
Тут правильно написали fbd или st выбор за вами. Но Овен готовьтесь. Ваш телефон поддержки теперь вечно будет занят. При этом 90% времени это будут звонки от "stшников с возмущениями что " гениально написанный код "не работает . И виной будет именно ОЛ а не написанный через нижние полушария головного мозга код. Лично моё мнение. Оно может не совпадать с мнением других.
Очень интересно пощупать вживую.
С чего вдруг код на ST должен быть проблемнее кода на fbd, я столько видел "уникальных" проектов присылаемых на fbd, и очень сомневаюсь что тех. поддержку можно чем-то удивить. В плане ST вижу даже +, можно код сразу вставить в текст, а на обратной стороне скопировать и запустить, с fbd в этом плане намного сложнее, мне кажется.
Вот ничего с пользователями обсуждать не надо, все украдено до нас и велики все уже изобретены, надо смотреть как у великих и делать аналогично, а обсуждение с пользователями это демагогия- непременный спутник демократии, бла-бла-бла.
Не понятно почему только FBD, если у старших товарищей в ПРках SFC как правило есть, и при реализации последовательно-цикличных алгоритмов наличие SFC здорово помогает.
В любом случае надо будет смотреть готовую реализацию ST в ОЛ.
Добрый день! Огромное пожелание по ST: иметь возможность создавать более одного выхода.
Очень странно, что в ST есть поддержка только UDInt. То есть целочисленный счет в отрицательных диапазонах не предусмотрен (DInt / Int)? Пока для этого использую Real.
Язык ST уже доступен в новой версии OwenLogic 1.22.284.0, кто ждал, можно тестировать возможности.
Мой небольшой опыт на примере макроса Pt1000 прикрепляю.
https://www.youtube.com/watch?v=rVn96bfQedc
Доброй ночи! Можно ли вызывать одну функцию ST внутри другой функции ST? Пока не удается...
Как же круто же!!!!!!
Господи, было бы это лет пять назад, когда я мучился с ужасными Logo этими чёртовыми, пытаясь на FBD написать сложную логику!!
Ура!
Моя первая функция - Вычисление дня недели
Вложение 58152 Вложение 58154
Нашёл давно на просторах интернета такой метод
Скрытый текст:
В вычислениях используются только целочисленные значения
ЗЫ.Код: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
Экспорт функции в файл - не судьба?
Для первого раза неплохо, 5 мин искал где написанную функцию найти и как вставить))) Окно было минимальное и функции не видно.
Petera, функции теперь в блокноте будем хранить, зачем ещё импорт, экспорт делать)