1
Administrator
2 天以前 2c9f8abab223d5aa163cae1d733f5ad7957a7b77
zy-asc-conveyor/src/main/java/com/zy/acs/conveyor/core/constant/DeviceField.java
@@ -6,11 +6,13 @@
 */
public enum DeviceField {
    // 扫码器:每站点16字节,String[14]
    BARCODE("DB101", 0, 16),
    BARCODE("DB103", 254, 16),
    // 称重:每站点4字节,Float
    WEIGHT("DB102", 0, 4),
    //WEIGHT("DB102", 0, 4),
    WEIGHT("DB103", 634, 4),
    // 尺寸异常:每站点2字节,Bit数组
    DIMENSION_WORD("DB103", 0, 2);
    DIMENSION_WORD("DB103", 2, 8);
    private final String addressPattern;
    private final int offset;
@@ -37,12 +39,9 @@
    /**
     * 根据 DB 块编号和站点偏移生成具体地址
     *
     * @param dbBlock           DB块编号
     * @param stationBaseOffset 站点基址偏移(站点号*站点长度)
     * @return PLC4X 地址字符串,如 "DB100.DBD0"
     */
    public String buildAddress(int dbBlock, int stationBaseOffset) {
        int finalOffset = stationBaseOffset + offset;
        return String.format(addressPattern, dbBlock, finalOffset);
    public String buildAddress() {
        return addressPattern + PlcConstant.ADDRESS_CONCATENATION + offset;
    }
}