MTM预定动作时间标准法实战:TMU换算、动作拆解与排错指南
2026/9/19 16:19:56 网站建设 项目流程

简介:这份PPT资料系统讲解预定动作时间标准法MTM,面向工业工程、生产管理及精益改善方向的学习者与从业者,帮助其在生产设计前完成作业方法分析与标准时间设定。内容从PTS概念切入,梳理MTM的发展脉络,涵盖MTA、WF、DMT、BMT等方法的演进,并重点展开基本动作说明,如伸手(Reach)的距离、条件A至E与动作型态划分,配合MTM数据表说明TMU时间单位与查表计算方式。资源包共1个PPT文件,约1.07MB,以图文幻灯片形式呈现,便于课堂讲授或自学翻阅。目前已有416人学习下载。读者可借此掌握MTM的分析目的、限制条件与动作分解逻辑,理解如何将复杂操作拆解为基本动作并代入预设时间值,从而用于工作方法改善、标准时间设定与动作经济性评估,为后续实操分析打下基础。

1. 从一次产线节拍失衡说起:MTM 到底在算什么

去年帮一家做网卡组装的朋友看线,遇到一个很典型的问题:同一工位,早班和晚班的标准工时差了将近 18 秒,IE 拿秒表掐了三天,数据越掐越乱。原因不复杂——掐表法把「操作员快慢」和「方法好坏」混在了一起。后来我们用 MTM 把工位动作拆开重算,发现真正的问题出在伸手条件判断上:物料盒摆放位置让操作员每次都要在混料里找电阻,伸手条件从 B 变成了 C,单次就多出几个 TMU,一天下来就是几十分钟的偏差。

预定动作时间标准法(PTS,Predetermined Time Standard)解决的就是这件事:不靠掐表评比,而是把作业拆成基本动作,每个动作按性质和条件代入预先规定的时间值。MTM(Methods Time Measurement)是其中应用最广的一支,1948 年由 H.B. Maynard 提出,时间单位是 TMU,1 TMU = 0.036 秒,反过来 1 秒 = 27.8 TMU。它适合产线设计、标准工时制定、方法改善,以及夹具和动作经济性评估;不适合需要谨慎判断或精细控制的作业,也不适合完全由机器控制的节拍。下面按「基础 → 基本动作 → 数据表 → 实战排错」的顺序拆开讲。

2. MTM 基础:TMU 换算、分析目的与限制条件

2.1 为什么用 TMU 而不是秒

MTM 的时间值来自大量实测统计,颗粒度远小于秒表。用秒做单位,一个 0.5 秒的动作误差就是 100%;用 TMU,同样的动作是 13.9 TMU,误差被压到个位数。常见换算关系如下:

单位换算关系典型场景
1 TMU0.036 s单个基本动作
1 s27.8 TMU工位节拍换算
1 min1667 TMU标准工时汇总
1 h100000 TMU产能测算

提示:很多 IE 习惯先把 TMU 汇总再乘 0.036 换成秒,不要中途反复换算,否则小数误差会累积。

2.2 MTM 分析的六个目的

MTM 不是只用来算工时。实际项目里它承担六件事:生产前设计有效率的工作方法、对现有方法做改善、设定标准时间、预估所需时间、作为动作经济性与夹具设计的工具、激励员工参与改善。前三条是硬指标,后三条是软收益,但往往软收益才是产线愿意持续用它的原因。

2.3 限制条件与常见误用

MTM 的时间值基于正常速度设定,所以不能用于分析需要谨慎细心的作业——比如显微镜下焊 0.2mm 的引脚,MTM 算出来的时间会明显偏短。另外 MTM 分析需要判断,尤其是伸手条件和抓取条件的判定,不熟练的人容易把 C 判成 B,结果整条线的时间都偏乐观。

常见误用有三种:一是把 MTM 当秒表用,直接拿结果去考核员工;二是忽略身体辅助动作,伸手 50cm 时肩部移动了 10cm,实际净距离只有 40cm,不扣就会多算;三是把 G2 和搬运混在一起重复计时。下面用一段 Python 做 TMU 汇总和换算,避免手工算错:

