Browse Source

注册设备IO

master
sige 2 years ago
parent
commit
b77f759f43
  1. 44
      src/src/main/java/com/my/graphiteDigesterBg/MyApplicationRunner.java
  2. 6
      src/src/main/java/com/my/graphiteDigesterBg/MyDevice.java
  3. 11
      src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDevice.java
  4. 5
      src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceIO.java
  5. 25
      src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceIOManager.java
  6. 4
      src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActuatorBase.java

44
src/src/main/java/com/my/graphiteDigesterBg/MyApplicationRunner.java

@ -1,6 +1,8 @@
package com.my.graphiteDigesterBg;
import com.my.graphiteDigesterBg.diframe.DiDevice;
import com.my.graphiteDigesterBg.diframe.DiDeviceActuatorManager;
import com.my.graphiteDigesterBg.diframe.DiDeviceIO;
import com.my.graphiteDigesterBg.diframe.DiDeviceIOManager;
import com.my.graphiteDigesterBg.diframe.actuator.DiActMotor;
import jakarta.annotation.Resource;
import org.springframework.boot.ApplicationArguments;
@ -15,35 +17,61 @@ public class MyApplicationRunner implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) throws Exception {
this.setupIO();
this.setupActuators();
}
// setup IO
private void setupIO() {
DiDeviceIOManager io = this.device.getIO();
io.register(MyDevice.IO_HEAT_SLOT_01_HEATER_01, new DiDeviceIO(){{
mid = 70;
index = 0;
}});
io.register(MyDevice.IO_HEAT_SLOT_01_HEATER_02, new DiDeviceIO(){{
mid = 70;
index = 1;
}});
io.register(MyDevice.IO_HEAT_SLOT_01_HEATER_03, new DiDeviceIO(){{
mid = 70;
index = 5;
}});
io.register(MyDevice.IO_HEAT_SLOT_01_HEATER_04, new DiDeviceIO(){{
mid = 70;
index = 6;
}});
io.register(MyDevice.IO_AIR_COMPRESSOR, new DiDeviceIO(){{
mid = 70;
index = 4;
}});
}
// setup actuators
private void setupActuators() {
DiDeviceActuatorManager actuators = this.device.getActuators();
actuators.register(MyDevice.ACT_HEAT_PLATE_MOTOR, new DiActMotor(){{
id = 11;
mid = 11;
}});
actuators.register(MyDevice.ACT_HEAT_SLOT_01_COVER_SERVO, new DiActMotor(){{
id = 12;
mid = 12;
}});
actuators.register(MyDevice.ACT_TRANSFER_UD_MOTOR, new DiActMotor(){{
id = 21;
mid = 21;
}});
actuators.register(MyDevice.ACT_TRANSFER_CLIP_SERVO, new DiActMotor(){{
id = 22;
mid = 22;
}});
actuators.register(MyDevice.ACT_TRANSFER_LR_MOTOR, new DiActMotor(){{
id = 31;
mid = 31;
}});
actuators.register(MyDevice.ACT_LIQUID_MOTOR, new DiActMotor(){{
id = 41;
mid = 41;
}});
actuators.register(MyDevice.ACT_LIQUID_PLATE_MOTOR, new DiActMotor(){{
id = 51;
mid = 51;
}});
actuators.register(MyDevice.ACT_LIQUID_PERISTALTIC_PUMP, new DiActMotor(){{
id = 61;
mid = 61;
}});
}
}

6
src/src/main/java/com/my/graphiteDigesterBg/MyDevice.java

@ -9,4 +9,10 @@ public class MyDevice extends DiDevice {
public static String ACT_LIQUID_MOTOR = "liquidMotor";
public static String ACT_LIQUID_PLATE_MOTOR = "liquidPlateMotor";
public static String ACT_LIQUID_PERISTALTIC_PUMP = "liquidPeristalticPump";
public static String IO_HEAT_SLOT_01_HEATER_01 = "heatSlot01Heater01";
public static String IO_HEAT_SLOT_01_HEATER_02 = "heatSlot01Heater02";
public static String IO_HEAT_SLOT_01_HEATER_03 = "heatSlot01Heater03";
public static String IO_HEAT_SLOT_01_HEATER_04 = "heatSlot01Heater04";
public static String IO_AIR_COMPRESSOR = "airCompressor";
}

11
src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDevice.java

@ -1,19 +1,26 @@
package com.my.graphiteDigesterBg.diframe;
import jakarta.annotation.PostConstruct;
import org.springframework.stereotype.Component;
@Component
public class DiDevice {
// io manager
private DiDeviceIOManager io;
// actuator manager
private DiDeviceActuatorManager actuators;
@PostConstruct
public void init() {
this.io = new DiDeviceIOManager(this);
this.actuators = new DiDeviceActuatorManager(this);
}
// get io manager
public DiDeviceIOManager getIO() {
return this.io;
}
// get actuator manager
public DiDeviceActuatorManager getActuators() {
return this.actuators;
}
}
}

5
src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceIO.java

@ -0,0 +1,5 @@
package com.my.graphiteDigesterBg.diframe;
public class DiDeviceIO {
protected Integer mid;
protected Integer index;
}

25
src/src/main/java/com/my/graphiteDigesterBg/diframe/DiDeviceIOManager.java

@ -0,0 +1,25 @@
package com.my.graphiteDigesterBg.diframe;
import java.util.HashMap;
import java.util.Map;
public class DiDeviceIOManager {
// device instance
private final DiDevice device;
// id => actuator
private final Map<String, DiDeviceIO> ios;
// constructor
public DiDeviceIOManager(DiDevice device ) {
this.device = device;
this.ios = new HashMap<String, DiDeviceIO>();
}
// register actuator
public void register( String id, DiDeviceIO io ) {
this.ios.put( id, io );
}
// get actuator
public void get( String id ) {
this.ios.get(id);
}
}

4
src/src/main/java/com/my/graphiteDigesterBg/diframe/actuator/DiActuatorBase.java

@ -1,5 +1,5 @@
package com.my.graphiteDigesterBg.diframe.actuator;
abstract public class DiActuatorBase implements DiActuator {
// id
protected Integer id;
// mid
protected Integer mid;
}
Loading…
Cancel
Save