package com.sp_comm; import com.dev.lubrication.Oil_comm; import com.dev.lubrication.Ups_comm; import com.dev.lubrication.Water_comm; import com.intelligt.modbus.MyJlibModbus; import com.modbus.data.MyModbusMaster; public class Lubrication_Cool_Monitor_Thread implements Runnable{ public static final int DEV_TYPE_GAS_STATION = 0; public static final int DEV_TYPE_WATER_STATION = 1; public static final int DEV_TYPE_UPS_DEVICE = 2; /***********************************************/ public MyModbusMaster master; public MyJlibModbus mymodbus; public static int DEV_TYPE = DEV_TYPE_GAS_STATION; //É豸ÀàÐÍ public boolean read_data = false; //¶ÁÈ¡Êý¾Ý public boolean auto_update_data = false; //×Ô¶¯Ëæ»úÊý¾Ý public boolean write_data = false; //дÈëÊý¾Ý public boolean running_en = true; //ÊÇ·ñÔËÐÐ public Oil_comm gas; public Ups_comm ups; public Water_comm water; public Lubrication_Cool_Monitor_Thread(String serverip,int slave_id){ //master = new MyModbusMaster(serverip,slave_id); mymodbus = new MyJlibModbus(serverip, slave_id, 40000, 16, 40099, 16); gas = new Oil_comm(); ups = new Ups_comm(); water = new Water_comm(); } @Override public void run() { new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(1000); } catch (InterruptedException e1) { e1.printStackTrace(); } while(running_en) { //System.out.println(this.getClass().getName()); try { /********* ¶ÁÈ¡Êý¾Ý ****************************************************/ if(read_data) { if(DEV_TYPE == DEV_TYPE_GAS_STATION) { gas.readMutliData(mymodbus); }else if(DEV_TYPE == DEV_TYPE_WATER_STATION) { water.readMutliData(mymodbus); }else if(DEV_TYPE == DEV_TYPE_UPS_DEVICE) { ups.readMutliData(mymodbus); } } /********* ×Ô¶¯Ëæ»úÊý¾Ý ****************************************************/ if(auto_update_data) { if(DEV_TYPE == DEV_TYPE_GAS_STATION) { gas.randomData(); gas.writeMutliData(mymodbus); }else if(DEV_TYPE == DEV_TYPE_WATER_STATION) { water.randomData(); water.writeMutliData(mymodbus); }else if(DEV_TYPE == DEV_TYPE_UPS_DEVICE) { ups.randomData(); ups.writeMutliData(mymodbus); } //System.err.println(data); } /********* дÈëÊý¾Ý *****************************************************************/ if(write_data) { if(DEV_TYPE == DEV_TYPE_GAS_STATION) { gas.writeMutliData(mymodbus); }else if(DEV_TYPE == DEV_TYPE_WATER_STATION) { water.writeMutliData(mymodbus); }else if(DEV_TYPE == DEV_TYPE_UPS_DEVICE) { ups.writeMutliData(mymodbus); } write_data = false; } Thread.sleep(500); } catch (Exception e) { e.printStackTrace(); } } } }).start(); System.out.println("¿ªÊ¼Ï̡߳£¡£¡£"); mymodbus.init(); System.out.println("¼´½«ÔËÐС£¡£¡£"); } }