Собственно как это выглядит в программе и как до этого добраться: В дереве слева выбираете задачу Считывание состояния дискр_выходов. В правой области откроется поле с элементами программы. Выбираете показанный на рисунке скрипт. При выборе скрипта выше появится вкладка "ФБ Скрипт", пройдя по которой вы получите доступ к настройкам скрипта рис1.jpg.

Вкладка "ФБ Скрипт" выглядит следующим образом: рис2.jpg . Здесь вы видите входы/выходы Функционального блока (ФБ), их тип и есть ли к ним подключение. Вы можете редактировать( изменять-добавлять-удалять) входы выходы в зависимости от ваших задач. Нажав на кнопку "Редактировать скрипт" ниже таблицы вы попадете в редактор скриптов, где и сможете изменить код. В спойлере можете посмотреть код на Pascal и модифицировать его под свои задачи.

Скрипт на Pascal:
PHP код:
  Var  status integer;
  Var 
bit1bit2bit3bit4:  integer;
    Var  
alarmP1alarmP2,alarmP3,alarmP4 Bool;
   
{---------- 
main program -----------}
begin
  ReadInteger
('Status'status); { считывание входа Status и запись во внутреннюю переменную скрипта status

ReadBool
('AlarmP1'alarmP1);{ считывание выхода AlarmP1 и запись во внутреннюю переменную скрипта alarmP1
 bit1 
:= status and 2; { в переменную bit1 записывается результат побитового умножения статусного слова и 2 проверка первого бита
 
if bit1 >= 2 then alarmP1:=true процедура сравнения 
 
else   alarmP1:=false;
WriteBool('AlarmP1',alarmP1); { передача значения на выход AlarmP1

ReadBool
('AlarmP2'alarmP2);
 
bit2 := status and 4;
 if 
bit2 >= 4 then alarmP2:=true
 
else   alarmP2:=false;
WriteBool('AlarmP2',alarmP2);

ReadBool('AlarmP3'alarmP3);
 
bit3 := status and 8;
 if 
bit3 >= 8 then alarmP3:=true
 
else   alarmP3:=false;
WriteBool('AlarmP3',alarmP3);

ReadBool('AlarmP4'alarmP4);
 
bit4 := status and 16;
 if 
bit4 >= 16 then alarmP4:=true
 
else   alarmP4:=false;
WriteBool('AlarmP4',alarmP4);

end