К списку примеров

Пояснение к программе

Контроль датчиков положения

XOR выявляет рассогласование двух датчиков и включает диагностический выход.

1. Что делает программа

Пример контролирует согласованность двух датчиков положения. Если Position_A и Position_B различаются, блок XOR включает диагностический выход Sensor_Mismatch.

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

Position_A XOR Position_B -> Sensor_Mismatch

2. Сигналы примера

СигналТипНазначение
Position_Aвходпервый датчик положения
Position_Bвходвторой датчик положения
XORблоксравнивает два булевых сигнала на различие
Sensor_Mismatchвыходдиагностический сигнал рассогласования

3. Основная логика

XOR возвращает TRUE, когда входы разные.

Sensor_Mismatch = Position_A XOR Position_B

Если оба датчика FALSE или оба TRUE, выход диагностики остаётся FALSE. Если один датчик TRUE, а второй FALSE, появляется рассогласование.

4. Таблица работы

Position_APosition_BSensor_Mismatch
FALSEFALSEFALSE
TRUEFALSETRUE
FALSETRUETRUE
TRUETRUEFALSE

5. Как проверять в симуляции

  • оставьте оба входа FALSE - ошибки нет;
  • включите только Position_A - Sensor_Mismatch станет TRUE;
  • включите оба входа - ошибка исчезнет;
  • выключите Position_A и оставьте Position_B TRUE - ошибка снова появится.

6. На что обратить внимание

XOR удобен для поиска различия, но он не объясняет причину. В реальной диагностике рядом часто добавляют отдельные сообщения: какой датчик активен, какой не активен, сколько времени длится рассогласование.

Для более строгой схемы можно добавить таймер TON, чтобы кратковременные переходные состояния не сразу давали аварию.

Проверка в редакторе

Откройте готовую FBD-схему, переключайте входы и сравните поведение симуляции с описанием программы. JSON можно скачать отдельно.