Библиотека Standard AgavaSCADA/AgavaPLC: различия между версиями
| Строка 261: | Строка 261: | ||
|} | |} | ||
====Функции для работы со строками==== | ====Функции для работы со строками==== | ||
| − | '''string EncodeMD5(string strText)''' | + | '''<big>string EncodeMD5(string strText)</big>''' |
| − | + | '''Назначение''': Кодирование строки в MD5 хэш | |
| − | + | ||
| − | + | '''Возвращаемое значение''': MD5 хэш параметра | |
| − | + | ||
| − | + | '''Аргументы''': string strText - исходная строка | |
| − | + | ||
| − | + | '''Примечания''': функция доступна с версии <code>AS 1.2.34+</code> | |
| − | + | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
====Другие функции==== | ====Другие функции==== | ||
Проверка на nan. | Проверка на nan. | ||
Версия 10:51, 11 августа 2026
1 Standard - стандартная библиотека
1.1 Математические и тригонометрические функции
1.1.1 Преобразование IEEE битов
| Функция | Действие | Аргументы |
|---|---|---|
float fpFromIEEE(uint bits)
|
Преобразует 32-битное IEEE-754 представление в число float | bits (uint) - битовое представление
|
uint fpToIEEE(float value)
|
Преобразует число float в 32-битное IEEE-754 представление | value (float) - исходное число
|
double fpFromIEEE(uint64 bits)
|
Преобразует 64-битное IEEE-754 представление в число double | bits (uint64) - битовое представление
|
uint64 fpToIEEE(double value)
|
Преобразует число double в 64-битное IEEE-754 представление | value (double) - исходное число
|
1.1.2 Сравнение с допуском
| Функция | Действие | Аргументы |
|---|---|---|
bool closeTo(float a, float b, float epsilon = 0.00001f)
|
Сравнивает два числа float с заданной погрешностью | a (float) - первое число
|
bool closeTo(double a, double b, double epsilon = 0.0000000001)
|
Сравнивает два числа double с заданной погрешностью | a (double) - первое число
|
1.1.3 Тригонометрические функции
| Функция | Действие | Аргументы |
|---|---|---|
float cos(float angle)
|
Вычисляет косинус угла | angle (float) - угол в радианах
|
float sin(float angle)
|
Вычисляет синус угла | angle (float) - угол в радианах
|
float tan(float angle)
|
Вычисляет тангенс угла | angle (float) - угол в радианах
|
float acos(float value)
|
Вычисляет арккосинус (обратный косинус) | value (float) - значение в диапазоне [-1, 1]
|
float asin(float value)
|
Вычисляет арксинус (обратный синус) | value (float) - значение в диапазоне [-1, 1]
|
float atan(float value)
|
Вычисляет арктангенс (обратный тангенс) | value (float) - значение
|
float atan2(float y, float x)
|
Вычисляет арктангенс двух переменных | y (float) - координата Y
|
1.1.4 Гиперболические функции
| Функция | Действие | Аргументы |
|---|---|---|
float cosh(float x)
|
Вычисляет гиперболический косинус | x (float) - значение
|
float sinh(float x)
|
Вычисляет гиперболический синус | x (float) - значение
|
float tanh(float x)
|
Вычисляет гиперболический тангенс | x (float) - значение
|
1.1.5 Экспоненциальные и логарифмические функции
| Функция | Действие | Аргументы |
|---|---|---|
float log(float x)
|
Вычисляет натуральный логарифм (по основанию e) | x (float) - значение > 0
|
float log10(float x)
|
Вычисляет десятичный логарифм (по основанию 10) | x (float) - значение > 0
|
1.1.6 Степенные функции
| Функция | Действие | Аргументы |
|---|---|---|
float pow(float base, float exponent)
|
Возводит число в степень | base (float) - основание
|
float sqrt(float x)
|
Вычисляет квадратный корень | x (float) - неотрицательное значение
|
1.1.7 Функции округления и остатка
| Функция | Действие | Аргументы |
|---|---|---|
float ceil(float x)
|
Округляет вверх до ближайшего целого | x (float) - значение
|
float abs(float x)
|
Вычисляет абсолютное значение (модуль) | x (float) - значение
|
float floor(float x)
|
Округляет вниз до ближайшего целого | x (float) - значение
|
float fraction(float x)
|
Выделяет дробную часть числа | x (float) - значение
|
1.2 Специализированные функции
Специализированные функции среды разработки, доступные для использования в скриптах, приведены в таблицах ниже.
1.2.1 Функции для работы с узлами
| Определение функции | Описание |
|---|---|
| float GetNodeValueAsFloat(string strNodePath) | Получить значение узла в виде float по заданному пути |
| void SetNodeValueAsFloat(string strNodePath, float fValue) | Установить значение узла в float по заданному пути |
| int GetNodeValueAsInt(string strNodePath) | Получить значение узла в виде int по заданному пути |
| void SetNodeValueAsInt(string strNodePath, int iValue) | Установить значение узла в int по заданному пути |
| string GetNodeValueAsString(string strNodePath) | Получить значение узла в виде string по заданному пути |
| void SetNodeValueAsString(string strNodePath, string strValue) | Установить значение узла в виде string по заданному пути |
| bool GetNodeValueAsBool(string strNodePath) | Получить значение узла в виде bool по заданному пути |
| void SetNodeValueAsBool(string strNodePath, bool bValue) | Установить значение узла в виде bool по заданному пути |
| bool NodeValueIsError(string strNodePath) | Проверка значения узла на ошибку |
| void StartNode(string strNodePath) | Запуск узла по заданному пути |
| void StopNode(string strNodePath) | Остановка узла по заданному пути |
1.2.2 Функции для работы с окнами
| Определение функции | Описание |
|---|---|
void CloseWindow(string strNodePath, int iDisplay)
|
Закрыть окно по заданному пути на дисплее с номером iDisplay |
void ShowWindow(string strNodePath, int iDisplay)
|
Отобразить окно по заданному пути на дисплее с номером iDisplay.
Координаты - абсолютные, установленные в свойствах окна. |
int LoadComposition(string strWindowPath, string strCompositionPath, int iDisplay)
|
Загрузить композицию strCompositionPath в окно strWindowPath на дисплее с номером iDisplay.
|
1.2.3 Функции для работы с временем
| Определение функции | Описание |
|---|---|
| int GetCurrentTime() | Получение текущего времени в UNIX формате (количество секунд с 01 января 1970 года) |
| uint64 GetCurrentTimeMs() | Получение текущего времени в UNIX формате (количество миллисекунд с 01 января 1970 года) (AS 1.2.55+, AS 1.6.1+)
|
| int GetLocalTime() | Получение текущего времени в UNIX формате (количество секунд с 01 января 1970 года) с учетом часового пояса |
| int GetHours(int iTime) | Получение текущего часа из времени в формате UNIX |
| int GetMinutes(int iTime) | Получение текущих минут из времени в формате UNIX |
| int GetSeconds(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 Другие функции
Проверка на nan.
bool isnan(double)
Запуск процесса в операционной системе.
int LaunchProcess(string process)
Запуск производится в блокирующем режиме, то есть возврат из функции осуществляется по завершению процесса.