Browse Source

rev:光电驱动

master
gengby 6 months ago
parent
commit
0625bf1271
  1. 40
      acs/nladmin-system/src/main/java/org/nl/acs/device_driver/shangdianke/ItemProtocol.java
  2. 47
      acs/nladmin-system/src/main/java/org/nl/acs/device_driver/shangdianke/PhotoelectricDetectionDeviceDriver.java
  3. 10
      acs/nladmin-system/src/main/java/org/nl/acs/device_driver/shangdianke/PhotoelectricDetectionStationDefinition.java

40
acs/nladmin-system/src/main/java/org/nl/acs/device_driver/shangdianke/ItemProtocol.java

@ -14,12 +14,12 @@ public class ItemProtocol {
/** /**
* 心跳 * 心跳
*/ */
public static final String ITEM_HEARTBEAT = "heartbeat"; // public static final String ITEM_HEARTBEAT = "heartbeat";
/** /**
* 工作模式 * 工作模式
*/ */
public static final String ITEM_MODE = "mode"; // public static final String ITEM_MODE = "mode";
/** /**
* 光电信号 * 光电信号
@ -29,17 +29,17 @@ public class ItemProtocol {
/** /**
* 动作信号 * 动作信号
*/ */
public static final String ITEM_ACTION = "action"; // public static final String ITEM_ACTION = "action";
/** /**
* 报警信号 * 报警信号
*/ */
public static final String ITEM_ERROR = "error"; // public static final String ITEM_ERROR = "error";
/** /**
* 下发命令 * 下发命令
*/ */
public static final String ITEM_TO_COMMAND = "to_command"; // public static final String ITEM_TO_COMMAND = "to_command";
boolean isOnline; boolean isOnline;
@ -60,22 +60,22 @@ public class ItemProtocol {
} }
} }
public int getHeartbeat() { // public int getHeartbeat() {
return this.getOpcIntegerValue(ItemProtocol.ITEM_HEARTBEAT); // return this.getOpcIntegerValue(ItemProtocol.ITEM_HEARTBEAT);
} // }
public int getMode() { // public int getMode() {
return this.getOpcIntegerValue(ItemProtocol.ITEM_MODE); // return this.getOpcIntegerValue(ItemProtocol.ITEM_MODE);
} // }
public int getMove() { public int getMove() {
return this.getOpcIntegerValue(ItemProtocol.ITEM_MOVE); return this.getOpcIntegerValue(ItemProtocol.ITEM_MOVE);
} }
public int getAction() { // public int getAction() {
return this.getOpcIntegerValue(ItemProtocol.ITEM_ACTION); // return this.getOpcIntegerValue(ItemProtocol.ITEM_ACTION);
} // }
public int getError() { // public int getError() {
return this.getOpcIntegerValue(ItemProtocol.ITEM_ERROR); // return this.getOpcIntegerValue(ItemProtocol.ITEM_ERROR);
} // }
public int getToCommand() { // public int getToCommand() {
return this.getOpcIntegerValue(ItemProtocol.ITEM_TO_COMMAND); // return this.getOpcIntegerValue(ItemProtocol.ITEM_TO_COMMAND);
} // }
} }

47
acs/nladmin-system/src/main/java/org/nl/acs/device_driver/shangdianke/PhotoelectricDetectionDeviceDriver.java

