# `Sp_bd_EqSpeed` (procedure) > 速度嫁动率 - **Type:** PROCEDURE - **Deterministic:** NO - **SQL data access:** CONTAINS SQL ## Parameters | # | Mode | Name | Type | |---|---|---|---| | 1 | IN | `sLoginId` | `varchar(100)` | | 2 | IN | `sBrId` | `varchar(100)` | | 3 | IN | `sSuId` | `varchar(100)` | | 4 | IN | `bFilter` | `varchar(5000)` | | 5 | OUT | `sCode` | `int` | | 6 | OUT | `sReturn` | `varchar(5000)` | ## Body _Body is not pre-cached. To inspect: `mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURE `Sp_bd_EqSpeed`'`._ ## Narrative **Business context:** 速度嫁动率 — speed-utilization (速度稼动率) bar chart on the 看板管理 / 数字工厂 dashboard. For each MES-instrumented machine, divides actual produced quantity by `dProduceTime × dAvgRate` over the last 24-hour shift window to produce a 0–120% utilization percentage. **What it does:** Materialises `p_bd_EqSpeed` from `elemachine` (filtered by tenant + `MOD(iPlcNo,14) BETWEEN 1 AND 12` test-PLC exemption, default `dAvgRate=8000` when missing). Walks `plc_machinedata` between yesterday's `sOffWork` and today's `sOffWork` per-machine to sum `dProcessQty` (max minus min per work-order) into `dTotalQty` and `dProduceHour/3600` into `dTotalTime` (only for `endWorked`/`waitingWork` rows). Returns JSON `{"data":[{"x":,"y":""}], "xUnit":"%","yUnit":""}` capping the per-machine value at 120%. **Invocation:** Installed by `xly-src/script/标版/30100101/Sp_bd_EqSpeed.sql`. The four `Sp_plc_implementation*` procs each carry a `-- call Sp_bd_EqSpeed(...)` debug comment but never actually invoke it. No form-master sSqlStr, no `gdsmodule` hook, no Java caller — reachable only via an external dashboard HTTP endpoint that invokes the proc by name. Tenant-specific `MOD(iPlcNo,14) BETWEEN 1 AND 12` test-PLC exemption — re-mapping needed if PLC numbering differs.