扫码抢使用连续时间扫描

jiangxi-dianli
LAPTOP-S9HJSOEB\昊天 2 years ago
parent d7e308d03b
commit d7dd1ef2c0

@ -127,5 +127,6 @@ public class ConfigProperties {
private Integer goods; private Integer goods;
private int [] goodsCodeTypes; private int [] goodsCodeTypes;
private int [] trayCodeTypes; private int [] trayCodeTypes;
private int sickScanTime = 50000;
} }
} }

@ -675,7 +675,7 @@ public class PlcService {
trayCheck = Boolean.FALSE; trayCheck = Boolean.FALSE;
log.error("no sensor gun config in database ,street id:{},direction:{}", street.getId(), plcCmdInfo.getLeftRight1()); log.error("no sensor gun config in database ,street id:{},direction:{}", street.getId(), plcCmdInfo.getLeftRight1());
} else { } else {
trayCode = SickSocket.readOCR(sensorGun.getIp(), sensorGun.getPort()); trayCode = SickSocket.readOCR(sensorGun.getIp(), sensorGun.getPort(),configProperties.getScanCodeMode().getSickScanTime());
log.info("sensor tray code:{}", trayCode); log.info("sensor tray code:{}", trayCode);
if ("".equals(wmsTrayCode)) { if ("".equals(wmsTrayCode)) {
//托盘码为空,无货物 //托盘码为空,无货物

@ -10,6 +10,8 @@ import java.net.Socket;
import java.net.SocketTimeoutException; import java.net.SocketTimeoutException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import static java.lang.Thread.sleep;
/** /**
* sick * sick
*/ */
@ -19,7 +21,7 @@ public class SickSocket {
private static final Logger tcpLogger = LoggerFactory.getLogger("sick"); private static final Logger tcpLogger = LoggerFactory.getLogger("sick");
public static void main(String[] args) { public static void main(String[] args) {
String code = readOCR("192.168.5.10", 2002); String code = readOCR("127.0.0.1", 3000,30000);
System.out.println(code); System.out.println(code);
} }
@ -30,7 +32,7 @@ public class SickSocket {
* @param port * @param port
* @return OCR * @return OCR
*/ */
public static String readOCR(String ip, int port) { public static String readOCR(String ip, int port,int timeout) {
// 创建Socket对象 // 创建Socket对象
Socket socket = new Socket(); Socket socket = new Socket();
// 定义变量code并赋值为"NoRead" // 定义变量code并赋值为"NoRead"
@ -42,8 +44,8 @@ public class SickSocket {
try { try {
// 连接服务器指定服务器的IP地址和端口号并设置连接超时时间为3000毫秒 // 连接服务器指定服务器的IP地址和端口号并设置连接超时时间为3000毫秒
socket.connect(new InetSocketAddress(ip, port), 3000); socket.connect(new InetSocketAddress(ip, port), timeout);
socket.setSoTimeout(3000); socket.setSoTimeout(timeout);
// 获取socket的输出流对象 // 获取socket的输出流对象
os = socket.getOutputStream(); os = socket.getOutputStream();
// 获取socket的输入流对象 // 获取socket的输入流对象
@ -51,7 +53,8 @@ public class SickSocket {
// 定义变量i并赋值为0 // 定义变量i并赋值为0
int i = 0; int i = 0;
// 当code等于"NoRead"且i小于等于4且socket未关闭时执行以下循环 // 当code等于"NoRead"且i小于等于4且socket未关闭时执行以下循环
while ("NoRead".equals(code) && i <= 4 && !socket.isClosed()) { while ("NoRead".equals(code) && !socket.isClosed()) {
sleep(300);
// 调用writeCmd方法将数据写入socket的输出流 // 调用writeCmd方法将数据写入socket的输出流
writeCmd(os); writeCmd(os);
// 从socket的输入流中读取数据并赋值给code // 从socket的输入流中读取数据并赋值给code

@ -85,6 +85,8 @@ scanCodeMode:
- 14 - 14
trayCodeTypes: trayCodeTypes:
- 14 - 14
#扫码枪连续扫描时间默认5s 单位ms
sickScanTime: 5000
# 照片 視頻保存多久 # 照片 視頻保存多久
deleteFileDays: 365 deleteFileDays: 365

Loading…
Cancel
Save