| ¶Ô±ÈÐÂÎļþ |
| | |
| | | # SPI/AOI æ¥å£ææ¡£ |
| | | |
| | | ## åºæ¬ä¿¡æ¯ |
| | | - åºç¡è·¯å¾ï¼`/api/SpiAoi`ï¼ç¤ºä¾å®æ´å°åï¼`http://192.168.1.251:10054/api/SpiAoi`ï¼ |
| | | - 请æ±ä¸ååºæ ¼å¼ï¼`application/json; charset=utf-8` |
| | | |
| | | ## ç»ä¸è¿å模åï¼ResponseResultï¼ |
| | | - `status`ï¼æ´æ°ï¼0=æåï¼1=失败 |
| | | - `message`ï¼å符串ï¼ç»æè¯´ææé误åå |
| | | - `data`ï¼å¯¹è±¡ï¼ä¸å¡æ°æ®è½½ä½ |
| | | - `TotalCount`ï¼æ´æ°ï¼ä»
å页æ¥å£è¿åï¼æ»è®°å½æ° |
| | | |
| | | ## æ°æ®æ¨¡åä¸çº¦æï¼éåæ®µæ³¨éï¼ |
| | | 以ä¸å段说æåèäº SPIAOI.txt ä¸çæ°æ®åºå®ä¹ä¸æ³¨éï¼è°ç¨æ¹è¯·ä¸¥æ ¼æçº¦ææä¾æ°æ®ã |
| | | |
| | | ### Headerï¼ä¸»è¡¨æè¦ï¼ä¸ä¼ æ¶å¿
å¡«ï¼ |
| | | - `testDate`ï¼å符串ï¼å¿
å¡«ãæµè¯æ¥æï¼æ ¼å¼ä¸º `yyyy-MM-dd`ï¼ä¸è®¾å¤ä¸ä¼ æ¥æä¿æä¸è´ã |
| | | - `testTime`ï¼å符串ï¼å¿
å¡«ãæµè¯æ¶é´ï¼æ ¼å¼ä¸º `HH:mm:ss`ï¼ä¸è®¾å¤ä¸ä¼ æ¶é´ä¿æä¸è´ã |
| | | - `testResult`ï¼å符串ï¼å¿
å¡«ï¼é¿åº¦â¤12ãæµè¯ç»æåå§å符串ï¼ä¾å¦ `0:0:1;0`ï¼éè¿ï¼ã`0;0;0:1`ï¼å¤±è´¥ï¼ã`Fail`ï¼å¼å¸¸ï¼ãä¸åè§£æï¼åæ ·å
¥åºã |
| | | - `surface`ï¼å符串ï¼å¿
å¡«ãæ£æµé¢ï¼åå¼ `T` 表示顶é¢ï¼Topï¼ï¼`B` 表示åºé¢ï¼Bottomï¼ã |
| | | - `totalPoints`ï¼æ´æ°ï¼å¯ç©ºï¼â¥0ãè®¡åæ£æµç¹æ°ã |
| | | - `actualDefects`ï¼æ´æ°ï¼å¯ç©ºï¼â¥0ãå®é
ä¸è¯ç¹æ°ï¼ç»è®¡ç»æï¼ã |
| | | - `equipmentModel`ï¼å符串ï¼å¯ç©ºã设å¤åå·ï¼å¦ SPI/AOI æºå°åå·ï¼ã |
| | | - `workOrder`ï¼å符串ï¼å¯ç©ºãçäº§å·¥åææ¹æ¬¡å·ã |
| | | - `productModel`ï¼å符串ï¼å¯ç©ºãæºç§/产ååå·ã |
| | | - `boardBarcode`ï¼å符串ï¼å¿
å¡«ï¼é¿åº¦â¤128ãæ¿ä»¶æ¡ç ï¼å
¨å±å¯ä¸ï¼éå¤å°è¢«æç»ã |
| | | - `smtGroup`ï¼å符串ï¼å¯ç©ºãSMT ç»å«ã |
| | | - `lineName`ï¼å符串ï¼å¯ç©ºã线å«åç§°ã |
| | | |
| | | è¿åä¸ç¨ï¼æ¥è¯¢æ¥å£ä¼è¿å以ä¸å段ï¼ï¼ |
| | | - `id`ï¼æ°å¼ï¼æ°æ®åºä¸»é® IDï¼ç±åºåçæã |
| | | - `createdAt`ï¼å符串ï¼å建æ¶é´ |
| | | - `updatedAt`ï¼åç¬¦ä¸²ï¼æ´æ°æ¶é´ |
| | | |
| | | ### Detailï¼å表缺é·ä¸äº§çº¿ææ ï¼ä¸ä¼ æ¶è³å° 1 æ¡ï¼ |
| | | 设å¤ä¸äº§çº¿ï¼ |
| | | - `machineName`ï¼å符串ï¼å¯ç©ºãæ£æµæºå°åç§°ã |
| | | - `lineDisplayName`ï¼å符串ï¼å¯ç©ºã产线æ¾ç¤ºåç§°ã |
| | | |
| | | 缺é·è®¡æ°ï¼åä¸ºæ´æ°ï¼å¿
é¡» â¥0ï¼ï¼ |
| | | - `offsetCount`ï¼å使°éï¼å¨ä»¶è´´è£
åç§»ï¼ã |
| | | - `missingCount`ï¼ç¼ºä»¶æ°éï¼å¨ä»¶ç¼ºå¤±ï¼ã |
| | | - `reverseCount`ï¼ååæ°éï¼å¨ä»¶ææ§/æ¹ååè£
ï¼ã |
| | | - `liftedCount`ï¼ç¿èµ·æ°éï¼å¨ä»¶ä¸ç«¯ææ´ä½ç¿èµ·ï¼ã |
| | | - `floatHighCount`ï¼æµ®é«æ°éï¼å¨ä»¶é«åº¦è¶
å·®ï¼ã |
| | | - `tombstoneCount`ï¼ç«ç¢æ°éï¼çå¼å¨ä»¶ä¸ç«¯ç«èµ·ï¼ã |
| | | - `flipCount`ï¼ç¿»è½¬æ°éï¼å¨ä»¶ç¿»é¢/翻身ï¼ã |
| | | - `wrongPartCount`ï¼éä»¶æ°éï¼åå·/è§æ ¼é误ï¼ã |
| | | - `leadLiftCount`ï¼ç¿èæ°éï¼å¼èæªè´´ä¼ï¼ã |
| | | - `coldJointCount`ï¼èçæ°éï¼å·ç/åçï¼ã |
| | | - `noSolderCount`ï¼ç©ºçæ°éï¼çæç¼ºå¤±ï¼ã |
| | | - `insufficientSolderCount`ï¼å°é¡æ°éï¼çæä¸è¶³ï¼ã |
| | | - `excessSolderCount`ï¼å¤é¡æ°éï¼çæè¿éï¼ã |
| | | - `bridgeCount`ï¼è¿é¡æ°éï¼ç顿¡¥è¿ï¼ã |
| | | - `copperExposureCount`ï¼æ¼éæ°éï¼çç/线路éç®å¤é²ï¼ã |
| | | - `spikeCount`ï¼æå°æ°éï¼é¡ææå°ï¼ã |
| | | - `foreignMatterCount`ï¼å¼ç©æ°éï¼æ±¡æ/é¢ç²ï¼ã |
| | | - `glueOverflowCount`ï¼æº¢è¶æ°éï¼è¶æ°´å¤æº¢ï¼ã |
| | | - `pinOffsetCount`ï¼å¼èå使°éï¼å¼èæªå¯¹ä¸ï¼ã |
| | | |
| | | 产线ç»è®¡ï¼é¤æ¯çå¤ä¸ºæ´æ°ï¼å¿
é¡» â¥0ï¼ï¼ |
| | | - `inputBoards`ï¼æå
¥æ¿æ°ï¼è¿å
¥æ£æµçæ¿æ°éï¼ã |
| | | - `okBoards`ï¼OK æ¿æ°ï¼æ£æµä¸º OK çæ¿æ°éï¼ã |
| | | - `passBoards`ï¼éè¿æ¿æ°ï¼æç»å¤å®éè¿çæ¿æ°éï¼ã |
| | | - `passRate`ï¼å°æ°ï¼åä½ç¾åæ¯ãåæ ¼çï¼ä¾å¦ `98.00` 表示 98%ã |
| | | - `defectBoards`ï¼ä¸è¯æ¿æ°ï¼æç»å¤å®ä¸è¯çæ¿æ°éï¼ã |
| | | - `defectRate`ï¼å°æ°ï¼åä½ç¾åæ¯ãä¸è¯çã |
| | | - `defectPpm`ï¼æ´æ°ï¼åä½ PPMãä¸è¯æ°ï¼ç¾ä¸åçï¼ã |
| | | - `defectPoints`ï¼ä¸è¯ç¹æ°ï¼ç¼ºé·ç¹å计ï¼ã |
| | | - `measuredPoints`ï¼å®æµç¹æ°ï¼å®é
å®ææ£æµçç¹æ°ï¼ã |
| | | - `pendingPoints`ï¼å¾
æµç¹æ°ï¼æªå®ææ£æµçç¹æ°ï¼ã |
| | | |
| | | ä¸å¡æ ¡éªæç¤ºï¼æç¤ºä¸é»æï¼ï¼ |
| | | - `passBoards` ä¸åºå¤§äº `inputBoards`ã |
| | | - 建议 `defectBoards = inputBoards - passBoards`ï¼åå·®ä»
æç¤ºã |
| | | - å½ `inputBoards > 0` ä¸æä¾ `passRate` æ¶ï¼å»ºè®®ä¸è®¡ç®å¼ `passBoards/inputBoards*100` åå·® ⤠1.0ã |
| | | |
| | | ç³»ç»è®°å½ï¼æ¯æ¬¡è°ç¨ä¼å¨æ¶æ¯ä¸å¿è®°å½ä¸æ¡æµæ°´ï¼è®°å½ç®æ 表å为 `MES_SPI_AOI_HEADER`ãæ¥å£ URLãæ¹æ³ã请æ±ä¸å¤çç»æï¼ï¼ç¨äºå®¡è®¡è¿½è¸ªã |
| | | |
| | | --- |
| | | |
| | | ## æ¥å£å表 |
| | | |
| | | ### 1. ä¸ä¼ SPI/AOI æ°æ® |
| | | - è·¯å¾ä¸æ¹æ³ï¼`POST /api/SpiAoi/Upload` |
| | | - ç¨éï¼æ°å¢ä¸ç¬ä¸»è¡¨ä¸å¤ç¬åè¡¨æ°æ®ï¼è¥ `boardBarcode` å·²åå¨å失败 |
| | | - 请æ±ç¤ºä¾ï¼ |
| | | ```json |
| | | { |
| | | "header": { |
| | | "testDate": "2025-10-10", |
| | | "testTime": "14:33:21", |
| | | "testResult": "0;0;0:1", |
| | | "surface": "T", |
| | | "totalPoints": 500, |
| | | "actualDefects": 3, |
| | | "equipmentModel": "SPI-9000", |
| | | "workOrder": "WO20251010-01", |
| | | "productModel": "MODEL-ABC", |
| | | "boardBarcode": "BC123456789", |
| | | "smtGroup": "A1", |
| | | "lineName": "SMT-01" |
| | | }, |
| | | "details": [ |
| | | { |
| | | "machineName": "AOI-01", |
| | | "lineDisplayName": "SMT-01", |
| | | "offsetCount": 1, |
| | | "missingCount": 0, |
| | | "reverseCount": 0, |
| | | "liftedCount": 0, |
| | | "floatHighCount": 0, |
| | | "tombstoneCount": 0, |
| | | "flipCount": 0, |
| | | "wrongPartCount": 0, |
| | | "leadLiftCount": 0, |
| | | "coldJointCount": 0, |
| | | "noSolderCount": 0, |
| | | "insufficientSolderCount": 1, |
| | | "excessSolderCount": 0, |
| | | "bridgeCount": 1, |
| | | "copperExposureCount": 0, |
| | | "spikeCount": 0, |
| | | "foreignMatterCount": 0, |
| | | "glueOverflowCount": 0, |
| | | "pinOffsetCount": 0, |
| | | "inputBoards": 100, |
| | | "okBoards": 98, |
| | | "passBoards": 98, |
| | | "passRate": 98.00, |
| | | "defectBoards": 2, |
| | | "defectRate": 2.00, |
| | | "defectPpm": 20000, |
| | | "defectPoints": 3, |
| | | "measuredPoints": 500, |
| | | "pendingPoints": 0 |
| | | } |
| | | ] |
| | | } |
| | | ``` |
| | | - æåååºç¤ºä¾ï¼ |
| | | ```json |
| | | { |
| | | "status": 0, |
| | | "message": "OK", |
| | | "data": { |
| | | "headerId": 12001, |
| | | "detailCount": 1, |
| | | "message": "SPI/AOIæ£æµæ°æ®ä¸ä¼ æå" |
| | | }, |
| | | "TotalCount": 0 |
| | | } |
| | | ``` |
| | | - 失败ååºç¤ºä¾ï¼æ¡ç éå¤ï¼ï¼ |
| | | ```json |
| | | { |
| | | "status": 1, |
| | | "message": "ä¸ä¼ SPI/AOIæ£æµæ°æ®å¤±è´¥: æ¡ç BC123456789 å·²åå¨ï¼ä¸å
许éå¤ä¸ä¼ ", |
| | | "data": "ä¸ä¼ SPI/AOIæ£æµæ°æ®å¤±è´¥: æ¡ç BC123456789 å·²åå¨ï¼ä¸å
许éå¤ä¸ä¼ ", |
| | | "TotalCount": 0 |
| | | } |
| | | ``` |
| | | |
| | | |
| | | ## è°ç¨å»ºè®® |
| | | - ä¸¥æ ¼æå段约æç»ç»æ°æ®ï¼æ°å¼åæ®µä½¿ç¨æ´æ°æå°æ°çæ£ç¡®ç±»å |
| | | - åçé误æ¶è¯»å `message` 便äºå®ä½é®é¢ï¼ä¿ç请æ±ä¸ååºä½ä¸ºè¿½è¸ªä¾æ® |