Страница 365 из 1049 ПерваяПервая ... 265315355363364365366367375415465865 ... ПоследняяПоследняя
Показано с 3,641 по 3,650 из 10486

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #3641
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Цитата Сообщение от CleanS Посмотреть сообщение
    Я рад бы использовать и функциональные блоки и функции и макросы, но ... обучаться приходится на ходу, самостоятельно, так сказать, в процессе, а в документации досконально не прописана их процедура создания, сохранения и использования в сторонних проектах. Написано криво и вскользь. А метод обучения "научным тыком", к сожалению, в данном случае не работает.
    Чтобы создать POU надо в левом окошке среды Кодесис, там где расположена главная программа PLC_PRG нажимаем правую кнопку мыши по пустому месту или по папке (в этом случае POU будет создан в папке) выбираем Add Object, пишем имя, выбираем язык, выбираем тип POU (чаще всего используется функциональный блок). Вот и все.

    У функционального блока в разделе объявления по умолчанию три вида переменных:
    VAR_INPUT
    входы
    END_VAR

    VAR_OUTPUT
    выходы
    END_VAR
    VAR
    локальные переменные
    END_VAR

    Осталось разбить проект на несколько самостоятельных задач и использовать их точно так же как таймеры, триггеры, счетчики.


    Чтобы касается использования своих ФБ в сторонних проектах.
    Для удобства свои ФБ в проекте я разбиваю на группы и сохраняю каждую в свою папку. Создается так же как и POU правой кнопкой мыши выбираем New Folder, а дальше переименовываем новую папку также правой кнопкой мыши. Далее можно мышкой нужные ФБ перетащить в папку. Таким образом в каждой папке у меня хранятся ФБ для определенных задач. Далее экспортируем папку в файл. Если мне в новом проекте понадобятся ФБ из этой папки я просто импортирую ее в новый проект. При необходимости можно удалить ненужные блоки, чтобы не забивать без надобности память контроллера. Можно конечно сделать библиотеку, но мне показалось так удобней, тем более есть возможность подкорректировать блоки при необходимости без лишних телодвижений.

    Про функции, программы и функциональные блоки можно почитать в документации CoDeSys_V23_RU стр.10.

    Если кратко, то функция не имеет памяти и используется в основном для вычислений.

    Функциональные блоки после своего выполнения сохраняют значения своих переменных, в том числе входов и выходов до следующего вызова. Функциональные блоки объявляются как обычные переменные каждый экземпляр со своим именем (точно так же как таймеры, триггеры, счетчики).

    Программа это тот же функциональный блок, только в единственном экземпляре и является глобальным и объявлять ее как переменную не нужно.

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

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    On DATE#2015-03-05 at TOD#13:40:23 Skynet became self-aware.

    P.S. ту-ду-тум ту-дум
    http://www.gigapan.com/gigapans/58857/ на этой фотке, тетка лежит на пляжу, раздвинув ноги
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  3. #3643
    Пользователь
    Регистрация
    12.07.2007
    Адрес
    Воронеж
    Сообщений
    884

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    http://www.gigapan.com/gigapans/58857/ на этой фотке, тетка лежит на пляжу, раздвинув ноги
    Тетку найти легко, там рыбак есть

  4. #3644

    По умолчанию

    Ну вот и шутки пошли. А человек просто не понимает что если нарисовать схему допустим электрощита управления и в этой же схеме нарисовать схемы внутренностей всех приборов то это будет полный п...... И как раз в этом случае у вас перед глазами будет не полная картина работы схемы а опять же полный п..... Делайте свои POU и вам основного холста хватит на какую угодно программу.

  5. #3645

    По умолчанию

    Народ, всем доброго времени суток. Подскажите начинающему юзеру. как на языке CFC обнулить значение переменной типа real, то есть когда переменная достигает определенного значения, предполагается сброс кнопкой данной переменной на ноль.

  6. #3646
    Пользователь Аватар для _Mikhail
    Регистрация
    25.07.2013
    Адрес
    Ярославль
    Сообщений
    510

    По умолчанию

    Цитата Сообщение от Алексей87 Посмотреть сообщение
    Народ, всем доброго времени суток. Подскажите начинающему юзеру. как на языке CFC обнулить значение переменной типа real, то есть когда переменная достигает определенного значения, предполагается сброс кнопкой данной переменной на ноль.
    Если эта переменная идет напрямую с датчиков, то ни как. Если это промежуточая переменная то используйте блок MOVE c присвоением по условию EN-ENO

  7. #3647

    По умолчанию

    Цитата Сообщение от Алексей87 Посмотреть сообщение
    Народ, всем доброго времени суток. Подскажите начинающему юзеру. как на языке CFC обнулить значение переменной типа real, то есть когда переменная достигает определенного значения, предполагается сброс кнопкой данной переменной на ноль.
    Кнопка где? И где вы видите значение переменной? Излагайте точнее.

  8. #3648

    По умолчанию

    Ситуация такова. Есть связь Мв110.224 1 ТД, плк 100, и панель СП270 (плк мастер), передаю сигнал с тензодатчиков в плк и оттуда уже значение переменной(вес) в панель оператора, на панели хочу сделать кнопку сброс веса на ноль(калибровка).

  9. #3649

  10. #3650

    По умолчанию

    Но скорее всего вам надо не 0 записывать. Вам надо записать корректировочную переменную которая при последующих взвешиваниях будет вычитаться из веса.
    Как то так
    Вложение 16979

Страница 365 из 1049 ПерваяПервая ... 265315355363364365366367375415465865 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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