PDA

Просмотр полной версии : Есть ли возможность импортировать переменные



nikolay861
18.03.2024, 12:46
Всем привет. Есть ли возможность импортировать переменные в среде овен логик, экспорт есть, а вот импорта я не нашел. Просто когда очень много переменных (причем однотипных с паттерном), добавлять их в таблице среды это боль.
Так бы было хорошо, экспортировать что есть, добавить нужные переменные в csv и импортировать обратно. Просто у того же сегнетикса есть такая возможность и это очень удобно.

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

nikolay861
18.03.2024, 16:57
А еще есть проблема ГИГАНТСКАЯ с сортировкой переменных по именам и адресам, они сбиваются. Добавляешь все по очереди, по адресам, закрываешь окно и все в перемешку, и не как не отсортировать что бы все шло последовательно, это вообще бесит.

Godlike_S
18.03.2024, 18:42
А еще есть проблема ГИГАНТСКАЯ с сортировкой переменных по именам и адресам, они сбиваются. Добавляешь все по очереди, по адресам, закрываешь окно и все в перемешку, и не как не отсортировать что бы все шло последовательно, это вообще бесит.

Почему никак? Нажмите на шапку того параметра, который подлежит сортировке (имя переменной, номер регистра, энергонезависимость и т.п)
Единственное но, это нужно делать каждый раз при открытии окна…

nikolay861
19.03.2024, 12:30
Почему никак? Нажмите на шапку того параметра, который подлежит сортировке (имя переменной, номер регистра, энергонезависимость и т.п)
Единственное но, это нужно делать каждый раз при открытии окна…

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

74492

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

Королев Кирилл
20.03.2024, 13:03
Добрый день!

Спасибо за обратную связь. Знаем про сложности при работе с таблицей переменных. В планах полностью переработать эти меню. Импорт переменных также планируем поддержать.

nikolay861
25.03.2024, 15:30
Добрый день!

Спасибо за обратную связь. Знаем про сложности при работе с таблицей переменных. В планах полностью переработать эти меню. Импорт переменных также планируем поддержать.

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

Bananas
20.08.2024, 16:07
Добрый день! Как процесс идёт? А когда в ФБ на ST добавится RETAIN?

Денисов Максим Сергеевич
21.08.2024, 09:18
Добрый день! Как процесс идёт? А когда в ФБ на ST добавится RETAIN?

Добрый день. Планируем взять в работу Retain в ST в начале 2025 года, до конца текущего года выпустим симуляцию в ST

Bananas
21.08.2024, 09:26
Хорошо бы. А то вместо 3 массивов 10х10 для хранения рецептуры приходится 300 переменных создавать, а это в нынешнем интерфейсе без возможности импорта - боль аццкая.

kondor3000
21.08.2024, 10:57
Хорошо бы. А то вместо 3 массивов 10х10 для хранения рецептуры приходится 300 переменных создавать, а это в нынешнем интерфейсе без возможности импорта - боль аццкая.

Двумерные массивы тоже не поддержаны в Лоджике, так что вам всё равно придётся создавать 30 одномерных массивов, а не 3 двумерных.
Даже если Retain сделают.
Пр это вам не ПЛК.

Bananas
01.09.2024, 10:09
Вовсе нет, я в таком случае могу использовать одномерный массив с расчетом индекса для считывания.

functional_block Recipe

// Объявление входных переменных
VAR_INPUT
InputHumidity : REAL; // Ввод влажности
InputTemperature : REAL; // Ввод температуры
InputTime : INT; // Ввод времени
CurrentStep : INT; // Текущий шаг
CurrentRecipe : INT; // Текущий рецепт
WriteEnable : BOOL; // Переменная для разрешения записи
END_VAR

// Объявление внутрипрограммных переменных с использованием retain
VAR RETAIN
Humidity : ARRAY[1..100] OF REAL;
Temperature : ARRAY[1..100] OF REAL;
Time : ARRAY[1..100] OF INT;
END_VAR

VAR
Index : INT;
END_VAR

// Объявление выходных переменных
VAR_OUTPUT
OutputHumidity : REAL;
OutputTemperature : REAL;
OutputTime : INT;
END_VAR

// Вычисление индекса для одномерного массива
Index := (CurrentRecipe - 1) * 10 + CurrentStep;

// Пример записи данных во внутрипрограммные переменные при разрешении записи
IF WriteEnable THEN
Humidity[Index] := InputHumidity;
Temperature[Index] := InputTemperature;
Time[Index] := InputTime;
END_IF

