| DB/20250811DB最新BF.sql | 补丁 | 查看 | 原始文档 | blame | 历史 | |
| wcs-server-hbf/WIDESEA_Common/PLCConst.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| wcs-server-hbf/WIDESEA_WCS/Config/卷绕缓存架.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| wcs-server-hbf/WIDESEA_WCS/Jobs/RGV/AluminumCaseJob.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWork_JLM.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/HCJ_XHCD.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| wcs-server-hbf/WIDESEA_WCSServer/appsettings.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| wcs-server-hbf/WIDESEA_WCSServer/modified_data.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
DB/20250811DB×îÐÂBF.sqlBinary files differ
wcs-server-hbf/WIDESEA_Common/PLCConst.cs
@@ -12,6 +12,6 @@ public const string PLCName2FLKHCJ = "é壳ç¼åæ¶äºæ¥¼"; public const string PLCNameJR = "å·ç»ç¼åæ¶åèªå¨é¨"; } } wcs-server-hbf/WIDESEA_WCS/Config/¾íÈÆ»º´æ¼Ü.json
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,31 @@ [ { "HCJCenterName": "å·ç»ç¼åæ¶", "stationInfos": [ { "HCJName": "æ£æå·ç»ç¼åæ¶2", "HCJCode": "ZJ-QJHCJ11", "RPLCDB": [ "x=2;0", "x=2;1", "x=2;2", "x=2;3", "x=2;4", "x=2;5" ], //ç©æå çµ1ã2ã3ã4,æçå çµï¼æé® "WPLCDB": [ "s=2;0", "s=2;1", "s=2;2" ] //é»ç¯,绿ç¯,çº¢ç¯ }, { "HCJName": "è´æå·ç»ç¼åæ¶2", "HCJCode": "FJ-QJHCJ11", "RPLCDB": [ "x=2;8", "x=2;9", "x=2;10", "x=2;11", "x=2;12", "x=2;13" ], //ç©æå çµ1ã2ã3ã4,æçå çµï¼æé® "WPLCDB": [ "s=2;8", "s=2;9", "s=2;10" ] //é»ç¯,绿ç¯,çº¢ç¯ }, { "HCJName": "è´æå·ç»ç¼åæ¶1", "HCJCode": "FJ-QJHCJ10", "RPLCDB": [ "x=2;16", "x=2;17", "x=2;18", "x=2;19", "x=2;20", "x=2;21" ], //ç©æå çµ1ã2ã3ã4,æçå çµï¼æé® "WPLCDB": [ "s=2;16", "s=2;17", "s=2;18" ] //é»ç¯,绿ç¯,çº¢ç¯ }, { "HCJName": "æ£æå·ç»ç¼åæ¶1", "HCJCode": "ZJ-QJHCJ10", "RPLCDB": [ "x=2;24", "x=2;25", "x=2;26", "x=2;27", "x=2;28", "x=2;29" ], //ç©æå çµ1ã2ã3ã4,æçå çµï¼æé® "WPLCDB": [ "s=2;24", "s=2;25", "s=2;26" ] //é»ç¯,绿ç¯,çº¢ç¯ } ] } ] wcs-server-hbf/WIDESEA_WCS/Jobs/RGV/AluminumCaseJob.cs
@@ -21,6 +21,12 @@ using HslCommunication; using SqlSugar; using WIDESEA_Core.Extensions; using static System.Collections.Specialized.BitVector32; using WIDESEA_WCS.WCSClient.Modbus; using static FreeSql.Internal.GlobalFilter; using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; using System.Reflection.Metadata; using Dm; namespace WIDESEA_WCS { @@ -32,6 +38,7 @@ { FreeDB freeDB = new FreeDB(); static List<HCJCenterEqDB> centerEqDBList; static List<HCJCenterEqDB> centerJRDBList; private static object createTaskObj = new object(); public Task Execute(IJobExecutionContext context) { @@ -54,8 +61,321 @@ client.Connect(); return; } //é壳ç¼åæ¶ä¸å¡ä½ä¸ LKHCJdispatch(); if (client.PLCName.Contains("é壳")) { //é壳ç¼åæ¶ä¸å¡ä½ä¸ LKHCJdispatch(); } else { //å·ç»ç¼åæ¶ä¸å¡ä½ä¸ JRHCJdispatch(); } } /// <summary> /// å·ç»ç¼åæ¶ä¸å¡ä½ä¸ /// </summary> private void JRHCJdispatch() { //é壳ç¼åæ¶æ¬è¿ PLCClient pLCClientJR = WCSService.Clients.Find(V => V.PLCName==PLCConst.PLCNameJR); if (pLCClientJR != null) { string tsjJson = File.ReadAllText(AppContext.BaseDirectory + "/Config/å·ç»ç¼åæ¶.json", Encoding.UTF8); centerJRDBList = JsonConvert.DeserializeObject<List<HCJCenterEqDB>>(tsjJson); if (centerJRDBList == null) { return; } PLCClient agvzzplc = WCSService.Clients.Find(v => v.PLCName == "ç»è£ AGVè°åº¦"); UpdateJRHCJ(pLCClientJR); #region å·ç»å«æ List<base_ware_location> locations = freeDB.Select<base_ware_location>() .Where(x => (x.tpgd == 0 && x.gd1 == 0 && x.gd2 == 0 && x.gd3 == 0 && x.gd4 == 0 && x.status == 1 && x.task == 2 && x.logic_layer == "1" && x.location_state == "LocationState_Empty") && (x.upper_code.Contains("QJHCJ10") || x.upper_code.Contains("QJHCJ11"))) .ToList(); foreach (var item in locations) { if (item.geartype == "ææ ") { WriteLog.GetLog().Write($"{item.upper_code}{item.geartype}---{DateTime.Now}", $"å·ç»ä¸æè¯·æ±å¤±è´¥"); continue; } List<base_routing_table> routing_table = freeDB.Select<base_routing_table>() .Where(v => v.route_end == item.upper_code).ToList(); if (routing_table.Count > 0)//æ ææè½çæä»»å¡&& location_QJ.tpgd==0 { List<string> route_begans = routing_table.Select(x => x.route_began).ToList(); base_ware_location ware_Location = freeDB.Select<base_ware_location>() .Where(d => route_begans.Contains(d.upper_code) && d.location_state == "LocationState_Stored" && d.logic_col == 1 && d.tpgd == 1 && d.status == 1 && d.task == 2 && d.geartype == item.geartype).OrderBy(d => d.update_time).First(); if (ware_Location != null) { base_ware_location jkloction = ware_Location; #region è®°å½ä¸æè¯·æ±ä¿¡å· WriteLog.GetLog().Write($"{item.upper_code}ä¸æè¯·æ±---{DateTime.Now}", $"å·ç»ä¸æè¯·æ±"); #endregion //忬¡å¤ææ¯å¦æä»»å¡åå¨ dt_agvtask agvtaskOld = freeDB.Select<dt_agvtask>().Where(x => x.agv_toaddress == item.upper_code).First(); if (agvtaskOld != null && item.task == 2) { item.logic_col = 1;//设置è¯åç©æ item.task = 1;//设置任å¡çæ1 var locationOffOld1 = freeDB.Update(item).UpdateColumns(t => new { t.logic_col, t.task }).ExecuteAffrows(); continue; } dt_agvtask agvtask = new dt_agvtask() { agv_id = Guid.NewGuid(), agv_tasknum = "KH-" + IdenxManager.GetTaskNo(), agv_fromaddress = jkloction.upper_code, agv_toaddress = item.upper_code, agv_code = "ç»è£ AGVè°åº¦", agv_remark = "åå·ä¸æå¼å«", agv_taskstate = AGVTaskStateEnum.Create.ToString(), agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString(), agv_worktype = 1,//å·¥ä½ç±»å agv_materielid = "", agv_qty = 1, agv_createtime = DateTime.Now, agv_grade = 0,//ä»»å¡ä¼å 级 agv_userid = "WCS", agv_barcode = "" }; item.logic_col = 1;//设置è¯åç©æ item.task = 1;//设置任å¡çæ1 var locationOff1 = freeDB.Update(item).UpdateColumns(t => new { t.logic_col, t.task }).ExecuteAffrows(); jkloction.logic_col = 1;//设置è¯åç©æ jkloction.task = 1;//设置任å¡çæ1 var locationOff2 = freeDB.Update(jkloction).UpdateColumns(t => new { t.logic_col, t.task }).ExecuteAffrows(); freeDB.Add(agvtask); } else { WriteLog.GetLog().Write($"{item.upper_code}æªæ¾å°æ»¡è¶³éå¾åå·çæåºæ---{DateTime.Now}", $"å·ç»ä¸æè¯·æ±å¤±è´¥"); } } } #endregion } } private void UpdateJRHCJ(PLCClient client) { ModbusTcpNet ModbusPLCClient = client.ModbusPLCClient.ModbusTcpNetClient; var stationList = centerJRDBList.FirstOrDefault(t => client.PLCName.Contains(t.HCJCenterName)); foreach (var item in stationList.stationInfos) { base_ware_location location = freeDB.Select<base_ware_location>() .Where(x => x.upper_code == item.HCJCode) .First(); ////Console.WriteLine($"{station.stationCode}------{DateTime.Now}"); if (location == null) { continue; } string wlgd1DB = item.RPLCDB[0];//ç©æå çµ1ç¶æä¿¡å·ç¹ä½ string wlgd2DB = item.RPLCDB[1];//ç©æå çµ2ç¶æä¿¡å·ç¹ä½ string wlgd3DB = item.RPLCDB[2];//ç©æå çµ3ç¶æä¿¡å·ç¹ä½ string wlgd4DB = item.RPLCDB[3];//ç©æå çµ4ç¶æä¿¡å·ç¹ä½ string tpgdDB = item.RPLCDB[4];//æçå çµç¶æä¿¡å·ç¹ä½ string buttonDB = item.RPLCDB[5];//æé®ç¶æä¿¡å·ç¹ä½ ////确认æé®(绿è²) OperateResult<bool> R_TBR_XT1 = ModbusPLCClient.ReadBool(buttonDB); OperateResult<bool> R_TBR_XT2 = ModbusPLCClient.ReadBool(buttonDB); WriteLog.GetLog().Write($"{item.HCJName}ç¼åæ¶,è¿æ¥{R_TBR_XT1.IsSuccess}{R_TBR_XT2.IsSuccess}", "å·ç»ç¼åæ¶"); if (!R_TBR_XT1.IsSuccess && !R_TBR_XT2.IsSuccess) { //Console.WriteLine($"-{ModbusPLCClient.IpAddress}---{station.stationCode}----{ButtonEnsureDB}--------false--{R_TBR_XT.Message}----------------"); location.location_state = LocationStateEnum.LocationState_Close.ToString(); location.tpgd = -1; location.update_time = DateTime.Now; location.wireless_time = DateTime.Now; var locationOff = freeDB.Update(location).UpdateColumns(t => new { t.location_state, t.tpgd, t.update_time, t.wireless_time }).ExecuteAffrows(); continue; } OperateResult<bool> ButtonEnsure1 = ModbusPLCClient.ReadBool(buttonDB); OperateResult<bool> ButtonEnsure2 = ModbusPLCClient.ReadBool(buttonDB); //æçå çµç¶æ OperateResult<bool> tpgdstate1 = ModbusPLCClient.ReadBool(tpgdDB); OperateResult<bool> tpgdstate2 = ModbusPLCClient.ReadBool(tpgdDB); //ç©æå çµ1ç¶æ OperateResult<bool> wlgd1state1 = ModbusPLCClient.ReadBool(wlgd1DB); OperateResult<bool> wlgd1state2 = ModbusPLCClient.ReadBool(wlgd1DB); //ç©æå çµ2ç¶æ OperateResult<bool> wlgd2state1 = ModbusPLCClient.ReadBool(wlgd2DB); OperateResult<bool> wlgd2state2 = ModbusPLCClient.ReadBool(wlgd2DB); //ç©æå çµ3ç¶æ OperateResult<bool> wlgd3state1 = ModbusPLCClient.ReadBool(wlgd3DB); OperateResult<bool> wlgd3state2 = ModbusPLCClient.ReadBool(wlgd3DB); //ç©æå çµ4ç¶æ OperateResult<bool> wlgd4state1 = ModbusPLCClient.ReadBool(wlgd4DB); OperateResult<bool> wlgd4state2 = ModbusPLCClient.ReadBool(wlgd4DB); //æ ¹æ®è¯»å°çPLCä¿¡æ¯ï¼è½®è¯¢æ´æ°æ°æ®åºä¿¡æ¯ location.update_time = DateTime.Now; location.wireless_time = DateTime.Now; if (ButtonEnsure1.IsSuccess) { location.logic_layer = ButtonEnsure1.Content ? "1" : "0"; } if (ButtonEnsure2.IsSuccess) { location.logic_layer = ButtonEnsure2.Content ? "1" : "0"; } if (tpgdstate1.IsSuccess) { location.tpgd = !tpgdstate1.Content ? 1 : 0; } if (tpgdstate2.IsSuccess) { location.tpgd = !tpgdstate2.Content ? 1 : 0; } #region ç©æå çµ1 if (wlgd1state1.IsSuccess) { location.gd1 = !wlgd1state1.Content ? 1 : 0; ; } if (wlgd1state2.IsSuccess) { location.gd1 = !wlgd1state2.Content ? 1 : 0; ; } #endregion #region ç©æå çµ2 if (wlgd2state1.IsSuccess) { location.gd2 = !wlgd2state1.Content ? 1 : 0; ; } if (wlgd2state2.IsSuccess) { location.gd2 = !wlgd2state2.Content ? 1 : 0; ; } #endregion #region ç©æå çµ3 if (wlgd3state1.IsSuccess) { location.gd3 = !wlgd3state1.Content ? 1 : 0; ; } if (wlgd3state2.IsSuccess) { location.gd3 = !wlgd3state2.Content ? 1 : 0; ; } #endregion #region ç©æå çµ4 if (wlgd4state1.IsSuccess) { location.gd4 = !wlgd4state1.Content ? 1 : 0; ; } if (wlgd4state2.IsSuccess) { location.gd4 = !wlgd4state2.Content ? 1 : 0; ; } #endregion string LampYellowDB = item.WPLCDB[0];//é»ç¯ä¿¡å·ç¹ä½ string LampGreenDB = item.WPLCDB[1];//绿ç¯ä¿¡å·ç¹ä½ string LampRedDB = item.WPLCDB[2];//红ç¯ä¿¡å·ç¹ä½ //è´§æ¶åå¨ä»»å¡ä»»å¡æ¶ if (location.tpgd == 1) { location.location_state = LocationStateEnum.LocationState_Stored.ToString(); OperateResult<bool> Yellow1 = ModbusPLCClient.ReadBool(LampYellowDB); OperateResult<bool> Yellow2 = ModbusPLCClient.ReadBool(LampYellowDB); if (location.logic_col == 2) { ModbusPLCClient.Write(LampRedDB, true); //çº¢ç¯ ModbusPLCClient.Write(LampRedDB, true); //çº¢ç¯ } if (location.task == 1 && (Yellow1.Content || Yellow2.Content)) { //ModbusPLCClient.Write(LampGreenDB, true); //ç»¿ç¯ //ModbusPLCClient.Write(LampGreenDB, true); //ç»¿ç¯ ModbusPLCClient.Write(LampYellowDB, false); //é»ç¯ ModbusPLCClient.Write(LampYellowDB, false); //é»ç¯ } else if(location.task == 1 && (!Yellow1.Content || !Yellow2.Content)) { //ModbusPLCClient.Write(LampGreenDB, true); //ç»¿ç¯ //ModbusPLCClient.Write(LampGreenDB, true); //ç»¿ç¯ ModbusPLCClient.Write(LampYellowDB, true); //é»ç¯ ModbusPLCClient.Write(LampYellowDB, true); //é»ç¯ } else { ModbusPLCClient.Write(LampYellowDB, true); //é»ç¯ ModbusPLCClient.Write(LampYellowDB, true); //é»ç¯ ModbusPLCClient.Write(LampGreenDB, false); //ç»¿ç¯ ModbusPLCClient.Write(LampGreenDB, false); //ç»¿ç¯ ModbusPLCClient.Write(LampRedDB, false); //çº¢ç¯ ModbusPLCClient.Write(LampRedDB, false); //çº¢ç¯ } } else { location.location_state = LocationStateEnum.LocationState_Empty.ToString(); OperateResult<bool> Yellow1 = ModbusPLCClient.ReadBool(LampYellowDB); OperateResult<bool> Yellow2 = ModbusPLCClient.ReadBool(LampYellowDB); if (location.logic_col == 2) { ModbusPLCClient.Write(LampRedDB, true); //çº¢ç¯ ModbusPLCClient.Write(LampRedDB, true); //çº¢ç¯ } if (location.task == 1 && (Yellow1.Content || Yellow2.Content)) { ModbusPLCClient.Write(LampGreenDB, true); //ç»¿ç¯ ModbusPLCClient.Write(LampGreenDB, true); //ç»¿ç¯ ModbusPLCClient.Write(LampYellowDB, false); //é»ç¯ ModbusPLCClient.Write(LampYellowDB, false); //é»ç¯ } else if (location.task == 1 && (!Yellow1.Content || !Yellow2.Content)) { ModbusPLCClient.Write(LampGreenDB, true); //ç»¿ç¯ ModbusPLCClient.Write(LampGreenDB, true); //ç»¿ç¯ ModbusPLCClient.Write(LampYellowDB, true); //é»ç¯ ModbusPLCClient.Write(LampYellowDB, true); //é»ç¯ } else { ModbusPLCClient.Write(LampYellowDB, false); //é»ç¯ ModbusPLCClient.Write(LampYellowDB, false); //é»ç¯ ModbusPLCClient.Write(LampGreenDB, false); //ç»¿ç¯ ModbusPLCClient.Write(LampGreenDB, false); //ç»¿ç¯ ModbusPLCClient.Write(LampRedDB, false); //çº¢ç¯ ModbusPLCClient.Write(LampRedDB, false); //çº¢ç¯ } } var executeAffrows = freeDB.Update(location).UpdateColumns(t => new { t.location_state, t.logic_layer, t.update_time, t.wireless_time, t.tpgd, t.gd1, t.gd2, t.gd3, t.gd4 }).ExecuteAffrows(); } } private void LKHCJdispatch() { wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/AGV/AgvAndEquiWork_JLM.cs
@@ -20,6 +20,7 @@ { PLCClient agvjrplc = WCSService.Clients.Find(v => v.PLCName == "ç»è£ AGVè°åº¦"); PLCClient oiplc1F = WCSService.Clients.Find(v => v.PLCName == PLCConst.PLCName1FLKHCJ); PLCClient oiplcJR = WCSService.Clients.Find(v => v.PLCName == PLCConst.PLCNameJR); #region æ 线io模å 104å·ç»ä¸æ§ å¼é¨ä¿¡å·ä¼ é int comErr = 0;//èªå¨é¨æçº¿ "æå é´å·å¸é¨139", "æ¶å¸æ£è´æå·å¸é¨142", @@ -44,37 +45,95 @@ OperateResult<bool> R_comErr = agvjrplc.SiemensPLCClient.SiemensS7NetClient.ReadBool("DB1004." + doorOpen); if (!R_comErr.IsSuccess) { comErr += 30; doorCode += 30; doorState += 30; doorOpen += 30; continue; } string doorStart = "";//å¼é¨ string doorOff = "";//å ³é¨ string doorStarted = "";//å¼é¨å°ä½ string doorOffed = "";//å ³é¨å°ä½ switch (item) { case "è´æåºåé¨": doorStart = "s=2;11"; doorOff = "s=2;12"; doorStarted = "x=2;14"; doorOffed = "x=2;15"; break; case "è´æåºåé¨": doorStart = "s=2;27"; doorOff = "s=2;28"; doorStarted = "x=2;30"; doorOffed = "x=2;31"; break; case "æ£æåºåé¨": doorStart = "s=2;19"; doorOff = "s=2;20"; doorStarted = "x=2;22"; doorOffed = "x=2;23"; break; } //AGV请æ±å¼é¨ if (R_comErr.Content) { Dictionary<string, string> Doorsignal = new Dictionary<string, string>(); Doorsignal.Add("R_comErr", R_comErr.Content.ToString());//true Doorsignal.Add("DoorName", item.ToString());//item.ToString() string wificont = WIFIAPIInvoke.Doorsignal(Doorsignal); WebResponseContent wificontent = JsonConvert.DeserializeObject<WebResponseContent>(wificont); //if (item == "ç»è£ é£éé¨åé¨") //{ // Console.WriteLine(wificontent.Status); //} if (wificontent.Status) if ((item == "è´æåºåé¨" || item == "è´æåºåé¨" || item == "æ£æåºåé¨") && oiplcJR != null)// { //if (item == "ç»è£ é£éé¨åé¨") //{ // Console.WriteLine(Convert.ToUInt16(wificontent.Data) ); //} if (Convert.ToBoolean(wificontent.Data) == false)//èªå¨é¨æçº¿ OperateResult JROpenJLM1 = oiplcJR.ModbusPLCClient.ModbusTcpNetClient.Write(doorStart, true); OperateResult JROpenJLM2 = oiplcJR.ModbusPLCClient.ModbusTcpNetClient.Write(doorStart, true); OperateResult JROpenJLM3 = oiplcJR.ModbusPLCClient.ModbusTcpNetClient.Write(doorOff, false); OperateResult JROpenJLM4 = oiplcJR.ModbusPLCClient.ModbusTcpNetClient.Write(doorOff, false); if (JROpenJLM1.IsSuccess || JROpenJLM2.IsSuccess || JROpenJLM3.IsSuccess || JROpenJLM4.IsSuccess) { OperateResult<bool> JRJLMOpen1 = oiplcJR.ModbusPLCClient.ModbusTcpNetClient.ReadBool(doorStarted); OperateResult<bool> JRJLMOpen2 = oiplcJR.ModbusPLCClient.ModbusTcpNetClient.ReadBool(doorStarted); if (JRJLMOpen1.Content || JRJLMOpen2.Content)//å¼é¨å°ä½ { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (doorState), Convert.ToUInt16(2)); } else//鍿ªå°ä½ { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (doorState), Convert.ToUInt16(3)); } } else { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (comErr), true); } else if (Convert.ToUInt16(wificontent.Data) == 2)//å¼é¨å°ä½ } else { Dictionary<string, string> Doorsignal = new Dictionary<string, string>(); Doorsignal.Add("R_comErr", R_comErr.Content.ToString());//true Doorsignal.Add("DoorName", item.ToString());//item.ToString() string wificont = WIFIAPIInvoke.Doorsignal(Doorsignal); WebResponseContent wificontent = JsonConvert.DeserializeObject<WebResponseContent>(wificont); //if (item == "ç»è£ é£éé¨åé¨") //{ // Console.WriteLine(wificontent.Status); //} if (wificontent.Status) { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (doorState), Convert.ToUInt16(wificontent.Data)); } else if (Convert.ToUInt16(wificontent.Data) == 3)//鍿ªå°ä½ { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (doorState), Convert.ToUInt16(wificontent.Data)); //if (item == "ç»è£ é£éé¨åé¨") //{ // Console.WriteLine(Convert.ToUInt16(wificontent.Data) ); //} if (Convert.ToBoolean(wificontent.Data) == false)//èªå¨é¨æçº¿ { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (comErr), true); } else if (Convert.ToUInt16(wificontent.Data) == 2)//å¼é¨å°ä½ { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (doorState), Convert.ToUInt16(wificontent.Data)); } else if (Convert.ToUInt16(wificontent.Data) == 3)//鍿ªå°ä½ { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (doorState), Convert.ToUInt16(wificontent.Data)); } } } } @@ -92,26 +151,54 @@ //else //{ // WIDESEA_Common.Tools.WriteLog.GetLog("æå¼å¼é¨ä¿¡å·").Write($"Infoï¼{item}+{DateTime.Now}", "æå¼å¼é¨ä¿¡å·"); //AGVä¸ç»å¼é¨ä¿¡å·çæ¶å æå¼å¼é¨ä¿¡å· Dictionary<string, string> Doorsigna1 = new Dictionary<string, string>(); Doorsigna1.Add("R_comErr", R_comErr.Content.ToString()); Doorsigna1.Add("DoorName", item.ToString()); string wificont = WIFIAPIInvoke.Doorsignal(Doorsigna1); WebResponseContent wificontent2 = JsonConvert.DeserializeObject<WebResponseContent>(wificont); if (wificontent2.Status) if ((item == "è´æåºåé¨" || item == "è´æåºåé¨" || item == "æ£æåºåé¨") && oiplcJR != null) { if (Convert.ToBoolean(wificontent2.Data) == false)//èªå¨é¨æçº¿ //AGVä¸ç»å¼é¨ä¿¡å·çæ¶å æå¼å¼é¨ä¿¡å· OperateResult JROpenJLM1 = oiplcJR.ModbusPLCClient.ModbusTcpNetClient.Write(doorStart, false); OperateResult JROpenJLM2 = oiplcJR.ModbusPLCClient.ModbusTcpNetClient.Write(doorStart, false); //OperateResult JROpenJLM3 = oiplcJR.ModbusPLCClient.ModbusTcpNetClient.Write(doorOff, true); //OperateResult JROpenJLM4 = oiplcJR.ModbusPLCClient.ModbusTcpNetClient.Write(doorOff, true); if (JROpenJLM1.IsSuccess || JROpenJLM2.IsSuccess) { OperateResult<bool> JRJLMOpen1 = oiplcJR.ModbusPLCClient.ModbusTcpNetClient.ReadBool(doorOffed); OperateResult<bool> JRJLMOpen2 = oiplcJR.ModbusPLCClient.ModbusTcpNetClient.ReadBool(doorOffed); if (JRJLMOpen1.Content || JRJLMOpen2.Content)//å ³é¨å°ä½ { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (doorState), Convert.ToUInt16(1)); } else//鍿ªå°ä½ { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (doorState), Convert.ToUInt16(3)); } } else { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (comErr), true); } ////else if (Convert.ToUInt16(wificontent2.Data) == 1)//å ³é¨å°ä½ ////{ //// OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (doorState), Convert.ToUInt16(wificontent2.Data)); ////} else } else { //AGVä¸ç»å¼é¨ä¿¡å·çæ¶å æå¼å¼é¨ä¿¡å· Dictionary<string, string> Doorsigna1 = new Dictionary<string, string>(); Doorsigna1.Add("R_comErr", R_comErr.Content.ToString()); Doorsigna1.Add("DoorName", item.ToString()); string wificont = WIFIAPIInvoke.Doorsignal(Doorsigna1); WebResponseContent wificontent2 = JsonConvert.DeserializeObject<WebResponseContent>(wificont); if (wificontent2.Status) { //å ³é¨æªå°ä½ OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (doorState), Convert.ToUInt16(wificontent2.Data)); if (Convert.ToBoolean(wificontent2.Data) == false)//èªå¨é¨æçº¿ { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (comErr), true); } ////else if (Convert.ToUInt16(wificontent2.Data) == 1)//å ³é¨å°ä½ ////{ //// OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (doorState), Convert.ToUInt16(wificontent2.Data)); ////} else { //å ³é¨æªå°ä½ OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (doorState), Convert.ToUInt16(wificontent2.Data)); } } } //} @@ -136,11 +223,11 @@ OperateResult<bool> JLMOpen = oiplc1F.ModbusPLCClient.ModbusTcpNetClient.ReadBool("x=2;8612"); if (JLMOpen.Content)//å¼é¨å°ä½ { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), 2); OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), Convert.ToUInt16(2)); } else//鍿ªå°ä½ { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), 3); OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), Convert.ToUInt16(3)); } } else @@ -157,11 +244,11 @@ OperateResult<bool> JLMOpen = oiplc1F.ModbusPLCClient.ModbusTcpNetClient.ReadBool("x=2;8613"); if (JLMOpen.Content)//å ³é¨å°ä½ { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), 1); OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), Convert.ToUInt16(1)); } else//鍿ªå°ä½ { OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), 3); OperateResult W_stationDockSteps = agvjrplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1004." + (RKState), Convert.ToUInt16(3)); } } else wcs-server-hbf/WIDESEA_WCS/SchedulerExecute/Equipment/HCJ_XHCD.cs
@@ -31,6 +31,10 @@ double doorState_zz = 24.0;//ç¼åæ¶ç©æç¶æï¼1ï¼ç©ºä½ï¼2:空æçï¼3ï¼æ»¡æçï¼ double gdState_zz = 26.0;//é¢ç double comErr_JR = 9570.0;//æ¯å¦æçº¿ double doorCode_JR = 9572.0;//ç¼åæ¶ID double doorState_JR = 9594.0;//ç¼åæ¶ç©æç¶æï¼1ï¼ç©ºä½ï¼2:空æçï¼3ï¼æ»¡æçï¼ double comErr_zj = 0.0; double doorCode_zj = 2.0; double doorState_zj = 24.0; @@ -40,7 +44,9 @@ try { List<base_ware_location> base_Ware_Locations_zz = locRepository.Find(t => t.upper_code.Contains("JK") || t.upper_code.Contains("QJ") || t.upper_code.Contains("GFHCJ")).OrderBy(t => t.order_num).ToList(); List<base_ware_location> base_Ware_Locations_zz = locRepository.Find(t =>( t.upper_code.Contains("JK") || t.upper_code.Contains("QJ") || t.upper_code.Contains("GFHCJ")) && !t.upper_code.Contains("QJHCJ10") && !t.upper_code.Contains("QJHCJ11")).OrderBy(t => t.order_num).ToList(); List<base_ware_location> base_Ware_Locations_JR = locRepository.Find(t =>t.upper_code.Contains("QJHCJ10") || t.upper_code.Contains("QJHCJ11")).OrderBy(t => t.order_num).ToList(); List<base_ware_location> base_Ware_Locations_zj = locRepository.Find(t => t.upper_code.Contains("ZJ-BC") || t.upper_code.Contains("ZJ-TB")).OrderBy(t => t.order_num).ToList(); @@ -260,8 +266,38 @@ doorState_fj += 30; } foreach (var item in base_Ware_Locations_JR)//å·ç»è½¦é´ { if (agvzzplc == null) { break; } // WIDESEA_Common.Tools.WriteLog.GetLog("ä¿¡å·ä¼ é").Write($"Infoï¼{DateTime.Now}", "ä¿¡å·ä¼ é"); bool R_HCJ_ComErr_zz = false; if (item.location_state == "LocationState_Close" || item.tpgd == -1) { R_HCJ_ComErr_zz = true; } if (item.tpgd == 0) { OperateResult W_HCJ_FullState = agvzzplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1003." + doorState_JR, Convert.ToInt16(1)); } else if (item.tpgd == 1) { OperateResult W_HCJ_FullState = agvzzplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1003." + doorState_JR, Convert.ToInt16(3)); } else if (item.tpgd == -1) { OperateResult W_HCJ_FullState = agvzzplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1003." + doorState_JR, Convert.ToInt16(-1)); } OperateResult W_HCJ_StationCode = agvzzplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1003." + doorCode_JR, item.upper_code.ToString()); OperateResult W_HCJ_ComErr = agvzzplc.SiemensPLCClient.SiemensS7NetClient.Write("DB1003." + comErr_JR, R_HCJ_ComErr_zz); comErr_JR += 30; doorCode_JR += 30; doorState_JR += 30; } // WIDESEA_Common.Tools.WriteLog.GetLog("ä¿¡å·ä¼ é").Write($"Infoï¼{DateTime.Now}", "ä¿¡å·ä¼ é"); } catch (Exception) { wcs-server-hbf/WIDESEA_WCSServer/appsettings.json
@@ -15,7 +15,7 @@ //P@ssw0rd "Connection": { "DBType": "MsSql", "DbConnectionString": "Data Source=192.168.20.248;Initial Catalog=JMYW_WCSDB;Persist Security Info=True;User ID=sa1;Password=123456;Connect Timeout=500;", "DbConnectionString": "Data Source=127.0.0.1;Initial Catalog=JMYW_WCSDB;Persist Security Info=True;User ID=sa;Password=123456;Connect Timeout=500;", "RedisConnectionString": "127.0.0.1,Password=123456,SyncTimeout=15000", "UseRedis": "false" }, wcs-server-hbf/WIDESEA_WCSServer/modified_data.json
@@ -1 +1 @@ {"MM":"456","logtime":"2024-09-27"} {"MM":"456","logtime":"2026-03-12"}