public void HighFreqRead(int deviceId, int channel, int freq, HighCallback call) { HighFreqReadCallback callback = (ans) => { call(ans); }; highCallbacks.Add(callback); HtEcConnector.HighFreqRead(deviceId, channel, freq, callback); }
private void button1_Click(object sender, System.EventArgs e) { //double value = server.InstantRead<double>("D_in"); callback = (data) => { htUserCurve1.AddCurveData("Displacement", Array.ConvertAll(data, s => (double)s)); Thread.Sleep(2); }; server.StartReadingTask(1, "D_in", 2, callback); }
private void button1_Click(object sender, System.EventArgs e) { callback = (data) => { //这里如果返回的是float可以直接调用htUserCurve1.AddCurveData("AI1", data); foreach (var val in data) { htUserCurve1.AddCurveData("Displacement", val); Thread.Sleep(2); } }; server.StartReadingTask(1, "D2", 10, callback); }
private void button2_Click(object sender, EventArgs e) { callback = (data) => { //这里如果返回的是float可以直接调用htUserCurve1.AddCurveData("AI1", data); foreach (var val in data) { Thread.Sleep(2); } log.Info("OK"); }; server.StartReadingTask(1, "AI1", 10, callback); }
/// <param name="taskId">任务ID</param> /// <param name="varName">变量名</param> /// <param name="period">采样周期</param> /// <param name="reader">读取接口</param> /// <param name="callback">回调函数</param> /// <param name="port">端口</param> public ReadingTask(int taskId, string varName, int period, IReader reader, HighCallback callback, Port port) { this.taskId = taskId; this.varName = varName; this.frequency = period; this.reader = reader; this.callback = callback; this.port = port; state = TaskState.Free; }
/// <summary> /// 开始高速采集,每产生1000组数据就会回调callback函数 /// </summary> /// <param name="taskId">任务的标识符</param> /// <param name="varname"></param> /// <param name="period"></param> /// <param name="callback">对于1000组数据的处理意见,是显示还是保存</param> public void StartReadingTask(int taskId, string varname, int period, HighCallback callback) { readTask = new ReadingTask(taskId, varname, period, reader, callback, new Port(iomapInfo.MapNameToPort[varname])); readTask.StartSampling(); }