Страница 518 из 1044 ПерваяПервая ... 184184685085165175185195205285686181018 ... ПоследняяПоследняя
Показано с 5,171 по 5,180 из 10436

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

  1. #5171
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,841

    По умолчанию

    Цитата Сообщение от pikvikone Посмотреть сообщение
    вот код попробуй.
    PLC_PRG
    PROG_1

    PLC_PRG
    VAR
    START:BOOL;
    END_VAR;

    IF START THEN
    PROG_1();
    END_IF;

    PROG_1
    VAR
    LAMP:BOOL;
    TEMP:INT;
    TEMP2:INT;
    END_VAR;

    IF TEMP > TEMP2 THEN
    LAMP:=TRUE;
    ELSIF TEMP < TEMP2 THEN
    LAMP:=FALSE;
    END_IF;

    При нажатии кнопки старт в визуализации запускает программа PROG_1. В программе выполняеться условие если температура 1 больше чем температура 2 то лампочка вкл иначе если температура 1 меньше чем температура 2 то лампочка выкл.

    Попробуй это написать и кнопкой Start вкл и выключить программу.
    Разве кнопка Start не вкл/выкл вызов программы PROG_1()?.
    Ответ - и включает и выключает. А ведь вопрос был именно об этом. Кто же знал, что Вы вздумаете включать в этой программе некую переменную LAMP.
    Если программа не вызывается (запрещена кнопкой Start), то кто будет выключать лампу? Программа-то не вызывается и проверка температуры больше не выполняется, все внутренние переменные в программе или ФБ сохраняются до следующего их вызова. А самопроизвольно переменные не могут изменяться.
    Таким образом Вам нужно не "вкл и выключить программу", а просто само условие переместить в программу
    Код:
    PLC_PRG
    VAR 
    START:BOOL;
    END_VAR;
    
    PROG_1(START:= start);
    Код:
    PROG_1
    VAR 
    LAMP:BOOL;
    TEMP:INT;
    TEMP2:INT;
    END_VAR;
    VAR_INPUT
    	START: BOOL;
    END_VAR
    
    IF IN >= temp AND START THEN
    ON:=TRUE;
    ELSE
    ON:=FALSE;
    END_IF;
    Только в PROG_1 вместо ВСЕЙ ЛАБУДЫ С IF/ELSIF достаточно одой строчки
    ON:=IN >= temp AND START;
    Скрытый текст:
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  2. #5172

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Разве кнопка Start не вкл/выкл вызов программы PROG_1()?.
    Ответ - и включает и выключает. А ведь вопрос был именно об этом. Кто же знал, что Вы вздумаете включать в этой программе некую переменную LAMP.
    Если программа не вызывается (запрещена кнопкой Start), то кто будет выключать лампу? Программа-то не вызывается и проверка температуры больше не выполняется, все внутренние переменные в программе или ФБ сохраняются до следующего их вызова. А самопроизвольно переменные не могут изменяться.
    Таким образом Вам нужно не "вкл и выключить программу", а просто само условие переместить в программу
    Код:
    PLC_PRG
    VAR 
    START:BOOL;
    END_VAR;
    
    PROG_1(START:= start);
    Код:
    PROG_1
    VAR 
    LAMP:BOOL;
    TEMP:INT;
    TEMP2:INT;
    END_VAR;
    VAR_INPUT
    	START: BOOL;
    END_VAR
    
    IF IN >= temp AND START THEN
    ON:=TRUE;
    ELSE
    ON:=FALSE;
    END_IF;
    Только в PROG_1 вместо ВСЕЙ ЛАБУДЫ С IF/ELSIF достаточно одой строчки
    ON:=IN >= temp AND START;
    Скрытый текст:
    А если условий много ? то тогда как быть на каждый IF AND START писать ?

  3. #5173
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Цитата Сообщение от pikvikone Посмотреть сообщение
    А если условий много ? то тогда как быть на каждый IF AND START писать ?
    В общем - да. Как вариант - выделяешь состояние НЕТ_СТАРТА, а там приводишь все в нужное состояние

  4. #5174

    По умолчанию

    Помогите реализовать на ST такое выражение. Каждое N-количество часов устройство включается. когда температура устройства достигла температуры N то устройство выключается. и цикл повторяется. я чет голову себе уже сломал, хотел использовать блинк но чет не получаеться.
    PLC_PRG
    VAR
    TIME LOW:TIME; время паузы
    TIME HIGHT:TIME; Время запуска
    TEMP_REAL:REAL; (Температура уставки)
    TEMP_SET:REAL; (Реальная температура)
    OUT:BOOL;(Устройство)
    END_VAR;

    IF TIME LOW >= TIME HIGHT THEN
    OUT:TRUE;
    ELSIF TEMP_REAL >= TEMP_SET THEN
    OUT:FALSE;
    END_IF;

    Немогу догнать как сделать с помошью одной уставки чтобы каждые N часов включалось. достигла температуры выключалось. прошло N количество времени устройство вкл. и тд...

  5. #5175

    По умолчанию

    Здравствуйте. Только начинаю свое знакомство с ПЛК Овен. У меня вопрос заключается в следующем, как мне связать резестивный датчик температуры, подключенный в аналоговому входу, с аналоговых выходом 0-10V? заранее спасибо за ответ.

  6. #5176
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Цитата Сообщение от pikvikone Посмотреть сообщение
    ..Каждое N-количество часов устройство включается... когда температура устройства достигла температуры N то устройство выключается. и цикл повторяется....
    Есть много способов все записать в одну строку...

  7. #5177
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,251

    По умолчанию

    Цитата Сообщение от Leon665 Посмотреть сообщение
    Здравствуйте. Только начинаю свое знакомство с ПЛК Овен. У меня вопрос заключается в следующем, как мне связать резестивный датчик температуры, подключенный в аналоговому входу, с аналоговых выходом 0-10V? заранее спасибо за ответ.
    1.Выяснить в РЭ - как видишь т-ру (Ai)
    2.Выяснить в РЭ - как устанавливать выход (Ao)
    3.Описать и использовать функцию F, прототип вызова который предположительно F(IN : real) : real; а строка вызова Ao := F(Ai);

    Есть вопросы по п.1 и 2 ?

  8. #5178

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Есть много способов все записать в одну строку. Но
    1. Мы автоматчики - а значит смотрим немного вперед
    2. Точим под простое расширение если чо

    Код:
    фб/прог устройство
    var_input
      темпра : ....
      ok : bool; //с девайсом
    var_output
      q : bool;
    var
      состояние : (облом, курит, греет);
      t : ton;
    .......
    if not ok then
      состояние := облом;
    end_if
    
    case состояние of
      облом:
         if ok then
            t(in := false);
            состояние := курит;
         end_if 
    
      курит:
         ton(in := true, pt := ...);
         if ton.q and темпра < мин then
            t(in := false);
            состояние := греет;
         end_if
    
      греет:
         t(in := true, pt := ...); //контроль предельного времени - как бонус 
         if темпра > макс or t.q then
            t(in := false);
            состояние := курит;
         end_if
    end_case
    
    q := состояние = греет;
    PS
    деньги - мне, цветы в машину (C)
    немогу понять а зачем 3 состаяния :? либо он выключен либо влючен. бла проблема выставить время включения по циклу. я просто еще не сталкивался с этим. сфера ПЛК для меня новая.

  9. #5179

    По умолчанию

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

    Расписания делаются в привязке к системному времени. Здесь на форумах не раз это описывалось - поищи.
    На мой личный взгляд твоя основная проблема не в том, что ты не обладаешь приемами программирования, а в том, что ты не умеешь излагать что именно ты хочешь сделать. Читаю твои сообщения и не могу проследить четкую логическую цепь.
    1. Определись с сигналами (таблицы ввода-вывода)
    2. Опиши алгоритмы каким угодно графическим языком
    3. Опиши защиты (более приоритетные условия)
    4. Опиши альбом видеокадров и продумай что именно у тебя будет HMI

    Вся эта работа может быть создана за 10 дней (приблизительно), включая эти документы.
    Документы+прикладное обеспечение ПЛК+прикладное обеспечение Weintek = 100т.р
    +79104444236
    С уважением,
    Лапшин Вячеслав

  10. #5180

    По умолчанию

    Цитата Сообщение от krollcbas Посмотреть сообщение
    Павел, Валенок тебе раскрыл основную суть построения конечного автомата состояния.
    Таким образом можно построить достаточно сложную модель любого технологического процесса.

    Расписания делаются в привязке к системному времени. Здесь на форумах не раз это описывалось - поищи.
    На мой личный взгляд твоя основная проблема не в том, что ты не обладаешь приемами программирования, а в том, что ты не умеешь излагать что именно ты хочешь сделать. Читаю твои сообщения и не могу проследить четкую логическую цепь.
    1. Определись с сигналами (таблицы ввода-вывода)
    2. Опиши алгоритмы каким угодно графическим языком
    3. Опиши защиты (более приоритетные условия)
    4. Опиши альбом видеокадров и продумай что именно у тебя будет HMI

    Вся эта работа может быть создана за 10 дней (приблизительно), включая эти документы.
    Документы+прикладное обеспечение ПЛК+прикладное обеспечение Weintek = 100т.р
    Ну вот Слав)) и тут ты вставил свое)) Дай я знания себе нарою и это все мог бы в лс написать.

    И я на форуме не пишу конечной цели. а даю типичные примеры. то что я делаю потом другое.

Страница 518 из 1044 ПерваяПервая ... 184184685085165175185195205285686181018 ... ПоследняяПоследняя

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

Ваши права

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