PDA

Просмотр полной версии : Не работает RS триггер.



Gatling
08.09.2022, 14:00
Здравствуйте. Создал блок ФБ, шаблонный для управления насосами, вывел его в функцию где будет прописаны условия включения и тд, использую глобальные переменные, далее вызвал функцию в PLC_PRG. При онлайн режиме не работает триггер как положено, сигнал на сет идёт, выход активен, как только сигнал с сета пропадает, сразу выход неактивен. При этом его ничего не ресетит. Та же программа, вызывная чисто в главном блоке или просто в ФБ работает адекватно. В чем причина? Могу прислать пример проекта.

Евгений Кислов
08.09.2022, 14:21
Здравствуйте. Создал блок ФБ, шаблонный для управления насосами, вывел его в функцию где будет прописаны условия включения и тд, использую глобальные переменные, далее вызвал функцию в PLC_PRG. При онлайн режиме не работает триггер как положено, сигнал на сет идёт, выход активен, как только сигнал с сета пропадает, сразу выход неактивен. При этом его ничего не ресетит. Та же программа, вызывная чисто в главном блоке или просто в ФБ работает адекватно. В чем причина? Могу прислать пример проекта.

Добрый день.

Вы RS-триггер используете внутри функции?
Так делать нельзя; RS-триггер - это ФБ, и ему нужно хранить свои данные между вызовами.
А у функций нет памяти.
Создайте вместо функции ФБ.

Gatling
08.09.2022, 14:24
Добрый день.

Вы RS-триггер используете внутри функции?
Так делать нельзя; RS-триггер - это ФБ, и ему нужно хранить свои данные между вызовами.
А у функций нет памяти.
Создайте вместо функции ФБ.
Я использую триггер внутри фб публичного, который вызываю далее в функции, а функция в свою очередь в PLC_PRG. Так делать нельзя?

Евгений Кислов
08.09.2022, 14:26
Я использую триггер внутри фб публичного, который вызываю далее в функции, а функция в свою очередь в PLC_PRG. Так делать нельзя?

Нельзя - потому что в результате все равно триггер вызывается внутри функции (потому что ФБ, в котором он вызывается, вызывается внутри функции).

Gatling
08.09.2022, 14:40
Нельзя - потому что в результате все равно триггер вызывается внутри функции (потому что ФБ, в котором он вызывается, вызывается внутри функции).

Спасибо. Подскажите, а есть какой-либо мануал, где такие нюансы прописаны, чтоб почитать?

Евгений Кислов
08.09.2022, 15:49
Спасибо. Подскажите, а есть какой-либо мануал, где такие нюансы прописаны, чтоб почитать?

Это описано в стандарте МЭК 61131-3, справке CODESYS (https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_obj_function.html) и, например, обновленной версии нашего документа "СODESYS V3.5. Первый старт", которую мы скоро выложим на нашем сайте (в текущей версии документа об этом тоже упоминается, но вскользь).

Gatling
08.09.2022, 18:33
Это описано в стандарте МЭК 61131-3, справке CODESYS (https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_obj_function.html) и, например, обновленной версии нашего документа "СODESYS V3.5. Первый старт", которую мы скоро выложим на нашем сайте (в текущей версии документа об этом тоже упоминается, но вскользь).

Спасибо Вам большое!