更新记录

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 / 鸿蒙未实现。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无系统权限。导出文件写到应用外部私有目录,不需要存储权限。

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集、不上传任何数据,不访问网络,不写日志。BIN 清单与目标参数只在内存中计算;CSV 由调用方主动导出,默认写应用外部私有目录。

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无

暂无用户评论。