using System.Collections;
using System.Collections.Generic;
using System.Data;
using UnityEngine;
using UnityEngine.UI;
public class PVModule : MonoBehaviour
{
private string command;
private DataSet dataset;
//逆变器品牌
public Dropdown inverterIDropdown;
//逆变器型号
public Dropdown invertermIDropdown;
//该方案中使用的光伏组件品牌ID
public Dropdown pvmIDropdown;
//该方案中使用的光伏组件型号ID
public Dropdown pvmmIDropdown;
//逆变器参数
public List<Text> inverterDataList = new List<Text>();
//光伏组件参数
public List<Text> pvmIDataList = new List<Text>();
//Text区/县
public Text county;
//Text东经
public Text eastlongitude;
//text北纬
public Text northlatitude;
//Text组件最高温度
public Text maximumtemperature;
//Text组件最低温度
public Text minimuntemperature;
//串联数量
public Dropdown mppt1cDropdown;
//并联数量
public Dropdown mppt1bDropdown;
//mppt2 串联数量
public Dropdown mppt2cDropdown;
//mppt2 并联数量
public Dropdown mppt2bDropdown;
//组串1组件数量
public List<Text> mppt1cList = new List<Text>();
//组串1并组件数量额定数值
public List<Text> mppt1RatedValuebList = new List<Text>();
//组串1并组件数量实际数值
public List<Text> mppt1actualValuebList = new List<Text>();
//组串2组件数量
public List<Text> mppt2cList = new List<Text>();
//组串2并组件数量额定数值
public List<Text> mppt2RatedValuebList = new List<Text>();
//组串2并组件数量实际数值
public List<Text> mppt2actualValuebList = new List<Text>();
void Start()
{
Init();
}
void Init()
{
//初始逆变器名字
InitialInverterName();
//初始化光伏组件名字
InitializePVModuleName();
//初始逆变器型号
InitialInverterTypeNumber(inverterIDropdown.value + 1);
////初始光伏组件型号
InitializePVModuleModel(pvmIDropdown.value + 1);
//默认第一个值
InitialInverterParameters((invertermIDropdown.captionText.text));
//注册监听
//逆变器注册监听
inverterIDropdown.onValueChanged.AddListener(delegate
{
InverterlDropdownValueChanged(inverterIDropdown);
});
//逆变器型号注册监听
invertermIDropdown.onValueChanged.AddListener(delegate
{
InvertermlDropdownValueChanged(invertermIDropdown);
});
//光伏组件监听
pvmIDropdown.onValueChanged.AddListener(delegate {
PvmIDropdownValueChange(pvmIDropdown);
});
////光伏组件型号监听
pvmmIDropdown.onValueChanged.AddListener(delegate {
PvmmIDropdownOnValueChanged(pvmmIDropdown);
});
}
//初始逆变器名字
private void InitialInverterName()
{
command = "select BrandCHS from inverter";
dataset = Sql.Instance().GetDataSet(command);
inverterIDropdown.options.Clear();
inverterIDropdown.captionText.text = dataset.Tables[0].Rows[0][0].ToString();
for (int i = 0; i < dataset.Tables[0].Rows.Count; i++)
{
Dropdown.OptionData op1 = new Dropdown.OptionData();
op1.text = dataset.Tables[0].Rows[i][0].ToString();
inverterIDropdown.options.Add(op1);
}
inverterIDropdown.value = 0;
dataset.Dispose();
}
//初始组件名字
private void InitializePVModuleName()
{
command = "select BrandCHS from pvmodule";
dataset = Sql.Instance().GetDataSet(command);
pvmIDropdown.options.Clear();
pvmIDropdown.captionText.text = dataset.Tables[0].Rows[0][0].ToString();
for (int i = 0; i < dataset.Tables[0].Rows.Count; i++)
{
Dropdown.OptionData op1 = new Dropdown.OptionData();
op1.text = dataset.Tables[0].Rows[i][0].ToString();
pvmIDropdown.options.Add(op1);
}
pvmIDropdown.value = 0;
dataset.Dispose();
}
//初始逆变器型号
private void InitialInverterTypeNumber(int id)
{
command = "select Model from invertermodel where InverterID=" + id + ";";
dataset = Sql.Instance().GetDataSet(command);
invertermIDropdown.options.Clear();
invertermIDropdown.captionText.text = dataset.Tables[0].Rows[0][0].ToString();
for (int i = 0; i < dataset.Tables[0].Rows.Count; i++)
{
Dropdown.OptionData op1 = new Dropdown.OptionData();
op1.text = dataset.Tables[0].Rows[i][0].ToString();
invertermIDropdown.options.Add(op1);
}
invertermIDropdown.value = 0;
dataset.Dispose();
}
//初始光伏组件型号
private void InitializePVModuleModel(int id)
{
command = "select Model from pvmodulemodel where PVmoduleID=" + id + ";";
dataset = Sql.Instance().GetDataSet(command);
pvmmIDropdown.options.Clear();
pvmmIDropdown.captionText.text = dataset.Tables[0].Rows[0][0].ToString();
for (int i = 0; i < dataset.Tables[0].Rows.Count; i++)
{
Dropdown.OptionData op1 = new Dropdown.OptionData();
op1.text = dataset.Tables[0].Rows[i][0].ToString();
pvmmIDropdown.options.Add(op1);
}
pvmmIDropdown.value = 0;
dataset.Dispose();
}
////初始逆变器参数
private void InitialInverterParameters(string text)
{
//初始逆变器参数
command = "select * from invertermodel where Model='" + text + "';";
dataset = Sql.Instance().GetDataSet(command);
SetinverterDataList(0, dataset.Tables[0].Rows[0]["MaxDCIn"].ToString());
SetinverterDataList(1, dataset.Tables[0].Rows[0]["ACOut"].ToString());
SetinverterDataList(2, dataset.Tables[0].Rows[0]["MaxEfficiency"].ToString());
SetinverterDataList(3, dataset.Tables[0].Rows[0]["EfficiencyE"].ToString());
SetinverterDataList(4, "2");
SetinverterDataList(5, dataset.Tables[0].Rows[0]["MinU"].ToString());
SetinverterDataList(6, dataset.Tables[0].Rows[0]["MaxU"].ToString());
SetinverterDataList(7, dataset.Tables[0].Rows[0]["MaxDCU"].ToString());
SetinverterDataList(8, dataset.Tables[0].Rows[0]["MaxDCI1"].ToString());
SetinverterDataList(9, dataset.Tables[0].Rows[0]["Length"].ToString() + "*" + dataset.Tables[0].Rows[0]["Width"].ToString() + "*" + dataset.Tables[0].Rows[0]["Height"].ToString());
SetinverterDataList(10, dataset.Tables[0].Rows[0]["Weight"].ToString());
dataset.Dispose();
}
//invertermIDropdown响应事件
private void InvertermlDropdownValueChanged(Dropdown change)
{
InitialInverterParameters((change.captionText.text));
}
//inverterIDropdown响应事件
public void InverterlDropdownValueChanged(Dropdown change)
{
InitialInverterTypeNumber(change.value+1);
//默认第一个值
InitialInverterParameters((invertermIDropdown.captionText.text));
}
//pvmIDropdown响应
private void PvmIDropdownValueChange(Dropdown change)
{
}
//pvmmIDropdown响应
private void PvmmIDropdownOnValueChanged(Dropdown change)
{
}
//逆变器参数
public void SetinverterDataList(int i, string text)
{
inverterDataList[i].text = text;
}
}
using System.Collections.Generic;
using System.Data;
using UnityEngine;
using UnityEngine.UI;
public class PVModule : MonoBehaviour
{
private string command;
private DataSet dataset;
//逆变器品牌
public Dropdown inverterIDropdown;
//逆变器型号
public Dropdown invertermIDropdown;
//该方案中使用的光伏组件品牌ID
public Dropdown pvmIDropdown;
//该方案中使用的光伏组件型号ID
public Dropdown pvmmIDropdown;
//逆变器参数
public List<Text> inverterDataList = new List<Text>();
//光伏组件参数
public List<Text> pvmIDataList = new List<Text>();
//Text区/县
public Text county;
//Text东经
public Text eastlongitude;
//text北纬
public Text northlatitude;
//Text组件最高温度
public Text maximumtemperature;
//Text组件最低温度
public Text minimuntemperature;
//串联数量
public Dropdown mppt1cDropdown;
//并联数量
public Dropdown mppt1bDropdown;
//mppt2 串联数量
public Dropdown mppt2cDropdown;
//mppt2 并联数量
public Dropdown mppt2bDropdown;
//组串1组件数量
public List<Text> mppt1cList = new List<Text>();
//组串1并组件数量额定数值
public List<Text> mppt1RatedValuebList = new List<Text>();
//组串1并组件数量实际数值
public List<Text> mppt1actualValuebList = new List<Text>();
//组串2组件数量
public List<Text> mppt2cList = new List<Text>();
//组串2并组件数量额定数值
public List<Text> mppt2RatedValuebList = new List<Text>();
//组串2并组件数量实际数值
public List<Text> mppt2actualValuebList = new List<Text>();
void Start()
{
Init();
}
void Init()
{
//初始逆变器名字
InitialInverterName();
//初始化光伏组件名字
InitializePVModuleName();
//初始逆变器型号
InitialInverterTypeNumber(inverterIDropdown.value + 1);
////初始光伏组件型号
InitializePVModuleModel(pvmIDropdown.value + 1);
//默认第一个值
InitialInverterParameters((invertermIDropdown.captionText.text));
//注册监听
//逆变器注册监听
inverterIDropdown.onValueChanged.AddListener(delegate
{
InverterlDropdownValueChanged(inverterIDropdown);
});
//逆变器型号注册监听
invertermIDropdown.onValueChanged.AddListener(delegate
{
InvertermlDropdownValueChanged(invertermIDropdown);
});
//光伏组件监听
pvmIDropdown.onValueChanged.AddListener(delegate {
PvmIDropdownValueChange(pvmIDropdown);
});
////光伏组件型号监听
pvmmIDropdown.onValueChanged.AddListener(delegate {
PvmmIDropdownOnValueChanged(pvmmIDropdown);
});
}
//初始逆变器名字
private void InitialInverterName()
{
command = "select BrandCHS from inverter";
dataset = Sql.Instance().GetDataSet(command);
inverterIDropdown.options.Clear();
inverterIDropdown.captionText.text = dataset.Tables[0].Rows[0][0].ToString();
for (int i = 0; i < dataset.Tables[0].Rows.Count; i++)
{
Dropdown.OptionData op1 = new Dropdown.OptionData();
op1.text = dataset.Tables[0].Rows[i][0].ToString();
inverterIDropdown.options.Add(op1);
}
inverterIDropdown.value = 0;
dataset.Dispose();
}
//初始组件名字
private void InitializePVModuleName()
{
command = "select BrandCHS from pvmodule";
dataset = Sql.Instance().GetDataSet(command);
pvmIDropdown.options.Clear();
pvmIDropdown.captionText.text = dataset.Tables[0].Rows[0][0].ToString();
for (int i = 0; i < dataset.Tables[0].Rows.Count; i++)
{
Dropdown.OptionData op1 = new Dropdown.OptionData();
op1.text = dataset.Tables[0].Rows[i][0].ToString();
pvmIDropdown.options.Add(op1);
}
pvmIDropdown.value = 0;
dataset.Dispose();
}
//初始逆变器型号
private void InitialInverterTypeNumber(int id)
{
command = "select Model from invertermodel where InverterID=" + id + ";";
dataset = Sql.Instance().GetDataSet(command);
invertermIDropdown.options.Clear();
invertermIDropdown.captionText.text = dataset.Tables[0].Rows[0][0].ToString();
for (int i = 0; i < dataset.Tables[0].Rows.Count; i++)
{
Dropdown.OptionData op1 = new Dropdown.OptionData();
op1.text = dataset.Tables[0].Rows[i][0].ToString();
invertermIDropdown.options.Add(op1);
}
invertermIDropdown.value = 0;
dataset.Dispose();
}
//初始光伏组件型号
private void InitializePVModuleModel(int id)
{
command = "select Model from pvmodulemodel where PVmoduleID=" + id + ";";
dataset = Sql.Instance().GetDataSet(command);
pvmmIDropdown.options.Clear();
pvmmIDropdown.captionText.text = dataset.Tables[0].Rows[0][0].ToString();
for (int i = 0; i < dataset.Tables[0].Rows.Count; i++)
{
Dropdown.OptionData op1 = new Dropdown.OptionData();
op1.text = dataset.Tables[0].Rows[i][0].ToString();
pvmmIDropdown.options.Add(op1);
}
pvmmIDropdown.value = 0;
dataset.Dispose();
}
////初始逆变器参数
private void InitialInverterParameters(string text)
{
//初始逆变器参数
command = "select * from invertermodel where Model='" + text + "';";
dataset = Sql.Instance().GetDataSet(command);
SetinverterDataList(0, dataset.Tables[0].Rows[0]["MaxDCIn"].ToString());
SetinverterDataList(1, dataset.Tables[0].Rows[0]["ACOut"].ToString());
SetinverterDataList(2, dataset.Tables[0].Rows[0]["MaxEfficiency"].ToString());
SetinverterDataList(3, dataset.Tables[0].Rows[0]["EfficiencyE"].ToString());
SetinverterDataList(4, "2");
SetinverterDataList(5, dataset.Tables[0].Rows[0]["MinU"].ToString());
SetinverterDataList(6, dataset.Tables[0].Rows[0]["MaxU"].ToString());
SetinverterDataList(7, dataset.Tables[0].Rows[0]["MaxDCU"].ToString());
SetinverterDataList(8, dataset.Tables[0].Rows[0]["MaxDCI1"].ToString());
SetinverterDataList(9, dataset.Tables[0].Rows[0]["Length"].ToString() + "*" + dataset.Tables[0].Rows[0]["Width"].ToString() + "*" + dataset.Tables[0].Rows[0]["Height"].ToString());
SetinverterDataList(10, dataset.Tables[0].Rows[0]["Weight"].ToString());
dataset.Dispose();
}
//invertermIDropdown响应事件
private void InvertermlDropdownValueChanged(Dropdown change)
{
InitialInverterParameters((change.captionText.text));
}
//inverterIDropdown响应事件
public void InverterlDropdownValueChanged(Dropdown change)
{
InitialInverterTypeNumber(change.value+1);
//默认第一个值
InitialInverterParameters((invertermIDropdown.captionText.text));
}
//pvmIDropdown响应
private void PvmIDropdownValueChange(Dropdown change)
{
}
//pvmmIDropdown响应
private void PvmmIDropdownOnValueChanged(Dropdown change)
{
}
//逆变器参数
public void SetinverterDataList(int i, string text)
{
inverterDataList[i].text = text;
}
}