% %**************************************************************************
% %************************ Inicialização do OPC ****************************
% %**************************************************************************
% %XXXXXXXXXXXXXXXXX Creando um OPC Data Access Client Object XXXXXXXXXXXXXXX
% da = opcda('localhost', 'Matrikon.OPC.Simulation.1');
% %XXXXXXXXXXXXXXXXXXXX Conectando o Cliente com o Server XXXXXXXXXXXXXXXXXXX
% connect(da);
% %XXXXXXXXXXXXXXXXXXXXX Grupo de trabalho para os TAGs XXXXXXXXXXXXXXXXXXXXX
% grp_Inp = addgroup(da,'AnalogInput');
% set(grp_Inp, 'UpdateRate', 20);
% %XXXXXXXXXXXXXXXXXXXXXXXXX ITEMS DO DFIOLESERVER XXXXXXXXXXXXXXXXXXXXXXXXXX
% %---------------------- Add Items ao Grupo Entradas -----------------------
% ItmFit31Ai = additem(grp_Inp,'Random.Real4','single');
% ItmFit32Ai = additem(grp_Inp,'Random.Real8','single');
% ItmLit31Ai = additem(grp_Inp,'Random.UInt1','single');
% ItmFit31Intg1 = additem(grp_Inp,'Random.UInt2','single');
% ItmFit32Intg2 = additem(grp_Inp,'Random.UInt4','single');
% ItmFit32Intg1 = additem(grp_Inp,'Random.Int1','single');
% ItmTy31Ao = additem(grp_Inp,'Random.Int2','single');
% ItmFy31Ao = additem(grp_Inp,'Random.Int4','single');
% 
% 
% %XXXXXXXXXXXXXXXXXXXXXX LENDO OS ITEMS DO DFIOLESERVER XXXXXXXXXXXXXXXXXXXX
% %-------------- Lendo Os Valores dos Sensores e Atuadores  ----------------
% Rdgrp_Inp = readasync(grp_Inp)
% % [ValFit31Ai ValFit32Ai ValLit31Ai ValFit31Intg1 ValFit32Intg2 ...
% %     ValFit32Intg1 ValTy31Ao ValFy31Ao] = Rdgrp_Inp.Value;
% %[ItmID,Val,Qual,TStamp,EvtTime] = OPCSTRUCT2ARRAY(Rdgrp_Inp,'single')
% [itmID, val, qual, tStamp] = getdata(grp_Inp, 'double');
% pause(10)
% disp('Event log:')
% showopcevents(da)
% % ValFit31Ai
% % ValFit32Ai 
% % ValLit31Ai 
% % ValFit31Intg1 
% % ValFit32Intg2    
% % ValFit32Intg1 
% % ValTy31Ao 
% % ValFy31Ao


        da = opcda('localhost', 'Matrikon.OPC.Simulation');
        connect(da);
        grp = addgroup(da, 'ExOPCREAD');
        itm1 = additem(grp, 'Triangle Waves.Real8');
        itm2 = additem(grp, 'Saw-Toothed Waves.Int2');
        set(grp, 'LoggingMode', 'memory', 'RecordsToAcquire', 60);
        start(grp);
        s = getdata(grp, 2)
        [itmID, val, qual, tStamp] = getdata(grp, 'double');
        plot(tStamp(:,1),val(:,1), tStamp(:,2),val(:,2));
        legend(itmID);
        datetick x keeplimits