Сообщение от
Филоненко Владислав
А просто 2 подряд чтения без всех этих состояний работает? Без всех этих наворотов?
Не знаю про какие навороты Вы говорите. Сделал еще один пример - plc63master3.
В начале декларативной части есть константа FIRST_PART_SIZE, задающая размеры блоков чтения ответа. Если ( FIRST_PART_SIZE = 0 ) или ( FIRST_PART_SIZE >= RESPONSE_SIZE ), от ответ прочитается одним блоком, иначе ответ из буфера будет извлекаться двумя блоками
Код:
resultOfRead1 := SysComRead( port, ADR( part1 ), firstPartSize, 0 );
resultOfRead2 := SysComRead( port, ADR( part2 ), secondPartSize, 0 );
Если установить breakpoint на 54-ю строку, и посмотреть содержимое переменных, то все сразу видно.