Jeśli chodzi o funkcję odpytującą jest one realizowana w sterowniku. Używam do tego bloczka dostarczonego przez Beckhoff'a. Ja buduję natomiast slave'a, co powinienem chyba dodać na samym początku. Ramkę z rozkazem zatem generuje mi sterownik. Mam jednocześnie podgląd co jest wysyłane i co jest odbierane przez mastera, przez menagera TwinCAT'a. Bloczek zawiera w sobie mechanizm timeout'u. I jestem pewny że od strony sterownika jest wszystko ok, ponieważ działają na nim poprawnie już instalacje z wieloma slave'ami.
Poza tym widzę że nie wnikałeś w kod

ponieważ zmiana kierunku linii następuję dopiero w przerwaniu po opróżnieniu z bufora ostatniego bajtu.
Próbowałem nie siekać odpowiadania i procedurę odpowiedzi zawrzeć w jednym ciągu (chociaż szkoda mi czasu procesora) i nie zmieniło to nic, przy czym jeśli już urządzenie odpowiada to nie ma z tym problemu.
Ale dzięki za uwagi.