Библиотека Standard AgavaSCADA/AgavaPLC: различия между версиями

Материал из docs.kb-agava.ru
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
[[Категория:AgavaSCADA/AgavaPLC]]
 
 
==Standard - стандартная библиотека==
 
==Standard - стандартная библиотека==
 
===Математические и тригонометрические функции===
 
===Математические и тригонометрические функции===
 
====Преобразование IEEE битов====
 
====Преобразование IEEE битов====
{| class="wikitable"
+
 
!Функция
+
'''<big>float fpFromIEEE(uint bits)</big>'''
!Действие
+
 
!Аргументы
+
* '''Назначение''': Преобразует 32-битное IEEE-754 представление в число float
|-
+
* '''Возвращаемое значение''': число float
|<code>float fpFromIEEE(uint bits)</code>
+
* '''Аргументы''': uint bits - битовое представление
|Преобразует 32-битное IEEE-754 представление в число float
+
 
|<code>bits</code> (uint) - битовое представление
+
'''<big>uint fpToIEEE(float value)</big>'''
|-
+
 
|<code>uint fpToIEEE(float value)</code>
+
* '''Назначение''': Преобразует число float в 32-битное IEEE-754 представление
|Преобразует число float в 32-битное IEEE-754 представление
+
* '''Возвращаемое значение''': битовое представление (uint)
|<code>value</code> (float) - исходное число
+
* '''Аргументы''': float value - исходное число
|-
+
 
|<code>double fpFromIEEE(uint64 bits)</code>
+
'''<big>double fpFromIEEE(uint64 bits)</big>'''
|Преобразует 64-битное IEEE-754 представление в число double
+
 
|<code>bits</code> (uint64) - битовое представление
+
* '''Назначение''': Преобразует 64-битное IEEE-754 представление в число double
|-
+
* '''Возвращаемое значение''': число double
|<code>uint64 fpToIEEE(double value)</code>
+
* '''Аргументы''': uint64 bits - битовое представление
|Преобразует число double в 64-битное IEEE-754 представление
+
 
|<code>value</code> (double) - исходное число
+
'''<big>uint64 fpToIEEE(double value)</big>'''
|}
+
 
 +
* '''Назначение''': Преобразует число double в 64-битное IEEE-754 представление
 +
* '''Возвращаемое значение''': битовое представление (uint64)
 +
* '''Аргументы''': double value - исходное число
 +
 
 
====Сравнение с допуском====
 
====Сравнение с допуском====
{| class="wikitable"
+
 
!Функция
+
'''<big>bool closeTo(float a, float b, float epsilon = 0.00001f)</big>'''
!Действие
+
 
!Аргументы
+
* '''Назначение''': Сравнивает два числа float с заданной погрешностью
|-
+
* '''Возвращаемое значение''': true, если числа близки в пределах погрешности; иначе false
|<code>bool closeTo(float a, float b, float epsilon = 0.00001f)</code>
+
* '''Аргументы''': float a - первое число; float b - второе число; float epsilon (опционально) - погрешность (по умолчанию 0.00001)
|Сравнивает два числа float с заданной погрешностью
+
 
|<code>a</code> (float) - первое число
+
'''<big>bool closeTo(double a, double b, double epsilon = 0.0000000001)</big>'''
<code>b</code> (float) - второе число <code>epsilon</code> (float, опционально) - погрешность (по умолчанию 0.00001)
+
 
|-
+
* '''Назначение''': Сравнивает два числа double с заданной погрешностью
|<code>bool closeTo(double a, double b, double epsilon = 0.0000000001)</code>
+
* '''Возвращаемое значение''': true, если числа близки в пределах погрешности; иначе false
|Сравнивает два числа double с заданной погрешностью
+
* '''Аргументы''': double a - первое число; double b - второе число; double epsilon (опционально) - погрешность (по умолчанию 1e-10)
|<code>a</code> (double) - первое число
+
 
<code>b</code> (double) - второе число <code>epsilon</code> (double, опционально) - погрешность (по умолчанию 1e-10)
 
|}
 
 
====Тригонометрические функции====
 
