更新内容.md 8.26 KB

2020/07/28 更新 1、修改项目架构。文件夹及项目配置可以更清晰的查看。 2、合并之前三个解决方案为一个,按文件夹进行分类 3、将之前读取数据的查找方式,均改为从内存中读取,项目初始化时更新到全局变量,在App.cs中。 4、更新任务表的方式更改,先更新数据库,更新成功后更新缓存。 5、历史任务表不从程序中进行插入,改为触发器,删除任务时自动插入历史任务表(* 但在删除任务,取消任务时,需要更新任务表中errormsg字段,方便后期查找问题及记录) 6、界面略微调整。 7、任务表中右键新增 强制删除任务,修改任务状态。因之前修改数据库恢复故障已不可取(只更新数据库无法更新程序缓存),故新增此功能替代直接操作数据库的操作。

项目架构

├─bin │ ├─Debug │ │ └─net461 (生成的EXE文件) │ │
│ └─Release │ └─net461 (生成的EXE文件) │
├─Model │ ├─Comm │ │ BllResult.cs (通用 方法返回类) │ │ EnumMsg.cs (枚举类,包含各个枚举) │ │ F_ServiceModel.cs (设备业务处理总类,包含设备处理需要的属性和接口,所有设备都是由这个类实现不一样的接口实现的) │ │ I_OpcHelp.cs (设备通讯接口类,如西门子,三菱plc,都是实现此接口) │ │
│ ├─Entity │ │ I_Device.cs (数据库设备表) │ │ I_Device_Address.cs(数据库设备地址表) │ │ I_Pose.cs (数据库坐标表) │ │ I_Task.cs (数据库任务表) │ │ I_Task_His.cs (数据库历史任务表,暂时无用,保留位以后做历史任务查询用) │ │ T_BaseNumber.cs (数据库计数表,如任务号) │ │ T_TaskFlow.cs (任务流程表) │ │
│ ├─PageModel │ │ BindComboxEnumType.cs (页面ComBox,枚举转换类) │ │ BindComboxType.cs (页面ComBox,枚举转换类 附属属性类) │ │ ValueConverter.cs (页面通用枚举转换类) │ │
│ ├─PushModel │ │ PM_ConveryorError.cs (推送 输送线异常显示类) │ │ PM_SrmState.cs (推送 堆垛机状态类) │ │
│ ├─ViewModel │ │ │ VM_ConveyorErrorRead.cs (页面显示 输送线异常类 读取) │ │ │ VM_ConveyorErrorWrite.cs (页面显示 输送线异常类 写入) │ │ │ VM_PointStateRead.cs (页面显示 输送线点状态类 读取) │ │ │ VM_PointStateWrite.cs (页面显示 输送线点状态类 写入) │ │ │ VM_SrmRead.cs (页面显示 堆垛机状态类 读取) │ │ │ VM_SrmWrite.cs(页面显示 堆垛机状态类 写入) │ │ │ VM_StationACK.cs (页面显示 输送线ACK 写入) │ │ │ VM_StationDACK.cs(页面显示 输送线到达 写入) │ │ │ VM_StationDR.cs(页面显示 输送线地址请求 读取) │ │ │ VM_StationPR.cs(页面显示 输送线地址到达 读取) │ │ │
│ │ └─Interface │ │ VM_ReadModel.cs (页面显示 读取类总接口,所有读取类都要实现它) │ │ VM_WriteModel.cs(页面显示 写入类总接口,所有写入类都要实现它) │ │
│ └─WebApi │ ├─Request (WebAip 请求参数类) │ │ ReqEmptyOut.cs │ │ ReqOverrideHandle.cs │ │ ReqStationInfo.cs │ │ ReqTaskAssign.cs │ │ ReqTaskCancel.cs │ │ ReqTaskFinish.cs │ │ ReqTaskInfo.cs │ │ ReqTaskStatusFeedBack.cs │ │ ReqWareCellAllocation.cs │ │
│ └─Response (WebAip 回复参数类) │ ApiResultModel.cs │ ResGetWareCellAllocation.cs │ ResOverrideHandle.cs │ ResStationInfo.cs │ ResTaskInfo.cs │
├─Page │ │ DeviceView.xaml (设备页面) │ │ DeviceView.xaml.cs │ │ PointStateView.xaml (输送线点状态页面) │ │ PointStateView.xaml.cs │ │ SrmView.xaml(堆垛机状态页面) │ │ SrmView.xaml.cs │ │ StationView.xaml(输送线业务页面) │ │ StationView.xaml.cs │ │ TaskFlowView.xaml(任务流程页面) │ │ TaskFlowView.xaml.cs │ │ TaskView.xaml(任务状态页面) │ │ TaskView.xaml.cs │ │
│ └─HandView │ HandDeviceTask.xaml(手动下发设备任务页面) │ HandDeviceTask.xaml.cs │ HandSrmTaskRevert.xaml(堆垛机异常恢复任务页面) │ HandSrmTaskRevert.xaml.cs │ HandTask.xaml(手动任务页面) │ HandTask.xaml.cs │ HandView.xaml(手动页面) │ HandView.xaml.cs │ TaskStateChangexaml.xaml(任务状态修改页面) │ TaskStateChangexaml.xaml.cs │
├─Properties │ app.manifest(赋予程序管理员权限调试运行) │ AssemblyInfo.cs(解决方案初始化文件) │ Resources.Designer.cs(解决方案资源文件) │ Resources.resx │
├─Resources │ ├─Dll │ │ DMSkin.AduDesign.dll(界面UI框架) │ │ DMSkin.Core.dll(界面UI框架) │ │ DMSkin.dll(界面UI框架) │ │ HslCommunication.dll(暂无用) │ │
│ └─Img(图标及图片文件夹) │ Icon.ico │ mainbg.jpg │ SIcon.xaml │ 任务图标.png │ 任务流程.png │ 任务流程1.png │ 堆垛机状态.png │ 手动操作.png │ 日志监控.png │ 查询.png │ 流程.png │ 状态1.png │ 状态2.png │ 状态3.png │ 系统信息.png │
└─Service ├─Comm │ BaseBll.cs(基本处理类,包含接口,任务,状态等业务处理) │ Extends.cs(枚举处理类) │ InitBll.cs(程序初始化载入类) │ LogExecute.cs(日志输出类) │ Timeout.cs(自定义超时处理类,暂时无用) │
├─DataBase │ BaseDal.cs(数据库 类型,属性 初始类) │ DbContext.cs(数据库操作实现类) │
├─DevicesExcute │ │ ConveyorErrorExcute.cs(输送线异常处理类) │ │ PointStateExcute.cs(输送线点状态处理类) │ │ SingleSrmExcute.cs(输送线堆垛机处理类) │ │ StationDRExcute.cs(输送线地址请求处理类) │ │ StationPRExcute.cs(输送线到达处理类) │ │
│ └─Interface │ I_Excute.cs(设备处理类接口,所有设备处理都需要继承此接口) │ I_Excute_S.cs(堆垛机处理类接口,所有设备处理都需要继承此接口,比I_Excute 多了一些手动处理的接口) │
├─OPC │ MelsecMcHelp.cs(三菱PLC通讯实现类) │ SiemensHelp.cs(西门子PLC通讯实现类) │
└─WebService ├─Client │ WcsWebApiClient.cs(WebApi请求WMS接口,实现类) │
├─Common │ ApiErrorResultAttribute.cs(WebApi服务端,异常拦截类,对出现的异常进行统一的封装处理) │ ApiResultAttribute.cs(WebApi服务端,返回类包装,包装成统一的样式返回) │ PlainTextTypeFormatter.cs(WebApi服务端,content-type请求头设置类) │ SwaggerConfig.cs(WebApi服务端,接口显示类,将接口通过网页形式进行展示) │ Swagger_lan.js(WebApi服务端,接口显示类,将接口通过网页形式进行展示) │
└─Service WcsPushBuild.cs(广播推送实现类) WcsWebApiBuild.cs(WebApi服务端部署类) WcsWebApiController.cs(WebApi客户端接口实现类)