Показано с 1 по 4 из 4

Тема: Библиотека RetainControlLib

  1. #1

    По умолчанию Библиотека RetainControlLib

    Всем добрый день!

    Подскажите пожалуйста, кто сталкивался с проблемой: при использовании библиотеки RetainControlLib, после выполнении функции записи переменных в Retain перестают работать дискретные выхода ПЛК110-30[М02]. При этом в CodeSys, биты управления дискретными выходами (у1 и у2 в примере ниже) продолжают изменяться согласно программе.

    Пример программы на которой тестировал запись в Retain:

    tr1(CLK:=X1); (*детектор переднего фронта*)
    IF tr1.Q THEN
    IF NOT arr1[0] THEN
    arr1[0]:=TRUE; (*Retain переменная*)
    ELSE
    arr1[0]:=FALSE;
    END_IF
    END_IF

    y1:=arr1[0]; (*Включение реле 1*)
    y2:=arr1[0]; (*Включение реле 2*)

    IF temp <> arr1[0] THEN
    xDone := SaveNow();
    IF xDone = TRUE THEN
    temp:=arr1[0];
    END_IF
    ELSE
    xDone := FALSE;
    END_IF

  2. #2

    По умолчанию

    Вроде как в инструкции на библиотеку было написано что-то о том, что надо быть внимательным, так как при SaveNow() останавливается обработка IO в ПЛК на то время, пока все переменные не запишутся. И что это может занимать аж несколько секунд (что ли).
    Я дословно не помню, но принцип там был в том, что SaveNow ставил ПЛК колом на время записи Retain.

    Вот, нашёл из документации на библиотеку:
    ВНИМАНИЕ! Использование функции приостанавливает выполнение программы ПЛК до заверше-ния полной записи RETAIN переменных. Запись длится около 30 мс., поэтому рекомендуется вызы-вать функцию SaveNow только когда значения RETAIN переменных были изменены.
    Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
    Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net

  3. #3

    По умолчанию

    Согласен! Но после записи реле должны оживать, а они увы обратно не включаются, и последующие попытки их включить успехом не увенчаются. Помогает только перезапуск ПЛК

  4. #4

    По умолчанию

    И опять же, запись RETAIN должно остановить выполнение программы, а насколько я понимаю установка состояний выходов происходит после выполнения цикла ПЛК (выполнение программы+запись RETAIN)

Похожие темы

  1. XML библиотека для 3.5
    от keysansa в разделе СПК1хх [М01]
    Ответов: 0
    Последнее сообщение: 12.05.2021, 17:24
  2. Библиотека unm.lib
    от Newcomer в разделе ПЛК1хх
    Ответов: 34
    Последнее сообщение: 20.11.2018, 18:27
  3. Библиотека для ПЧВ
    от evgeni293 в разделе ПЛК3хх
    Ответов: 2
    Последнее сообщение: 27.10.2016, 20:41
  4. Библиотека ST
    от иван50 в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 01.10.2015, 10:57
  5. Библиотека UNM
    от Сергей71 в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 19.01.2012, 18:15

Ваши права

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