240 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			240 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
package com.cnbm.packing.controller;
 | 
						|
 | 
						|
import com.cnbm.dispatch.enums.kuka.step1.Step1Mes2PlcVar;
 | 
						|
import com.cnbm.dispatch.enums.kuka.step1.Step1Plc2MesVar;
 | 
						|
import com.cnbm.dispatch.enums.kuka.step2.Step2Mes2PlcVar;
 | 
						|
import com.cnbm.dispatch.enums.kuka.step2.Step2Plc2MesVar;
 | 
						|
import com.cnbm.dispatch.enums.kuka.step3.Step3Mes2PlcVar;
 | 
						|
import com.cnbm.dispatch.enums.kuka.step3.Step3Plc2MesVar;
 | 
						|
import com.cnbm.packing.service.DynamicDataSourceService;
 | 
						|
import com.cnbm.s7.entity.R;
 | 
						|
import com.cnbm.s7.s7connector.enmuc.S7Client;
 | 
						|
import com.cnbm.s7.s7connector.type.PlcVar;
 | 
						|
import io.swagger.annotations.Api;
 | 
						|
import io.swagger.annotations.ApiImplicitParam;
 | 
						|
import io.swagger.annotations.ApiImplicitParams;
 | 
						|
import org.slf4j.Logger;
 | 
						|
import org.slf4j.LoggerFactory;
 | 
						|
import org.springframework.beans.factory.annotation.Autowired;
 | 
						|
import org.springframework.web.bind.annotation.*;
 | 
						|
import com.cnbm.common.utils.Result;
 | 
						|
import springfox.documentation.annotations.ApiIgnore;
 | 
						|
 | 
						|
import java.io.UnsupportedEncodingException;
 | 
						|
import java.math.BigDecimal;
 | 
						|
import java.text.ParseException;
 | 
						|
import java.util.Map;
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
 * @Author weihongyang
 | 
						|
 * @Date 2022/6/24 8:57 AM
 | 
						|
 * @Version 1.0
 | 
						|
 */
 | 
						|
@RestController
 | 
						|
@RequestMapping("/test")
 | 
						|
@Api(tags="测试接口")
 | 
						|
