博尔杰PTS - 工业标签标识打印整体解决方案
首页 > 技术支持 > 标签日期变量取错与有效期打印错误排查

标签日期变量取错与有效期打印错误排查

标签上印生产日期、有效期、检验日期,是生产线与仓储环节最常见的需求之一。实际使用中反馈最多的四类问题是:日期取到的是电脑当前系统时间而不是预计的生产日期、同一批标签上的时间一动不动、有效期比按生产日期推算的结果多一天或少一天、跨零点批量打印时整批日期串到了第二天。

本文只处理这四类「日期时间取错了、算错了、串天了」的排查与设置校正。如果您的困惑是「怎么给标签加一个会走的时间字段」,那是设置方法类问题,请先看流动时间与创建日期的设置说明;序列号不递增与数据库字段错乱走序列号专项;ERP 或 MES 触发的批量任务不打印、重复打印走批量触发专项;条码与二维码装不下、扫不出走容量与纠错专项;多人共用环境下的参数被互相覆盖走权限专项。这几类问题的触发机制与本文完全不同,混着排查会白费时间。

日期格式的写法建议参考 GB/T 7408《数据元和交换格式 信息交换 日期和时间表示法》中给出的表示形式,本文统一采用年四位、月两位、日两位中间用连字符分隔的写法。文中涉及的菜单名称、参数项与指令写法以所用软件的帮助文档、机器随机手册与产品页为准,不凭印象套用。

Zebra ZT510 工业标签打印机

一、先分清四类现象,再决定从哪一层查

日期时间类故障只有四个落点,定位的第一步就是分清它在哪一层。

  • 日期不对:打出来是今天,但应该是计划日期或生产日期。标签上其他内容都对,只有日期这一项是当天的日期。
  • 时间不动:同一批标签上的时分秒完全一样,或者连续打十张,十张的时间都停在同一个值。
  • 有效期算错:按生产日期推算应该到期的一天与实际印出来的差一天,月底与闰年前后尤其明显。
  • 跨天串天:晚上开始的批量打印任务,第二天早上核对时发现前半批是昨天的日期、后半批是今天的日期,或者反过来。

这四类现象对应的处理入口完全不同:日期不对查取值来源,时间不调查取值时机,有效期算错查计算规则,跨天串天查作业边界与队列。先归类是省时间的一步。

二、日期时间从哪来:三条取值路径

标签上那个日期,只有三个来源。分清来源是全部排查动作的前提。

  1. 软件数据源:在标签编辑软件里建一个日期或时钟类型的数据源,打印时由安装软件的这台电脑读取操作系统当前时间,生成字符串后随打印数据一起下发给机器。绝大多数桌面打印场景走的是这条路。
  2. 机器侧实时时钟:部分工业机型内部自带实时时钟与后备电池,指令里引用日期变量时由机器自己填值,与电脑时间无关。
  3. 业务系统字段:ERP、MES 或 WMS 把日期当作普通字符串,和数据一起下发给打印任务,打印环节只负责把它摆到版面上。

现场判定办法只有一步:把打印电脑的系统时间人为改一天,重新打一张。打出来的日期跟着变,说明走的是路径一;打出来纹丝不动,说明走的是路径二或路径三。这一步做完,后面八成的排查方向就定了。

要注意的是,改完系统时间之后务必改回来,否则接下来打的所有标签都会带着错误日期。更稳妥的做法是不动系统时间,改用下文第九节的留档比对来判断。

三、软件时钟数据源的四个参数逐个核对

