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

<< Click to Display Table of Contents >>

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

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

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

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

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

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

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

C_sharp_primery

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

{if (Старт)

               {

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

               }

else if (Стоп)

             {

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

               }

C_sharp_primery_1

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

clip0001

В режиме исполнения получим результат:

C_sharp_primery_2

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

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

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

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

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

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

C_sharp_primery_4

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

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

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

C_sharp_primery_5

В тексте программы получим функцию обеспечивающую вызов функционального блока: имя_ФБ/Execute(). После этого ФБ появятся на вкладке Локальные:

C_sharp_primery_6

Чтобы обратится  к тому или иному входу или выходы ФБ в программе 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;}

 

}