Добрый день! Задаю источник Rin_Byte(2) канал 0х40, связываю с CALL.8 с 7-ю аргументами типа INPUT USINT (UINT), через portmon видно запрос 06 02 00 40 00 38 79 BB 06 на него приходит ответ 02 07 00 04 98 61 05 00 00 E7 3B, в просмотре компронентов для CALL.8 вижу 0, 4, 65432, 97, 5, 0, 0 независимо от типа арумента USINT или UINT. Вопрос: откуда взялось 0xFF98 вместо 0х98?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Фактически аргументы канала CALL.8 в этой конструкции имеют 2-байтовую структуру. И при записи в аргумент 1 байта он "расширяется" до 2 байтов повторением старшего бита младшего байта. При дальнейшей обработке аргументов в программах или отображении на экранах задание у соответствующих аргументов этих шаблонов типов данных USINT позволит маскировать (удалить) старший байт.