====Тригонометрические функции====
{| class="wikitable"
+
 
!Функция
+
'''<big>float cos(float angle)</big>'''
!Действие
+
 
!Аргументы
+
* '''Назначение''': Вычисляет косинус угла
|-
+
* '''Возвращаемое значение''': косинус угла
|<code>float cos(float angle)</code>
+
* '''Аргументы''': float angle - угол в радианах
|Вычисляет косинус угла
+
 
|<code>angle</code> (float) - угол в радианах
+
'''<big>float sin(float angle)</big>'''
|-
+
 
|<code>float sin(float angle)</code>
+
* '''Назначение''': Вычисляет синус угла
|Вычисляет синус угла
+
* '''Возвращаемое значение''': синус угла
|<code>angle</code> (float) - угол в радианах
+
* '''Аргументы''': float angle - угол в радианах
|-
+
 
|<code>float tan(float angle)</code>
+
'''<big>float tan(float angle)</big>'''
|Вычисляет тангенс угла
+
 
|<code>angle</code> (float) - угол в радианах
+
* '''Назначение''': Вычисляет тангенс угла
|-
+
* '''Возвращаемое значение''': тангенс угла
|<code>float acos(float value)</code>
+
* '''Аргументы''': float angle - угол в радианах
|Вычисляет арккосинус (обратный косинус)
+
 
|<code>value</code> (float) - значение в диапазоне [-1, 1]
+
'''<big>float acos(float value)</big>'''
|-
+
 
|<code>float asin(float value)</code>
+
* '''Назначение''': Вычисляет арккосинус (обратный косинус)
|Вычисляет арксинус (обратный синус)
+
* '''Возвращаемое значение''': угол в радианах
|<code>value</code> (float) - значение в диапазоне [-1, 1]
+
* '''Аргументы''': float value - значение в диапазоне [-1, 1]
|-
+
 
|<code>float atan(float value)</code>
+
'''<big>float asin(float value)</big>'''
|Вычисляет арктангенс (обратный тангенс)
+
 
|<code>value</code> (float) - значение
+
* '''Назначение''': Вычисляет арксинус (обратный синус)
|-
+
* '''Возвращаемое значение''': угол в радианах
|<code>float atan2(float y, float x)</code>
+
* '''Аргументы''': float value - значение в диапазоне [-1, 1]
|Вычисляет арктангенс двух переменных
+
 
|<code>y</code> (float) - координата Y
+
'''<big>float atan(float value)</big>'''
<code>x</code> (float) - координата X
+
 
|}
+
* '''Назначение''': Вычисляет арктангенс (обратный тангенс)
 +
* '''Возвращаемое значение''': угол в радианах
 +
* '''Аргументы''': float value - значение
 +
 
 +
'''<big>float atan2(float y, float x)</big>'''
 +
 
 +
* '''Назначение''': Вычисляет арктангенс двух переменных
 +
* '''Возвращаемое значение''': угол в радианах
 +
* '''Аргументы''': float y - координата Y; float x - координата X
 +
 
 
====Гиперболические функции====
 
====Гиперболические функции====
{| class="wikitable"
+
 
!Функция
+
'''<big>float cosh(float x)</big>'''
!Действие
+
 
!Аргументы
+
* '''Назначение''': Вычисляет гиперболический косинус
|-
+
* '''Возвращаемое значение''': гиперболический косинус
|<code>float cosh(float x)</code>
+
* '''Аргументы''': float x - значение
|Вычисляет гиперболический косинус
+
 
|<code>x</code> (float) - значение
+
'''<big>float sinh(float x)</big>'''
|-
+
 
|<code>float sinh(float x)</code>
+
* '''Назначение''': Вычисляет гиперболический синус
|Вычисляет гиперболический синус
+
* '''Возвращаемое значение''': гиперболический синус
|<code>x</code> (float) - значение
+
* '''Аргументы''': float x - значение
|-
+
 
|<code>float tanh(float x)</code>
+
'''<big>float tanh(float x)</big>'''
|Вычисляет гиперболический тангенс
+
 
|<code>x</code> (float) - значение
+
* '''Назначение''': Вычисляет гиперболический тангенс
|}
+
* '''Возвращаемое значение''': гиперболический тангенс
 +
* '''Аргументы''': float x - значение
 +
 
 
====Экспоненциальные и логарифмические функции====
 
====Экспоненциальные и логарифмические функции====
{| class="wikitable"
+
 
!Функция
+
'''<big>float log(float x)</big>'''
!Действие
+
 
!Аргументы
+
* '''Назначение''': Вычисляет натуральный логарифм (по основанию e)
|-
+
* '''Возвращаемое значение''': натуральный логарифм
|<code>float log(float x)</code>
+
* '''Аргументы''': float x - значение > 0
|Вычисляет натуральный логарифм (по основанию e)
+
 
|<code>x</code> (float) - значение > 0
+
'''<big>float log10(float x)</big>'''
|-
+
 
|<code>float log10(float x)</code>
+
* '''Назначение''': Вычисляет десятичный логарифм (по основанию 10)
|Вычисляет десятичный логарифм (по основанию 10)
+
* '''Возвращаемое значение''': десятичный логарифм
|<code>x</code> (float) - значение > 0
+
* '''Аргументы''': float x - значение > 0
|}
+
 
 
====Степенные функции====
 