确认走的是软件数据源之后,打开模板里那个日期对象,按顺序核对下面四项。四项里只要有一项和预期不符,输出就会错。

  1. 取值时机:这是「时间不动」最常见的根因。多数软件提供几个选项,含义分别是打开模板时取一次、每次打印作业开始时取一次、每张标签打印时取一次、每次打印任务重新计算一次。选了「打开模板时取一次」,那么从打开到关闭这段时间里打出来的所有标签都带同一个时间,看起来就像时钟停了。要求每张标签时间都不同,就要选按每张或按每次打印重新读取的那一项。
  2. 日期偏移:检查有没有被误设了加减天数、月数或年数。常见情况是模板沿用自别的产线,偏移值还留在里面,导致日期整体前移或后移。
  3. 格式字符串:确认格式串与业务口径一致。写成月日年还是年月日,年份是四位还是两位,分隔符是连字符、斜杠还是中文年月日,都要逐字符看一遍。
  4. 数据源类型:确认这个对象真的是日期或时钟类型,而不是一个被敲进去的固定文本。固定文本当然不会变,这是新模板最常犯的错。

核对顺序建议固定为「取值时机、偏移、格式、类型」,从最可能出错的取值时机开始。每改一项就打一张样张确认,不要一次改四项,否则改对了也不知道是哪一项在起作用。

TSC 企业型标签打印机

四、机器侧实时时钟的核对与校准

当日期不随电脑时间变化时,问题就落在机器内部。这一类故障有自己的特征,识别出来很快。

  • 时钟复位:机器长期断电或后备电池耗尽后,内部时钟可能回到出厂默认值,表现是打印出来的日期是一个固定年份,且怎么改电脑时间都不变。
  • 时钟走偏:日期大致对,但与标准时间差几小时甚至几天,多数是长时间未校准累积下来的偏差。
  • 时钟正常但指令没引用:机器时间是对的,只是模板里根本没有引用机器时钟变量,日期仍然来自别的路径。

核对与校准的做法:

  1. 打印机器自检页或配置页,在页面上直接读日期时间项,这是最直接的取值证据。
  2. 把读到的值与标准时间比对,记下偏差量,不要凭感觉判断「差不多」。
  3. 通过机器面板菜单或指令把正确时间写入。菜单路径与指令写法各机型不同,以随机手册为准。
  4. 写完再打一次自检页确认写入生效,然后打一张正式样张。
  5. 如果写入后断电重启又回到默认值,说明后备电池需要更换,这类硬件处理请联系售后。

需要提醒的是,机器侧时钟与电脑侧时钟是两个独立的时钟,不会因为改了电脑时间而同步。两边都可能有偏差,所以留档时两边都要记。

五、日期格式与区域设置的排查

日期值本身算对了,但显示出来的样子不对,也属于故障。这一类通常出在区域设置与格式串上。

  1. 日月年错位:写成两位月两位日时,前面两位到底代表月还是代表日,不同区域设置下解释不同。把格式串改成年四位在前的写法,歧义自然消失。
  2. 两位年份:只写两位年份会让跨世纪的记录产生歧义,建议统一写四位。
  3. 分隔符与全角字符:连字符、斜杠、点号以及中文年月日混用时,下游系统解析容易失败。格式串里用了什么就固定什么,不要一半全角一半半角。
  4. 跟随系统区域设置:模板里如果勾了跟随系统区域设置,那么换一台电脑、换一次系统区域格式,输出格式就变了。这是「换电脑后日期样子变了」的主要原因。

处理的统一做法是在模板里显式写死格式字符串,不要依赖跟随系统设置的选项。同时检查打印电脑控制面板里的短日期格式,确认它与模板里的格式串一致。如果业务系统要解析这个日期,还要和系统侧确认两边格式一致。

六、有效期计算:三类算错

有效期比预期差一天,几乎都落在下面三类里。逐条试算一遍就能定位。

  1. 起算日口径不一致:生产日当天算不算第一天。含当日的口径与次日起算的口径,同一个生产日会算出相差一天的两个到期日。先在业务口径上确认是哪一种,再对照模板里的偏移值。
  2. 加减单位不同:加十八个月与加五百四十天,结果通常不是同一天。按月计算会落在每个月的同一日,按天计算会随各月长度漂移。模板里用哪种,取决于业务口径用哪种。
  3. 月末与闰年处理:从一月三十一日加一个月,有两种常见处理,一种是截断到当月最后一日,一种是溢出到下月。闰年二月同理。不同软件的处理方式不同,必须实测确认,不能假设。

