Геометрические функции
CIRCLE_A
Тип модуля: функция | Переменная | Тип | Описание |
|---|---|---|---|
Входы | rx | REAL | Радиус окружности |
ax | REAL | Угол сектора в градусах | |
Выходы | CIRCLE_A | REAL | Площадь сектора окружности |

Функция CIRCLE_A возвращает для окружности с радиусом rx площадь сектора с углом ax, вычисленную по формуле:

Пример
VAR
rRadius : REAL := 5.0; // Радиус окружности
rAngle : REAL := 90.0; // Угол сектора в градусах
rArea : REAL; // Площадь сектора
END_VAR
rArea := OSCAT_BASIC.CIRCLE_A(rx := rRadius, ax := rAngle);
// Результат: 19.63495 (площадь сектора 90° при радиусе 5)
END_PROGRAM |
CIRCLE_C
Тип модуля: функция | Переменная | Тип | Описание |
|---|---|---|---|
Входы | rx | REAL | Радиус окружности |
ax | REAL | Угол сектора в градусах | |
Выходы | CIRCLE_C | REAL | Длина дуги сектора окружности |

Функция CIRCLE_C возвращает для окружности с радиусом rx длину дуги сектора с углом ax, вычисленную по формуле:

Пример
VAR
rRadius : REAL := 5.0; // Радиус окружности = 5 единиц
rAngle : REAL := 90.0; // Угол сектора = 90 градусов
rArcLength : REAL; // Длина дуги сектора
END_VAR
rArcLength := OSCAT_BASIC.CIRCLE_C( rx := rRadius, ax := rAngle );
// Результат: 7.85398 (длина дуги 90° при радиусе 5)
END_PROGRAM |
CIRCLE_SEG
Тип модуля: функция | Переменная | Тип | Описание |
|---|---|---|---|
Входы | rx | REAL | Радиус окружности |
HX | REAL | Высота сегмента | |
Выходы | CIRCLE_SEG | REAL | Площадь сегмента окружности |

Функция CIRCLE_SEG возвращает для окружности с радиусом RX площадь сегмента с высотой HX.
Пример
VAR
rRadius : REAL := 5.0; // Радиус окружности = 5 единиц
rHeight : REAL := 1.0; // Высота сегмента = 1 единица
rSegArea : REAL; // Площадь сегмента
END_VAR
rSegArea := OSCAT_BASIC.CIRCLE_SEG( rx := rRadius, hx := rHeight );
// Результат: 4.08752775 (площадь сегмента при радиусе 5 и высоте 1)
END_PROGRAM |
CONE_V
Тип модуля: функция | Переменная | Тип | Описание |
|---|---|---|---|
Входы | rx | REAL | Радиус основания конуса |
hx | REAL | Высота конуса | |
Выходы | CONE_V | REAL | Объем конуса |

Функция CONE_V возвращает объем конуса с радиусом основания rx и высотой hx, вычисленный по формуле

Пример
VAR
rRadius : REAL := 3.0; // Радиус основания конуса = 3 единицы
rHeight : REAL := 5.0; // Высота конуса = 5 единиц
rVolume : REAL; // Объем конуса
END_VAR
rVolume := OSCAT_BASIC.CONE_V( rx := rRadius, hx := rHeight );
// Результат: 47.12389 (объем конуса с радиусом 3 и высотой 5)
END_PROGRAM |
ELLIPSE_A
Тип модуля: функция | Переменная | Тип | Описание |
|---|---|---|---|
Входы | R1 | REAL | Малая полуось эллипса |
R2 | REAL | Большая полуось эллипса | |
Выходы | ELLIPSE_A | REAL | Площадь эллипса |

Функция ELLIPSE_A возвращает площадь эллипса с полуосями R1 и R2, вычисленную по формуле
ELLIPSE_A= π ∙ R1 ∙ R2
Пример
VAR
rSemiAxis1 : REAL := 3.0; // Малая полуось эллипса = 3 единицы
rSemiAxis2 : REAL := 5.0; // Большая полуось эллипса = 5 единиц
rArea : REAL; // Площадь эллипса
END_VAR
rArea := OSCAT_BASIC.ELLIPSE_A( R1 := rSemiAxis1, R2 := rSemiAxis2 );
// Результат: 47.12389 (площадь эллипса с полуосями 3 и 5)
END_PROGRAM |
ELLIPSE_C
Тип модуля: функция | Переменная | Тип | Описание |
|---|---|---|---|
Входы | R1 | REAL | Малая полуось эллипса |
R2 | REAL | Большая полуось эллипса | |
Выходы | ELLIPSE_C | REAL | Периметр эллипса |

Функция ELLIPSE_C возвращает периметр эллипса с полуосями R1 и R2, вычисленный по формуле

Пример
VAR
rSemiAxis1 : REAL := 3.0; // Малая полуось эллипса = 3 единицы
rSemiAxis2 : REAL := 5.0; // Большая полуось эллипса = 5 единиц
rPerimeter : REAL; // Периметр эллипса
END_VAR
rPerimeter := OSCAT_BASIC.ELLIPSE_C( R1 := rSemiAxis1, R2 := rSemiAxis2 );
// Результат: 25.52763 (периметр эллипса с полуосями 3 и 5)
END_PROGRAM |
SPHERE_V
Тип модуля: функция | Переменная | Тип | Описание |
|---|---|---|---|
Входы | rx | REAL | Радиус сферы |
Выходы | SPHERE_V | REAL | Объем сферы |

Функция SPHERE_V возвращает объем сферы с радиусом rx, вычисленный по формуле

Пример
VAR
rRadius : REAL := 3.0; // Радиус сферы = 3 единицы
rVolume : REAL; // Объем сферы
END_VAR
rVolume := OSCAT_BASIC.SPHERE_V( rx := rRadius );
// Результат: 113.09734 (объем сферы с радиусом 3)
END_PROGRAM |
TRIANGLE_A
Тип модуля: функция | Переменная | Тип | Описание |
|---|---|---|---|
Входы | S1 | REAL | Длина стороны 1 |
S2 | REAL | Длина стороны 2 | |
A | REAL | Угол между сторонами 1 и 2, градусы | |
S3 | REAL | Длина стороны 3 | |
Выходы | TRIANGLE_A | REAL | Площадь треугольника |

Функция TRIANGLE_A возвращает площадь треугольника, вычисленную одним из двух способов:
По двум сторонам и углу между ними (S1, S2, A). В этом случае значение входа S3 должно быть равно 0.

По трем сторонам (S1, S2, S3). В этом случае значение входа A должно быть равно 0.


Примеры
VAR
rSide1 : REAL := 5.0; // Сторона 1 = 5 единиц
rSide2 : REAL := 7.0; // Сторона 2 = 7 единиц
rAngle : REAL := 60.0; // Угол между сторонами = 60 градусов
rSide3 : REAL := 0.0; // Не используется (должна быть 0)
rArea : REAL; // Площадь треугольника
END_VAR
// Вычисление площади по двум сторонам и углу между ними
rArea := OSCAT_BASIC.TRIANGLE_A( S1 := rSide1,
S2 := rSide2, A := rAngle, S3 := rSide3 );
// Результат: 15.155 (площадь треугольника со сторонами 5 и 7 и углом 60°)
END_PROGRAM |