更新记录
1.0.0(2026-11-14)
首个版本:每灯颗数、单档上下限约束下枚举各档配比,X/Y/Z 三刺激值累加得合成色点与整灯光通,按 Δu'v' 容差与光通窗口双条件判定;输出可做盏数、逐档领用/剩余/可支撑盏数、瓶颈档与「再多一盏需补几颗」,无解时给最近偏差与放宽建议;最多 6 档 BIN、每灯 24 颗,导出领料与余料 CSV。Node 22 实跑 142 项断言全部通过。HBuilderX launch --compile true 真编译通过并核验 index.kt;Android 真机未执行(ADB 无设备);市场图为 H5 真实渲染。
平台兼容性
uni-app
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| × | √ | × | × | √ | × | √ | × | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
LED混Bin配比与可做数量
给 灯具厂工艺员、生产计划与灯珠仓管 的离线配比插件:仓库里这几档 BIN 各剩多少,能配出多少盏落在目标色容差里的整灯。
色容差卡得紧,单档 BIN 常常一档都不合格——不是偏绿就是偏粉。买窄 BIN 要加价还压交期,常规做法是把偏冷与偏暖两档按颗数掺着用,让混出来的合成色点落回目标圈内。问题是:掺几颗、掺完能做多少盏、卡在哪一档。这份账以前靠试装与经验,插件把它算成表。
能算什么
- 配比枚举:在「每灯 N 颗、单档最多 M 颗」的约束下枚举各档颗数组合,按合成色点是否落在容差内筛选,再按可做盏数排序。
- 合成色点与光通:按三刺激值可加性逐档累加,输出合成 (x, y)、整灯光通与 Δu'v'。
- 可做盏数:取各档「库存 ÷ 每灯颗数」的最小值,直接是这单能交多少盏。
- 瓶颈档与缺口:卡住产量的那一档单独标出,并给出「再多做一盏要先补几颗」。
- 余料:本单领用后每档剩多少,接着排下一单时不用再翻仓库。
- 领料表 CSV:逐档库存、每灯颗数、领用、剩余、可支撑盏数,UTF-8 单 BOM。
计算口径
每档光通量 Φi = 每灯颗数 ni × 单颗光通
X = Σ Φi · xi / yi
Y = Σ Φi
Z = Σ Φi · (1 − xi − yi) / yi
合成色点 x = X / (X+Y+Z),y = Y / (X+Y+Z),整灯光通 = Y
判定:合成色点与目标色点的 Δu'v' ≤ 容差半径,且整灯光通落在窗口内
可做盏数 = min(⌊库存i ÷ ni⌋)
- 色坐标必须用实测值:同一 BIN 码在不同批次、不同分光机下的中心点会差,插件不内置任何 BIN 码表,全部由你录入分光数据。
- 容差用 Δu'v' 表达:界面上的「约几步」是 Δu'v' ÷ 0.0011 的常用近似折算,只作直观参考。客户合同写的是 SDCM 椭圆时,请按椭圆长短轴自行换算成半径,不要拿折算值当验收依据。
- 光通按单颗标称值线性叠加:实际整灯还要考虑驱动电流、结温与透镜效率,插件不折算这些,只做配比口径内的一致比较。
- 混光需要光学距离:配比结果成立的前提是混光充分(扩散板、混光腔、足够的光学距离)。裸板直出、窄光束透镜这类看不到混光的结构,掺 BIN 只能解决平均色点,解决不了相邻颗之间的色差。
快速接入
import { binPlan, binExport, binInfo, binDelta } from '@/uni_modules/szhzy-bin-mix'
const input = {
bins: [
{ code: 'B1', x: 0.3710, y: 0.3680, flux: 24.0, qty: 12000 },
{ code: 'B2', x: 0.3860, y: 0.3720, flux: 23.4, qty: 8400 },
{ code: 'B3', x: 0.3950, y: 0.3880, flux: 22.8, qty: 5200 },
{ code: 'B4', x: 0.3700, y: 0.3860, flux: 23.2, qty: 2600 }
],
target: { x: 0.3818, y: 0.3797, radius: 0.003, fluxMin: 270, fluxMax: 300 },
layout: { perLamp: 12, maxPerBin: 6, minPerBin: 0 }
}
const out = binPlan(input)
// out.ok = true,out.lampCount = 2100
// out.bins[1].perLamp = 4(B2 每灯 4 颗),out.bottleneckCode = 'B2',out.gapQty = 4
// out.deltaUv = 0.00213,out.mixFlux = 282.4
const file = binExport(input) // 领料与余料 CSV
const d = binDelta(0.3710, 0.3680, 0.3818, 0.3797) // 单档离目标多远
返回信封 { ok, code, message, ... }:
| code | 含义 |
|---|---|
SUCCESS |
有可行配比,lampCount 为可做盏数 |
E_OFF_TARGET |
现有库存配不出容差内的整灯,deltaUv 是最近一档的偏差 |
E_COMBO |
库存与颗数约束下凑不出「每灯 N 颗」 |
E_STOCK |
有库存的 BIN 不足两档 |
E_BINS |
BIN 数量超过 6 档,或色坐标、光通不合法 |
E_TARGET |
目标色点或容差半径不合法、光通上下限颠倒 |
E_LAYOUT |
每灯颗数、单档上下限不合规 |
购买前必读
- 只支持 Android。iOS 与鸿蒙未实现,
uni-app x未适配。 - 插件不含任何 BIN 码表与厂家分光数据,色坐标、光通、库存都由你录入;算错来自输入,不来自插件。
- 最多一次核算 6 档 BIN、每灯 24 颗。档位更多时先合并色点相近的档,或分批核。
- 余料与可做盏数是按录入库存的静态测算,不含在制、在途与不良;排产时请留出损耗与试装用量。
验证状态
- 纯逻辑层 142 项断言在 Node 22 实跑通过(含三刺激值手算对照、可加性恒等式、判定边界与非法入参)。
HBuilderX launch app-android --compile true真编译通过,并核验index.kt产物。- Android 真机未执行:开发机 ADB 无设备,未做真机安装与真机截图;市场图为 H5 真实渲染。
- iOS / 鸿蒙未实现。

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 13
赞赏 0
下载 12764433
赞赏 1959
赞赏
京公网安备:11010802035340号