====Степенные функции====
{| class="wikitable"
+
 
!Функция
+
'''<big>float pow(float base, float exponent)</big>'''
!Действие
+
 
!Аргументы
+
* '''Назначение''': Возводит число в степень
|-
+
* '''Возвращаемое значение''': результат возведения в степень
|<code>float pow(float base, float exponent)</code>
+
* '''Аргументы''': float base - основание; float exponent - показатель степени
|Возводит число в степень
+
 
|<code>base</code> (float) - основание
+
'''<big>float sqrt(float x)</big>'''
<code>exponent</code> (float) - показатель степени
+
 
|-
+
* '''Назначение''': Вычисляет квадратный корень
|<code>float sqrt(float x)</code>
+
* '''Возвращаемое значение''': квадратный корень
|Вычисляет квадратный корень
+
* '''Аргументы''': float x - неотрицательное значение
|<code>x</code> (float) - неотрицательное значение
+
 
|}
 
 
====Функции округления и остатка====
 
====Функции округления и остатка====
{| class="wikitable"
+
 
!Функция
+
'''<big>float ceil(float x)</big>'''
!Действие
+
 
!Аргументы
+
* '''Назначение''': Округляет вверх до ближайшего целого
|-
+
* '''Возвращаемое значение''': округлённое вверх значение
|<code>float ceil(float x)</code>
+
* '''Аргументы''': float x - значение
|Округляет вверх до ближайшего целого
+
 
|<code>x</code> (float) - значение
+
'''<big>float abs(float x)</big>'''
|-
+
 
|<code>float abs(float x)</code>
+
* '''Назначение''': Вычисляет абсолютное значение (модуль)
|Вычисляет абсолютное значение (модуль)
+
* '''Возвращаемое значение''': абсолютное значение
|<code>x</code> (float) - значение
+
* '''Аргументы''': float x - значение
|-
+
 
|<code>float floor(float x)</code>
+
'''<big>float floor(float x)</big>'''
|Округляет вниз до ближайшего целого
+
 
|<code>x</code> (float) - значение
+
* '''Назначение''': Округляет вниз до ближайшего целого
|-
+
* '''Возвращаемое значение''': округлённое вниз значение
|<code>float fraction(float x)</code>
+
* '''Аргументы''': float x - значение
|Выделяет дробную часть числа
+
 
|<code>x</code> (float) - значение
+
'''<big>float fraction(float x)</big>'''
|}
+
 
 +
* '''Назначение''': Выделяет дробную часть числа
 +
* '''Возвращаемое значение''': дробная часть числа
 +
* '''Аргументы''': float x - значение
 +
 
 
===Специализированные функции===
 
===Специализированные функции===
Специализированные функции среды разработки, доступные для использования в скриптах, приведены в таблицах ниже.
+
Специализированные функции среды разработки, доступные для использования в скриптах, приведены ниже.
 +
 
 
====Функции для работы с узлами====
 
====Функции для работы с узлами====
{| class="wikitable"
+
 
!Определение функции
+
'''<big>float GetNodeValueAsFloat(string strNodePath)</big>'''
!Описание
+
 
|-
+
* '''Назначение''': Получить значение узла в виде float по заданному пути
|float GetNodeValueAsFloat(string strNodePath)
+
* '''Возвращаемое значение''': значение узла (float)
|Получить значение узла в виде float по заданному пути
+
* '''Аргументы''': string strNodePath - путь к узлу
|-
+
 
|void SetNodeValueAsFloat(string strNodePath, float fValue)
+
'''<big>void SetNodeValueAsFloat(string strNodePath, float fValue)</big>'''
|Установить значение узла в float по заданному пути
+
 
|-
+
* '''Назначение''': Установить значение узла в float по заданному пути
|int GetNodeValueAsInt(string strNodePath)
+
* '''Возвращаемое значение''': нет
|Получить значение узла в виде int по заданному пути
+
* '''Аргументы''': string strNodePath - путь к узлу; float fValue - устанавливаемое значение
|-
+
 
|void SetNodeValueAsInt(string strNodePath, int iValue)
+
'''<big>int GetNodeValueAsInt(string strNodePath)</big>'''
|Установить значение узла в int по заданному пути
+
 
|-
+
* '''Назначение''': Получить значение узла в виде int по заданному пути
|string GetNodeValueAsString(string strNodePath)
+
* '''Возвращаемое значение''': значение узла (int)
|Получить значение узла в виде string по заданному пути
+
* '''Аргументы''': string strNodePath - путь к узлу
|-
+
 
|void SetNodeValueAsString(string strNodePath, string strValue)
+
'''<big>void SetNodeValueAsInt(string strNodePath, int iValue)</big>'''
|Установить значение узла в виде string по заданному пути
+
 
|-
+
* '''Назначение''': Установить значение узла в int по заданному пути
|bool GetNodeValueAsBool(string strNodePath)
+
* '''Возвращаемое значение''': нет
|Получить значение узла в виде bool по заданному пути
+
* '''Аргументы''': string strNodePath - путь к узлу; int iValue - устанавливаемое значение
|-
+
 
|void SetNodeValueAsBool(string strNodePath, bool bValue)
+
'''<big>string GetNodeValueAsString(string strNodePath)</big>'''
|Установить значение узла в виде bool по заданному пути
+
 
|-
+
* '''Назначение''': Получить значение узла в виде string по заданному пути
|bool NodeValueIsError(string strNodePath)
+
* '''Возвращаемое значение''': значение узла (string)
|Проверка значения узла на ошибку
+
* '''Аргументы''': string strNodePath - путь к узлу
|-
+
 
|void StartNode(string strNodePath)
+
'''<big>void SetNodeValueAsString(string strNodePath, string strValue)</big>'''
|Запуск узла по заданному пути
+
 
|-
+
* '''Назначение''': Установить значение узла в виде string по заданному пути
|void StopNode(string strNodePath)
+
* '''Возвращаемое значение''': нет
|Остановка узла по заданному пути
+
* '''Аргументы''': string strNodePath - путь к узлу; string strValue - устанавливаемое значение
|}
+
 
 +
