42 lines
3.3 KiB
Plaintext
42 lines
3.3 KiB
Plaintext
跌落试验管理
|
||
一、总体要求
|
||
需要微跌设备联网上传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、试验要求是由一行一行数据组成,每一行包含 试验项目 试验方向 试验次数 试验高度 试验间隔
|
||
|
||
|