/// <summary> /// 如果用户需要重新制定读取一些D区 M区的话可以先设置保存读取PLC 内容的文件 /// 读取后生成命令 /// </summary> public void SetPlcReadDMData(string filename) { if (XJPLCcmd.CmdReadDMDataOut != null) { XJPLCcmd.CmdReadDMDataOut = null; } if (CSVData != null) { CSVData.Dispose(); CSVData = null; } CSVData = new CsvStreamReader(); string s = Path.GetExtension(filename); if (File.Exists(filename) && (Path.GetExtension(filename).Equals(Constant.CSVFileEX))) { CSVData.FileName = filename; } //确认表格 //这个要隔离出来 方便以后可以单独调用 针对用户更改读取内容 if (CSVData.CheckCSVFile(Constant.PLCstrCol)) { dataForm = CSVData.OpenCSV(CSVData.FileName); if (dataForm != null && dataForm.Rows.Count > 0) { PackCmdReadDMDataOut(dataForm); //在建立连接的时候 切换表格数据源 } } //GC.Collect(); //GC.WaitForPendingFinalizers(); }
public void GetPlcDataTableFromFile(List <string> strfile) { if (strfile != null && strfile.Count > 0) { foreach (string s in strfile) { if (ConstantMethod.FileIsUsed(s)) { MessageBox.Show(Constant.FileIsInUse); ConstantMethod.AppExit(); } if (File.Exists(s) && (Path.GetExtension(s).Equals(Constant.CSVFileEX))) { CSVData.FileName = s; } //确认表格 //这个要隔离出来 方便以后可以单独调用 针对用户更改读取内容 if (CSVData.CheckCSVFile(Constant.PLCstrCol)) { DataTable dataForm0 = new DataTable(); dataForm0 = CSVData.OpenCSV(CSVData.FileName); if (dataForm0 != null && dataForm0.Rows.Count > 0) { DataFormLst.Add(dataForm0); } else { MessageBox.Show(Constant.ReadPlcInfoFail); ConstantMethod.AppExit(); } } else { MessageBox.Show(Constant.ReadPlcInfoFail); Application.Exit(); System.Environment.Exit(0); } } } }