Logic: различия между версиями
Перейти к навигации
Перейти к поиску
Noirart (обсуждение | вклад) Нет описания правки |
Noirart (обсуждение | вклад) Нет описания правки |
||
| Строка 8: | Строка 8: | ||
== Работа с осями/таблицами == | == Работа с осями/таблицами == | ||
=== Добавление осей === | === Добавление осей === | ||
Оси задаются списками значений (минимум 2, максимум 32 точек). Пример: | Оси задаются списками значений (минимум 2, максимум 32 точек). Пример: | ||
< | <code> | ||
<font color="#800000">AXIS</font>.1 = 4.95|4.906|4.831|4.708|4.520|4.25|3.893|3.456|2.967|2.461|2.005|1.598|1.240|0.967|0.762|0.348; | <font color="#800000">AXIS</font>.1 = 4.95|4.906|4.831|4.708|4.520|4.25|3.893|3.456|2.967|2.461|2.005|1.598|1.240|0.967|0.762|0.348; | ||
AXIS.2 = -40| -30| -20| -10| 0| 10| 20| 30| 40| 50| 60| 70| 80| 90| 100| 130; | AXIS.2 = -40| -30| -20| -10| 0| 10| 20| 30| 40| 50| 60| 70| 80| 90| 100| 130; | ||
</ | </code> | ||
=== Преобразование данных === | === Преобразование данных === | ||
Версия от 22:27, 27 декабря 2025
Система логики: описание функций
Типы данных
Система оперирует двумя типами данных:
- Логический (
bool) — принимает значения0(ложь) или1(истина). - Вещественный (
float) — числа с плавающей запятой (включая целые).
Работа с осями/таблицами
Добавление осей
Оси задаются списками значений (минимум 2, максимум 32 точек). Пример:
AXIS.1 = 4.95|4.906|4.831|4.708|4.520|4.25|3.893|3.456|2.967|2.461|2.005|1.598|1.240|0.967|0.762|0.348;
AXIS.2 = -40| -30| -20| -10| 0| 10| 20| 30| 40| 50| 60| 70| 80| 90| 100| 130;
Преобразование данных
Функция CONVERT использует оси для преобразования значений. Пример:
CONVERT.1 = INPUT:ADC.1|AXIS_X:1|AXIS_Y:2; // Преобразование напряжения в температуру
INPUT— входной сигнал.AXIS_X,AXIS_Y— номера осей (должны иметь одинаковое количество точек).
Логические функции
Сравнение
COMPARE.1 = CONVERT.1>100|0; // Сравнение с округлением до 0 знаков
Доступные операторы: >, <, =.
Логические операции
- И:
AND.1 = TIM.1|COMPARE.1;(до 10 входов). - ИЛИ:
OR.1 = TIM.1|COMPARE.1;(до 10 входов). - Инверсия:
NOT.1 = AND.1;.
Таймер
Настройка таймера:
TIM.1 = HI:1000|LO:500|ENABLE:DI.1; // Импульсы 1000 мс (1) и 500 мс (0)
ENABLE— сигнал активации.HI— время в состоянии 1 (мс).LO— время в состоянии 0 (мс).
Особые режимы:
HI:RилиLO:R— перезапуск при изменении входа.HI:0/LO:1000— одиночный импульс при активации.
Счетчик
Пример настройки:
COUNTER.1 = UP:DI.1|DOWN_F:DI.2|RESET_F:DI.3|DEF:0|MIN:0|MAX:2|TYPE:OVER;
UP,DOWN— входы для счета (активны по фронту).RESET— сброс к значениюDEF.TYPE:
**LIMIT— остановка на границах. **OVER— переполнение (MAX → MIN).
REMEMBER:1— сохранение значения в памяти (если поддерживается).
Пики (PEAK)
Запись экстремальных значений:
PEAK.1 = INPUT:DASH_SPEED|REMEMBER:0|RESET:DI.1|RESET_VALUE:0|TYPE:MAX;
TYPE:MAX(максимум) илиMIN(минимум).RESET— сброс кRESET_VALUE.
Проверка бита
CHECK_BIT.1 = INPUT:CAN1_CHANNEL.1|BIT:0;
BIT— номер бита (0–31).
Примечания
- Символ
|разделяет параметры. - Для функций, зависящих от аппаратной реализации (например,
REMEMBER), проверьте документацию устройства.