Страница 135 из 136 ПерваяПервая ... 3585125133134135136 ПоследняяПоследняя
Показано с 1,341 по 1,350 из 1355

Тема: ПР205

  1. #1341

    По умолчанию

    а ПР225 это аналог 205 только в щитовом исполнении? Сейчас попробовал вместо переключателей кнопки - четыре вообще не выбираются(не подсвечиваются когда выбраны), ощущение что элементы не влазят в память, выделенную для активного экрана.. У тебя переключатели на одном экране были? На рабочем коде управление группами на двух экранах.. Вот не могу к сожалению прям досконально потестить, хоть покупай это ПР)

    Up

    посмотрел твой код - поставь восемь переключателей?
    Последний раз редактировалось Валерий "mad Dog" Шмараев; 27.04.2026 в 11:47.

  2. #1342

    По умолчанию

    Цитата Сообщение от Валерий "mad Dog" Шмараев Посмотреть сообщение
    а ПР225 это аналог 205 только в щитовом исполнении? Сейчас попробовал вместо переключателей кнопки - четыре вообще не выбираются(не подсвечиваются когда выбраны), ощущение что элементы не влазят в память, выделенную для активного экрана.. У тебя переключатели на одном экране были? На рабочем коде управление группами на двух экранах.. Вот не могу к сожалению прям досконально потестить, хоть покупай это ПР)

    Up

    посмотрел твой код - поставь восемь переключателей?
    Поставил 8 - нет проблем.
    Элементы выходного массива со 2 по 7 привязаны к дискретным выходам / или к энергонезависимым переменным?
    Вложения Вложения
    • Тип файла: owle tmp8.owle (24.5 Кб, Просмотров: 4)

  3. #1343

    По умолчанию

    Ок. выходной массив собирается в битовое слово и уходит на МУ110(у меня пунктик насчёт входов/выходов ПЛК)..

    глянь пож вот это:

    Код:
    FUNCTION_BLOCK startGroupSelect
        
        VAR_INPUT
            inputTimer               :BOOL;
            locRem                   :UDINT;
            inputButton              :ARRAY [0..7] OF BOOL;
            inputRem                 :ARRAY [0..7] OF BOOL;
        END_VAR
        
        VAR_OUTPUT 
            invertorSupplayON        :BOOL;
            routerSupplayON          :BOOL;
            outputGroup                :ARRAY [0..7] OF BOOL;
            i                                  :UDINT;
        END_VAR
        
        VAR 
            ASICtimeDelay             :TIME := T#20S;
            inventorTimeDelay        :TIME := T#10S;
            timerStartGroup0         :SYS.TON;
            timerStartGroup1         :SYS.TON;
            timerStartGroup2         :SYS.TON;
            timerStartGroup3         :SYS.TON;
            timerStartGroup4         :SYS.TON;
            timerStartGroup5         :SYS.TON;
            timerStartGroup6         :SYS.TON;
            timerStartGroup7         :SYS.TON;
            timerStopGroup0          :SYS.TOF;
            timerStopGroup1          :SYS.TOF;
            timerStopGroup2          :SYS.TOF;
            timerStopGroup3          :SYS.TOF;
            timerStopGroup4          :SYS.TOF;
            timerStopGroup5          :SYS.TOF;
            timerStopGroup6          :SYS.TOF;
            timerStopGroup7          :SYS.TOF;
            invertorSupplay            :SYS.TOF;
            routerSupplay              :SYS.TOF;
        END_VAR
        
    CASE locRem OF
        // Управление с кнопок панели ПР205
        
        0: 
           FOR i:=0 TO 7 BY 1 DO
               outputGroup[i] := inputButton[i];
               routerSupplayON := inputButton[i];
               invertorSupplay(I:=inputButton[i], T:=inventorTimeDelay, Q=>invertorSupplayON);
           END_FOR
           
                  
        // Управление по таймерам
        
        1: 
           routerSupplayON := inputTimer;
           routerSupplay(I:=inputTimer, T:=ASICtimeDelay);
           timerStartGroup0(I:=routerSupplay.Q, T:=T#0S);
           timerStartGroup1(I:=routerSupplay.Q, T:=T#5S);
           timerStartGroup2(I:=routerSupplay.Q, T:=T#10S);
           timerStartGroup3(I:=routerSupplay.Q, T:=T#15S);
           timerStartGroup4(I:=routerSupplay.Q, T:=T#20S);
           timerStartGroup5(I:=routerSupplay.Q, T:=T#25S);
           timerStartGroup6(I:=routerSupplay.Q, T:=T#30S);
           timerStartGroup7(I:=routerSupplay.Q, T:=T#35S);
           timerStopGroup0(I:=timerStartGroup0.Q,T:=T#0S, Q=>outputGroup[0]);
           timerStopGroup1(I:=timerStartGroup1.Q,T:=T#5S, Q=>outputGroup[1]);
           timerStopGroup2(I:=timerStartGroup2.Q,T:=T#10S, Q=>outputGroup[2]);
           timerStopGroup3(I:=timerStartGroup3.Q,T:=T#15S, Q=>outputGroup[3]);
           timerStopGroup4(I:=timerStartGroup4.Q,T:=T#20S, Q=>outputGroup[4]);
           timerStopGroup5(I:=timerStartGroup5.Q,T:=T#25S, Q=>outputGroup[5]);
           timerStopGroup6(I:=timerStartGroup6.Q,T:=T#30S, Q=>outputGroup[6]);
           timerStopGroup7(I:=timerStartGroup7.Q,T:=T#35S, Q=>outputGroup[7]);
           invertorSupplay(I:=outputGroup[7], T:=inventorTimeDelay, Q=>invertorSupplayON);
           
        // Управление с диспетчеризации
        
        2: 
           FOR i:=0 TO 7 BY 1 DO
               outputGroup[i] := inputRem[i];
               routerSupplayON := inputButton[i];
               invertorSupplay(I:=inputButton[i], T:=inventorTimeDelay, Q=>invertorSupplayON);
           END_FOR
           
           ELSE
               outputGroup [0] := FALSE;
               outputGroup [1] := FALSE;
               outputGroup [2] := FALSE;
               outputGroup [3] := FALSE;
               outputGroup [4] := FALSE;
               outputGroup [5] := FALSE;
               outputGroup [6] := FALSE;
               outputGroup [7] := FALSE;
    END_CASE
    END_FUNCTION_BLOCK
    глюк только на этом фб, но CASE 1: ведь работает.

  4. #1344

    По умолчанию

    Цитата Сообщение от Валерий "mad Dog" Шмараев Посмотреть сообщение
    Ок. выходной массив собирается в битовое слово и уходит на МУ110(у меня пунктик насчёт входов/выходов ПЛК)..

    глянь пож вот это:
    глюк только на этом фб, но CASE 1: ведь работает.
    Так не делают, таймеры надо вызывать вне CASE, а в CASE только задавать вход и время.
    Пример задачи для 1 таймера

    routerSupplay.I:=inputTimer; routerSupplay.T:=ASICtimeDelay;
    Последний раз редактировалось kondor3000; 27.04.2026 в 15:00.

  5. #1345

    По умолчанию

    с таймерами как раз проблем нет.. только с переключателями с экрана.

    ой.. 373 версия))
    Последний раз редактировалось Валерий "mad Dog" Шмараев; 27.04.2026 в 15:21.

  6. #1346

    По умолчанию

    Цитата Сообщение от Валерий "mad Dog" Шмараев Посмотреть сообщение
    с таймерами как раз проблем нет.. только с переключателями с экрана.

    ой.. 373 версия))
    Это при первом заходе в case 1: проблем не будет - если выйти из него в середине процесса и зайти повторно - можно получить сюрпризы различного вида.
    Здесь явно какой-то шаговый автомат с временнЫми переходами просматривается - посмотри в эту сторону, может вовсе не массив TONов нужен, а просто массив TIME

  7. #1347

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Это при первом заходе в case 1: проблем не будет - если выйти из него в середине процесса и зайти повторно - можно получить сюрпризы различного вида.
    Здесь явно какой-то шаговый автомат с временнЫми переходами просматривается - посмотри в эту сторону, может вовсе не массив TONов нужен, а просто массив TIME
    пробовал, пока не закончится ASICtimeDelay они по очереди включаются. затем так же по очереди отключаются.. одинаково и на железе и в симуляторе.. С тумблерами вот никак)

  8. #1348

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Здесь явно какой-то шаговый автомат с временнЫми переходами просматривается - посмотри в эту сторону, может вовсе не массив TONов нужен, а просто массив TIME
    ..вкладывать CASE в CASE? так то получается что пока inputTimer = TRUE - Отрабатывает TON а TOF ждёт, inputTimer = FALSE - отрабатывает TOF, группы по очереди включились и по очереди выключились.. спору нет что выглядит страшно.. массивом то аккуратней было б.
    Последний раз редактировалось Валерий "mad Dog" Шмараев; 27.04.2026 в 17:32.

  9. #1349

    По умолчанию

    Цитата Сообщение от Валерий "mad Dog" Шмараев Посмотреть сообщение
    пробовал, пока не закончится ASICtimeDelay они по очереди включаются. затем так же по очереди отключаются.. одинаково и на железе и в симуляторе.. С тумблерами вот никак)
    Вы может выложите уже проект ( или кусок проекта, где повторяются указанные глюки) или так и будем гадать, что у вас с тумблерами.
    Последний раз редактировалось kondor3000; 27.04.2026 в 18:00.

  10. #1350

    По умолчанию

    так код блока, который единственный глючит, лежит выше по треду. восемь inputButton - это восемь переключателей на экране, inputTimer - bool с расписания, inputRem - восемь битов с диспы. Output - это восемь битов выходных. locRem - это шаги CASE назначение выходов, где 0: с кнопок на экране, 1: с расписания(ну там таймеры по очереди), 2: с диспетчеризации

    стальное это задание часов-минут для расписания, выбор времен таймеров, выбор дней, откуда выбирать - локально или с дисп. это тчн не важно и оно всё работает. я же пишу что перенёс на пр200 и там всё работает. а на пр205 затык только с переключателями на экране.
    Последний раз редактировалось Валерий "mad Dog" Шмараев; 27.04.2026 в 18:28.

Страница 135 из 136 ПерваяПервая ... 3585125133134135136 ПоследняяПоследняя

Похожие темы

  1. Бета тест ПР205 в Owen Logic
    от Денисов Максим Сергеевич в разделе Среда программирования OWEN Logic
    Ответов: 66
    Последнее сообщение: 30.05.2023, 15:02
  2. Пр205 в новом каталоге
    от игорь68 в разделе Программируемые реле
    Ответов: 75
    Последнее сообщение: 10.04.2023, 12:48
  3. судьба пр205
    от Regedit в разделе Трёп (Курилка)
    Ответов: 3
    Последнее сообщение: 01.04.2022, 19:46

Ваши права

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