Files
dtm-py-all/软件设计.txt

42 lines
3.3 KiB
Plaintext
Raw Normal View History

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