试算的做法:准备一组基准生产日期,覆盖月末、闰年二月、跨年三种情况,每种再配一个月偏移与一个天偏移,一共六组。把这六组逐一打样,把印出来的到期日与业务口径手算的结果逐条核对,不一致的那一组就是问题所在。

确认之后,把起算规则与计算单位写进模板注释和作业指导书,不要只留在操作人员的记忆里。换人、换班次时这是最容易丢失的口径。

七、跨天批量打印串天的处理

跨天串天不是日期算错,而是取值时机与作业边界的问题。分清两种情况,处理方式相反。

  • 整批共用一个时间:一次打印作业在开始时取一次时间,整批都用这个值。跨零点时前半批与后半批会分成两个日期,看起来像串了。
  • 取值早于实际输出:每张取值本应递增,但任务在队列里排队,实际打印时刻晚于取值时刻,标签上的时间与贴标时间对不上。

处理办法:

  1. 先明确业务的真实要求:是要求整批日期一致,还是要求每张按实际打印时刻取值。这两个要求对应的设置是相反的,不先定下口径就会来回改。
  2. 要求整批一致时,把取值时机设为每次打印作业取一次,并在作业开始时把取到的日期写进作业记录,供事后核对。
  3. 要求每张按实际时刻取值时,把取值时机设为每张标签重新读取。
  4. 要求整批一致但任务确实跨零点的,把大批量拆成小批量分段下发,每批单独记录起始时刻,避免一整批横跨零点。
  5. 如果排队时间明显偏长,先按打印队列积压与并发上限那一篇处理,把队列清干净之后再看日期是否还对得上。
Honeywell 工业标签打印机

八、时区、系统时间与改时间的风险

日期类故障里有一部分是人为造成的,而且往往很隐蔽。

  • 改了系统时间忘记改回来:为了试算把电脑时间改了一天,试完之后没改回来,之后打的所有标签都带错日期。建议不要靠改系统时间来测试。
  • 服务器与客户端时间不一致:跨地区或多站点部署时,下发日期的一方与打印的一方不在同一个时钟上,日期就会有系统性偏差。
  • 域环境强制同步:加入域的电脑时间由域控制器同步,本地改了也会被拉回去,表现是时快时慢、时而对时而错。

稳妥的做法是:用打印日志与样张留档来核对日期,而不是临时改动系统时间;确实需要验证跨天行为时,用一台不与生产环境相连的测试机做,验证完恢复原状。

九、改完之后怎么验证:三类验证动作

改完设置不等于改对了。三件事做完才算闭环。

  1. 连打五张看递增:连续打印五张,逐张看时间是不是在走、日期是不是对。五张比一张更能暴露取值时机的问题。
  2. 边界试算:月末、闰年二月、跨零点各做一组,把结果记下来与业务口径核对。这三类边界是最容易出错的地方。
  3. 三方留档比对:留一张样张,在样张上标注打印时刻、打印电脑的系统时间与机器的实时时钟读数,三方比对,差多少一目了然。

留档建议按月装订,与巡检记录放在一起。下次出现日期异常时,拿当时的样张与基准样张一比,就能判断是设置变了、时钟偏了还是口径变了。

十、预防与日常巡检清单

  1. 每月核对一次机器实时时钟与标准时间的偏差,超差就校准,并记录偏差量。
  2. 模板里显式写死日期格式字符串,禁用跟随系统区域设置的选项。
  3. 有效期起算规则与计算单位写入作业指导书,并附上第六节那六组试算表。
  4. 打印前先看预览里的日期值,预览里就不对,先改模板再上机。
  5. 换电脑、换操作系统、换打印机之后,重跑一次边界试算。
  6. 长期停用的机器重新启用时,先打自检页确认时钟没有复位。

常见问题

1. 为什么标签上打出来的一直是今天的日期,不是我填的生产日期?