@ -38,38 +38,38 @@ public class PhotoelectricDetectionDeviceDriver extends AbstractOpcDeviceDriver
/** /**
* 心跳 * 心跳
*/ */
private int heartbeat = 0; // private int heartbeat = 0;
private int lastHeartbeat = this.heartbeat; // private int lastHeartbeat = this.heartbeat;
/** /**
* 工作模式 * 工作模式
*/ */
private int mode = 0; // private int mode = 0;
private int lastMode = this.mode; // private int lastMode = this.mode;
/** /**
* 光电信号 * 光电信号
*/ */
private int move = 0; private int move = 0;
private int lastMove = this.move; private int lastMove = 0;
/** /**
* 动作信号 * 动作信号
*/ */
private int action = 0; // private int action = 0;
private int lastAction = this.action; // private int lastAction = this.action;
/** /**
* 报警信号 * 报警信号
*/ */
private int error = 0; // private int error = 0;
private int lastError = this.error; // private int lastError = this.error;
/** /**
* 下发命令 * 下发命令
*/ */
private int toCommand = 0; // private int toCommand = 0;
private int lastToCommand = this.toCommand; // private int lastToCommand = this.toCommand;
private static final int MODE = 3; private static final int MODE = 3;
@ -97,12 +97,12 @@ public class PhotoelectricDetectionDeviceDriver extends AbstractOpcDeviceDriver
try { try {
this.currentDeviceCode = this.getDeviceCode(); this.currentDeviceCode = this.getDeviceCode();
this.heartbeat = this.itemProtocol.getHeartbeat(); // this.heartbeat = this.itemProtocol.getHeartbeat();
this.mode = this.itemProtocol.getMode(); // this.mode = this.itemProtocol.getMode();
this.move = this.itemProtocol.getMove(); this.move = this.itemProtocol.getMove();
this.action = this.itemProtocol.getAction(); // this.action = this.itemProtocol.getAction();
this.error = this.itemProtocol.getError(); // this.error = this.itemProtocol.getError();
this.toCommand = this.itemProtocol.getToCommand(); // this.toCommand = this.itemProtocol.getToCommand();
if (this.move != this.lastMove) { if (this.move != this.lastMove) {
if (move == 0) { if (move == 0) {
@ -110,7 +110,8 @@ public class PhotoelectricDetectionDeviceDriver extends AbstractOpcDeviceDriver
} }
} }
if (mode > 0 && !requireSuccess) { // if (mode > 0 && !requireSuccess) {
if (!requireSuccess) {
Object methodName = this.device.getExtraValue().get(String.valueOf(MODE)); Object methodName = this.device.getExtraValue().get(String.valueOf(MODE));
if (ObjectUtil.isNotEmpty(methodName)) { if (ObjectUtil.isNotEmpty(methodName)) {
try { try {
@ -135,12 +136,12 @@ public class PhotoelectricDetectionDeviceDriver extends AbstractOpcDeviceDriver
log.error(e.getMessage(), e); log.error(e.getMessage(), e);
return; return;
} }
this.lastHeartbeat = this.heartbeat; // this.lastHeartbeat = this.heartbeat;
this.lastMode = this.mode; // this.lastMode = this.mode;
this.lastMove = this.move; this.lastMove = this.move;
this.lastAction = this.action; // this.lastAction = this.action;
this.lastError = this.error; // this.lastError = this.error;
this.lastToCommand = this.toCommand; // this.lastToCommand = this.toCommand;
} }
private void executionMethodByMode(String methodName) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { private void executionMethodByMode(String methodName) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
@ -196,6 +197,4 @@ public class PhotoelectricDetectionDeviceDriver extends AbstractOpcDeviceDriver
itemMap.put(to_param, value); itemMap.put(to_param, value);
this.control(itemMap); this.control(itemMap);
} }
} }

10
acs/nladmin-system/src/main/java/org/nl/acs/device_driver/shangdianke/PhotoelectricDetectionStationDefinition.java

@ -52,18 +52,18 @@ public class PhotoelectricDetectionStationDefinition implements OpcDeviceDriverD
@Override @Override
public List<ItemDTO> getReadableItemDTOs() { public List<ItemDTO> getReadableItemDTOs() {
ArrayList<ItemDTO> itemDTOs = new ArrayList<>(); ArrayList<ItemDTO> itemDTOs = new ArrayList<>();
itemDTOs.add(new ItemDTO(ItemProtocol.ITEM_HEARTBEAT, "心跳", "")); // itemDTOs.add(new ItemDTO(ItemProtocol.ITEM_HEARTBEAT, "心跳", ""));
itemDTOs.add(new ItemDTO(ItemProtocol.ITEM_MODE, "工作模式", "")); // itemDTOs.add(new ItemDTO(ItemProtocol.ITEM_MODE, "工作模式", ""));
itemDTOs.add(new ItemDTO(ItemProtocol.ITEM_MOVE, "光电信号", "")); itemDTOs.add(new ItemDTO(ItemProtocol.ITEM_MOVE, "光电信号", ""));
itemDTOs.add(new ItemDTO(ItemProtocol.ITEM_ACTION, "动作信号", "")); // itemDTOs.add(new ItemDTO(ItemProtocol.ITEM_ACTION, "动作信号", ""));
itemDTOs.add(new ItemDTO(ItemProtocol.ITEM_ERROR, "报警信号", "")); // itemDTOs.add(new ItemDTO(ItemProtocol.ITEM_ERROR, "报警信号", ""));
return itemDTOs; return itemDTOs;
} }
@Override @Override
public List<ItemDTO> getWriteableItemDTOs() { public List<ItemDTO> getWriteableItemDTOs() {
ArrayList<ItemDTO> itemDTOs = new ArrayList<>(); ArrayList<ItemDTO> itemDTOs = new ArrayList<>();
itemDTOs.add(new ItemDTO(ItemProtocol.ITEM_TO_COMMAND, "下发命令", "")); // itemDTOs.add(new ItemDTO(ItemProtocol.ITEM_TO_COMMAND, "下发命令", ""));
return itemDTOs; return itemDTOs;
} }
} }

Loading…
Cancel
Save