package com.mes.device.vo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; import java.util.List; import java.util.Map; /** * 设备控制参数配置 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor @ApiModel(value = "DeviceControlProfile", description = "设备控制参数配置") public class DeviceControlProfile implements Serializable { @ApiModelProperty(value = "节拍/线速度(mm/s)") private Integer lineSpeed; @ApiModelProperty(value = "玻璃长度(mm)") private Integer glassLength; @ApiModelProperty(value = "缓存数量/槽位数量") private Integer bufferCount; @ApiModelProperty(value = "是否自动触发PLC请求") private Boolean autoRequest; @ApiModelProperty(value = "PLC请求字段名") private String requestField = "plcRequest"; @ApiModelProperty(value = "进片位置字段名") private String positionField = "inPosition"; @ApiModelProperty(value = "玻璃数量字段名") private String glassCountField = "plcGlassCount"; @ApiModelProperty(value = "玻璃ID槽位字段定义") private List glassSlots; @ApiModelProperty(value = "位置映射,如:{ \"station1\":1 }") private Map positionMappings; @Data @NoArgsConstructor @AllArgsConstructor @Builder @ApiModel(value = "GlassSlot", description = "玻璃ID槽位") public static class GlassSlot implements Serializable { @ApiModelProperty(value = "槽位序号,从1开始") private Integer order; @ApiModelProperty(value = "PLC字段名,例如 plcGlassId1") private String field; @ApiModelProperty(value = "字段长度,字符串长度等") private Integer length; @ApiModelProperty(value = "槽位描述") private String description; } }