# MTM 时间汇总与单位换算 TMU_TO_SEC = 0.036 SEC_TO_TMU = 27.8 def sum_tmu(actions): """actions: [(动作名, TMU值), ...]""" total = sum(v for _, v in actions) return { "total_tmu": round(total, 1), "seconds": round(total * TMU_TO_SEC, 2), "minutes": round(total * TMU_TO_SEC / 60, 3), } # 示例:一个取网卡并放置的工位 station = [ ("mR20B", 7.1), # 伸手,开始为移动型态 ("G1A", 2.0), # 抓取 ("M20C", 13.3), # 搬运至精确位置 ("P2SE", 5.6), # 对准 ("RL1", 2.0), # 放手 ] print(sum_tmu(station)) # {'total_tmu': 30.0, 'seconds': 1.08, 'minutes': 0.018}

这段代码把每个基本动作的 TMU 累加后统一换算。sum_tmu接收动作名和 TMU 值,返回总量、秒和分钟三个口径。实际项目里我会把每个工位的动作列表存成 JSON,批量跑一遍就能得到整线工时分布,比手工加更可靠。

3. 基本动作拆解:伸手、搬运、抓取的条件判定

3.1 伸手 R 的五个条件与三种型态

伸手(Reach,符号 R)是手或手指向目的物移动。判定分三步:先量净距离,再定条件,最后看型态。

距离以食指移动的曲线净距离为基准,扣除手腕、身体或其他肢体的帮助。2cm 以下用 f 表示。条件分五类:

  • 条件 A:向固定位置或他手的目的物伸手,不需视线配合。比如到达机器控制开关。
  • 条件 B:向无固定位置的目的物伸手。比如到达输送带上的单一物件。
  • 条件 C:向放置杂乱的目的物伸手,末端需要寻找与选择。比如伸手到混在一起的螺帽。
  • 条件 D:向断面直径 3mm 以下的小形目的物,或需小心抓取的危险物伸手。比如大头针、刀片。
  • 条件 E:为平衡身体、为下一动作准备或将手移开而伸手到不定位置,之后无抓取动作。

型态决定时间修正:型态 1 是开始与终止皆为静止;型态 2 是开始或终止之一为静止;型态 3 是开始与终止皆为移动。MTM 数据表只给型态 1 的值,型态 2 和型态 3 要修正。

3.2 型态 2、3 的时间修正怎么算

原文给了一个很实用的例子:把竹镊子放回 A 处再到 B 处取网卡,A、B 间距 20cm,只分析取网卡的动作。伸手开始为移动型态,符号 mR20B,查表 7.1 TMU;R20B 为 10.0 TMU。两者相差 2.9 TMU,就是加速时间。

型态 3(开始与终止皆移动)数据表没有直接值,用下式推算:

# 伸手型态 3 时间推算 def reach_type3(base_tmu, accel_tmu): """base_tmu: 型态1时间值; accel_tmu: 型态2与型态1之差""" return base_tmu - accel_tmu * 2 # mR20Bm:型态1为10.0,加速2.9 print(reach_type3(10.0, 2.9)) # 4.2 TMU

base_tmu是型态 1 的查表值,accel_tmu是型态 2 相对型态 1 的差值。型态 3 两端都在动,加速和减速各扣一次,所以减两倍。这个公式只对条件 A、B 以外的型态 2、3 适用,条件 A 因为位置固定,修正逻辑不同。

3.3 搬运 M 的重量补正与滑动净重

搬运(Move,符号 M)是手或手指将目的物移动。条件分 A(至他手或停止位置)、B(至大致位置)、C(至精确位置)。型态与伸手相同,型态 2 符号为 mM-B 或 M-Bm。

重量补正是搬运最容易算错的地方。公式是:搬运重量时间值 = 时间值 × 补正系数 + 常数。原文例子 M30B-6,时间值 13.3,补正系数 1.12,常数 4.3,结果 13.3 × 1.12 + 4.3 = 19.2 TMU。M30B-20/2 表示 20kg 由两人抬,按 10kg 的系数和常数修正。

滑动搬运时用净重:W = μ × w,W 为净重,μ 为摩擦系数,w 为物体重量。比如 20kg 的工件在 μ=0.3 的滑道上推,净重只有 6kg,按 6kg 查补正系数,能省下不少时间。

3.4 抓取 G 的五种类型与判定边界

