wangxichen 9 時間 前
コミット
950a5d3954

+ 0 - 28
.classpath

@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="image"/>
-	<classpathentry excluding="resources/" kind="src" path="src"/>
-	<classpathentry kind="src" path="src/resources"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
-		<attributes>
-			<attribute name="module" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="lib" path="lib/logback-core-1.2.13.jar"/>
-	<classpathentry kind="lib" path="lib/okhttp-4.10.0.jar"/>
-	<classpathentry kind="lib" path="lib/kotlin-stdlib-1.8.10.jar"/>
-	<classpathentry kind="lib" path="lib/logback-classic-1.2.13.jar"/>
-	<classpathentry kind="lib" path="lib/gson-2.10.jar"/>
-	<classpathentry kind="lib" path="lib/jfreechart-1.5.4.jar"/>
-	<classpathentry kind="lib" path="lib/jshortcut-0.4-oberzalek.jar"/>
-	<classpathentry kind="lib" path="lib/netty-all-4.1.48.Final.jar"/>
-	<classpathentry kind="lib" path="lib/jSerialComm-2.6.2.jar"/>
-	<classpathentry kind="lib" path="lib/commons-codec-1.15.jar"/>
-	<classpathentry kind="lib" path="lib/fastjson2-2.0.16.jar"/>
-	<classpathentry kind="lib" path="lib/iot-communication-1.4.4.jar"/>
-	<classpathentry kind="lib" path="lib/okio-jvm-3.3.0.jar"/>
-	<classpathentry kind="lib" path="lib/s7connector-2.1.jar"/>
-	<classpathentry kind="lib" path="lib/slf4j-api-1.7.36.jar"/>
-	<classpathentry kind="lib" path="lib/sqlite-jdbc-3.36.0.3.jar"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>

+ 0 - 0
.lock


+ 0 - 3
src/com/mes/netty/NettyClientHandler.java

@@ -59,9 +59,6 @@ public class NettyClientHandler extends ChannelInboundHandlerAdapter {
             case "MQDW":
                 MesRevice.updateResultRevice(processMsgRet,mes_msg);
                 break;
-            case "MCJW":
-                MesRevice.createRevice(processMsgRet,mes_msg);
-                break;
         }
 
 

+ 0 - 42
src/com/mes/ui/DataUtil.java

@@ -112,18 +112,6 @@ public class DataUtil {
         }
     }
 
