Страница 611 из 1044 ПерваяПервая ... 111511561601609610611612613621661711 ... ПоследняяПоследняя
Показано с 6,101 по 6,110 из 10432

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

  1. #6101

    По умолчанию

    А Вы точно пишите на LD?
    Элементарно обозвать катушку.

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

    По умолчанию

    Цитата Сообщение от odekolon Посмотреть сообщение
    Добрый день!
    пишу в SFС, разбитом на блоки LD (ну вот так мне удобно)
    хочу сделать присвоение константы (Word) регистру модбас (аналоговый вывод)

    как это можно сделать в LD?

    конечно, не вопрос, ввести промежуточный блок (IL, ST или SFC) но я как-то привык к LD...
    Просто нужно использовать "Элемент с EN"
    В качестве элемента - MOVE
    Вложение 33983
    Таким способом можно и вычисления делать, там где MOVE писать ADD, SUB, ... Или условия проверять.
    Или ФБ вызывать
    Скрытый текст:
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #6103

    По умолчанию

    Цитата Сообщение от ASo Посмотреть сообщение
    А Вы точно пишите на LD?
    Элементарно обозвать катушку.
    попробовал.
    у меня не получается ( да впрочем, здравый смысл говорит, что так и должно быть) присвоить катушке значение WORD

  4. #6104

    По умолчанию

    Цитата Сообщение от petera Посмотреть сообщение
    Просто нужно использовать "Элемент с EN"
    В качестве элемента - MOVE
    Вложение 33983
    Таким способом можно и вычисления делать, там где MOVE писать ADD, SUB, ... Или условия проверять.
    Или ФБ вызывать
    О! Спасибо, это то что нужно, про MOVE я прочел в хелпе, просто не мог дотумкать, как его вставить.

  5. #6105
    Пользователь
    Регистрация
    16.04.2012
    Адрес
    Тимашевск, Краснодарский край
    Сообщений
    326

    По умолчанию

    Граждане! Помогите. Не работает таймер в функциональном блоке.
    Вложение 34004

    FUNCTION_BLOCK gws_upr_pumps
    VAR_INPUT
    auto1: BOOL; (*Переключатель 1 насоса в автомате*)
    man1: BOOL; (*Переключатель 1 насоса в ручном*)
    auto2: BOOL; (*Переключатель 2 насоса в автомате*)
    man2: BOOL; (*Переключатель 1 насоса в ручном*)
    num: BOOL; (*Основной насос false - 1, true - 2*)
    k1: BOOL; (*Контакт пускателя 1 насоса*)
    k2: BOOL; (*Контакт пускателя 2 насоса*)
    rdd: BOOL; (*Перепад на насосной группе*)
    END_VAR
    VAR_OUTPUT
    out1: BOOL; (*Насос 1*)
    out2: BOOL; (*Насос 2*)
    al1: BOOL; (*Авария насоса 1*)
    al2: BOOL; (*Авария насоса 2*)
    END_VAR
    VAR
    g: BYTE;
    gp1: pump;
    gp2: pump;
    t1: TON := (pt := t#10s);
    g1, g2: BOOL;
    END_VAR

    IF man1 OR man2 THEN g := 0; (*Если хоть один насос включен в ручном режиме*)
    ELSIF auto1 AND NOT auto2 THEN g := 1; (*Если включен в работу только 1 насос*)
    ELSIF NOT auto1 AND auto2 THEN g := 2; (*Если включен в работу только 2 насос*)
    ELSIF auto1 AND auto2 AND NOT num THEN g := 12; (*Если включены насосы 1 и 2 и 1 основной*)
    ELSIF auto1 AND auto2 AND num THEN g := 21; (*Если включены насосы 1 и 2 и 2 основной*)
    ELSE
    g := 0;
    END_IF;

    CASE g OF
    0: g1 := FALSE;
    g2 := FALSE;
    t1.IN := FALSE;

    1: g1 := auto1 AND NOT al1;
    g2 := FALSE;
    t1.IN := FALSE;

    2: g2 := auto2 AND NOT al2;
    g1 := FALSE;
    t1.IN := FALSE;

    12: g1 := auto1 AND NOT al1;
    t1.IN := al1;
    g2 := auto2 AND NOT al2 AND t1.Q;

    21: g2 := auto2 AND NOT al2;
    t1.IN := al2;
    g1 := auto1 AND NOT al1 AND t1.Q;

    ELSE
    out1 := FALSE;
    out2 := FALSE;
    END_CASE;

    gp1(en := g1, res_alarm := NOT auto1 AND NOT man1, k := k1, rdd := rdd, out=> out1, alarm=> al1);
    gp2(en := g2, res_alarm := NOT auto2 AND NOT man2, k := k2, rdd := rdd, out=> out2, alarm=> al2);

  6. #6106

    По умолчанию

    Так он, таймер, нигде не вызывается. Зачем ему работать. ему и так хорошо.

  7. #6107
    Пользователь
    Регистрация
    16.04.2012
    Адрес
    Тимашевск, Краснодарский край
    Сообщений
    326

    По умолчанию

    Цитата Сообщение от YuriBel Посмотреть сообщение
    Так он, таймер, нигде не вызывается. Зачем ему работать. ему и так хорошо.
    Как не вызывается? А в кейсе под номерами 12 и 21?

  8. #6108

    По умолчанию

    В кейсах входу IN таймера присваивается некое значение, но сам таймер не вызывается.

  9. #6109
    Пользователь
    Регистрация
    16.04.2012
    Адрес
    Тимашевск, Краснодарский край
    Сообщений
    326

    По умолчанию

    Почему тогда здесь работает?

    VAR
    p1: pump;
    p2: pump;
    p3: pump;
    t1: TON := (pt := t#10s);
    t2: TON := (pt := t#10s);
    pp1, pp2, pp3: BOOL;
    END_VAR

    CASE num OF
    0: (*Не включен ни один насос*)
    pp1 := FALSE;
    pp2 := FALSE;
    pp3 := FALSE;
    t1.IN := FALSE;
    t2.IN := FALSE;
    (************************************************* ************************************************** *)
    1: (*Работает только сетевой-1*)
    pp1 := NOT al1;
    pp2 := FALSE;
    pp3 := FALSE;
    t1.IN := FALSE;
    t2.IN := FALSE;
    (************************************************* ************************************************** *)
    2: (*Работает только сетевой-2*)
    pp2 := NOT al2;
    pp1 := FALSE;
    pp3 := FALSE;
    t1.IN := FALSE;
    t2.IN := FALSE;
    (************************************************* ************************************************** *)
    3: (*Работает только сетевой-3*)
    pp3 := NOT al3;
    pp1 := FALSE;
    pp2 := FALSE;
    t1.IN := FALSE;
    t2.IN := FALSE;
    (************************************************* ************************************************** *)
    12: (*Включены 1 и 2*)
    pp1 := NOT al1;
    t1.IN := al1;
    pp2 := NOT al2 AND t1.Q;
    pp3 := FALSE;
    (************************************************* ************************************************** *)
    23: (*Включены 2 и 3*)
    pp2 := NOT al2;
    t1.IN := al2;
    pp3 := NOT al3 AND t1.Q;
    pp1 := FALSE;
    (************************************************* ************************************************** *)
    13: (*Включены 1 и 3*)
    pp1 := NOT al1;
    t1.IN := al1;
    pp3 := NOT al3 AND t1.Q;
    pp2 := FALSE;
    (************************************************* ************************************************** *)
    31: (*Включены 3 и 1*)
    pp3 := NOT al3;
    t1.IN := al3;
    pp1 := NOT al1 AND t1.Q;
    pp2 := FALSE;
    (************************************************* ************************************************** *)
    123: (*Включены 1 и 2 и 3*)
    pp1 := NOT al1;
    t1.IN := al1;
    pp2 := NOT al2 AND t1.Q;
    t2.IN := al1 AND al2;
    pp3 := NOT al3 AND t2.Q;
    (************************************************* ************************************************** *)
    132: (*Включены 1 и 3 и 2*)
    pp1 := NOT al1;
    t1.IN := al1;
    pp3 := NOT al3 AND t1.Q;
    t2.IN := al1 AND al3;
    pp2 := NOT al2 AND t2.Q;
    (************************************************* ************************************************** *)
    213: (*Включены 2 и 1 и 3*)
    pp2 := NOT al2;
    t1.IN := al2;
    pp1 := NOT al1 AND t1.Q;
    t2.IN := al1 AND al2;
    pp3 := NOT al3 AND t2.Q;
    (************************************************* ************************************************** *)
    231: (*Включены 2 и 3 и 1*)
    pp2 := NOT al2;
    t1.IN := al2;
    pp3 := NOT al3 AND t1.Q;
    t2.IN := al2 AND al3;
    pp1 := NOT al1 AND t2.Q;
    (************************************************* ************************************************** *)
    312: (*Включены 3 и 1 и 2*)
    pp3 := NOT al3;
    t1.IN := al3;
    pp1 := NOT al1 AND t1.Q;
    t2.IN := al3 AND al1;
    pp2 := NOT al2 AND t2.Q;
    (************************************************* ************************************************** *)
    321: (*Включены 3 и 2 и 1*)
    pp3 := NOT al3;
    t1.IN := al3;
    pp2 := NOT al2 AND t1.Q;
    t2.IN := al3 AND al2;
    pp1 := NOT al1 AND t2.Q;
    ELSE
    out1 := FALSE;
    out2 := FALSE;
    out3 := FALSE;
    END_CASE;

    p1 (en:= pp1, res_alarm:= res1, k:= k1, rdd:= rdd, out=> out1, alarm=> al1);
    p2 (en:= pp2, res_alarm:= res2, k:= k2, rdd:= rdd, out=> out2, alarm=> al2);
    p3 (en:= pp3, res_alarm:= res3, k:= k1, rdd:= rdd, out=> out3, alarm=> al3);

  10. #6110
    Пользователь
    Регистрация
    16.04.2012
    Адрес
    Тимашевск, Краснодарский край
    Сообщений
    326

    По умолчанию

    Вложение 34006 Пожалуйста. С тремя насосами работает, с двумя нет.

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

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

Ваши права

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