package com.electrical.TwoKW;
|
|
import java.util.List;
|
|
import com.modbus.data.MyModbusMaster;
|
import com.modbus.data.MyModbusUtils;
|
import com.serotonin.modbus4j.BatchRead;
|
import com.serotonin.modbus4j.BatchResults;
|
import com.sql.MysqlConnPool;
|
|
public class Electrical_2KW_SocketClient_Thread implements Runnable{
|
|
public MysqlConnPool conn_pool;
|
public Electric_inf_2kw einf;
|
public Electric_Rt_2kw ert;
|
public Electric_Control_Single_2kw econ;
|
public MyModbusMaster master;
|
|
public Electrical_2KW_SocketClient_Thread(Electric_inf_2kw winf,MysqlConnPool conn_pool) {
|
this.conn_pool = conn_pool;
|
this.einf = winf;
|
|
ert = new Electric_Rt_2kw(einf.electric2KW_id);
|
econ = new Electric_Control_Single_2kw(einf.electric2KW_id);
|
master = new MyModbusMaster(einf.getElectric2KW_ip(), MyModbusMaster.SLAVEID_DEFAULT);
|
}
|
|
|
@Override
|
public void run() {
|
int runCount = 0;
|
while(true) {
|
try {
|
|
if(runCount %2 == 0) {
|
//*************************** ¸üÐÂ2MWϵͳʵʱÐÅÏ¢******************************//*
|
readMutilElectric_Rt_2kw(master, ert);
|
Electrical_2KWTask_SQL.update_Electric_Rt_2KW(conn_pool, ert);
|
|
|
|
|
|
//**************************** ¸üÐÂ2MWϵͳ¿ØÖÆÐÅÏ¢ *****************************//*
|
readMutilElectric_Control_Single_2kw(master, econ);
|
Electrical_2KWTask_SQL.update_Electric_Control_2KW(conn_pool, econ);
|
|
}
|
|
/*if(runCount %4 == 0) {
|
//*************************** ¶ÁÈ¡2MWÐÅÏ¢¹ÊÕÏ ******************************//*
|
//readWaterAlarmData(master,walarm);
|
readMutilWaterAlarmData(master, walarm);
|
Water_Task_SQL.insertOrUpdateWater_alarmTable(conn_pool, listAlarm);
|
}*/
|
|
if(runCount%10 == 0) {
|
//¸üе±Ç°É豸ip
|
master.setTarget_ip(einf.electric2KW_ip);
|
}
|
if(runCount > 999900) {
|
runCount = 0;
|
}
|
runCount ++;
|
Thread.sleep(200);
|
} catch (Exception e) {
|
try {
|
Thread.sleep(1000);
|
} catch (InterruptedException e1) {
|
//e1.printStackTrace();
|
}
|
e.printStackTrace();
|
}
|
}
|
}
|
/**
|
* ¸üÐÂ2MWµçԴϵͳʵʱ״̬ÐÅÏ¢
|
* @param master
|
* @param ert
|
*/
|
public void readMutilElectric_Rt_2kw(MyModbusMaster master, Electric_Rt_2kw ert) {
|
BatchRead<Integer> batch = ert.createBatchRead(master);
|
BatchResults<Integer> res = MyModbusUtils.readMutilRegisters(batch, master);
|
ert.putBatchResult(res);
|
}
|
/**
|
* ¸üÐÂ2MWµçÔ´¿ØÖÆÐÅÏ¢
|
* @param master
|
* @param econ
|
*/
|
public void readMutilElectric_Control_Single_2kw(MyModbusMaster master, Electric_Control_Single_2kw econ) {
|
BatchRead<Integer> batch = econ.createBatchRead(master);
|
BatchResults<Integer> res = MyModbusUtils.readMutilRegisters(batch, master);
|
econ.putBatchResult(res);
|
}
|
|
|
/**
|
* ¸üÐÂ2MWµçÔ´¿ØÖÆÐÅÏ¢
|
* @param master
|
* @param econ
|
*/
|
public void readMutilElectric_State_2kw(MyModbusMaster master, Electric_State_2kw state) {
|
BatchRead<Integer> batch = state.createBatchRead(master);
|
BatchResults<Integer> res = MyModbusUtils.readMutilRegisters(batch, master);
|
state.putBatchResult(res);
|
}
|
}
|