Описание базовых классов AgavaSCADA/AgavaPLC: различия между версиями

Материал из docs.kb-agava.ru
Перейти к навигации Перейти к поиску
Строка 119: Строка 119:
  
 
===Методы===
 
===Методы===
  string NodeProperty::GetName()
+
  string NodeProperty::GetName()         ///< Получение имени свойства
  string NodeProperty::GetShortName()
+
  string NodeProperty::GetShortName()   ///< Получение шифра свойства
  string NodeProperty::GetDescription()
+
  string NodeProperty::GetDescription() ///< Получение описания свойства
  string NodeProperty::GetTitle()
+
  string NodeProperty::GetTitle()       ///< Получение заголовка свойства
  
  string NodeProperty::ToString()
+
  string NodeProperty::ToString()       ///< Преобразование значения свойства в строку
  int NodeProperty::ToInt()
+
  int NodeProperty::ToInt()             ///< Преобразование значения свойства в число типа int
  double NodeProperty::ToDouble()
+
  double NodeProperty::ToDouble()       ///< Преобразование значения свойства в число типа double
  bool NodeProperty::ToBool()
+
  bool NodeProperty::ToBool()           ///< Преобразование значения свойства в булевское значение
  
  int NodeProperty::SetValue(string val)
+
  int NodeProperty::SetValue(string val) ///< Установка значения свойства
  int NodeProperty::SetValue(int val)
+
  int NodeProperty::SetValue(int val)   ///< Установка значения свойства
  int NodeProperty::SetValue(double val)
+
  int NodeProperty::SetValue(double val) ///< Установка значения свойства
  int NodeProperty::SetValue(bool val)
+
  int NodeProperty::SetValue(bool val)   ///< Установка значения свойства
  
 
=== Примеры ===
 
=== Примеры ===

Версия 16:35, 2 апреля 2025

В данном документе описываются свойства, поля и методы базовых классов AgavaPLC/AgavaSCADA, взаимодействие с которыми доступно в функциях, классах и программах приложений.

Иерархия классов объектной модели AgavaPLC 1.5+

Данный документ применим к AgavaSCADA/AgavaPLC версии 1.5 и старше (новее).

1 BasicNode

Базовый класс для всех узлов проекта.

Предок: нет.

1.1 Конструкторы

BasicNode::BasicNode(string path)    ///< Создание узла по пути в проекте

1.2 Методы

string BasicNode::GetName()
string BasicNode::GetShortName()
string BasicNode::GetDescription()
void BasicNode::SetName(string name)
void BasicNode::SetShortName(string shortname)
void BasicNode::SetDescription(string description)
string BasicNode::GetPath()      ///< Получение пути узла в проекте
void BasicNode::Start()
void BasicNode::Stop()
NodeProperty@ BasicNode::GetProperty(string prop)     ///< Получение указателя на свойство узла

1.3 Свойства

Имя Описание Тип Доступ Внутренний идентификатор
Id Идентификатор узла int Чтение/Запись CONFIGNODE_PARAM_ID
Name Имя узла string Чтение/Запись CONFIGNODE_PARAM_NAME
Description Описание узла string Чтение/Запись CONFIGNODE_PARAM_DESCRIPTION
ShortName Шифр узла string Чтение/Запись CONFIGNODE_PARAM_SHORTNAME
NodeDisabled Узел выключен bool Чтение/Запись CONFIGNODE_PARAM_DISABLED

2 SignalValue

Класс, хранящий значение, передаваемое между узлами.

Предок: нет.

2.1 Конструкторы

SignalValue::SignalValue(int value)
SignalValue::SignalValue(double value)
SignalValue::SignalValue(string value)

2.2 Методы

string SignalValue::ToString()   ///< Преобразовать значение в строку
double SignalValue::ToDouble()   ///< Преобразовать значение в double
int SignalValue::ToInt()         ///< Преобразовать значение в int
void SignalValue::SetValue(string& value)
void SignalValue::SetValue(int value)
void SignalValue::SetValue(double value)
bool SignalValue::IsNumber()     ///< Значение является числовым
bool SignalValue::IsError()      ///< Значение является ошибкой

2.3 Примеры

void fnIncrementSource(BasicSource_t &source)
{
    SignalValue sv = source.GetValue();
    
    if (sv.IsNumber() == true)
    {
        int iVal = sv.ToInt();
        iVal++;

        sv = SignalValue(iVal);
    }
    else
    {
        sv = SignalValue(0);
    }

    source.SetValue(sv);
}

3 NodeProperty

Класс, предоставляющий доступ к свойствам узлов.

Предок: нет.

3.1 Конструкторы

NodeProperty::NodeProperty()
NodeProperty::NodeProperty(NodeProperty& other)

3.2 Методы

string NodeProperty::GetName()         ///< Получение имени свойства
string NodeProperty::GetShortName()    ///< Получение шифра свойства
string NodeProperty::GetDescription()  ///< Получение описания свойства
string NodeProperty::GetTitle()        ///< Получение заголовка свойства
string NodeProperty::ToString()        ///< Преобразование значения свойства в строку
int NodeProperty::ToInt()              ///< Преобразование значения свойства в число типа int
double NodeProperty::ToDouble()        ///< Преобразование значения свойства в число типа double
bool NodeProperty::ToBool()            ///< Преобразование значения свойства в булевское значение
int NodeProperty::SetValue(string val) ///< Установка значения свойства
int NodeProperty::SetValue(int val)    ///< Установка значения свойства
int NodeProperty::SetValue(double val) ///< Установка значения свойства
int NodeProperty::SetValue(bool val)   ///< Установка значения свойства

3.3 Примеры

BasicNode node("/Root/node");
NodeProperty@ prop = node.GetProperty("ShortName");

string sn2 = prop.ToString();
prop.SetValue(string(sn2+"ShortName1"));

4 BasicSource

Предок: BasicNode.

4.1 Методы

SignalValue BasicSource::GetValue()          ///< Получение значения.
int BasicSource::SetValue(SignalValue sv)    ///< Установка собственного значения с установкой значений связанных узлов (источников).
int BasicSource::UpdateValue(SignalValue sv) ///< Установка собственного значения.

5 BasicSignal

Предок: BasicSource.

5.1 Методы

SignalValue BasicSignal::GetValue()          ///< Получение значения.
int BasicSignal::SetValue(SignalValue sv)    ///< Установка собственного значения с установкой значений связанных узлов (источников).
int BasicSignal::UpdateValue(SignalValue sv) ///< Установка собственного значения.

6 ModbusRegister

Предок: BasicSource.

6.1 Поля

uint8  m_ucDeviceNo        ///< Номер устройства.
uint8  m_ucReadFunctionNo  ///< Номер функции чтения.
uint16 m_wReadRegisterNo   ///< Номер регистра чтения.
uint8  m_ucWriteFunctionNo ///< Номер функции записи.
uint16 m_wWriteRegisterNo  ///< Номер регистра записи.
uint8  m_ucSize            ///< Размер регистра в битах.
uint8  m_ucPriority        ///< Приоритет. Не используется.

6.2 Методы

int BasicSource::WriteValue(SignalValue sv) ///< Установка собственного значения с записью значения в устройство.

7 BasicWindow

7.1 Методы

void BasicWindow::Show()  ///< Отображение окна.
void BasicWindow::Hide()  ///< Сокрытие окна.