抓取(Grasp,符号 G)是手指或手控制目的物以利下一动作。用镊子或钳子抓零件不算抓取,算搬运。五种类型:

符号含义关键判定
G1A容易抓取,手指合闭距离 2cm 以下物件不受干扰,有足够空间
G1B非常小或紧贴平面的薄物需额外手指动作分开物件与平面
G1C圆筒形物体,底面与侧面有障碍需先拔出脱离干扰,分 C1/C2/C3 三级
G22~3 个短距离手指动作,改变控制位置不直接发生在伸手之后
G3从另一手接过物件含 G1A + 反应时间 + 放手
G4从零乱集合中抓取,需寻找与选择之前伸手条件一定为 C
G5手指或手接触即可控制时间值为 0,但必须记录

G1C 按圆筒直径分三级:C1 为 13mm 以上,C2 为 6~12mm,C3 为 5mm 以下。G4 按物件尺寸分 A(26×26×26mm 以上)、B(6×6×3 至 25×25×25mm)、C(5×5×2mm 以下)。

注意:G5 时间值为 0,但分析时不能省略记录。漏记 G5 会导致后续动作的衔接判断出错,尤其是按电铃、触碰传感器这类动作。

3.5 放手 RL、加压 AP、旋转 T、旋摆 C、对准 P

放手(RL)分两种:RL1 是开放手指释放,手指转动距离 2cm 以下;RL2 是手与物件分开,时间值为 0,恰与 G5 相反。加压(AP)分 AP1(可立即施力)和 AP2(需先 G2 调整握持姿势)。旋转(T)以前臂为轴,角度每 15 度一个单位,重量阻力分 S(0~1kg)、M(1.1~5kg)、L(5.1~16kg)三级,如 T120M。旋摆(C)以肘为轴,分连续和断续,断续符号加 I。对准(P)的啮合程度分 1/2/3,对称性分 S/SS/NS,操作难易分 E/D,如套钢笔笔套为 P2SE。

4. MTM 数据表查询与旋摆运动时间计算实战

4.1 数据表查询的四个步骤

MTM 数据表按动作类型分栏,每栏横轴是距离或角度,纵轴是条件或型态。查询步骤:第一步确定动作符号和条件;第二步量净距离或角度;第三步确定型态或重量等级;第四步查表取值,必要时做型态或重量修正。

以伸手为例,R20B 查表得 10.0 TMU,mR20B 得 7.1 TMU。搬运 M30B-6 查表得 13.3 TMU,再做重量补正得 19.2 TMU。旋转 T120M 查表得对应值,重量阻力 M 级直接查,超过 16kg 要另做补正。

4.2 旋摆运动的时间公式

旋摆运动(Crank,符号 C)以肘为轴,变动因素有直径、阻力、型态三项。连续旋摆公式:

时间 = (N × T + 5.2) × R + K

其中 N 为旋摆次数,T 为直径对应时间值,R 为阻力系数(即搬运重量系数),K 为阻力常数(搬运重量常数)。原文例子 4C20-7:直径 20cm,阻力 7kg,旋摆 4 次,T=13.6,R=1.17,K=5.8,计算为 (4 × 13.6 + 5.2) × 1.17 + 5.8 = 75.5 TMU。

断续旋摆公式不同:

时间 = [(T + 5.2) × R + K] × N

4IC20-7 计算为 [(13.6 + 5.2) × 1.17 + 5.8] × 4 = 112.2 TMU。断续比连续多出约 48%,因为每次起停都有额外加速。

旋摆不足半周时按搬运分析。半周以上一周以下用:时间 = 周数 × T + 5.2。比如 3.5 周、直径 30,符号 3(1/2)C30,计算为 3.5 × 15.0 + 5.2 = 57.7 TMU。

# 旋摆运动时间计算 def crank_continuous(n, t, r, k): """连续旋摆: (N*T + 5.2) * R + K""" return round((n * t + 5.2) * r + k, 1) def crank_intermittent(n, t, r, k): """断续旋摆: [(T + 5.2) * R + K] * N""" return round(((t + 5.2) * r + k) * n, 1) def crank_partial(weeks, t): """半周以上一周以下: 周数 * T + 5.2""" return round(weeks * t + 5.2, 1) print(crank_continuous(4, 13.6, 1.17, 5.8)) # 75.5 print(crank_intermittent(4, 13.6, 1.17, 5.8)) # 112.2 print(crank_partial(3.5, 15.0)) # 57.7