'''<big>bool GetNodeValueAsBool(string strNodePath)</big>'''
 +
 
 +
* '''Назначение''': Получить значение узла в виде bool по заданному пути
 +
* '''Возвращаемое значение''': значение узла (bool)
 +
* '''Аргументы''': string strNodePath - путь к узлу
 +
 
 +
'''<big>void SetNodeValueAsBool(string strNodePath, bool bValue)</big>'''
 +
 
 +
* '''Назначение''': Установить значение узла в виде bool по заданному пути
 +
* '''Возвращаемое значение''': нет
 +
* '''Аргументы''': string strNodePath - путь к узлу; bool bValue - устанавливаемое значение
 +
 
 +
'''<big>bool NodeValueIsError(string strNodePath)</big>'''
 +
 
 +
* '''Назначение''': Проверка значения узла на ошибку
 +
* '''Возвращаемое значение''': true, если значение узла содержит ошибку; иначе false
 +
* '''Аргументы''': string strNodePath - путь к узлу
 +
 
 +
'''<big>void StartNode(string strNodePath)</big>'''
 +
 
 +
* '''Назначение''': Запуск узла по заданному пути
 +
* '''Возвращаемое значение''': нет
 +
* '''Аргументы''': string strNodePath - путь к узлу
 +
 
 +
'''<big>void StopNode(string strNodePath)</big>'''
 +
 
 +
* '''Назначение''': Остановка узла по заданному пути
 +
* '''Возвращаемое значение''': нет
 +
* '''Аргументы''': string strNodePath - путь к узлу
 +
 
 
====Функции для работы с окнами====
 
====Функции для работы с окнами====
{| class="wikitable"
+
 
!Определение функции
+
'''<big>void CloseWindow(string strNodePath, int iDisplay)</big>'''
!Описание
+
 
|-
+
* '''Назначение''': Закрыть окно по заданному пути на дисплее с номером iDisplay
|<code>void CloseWindow(string strNodePath, int iDisplay)</code>
+
* '''Возвращаемое значение''': нет
|Закрыть окно по заданному пути на дисплее с номером iDisplay
+
* '''Аргументы''': string strNodePath - путь к окну; int iDisplay - номер дисплея
|-
+
 
|<code>void ShowWindow(string strNodePath, int iDisplay)</code>
+
'''<big>void ShowWindow(string strNodePath, int iDisplay)</big>'''
|Отобразить окно по заданному пути на дисплее с номером iDisplay.
+
 
Координаты - абсолютные, установленные в свойствах окна.
+
* '''Назначение''': Отобразить окно по заданному пути на дисплее с номером iDisplay. Координаты абсолютные, установленные в свойствах окна.
|-
+
* '''Возвращаемое значение''': нет
|<code>int LoadComposition(string strWindowPath, string strCompositionPath, int iDisplay)</code>
+
* '''Аргументы''': string strNodePath - путь к окну; int iDisplay - номер дисплея
|Загрузить композицию strCompositionPath в окно strWindowPath на дисплее с номером iDisplay.
+
 
<code>AS 1.6.25+</code>
+
'''<big>int LoadComposition(string strWindowPath, string strCompositionPath, int iDisplay)</big>'''
|}
+
 
 +
* '''Назначение''': Загрузить композицию strCompositionPath в окно strWindowPath на дисплее с номером iDisplay
 +
* '''Возвращаемое значение''': код результата загрузки
 +
* '''Аргументы''': string strWindowPath - путь к окну; string strCompositionPath - путь к композиции; int iDisplay - номер дисплея
 +
* '''Примечания''': функция доступна с версии <code>AS 1.6.25+</code>
 +
 
 
====Функции для работы с временем====
 
