/// <summary> /// 预定义动作任务指令——读取RFID号||写入RFID号 /// </summary> /// <param name="orderNumber">订单号</param> /// <param name="predefinedTaskTypeWarehousePLCEnum">任务类型</param> /// <param name="rfidNumber">RFID号</param> /// <returns></returns> public static byte[] PredefinedTaskInstruction(string orderNumber, PredefinedTaskTypeWarehousePLCEnum predefinedTaskTypeWarehousePLCEnum, string rfidNumber) { functionCode = FunctionCodeHexString.PredefinedTask_Instruction; switch (predefinedTaskTypeWarehousePLCEnum) { case PredefinedTaskTypeWarehousePLCEnum.ReadRFID: predefinedTaskType = PredefinedTaskTypeWarehousePLCHexString.ReadRFID; predefinedTaskParameter1 = predefinedTaskParameter2 = "0000"; break; case PredefinedTaskTypeWarehousePLCEnum.WriteRFID: predefinedTaskType = PredefinedTaskTypeWarehousePLCHexString.WriteRFID; predefinedTaskParameter1 = rfidNumber.Substring(0, 4); predefinedTaskParameter2 = rfidNumber.Substring(4, 4); break; default: break; } predefinedTaskParameter3 = "0000"; functionCodeParameter = objectId + orderNumber + predefinedTaskType + predefinedTaskParameter1 + predefinedTaskParameter2 + predefinedTaskParameter3; return((controllerId + functionCode + functionCodeParameter).HexStringToByteArray()); }
/// <summary> /// 预定义动作任务指令——入库上料||出库下料 /// </summary> /// <param name="orderNumber">订单号</param> /// <param name="predefinedTaskTypeWarehousePLCEnum">任务类型</param> /// <returns></returns> public static byte[] PredefinedTaskInstruction(string orderNumber, PredefinedTaskTypeWarehousePLCEnum predefinedTaskTypeWarehousePLCEnum) { functionCode = FunctionCodeHexString.PredefinedTask_Instruction; switch (predefinedTaskTypeWarehousePLCEnum) { case PredefinedTaskTypeWarehousePLCEnum.OutputUnload: predefinedTaskType = PredefinedTaskTypeWarehousePLCHexString.OutputUnload; break; case PredefinedTaskTypeWarehousePLCEnum.InputLoad: predefinedTaskType = PredefinedTaskTypeWarehousePLCHexString.InputLoad; break; default: break; } predefinedTaskParameter1 = predefinedTaskParameter2 = predefinedTaskParameter3 = "0000"; functionCodeParameter = objectId + orderNumber + predefinedTaskType + predefinedTaskParameter1 + predefinedTaskParameter2 + predefinedTaskParameter3; return((controllerId + functionCode + functionCodeParameter).HexStringToByteArray()); }
/// <summary> /// 预定义动作任务指令——入库执行||出库执行 /// </summary> /// <param name="orderNumber">订单号</param> /// <param name="predefinedTaskTypeWarehousePLCEnum">任务类型</param> /// <param name="warehouseLocation">入库||出库位置</param> /// <returns></returns> public static byte[] PredefinedTaskInstruction(string orderNumber, PredefinedTaskTypeWarehousePLCEnum predefinedTaskTypeWarehousePLCEnum, int warehouseLocation) { functionCode = FunctionCodeHexString.PredefinedTask_Instruction; switch (predefinedTaskTypeWarehousePLCEnum) { case PredefinedTaskTypeWarehousePLCEnum.InputExecution: predefinedTaskType = PredefinedTaskTypeWarehousePLCHexString.InputExecution; break; case PredefinedTaskTypeWarehousePLCEnum.OutputExecution: predefinedTaskType = PredefinedTaskTypeWarehousePLCHexString.OutputExecution; break; default: break; } predefinedTaskParameter1 = Convert.ToString(warehouseLocation, 16).PadLeft(4, '0'); predefinedTaskParameter2 = predefinedTaskParameter3 = "0000"; functionCodeParameter = objectId + orderNumber + predefinedTaskType + predefinedTaskParameter1 + predefinedTaskParameter2 + predefinedTaskParameter3; return((controllerId + functionCode + functionCodeParameter).HexStringToByteArray()); }