Доброго дня.
Реализовал прием данных через RS232 на библиотеке SysCom версии через автомат состояний.
Железка что передает данные в ПЛК, всегда передает 9 байт.
Для проверки полноты данных хочу проверять, что принял их полностью.
При реализации алгоритма нужно проверять, что в буфер записалось 9 байт. И исходя из этого переводить автомат либо в состояние очистки буфера, либо в состояние ошибки.
Количество принятых байт отдает ФБ SysComRead в переменную dwRead. Хочу ее использовать в качестве условия выбора следующего состояния. Точка останова стоит на ФБ приема (картинка ниже), все хорошо, значение вижу. Но стоит перейти на след точку останова, dwRead обнуляется и соответственно меня перебрасывает в состояние ошибки.
Почему значение dwRead сразу обнуляется, еще до того как я очистил буфер?
Как выйти из этой ситуации?
screen.png