Каналы класса Call с типом вызова 12, 13 и 14 позволяют провести простейшую обработку данных.
Данные каналы работают в двух режимах - анализ аналоговых значений и анализ дискретных значений. В остальном разница только сравнение на равенство, больше или меньше.
Первым делом разберем анализ аналоговых значений.
В Аппаратном значении канала Call будет одно из трех значений.
0 - совпадений нет, то есть значения аргументов всех аргументов отличаются от значения первого аргумента.
1 - есть как минимум одно совпадение,
2 - совпадают всех аргументы,
Так как не все сигналы одинаково полезны достоверны, то в настройках канала Call.Cmp= можно задать контроль недостоверности
И тогда получим,
Теперь разберем анализ дискретных значений.
При работе с дискретными сигналами проводиться анализ на сравнение не просто значения, а отдельных бит!
Немного теории.
В бинарном виде число 1 выглядит как 0001, в бинарном виде число 2 выглядит как 0010, а число 4 - 0100. Очевидно, что у значения 2 и 4 бит0 равен 0, а у числа 1 бит0 как раз равен 1. Совпадений нет.
А теперь увеличим 2 и 4 на единицу (т.е., взведем бит0) и получим 3 (0011) и 5 (0101). Бит0 во всех числах равно 1.
Таким нехитрым образом можно проводить обработку сигналов без лишнего программирования через шаблоны программ.
Успехов в освоении Программы и применении полученного опыта! 👽
Список авторских статей о Trace Mode 7