Страница 100 из 699 ПерваяПервая ... 50909899100101102110150200600 ... ПоследняяПоследняя
Показано с 991 по 1,000 из 6985

Тема: CODESYS V3.5. Вопросы и ответы

  1. #991

    По умолчанию

    Не приклеилось изображение, Алгоритм пуска.jpg

  2. #992
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,064

    По умолчанию

    Цитата Сообщение от дрю Посмотреть сообщение
    А теперь собственно вопрос: Как привязать окошко с переменной номера агрегата к ячейки масива? Другими словами первое окошко это ячейка масива 1, второе 2, третье 3 и.т.д. Как связывать графичиские примитивы в визуализации с переменными я знаю а как с индексами масива не поиму. Подскажите как это будет выглядеть на ST, если это возможно. Спасибо.
    Честно говоря, не очень понял, причем тут язык ST, но элементы массива привязываются к элементам визуализации вполне очевидным способом:

    окошко 1 - NOMER_AGR[1]
    окошко 2 - NOMER_AGR[2]

    и т.д.

  3. #993

    По умолчанию

    Спасибо буду пробовать , обязательно отпишусь.

  4. #994

    По умолчанию

    я похожую штуку сделал так:
    - массив ArrArg[1...24]
    - переменная(ые) для диалогового окна DialogArg
    - в этом диалоговом окне на визуализацию привязана именно эта переменная DialogArg
    - N - переменная определяющая номер (индекс элемента массива) выбранного агрегата
    - при открытии этого диалог окна для конкретного агрегата N выполняю ST : DialogAgr:=ArrArg[N];
    - открываем диалог - видим нужное значение(ия) по выбранному агрегату
    - Если из диалога менять что-то, то выполняю обратную операцию при закрытии диалога : ArrArg[N]:=DialogArg;
    - Сам выбор номера N (агрегата) можно сделать в виде стандартного элемента управления комб.окно-массив или комб.окно-целочисленный. В первом случае будут представлены в виде таблицы, в другом в виде списка выбора

    PS: от гуру прошу так же покритиковать такой метод

  5. #995

    По умолчанию

    посмотрел еще раз - имхо оптимальной будет таблица из 1ого столбца=массива, номер строки есть по умолчанию, к нему и привязать индекс элемента массива.
    выбираем нужный шаг (строку в таблице) - открываем диалог, вводим/выбираем номер агрегата, закрываем (= записываем значение в выбранный элемент массива)
    переходим к следующему шагу.
    Если выбран 0 - тогда идем к след шагу.

    + Можно сделать n-мерный массив типа [1..n, 1..27] типа стринг, тогда можно и коментарии к шагам оставлять)) но, если делать это ретайнами (сохраняемыми) много памяти сожрать может.

  6. #996

    По умолчанию

    Евгений большое спасибо ! Работает как вы сказали, в документации этого не нашёл и пришлось просить помощь зала. Благодарю!

  7. #997

    По умолчанию

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

  8. #998

    По умолчанию

    Цитата Сообщение от дрю Посмотреть сообщение
    RA,Добрый день. Вы похоже решали задачу похожею на мою, скажите а каким методом вы определяли в проге номер агрегата,т.е. вы извлекли из масива ,например, 15 и как опредилили что нужно включить 15 , а не 14?
    ну у меня немного другая задача была: массив заданий: состоящий из количества штук и длины производимой заготовки.
    после старта задания назначаю индекс массива = 1, беру из этих элементов массива длину и кол-во
    анализирую если кол-во = 0, увеличиваю индекс (+1)
    если кол-во больше 0, тогда длину и кол-во "передаю на изготовление"
    в ходе изготовления считаю сделанные единицы и вычитаю из начального задания
    как только этот остаток станет равен 0 - перехожу на след шаг - снова увеличиваю индекс (+1)
    и т.д.
    естественно следим чтобы индекс не вылезал за размер массива
    в конце задания индекс ставлю =0. И останавливаю процесс - т.е. весь описанный выше код не исполняется, а как только пускаю (в ручную) изменю индекс на 1.

    и да, эта программа на 90% состоит из проверок, а сами переключения по шагам в одном repeat сделаны.

  9. #999

    По умолчанию

    Примерн с инкриментом индекса и я собираюсь делать, а что такое *repeat* и на каком языке пишите?

  10. #1000

    По умолчанию

    Цитата Сообщение от дрю Посмотреть сообщение
    RA,Добрый день. Вы похоже решали задачу похожею на мою, скажите а каким методом вы определяли в проге номер агрегата,т.е. вы извлекли из масива ,например, 15 и как опредилили что нужно включить 15 , а не 14?
    в этом случае можно брать текущий шаг - N элемента массива и затем

    case ArrAgr[n] of
    1: Var1:=true;
    2: Var2:=true;
    ...
    27: Var27:true;
    End_case;

Страница 100 из 699 ПерваяПервая ... 50909899100101102110150200600 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 3177
    Последнее сообщение: Вчера, 12:47
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 822
    Последнее сообщение: 20.11.2023, 17:48
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 245
    Последнее сообщение: 02.10.2022, 11:34
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •