private void buttonConn_Click(object sender, EventArgs e) { string reStr = ""; if (hkAccess.Conn(ref reStr)) { Console.WriteLine("杭可装载服务器连接成功"); } else { Console.WriteLine("杭可装载服务器连接失败"); } }
public bool ProcessInit() { // nodeList = new List<CtlNodeBaseModel>(); MesAcc = new YHMesWrapper(); monitorNodeList = new List <CtlNodeBaseModel>(); this.nodeStatusList = new List <CtlNodeStatus>(); //解析配置文件 string reStr = ""; //string xmlCfgFile = System.AppDomain.CurrentDomain.BaseDirectory + @"data/AcCfg.xml"; XElement root = null; if (!SysCfg.SysCfgModel.LoadCfg(ref root, ref reStr)) { Console.WriteLine("系统配置解析错误,{0}", reStr); return(false); } //1 通信设备创建、初始化 hkAccessList = new List <IHKAccess>(); if (SysCfg.SysCfgModel.SimMode) { plcRWs = new List <IPlcRW>(); for (int i = 0; i < 5; i++) { IPlcRW plcRW = new PlcRWSim(); plcRW.PlcID = i + 1; plcRWs.Add(plcRW); } rfidRWs = new List <IrfidRW>(); for (int i = 0; i < 13; i++) { int rfidID = i + 1; IrfidRW rfidRW = new rfidRWSim(); rfidRW.ReaderID = (byte)rfidID; rfidRWs.Add(rfidRW); } HKAccess hk = new HKAccess(1, "127.0.0.1", 13535); hkAccessList.Add(hk); hk = new HKAccess(2, "127.0.0.1", 13535); hkAccessList.Add(hk); if (!hk.Conn(ref reStr)) { Console.WriteLine(reStr); } string ocvDBConn = "Data Source = 192.168.100.20;Initial Catalog=SRANCH;User ID=L_Guest;Password=Guest@123;";; // ocvAccess = new OcvAccess(ocvDBConn, 36); } else { XElement commDevXERoot = root.Element("CommDevCfg"); if (!ParseCommDevCfg(commDevXERoot, ref reStr)) { //logRecorder.AddLog(new LogModel(objectName, "PLC初始化错误,"+reStr, EnumLoglevel.错误)); Console.WriteLine("通信设备错误," + reStr); return(false); } } //2 控制节点初始化 XElement CtlnodeRoot = root.Element("CtlNodes"); if (!ParseCtlnodes(CtlnodeRoot, ref reStr)) { logRecorder.AddLog(new LogModel(objectName, "节点初始化错误," + reStr, EnumLoglevel.错误)); return(false); } foreach (AsrsCtlModel asrsModel in asrsCtlPresenter.AsrsCtls) { monitorNodeList.Add(asrsModel.StackDevice); monitorNodeList.AddRange(asrsModel.Ports.ToArray()); } //3 工位控制线程初始化 this.threadList = new List <ThreadRunModel>(); XElement ThreadnodeRoot = root.Element("ThreadAlloc"); if (!ParseTheadNodes(ThreadnodeRoot, ref reStr)) { logRecorder.AddLog(new LogModel(objectName, "任务分配错误," + reStr, EnumLoglevel.错误)); return(false); } NodeSwitch switchNode = GetNodeByID("7001") as NodeSwitch; List <AsrsControl.AsrsPortalModel> targetPorts = new List <AsrsPortalModel>(); foreach (string portID in switchNode.TargetPortIDs) { AsrsPortalModel portObj = GetNodeByID(portID) as AsrsControl.AsrsPortalModel; targetPorts.Add(portObj); } switchNode.TargetPorts = targetPorts; foreach (ThreadRunModel threadObj in threadList) { threadObj.LogRecorder = logRecorder; } for (int i = 0; i < this.monitorNodeList.Count(); i++) { CtlNodeBaseModel node = this.monitorNodeList[i]; node.LogRecorder = this.logRecorder; this.nodeStatusList.Add(node.CurrentStat); } //ThreadRunModel palletBindThread = new ThreadRunModel("工装板绑定"); //palletBindThread.TaskInit(); //CtlNodeBaseModel palletBindNode = GetNodeByID("6001"); //if(palletBindNode != null && palletBindNode.NodeEnabled) //{ // palletBindThread.AddNode(palletBindNode); //} //this.threadList.Add(palletBindThread); //4 plc通信线程初始化 //5 历史数据清理线程 historyDataClearThread = new ThreadBaseModel("历史数据集清理"); historyDataClearThread.SetThreadRoutine(ClearHistoryLoop); historyDataClearThread.LoopInterval = 60000; historyDataClearThread.TaskInit(); //5 通信对象分配 asrsCtlPresenter.PlcRWs = this.plcRWs; asrsCtlPresenter.RfidRWs = this.rfidRWs; asrsCtlPresenter.BarcodeRWs = this.barcodeRWList; foreach (AsrsCtlModel asrsCtl in asrsCtlPresenter.AsrsCtls) { asrsCtl.MesAcc = this.MesAcc; if (asrsCtl.HouseName == AsrsModel.EnumStoreHouse.A1库房.ToString()) { asrsCtl.dlgtGetTaskTorun = GetCheckoutOfA1; } } if (!asrsCtlPresenter.AsrsCommCfg()) { return(false); } //view.InitNodeMonitorview(); bool re = asrsCtlPresenter.DevStatusRestore(); if (!re) { return(false); } return(true); }