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

Тема: Как на ST написать преобразование из своего функционального блока?

  1. #1

    Smile Как на ST написать преобразование из своего функционального блока?

    Ребят, всем доброго дня! Подскажите пожалуста. Основная программа пишеться на CFC CFC.jpgв ней стоит функциональный блок FB_1написаный на ST FB_1.jpg. Внутри этого блока работант таймер TON TON.jpg. Я хочу вывести в визуализацию его выход ET.jpg чтобы можно было наблюдать сколько осталось времени до включения устройства. И вот сам вопрос как написать на ST преобразование TIME_TO_INT чтобы это поподало на выход функционального блока? Я пробовал это все делать на CFC все прекрасно работает в основной программе, а как это сделать на ST в нутри блока не соображу. Т.Е на фыходе функционального блока я хочу получить пременную INT которая будет отображать текущей отсчет таймера а там я его переброшу в визуализацию. Можно конечно это преобразование сделать и на CFC но хочеться добиться компактности отображения программы написаной на CFC Подскажите пожалуста

  2. #2
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Пишите фб на st, а потом в своем фб на cfc нажмите F2.
    появится ассистент ввода. Выберите созданный вами фб и добавьте в проект.
    Изображения Изображения

  3. #3

    По умолчанию

    это вариант который я попробую, спасибо. А без вставкив свой самодельный FB ещё одного самодельного FB можно? Ну например выходной переменной (INT):= TIME_TO_INT TON_1 (ET); Как это правильно написать?

  4. #4
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    так и пишите, только на выход таймера ЕТ поставьте символьную переменную(Var2 в примере)
    Var1:int;
    Var2:time

    Var1:=TIME_TO_INT(Var2)

  5. #5

    По умолчанию

    сейчас попробую

  6. #6

    По умолчанию

    Я написал
    TEMP1_2:=TON_1(ET); TEMP1_2 создал типа TIME? а он ругаеться 2 ошибки.jpg

  7. #7

    По умолчанию

    Не пропустил преобразование TEMP1_2:= TIME_TO_INT TON_1(ET); но ошибок добавилось

  8. #8
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,144

    По умолчанию

    Если ругается. то значит не правильно написали.
    Я к сожалению не могу силой мысли, через скрин проникнуть в программу и "починить"
    TON_1(IN:= , PT:= , Q=> , ET=>TON1_2 );
    cм. справку КДС как объявлять функции на каждом языке написано.
    Последний раз редактировалось lara197a; 05.04.2015 в 15:24.

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

    По умолчанию

    Цитата Сообщение от дрю Посмотреть сообщение
    Я написал
    TEMP1_2:=TON_1(ET); TEMP1_2 создал типа TIME? а он ругаеться 2 ошибки.jpg
    зачем Вы используете скобки, Вам же не запускать таймер надо а получить внутреннюю переменную, поставте просто TIME_TO_INT(TON_1.ET)
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  10. #10

    Smile

    Ребят, сделал как сказал CAPZAR и все заработало, вот скрин и програмки правильное.jpg. Всем большое спасибо за участие и помощь. Буду работать дальше

Похожие темы

  1. Ответов: 6
    Последнее сообщение: 19.11.2013, 06:06
  2. Ответов: 3
    Последнее сообщение: 23.10.2013, 20:14
  3. Ответов: 5
    Последнее сообщение: 12.03.2010, 19:26

Ваши права

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