Страница 316 из 323 ПерваяПервая ... 216266306314315316317318 ... ПоследняяПоследняя
Показано с 3,151 по 3,160 из 3225

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

  1. #3151

    По умолчанию

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

  2. #3152

    По умолчанию

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

  3. #3153

    По умолчанию

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

  4. #3154

    По умолчанию

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

  5. #3155

    По умолчанию

    Добрый день, прошу помочь оценить возможную глубину временного интервала для записи 50 трендов с дискретностью в 1мин. на СПК.

  6. #3156

    По умолчанию

    Вопрос по стандартному блоку Blink: если во время работы ему изменить TIMEHIGH или TIMELOW, то он все равно доработает до конца цикла со старыми значениями и только потом начнет работать с новыми. Например, если они были равны 1 час и попытаться изменить их на 1 минуту, Blink все равно завершит цикл условно через два часа и только потом начнет мигать с периодичностью в 2 минуты.

    Вопрос: можно ли блок как-то сбросить при изменении TIMELOW или TIMEHIGH?

  7. #3157
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    6,771

    По умолчанию

    Цитата Сообщение от Карбофос Посмотреть сообщение
    Вопрос по стандартному блоку Blink: если во время работы ему изменить TIMEHIGH или TIMELOW, то он все равно доработает до конца цикла со старыми значениями и только потом начнет работать с новыми. Например, если они были равны 1 час и попытаться изменить их на 1 минуту, Blink все равно завершит цикл условно через два часа и только потом начнет мигать с периодичностью в 2 минуты.

    Вопрос: можно ли блок как-то сбросить при изменении TIMELOW или TIMEHIGH?
    Нужно вызвать ФБ с ENABLE := FALSE, а потом - с ENABLE := TRUE

  8. #3158

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Нужно вызвать ФБ с ENABLE := FALSE, а потом - с ENABLE := TRUE
    Не выходит. Написал тестовый код:

    Код:
    VAR
    	blink1:BLINK;
    	time1 : TIME;
    	time2 : TIME;
    	en1 : BOOL;
    	en2 : bool;
    	ou1 : bool;
    END_VAR
    
    IF en2 THEN 
    	blink1(enable:= en1, timelow := time1, timehigh := time2);
    END_IF
    
    ou1 := blink1.OUT;
    Если TIMEHIGH и TIMELOW задать допустим 1 час, а потом 1 секунда, то в каких бы пропорциях не менялись значения en1 и en2, время в 1 час никак не сбрасывается.

  9. #3159
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    6,771

    По умолчанию

    Вариант с нужным вам поведением:

    Код:
    PROGRAM PLC_PRG
    VAR
    	blink1:BLINK;
    	time1 : TIME := T#1M;
    	time2 : TIME := T#1m;
    	en1 :	 BOOL;
    	en2 :	 BOOL;
    	ou1 : 	 BOOL;
    	reset:	 BOOL;
    END_VAR
    VAR CONSTANT
    	blink2:	BLINK;
    END_VAR
    
    
    IF en2 THEN 
    	blink1(enable:= en1, timelow := time1, timehigh := time2);
    END_IF
    
    IF NOT(en1) THEN
    	blink1 := blink2;
    END_IF
    
    ou1 := blink1.OUT;
    "Переключение" en1 (с TRUE на FALSE и обратно на TRUE) применит новые параметры времени.

  10. #3160

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Вариант с нужным вам поведением:

    Код:
    PROGRAM PLC_PRG
    VAR
    	blink1:BLINK;
    	time1 : TIME := T#1M;
    	time2 : TIME := T#1m;
    	en1 :	 BOOL;
    	en2 :	 BOOL;
    	ou1 : 	 BOOL;
    	reset:	 BOOL;
    END_VAR
    VAR CONSTANT
    	blink2:	BLINK;
    END_VAR
    
    
    IF en2 THEN 
    	blink1(enable:= en1, timelow := time1, timehigh := time2);
    END_IF
    
    IF NOT(en1) THEN
    	blink1 := blink2;
    END_IF
    
    ou1 := blink1.OUT;
    "Переключение" en1 (с TRUE на FALSE и обратно на TRUE) применит новые параметры времени.
    Работает, спасибо!

Страница 316 из 323 ПерваяПервая ... 216266306314315316317318 ... ПоследняяПоследняя

Похожие темы

  1. Панели оператора СП3xx. Вопросы и ответы
    от Мурат Ахриев в разделе Панели оператора (HMI)
    Ответов: 2108
    Последнее сообщение: Вчера, 17:11
  2. Панели оператора ИП320. Вопросы и ответы
    от automat в разделе Панели оператора (HMI)
    Ответов: 627
    Последнее сообщение: 01.06.2021, 19:16
  3. ИПП120. Вопросы и ответы
    от Р.Александр в разделе Программируемые реле
    Ответов: 218
    Последнее сообщение: 25.05.2021, 19:55
  4. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  5. Панели оператора СП270. Вопросы и ответы
    от Давидюк в разделе Панели оператора (HMI)
    Ответов: 930
    Последнее сообщение: 15.05.2017, 17:12

Ваши права

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