-    // 创建产品记录(首站录入系统)
-    public static Boolean sendCreate(NettyClient nettyClient,String sn,String ret,String user,String op){
-        try{
-            String msgType = "MCJW";
-            String gy = "100000";
-            Boolean aqdw_str = sendMessage(nettyClient,msgType,gy,"",sn,ret,user,"00","",op);
-            return aqdw_str;
-        }catch (Exception e){
-            return false;
-        }
-    }
-
     public static Boolean sendQuality(NettyClient nettyClient,String sn,String ret,String user,String op){
         try{
             String msgType = "MQDW";
@@ -142,36 +130,6 @@ public class DataUtil {
         }
     }
 
-    // OP040联动提交:GW固定OP040A,GY=100000,paramNums=00,无参数
-    public static Boolean sendQualityForOp040(NettyClient nettyClient,String sn,String ret,String user){
-        try{
-            String msgType = "MQDW";
-            String craft = "100000";
-            String enconding = "UTF-8";
-            InputStream is = ClassLoader.getSystemResourceAsStream("config/config.properties");
-            Properties pro = new Properties();
-            BufferedReader br = new BufferedReader(new InputStreamReader(is, enconding));
-            pro.load(br);
-            String gw = "GW"+rightPad("OP040A", 6);
-            String start = "aaaabbbbbABW";
-            String gy = "GY" + rightPad(craft, 6);
-            String reslx = "LX" + rightPad("", 2);
-            String id = pro.getProperty("mes.line_sn") + rightPad(sn, 36);
-            String rs = "RS"+ rightPad(ret, 2);
-            String da = "DA" + DateLocalUtils.getCurrentDate();
-            String zt = "ZT" + DateLocalUtils.getCurrentTimeHMS();
-            String yh = "YH" + rightPad(user, 20);
-            String aqdw_str = start + msgType + gw + gy + reslx + id + rs + da + zt + yh + "00";
-            System.out.println("OP040 message="+aqdw_str);
-            JdbcUtils.insertData(gw, gy, aqdw_str, msgType, sn);
-            nettyClient.future.channel().writeAndFlush(aqdw_str);
-            return true;
-        }catch (Exception e){
-            e.printStackTrace();
-            return false;
-        }
-    }
-
     public static Boolean sendQuality2(String sn,String result,String user,String op){
         try{
             String msgType = "MQDW";

+ 6 - 36
src/com/mes/ui/MesClient.java

@@ -123,7 +123,9 @@ public class MesClient extends JFrame {
 
     public static Integer lastpage = 0;     //标记是否是首次进入设备运行状态,0表示首次进入运行状态,1表示非首次进入运行状态
 
-    public static S7PLC s7PLC = new S7PLC(EPlcType.S1200, "192.168.7.100");
+//    public static S7PLC s7PLC = new S7PLC(EPlcType.S1200, "192.168.7.103"); // CD 北边
+//    public static S7PLC s7PLC = new S7PLC(EPlcType.S1200, "192.168.0.41"); // AB 中间
+    public static S7PLC s7PLC = new S7PLC(EPlcType.S1200, "192.168.7.100"); // 610-P2
 
     public static List<String> hjparams = new ArrayList<>();
 
@@ -161,8 +163,6 @@ public class MesClient extends JFrame {
 
     public static String programNoB = "";
 
-    public static Boolean op040AutoSubmit = true; // OP040联动提交开关
-
     public static void main(String[] args) {
         if (LockUtil.getInstance().isAppActive() == true){
 //            JOptionPane.showMessageDialog(null, "已有一个程序在运行,程序退出");
@@ -178,10 +178,6 @@ public class MesClient extends JFrame {
 
                     JdbcUtils.getConn();
 
-                    // 从数据库加载OP040联动提交开关状态
-                    String op040Flag = JdbcUtils.getConfig("op040_auto_submit", "true");
-                    op040AutoSubmit = op040Flag.equals("true");
-
                     welcomeWin = new LoginFarme();
                     welcomeWin.setVisible(true);
 
@@ -658,31 +654,6 @@ public class MesClient extends JFrame {
         });
         settingMenu.add(resetTcpMenu_1_1sd);
 
-        JMenuItem op040SubmitMenu = new JMenuItem("OP040联动提交:" + (op040AutoSubmit ? "开" : "关"));
-        op040SubmitMenu.setIcon(new ImageIcon(MesClient.class.getResource("/bg/reset_logo.png")));
-        op040SubmitMenu.setFont(new Font("Microsoft YaHei UI", Font.PLAIN, 20));
-        op040SubmitMenu.addMouseListener(new MouseAdapter() {
-            @Override
-            public void mousePressed(MouseEvent e) {
-                super.mouseClicked(e);
-                String pwd = JOptionPane.showInputDialog(mesClientFrame, "请输入密码");
-                if(pwd != null && pwd.equals("mes123")){
-                    op040AutoSubmit = !op040AutoSubmit;
-                    JdbcUtils.setConfig("op040_auto_submit", op040AutoSubmit ? "true" : "false");
-                    if(op040AutoSubmit){
-                        op040SubmitMenu.setText("OP040联动提交:开");
-                        MesClient.setMenuStatus("OP040联动提交已开启",0);
-                    }else{
-                        op040SubmitMenu.setText("OP040联动提交:关");
-                        MesClient.setMenuStatus("OP040联动提交已关闭",0);
-                    }
-                }else if(pwd != null){
-                    MesClient.setMenuStatus("密码错误",-1);
-                }
-            }
-        });
-        settingMenu.add(op040SubmitMenu);
-
         contentPane = new JPanel();
         contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
         setContentPane(contentPane);
@@ -1355,14 +1326,13 @@ public class MesClient extends JFrame {
             product_sn2.setText(sn);
         }
 
-        MesClient.setMenuStatus("扫码成功,正在查询质量",0);
+        MesClient.setMenuStatus("扫码成功",0);
 
         //刷新界面
         mesClientFrame.repaint();
         getUser();
-        // 查询质量(P02服务端自动建档),成功后进入等待加工状态
-        String barcode36 = getBarcode(sn);
-        Boolean sendret = DataUtil.checkQuality(nettyClient,barcode36,user20,page);
+        // 查询工件质量
+        Boolean sendret = DataUtil.checkQuality(nettyClient,sn,user20,page);
         if(!sendret){
             MesClient.setMenuStatus("消息发送失败,请重试",1);
         }

+ 11 - 68
src/com/mes/ui/MesRevice.java

@@ -10,43 +10,6 @@ import java.awt.*;
 
 public class MesRevice {
 
-    // 创建产品记录回复
-    public static void createRevice(String processMsgRet,String mes_msg){
-        try{
-            String oprno = ProtocolParam.getOprno(mes_msg).trim();
-            if(processMsgRet.equalsIgnoreCase("OK") || processMsgRet.equalsIgnoreCase("CF")) {
-                // 创建成功或已存在,直接进入等待加工状态
-                String tip = processMsgRet.equalsIgnoreCase("OK") ? "录入成功" : "工件码已存在";
-                MesClient.lastpage = 0;
-                if(oprno.equals(MesClient.mes_gw+"A") || oprno.equals(MesClient.mes_gw+"C") || oprno.equals(MesClient.mes_gw+"E")){
-                    MesClient.finish_ok_bt.setEnabled(false);
-                    MesClient.mesQualityFlagA = true;
-                    MesClient.pxstatus1.setText("A:" + tip + ",等待设备启动");
-                    MesClient.curSna = MesClient.product_sn.getText();
-                    MesClient.tjFlaga = 1;
-                }else{
-                    MesClient.finish_ng_bt.setEnabled(false);
-                    MesClient.mesQualityFlagB = true;
-                    MesClient.pxstatus2.setText("B:" + tip + ",等待设备启动");
-                    MesClient.curSnb = MesClient.product_sn2.getText();
-                    MesClient.tjFlagb = 1;
-                }
-                MesClient.setMenuStatus(tip + ",等待设备启动",0);
-            }else if(processMsgRet.equalsIgnoreCase("BM")){
-                MesClient.setMenuStatus("物料未绑定或已失效",1);
-            }else if(processMsgRet.equalsIgnoreCase("GS")){
-                MesClient.setMenuStatus("工件码格式不正确",1);
-            }else if(processMsgRet.equalsIgnoreCase("DJ")){
-                MesClient.setMenuStatus("未进行开班点检",1);
-            }else{
-                MesClient.setMenuStatus("录入MES失败,请重试",1);
-            }
-        }catch (Exception e){
-            e.printStackTrace();
-            MesClient.setMenuStatus("录入MES失败,请重试",1);
-        }
-    }
-
     // 质量查询
     public static void checkQualityRevice(String processMsgRet,String mes_msg){
         try{
@@ -152,41 +115,21 @@ public class MesRevice {
     public static void updateResultRevice(String processMsgRet,String mes_msg){
         try{
             String sn = ProtocolParam.getSn(mes_msg).trim();
-            String oprno = ProtocolParam.getOprno(mes_msg).trim();
             if(processMsgRet.equalsIgnoreCase("OK")) {
-                // 只有本工位的回复才执行resetScan,OP040回复不参与逻辑
-                if(oprno.startsWith(MesClient.mes_gw)){
-                    if(sn.equals(MesClient.product_sn2.getText())){
-                        MesClient.pxstatus2.setText("B:提交成功");
-                        MesClient.resetScanB();
-                    }else{
-                        MesClient.pxstatus1.setText("A:提交成功");
-                        MesClient.resetScanA();
-                    }
-
-                    // OP040联动提交
-                    if(MesClient.op040AutoSubmit){
-                        MesClient.getUser();
-                        String barcode36 = MesClient.getBarcode(sn);
-                        Boolean op040ret = DataUtil.sendQualityForOp040(MesClient.nettyClient, barcode36, "OK", MesClient.user20);
-                        if(!op040ret){
-                            System.out.println("OP040联动提交发送失败");
-                        }else{
-                            System.out.println("OP040联动提交已发送");
-                        }
-                    }
+                if(sn.equals(MesClient.product_sn2.getText())){
+                    MesClient.pxstatus2.setText("B:提交成功");
+                    MesClient.resetScanB();
                 }else{
-                    // OP040等其他工位的回复,只打印日志不处理
-                    System.out.println("收到非本工位回复,oprno=" + oprno + ",忽略");
+                    MesClient.pxstatus1.setText("A:提交成功");
+                    MesClient.resetScanA();
                 }
             }else{
-                // 失败回复也只处理本工位的
-                if(oprno.startsWith(MesClient.mes_gw)){
-                    if(sn.equals(MesClient.product_sn2.getText())){
-                        MesClient.pxstatus2.setText("B:提交失败");
-                    }else{
-                        MesClient.pxstatus1.setText("A:提交失败");
-                    }
+                if(sn.equals(MesClient.product_sn2.getText())){
+                    MesClient.pxstatus2.setText("B:提交失败");
+//                    MesClient.resetScanB();
+                }else{
+                    MesClient.pxstatus1.setText("A:提交失败");
+//                    MesClient.resetScanA();
                 }
             }
         }catch (Exception e){

+ 5 - 6
src/com/mes/ui/PlcUtil.java

@@ -244,8 +244,8 @@ public class PlcUtil {
     // 修改设备的禁用开关
     public static Boolean changeEnable(S7PLC s7PLC,Boolean result){
         try{
-//            s7PLC.writeBoolean("DB9.18.3",result); // AB
-            s7PLC.writeBoolean("DB9.30.4",result); // CD
+//            s7PLC.writeBoolean("DB9.18.1",result); // AB
+            s7PLC.writeBoolean("DB9.30.4",result); // 610-P2
             return true;
         }catch (Exception e){
             e.printStackTrace();
@@ -257,9 +257,8 @@ public class PlcUtil {
     public static Boolean getEnable(S7PLC s7PLC){
         Boolean ret = false;
         try{
-//            ret = s7PLC.readBoolean("DB9.18.3");  // AB
-            ret = s7PLC.readBoolean("DB9.30.4");  // CD
-
+//            ret = s7PLC.readBoolean("DB9.18.1"); // AB
+            ret = s7PLC.readBoolean("DB9.30.4"); // 610-P2
         }catch (Exception e){
             e.printStackTrace();
         }
@@ -268,7 +267,7 @@ public class PlcUtil {
 
 
 
-    // 获取当前是A面还是B面
+    // 获取当前是A面还是B面(610-P2:DB1.2.0=true 时为 B 面)
     public static String getCurAside(S7PLC s7PLC){
         String str = "B";
         try{

+ 0 - 43
src/com/mes/util/JdbcUtils.java

@@ -79,12 +79,6 @@ public class JdbcUtils {
 				")";
 		statement.executeUpdate(submitRecord);
 
-		// 创建配置表
-		String sqlConfig = "CREATE TABLE if not exists sys_config("
-				+ "config_key VARCHAR(50) PRIMARY KEY,"
-				+ "config_value VARCHAR(200))";
-		statement.executeUpdate(sqlConfig);
-
         statement.close();
     }
     
@@ -250,43 +244,6 @@ public class JdbcUtils {
             e.printStackTrace();
         }
     }
-
-    // 读取配置项,不存在返回defaultValue
-    public static String getConfig(String key, String defaultValue){
-        try{
-            if(conn == null || conn.isClosed()){
-                openConnection();
-            }
-            Statement statement = conn.createStatement();
-            ResultSet rs = statement.executeQuery("SELECT config_value FROM sys_config WHERE config_key = '"+key+"'");
-            if(rs.next()){
-                String val = rs.getString(1);
-                rs.close();
-                statement.close();
-                return val;
-            }
-            rs.close();
-            statement.close();
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-        return defaultValue;
-    }
-
-    // 保存配置项(存在则更新,不存在则插入)
-    public static void setConfig(String key, String value){
-        try{
-            if(conn == null || conn.isClosed()){
-                openConnection();
-            }
-            Statement statement = conn.createStatement();
-            String sql = "INSERT OR REPLACE INTO sys_config (config_key, config_value) VALUES ('"+key+"','"+value+"')";
-            statement.executeUpdate(sql);
-            statement.close();
-        }catch(Exception e){
-            e.printStackTrace();
-        }
-    }
     
     
   //设备结构数据库