Пример #1
0
        /// <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();
        }
Пример #2
0
 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);
             }
         }
     }
 }