扫码抢使用连续时间扫描

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

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

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

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

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

Loading…
Cancel
Save