====Функции для работы с временем====
{| class="wikitable"
+
 
!Определение функции
+
'''<big>int GetCurrentTime()</big>'''
!Описание
+
 
|-
+
* '''Назначение''': Получение текущего времени в UNIX формате (количество секунд с 01 января 1970 года)
|int GetCurrentTime()
+
* '''Возвращаемое значение''': время в секундах (int)
|Получение текущего времени в UNIX формате (количество секунд с 01 января 1970 года)
+
* '''Аргументы''': нет
|-
+
 
|uint64 GetCurrentTimeMs()
+
'''<big>uint64 GetCurrentTimeMs()</big>'''
|Получение текущего времени в UNIX формате (количество миллисекунд с 01 января 1970 года) (<code>AS 1.2.55+</code>, <code>AS 1.6.1+</code>)
+
 
|-
+
* '''Назначение''': Получение текущего времени в UNIX формате (количество миллисекунд с 01 января 1970 года)
|int GetLocalTime()
+
* '''Возвращаемое значение''': время в миллисекундах (uint64)
|Получение текущего времени в UNIX формате (количество секунд с 01 января 1970 года) с учетом часового пояса
+
* '''Аргументы''': нет
|-
+
* '''Примечания''': функция доступна с версии <code>AS 1.2.55+</code>, <code>AS 1.6.1+</code>
|int GetHours(int iTime)
+
 
|Получение текущего часа из времени в формате UNIX
+
'''<big>int GetLocalTime()</big>'''
|-
+
 
|int GetMinutes(int iTime)
+
* '''Назначение''': Получение текущего времени в UNIX формате (количество секунд с 01 января 1970 года) с учётом часового пояса
|Получение текущих минут из времени в формате UNIX
+
* '''Возвращаемое значение''': локальное время в секундах (int)
|-
+
* '''Аргументы''': нет
|int GetSeconds(int iTime)
+
 
|Получение текущих секунд из времени в формате UNIX
+
'''<big>int GetHours(int iTime)</big>'''
|}
+
 
 +
* '''Назначение''': Получение текущего часа из времени в формате UNIX
 +
* '''Возвращаемое значение''': час (int)
 +
* '''Аргументы''': int iTime - время в формате UNIX
 +
 
 +
'''<big>int GetMinutes(int iTime)</big>'''
 +
 
 +
* '''Назначение''': Получение текущих минут из времени в формате UNIX
 +
* '''Возвращаемое значение''': минуты (int)
 +
* '''Аргументы''': int iTime - время в формате UNIX
 +
 
 +
'''<big>int GetSeconds(int iTime)</big>'''
 +
 
 +
* '''Назначение''': Получение текущих секунд из времени в формате UNIX
 +
* '''Возвращаемое значение''': секунды (int)
 +
* '''Аргументы''': int iTime - время в формате UNIX
 +
 
 
====Функции для работы с событиями====
 
====Функции для работы с событиями====
  '''int StoreMessage(int iMessageLevel, string strMessage)'''
+
 
{| class="wikitable"
+
  '''<big>int StoreMessage(int iMessageLevel, string strMessage)</big>'''
|-
+
 
|'''Назначение'''
+
* '''Назначение''': Генерация информационного события (типа «сообщение»). Событие помещается в группу «Системные».
|Генерация информационного события (типа "сообщение"). Событие помещается в группу "Системные".
+
* '''Возвращаемое значение''': 0 успешно, иначе код ошибки
|-
+
* '''Аргументы''': int iMessageLevel - уровень сообщения (1 наивысший): 1=FATAL, 2=ERROR, 3=WARNING, 4=NOTICE, 5=INFO, 6=TRACE, 7=DEBUG; string strMessage - текст сообщения
|'''Возвращаемое значение'''
+
* '''Примечания''': функция доступна с версии <code>AS 1.2.34+</code>
|0 - успешно, иначе код ошибки
+
 
|-
+
  '''<big>int StoreMessage(int iMessageLevel, string strMessage, string strGroup)</big>'''
| rowspan="2" |'''Аргументы'''
+
 
|int iMessageLevel - уровень сообщения (1-наивысший): 1=FATAL, 2=ERROR, 3=WARNING, 4=NOTICE, 5=INFO, 6=TRACE, 7=DEBUG
+
* '''Назначение''': Генерация информационного события (типа «сообщение»). Событие помещается в указанную при вызове группу.
|-
+
* '''Возвращаемое значение''': 0 успешно, иначе код ошибки
|string strMessage - текст сообщения
+
* '''Аргументы''': int iMessageLevel - уровень сообщения (1 наивысший): 1=FATAL, 2=ERROR, 3=WARNING, 4=NOTICE, 5=INFO, 6=TRACE, 7=DEBUG; string strMessage - текст сообщения; string strGroup - имя группы, в которую должно помещаться событие
|-
+
* '''Примечания''': функция доступна с версии <code>AS 1.6.20+</code>
|'''Примечания'''
+
 
|функция доступна с версии <code>AS 1.2.34+</code>
 
|}
 
  '''int StoreMessage(int iMessageLevel, string strMessage, string strGroup)'''
 
