|
@@ -1527,57 +1527,60 @@ namespace IMCS.CCS.Services
|
|
|
responseData.result = "false";
|
|
|
return responseData;
|
|
|
}
|
|
|
- string[] sArray;
|
|
|
|
|
|
- /*if (!string.IsNullOrEmpty(actionInfo.Address5) && !string.IsNullOrEmpty(TypeNo))
|
|
|
- {
|
|
|
- sArray = actionInfo.Address5.Split('.');
|
|
|
- s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(TypeNo, 1));
|
|
|
- }
|
|
|
- if (!string.IsNullOrEmpty(actionInfo.Address6) && !string.IsNullOrEmpty(SmallTypeNo))
|
|
|
- {
|
|
|
- sArray = actionInfo.Address6.Split('.');
|
|
|
- s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(SmallTypeNo, 1));
|
|
|
- }
|
|
|
- if (!string.IsNullOrEmpty(actionInfo.Address7) && !string.IsNullOrEmpty(SmallTypeNo))
|
|
|
- {
|
|
|
- sArray = actionInfo.Address7.Split('.');
|
|
|
- s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(OrderNo, 128));
|
|
|
- }
|
|
|
- if (!string.IsNullOrEmpty(actionInfo.Address8) && !string.IsNullOrEmpty(TaskNo))
|
|
|
- {
|
|
|
- sArray = actionInfo.Address8.Split('.');
|
|
|
- s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(TaskNo, 128));
|
|
|
- }
|
|
|
- if (!string.IsNullOrEmpty(actionInfo.Address9) && !string.IsNullOrEmpty(ProductNo))
|
|
|
- {
|
|
|
- sArray = actionInfo.Address9.Split('.');
|
|
|
- s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(ProductNo, 128));
|
|
|
- }
|
|
|
- if (!string.IsNullOrEmpty(actionInfo.Address10) && !string.IsNullOrEmpty(BatchNo))
|
|
|
- {
|
|
|
- sArray = actionInfo.Address10.Split('.');
|
|
|
- s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(BatchNo, 32));
|
|
|
- }
|
|
|
- if (!string.IsNullOrEmpty(actionInfo.Address11) && !string.IsNullOrEmpty(SerialNo))
|
|
|
- {
|
|
|
- sArray = actionInfo.Address11.Split('.');
|
|
|
- s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(SerialNo, 6));
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- short mc = 0;
|
|
|
- s7.Write(ToolUtils.AddressConvertDBW(actionInfo.Address), mc);
|
|
|
+ CcsActionAddress actionAddressQuery = new CcsActionAddress();
|
|
|
+ actionAddressQuery.ActionId = actionInfo.Id;
|
|
|
+ List<CcsActionAddress> CcsActionAddresses = _ccsActionAddressService.GetList(actionAddressQuery);
|
|
|
|
|
|
- Thread.Sleep(SLEEP_TIME);
|
|
|
- mc = 1;
|
|
|
- s7.Write(ToolUtils.AddressConvertDBW(actionInfo.Address2), mc);*/
|
|
|
+ //查询写入地址列表
|
|
|
+ string[] sArray;
|
|
|
+ List<CcsActionAddress> CcsActionAddressWrites = CcsActionAddresses.Where(o => o.Type == ActionAddressTypeEnum.WRITE.ToString()).ToList();
|
|
|
+ foreach (CcsActionAddress actionAddress in CcsActionAddressWrites)
|
|
|
+ {
|
|
|
+ if (!string.IsNullOrEmpty(actionAddress.Address))
|
|
|
+ {
|
|
|
+ sArray = actionAddress.Address.Split('.');
|
|
|
+ if (actionAddress.Sort == 1)
|
|
|
+ {
|
|
|
+ s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(TypeNo, 1));
|
|
|
+ }else if (actionAddress.Sort == 2)
|
|
|
+ {
|
|
|
+ s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(SmallTypeNo, 1));
|
|
|
+ }
|
|
|
+ else if (actionAddress.Sort == 3)
|
|
|
+ {
|
|
|
+ s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(OrderNo, 128));
|
|
|
+ }
|
|
|
+ else if (actionAddress.Sort == 4)
|
|
|
+ {
|
|
|
+ s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(TaskNo, 128));
|
|
|
+ }
|
|
|
+ else if (actionAddress.Sort == 5)
|
|
|
+ {
|
|
|
+ s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(ProductNo, 128));
|
|
|
+ }
|
|
|
+ else if (actionAddress.Sort == 6)
|
|
|
+ {
|
|
|
+ s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(BatchNo, 32));
|
|
|
+ }
|
|
|
+ else if (actionAddress.Sort == 7)
|
|
|
+ {
|
|
|
+ s7.WriteBytes(DataType.DataBlock, Convert.ToInt16(sArray[0].Substring(2)), Convert.ToInt16(sArray[1]) + 2, ToolUtils.ReturnBtyesWtitString(SerialNo, 6));
|
|
|
+ }
|
|
|
+ else if (actionAddress.Sort == 8 || actionAddress.Sort == 9)
|
|
|
+ {
|
|
|
+ s7.Write(ToolUtils.AddressConvertDBW(actionAddress.Address), actionAddress.Value);
|
|
|
+ }
|
|
|
+ Thread.Sleep(1500);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
s7.Close();
|
|
|
|
|
|
//插入回调
|
|
|
TaskCallback taskCallbackData = new TaskCallback(req.url, ActionTypeEnum.StartLabelMachine.ToString(),
|
|
|
EnumHelper.GetDescription(ActionTypeEnum.StartLabelMachine), req.taskId, req.taskNodeId);
|
|
|
- await _taskCallbackService.CreateOrUpdateAndCache(taskCallbackData);
|
|
|
+ await _taskCallbackService.CreateOrUpdateAndCache(setCallBackValue(CcsActionAddresses, taskCallbackData));
|
|
|
Log.Instance.WriteLogAdd(EnumHelper.GetDescription(ActionTypeEnum.StartLabelMachine) + "启动打标机成功===>>" + JsonConvert.SerializeObject(req)
|
|
|
, EnumHelper.GetDescription(ActionTypeEnum.StartLabelMachine));
|
|
|
return responseData;
|