EnergyEfficiencyManagement/Assets/Zion/Scripts/UIView/EquipmentChildStructureView.cs

123 lines
9.8 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using SK.Framework;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class EquipmentChildStructureView : UIView
{
public Variables variables;
private Dictionary<string, string> equipmentParameters = new Dictionary<string, string>();
//打字动画协程句柄,防止重复打字导致打字动画卡顿问题
private Coroutine typingCoroutine;
//打字动画速度,单位:秒/字符
private float typingSpeed = 0.05f;
protected override void OnInit(IViewData data)
{
base.OnInit(data);
variables.Set<EquipmentChildStructureView>("my_ChildStructure", this);
variables.Get<Button>("btn_close").onClick.AddListener(ClickClose);
InitAllEquipmentParameters();
}
// Start is called before the first frame update
void InitAllEquipmentParameters()
{
///设备参数
equipmentParameters.Clear();
equipmentParameters.Add("一级交换器", $"换热面积1-500m²。\n设计压力1.0-2.5MPa。\n设计温度-20°C至200°C。\n换热效率板式可达90%以上壳管式约80%-90%。");
equipmentParameters.Add("二级交换器", $"换热面积1-500m²。\n设计压力1.0-2.5MPa。\n设计温度-20°C至200°C。\n换热效率板式可达90%以上壳管式约80%-90%。");
equipmentParameters.Add("发电机", $"额定功率10-3000kVA。\n电压/频率400V/230V50Hz。\n功率因数0.8(滞后)。\n燃料消耗约0.2-0.3L/kWh柴油机。");
equipmentParameters.Add("蓄热罐", $"容积1-100m³。\n工作压力0.6-1.6MPa。\n工作温度40-95°C。\n保温热损失≤0.5W/(m²·K)。");
equipmentParameters.Add("蓄冷罐", $"容积10-500m³水蓄冷冰蓄冷按冷吨时计。\n工作温度水蓄冷1-12°C冰蓄冷-5至5°C。\n释冷速率可调通常4-8小时完成释冷。");
equipmentParameters.Add("电动机", $"额定功率0.12-1000kW。\n电压/频率380V/220V50Hz。\n效率IE3高效约89%-96%。\n防护等级IP55防尘防喷水。");
equipmentParameters.Add("膨胀机", $"制冷量10-5000kW。\n进出口压力高压侧1-4MPa低压侧0.1-0.6MPa。\n等熵效率70%-85%。");
equipmentParameters.Add("变电柜", $"额定电压AC400V。\n额定电流630-4000A。\n短路容量50-100kA。\n防护等级IP30-IP54。");
equipmentParameters.Add("压缩机", $"制冷量3-1000kW。\n功率1-300kW。\n能效比COP3.0-6.0。\n冷媒R134a、R410A、R32等。");
equipmentParameters.Add("冷却塔", $"冷却能力小型10-300冷吨(RT)中型300-1500RT大型1500-10000RT。\n进出水温度标准工况37/32℃湿球温度28℃。\n循环流量对应冷却能力如100RT冷却塔流量约100m³/h。\n风机功率例如某型号18.5kW。\n噪声50m³/h约53dB(A)1000m³/h约78dB(A)。");
equipmentParameters.Add("冷却水泵", $"流量常见范围1-100m³/h选型时一般为冷却塔流量的1.1-1.2倍。\n扬程典型范围8-20m需克服系统阻力。\n电机功率0.37-7.5kW。\n效率约32%-75%。");
equipmentParameters.Add("中央空调主机", $"制冷量常见范围108-1732kW约30-490RT。\n输入功率20.3-333kW。\n能效比(COP)通常3.7-4.2。\n冷冻水量18-290m³/h。\n冷却水量22-352m³/h。");
equipmentParameters.Add("集水器", $"管径小型系统DN25-DN40大型空调系统DN350-DN1500。\n工作压力0.6-1.6MPa。\n材质碳钢或不锈钢。\n设计流速0.3-0.7m/s。");
equipmentParameters.Add("增压补水装置", $"工作压力范围常用0.2-1.6MPa(可调)。\n补水流量小型0.5-5m³/h中型5-20m³/h大型20m³/h以上。\n控制方式压力传感器+变频器控制,或电接点压力表+接触器控制。\n水泵功率0.37-7.5kW(单台),多台泵组备用。\n稳压罐容积常配24L-500L。\n控制精度压力波动通常≤±0.02MPa。");
equipmentParameters.Add("分水器", $"管径小型系统DN25-DN40大型空调系统DN350-DN1500。\n工作压力0.6-1.6MPa。\n材质碳钢或不锈钢。\n设计流速0.3-0.7m/s。");
equipmentParameters.Add("空气处理机", $"风量范围小型1000-10000m³/h中型10000-50000m³/h大型50000m³/h以上。\n机外静压150-800Pa标准型高静压型可达1000Pa以上。\n冷/热量需根据风量、温差计算常见冷量范围10kW-1000kW以上。\n电机功率0.75-55kW风机段。\n噪音≤45-75dB(A)(取决于风量和静压)。\n过滤等级初效G3/G4中效F5-F8可选配高效H10-H14。");
equipmentParameters.Add("配电柜", $"额定电压AC380V/220V50Hz。\n额定电流主回路63A-3200A。\n主开关类型塑壳断路器(MCCB)或框架断路器(ACB)。\n防护等级通常IP54室内IP65室外或高防护环境。\n柜体尺寸宽600-1000mm深400-800mm高1800-2200mm。\n柜体材质冷轧钢板喷塑或不锈钢304。\n控制功能可集成PLC、变频器接口、通信模块如Modbus及智能电表。");
equipmentParameters.Add("风机盘管", $"风量小型200-600m³/h中型600-1200m³/h大型1200-2000m³/h。\n冷量1.5-14kW。\n机外静压低静压型12-30Pa高静压型30-50Pa。\n电机功率30-200W。\n噪声高档风速下约35-50dB(A)。");
equipmentParameters.Add("空气处理机​", $"风量常见范围2000-100000m³/h。\n冷量30-1500kW。\n机外静压200-800Pa。\n电机功率1.1-55kW。\n换热器排数4-8排。\n过滤等级初效G3/G4可选配中效F5-F8。");
equipmentParameters.Add("水泵", $"电机型号YE2-280M-4。\n功率90。\n额定频率/HZ50。\n额定电流/A163。\n额定转速/min1485。\n运行电流/A(实测数据)92A。\n额定效率95%。\n负载率(根据电流计算)56%。");
equipmentParameters.Add("水泵变频器柜", $"功率范围0.75kW-600kW。\n额定电压AC380V±10%。\n控制水泵台数1-7台。\n防护等级IP20/IP54/IP65等。\n柜体材质冷轧钢板、不锈钢304。");
equipmentParameters.Add("水泵泵组", $"流量范围小型0.5-30m³/h中型30-200m³/h大型200m³/h以上。\n扬程范围常见8-718米。\n电机功率0.37-110kW。\n效率清水离心泵约65%-85%。\n转速常见1450r/min、2900r/min。");
equipmentParameters.Add("储气罐", $"容量常见0.3-50m³300L-50000L。\n工作压力主流0.8-1.6MPa8-16bar。\n材质碳钢经济型、不锈钢食品/医药等洁净要求)。\n选型参考容积约为空压机排气量m³/min的0.1-0.17倍或排气量的10%-20%)。");
equipmentParameters.Add("空气干燥器", $"处理气量小型0.1-10m³/min中型10-100m³/min大型100-10000m³/h以上。\n工作压力常见0.4-1.6MPa。\n压力露点冷冻式可达-20°C吸附式可达-40°C至-70°C。\n再生方式无热再生、微热再生、鼓风加热等再生气耗约2%-15%。");
equipmentParameters.Add("空气压缩机", $"排气量小型0.1-10m³/min中型10-100m³/min大型100m³/min以上。\n排气压力常见0.7、0.8、1.0、1.2MPa。\n驱动电机功率5.5-400kW。\n能效输入比功率节能机型≤6.2-8.1kW/(m³/min)。\n噪音约60-85dB(A)。");
equipmentParameters.Add("余热回收装置", $"热回收效率喷油螺杆机可达轴功率的70%-74%无油螺杆机可达90%以上离心机约30%-75%。\n出水温度通常可升至50-70°C。\n适用空压机功率常见匹配37-500kW空压机。\n年节能折算以160kW空压机为例年回收热量约50580万kcal相当于节省标准煤67.9吨。");
}
/// <summary>
/// 显示设备信息
/// </summary>
/// <param name="warmingText"></param>
public void ShowDeviceInformation(GameObject child)
{
if (string.IsNullOrEmpty(child.name.Trim())) return;
if (!variables.Get<Text>("title").gameObject.activeSelf)
variables.Get<Text>("title").gameObject.Activate();
variables.Get<Text>("title").text = child.name.Trim();
variables.Get<RawImageModelViewer>("equipmentChildStructureView").ChangeModel(child);
if (equipmentParameters.ContainsKey(child.name.Trim()))
{
ShowWarming(equipmentParameters[child.name.Trim()]);
}
if (AudioManager.Instance.HasAudio(child.name.Trim()))
{
AudioManager.Instance.PlaySFX(child.name.Trim());
}
}
/// <summary>
/// 显示警告信息
/// </summary>
/// <param name="warmingText"></param>
public void ShowWarming(string warmingText)
{
if (string.IsNullOrEmpty(warmingText.Trim())) return;
// 快速完成打字
if (typingCoroutine != null)
StopCoroutine(typingCoroutine);
//开启打字效果
typingCoroutine = StartCoroutine(TypeText(warmingText));
}
/// <summary>
/// 打字效果协程,逐个字符显示文本。
/// </summary>
/// <param name="text"></param>
/// <returns></returns>
private IEnumerator TypeText(string text)
{
variables.Get<Text>("content").text = "";
foreach (char letter in text.ToCharArray())
{
variables.Get<Text>("content").text += letter;
yield return new WaitForSeconds(typingSpeed);
}
//yield return new WaitForSeconds(hideAlarm);
//variables.Get<RectTransform>("警告").gameObject.SetActive(false);
}
public void ClickClose()
{
base.Unload();
}
}