{| class="wikitable"
 
|-
 
|'''Назначение'''
 
|Генерация информационного события (типа "сообщение"). Событие помещается в указанную при вызове группу.
 
|-
 
|'''Возвращаемое значение'''
 
|0 - успешно, иначе код ошибки
 
|-
 
| rowspan="3" |'''Аргументы'''
 
|int iMessageLevel - уровень сообщения (1-наивысший): 1=FATAL, 2=ERROR, 3=WARNING, 4=NOTICE, 5=INFO, 6=TRACE, 7=DEBUG
 
|-
 
|string strMessage - текст сообщения
 
|-
 
|string strGroup - имя группы, в которую должно помещаться событие.
 
|-
 
|'''Примечания'''
 
|функция доступна с версии <code>AS 1.6.20+</code>
 
|}
 
 
====Функции для работы со строками====
 
====Функции для работы со строками====
 +
 
  '''<big>string EncodeMD5(string strText)</big>'''
 
  '''<big>string EncodeMD5(string strText)</big>'''
  
Строка 269: Строка 316:
  
 
====Другие функции====
 
====Другие функции====
Проверка на nan.
+
 
  '''bool isnan(double)'''
+
  '''<big>bool isnan(double)</big>'''
Запуск процесса в операционной системе.
+
 
  '''int LaunchProcess(string process)'''
+
* '''Назначение''': Проверка на nan
Запуск производится в блокирующем режиме, то есть возврат из функции осуществляется по завершению процесса.
+
* '''Возвращаемое значение''': true, если значение является nan; иначе false
 +
* '''Аргументы''': double - проверяемое значение
 +
 
 +
  '''<big>int LaunchProcess(string process)</big>'''
 +
 
 +
* '''Назначение''': Запуск процесса в операционной системе. Запуск производится в блокирующем режиме, то есть возврат из функции осуществляется по завершению процесса.
 +
* '''Возвращаемое значение''': код завершения процесса
 +
* '''Аргументы''': string process - команда/путь запускаемого процесса
 +
 
 +
[[Категория:AgavaSCADA/AgavaPLC]]

Версия 10:59, 11 августа 2026

1 Standard - стандартная библиотека

1.1 Математические и тригонометрические функции

1.1.1 Преобразование IEEE битов

float fpFromIEEE(uint bits)
  • Назначение: Преобразует 32-битное IEEE-754 представление в число float
  • Возвращаемое значение: число float
  • Аргументы: uint bits - битовое представление
uint fpToIEEE(float value)
  • Назначение: Преобразует число float в 32-битное IEEE-754 представление
  • Возвращаемое значение: битовое представление (uint)
  • Аргументы: float value - исходное число
double fpFromIEEE(uint64 bits)
  • Назначение: Преобразует 64-битное IEEE-754 представление в число double
  • Возвращаемое значение: число double
  • Аргументы: uint64 bits - битовое представление
uint64 fpToIEEE(double value)
  • Назначение: Преобразует число double в 64-битное IEEE-754 представление
  • Возвращаемое значение: битовое представление (uint64)
  • Аргументы: double value - исходное число

1.1.2 Сравнение с допуском

bool closeTo(float a, float b, float epsilon = 0.00001f)
  • Назначение: Сравнивает два числа float с заданной погрешностью
  • Возвращаемое значение: true, если числа близки в пределах погрешности; иначе false
  • Аргументы: float a - первое число; float b - второе число; float epsilon (опционально) - погрешность (по умолчанию 0.00001)
bool closeTo(double a, double b, double epsilon = 0.0000000001)
  • Назначение: Сравнивает два числа double с заданной погрешностью
  • Возвращаемое значение: true, если числа близки в пределах погрешности; иначе false
  • Аргументы: double a - первое число; double b - второе число; double epsilon (опционально) - погрешность (по умолчанию 1e-10)

1.1.3 Тригонометрические функции

float cos(float angle)
  • Назначение: Вычисляет косинус угла
  • Возвращаемое значение: косинус угла
  • Аргументы: float angle - угол в радианах
float sin(float angle)
  • Назначение: Вычисляет синус угла
  • Возвращаемое значение: синус угла
  • Аргументы: float angle - угол в радианах
float tan(float angle)
  • Назначение: Вычисляет тангенс угла
  • Возвращаемое значение: тангенс угла
  • Аргументы: float angle - угол в радианах
float acos(float value)
  • Назначение: Вычисляет арккосинус (обратный косинус)
  • Возвращаемое значение: угол в радианах
  • Аргументы: float value - значение в диапазоне [-1, 1]
float asin(float value)
  • Назначение: Вычисляет арксинус (обратный синус)
  • Возвращаемое значение: угол в радианах
  • Аргументы: float value - значение в диапазоне [-1, 1]