public class TestController {
 | 
						|
 | 
						|
    private static final Logger logger = LoggerFactory.getLogger(TestController.class);
 | 
						|
    @Autowired
 | 
						|
    DynamicDataSourceService service;
 | 
						|
    private Object read(S7Client s7Client,Step1Plc2MesVar var) throws UnsupportedEncodingException, ParseException {
 | 
						|
        try {
 | 
						|
            return s7Client.read(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getLength(), var.getStrSize(), var.getType());
 | 
						|
        }catch (Exception e){
 | 
						|
 | 
						|
            e.printStackTrace();
 | 
						|
            return null;
 | 
						|
        }
 | 
						|
    }
 | 
						|
    private Object read(S7Client s7Client,Step1Mes2PlcVar var) throws UnsupportedEncodingException, ParseException {
 | 
						|
        try {
 | 
						|
            return s7Client.read(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getLength(), var.getStrSize(), var.getType());
 | 
						|
        }catch (Exception e){
 | 
						|
 | 
						|
            e.printStackTrace();
 | 
						|
            return null;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    private Object read(S7Client s7Client,Step2Plc2MesVar var) throws UnsupportedEncodingException, ParseException {
 | 
						|
        try {
 | 
						|
            return s7Client.read(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getLength(), var.getStrSize(), var.getType());
 | 
						|
        }catch (Exception e){
 | 
						|
 | 
						|
            e.printStackTrace();
 | 
						|
            return null;
 | 
						|
        }
 | 
						|
    }
 | 
						|
    private Object read(S7Client s7Client,Step2Mes2PlcVar var) throws UnsupportedEncodingException, ParseException {
 | 
						|
        try {
 | 
						|
            return s7Client.read(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getLength(), var.getStrSize(), var.getType());
 | 
						|
        }catch (Exception e){
 | 
						|
 | 
						|
            e.printStackTrace();
 | 
						|
            return null;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    private Object read(S7Client s7Client,Step3Plc2MesVar var) throws UnsupportedEncodingException, ParseException {
 | 
						|
        try {
 | 
						|
            return s7Client.read(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getLength(), var.getStrSize(), var.getType());
 | 
						|
        }catch (Exception e){
 | 
						|
 | 
						|
            e.printStackTrace();
 | 
						|
            return null;
 | 
						|
        }
 | 
						|
    }
 | 
						|
    private Object read(S7Client s7Client,Step3Mes2PlcVar var) throws UnsupportedEncodingException, ParseException {
 | 
						|
        try {
 | 
						|
            return s7Client.read(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getLength(), var.getStrSize(), var.getType());
 | 
						|
        }catch (Exception e){
 | 
						|
 | 
						|
            e.printStackTrace();
 | 
						|
            return null;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    @PostMapping("/testReadAll")
 | 
						|
    public R testReadAll() throws UnsupportedEncodingException, ParseException {
 | 
						|
        for(Step1Plc2MesVar actual:Step1Plc2MesVar.values()){
 | 
						|
            logger.info(read(S7Client.S7_KUKA,actual).toString());
 | 
						|
            System.out.println(actual.getName().toString()+" : "+read(S7Client.S7_KUKA,actual).toString());
 | 
						|
        }
 | 
						|
        for(Step1Mes2PlcVar actual:Step1Mes2PlcVar.values()){
 | 
						|
            logger.info(read(S7Client.S7_KUKA,actual).toString());
 | 
						|
            System.out.println(actual.getName().toString()+" : "+read(S7Client.S7_KUKA,actual).toString());
 | 
						|
        }
 | 
						|
 | 
						|
        for(Step2Plc2MesVar actual:Step2Plc2MesVar.values()){
 | 
						|
            logger.info(read(S7Client.S7_KUKA,actual).toString());
 | 
						|
            System.out.println(actual.getName().toString()+" : "+read(S7Client.S7_KUKA,actual).toString());
 | 
						|
        }
 | 
						|
        for(Step2Mes2PlcVar actual:Step2Mes2PlcVar.values()){
 | 
						|
            logger.info(read(S7Client.S7_KUKA,actual).toString());
 | 
						|
            System.out.println(actual.getName().toString()+" : "+read(S7Client.S7_KUKA,actual).toString());
 | 
						|
        }
 | 
						|
 | 
						|
        for(Step3Plc2MesVar actual:Step3Plc2MesVar.values()){
 | 
						|
            logger.info(read(S7Client.S7_KUKA,actual).toString());
 | 
						|
            System.out.println(actual.getName().toString()+" : "+read(S7Client.S7_KUKA,actual).toString());
 | 
						|
        }
 | 
						|
        for(Step3Mes2PlcVar actual:Step3Mes2PlcVar.values()){
 | 
						|
            logger.info(read(S7Client.S7_KUKA,actual).toString());
 | 
						|
            System.out.println(actual.getName().toString()+" : "+read(S7Client.S7_KUKA,actual).toString());
 | 
						|
        }
 | 
						|
        return R.ok();
 | 
						|
    }
 | 
						|
 | 
						|
    public static void main(String[] args) {
 | 
						|
        BigDecimal voc = new BigDecimal(59.799);
 | 
						|
        System.out.println(Float.valueOf(voc.toString()));
 | 
						|
    }
 | 
						|
 | 
						|
    @PostMapping("/testWrite")
 | 
						|
    public R testWrite() {
 | 
						|
        BigDecimal voc = new BigDecimal(59.799);
 | 
						|
        BigDecimal isc = new BigDecimal(3.799);
 | 
						|
        BigDecimal vmpp = new BigDecimal(46.799);
 | 
						|
        BigDecimal impp = new BigDecimal(3.0799);
 | 
						|
        write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Pnom,new Integer(1));
 | 
						|
        write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Voc,voc);
 | 
						|
        write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Isc,isc);
 | 
						|
        write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Vmpp,vmpp);
 | 
						|
        write(S7Client.S7_KUKA,Step1Mes2PlcVar.dLable_Impp,impp);
 | 
						|
 | 
						|
 | 
						|
        write(S7Client.S7_KUKA,Step2Mes2PlcVar.BoxId,"12345678901111111111");
 | 
						|
        write(S7Client.S7_KUKA,Step1Mes2PlcVar.SubArrivedFinish,true);
 | 
						|
        write(S7Client.S7_KUKA,Step2Mes2PlcVar.ShelfIsFullFinish,false);
 | 
						|
 | 
						|
        write(S7Client.S7_KUKA,Step3Mes2PlcVar.ShelfIsFullArrivedFinish,true);
 | 
						|
 | 
						|
 | 
						|
        return R.ok();
 | 
						|
    }
 | 
						|
    @PostMapping("/testlogger")
 | 
						|
    public R testlogger() {
 | 
						|
        logger.info("test logger");
 | 
						|
        System.out.println("test logger");
 | 
						|
        return R.ok();
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    @PostMapping("getPMPPBySubId")
 | 
						|
    @ApiImplicitParams({
 | 
						|
            @ApiImplicitParam(name = "subId", value = "基板ID", paramType = "query", required = true, dataTypeClass=Integer.class) ,
 | 
						|
    })
 | 
						|
    public Result<Float> getPMPPBySubId(@ApiIgnore @RequestParam Map<String, Object> params){
 | 
						|
        Object subId = params.get("subId");
 | 
						|
        return new Result<Float>().ok(service.getPMPPBySubId(subId.toString()));
 | 
						|
    }
 | 
						|
    @PostMapping("getOrderNameBySubId")
 | 
						|
    @ApiImplicitParams({
 | 
						|
            @ApiImplicitParam(name = "subId", value = "基板ID", paramType = "query", required = true, dataTypeClass=Integer.class) ,
 | 
						|
    })
 | 
						|
    public Result<String> getOrderNameBySubId(@ApiIgnore @RequestParam Map<String, Object> params){
 | 
						|
        Object subId = params.get("subId");
 | 
						|
        //service.getExtendArgFromCamline()
 | 
						|
        return new Result<String>().ok(service.getOrderNameBySubId(subId.toString()));
 | 
						|
    }
 | 
						|
 | 
						|
    @PostMapping("getExtendArgFromCamline")
 | 
						|
    @ApiImplicitParams({
 | 
						|
            @ApiImplicitParam(name = "subId", value = "基板ID", paramType = "query", required = true, dataTypeClass=Integer.class) ,
 | 
						|
    })
 | 
						|
    public Result<String> getExtendArgFromCamline(@ApiIgnore @RequestParam Map<String, Object> params){
 | 
						|
        Object subId = params.get("subId");
 | 
						|
        return new Result<String>().ok(service.getExtendArgFromCamline(subId.toString()).toString());
 | 
						|
    }
 | 
						|
 | 
						|
    private void write(S7Client s7Client, Step1Mes2PlcVar var, Object newValue) {
 | 
						|
        if(var.getType().equals(PlcVar.STRING_Array)){
 | 
						|
            String[] s = (String[])newValue;
 | 
						|
            String[] ss = (String[])newValue;
 | 
						|
            if(s.length > var.getLength() ){
 | 
						|
                ss = new String[var.getLength()];
 | 
						|
                for(int i=0;i< var.getLength();i++){
 | 
						|
                    ss[i] = s[i];
 | 
						|
                }
 | 
						|
            }
 | 
						|
            s7Client.write(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getStrSize(), var.getType(),ss);
 | 
						|
        }else {
 | 
						|
            s7Client.write(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getStrSize(), var.getType(),newValue);
 | 
						|
        }
 | 
						|
    }
 | 
						|
    private void write(S7Client s7Client, Step2Mes2PlcVar var, Object newValue) {
 | 
						|
        if(var.getType().equals(PlcVar.STRING_Array)){
 | 
						|
            String[] s = (String[])newValue;
 | 
						|
            String[] ss = (String[])newValue;
 | 
						|
            if(s.length > var.getLength() ){
 | 
						|
                ss = new String[var.getLength()];
 | 
						|
                for(int i=0;i< var.getLength();i++){
 | 
						|
                    ss[i] = s[i];
 | 
						|
                }
 | 
						|
            }
 | 
						|
            s7Client.write(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getStrSize(), var.getType(),ss);
 | 
						|
        }else {
 | 
						|
            s7Client.write(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getStrSize(), var.getType(),newValue);
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    private void write(S7Client s7Client, Step3Mes2PlcVar var, Object newValue) {
 | 
						|
        if(var.getType().equals(PlcVar.STRING_Array)){
 | 
						|
            String[] s = (String[])newValue;
 | 
						|
            String[] ss = (String[])newValue;
 | 
						|
            if(s.length > var.getLength() ){
 | 
						|
                ss = new String[var.getLength()];
 | 
						|
                for(int i=0;i< var.getLength();i++){
 | 
						|
                    ss[i] = s[i];
 | 
						|
                }
 | 
						|
            }
 | 
						|
            s7Client.write(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getStrSize(), var.getType(),ss);
 | 
						|
        }else {
 | 
						|
            s7Client.write(var.getArea(), var.getAreaNumber(), var.getByteOffset(), var.getBitOffset(), var.getStrSize(), var.getType(),newValue);
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
}
 |