|
@@ -899,44 +899,53 @@ namespace IMCS.CCS.Services
|
|
|
// return responseData;
|
|
|
//}
|
|
|
|
|
|
- //海德汉程序上传后,同时写入编号
|
|
|
- CcsAction actionQuery = new CcsAction();
|
|
|
- actionQuery.OperateType = ActionTypeEnum.StartNCProgram.ToString();
|
|
|
- actionQuery.Ip = req.url;
|
|
|
- CcsAction actionInfo = _ccsActionService.GetList(actionQuery).FirstOrDefault();
|
|
|
- //查询启动动作地址
|
|
|
- CcsActionAddress actionAddressQuery = new CcsActionAddress();
|
|
|
- actionAddressQuery.ActionId = actionInfo.Id;
|
|
|
- List<CcsActionAddress> CcsActionAddresses = _ccsActionAddressService.GetList(actionAddressQuery);
|
|
|
-
|
|
|
- SiemensS7Net s7 = DevicePlcS7.SiemensS7(actionInfo.PlcIp);
|
|
|
- OperateResult ConnectionResult = s7.ConnectServer();
|
|
|
- if (!ConnectionResult.IsSuccess)
|
|
|
- {
|
|
|
- s7.ConnectClose();
|
|
|
- Log.Instance.WriteLogAdd(ActionTypeEnum.StartNCProgram + "写入编号异常===>>" + "PLC连接不上" + JsonConvert.SerializeObject(req),
|
|
|
- EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
|
|
|
- responseData.result = "false";
|
|
|
- return responseData;
|
|
|
- }
|
|
|
-
|
|
|
- //查询写入地址列表
|
|
|
- List<CcsActionAddress> CcsActionAddressWrites = CcsActionAddresses.Where(o => o.Type == ActionAddressTypeEnum.WRITE.ToString()).ToList();
|
|
|
- if (CcsActionAddressWrites.Count < 2)
|
|
|
+ //海德汉程序上传后,同时写入编号
|
|
|
+ if (string.IsNullOrEmpty(req.data.fileName))
|
|
|
{
|
|
|
- s7.ConnectClose();
|
|
|
- Log.Instance.WriteLogAdd("写入程序编号异常===>>" + "地址错误" + JsonConvert.SerializeObject(req),
|
|
|
- EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
|
|
|
- responseData.result = "false";
|
|
|
- return responseData;
|
|
|
+ Log.Instance.WriteLogAdd("ECS编号传空不处理逻辑===>>" + req.data.fileName ,
|
|
|
+ EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
|
|
|
}
|
|
|
- //写入程序编号
|
|
|
- // string prgNo = !string.IsNullOrEmpty(req.data.fileName) ? req.data.fileName.Substring(0, req.data.fileName.Length - 2) : CcsActionAddressWrites[0].Value;
|
|
|
- string prgNo = !string.IsNullOrEmpty(req.data.fileName) ? System.IO.Path.GetFileNameWithoutExtension(req.data.fileName) : CcsActionAddressWrites[0].Value;
|
|
|
- s7.Write(CcsActionAddressWrites[0].Address, Convert.ToInt16(prgNo));
|
|
|
+ else
|
|
|
+ { //写入程序编号
|
|
|
+ CcsAction actionQuery = new CcsAction();
|
|
|
+ actionQuery.OperateType = ActionTypeEnum.StartNCProgram.ToString();
|
|
|
+ actionQuery.Ip = req.url;
|
|
|
+ CcsAction actionInfo = _ccsActionService.GetList(actionQuery).FirstOrDefault();
|
|
|
+ //查询启动动作地址
|
|
|
+ CcsActionAddress actionAddressQuery = new CcsActionAddress();
|
|
|
+ actionAddressQuery.ActionId = actionInfo.Id;
|
|
|
+ List<CcsActionAddress> CcsActionAddresses = _ccsActionAddressService.GetList(actionAddressQuery);
|
|
|
+
|
|
|
+ SiemensS7Net s7 = DevicePlcS7.SiemensS7(actionInfo.PlcIp);
|
|
|
+ OperateResult ConnectionResult = s7.ConnectServer();
|
|
|
+ if (!ConnectionResult.IsSuccess)
|
|
|
+ {
|
|
|
+ s7.ConnectClose();
|
|
|
+ Log.Instance.WriteLogAdd(ActionTypeEnum.StartNCProgram + "写入编号异常===>>" + "PLC连接不上" + JsonConvert.SerializeObject(req),
|
|
|
+ EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
|
|
|
+ responseData.result = "false";
|
|
|
+ return responseData;
|
|
|
+ }
|
|
|
|
|
|
- Log.Instance.WriteLogAdd("写入编号成功===>>编号位:" + prgNo + ",写入地址=="+ CcsActionAddressWrites[0].Address,
|
|
|
- EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
|
|
|
+ //查询写入地址列表
|
|
|
+ List<CcsActionAddress> CcsActionAddressWrites = CcsActionAddresses.Where(o => o.Type == ActionAddressTypeEnum.WRITE.ToString()).ToList();
|
|
|
+ if (CcsActionAddressWrites.Count < 2)
|
|
|
+ {
|
|
|
+ s7.ConnectClose();
|
|
|
+ Log.Instance.WriteLogAdd("写入程序编号异常===>>" + "地址错误" + JsonConvert.SerializeObject(req),
|
|
|
+ EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
|
|
|
+ responseData.result = "false";
|
|
|
+ return responseData;
|
|
|
+ }
|
|
|
+
|
|
|
+ string prgNo = !string.IsNullOrEmpty(req.data.fileName) ? System.IO.Path.GetFileNameWithoutExtension(req.data.fileName) : CcsActionAddressWrites[0].Value;
|
|
|
+ s7.Write(CcsActionAddressWrites[0].Address, Convert.ToInt16(prgNo));
|
|
|
+
|
|
|
+ Log.Instance.WriteLogAdd("写入编号成功===>>编号位:" + prgNo + ",写入地址==" + CcsActionAddressWrites[0].Address,
|
|
|
+ EnumHelper.GetDescription(ActionTypeEnum.UploadFile));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
//插入回调
|
|
|
TaskCallback taskCallbackData = new TaskCallback(req.url, ActionTypeEnum.UploadFile.ToString(),
|