Продолжу...решил с нуля создать простейший блок дифференциала на ST...по сути это и есть смысл всей этой затеи с дискретным режимом в ПР200х8 который можно было получать из коробки...но можно реализовать самому по всем 4 кондуктометрическим каналам...но требует минимального знания основ...
Код:
function_block functionblock2
var_input
CI : real;// Значение электропроводности на кондуктометрическом входе
NOL: real;// Уровень перехода в состояние "НОЛЬ"
YED: real;// Уровень перехода в состояние "ЕДЕНИЦА"
end_var
var_output
Q : bool;// Дискретный выход ноль/единица
end_var
if CI >= YED then Q:= true; end_if;
if CI <= NOL then Q:= false; end_if;
end_function_block
Выводим на холст.
Вложение 86382
Делаем две экранные переменные уровень ЕДЕНИЦА и НОЛЬ и для информативности выводим на экран значение электропроводности чтобы видеть что у нас на наших стержнях при погружению в воду. Переменные флоат но не буду выводить значение после запятой это избыточно для нашего случая....
Вложение 86383
Фильтрацию по кондуктометрическому входу делаем минимальной так как рукой вводить удерживать стержни в воду тяжеловато и нам нужно быстро получить результат перехода и выловить любой "дребезг" или артефакт
Вложение 86385
Результат:
Все отлично работает в нашей имитации дискретного режима. Переход в ноль и единицу стабильный на своих уровнях ни какого дребезга и артефактов при первом касании воды двумя электродами. Железо и ПО в ПР200х8 в кондуктометрическом режиме отрабатывает на 100%. Так что
разработчикам надо более пристально посмотреть на алгоритм внесенного изменения. Сниму видео и выложу сюда на обозрение для подтверждения своих тестов. Извиняюсь за дребезг видео приходилось искать ракурс держа в руках чтобы не засвечивало экран...
https://rutube.ru/video/private/cf36...fUZbkrUa3HjEuA
Вложение 86386
Вложение 86387
Вложение 86388
Для теста необходимо не забыть отключить температурную компенсацию так как у нас нет датчика температуры иначе будем наблюдать 99999