123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- using BaseLibComm;
- using BaseLibRWFile;
- using HardwareConfig;
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.IO.Ports;
- using System.Linq;
- using System.Net.NetworkInformation;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace HRT_Measure
- {
- public enum ImageSource
- {
- Camera = 1,
- File = 2,
- Folder = 3
- }
- public class ProgramHelp
- {
- public static ProgramHelp Instance { get; set; } = new ProgramHelp();
- public event Action<string> SaveMsgEvent;
- public Log newLog = new Log();
-
- public Ini newIni;
- public FrmMain frmMain;
-
- //客户端
- public Dictionary<string, ClientHelp> dictClient = new Dictionary<string, ClientHelp>();
- //public ClientHelp clientBC1;
- //public ClientHelp clientBC2;
- //public ClientHelp clientBC3;
- //public ClientHelp clientPrint2;
- //public ClientHelp clientPrint3;
- //服务器
- public Dictionary<string, ServerHelp> dictServer = new Dictionary<string, ServerHelp>();
- //PLC
- public Dictionary<string, CommPLC> dictCommPLC = new Dictionary<string, CommPLC>();
- public CommPLC commPLC_M01M02;
- public CommPLC commPLC_M03;
- public CommPLC commPLC_M04M05;
- public CommPLC comm压机;
- public CommPLC comm称重;
- public CommPLC comm称重1;
- #region Variable
- #endregion
- public ProjectConfig ProConfig
- {
- get; set;
- } = new ProjectConfig();
- public ProjectParameter ProPara
- {
- get; set;
- } = new ProjectParameter();
- public void LoadProjectFiles()
- {
- LoadProjectConfig();
- LoadProjectPara();
- //HRT_Help.LoadResultTitle();
- //AlmInfoHelp.GetAlmInfo();
- LoadHardWare();
-
- }
-
- /// <summary>
- /// 加载硬件
- /// </summary>
- public void LoadHardWare()
- {
- dictCommPLC.Clear();
- commPLC_M01M02 = new CommPLC(ProConfig.M01_M02_PLC_IP, ProConfig.M01_M02_PLC_Port, "PLC-M01M02", ProConfig.PLC通讯类型);
- commPLC_M03 = new CommPLC(ProConfig.M03_PLC_IP, ProConfig.M03_PLC_Port, "PLC-M03", ProConfig.PLC通讯类型);
- commPLC_M04M05 = new CommPLC(ProConfig.M04_M05_PLC_IP, ProConfig.M04_M05_PLC_Port, "PLC-M04M05", ProConfig.PLC通讯类型);
- dictCommPLC.Add("PLC-M01M02", commPLC_M01M02);
- dictCommPLC.Add("PLC-M03", commPLC_M03);
- dictCommPLC.Add("PLC-M04M05", commPLC_M04M05);
- comm压机 = new CommPLC(ProConfig.压机串口号.ToString(), 9600, 8, 1, Parity.Even, ProConfig.压机通讯类型, "压机");
- dictCommPLC.Add("压机", comm压机);
- comm称重 = new CommPLC(ProConfig.称重PLC_IP地址, ProConfig.称重PLC_Port, "称重", ProConfig.称重通讯类型);
- dictCommPLC.Add("称重", comm称重);
- comm称重1 = new CommPLC(ProConfig.称重PLC_IP地址1, ProConfig.称重PLC_Port1, "称重1", ProConfig.称重通讯类型1);
- dictCommPLC.Add("称重1", comm称重1);
- }
- public void UnloadHardWare()
- {
- foreach (var item in dictCommPLC)
- {
- item.Value.Close();
- }
- }
- #region load save xml
- public void LoadProjectConfig()
- {
- string path = Application.StartupPath + $"\\Config\\ProjectConfig.xml";
- if (File.Exists(path))
- {
- if (ClsXml.XmlConfigReader(path, typeof(List<ProjectConfig>)) is List<ProjectConfig> paraList)
- {
- ProConfig = paraList[0];
- }
- }
- }
- public void SavePorjectConfig()
- {
- string path = Application.StartupPath + $"\\Config\\ProjectConfig.xml";
- List<ProjectConfig> listConfig = new List<ProjectConfig>();
- if (ProConfig != null)
- {
- listConfig.Add(ProConfig);
- }
- ClsXml.XmlConfigWriter(listConfig, path);
- }
- public void LoadProjectPara()
- {
- string path = Application.StartupPath + $"\\Config\\{ProConfig.当前料号}\\ProjectPara-{ProConfig.当前料号}.xml";
- //{ ProConfig.StrCurrentPartNumber}\\-{ ProgramHelp.Instance.ProConfig.StrCurrentPartNumber}
- if (File.Exists(path))
- {
- if (ClsXml.XmlConfigReader(path, typeof(List<ProjectParameter>)) is List<ProjectParameter> paraList)
- {
- ProPara = paraList[0];
- }
- }
- }
- public void SavePorjectPara()
- {
- string path = Application.StartupPath + $"\\Config\\{ProConfig.当前料号}\\ProjectPara-{ProConfig.当前料号}.xml";
- //string path = Application.StartupPath + $"\\Config\\{ProConfig.StrCurrentPartNumber}\\ProjectPara-{ProgramHelp.Instance.ProConfig.StrCurrentPartNumber}.xml";
- List<ProjectParameter> listConfig = new List<ProjectParameter>();
- if (ProConfig != null)
- {
- listConfig.Add(ProPara);
- }
- ClsXml.XmlConfigWriter(listConfig, path);
- }
- #endregion
- public void SaveMsg(string strFileName, string strMsg, bool isDayOrHour)
- {
- string strDate;
- if (isDayOrHour)
- {
- strDate = DateTime.Now.ToString("yyyyMMdd") + ".csv";
- }
- else
- {
- strDate = DateTime.Now.ToString("yyyyMMddHH") + ".csv";
- }
- string strFilePath = "D:" + "\\DATA\\" + "\\Logs\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\";
- strFileName = strFileName + "_" + strDate;
- newLog.SaveTxt(strFilePath, strFileName, strMsg);
- if (SaveMsgEvent != null)
- {
- string str = DateTime.Now.ToString("HH:mm:ss:fff") + " " + strMsg + "\r\n";//:fff
- SaveMsgEvent(str);
- }
- }
- }
- }
|