float atan(float value)
  • Назначение: Вычисляет арктангенс (обратный тангенс)
  • Возвращаемое значение: угол в радианах
  • Аргументы: float value - значение
float atan2(float y, float x)
  • Назначение: Вычисляет арктангенс двух переменных
  • Возвращаемое значение: угол в радианах
  • Аргументы: float y - координата Y; float x - координата X

1.1.4 Гиперболические функции

float cosh(float x)
  • Назначение: Вычисляет гиперболический косинус
  • Возвращаемое значение: гиперболический косинус
  • Аргументы: float x - значение
float sinh(float x)
  • Назначение: Вычисляет гиперболический синус
  • Возвращаемое значение: гиперболический синус
  • Аргументы: float x - значение
float tanh(float x)
  • Назначение: Вычисляет гиперболический тангенс
  • Возвращаемое значение: гиперболический тангенс
  • Аргументы: float x - значение

1.1.5 Экспоненциальные и логарифмические функции

float log(float x)
  • Назначение: Вычисляет натуральный логарифм (по основанию e)
  • Возвращаемое значение: натуральный логарифм
  • Аргументы: float x - значение > 0
float log10(float x)
  • Назначение: Вычисляет десятичный логарифм (по основанию 10)
  • Возвращаемое значение: десятичный логарифм
  • Аргументы: float x - значение > 0

1.1.6 Степенные функции

float pow(float base, float exponent)
  • Назначение: Возводит число в степень
  • Возвращаемое значение: результат возведения в степень
  • Аргументы: float base - основание; float exponent - показатель степени
float sqrt(float x)
  • Назначение: Вычисляет квадратный корень
  • Возвращаемое значение: квадратный корень
  • Аргументы: float x - неотрицательное значение

1.1.7 Функции округления и остатка

float ceil(float x)
  • Назначение: Округляет вверх до ближайшего целого
  • Возвращаемое значение: округлённое вверх значение
  • Аргументы: float x - значение
float abs(float x)
  • Назначение: Вычисляет абсолютное значение (модуль)
  • Возвращаемое значение: абсолютное значение
  • Аргументы: float x - значение
float floor(float x)
  • Назначение: Округляет вниз до ближайшего целого
  • Возвращаемое значение: округлённое вниз значение
  • Аргументы: float x - значение
float fraction(float x)
  • Назначение: Выделяет дробную часть числа
  • Возвращаемое значение: дробная часть числа
  • Аргументы: float x - значение

1.2 Специализированные функции

Специализированные функции среды разработки, доступные для использования в скриптах, приведены ниже.

1.2.1 Функции для работы с узлами

float GetNodeValueAsFloat(string strNodePath)
  • Назначение: Получить значение узла в виде float по заданному пути
  • Возвращаемое значение: значение узла (float)
  • Аргументы: string strNodePath - путь к узлу
void SetNodeValueAsFloat(string strNodePath, float fValue)
  • Назначение: Установить значение узла в float по заданному пути
  • Возвращаемое значение: нет
  • Аргументы: string strNodePath - путь к узлу; float fValue - устанавливаемое значение
int GetNodeValueAsInt(string strNodePath)
  • Назначение: Получить значение узла в виде int по заданному пути
  • Возвращаемое значение: значение узла (int)
  • Аргументы: string strNodePath - путь к узлу
void SetNodeValueAsInt(string strNodePath, int iValue)
  • Назначение: Установить значение узла в int по заданному пути
  • Возвращаемое значение: нет
  • Аргументы: string strNodePath - путь к узлу; int iValue - устанавливаемое значение
string GetNodeValueAsString(string strNodePath)
  • Назначение: Получить значение узла в виде string по заданному пути
  • Возвращаемое значение: значение узла (string)
  • Аргументы: string strNodePath - путь к узлу
void SetNodeValueAsString(string strNodePath, string strValue)
  • Назначение: Установить значение узла в виде string по заданному пути
  • Возвращаемое значение: нет
  • Аргументы: string strNodePath - путь к узлу; string strValue - устанавливаемое значение
bool GetNodeValueAsBool(string strNodePath)
  • Назначение: Получить значение узла в виде bool по заданному пути
  • Возвращаемое значение: значение узла (bool)
  • Аргументы: string strNodePath - путь к узлу
void SetNodeValueAsBool(string strNodePath, bool bValue)
  • Назначение: Установить значение узла в виде bool по заданному пути
  • Возвращаемое значение: нет
  • Аргументы: string strNodePath - путь к узлу; bool bValue - устанавливаемое значение
bool NodeValueIsError(string strNodePath)
  • Назначение: Проверка значения узла на ошибку
  • Возвращаемое значение: true, если значение узла содержит ошибку; иначе false
  • Аргументы: string strNodePath - путь к узлу
