搜索文章与案例

Technical Article

三菱 M80 用 #3012 相减计时,为什么两秒算成了4042?

三菱M80的#3012返回HHMMSS时间编码,125959到130001只过2秒,不能直接减成4042秒。用算例拆解正确换算,并区分#3001、#3002的单位、计数条件和跨日边界。

开始时读到#3012=125959,结束时读到130001,两次相减得到4042。若把这个数记成加工秒数,问题不在机床突然变慢,而在于把“时分秒编码”当成了连续计时值。12:59:59到13:00:01实际只经过2秒。

本文按三菱M800/M80/E80/C80系列加工中心编程手册IB-1501278-U的系统变量说明分析,重点是M80宏程序的时间数据处理。以下数字是为解释跨分钟、跨小时进位而构造的算例,不是现场节拍或实机测量结果。

#3012读到的是HHMMSS

手册第23.15节规定:#3012读取当前时间,格式为HHMMSS;#3011读取日期,格式为YYYYMMDD。125959中的12、59、59分别是时、分、秒。秒和分按60进位,放进十进制数字的字段却占两位,所以不能直接用两个#3012值相减得到秒数。

例如12:59:59到13:00:00只过1秒,但编码从125959跳到130000。再过1秒才到130001。直接相减所得4042只是在做十进制编码的差,不具备“秒”或“毫秒”这个单位。手册也专门提醒,两个日期编码或时间编码的直接差不能当作对应的时间间隔。

三菱M80系统变量3012的HHMMSS字段拆分,125959表示12时59分59秒,130001表示13时00分01秒,直接减得4042而实际经过2秒

图1是本文绘制的数据拆分图,不是控制器画面。手机可左右滑动查看大图。

已有时钟记录,先换算再相减

若两条记录来自同一天,期间没有校时,把各自的时、分、秒拆出来,再换成“从当天00:00:00起累计的秒数”。公式为S=3600×时+60×分+秒。

本例起点是12×3600+59×60+59=46799秒,终点是13×3600+0×60+1=46801秒。改前是130001-125959=4042,改后是46801-46799=2秒。修正的是数据解释和计算顺序,不是机床进给或主轴参数。

把12时59分59秒换算为当天第46799秒,把13时00分01秒换算为第46801秒,相减为2秒,并说明跨午夜须核对日期

图2给出完整换算,单位始终为秒。若用十进制整数拆字段,小时取除以10000后的整数部分;分钟取除以100后的整数部分再减去小时×100;秒取原数减去小时×10000和分钟×100。这里的输入必须是合法的非负HHMMSS值,不能把已经相减的4042再拆成时分秒。

跨午夜时,同时核对起止#3011日期。只有确认是相邻两天、间隔小于24小时且没有校时,才可在终点秒数上加86400后相减。跨多日应先按日历计算日期差,不能直接用YYYYMMDD相减,也不能看到负差就一律补一天。日期、时间为两次独立读取,恰在午夜附近采样的日志还应检查日期与时间是否属于同一时刻,避免一条记录的日期和时间跨了日界。

新做间隔记录,区分#3001和#3002

如果目的是记录两次采样之间经过多久,手册第23.14、23.15节还提供累计时间变量:#3001在通电期间持续累计,单位为毫秒;#3002累计自动启动期间的时间,其单位受参数#1273/bit1选择,可能是毫秒,也可能是小时。两者的计数条件不同,不能把#3002不加检查地当成#3001使用。

采用#3001时,可以保留起点读数A和终点读数B,在同一连续通电区间、没有其他程序写入它、且未发生累计值回零的条件下,以(B-A)/1000换成秒。例如A=500000、B=502000,得到2秒。这里是读数算术,不需要先执行#3001=0;清零会改变这个系统累计值,可能影响其他使用它的宏。

该手册说明累计值约在2.44×10¹¹毫秒处回零,约7.7年。对长期日志应识别回零或外部改写后的不连续数据,不能直接把负差标成负工时。本文不采用简单加一个近似周期的办法修补回绕。

还要把“两个读数之间的时间”与“刀具实际切削时间”分开:#3001计数条件是通电,并不只统计切削。要把数据用于报价或节拍对比,需要另外明确采样发生在换刀前后、进刀前后还是整程序起止,并核对宏读数与对应机床动作的时序。只把变量从#3012改成#3001,不能自动解决采样点与运动完成时刻的对应问题。

保留时间戳,另存时间间隔

日志可保留#3011/#3012作为“哪天几点”的原始记录,另设一个带单位的间隔字段。发现异常时,先看原始值是否跨分钟、跨小时或跨日期,再核对计数条件,不要先改加工参数。系统变量能否写入、写入会影响什么,也必须逐项识别;同系列的#3006停止编号就不是普通显示数值。

若把这些记录加入Mastercam后处理,改动应限于明确的记录位置,并用后处理修改前后的NC对照确认原有运动段、换刀段和调用关系没有被一起改掉。采样事件、保存读数所用的变量以及它们与现有宏的占用关系,应在增加日志前确定。

依据:三菱电机官方M800/M80/E80/C80系列加工中心编程手册,第二分册IB-1501278-U,第23.14、23.15节,印刷页1162–1164。手册用于核对变量格式、单位、计数条件及回零边界;两秒算例、图示及日志排查顺序为本文原创分析。核对日期2026-10-29。