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_A | Position_B | Sensor_Mismatch |
|---|---|---|
| FALSE | FALSE | FALSE |
| TRUE | FALSE | TRUE |
| FALSE | TRUE | TRUE |
| TRUE | TRUE | FALSE |
5. Как проверять в симуляции
- оставьте оба входа FALSE - ошибки нет;
- включите только Position_A - Sensor_Mismatch станет TRUE;
- включите оба входа - ошибка исчезнет;
- выключите Position_A и оставьте Position_B TRUE - ошибка снова появится.
6. На что обратить внимание
XOR удобен для поиска различия, но он не объясняет причину. В реальной диагностике рядом часто добавляют отдельные сообщения: какой датчик активен, какой не активен, сколько времени длится рассогласование.
Для более строгой схемы можно добавить таймер TON, чтобы кратковременные переходные состояния не сразу давали аварию.
Check in editor
Open the ready-made FBD diagram, toggle inputs, and compare the simulation behavior with the program notes. The JSON is also available as a direct download.