// Пример чтения данных из внутрипрограммных переменных и записи в выходные переменные
OutputHumidity := Humidity[Index];
OutputTemperature := Temperature[Index];
OutputTime := Time[Index];
end_function_block

melky
01.09.2024, 10:14
Это у вас работает именно в ПР ?

Bananas
01.09.2024, 10:17
Если бы работал retain, то работало бы. А так - 300 переменных, отрицание, гнев, депрессия.

kondor3000
01.09.2024, 11:06
Если бы работал retain, то работало бы. А так - 300 переменных, отрицание, гнев, депрессия.

На данный момент, всё можно сделать на панели оператора типа СП3хх. В ней храняться рецепты, а в ПР отправляются данные, например 5 регистров,
в соответствии с номером рецепта.
Либо 2 вариант, использовать ПЛК, там есть двумерные массивы, глобальные переменные и RETAIN.

FPavel
01.09.2024, 11:47
Глядя на подобные темы, приходит мысль о неправильном выборе средств автоматизации.
Ведь есть ПЛК с похожим составом входов и выходов, но более развитыми языковыми средствами программирования прикладной программы.
Часто у программиста исполнителя заранее спрашивают совета по выбору программируемого прибора.

ПЛК дороже, но экономия будет за счет сокращения времени разработки - человеко-часы что-то да стоят.
ПР200 - 12 000 руб
ПР205 - 20 000 руб
ПЛК110 - 47 000 руб
Разработка ПО - дорожает от ручного набора 300 переменных, вместо одной строки объявления массива.

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

У ПР своя ниша применения, где они и должны применяться.

melky
01.09.2024, 11:52
Так а кто мешает набрать 300 переменных внутри программы ST на ПР ? а выбирать уже по номеру через ОДНУ переменную ?
Да, не совсем retain, но ведь можно. И в плане доработки не так много добавлять, либо к каждому массиву по паре переменных, либо еще один массив с новым рецептом и новым номером.

FPavel
01.09.2024, 12:07
Рецепты где-то должны храниться - или на внешнем устройстве (панель оператора, АРМ оператора) или в ПР.
Значит в ПР придётся делать мега-мультиплексор с несколькими сотнями входов и парой десятков выходов.

Я бы ещё уточнил в РЭ на ПР - достаточно ли RETAIN переменных, чтобы уместить эти рецепты (4 байта на переменную, а RETAIN 1024 или около того байт, т.е. 256 переменных, если сетевых переменных по 2 байта, то 512 переменных).

Можно, всё можно, но неоправданно трудозатратно по причине неправильного выбора средств автоматизации.

Bananas
01.09.2024, 12:13
Так проблема не в том, что ПР это не может выполнить, а в том, что изготовитель не добавил возможность это сделать в интерпретатор.
Т.е. ПЛК это хорошо, если у тебя быстрые и большие процессы, там уже время такта важно, нужна мощность.
А выделять отдельную линейку искусственно это вообще зачем? Я куплю ПЛК, когда у меня будет сервопривод, например, или линия будет на сотни входов/выходов.

FPavel
01.09.2024, 12:24
Нет, проблема в том, что на этапе проектирования было выбрано неправильное средство автоматизации. Ведь в ПР RETAIN, массивов не было ни вчера, ни месяц, ни год назад - и это не новость.

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

Наиболее простое для Вас решение - хранение рецептов в панели оператора - многие из них позволяют это делать.

Bananas
01.09.2024, 14:15
Фига вы тут воображать любите. Вопрос изначально был к удобству редактирования переменных и возможность импорта из таблицы. Потом уже перешли к retain и возможности уйти от создания переменных.
Моя квалификация в промышленных устройствах не велика, но опыт работы с микроконтроллерами меня наверное разбаловал - покупаешь контроллер и используешь все его возможности.
Почему для вычисления экспоненты я не могу написать exp(x), например, а должен париться с апроксимацией? Что, микроконтроллер не может посчитать? 30 лет назад
на вшивом калькуляторе считал.

По поводу квалификации - может в ПЛК она у вас выше, но почему коррелирует с хамством?

Вы не хотели бы функцию retain?
Я разве не прав в том, что было бы лучше, чтобы она была?

melky
01.09.2024, 14:31
Функция retain в пр есть, называется энергонезависимое переменные.
Не надо перекладывать с больной головы.
Покажите ПР других производителей, где есть рецепты в вашем понимании?
Именно ПР, а не ПЛК

