Программы C#. Примеры

<< Click to Display Table of Contents >>

Navigation:  Программирование в MasterSCADA 4D > Редактор C# >

Программы C#. Примеры

Рассмотрим основные особенности работы с редактором C# в MasterSCADA 4D 2.0 на простых примерах.

Простейший триггер

В дереве объектов создадим программу C#. Добавим  в нее три параметра типа BOOL:

Старт и Стоп на клеммник входов

Состояние на клеммник выходов

В теле функции, которая добавляется автоматически при создании программы пишем код:

if (Старт) {

Состояние = true;

}

else if (Стоп) {

Состояние = false;

}

Свяжем параметры программы с графическими элементами в окне:

Поменяем имя программы в ее панели свойств. Назовем ее Триггер.

Включение или отключение триггера с задержкой

Рассмотрим пример, когда переключение триггера должно происходить с задержкой, которая может быть изменена в режиме исполнения. В данном примере рассмотрим способ вызова ФБ, соответствующих  стандарту МЭК 61131-3.

Продолжим работу с программой описанной в предыдущем примере.

Добавим во входной клеммник программы параметр Задержка типа Time.

Для решения задачи нам потребуется ввести локальную переменную par типа BOOL. В отличии от других редакторов, где локальная переменная объявляется на соотвествующей вкладке легенды, в программе C#, они объявляются непосредственно в теле программы:

Важно! Локальные переменные объявляются вне функции public override void Execute(). В противном случае инициализации переменной будет происходить на каждом цикле программы.

Для решения поставленной задачи воспользуемся таймерами TON и TOF.

Перетащим их в поле программы:

Чтобы обратится к тому или иному входу или выходы ФБ в программе C# нужно написать: Имя_ФБ.Имя_параметра.

Далее изменим текст программы таким образом:

bool par = false; //объявление локальной переменной

public override void Execute()  

{

  if (Старт)

       {par = true;}

  else if (Стоп)

       {par = false;}

 

TON_1.PT = Задержка; //присвоение входной переменной ФБ параметру программы

TON_1.IN = par;

TON_1.Execute(); //выполнение ФБ

           

TOF_1.PT = Задержка;

TOF_1.IN = par;

TOF_1.Execute();

 

if (par) { Состояние = TON_1.Q;} //присвоение параметру программы выходной переменной ФБ

else {Состояние = TOF_1.Q;}

 

}