Добрый день!

10 11 0D 4D 53 44 2D 32 30 30 20 56 31 2E 35 31 1E BE , где:

10 - адрес прибора
11 - функция
0D - количество байт данных
1E BE - CRC
4D 53 44 2D 32 30 30 20 56 31 2E 35 31 - MSD-200 V1.51

Создаю маску:
destmask={"byte"(адрес прибора),"byte"(функция),"byte"(кол-во байт данных),"string:4"(MSD-),"int16:3:10"(200),"string:2"(пробел V),"int16:10"(1),"string"(. (точка)),"int16:2:10"(51)};

Итоговый код:
function OnRead()
local send={};
local Addr=server.GetCurrentDeviceAddress( );
table.insert(send, Addr);
table.insert(send, 0x11);
local sendmask={"byte","byte"};
local dest={};
local destmask={"byte","byte","byte","string:4","int16:3 :10","string:2","int16:10","string","int16:2:10"} ;
dest=server.SendAndReceiveDataByMask(2,table.maxn( send),sendmask, send, destmask, 200);

server.Message(dest[4]); -- Читаю букву "М"
end

Получаю ошибку:
05-07-2019 10:53:24.483 Tag1:Node1.Device1.Tag1 >> (node)Node1device)Device1teg)Tag1OnRead)::[string "--[[(R)Node1.Device1.Tag1]]..."]:20: attempt to index local 'dest' (a number value)
stack traceback:
[C]: in function '__index'
[string "--[[(R)Node1.Device1.Tag1]]..."]:20: in function <[string "--[[(R)Node1.Device1.Tag1]]..."]:9>