Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 17 из 17

Тема: Проблема с счетчиком

  1. #11

    По умолчанию

    Большое спасибо за участие,
    но суть проблемы не в включении ТЭНов.
    шаг 1: 1-5, 40-44 - включил
    таймер на 2минуты
    шаг 2: все выключил, 10 - 20, 30 - 40 включил
    таймер на минуту 30 сек.
    и так далее.

    в зависимости от того, какое стекло маллируется, шагов может быть 5, а может 25.
    поэтому было принято решение загнать "карту включения ТЭНов" в массив и получая от туда данные, вызывать НУЖНОЕ количество раз рабочее тело с конкретными входными данными.
    что бы знать КАКУЮ строку из массива нужно считать нужен СЧЕТЧИК проходов.
    не зависимо от того, стоит ли инкримент в блоке, вызывающем рабочую программу, либо в входном / выходном действии пустого блока с TRUE на условии выхода, инкремент происходит дважды .
    Вот и получается: то ли я дурак, то ли одно из двух
    Суть вопроса была : получить увеличение переменной на ЕДИНИЦУ при прохождении через блок программы SFC.

  2. #12

    По умолчанию

    FOR wdCounter:=0 TO 5 DO (*Выключим тены с 1 по 6*)
    arrTen[wdCounter].blnTenON:=FALSE;
    END_FOR;

    тут развязываем таймерами можно и свойствами шагов в SFC

    FOR wdCounter:=2 TO 10 DO (*Включим с 3 по 11 тены*)
    arrTen[wdCounter].blnTenON:=True;
    END_FOR;

    и тд. а в шаге "stpSetOutPut" эти расчетные значения переносим на физические выхода. Так же можно по условию вызывать разные подпрограммы prgWork1, prgWork2, prgWork3 и тд. ведь количество программ ограничено?

    можно еще добавить в свойство тенов переменные что бы в цикле разбираться должен быть включен или нет.
    например:
    arrTen[0].prg1:='972347'; (*означает, что в первой программе этот тен 9 минут включен, затем 7 минут выключен, далее 2 минуты включен и тд.*)
    arrTen[1].prg1:='06549'; (*означает, что в первой программе этот тен 6 минут выключен, пять минут включен, 4 минуты выключен, и 9 минут включен до конца программы*)
    аналогично для
    arrTen[0].prg2:= ....
    можно конечно и по два и более символа резервировать на шаг и в хексах и байтах :-)
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  3. #13

    По умолчанию

    Цитата Сообщение от kuguar Посмотреть сообщение
    принято решение загнать "карту включения ТЭНов" в массив и получая от туда данные, вызывать НУЖНОЕ количество раз рабочее тело с конкретными входными данными.
    а можно взглянуть в каком виде эта "карта включения ТЭНов"?
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  4. #14

    По умолчанию

    Цитата Сообщение от Gans Посмотреть сообщение
    а можно взглянуть в каком виде эта "карта включения ТЭНов"?
    массив стуктур:
    STRUCT
    T: ARRAY [1..44] OF BOOL; (* массив управления ТЭН - ами *)
    Sh: ARRAY [1..44] OF REAL; (* массив управления ШИМ - ами *)
    Supp: ARRAY [1..8] OF INT; (* массив управления поддержками *)
    Tempr: REAL; (* заданная температура *)
    Tau: TIME; (* время этапа *)
    Prizn: INT; (* признак условия окончания этапа: "0" - по времени; "1 - 8" - по термодатчику 1-8 *)
    ManualMode : BOOL; (* признак перехода на ручной режим *)
    Bell: INT; (* управление звонком: 0 - нет, 1, 2 ... n режимы звонка *)
    END_STRUCT

  5. #15

    По умолчанию

    в принципе, получил, что хотел, но не так изящно, скорее коряво, но работает.
    Вложения Вложения

  6. #16

    Smile

    Цитата Сообщение от kuguar Посмотреть сообщение
    в принципе, получил, что хотел, но не так изящно, скорее коряво, но работает.
    Главное результат. К большому сожалению пока не разобрался с заданием, но раз уже как-то работает то не буду мешать. Удачки
    Автоматизация Диспетчеризация Сервис
    e-mail: ads-kaluga@mail.ru

  7. #17

    По умолчанию

    БОЛЬШОЕ спасибо за помощь, за участие!
    как бы там не было подтолкнул, а значит помог!
    спасибо!

Страница 2 из 2 ПерваяПервая 12

Ваши права

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