Bananas
01.09.2024, 14:39
Я знаю не ПР, их я вообще мало знаю, только захожу в промышленные устройства, но на вскидку могу назвать ESP32 или STM 32, в которых есть всё это и которые стоят по 300р. В случае с ESP32 даже обвязки кроме питания и преобразования интерфейса для программирования ничего не надо. Но на борту уже есть Bluetooth и WiFi а так же web-server.
Что я перекладываю? Прошу или вменяемое редактирование переменных или retain. Хрен с ним с retain. Вменяемое меню редактирования переменных или импорт из таблицы меня устроит.

Да хотя бы чтобы внутри Owen logic можно было дополнительно нумеровать переменные и по этим номерам сортировать. Или в меню переменных чтобы можно было переменные выделять по одному или несколько и перетягивать выше/ниже. Хотя бы стрелками переключать. И чтобы этот список соответствовал тому, что в боковом меню.

melky
01.09.2024, 14:46
Bananas вы ещё забыли о среде разработки, она отличается, хоть внутри и тот же самый stm или аналог.
Вам уже ответили, хотите плюшек, или панель соответствующая, или вместо пр выбираете ПЛК.
Или обходными путями через ST, который в пр.

Bananas
01.09.2024, 14:56
Да, ответили, какие-то пользователи, что производителем не предусмотрено.
Тут у вас вроде форум для обсуждения и общения, в том числе и с производителем/разработчиком.
Если это были официальные ответы от разработчиков - на вопрос почему ответ - "иди нафиг, вот почему, покупай ПЛК", то я разочарован.
В конце концов, я все-таки клиент. Я даю обратную связь.
А вообще, мне сразу ответили, что retain реализуют в 2025, а срач не я тут развёл, я только ответил, что если бы был retain, то вот таким кодом можно было бы всё решить. И тут налетели эксперты, которые мне рассказали, кто я.

melky
01.09.2024, 15:03
Bananas ну может со временем сделают retain более простой, чем сейчас. А так же как и битовые and, or, xor над числами.
Ну типа надо искать тут ответы от официальных представителей.
Но сейчас этого нет. Когда ждать неизвестно, запрягают они долго всегда.

Cs-Cs
02.09.2024, 07:51
Успокойтесь. Когда-нибудь будет новое окно переменных. Я косвенно участвовал в его консультировании при помощи матерного орова.
Насколько я понимаю и могу догадаться, сейчас все задачи и сроки у ОВЕНа сдвигаются из-за следующих факторов:
* Постоянный редизайн и переход на новые микросхемы, когда те, которые используются, не поставляются из-за санкций. Так как это промка, то там нельзя просто так взять и заменить микросхему. Надо делать кучу тестов и сертификаций. Особенно на аналоговые каналы.
* Доработка платформы для ПР103/ПР205. Чтобы RETAIN-переменные функционировали как надо, а не в режиме "Всё, что выводится на экран - RETAIN". При этом просто так всё сломать и переделать нельзя, потому что тогда понадобится переделывать все проекты с нуля.
* Допиливание ПР205 как нового флагмана. Тут пытаются пойти навстречу пользователям. Потому что с одной стороны разумным решением будет забить на пользователей и заняться всякими системными вещами (типа окна редактирования переменных), а с другой стороны каждую неделю (и на каждом вебинаре) сыпятся вопросы типа "Когда будет поддержка картинок?", "Когда будет анимация?", "Когда будет Пайтон" (хаха, это мем уже, глупый, так как в ПРках нет Linux, и запускать такие языки не на чем). Эти запросы стараются удовлетворить.
* Переделка окна переменных. Обещают группировку переменных (чуть ли не в древовидной структуре в подпапки), сортировку, и тот самый импорт-экспорт.

PS. Если поискать мои посты на форуме через профиль, то где-то можно будет найти способ (НЕдокументированный и ОПАСНЫЙ), которым я вручную переменные сортировал (распаковывал проект и вручную в файле строки переставлял).

Bananas
07.09.2024, 20:37
Спасибо за развёрнутый ответ.
Выскажу свои мысли - стоит переходить на отечественные камни, они сейчас дорогие, но если будет спрос, цена начнёт падать. А пока не упала, стоит попробовать выбить от государства субсидии для компенсации за закупку по высоким ценам. Думаю, можно это обосновать логически кому надо.

iAlien
09.09.2024, 09:08
но если будет спрос, цена начнёт падать.
Даже в объемах рынка всея РФ это мизер для существенного падения цены, а за пределами попробуй еще завоюй свою нишу, борясь с копеечными китаеподелками.

Bananas
09.09.2024, 20:40
От чего же. Если будет в каждом утюге по камню стоять, то и отечественного рынка хватит. Это же не в дюйм-два кристалл, а так, с ноготочек.
Не одним АвтоВАЗом же заградительные пошлины едины.
Главное, чтобы не вышло, как с ютубом.