Показано с 1 по 10 из 21

Тема: Сохранение значений ФБ

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    блин, у Овен ПЛК retain реализованы иначе, чем у других производителей, ничего там не попортится.

    Сделайте у блока переменные типа IN_OUT и соответствующую логику и не придется весь блок запихивать в retain.
    не соображу по поводу IN_OUT и соответствующей логике, можете пояснить?
    Вот собственно код ФБ

    FUNCTION_BLOCK ENGINE_HOURS (*ФБ РАСЧЕТА ВРЕМЕНИ НАРАБОТКИ*)
    VAR_INPUT
    START: BOOL; (*АКТИВАЦИЯ СЧЕТА МОТОЧАСОВ*)
    I_TH : DWORD; (*ВВОД НОВОГО ЗНАЧЕНИЯ НАРАБОТКИ В ЧАСАХ В РУЧНУЮ*)
    I_TD :WORD; (*ВВОД НОВОГО ЗНАЧЕНИЯ НАРАБОТКИ В СУТКАХ В РУЧНУЮ*)
    ENTER:BOOL; (*АКТИВАЦИЯ ВВЕДЕННЫХ В РУЧНУЮ ЗНАЧЕНИЙ*)
    RESET: BOOL; (*СБРОС СЧЕТЧИКОВ ПРИНУДИТЕЛЬНО*)
    END_VAR
    VAR_OUTPUT
    O_TH : DWORD; (*ВРЕМЯ НАРАБОТКИ В ЧАСАХ*)
    O_TD : WORD; (*ВРЕМЯ НАРАБОТКИ В СУТКАХ*)
    END_VAR
    VAR
    TMR :TON; (*ТАЙМЕР*)
    TS:INT; (*РАБОТА В СЕКУНДАХ*)
    TM:INT; (*РАБОТА В МИНУТАХ*)
    END_VAR

    IF ENTER THEN O_TH := I_TH; O_TD := I_TD; ELSE (*ЗАПИСЬ ЗНАЧЕНИЙ ЧАСОВ И СУТОК ПРИНУДИТЕЛЬНО В РУЧНУЮ*)
    TMR(IN := NOT TMR.Q, PT := T#1ms);
    IF TMR.Q THEN TS := TS + 1; END_IF (*СЧИТАЕМ СЕКУНДЫ*)
    IF TS = 60 THEN TM := TM + 1; TS := 0; END_IF (*СЧИТАЕМ МИНУТЫ*)
    IF TM = 60 THEN O_TH := O_TH + 1; TM := 0; END_IF (*СЧИТАЕМ ЧАСЫ*)
    O_TD := REAL_TO_WORD(O_TH / 24); (*СЧИТАЕМ СУТКИ*) END_IF

    IF RESET THEN O_TH := 0; O_TD := 0; END_IF (*ПРИНУДИТЕЛЬНЫЙ СБРОС СЧЕТЧИКОВ*)

  2. #2
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,578

    По умолчанию

    Цитата Сообщение от deniska13 Посмотреть сообщение
    TMR(IN := NOT TMR.Q, PT := T#1ms);
    IF TMR.Q THEN TS := TS + 1; END_IF (*СЧИТАЕМ СЕКУНДЫ*)
    код вызвал усмешку, перепроверте себя сами еще раз
    По поводу IN_OUT а зачем, глобальная переменная не хуже будет
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  3. #3

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    код вызвал усмешку, перепроверте себя сами еще раз
    По поводу IN_OUT а зачем, глобальная переменная не хуже будет
    В чем именно он у Вас вызвал усмешку?)

  4. #4

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    код вызвал усмешку, перепроверте себя сами еще раз
    По поводу IN_OUT а зачем, глобальная переменная не хуже будет
    Этот ФБ вызывается из программы, как мне объявить внутренние его переменные в глобальных или я что-то не так понял? Или имеете ввиду сам ФБ объявить в глобальных переменных? Этого разве будет достаточно чтобы не потерять насчитанные ФБ данные времени наработки?

Похожие темы

  1. сохранение ин. в файлах
    от vvu2011 в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 12.10.2010, 13:52
  2. сохранение значений переменных
    от Лёша в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 12.11.2009, 11:37
  3. Сохранение результатов ТРМ 138
    от Студент в разделе Эксплуатация
    Ответов: 4
    Последнее сообщение: 13.03.2008, 10:11
  4. ПЛК-150 сохранение программы
    от незарегистрированный в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 19.04.2007, 14:15
  5. ПЛК-150 сохранение программы
    от незарегистрированный в разделе Сетевые технологии
    Ответов: 0
    Последнее сообщение: 19.04.2007, 12:33

Ваши права

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