Не могу понять логику работы.

В PLC_PRG вставлен код:

fb_COMcontrol
(
xOpen := xOpen,
xClose := xClose,
uiPortNumber := 2,
udiBaudrate := 9600,
uiParity := COM.PARITY.NONE,
uiByteSize := 8,
uiStopBits := COM.STOPBIT.ONESTOPBIT
);


Этот код вызывается при каждом цикле ПЛК, в моем поимании создается всегда новый экземпляр ФБ, который не должен помнить предыдущего состояния. Но по факту, получается, что это не так, и все переменные которые были внтури ФБ сохраняют свое состояние, как можно объяснить такое поведение?