Страница 315 из 699 ПерваяПервая ... 215265305313314315316317325365415 ... ПоследняяПоследняя
Показано с 3,141 по 3,150 из 6985

Тема: CODESYS V3.5. Вопросы и ответы

  1. #3141

    По умолчанию

    Доброго времени суток!
    Начинаю разбираться с CodeSys 3.5
    Подскажите почему не отрабатывает ситуация когда я использую функции, точнее когда я тестировал их в простых арифметических действиях, то все отрабатывает, но если использовать функцию на FB такого рода как на скрине и подавать туда переменную при нажатию на кнопку то нет реакции.
    В итоге в программе для каждого из входов тыкаю свой таймер с привязкой к переменной, разве нельзя описать функцию и подавать туда на вход переменную.
    Немного не ясна работа функций тогда. Задача в данном конкретном случае подать глобальную переменную на вход функции и инвертировать ее через определенный промежуток времени.
    Если несколько цепочек данного кода поместить просто в программу и привязать напрямую переменные все работает.
    PS да можно сделать через ТР или TOF но это не принципиально в данном случае.
    pou.jpg

  2. #3142
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,064

    По умолчанию

    Цитата Сообщение от Владимир Мал Посмотреть сообщение
    Доброго времени суток!
    Начинаю разбираться с CodeSys 3.5
    Подскажите почему не отрабатывает ситуация когда я использую функции, точнее когда я тестировал их в простых арифметических действиях, то все отрабатывает, но если использовать функцию на FB такого рода как на скрине и подавать туда переменную при нажатию на кнопку то нет реакции.
    В итоге в программе для каждого из входов тыкаю свой таймер с привязкой к переменной, разве нельзя описать функцию и подавать туда на вход переменную.
    Немного не ясна работа функций тогда. Задача в данном конкретном случае подать глобальную переменную на вход функции и инвертировать ее через определенный промежуток времени.
    Если несколько цепочек данного кода поместить просто в программу и привязать напрямую переменные все работает.
    PS да можно сделать через ТР или TOF но это не принципиально в данном случае.
    pou.jpg
    Добрый день.
    Вызывать ФБ в функциях не имеет смысла, так как у функций нет памяти - они не сохраняют в памяти состояние своих объектов между вызовами.
    Вам нужно создать ФБ вместо функции.

  3. #3143

    По умолчанию

    Здравствуйте, дорогие гуру или не совсем!
    Возник вопрос по алгоритму. Задачка такая: надо по нажатии кнопок на визуализации прибавлять или убавлять некоторые фиксированные константы к работающей внутри ФБ переменной.
    Я придумал алгоритм, тупой до омерзения. Внутри ФБ входная переменная всё время прибавляется к той переменной, которую нужно корректировать из визуализации. Следующим оператором в эту входную переменную сам ФБ пишет ноль. Ну и соответственно, кнопки из визуализации пишут свои константы в эту же входную переменную ФБ.
    Вроде бы всё работает, но нет ли тут какого криминала, в том, что во входную переменную ФБ пишет не только визуализация, но и сам ФБ?

  4. #3144

    По умолчанию

    А зачем изнутри ФБ управлять его входами? Не проще прямо в действии кнопки прописать что-то типа iVar1:=iVar1+c_iConst;
    Где iVar1 это вход вашего ФБ, а c_iConst константа которую прибавляете при нажатии

  5. #3145

    По умолчанию

    Тогда придётся делать переменную выходной, чтоб визуализация её видела, а потом чем-то в неё писать результат сложения с константой. Или я что-то недопонял во входных и выходных переменных?

  6. #3146

    По умолчанию

    Что-то не допоняли. Вы на вход ФБ подаете какую-то переменную. Вот и подавайте ее сразу в конечном виде. Зачем внутри ФБ конпку обрабатывать? Вы весь смысл ФБ хотите разрушить своими действиями иначе.

  7. #3147

    По умолчанию

    Цитата Сообщение от RV9WFJ Посмотреть сообщение
    Что-то не допоняли. Вы на вход ФБ подаете какую-то переменную. Вот и подавайте ее сразу в конечном виде. Зачем внутри ФБ конпку обрабатывать? Вы весь смысл ФБ хотите разрушить своими действиями иначе.
    Потому что внутри ФБ эта переменная ещё и инкрементируется время от времени по нескольким условиям. И вытаскивать её наружу - это разломать весь ФБ почти что.
    Зы. Видится абсолютно травоядный алгоритм: всё то же, что и было, плюс каждая кнопка ещё и меняет на противоположное состояние дополнительную битовую переменную на входе ФБ. А ФБ, увидев, что бит переключился, прибавляет константу к переменной

  8. #3148

    По умолчанию

    Цитата Сообщение от murzik Посмотреть сообщение
    И вытаскивать её наружу - это разломать весь ФБ почти что.
    В чем разлом то? Вам в коде ФБ не все ли равно где эта переменная объявлена? Но если вам нравятся велосипеды с квадратными колесами то никто вам их не запретит.

  9. #3149

    По умолчанию

    Цитата Сообщение от RV9WFJ Посмотреть сообщение
    В чем разлом то? Вам в коде ФБ не все ли равно где эта переменная объявлена? Но если вам нравятся велосипеды с квадратными колесами то никто вам их не запретит.
    Ну не знаю. Мне пока кажется, что если к переменной внутри ФБ идёт с десяток обращений, примерно половина из них на чтение, а половина на запись. И если я эту переменную вынесу из ФБ, то проще вообще разломать весь ФБ, и все действия над переменной осуществлять в плс-прг.

  10. #3150

    По умолчанию

    Есть ещё мысль: никакую входную переменную в ФБ не сбрасывать, а просто завести ещё одну переменную, которой перманентно присваивать сумму входной переменной, которую прибавляет и убавляет визуализация, и той переменной, что пересчитывается алгоритмом самого ФБ. И уже этой суммарной переменной и оперировать в результате.
    Тоже нормально и лаконично вполне. Но всё-таки изначальный вопрос о правомерности сбрасывания входной переменной силами самого фб хотелось бы разъяснить для себя
    Последний раз редактировалось murzik; 26.04.2021 в 15:04.

Страница 315 из 699 ПерваяПервая ... 215265305313314315316317325365415 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 3177
    Последнее сообщение: Вчера, 12:47
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 822
    Последнее сообщение: 20.11.2023, 17:48
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 245
    Последнее сообщение: 02.10.2022, 11:34
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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