# CNC 生产线 ## 布局说明: 1. 总体包括:地轨系统、内窥镜检测系统、扫码打标、AGV接驳台、抽检输出(具备不良品输出功能)、卧式加工中心MAR-500H、高压清洗机、热能去毛刺机、除锈清洗机。 2. 地轨系统包括:地轨、六轴工业机器人、机器人手爪、随行暂存库、随行读码器、控制系统等。 3. 内窥镜检测系统:包括工件检测台(滚筒输送带)、内窥镜。上下料位分开。 4. AGV接驳台:共10台,分别用于向线内送料(1-5)和将完成的工件送入料库(6-10)。 5. 抽检输出:用于人工对线内工件的不定时抽检,抽检不合格品,放置在检测辊筒线末端,人工定期清理。 6. 激光打标机:为无法读码的零件打标. ## 设备介绍 整个产线通过一个西门子S1200 PLC控制,除内窥镜和激光打标机外,工件的转运也都通过PLC信号驱动机器人来进行。 ### 卧式加工中心 1. 型号为大隈 MAR-500H,共4台,通过PLC信号控制。 2. 每台机床配备双工作台,可实现加工一个工件同时暂存一个工件,加工完成后自动加工暂存工件。 3. 机床1、2可加工工件类型107,机床3、4可加工工件类型160,机床4可加工工件类型200 ### AGV 接驳台 1. 共10台,分别用于向线内送料(1-5)和将完成的工件送入料库(6-10)。 2. 每个接驳台上有一个托盘,每个托盘有9个工位 3*3 布局,编号从左到右从上到下1-9 ## 机器人 1. 机器人有双手爪,可以在一个工位进行换料工作,完成的料再进入下一工位 ### 随行暂存台 1. 随行暂存台是随地轨机器人一起移动的暂存装置,暂存台有扫码枪、暂存料盘、二次定位装置。 2. 暂存料盘共有八个料位,工件保持在同一位置直到下料到接驳台。 ### 高压清洗机 1. 高压清洗机,共具备2个清洗工位,可同时放2个工件。 2. 使用focas协议 ### 除锈清洗线 1. 流水线,但只有一个上下料位,可放10个工件。 2. 线内摆放方式:放置在框中,每框2/4件。 ## 自动化流程: 1. AGV将装有待加工的零件托盘送到AGV接驳台处;(AGV 调度由外部系统负责,本系统仅通过接驳台信号感知“托盘到位”。) 2. 工人在管理系统下工单,接驳台上有料就可下单,每个工单只会有一种工件类型, 点击下单选择料位以及工件类型 3. 地轨机器人从接驳台(5个上料接驳台,每个9槽位)上抓取工件进行扫码,扫码失败放到抽检台1号槽位,扫码成功将工件放置到随行暂存台上,首次上满8个槽位,后续暂存台上工件数量少于4个时再批量扫码上4个工件; 4. 机器人运行至机床换料位置,为数控机床上料/换料,数控机床自动加工,加工完成放回随行暂存台; 5. 地轨机器人将加工完成的工件放入高压清洗机(2个槽位,清洗时间2~3分钟/件),清洗完成放回随行暂存台; 6. 地轨机器人将高压清洗完成的工件,放至内窥镜检测区的滚筒线,合格件移送至检测辊筒线末端,机器人取回暂存台,不合格品由人工定期清理。 7. 地轨机器人将检测合格的工件,为热能去毛刺机换料,将去完毛刺的工件取回暂存台; 8. 地轨机器人将热能去完毛刺的工件送至除锈清洗线(一个上下料位,可放10个,FIFO),为除锈清洗线换料,除锈完取回暂存台; 9. 地轨机器人对除锈完成的工件扫码,扫码OK将工件放置到随行暂存台处,如果扫码无法识别的,地轨机器人抓取工件到激光打标机处打码,打码完成后放置到随行暂存台处); 10. 地轨机器人将扫码(或打码)完成的工件放至抽检台抽检,或放至AGV接驳台(5个上料接驳台,每个9槽位),由AGV接驳台送出线。 ## 节拍 1. 加工时间:加工除A、B面及其上面的特征之外的各面和孔,加工时间20min/件(单台机床平均时间);4台设备同时加工。 2. 加工设备节拍:20min/件。 3. 高压清洗时间:2~3分钟/件,共具备2个料位。 4. 内窥镜检测时间:5分钟/件,检测输送带可连续输送。 5. 热能去毛刺时间:2~3分钟/件。 6. 除锈清洗机清洗除锈处理时间: <5分钟/件,工位数量为4件。 ## 技术栈 1. 采用go-zero MVC框架 2. 数据校验采用 github.com/go-playground/validator/v10 3. 数据库采用 postgresql , 采用 entgo 框架操作数据库 4. 前端采用 react + semi-ui 实现用户界面 5. plc 使用 bjhardman.cn/bjhardman/goplc 6. 使用 csv 文件存储plc信号 ### 代码生成 - 生成 ent:`cd schema && go generate` - 生成 go-zero API:`cd apis && go generate` ## 全局规则 - 不要在 `handler` 写业务逻辑,保持薄层 - 不要手动修改 `ent/`、`cmd/control-api/internal/handler/routes.go`、`types/types.go`、goctl 生成的 handler - 所有 API 变更先改 `apis/*.api`,再生成代码 - 所有 schema 变更先改 `schema/`,再生成 ent