YOKOGAWA DAQ系统的GM10通信接口类

gm10支持之间的通信MATLABGM10DAQ系统来自横河。该类实现了获取瞬时和FIFO模拟输入(AO)数据的方法。还实现了手工操作数字输出(DO)和模拟输出(AO)通道的方法。基本的通道配置方法也可用。在。中输入帮助gm10MATLAB提示更多信息。

有关命令类型和语法的更多信息,请参阅YOKOGAWA手册:IM04L51B01-17EN_090 (GM10通信命令用户手册)

内容

示例1:获取瞬时温度数据

的连接GM10建立DAQ,然后进行扫描间隔和通道配置。然后测量热电偶数据的采样周期约为。0.25秒,10秒。然后将数据绘制出来GM10对象删除。

正在创建GM10对象GM10 = GM10 (“192.168.1.11”);%定义采样参数Ts = 0.25;执行循环的采样周期(秒)tStop = 10;总采集时间(s)为GM10定义通道列表ChList = {“0008”“0210”};配置GM10扫描间隔GM10.setScanInterval (1,“100 ms”);%配置GM10通道列表为热电偶GM10.setChannelAI (ChList“TC”“K”初始化时间和数据数组时间= [];数据= [];初始化当前时间tCurr = 0;%开始当前时间时钟tStart = tic;%循环直到停止时间tCurr <= tStop%开始执行报头时钟头痛=抽搐;正在获取当前时间值tCurr = toc(tStart);%存储当前时间值时间=[时间;tCurr];% #好< AGROW >正在获取当前数据点数据=[数据;GM10.getInstData (ChList)];% #好< AGROW >%暂停以获得一致的采样率暂停(Ts-toc (tHead));结束将时间数组从0开始移动Time = Time-Time(1);%正在创建图形图=图;FigPos = get(Fig,“位置”);集(图,“位置”,[FigPos(1:2) 800 300]);绘制热电偶数据PlotData = plot(时间,数据:,1));PlotData。标志=“。”;集(gca),“NextPlot”“添加”“XLim”(10 0),“YLim”120年[0]);PlotData = plot(时间,数据(:,2));PlotData。标志=“。”;包含(“时间(s)”);ylabel (“温度(摄氏温度)”);删除GM10对象删除(GM10)

例2:获取FIFO温度数据

在本例中,使用FIFO(先进先出)功能来收集在时间的0.1秒采样的数据GM10设备,但在执行循环中以1秒的间隔检索。

正在创建GM10对象GM10 = GM10 (“192.168.1.11”%定义采样参数Ts = 1.0;执行循环的采样周期(秒)TsScan = 0.1;例1中设置的GM10采样间隔tStop = 10;%总测试时间(s)为GM10定义通道列表ChList = {“0008”“0210”};暂停以允许FIFO填充暂停(3 * Ts)初始化时间和数据数组时间= [];数据= [];%初始化上一个时间戳TimePrev = 0;初始化当前时间tCurr = 0;%开始当前时间时钟tStart = tic;%循环直到停止时间tCurr <= tStop%开始报头时钟头痛=抽搐;计算当前时间值tCurr = toc(tStart);获取FIFO数据(2倍所需行数)DataAux = GM10.getFIFOData(ChList,2*Ts/ tssscan);%检查第一次传递,时间数组为空如果isempty(时间)分配FIFO块的默认数量nFIFO = Ts/ tscan;其他的根据时间戳增量分配FIFO块的数量nFIFO = min(floor((tCurr-Time(end)-0.5*TsScan)/TsScan),size(DataAux,1));%正在更新上一次时间戳值TimePrev =时间(结束);结束存储当前FIFO块时间值时间=[时间;tCurr-TsScan * (nFIFO: 1:1)];% #好< AGROW >存储当前FIFO块数据点数据=[数据;DataAux(大小(DataAux 1) -nFIFO + 1:,:)];% #好< AGROW >%暂停以获得一致的采样率暂停(Ts-toc (tHead));结束将时间数组从0开始移动Time = Time-Time(1);%正在创建图形图=图;FigPos = get(Fig,“位置”);集(图,“位置”,[FigPos(1:2) 800 300]);绘制热电偶数据PlotData = plot(时间,数据:,1));PlotData。标志=“。”;集(gca),“NextPlot”“添加”“XLim”(10 0),“YLim”120年[0]);PlotData = plot(时间,数据(:,2));PlotData。标志=“。”;包含(“时间(s)”);ylabel (“温度(摄氏温度)”);删除GM10对象删除(GM10)
GM10 = GM10 with properties: SerialNum: 'S5PC07595' Firmware: 'R4.01.03' IPAddress: '192.168.1.11' TempUnit: 'degF' NumFIFO: 1 NumModules: 4 Module: [1x4 struct] ChannelAI: [1x20 struct] ChannelAO: [1x4 struct] ChannelDO: [1x6 struct]