Logic: различия между версиями
Перейти к навигации
Перейти к поиску
Noirart (обсуждение | вклад) Нет описания правки Метка: ручная отмена |
Noirart (обсуждение | вклад) Нет описания правки |
||
| (не показаны 34 промежуточные версии этого же участника) | |||
| Строка 3: | Строка 3: | ||
== Типы данных == | == Типы данных == | ||
Система оперирует двумя типами данных: | Система оперирует двумя типами данных: | ||
* | * <span style="color:#008000;">Логический (bool)</span> — принимает значения <code>0</code> (ложь) или <code>1</code> (истина). | ||
* | * <span style="color:#0000FF;">Вещественный (float)</span> — числа с плавающей запятой (включая целые). | ||
== Работа с осями/таблицами == | == Работа с осями/таблицами == | ||
=== Добавление осей === | === Добавление осей === | ||
Оси задаются списками значений (минимум 2, максимум 32 точек). Пример: | Оси задаются списками значений (минимум 2, максимум 32 точек). Пример: | ||
<div style="font-family:monospace; white-space:pre; margin:1px; padding:2px 5px 2px 5px; border:1px solid #E0E0E0; background:#f0f0f0;"><span style="color:#800000;">AXIS</span>.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; | |||
<span style="color:#800000;">AXIS</span>.2 = -40| -30| -20| -10| 0| 10| 20| 30| 40| 50| 60| 70| 80| 90| 100| 130;</div> | |||
Текущая версия от 23:36, 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), проверьте документацию устройства.