跌落试验管理 一、总体要求 需要微跌设备联网上传MES: 增加通讯模块,进行数据交互,记录测试数据并上传MES,; 记录样品信息(阶段、项目、条码、config),扫码后再启动测试 导出的测试报告,需要包含:设备编号/通道、测试样品SN信息、测试时间(开始和结束)、测试条件(规格或方向等)、测试 进度(如跌落次数)、跌落底板使用次数 需要程序设置规定跌落测试顺序◇按设置的先后顺序进行各个方向的跌落测试 完成测试后需要有设备端和控制界面的提示。 二、总体架构 1、python中基于flask需要实现一个简易的http服务器,通过RESPAPI与UI程序进行数据交互 2、本地需要安装SQLite数据库,由python程序进行访问,当前端UI设置的试验参数和取得试验结果、跌落机的状态数据,试验的LOG通过POST RESTAPI发给远程服务器, 远程服务器进行数据存储,同时也通过POST RESTAPI发给python中http服务器,由python进行本地的SQLite进行存储 3、python 程序负责通过RS485控制跌落试验机的运行、采集跌落试验机的状态数据,如:某个时间段的跌落次数,跌落机现在是运行还是暂停状态等, RS485上的协议是MODBUS,读取PLC的寄存器地址或者写PLC的寄存器地址 4、UI程序采用基于vue2.0的前端程序来实现,通过RESTAPI与服务器进行数据交互,通过remoteServer_isValid函数返回远端服务器是否运行,如果是则与远端服务器交互, 远端服务器的地址为106.52.71.204,如果否则与本机由python实现的服务器交互数据,每隔300ms向服务器要最新数据 5、 由前端UI程序还需要通过RESTAPI通过POST方法将试验结果发送给MES服务器,发送时机为样品的所有试验已经完成,未完成的已经取消 6、前端通过点击按钮,弹出试验要求的设置界面,具体参数见协议与数据结构 7、前端可以查询每一个样品的试验结果 三、协议与数据结构 1、本地python与PLC,采用modbus协议,RS485 2、vue程序UI通过RESTAPI与远程服务器或者本地服务器进行交互 取得跌落机状态: 1) 读取跌落试验机状态: get 返回 {"running":true,"assetNum":编号字符串} 2) 读取跌落机某个时间的跌落次数 : get 参数 起始时间 结束时间 返回 {"cyclesFinished":已经完成次数} 3) 设置跌落机的跌落试验参数: post 参数 {"cyclesTesting":次数,"height":跌落高度 ,‘interval’:每次跌落之间的间隔} 4) 控制跌落机的运行与停止 : post 参数 {"command": "run" or "stop"} 3、发送给MES服务器的试验结果: post 参数 {"DUTSn":样品编号,"DUTProject":样品所属项目,"DUTPhase":样品阶段,“DUTName”:样品名称, "testReqAndResult":{ "direction1":"xxx","reqCycles":测试,"params":"试验参数","status":xxxx, //待测试、测试中、测试完成、已经取消 "direction2":"xxx","reqCycles":测试,"params":"试验参数","status":xxxx, .... } } 4、试验要求是由一行一行数据组成,每一行包含 试验项目 试验方向 试验次数 试验高度 试验间隔