Добавление функций и ФБ в программу FBD

<< Click to Display Table of Contents >>

Navigation:  Интерфейс редактора проекта > Операции в редакторе проекта > Скрипт C# > Примеры использования скрипта C# >

Добавление функций и ФБ в программу FBD

Зададим следующий код в скрипт, который будет добавлять три ФБ в программу, изменять расположение ФБ на схеме FBD, а также выводить информацию об этих ФБ в консоль:

public sealed class Script : ScriptBase

{

public override void DoAction()

   {

      var rootItemModel = this.RootItemModel; //переменная для обращения к дереву проекта

      var systemRoot = rootItemModel.System; //переменная для обращения к дереву системы

      var objectsRoot = rootItemModel.Objects; //переменная для обращения к дереву объектов

      var libraryRoot = rootItemModel.Libraries; //переменная для обращения к дереву библиотек

       

      // Добавление объекта

      var my_obj = (ObjectItem)objectsRoot.AddObject("Новый объект");

      // Добавление программы FBD

      var my_FBD = (ProgramFBDItem)my_obj.AddProgramFBD("FBD");

      // Добавление ФБ в алгоритм программы

      var fbAND = my_FBD.AddPOUTypeDeclarationToAlgoritm("AND");        

      var fbOR = my_FBD.AddPOUTypeDeclarationToAlgoritm("OR", x:250, y:100);

       fbOR.Width = 300;

      // Нахождение параметров ФБ

      var param1 = fbAND.FindParametes("Q");

      var param2 = fbOR.FindParameters("IN1");

      var param3 = fbOR.FindParameters("IN2");

      // Начальное значение параметра ФБ

       param3.InitialValue = "1";

      // Создание связи между параметрами ФБ

       param2.AddOutLink(param1);

      // Добавление ФБ в программу (без добавления в алгоритм)

      var fbNot = (POUTypeDeclarationItem)my_FBD.AddPOUTypeDeclaration("NOT");

       

       

      // Вывод информации в консоль:

      // Вывод полного имени первого ФБ в программе

      this.WriteConsole("FB - " + my_FBD.FBPrograms.First().FullName);

      // Вывод полного программного имени до ФБ

      this.WriteConsole("FB - " + fbOR.FullRefName);

      this.WriteConsole("FB - " + fbNot.FullRefName);

      // Вывод параметров ФБ

      this.WriteConsole("Параметры ФБ: ");

      foreach (var item in fbNot.Parameters)

          this.WriteConsole("\t\t" + item.Name);

      // Вывод ФБ из алгрима программы

      this.WriteConsole("ФБ из алгоритма: ");

      foreach (var item in my_FBD.FBsFromAlgoritm)

          this.WriteConsole("\t\t" + item.Name);

      // Вывод полного имени первого парметра ФБ из алгорима

      this.WriteConsole("Полное имя первого парметра ФБ из алгорима: " + my_FBD.FBsFromAlgoritm.First().FindParameters("IN1").FullName);

      // Выввод параметров расположения ФБ

      this.WriteConsole("X - " + fbOR.X);

      this.WriteConsole("Y - " + fbOR.Y);

      this.WriteConsole("W - " + fbOR.Width);

   }

}

При выполнении скрипта будет отображаться следующая информация в консоли:

FBD_C

В дерево проекта будет добавлен объект Новый объект с программой FBD. В программу будут добавлены три функции.
В самом редакторе будет отображаться два ФБ, которые были добавлены в алгоритм. Расположения и связи функциональных блоков, а также начальное значение параметра будут преднастроены.

FBD_C_1