Реализация ФБ в C++

<< Click to Display Table of Contents >>

Navigation:  API MasterSCADA 4D > Функции, ФБ, Протоколы на С++ > API для ФБ и протоколов > Разработка функциональных блоков > Разработка простого ФБ >

Реализация ФБ в C++

Пример реализации подключен к Examples.sln как mplc_fb:

real_FB

Для разработки собственных ФБ нужно открыть пример и изменить те части проекта, которые отвечают за логику работы. Вспомогательные файлы, служащие для взаимодействия с исполнительной системой, редактировать не требуется.

Порядок разработки

test_fb.h

Для начала необходимо создать класс-наследник ScadaFB, объявить поля в соответствии с параметрами в проекте и реализовать чисто виртуальный метод Execute(). Помимо этого, необходимо в определении класса в секции public указать макрос MPLC_OBJECT(TestFB) для доступа к его полям, методам и родителям.

Для этого в примере был создан заголовочный файл test_fb.h:

real_FB_1

Содержимое файла:

Скриншот

Текст

real_FB_2

#pragma once

#include <mplc/api.h>

 

class TestFB : public mplc::api::ScadaFB {

  STRING input_test;

  STRING output_test;

 

public:

  MPLC_OBJECT(TestFB);

  void Execute() override;

};

 

 

test_fb.cpp

Далее в файле исходного кода необходимо написать реализацию методов и макрос для описания полей ввода вывода MPLC_DECLARE_PROPERTIES с указанием для полей макросов (MPLC_In, MPLC_Out, MPLC_InOut). Далее необходимо зарегистрировать класс макросом MPLC_FB_TYPE(TestFBExternal, mplc::api::TestFB).

Важно! Название TestFBExternal должно совпадать в дальнейшем с названием ФБ в проекте MasterSCADA 4D.

Для этого был создан файл реализации для ФБ test_fb.cpp:

real_FB_3

Скриншот

Текст

real_FB_4

 

#include "test_fb.h"

 

void TestFB::Execute() {

   std::cout << input_test << std::endl;

   output_test = input_test + " from C++";

}

 

MPLC_DECLARE_PROPERTIES(TestFB) {

  MPLC_In(input_test),

   MPLC_Out(output_test),

};

 

MPLC_FB_TYPE(TestFBExternal, TestFB);

Далее можно компилировать проект.

Компиляция проекта

ОС Windows

Для компиляции проекта на ОС Windows нужно выполнить команду Build в контекстном меню проекта:

real_FB_5

Скомпилированные файлы появятся в папке проекта: C:\mplc\api\platform\x64\bin\Release (адрес действителен, если название папок, которые делал разработчик, совпадают с названиями, которые давались в этой инструкции).

ОС Linux

Чтобы произвести сборку под Linux платформы, нужно сохранить проект и перенести все файлы из папки C:\mplc\api (адрес действителен, если название папок, которые делал разработчик, совпадают с названиями, которые давались в этой инструкции) в созданный каталог на компьютере с ОС Linux. Подробнее смотрите в разделе Сборка под Linux платформы.

После сборки можно приступать к тестированию созданного ФБ.