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

Материал из docs.kb-agava.ru
Перейти к навигации Перейти к поиску
 
(не показано 5 промежуточных версий этого же участника)
Строка 5: Строка 5:
 
==BasicNode==
 
==BasicNode==
 
Предок: нет.
 
Предок: нет.
 +
 +
=== Конструкторы ===
 +
BasicNode::BasicNode(string path)    ///< Создание узла по пути в проекте
 +
 
===Методы===
 
===Методы===
 
  string BasicNode::GetName()
 
  string BasicNode::GetName()
Строка 14: Строка 18:
 
  void BasicNode::SetDescription(string description)
 
  void BasicNode::SetDescription(string description)
  
  string BasicNode::GetPath()
+
  string BasicNode::GetPath()     ///< Получение пути узла в проекте
  
 
  void BasicNode::Start()
 
  void BasicNode::Start()
Строка 20: Строка 24:
 
==SignalValue==
 
==SignalValue==
 
Предок: нет.
 
Предок: нет.
 +
 +
=== Конструкторы ===
 +
SignalValue::SignalValue(int value)
 +
SignalValue::SignalValue(double value)
 +
SignalValue::SignalValue(string value)
 +
 
===Методы===
 
===Методы===
  string SignalValue::ToString()
+
  string SignalValue::ToString()   ///< Преобразовать значение в строку
  double SignalValue::ToDouble()
+
  double SignalValue::ToDouble()   ///< Преобразовать значение в double
  int SignalValue::ToInt()
+
  int SignalValue::ToInt()         ///< Преобразовать значение в int
  
 
  void SignalValue::SetValue(string& value)
 
  void SignalValue::SetValue(string& value)
 
  void SignalValue::SetValue(int value)
 
  void SignalValue::SetValue(int value)
 
  void SignalValue::SetValue(double value)
 
  void SignalValue::SetValue(double value)
 +
 +
bool SignalValue::IsNumber()    ///< Значение является числовым
 +
bool SignalValue::IsError()      ///< Значение является ошибкой
 +
 +
=== Примеры ===
 +
'''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);
 +
}
 +
 
==BasicSource==
 
==BasicSource==
 
Предок: BasicNode.
 
Предок: BasicNode.
Строка 45: Строка 79:
 
  uint8  m_ucPriority        ///< Приоритет. 0 - максимальный. Не используется.
 
  uint8  m_ucPriority        ///< Приоритет. 0 - максимальный. Не используется.
 
===Методы===
 
===Методы===
  int BasicSource::WriteValue(SignalValue sv) ///< Установка собственного значения с записью значения устройство.
+
  int BasicSource::WriteValue(SignalValue sv) ///< Установка собственного значения с записью значения в устройство.
 
==<s>BasicWindow</s>==
 
==<s>BasicWindow</s>==
 
===<s>Методы</s>===
 
===<s>Методы</s>===

Текущая версия на 15:21, 3 октября 2024

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

Данный документ применим к 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()

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 BasicSource

Предок: BasicNode.

3.1 Методы

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

4 ModbusRegister

Предок: BasicSource.

4.1 Поля

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

4.2 Методы

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

5 BasicWindow

5.1 Методы

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