三个函数分别对应连续、断续和部分旋摆。n是旋摆次数,t是直径对应时间值,rk是阻力系数与常数,从搬运重量表查得。实际用的时候,我会把 T、R、K 做成字典按直径和阻力等级索引,避免每次翻表。

4.3 一个完整工位的分析示例

以网卡组装工位为例,动作序列:伸手取网卡(mR20B,7.1)、抓取(G1A,2.0)、搬运至精确位置(M20C,13.3)、对准(P2SE,5.6)、放手(RL1,2.0)。合计 30.0 TMU,即 1.08 秒。如果物料盒摆放不当,伸手条件从 B 变 C,R20C 查表约 14.6 TMU,单次多 7.5 TMU,一天 8 小时按 2000 次算,多出 15000 TMU,约 9 分钟。这就是第 1 章那个案例的量化来源。

5. 排错与进阶:条件误判、合并动作与验证方法

5.1 条件误判的三种典型症状

第一种是把 C 判成 B。症状是标准工时偏乐观,实际产线总是超时。判定方法:看伸手末端是否有寻找动作,有就是 C。第二种是把 G1B 判成 G1A。症状是薄片类物料的抓取时间总是偏短。判定方法:看是否需要额外手指动作分开物件与平面。第三种是漏记 G5 和 RL2。症状是动作序列不连续,前后动作衔接时间对不上。判定方法:检查每个动作前后是否有接触或分离事件。

5.2 合并动作的处理原则

MTM 允许合并动作,但原则是取时间较长者为主要动作,短的作为同时发生处理。比如搬运时同时做 G2 调整握持,搬运时间长,G2 不单独计时。旋转与伸手同时发生,手腕转动且有位移,按伸手与旋转合并处理。旋摆时上臂明显移动,应判为搬运而非旋摆。一次摇转不足半圈,也判为搬运。

提示:合并动作最容易重复计时。分析时先画动作序列,标出哪些是同时发生的,再逐个查表,最后核对总时间是否合理。

5.3 用 Python 做批量验证

实际项目里工位多、动作杂,手工核对容易漏。我一般写个校验脚本,把每个工位的动作列表跑一遍,检查三件事:总 TMU 是否在合理区间、是否有 G5/RL2 被漏记、合并动作是否重复计时。

# MTM 动作序列校验 def validate_station(actions, min_tmu=20, max_tmu=200): """actions: [(符号, TMU, 是否合并), ...]""" issues = [] total = 0 for sym, tmu, merged in actions: if not merged: total += tmu if sym in ("G5", "RL2") and tmu != 0: issues.append(f"{sym} 时间值应为 0,当前 {tmu}") if total < min_tmu: issues.append(f"总时间 {total} TMU 偏低,检查是否漏记动作") if total > max_tmu: issues.append(f"总时间 {total} TMU 偏高,检查是否重复计时") return {"total": round(total, 1), "issues": issues} station = [ ("mR20B", 7.1, False), ("G1A", 2.0, False), ("M20C", 13.3, False), ("G2", 5.6, True), # 与搬运同时发生,不单独计时 ("P2SE", 5.6, False), ("RL1", 2.0, False), ] print(validate_station(station)) # {'total': 30.0, 'issues': []}

validate_station接收动作列表,每个元素是符号、TMU 值和是否合并。合并动作不计入总量,G5 和 RL2 强制校验为 0,总量超出区间会报警。min_tmumax_tmu按工位类型调整,电子组装一般在 20~200 TMU 之间。

5.4 验证 MTM 结果的三个口径

算完不等于对。验证看三个口径:一是与秒表实测对比,正常速度下偏差应在 10% 以内,超过说明条件判错;二是与历史同类工位对比,同类型动作的 TMU 分布应该接近;三是与实际产能对比,用总 TMU 反推小时产能,看是否与产线实际产出吻合。三个口径都对上,MTM 结果才能拿去定标准工时。偏差大的时候,优先复查伸手条件和抓取条件,这两个是误判重灾区。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询