严智鑫
2025-03-11 67cbfd8f7c2ed9598eef92470313f3cf31028ea1
JiuMuMesParent/moduleService/DeviceInteractionModule/src/main/java/com/mes/plcTaskThread/MachineEdging.java
@@ -36,10 +36,11 @@
    LineConfigurationService lineConfigurationService;
    public static int thinness = 40;
    public static int edgSpeed = 40;
    public static Long machineId = 6L;
    //public static Long machineId = 6L;
    public List<Map> sendRecords = new ArrayList<>();
    public MachineEdging(TaskingMapper taskingMapper, MachineMapper machineMapper, TaskingService taskingService, PrimitiveTaskService primitiveTaskService, LineConfigurationService lineConfigurationService){
    public Machine thisMachine;
    public MachineEdging(Machine machine,TaskingMapper taskingMapper, MachineMapper machineMapper, TaskingService taskingService, PrimitiveTaskService primitiveTaskService, LineConfigurationService lineConfigurationService){
        this.thisMachine = machine;
        this.taskingMapper = taskingMapper;
        this.machineMapper = machineMapper;
        this.taskingService = taskingService;
@@ -48,8 +49,8 @@
    }
    public void plcStart() {
        Machine machine=machineMapper.selectById(machineId);
        ModbusTcp modbusTcp1 =new ModbusTcp(machine.getIp(),machine.getPort(),"PlcEdging");
        Machine machine=machineMapper.selectById(thisMachine.getId());
        ModbusTcp modbusTcp1 =new ModbusTcp(machine.getIp(),machine.getPort(),machine.getFileName());
        try {
            modbusTcp1.connect();
            PlcAgreement plcAgreement=modbusTcp1.getPlcAgreement("PlcEdging");
@@ -63,7 +64,6 @@
            PlcParameter plcRequest =plcAgreement.getPlcParameter("plcRequest");//请求字
            PlcParameter mesSend =plcAgreement.getPlcParameter("mesSend");//发送字
            PlcParameter plcReport =plcAgreement.getPlcParameter("plcReport");//汇报字
            PlcParameter plcReportID =plcAgreement.getPlcParameter("plcReportID");//汇报ID
@@ -195,13 +195,15 @@
            if(((1==plcRequest.getValueInt()&&0==mesSend.getValueInt())
                    &&"开工".equals(machine.getState())
                    &&taskingCount.size()<machine.getMaxTaskCount())){
                Machine loadMachine=machineMapper.selectById(2L);
                //Machine loadMachine=machineMapper.selectById(2L);
                LineConfiguration lineConfigurationBefore=lineConfigurationService.machineLineConfigurationBefore(machine);
                Machine loadMachine=machineMapper.selectById(lineConfigurationBefore.getMachineId());
                Tasking tasking;
                String scan_id="";
                if(loadMachine.getMode()==1){
                    //标准模式  找已领取未完成的第一条任务
                    LineConfiguration lineConfiguration=lineConfigurationService.machineLineConfiguration(machine);
                    List<PrimitiveTask> findPrimitiveTasking=primitiveTaskService.findPrimitiveTasking(machine,lineConfiguration.getLineId());
                    //LineConfiguration lineConfiguration=lineConfigurationService.machineLineConfiguration(machine);
                    List<PrimitiveTask> findPrimitiveTasking=primitiveTaskService.findPrimitiveTasking(machine,lineConfigurationBefore.getLineId());
                    //添加数据:
                    for(PrimitiveTask primitiveTask:findPrimitiveTasking){
                        List<Tasking> taskingTopList=taskingMapper.selectList(new QueryWrapper<Tasking>().lambda()
@@ -209,6 +211,7 @@
                        );
                        //任务数>已上数量
                        if(taskingTopList.size()<primitiveTask.getTaskQuantity()){
                            LineConfiguration lineConfiguration=lineConfigurationService.machineLineConfiguration(machine);
                            Tasking taskingAdd=primitiveTaskService.convertListTasking(primitiveTask,lineConfiguration.getId());
                            Integer taskSequence=1;
                            if (machine.getTodayCount()>0&&machine.getTodayCount()<5000){
@@ -226,7 +229,9 @@
                    tasking=taskingService.startMachineTask(machine);
                }else{
                    //定制模式
                    String PlcRequestID_=clientTCPSocket();
                    LineConfiguration lineConfigurationAfter=lineConfigurationService.machineLineConfigurationBefore(machine);
                    Machine scanMachine=machineMapper.selectById(lineConfigurationAfter.getMachineId());
                    String PlcRequestID_=clientTCPSocket(scanMachine);
                    //String PlcRequestID_=",,46408889";
                    if (PlcRequestID_==null||PlcRequestID_.lastIndexOf(",")<0){
                        modbusTcp1.close();
@@ -267,6 +272,8 @@
                    modbusTcp1.close();
                    return;
                }
            }else if(0==plcRequest.getValueInt()){
                errorMachine(machine,"");
            }
            //}
@@ -285,9 +292,9 @@
            machineMapper.updateById(machine);
        }
    }
    public String clientTCPSocket() {
    public String clientTCPSocket(Machine machine) {
        try {
            Machine machine=machineMapper.selectById(4L);
            //Machine machine=machineMapper.selectById(4L);
            Socket clientSocket = new Socket(machine.getIp(), machine.getPort());
            try {
                clientSocket.setSoTimeout(1000);