Не приклеилось изображение, Алгоритм пуска.jpg
Не приклеилось изображение, Алгоритм пуска.jpg
СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Спасибо буду пробовать , обязательно отпишусь.
я похожую штуку сделал так:
- массив ArrArg[1...24]
- переменная(ые) для диалогового окна DialogArg
- в этом диалоговом окне на визуализацию привязана именно эта переменная DialogArg
- N - переменная определяющая номер (индекс элемента массива) выбранного агрегата
- при открытии этого диалог окна для конкретного агрегата N выполняю ST : DialogAgr:=ArrArg[N];
- открываем диалог - видим нужное значение(ия) по выбранному агрегату
- Если из диалога менять что-то, то выполняю обратную операцию при закрытии диалога : ArrArg[N]:=DialogArg;
- Сам выбор номера N (агрегата) можно сделать в виде стандартного элемента управления комб.окно-массив или комб.окно-целочисленный. В первом случае будут представлены в виде таблицы, в другом в виде списка выбора
PS: от гуру прошу так же покритиковать такой метод
посмотрел еще раз - имхо оптимальной будет таблица из 1ого столбца=массива, номер строки есть по умолчанию, к нему и привязать индекс элемента массива.
выбираем нужный шаг (строку в таблице) - открываем диалог, вводим/выбираем номер агрегата, закрываем (= записываем значение в выбранный элемент массива)
переходим к следующему шагу.
Если выбран 0 - тогда идем к след шагу.
+ Можно сделать n-мерный массив типа [1..n, 1..27] типа стринг, тогда можно и коментарии к шагам оставлять)) но, если делать это ретайнами (сохраняемыми) много памяти сожрать может.
Евгений большое спасибо ! Работает как вы сказали, в документации этого не нашёл и пришлось просить помощь зала. Благодарю!
RA,Добрый день. Вы похоже решали задачу похожею на мою, скажите а каким методом вы определяли в проге номер агрегата,т.е. вы извлекли из масива ,например, 15 и как опредилили что нужно включить 15 , а не 14?
ну у меня немного другая задача была: массив заданий: состоящий из количества штук и длины производимой заготовки.
после старта задания назначаю индекс массива = 1, беру из этих элементов массива длину и кол-во
анализирую если кол-во = 0, увеличиваю индекс (+1)
если кол-во больше 0, тогда длину и кол-во "передаю на изготовление"
в ходе изготовления считаю сделанные единицы и вычитаю из начального задания
как только этот остаток станет равен 0 - перехожу на след шаг - снова увеличиваю индекс (+1)
и т.д.
естественно следим чтобы индекс не вылезал за размер массива
в конце задания индекс ставлю =0. И останавливаю процесс - т.е. весь описанный выше код не исполняется, а как только пускаю (в ручную) изменю индекс на 1.
и да, эта программа на 90% состоит из проверок, а сами переключения по шагам в одном repeat сделаны.
Примерн с инкриментом индекса и я собираюсь делать, а что такое *repeat* и на каком языке пишите?