void StartNode(string strNodePath)
  • Назначение: Запуск узла по заданному пути
  • Возвращаемое значение: нет
  • Аргументы: string strNodePath - путь к узлу
void StopNode(string strNodePath)
  • Назначение: Остановка узла по заданному пути
  • Возвращаемое значение: нет
  • Аргументы: string strNodePath - путь к узлу

1.2.2 Функции для работы с окнами

void CloseWindow(string strNodePath, int iDisplay)
  • Назначение: Закрыть окно по заданному пути на дисплее с номером iDisplay
  • Возвращаемое значение: нет
  • Аргументы: string strNodePath - путь к окну; int iDisplay - номер дисплея
void ShowWindow(string strNodePath, int iDisplay)
  • Назначение: Отобразить окно по заданному пути на дисплее с номером iDisplay. Координаты — абсолютные, установленные в свойствах окна.
  • Возвращаемое значение: нет
  • Аргументы: string strNodePath - путь к окну; int iDisplay - номер дисплея
int LoadComposition(string strWindowPath, string strCompositionPath, int iDisplay)
  • Назначение: Загрузить композицию strCompositionPath в окно strWindowPath на дисплее с номером iDisplay
  • Возвращаемое значение: код результата загрузки
  • Аргументы: string strWindowPath - путь к окну; string strCompositionPath - путь к композиции; int iDisplay - номер дисплея
  • Примечания: функция доступна с версии AS 1.6.25+

1.2.3 Функции для работы с временем

int GetCurrentTime()
  • Назначение: Получение текущего времени в UNIX формате (количество секунд с 01 января 1970 года)
  • Возвращаемое значение: время в секундах (int)
  • Аргументы: нет
uint64 GetCurrentTimeMs()
  • Назначение: Получение текущего времени в UNIX формате (количество миллисекунд с 01 января 1970 года)
  • Возвращаемое значение: время в миллисекундах (uint64)
  • Аргументы: нет
  • Примечания: функция доступна с версии AS 1.2.55+, AS 1.6.1+
int GetLocalTime()
  • Назначение: Получение текущего времени в UNIX формате (количество секунд с 01 января 1970 года) с учётом часового пояса
  • Возвращаемое значение: локальное время в секундах (int)
  • Аргументы: нет
int GetHours(int iTime)
  • Назначение: Получение текущего часа из времени в формате UNIX
  • Возвращаемое значение: час (int)
  • Аргументы: int iTime - время в формате UNIX
int GetMinutes(int iTime)
  • Назначение: Получение текущих минут из времени в формате UNIX
  • Возвращаемое значение: минуты (int)
  • Аргументы: int iTime - время в формате UNIX
int GetSeconds(int iTime)
  • Назначение: Получение текущих секунд из времени в формате UNIX
  • Возвращаемое значение: секунды (int)
  • Аргументы: int iTime - время в формате UNIX

1.2.4 Функции для работы с событиями

int StoreMessage(int iMessageLevel, string strMessage)
  • Назначение: Генерация информационного события (типа «сообщение»). Событие помещается в группу «Системные».
  • Возвращаемое значение: 0 — успешно, иначе код ошибки
  • Аргументы: int iMessageLevel - уровень сообщения (1 — наивысший): 1=FATAL, 2=ERROR, 3=WARNING, 4=NOTICE, 5=INFO, 6=TRACE, 7=DEBUG; string strMessage - текст сообщения
  • Примечания: функция доступна с версии AS 1.2.34+
int StoreMessage(int iMessageLevel, string strMessage, string strGroup)
  • Назначение: Генерация информационного события (типа «сообщение»). Событие помещается в указанную при вызове группу.
  • Возвращаемое значение: 0 — успешно, иначе код ошибки
  • Аргументы: int iMessageLevel - уровень сообщения (1 — наивысший): 1=FATAL, 2=ERROR, 3=WARNING, 4=NOTICE, 5=INFO, 6=TRACE, 7=DEBUG; string strMessage - текст сообщения; string strGroup - имя группы, в которую должно помещаться событие
  • Примечания: функция доступна с версии AS 1.6.20+

1.2.5 Функции для работы со строками

string EncodeMD5(string strText)
  • Назначение: Кодирование строки в MD5 хэш
  • Возвращаемое значение: MD5 хэш параметра
  • Аргументы: string strText - исходная строка
  • Примечания: функция доступна с версии AS 1.2.34+

1.2.6 Другие функции

bool isnan(double)
  • Назначение: Проверка на nan
  • Возвращаемое значение: true, если значение является nan; иначе false
  • Аргументы: double - проверяемое значение
int LaunchProcess(string process)
  • Назначение: Запуск процесса в операционной системе. Запуск производится в блокирующем режиме, то есть возврат из функции осуществляется по завершению процесса.
  • Возвращаемое значение: код завершения процесса
  • Аргументы: string process - команда/путь запускаемого процесса