| | |
| | | using Masuit.Tools; |
| | | using WIDESEAWCS_QuartzJob; |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | | { |
| | | /// <summary> |
| | | /// 机械手条码生成器 - 负责生成托盘条码 |
| | | /// 机械手条码读取器 - 负责读取电芯条码 |
| | | /// </summary> |
| | | public static class RobotBarcodeGenerator |
| | | { |
| | | /// <summary> |
| | | /// 生成托盘条码 |
| | | /// 读取线体条码 |
| | | /// </summary> |
| | | /// <param name="prefix">条码前缀,默认为空</param> |
| | | /// <returns>生成的条码字符串</returns> |
| | | /// <param name="prefix">DB点位,例如 "DB40.990"</param> |
| | | /// <returns>读取到的电芯条码</returns> |
| | | public static string GenerateTrayBarcode(string prefix = "") |
| | | { |
| | | // 当前日期 |
| | | string datePart = DateTime.Now.ToString("yyyyMMdd"); |
| | | |
| | | // 时间戳(时分秒) |
| | | string timePart = DateTime.Now.ToString("HHmmss"); |
| | | |
| | | // 随机数 |
| | | string randomPart = Random.Shared.Next(100, 1000).ToString(); |
| | | |
| | | // 组合:前缀 + 日期 + 时间 + 随机数 |
| | | return prefix + datePart + timePart + randomPart; |
| | | var device = Storage.Devices.Where(d => d.DeviceName == "A区_一注输送线").FirstOrDefault(); |
| | | if (!device.IsNullOrEmpty() && device != null && device.Communicator.IsConnected) |
| | | { |
| | | var trayBarcode = device.Communicator.Read<string>(prefix); |
| | | return trayBarcode; |
| | | } |
| | | return ""; |
| | | } |
| | | } |
| | | } |