说明这个日期对象取的是打印电脑的当前系统时间,而不是您填进去的固定值。按第二节的方法先确认来源,再按第三节把数据源类型改成固定值,或者把偏移值设成生产日与当天的差值。如果业务要求每张标签的生产日期不同,那就应该由业务系统下发字段,走第三条取值路径。

2. 连续打十张,十张上的时间一模一样,是软件坏了么?

绝大多数情况下是取值时机选错了,不是软件故障。按第三节第一项,把这个日期对象的取值时机改成按每张标签重新读取,再连打五张验证。改完仍然不动的,检查这个对象是不是被设成了固定文本。

3. 有效期总是比手算的多一天,一天之差要不要紧?

要紧。差一天意味着起算日口径与模板设置不一致,在需要严格追溯的批次管理里会导致整批标签的到期日系统性偏移。按第六节先确认业务口径是含当日还是次日起算,再把模板里的偏移值对齐,最后用月末与闰年两组边界试算复核。

4. 改了电脑时间,打印出来的日期还是不变,怎么回事?

说明日期不是由这台电脑生成的,走的是机器侧实时时钟或业务系统字段。按第四节打印自检页读机器时钟,或者检查业务系统下发的内容。改电脑时间只对走软件数据源的模板有效,这一步判断错了会一直在错误的方向上找原因。

5. 换了一台电脑之后,日期从年月日变成了月日年,怎么固定住?

根因是模板勾了跟随系统区域设置。按第五节在模板里显式写死格式字符串,并把打印电脑的短日期格式设成一致。改完之后换任何一台电脑,输出格式都不会再变。

6. 跨零点的大批量打印,能不能让整批日期保持一致?

可以。把取值时机设成每次打印作业取一次,并在作业开始时记录取到的日期。如果任务确实很长,按第七节拆成小批量分段下发,每批单独记录起始时刻。要注意这与「每张按实际时刻取值」是相反的要求,两者只能取其一,先定业务口径再改设置。

7. 机器断电几天后重新开机,打出来的年份不对了,什么原因?

多数是机器内部实时时钟在后备电池耗尽后回到出厂默认值。按第四节打印自检页确认,通过面板菜单或指令写入正确时间,再断电重启一次验证。重启后又回到默认值的,说明后备电池需要更换,请联系售后处理。

8. 加十八个月和加五百四十天,哪个才对?

取决于业务口径,不是哪个更准的问题。按月计算会落在每个月的同一日,按天计算会随各月长度漂移,两者在跨闰年时结果可能相差一到两天。先与质量或仓储部门确认口径,再把模板设置对齐,并用月末与闰年两组边界试算验证。

9. 能不能用改系统时间的办法来测试跨天打印?

不建议在生产机上这样测。改完忘记改回来会让之后所有标签都带错日期,而且加入域的电脑时间会被域控制器强制拉回,测试结果本身也不可靠。按第八节的做法,用一台不与生产环境相连的测试机验证,或者用第七节的拆批办法实际跑一次。

10. 调完之后,多久复查一次比较合适?

建议每月核对一次机器实时时钟偏差,每季度重跑一次边界试算。换电脑、换操作系统、换打印机、机器长时间停用后重新启用这四种情况,都要立即重跑一次完整验证。把每次留档样张按月装订,复查时与基准样张比对即可。

相关阅读

日期字段的设置方法:条码打印机添加流动时间的方法、设置扫描显示创建日期;序列号与数据源问题:序列号不递增与数据库字段错乱排查;批量触发问题:ERP/MES 触发批量打印不打印与重复打印排查;条码容量与纠错:二维码与 DataMatrix 容量超限与纠错设置排查;多用户环境:多用户共用一台标签打印机的权限与配置冲突排查。

博尔杰 PTS 提供标签打印方案配套、全流程技术支持与售后维修服务,如需进一步的现场协助,可查看软件类支持文章或返回知识中心。

« 返回列表
博尔杰PTS|博尔杰标识商城|博盾安全标识|博锐迪生物标签