You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

177 lines
7.5 KiB
C#

using Mesnac.Action.ChemicalWeighing.Entity;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Mesnac.Action.ChemicalWeighing.EngineeringDebuggingMode.ElectronicMachinaryStateMonitor
{
public partial class ElectronicMachineryStateMonitor : Form
{
string DmName_FOR_MOTOR = "DM1GDP01";
string DmName_FOR_MOTOR_S = "DM1GDS06";
string DmName_FOR_MOTOR_VFD = "DM1DSM01";
public ElectronicMachineryStateMonitor()
{
InitializeComponent();
StateMonitor_FOR_MOTOR(DmName_FOR_MOTOR);
StateMonitor_FOR_MOTOR_S(DmName_FOR_MOTOR_S);
StateMonitor_FOR_MOTOR_VFD(DmName_FOR_MOTOR_VFD);
}
/// <summary>
/// 根据属性名和现在选择的数据块名得到PLC数据块的具体引用
/// </summary>
/// <param name="dmValue">数据块属性名</param>
/// <returns></returns>
private DataKeyValue GetDataNameValue(string dmName, string dmValue)
{
return new DataKeyValue(dmName + dmValue);
}
/// <summary>
/// 从PLC中读取值
/// </summary>
/// <param name="dmValue">要读取的属性</param>
/// <returns></returns>
private string GetDataToString(string dmName, string dmValue)
{
return GetDataNameValue(dmName, dmValue).NowValue.ToString();
}
private void DmChange_FOR_MOTOR_SelectedIndexChanged(object sender, EventArgs e)
{
switch (DmChange_FOR_MOTOR.Text)
{
case "二级除尘器除尘风机":
DmName_FOR_MOTOR = "DM1GDP01";
break;
case "大A组除尘风机":
DmName_FOR_MOTOR = "DM1ASIG01";
break;
case "大仓B组除尘风机":
DmName_FOR_MOTOR = "DM1BSIG01";
break;
case "大仓C组除尘风机":
DmName_FOR_MOTOR = "DM1CSIG01";
break;
case "大仓D组除尘风机":
DmName_FOR_MOTOR = "DM1DSIG01";
break;
case "磨粉分析机电机":
DmName_FOR_MOTOR = "DM1GDS01";
break;
case "磨粉除尘风机电机":
DmName_FOR_MOTOR = "DM1GDS02";
break;
case "磨粉罗茨风机电机":
DmName_FOR_MOTOR = "DM1GDS03";
break;
case "磨粉皮带正转电机":
DmName_FOR_MOTOR = "DM1GDS04";
break;
case "磨粉皮带反转电机":
DmName_FOR_MOTOR = "DM1GDS05";
break;
}
StateMonitor_FOR_MOTOR(DmName_FOR_MOTOR);
}
private void StateMonitor_FOR_MOTOR(String dmName)
{
ManualMode.Text = GetDataToString(dmName, "_ManualMode");
AutoMode.Text = GetDataToString(dmName, "_AutoMode");
StartManual.Text = GetDataToString(dmName, "_StartManual");
StopManual.Text = GetDataToString(dmName, "_StopManual");
StartAuto.Text = GetDataToString(dmName, "_StartAuto");
StopAuto.Text = GetDataToString(dmName, "_StopAuto");
AlarmReset.Text = GetDataToString(dmName, "_AlarmReset");
Running.Text = GetDataToString(dmName, "_Running");
Run.Text = GetDataToString(dmName, "_Run");
Alarm.Text = GetDataToString(dmName, "_Alarm");
}
private void DmChange_FOR_MOTOR_S_SelectedIndexChanged(object sender, EventArgs e)
{
switch (DmChange_FOR_MOTOR_S.Text)
{
case "磨粉主机电机":
DmName_FOR_MOTOR_S = "DM1GDS06";
break;
case "磨粉风机电机":
DmName_FOR_MOTOR_S = "DM1GDS07";
break;
}
StateMonitor_FOR_MOTOR_S(DmName_FOR_MOTOR_S);
}
private void StateMonitor_FOR_MOTOR_S(String dmName)
{
ManualMode_S.Text = GetDataToString(dmName, "_ManualMode");
AutoMode_S.Text = GetDataToString(dmName, "_AutoMode");
StartManual_S.Text = GetDataToString(dmName, "_StartManual");
StopManual_S.Text = GetDataToString(dmName, "_StopManual");
StartAuto_S.Text = GetDataToString(dmName, "_StartAuto");
StopAuto_S.Text = GetDataToString(dmName, "_StopAuto");
AlarmReset_S.Text = GetDataToString(dmName, "_AlarmReset");
Running_M_S.Text = GetDataToString(dmName, "_RunningM");
Running_S_S.Text = GetDataToString(dmName, "_RunningS");
Running_T_S.Text = GetDataToString(dmName, "_RunningT");
Run_M_S.Text = GetDataToString(dmName, "_RunM");
Run_S_S.Text = GetDataToString(dmName, "_RunS");
Run_T_S.Text = GetDataToString(dmName, "_RunT");
Alarm_S.Text = GetDataToString(dmName, "_Alarm");
Alarm_M_S.Text = GetDataToString(dmName, "_AlarmM");
Alarm_S_S.Text = GetDataToString(dmName, "_AlarmS");
Alarm_T_S.Text = GetDataToString(dmName, "_AlarmT");
}
private void DmChange_FOR_MOTOR_VFD_SelectedIndexChanged(object sender, EventArgs e)
{
switch (DmChange_FOR_MOTOR_VFD.Text)
{
case "筛分机A电机":
DmName_FOR_MOTOR_VFD = "DM1DSM01";
break;
case "筛分机B电机":
DmName_FOR_MOTOR_VFD = "DM2DSM01";
break;
case "筛分机C电机":
DmName_FOR_MOTOR_VFD = "DM3DSM01";
break;
case "磨粉旋转阀电机":
DmName_FOR_MOTOR_VFD = "DM1GDS12";
break;
}
StateMonitor_FOR_MOTOR_VFD(DmName_FOR_MOTOR_VFD);
}
private void StateMonitor_FOR_MOTOR_VFD(string dmName)
{
Auto_BT_VFD.Text = GetDataToString(dmName, "_AutoBT");
Man_BT_VFD.Text = GetDataToString(dmName, "_ManBT");
Start_A_VFD.Text = GetDataToString(dmName, "_StartA");
Stop_A_VFD.Text = GetDataToString(dmName, "_StopA");
Start_M_VFD.Text = GetDataToString(dmName, "_StartM");
Stop_M_VFD.Text = GetDataToString(dmName, "_StopM");
AlarmReset_VFD.Text = GetDataToString(dmName, "_AlarmReset");
EXT_Estop_VFD.Text = GetDataToString(dmName, "_EXTEstop");
AutoMode_VFD.Text = GetDataToString(dmName, "_AutoMode");
ManMode_VFD.Text = GetDataToString(dmName, "_ManMode");
VVVF_OK_VFD.Text = GetDataToString(dmName, "_VVVFOK");
Running_VFD.Text = GetDataToString(dmName, "_Running");
Alarm_VFD.Text = GetDataToString(dmName, "_Alarm");
Error_VFD.Text = GetDataToString(dmName, "_Error");
Enable_VFD.Text = GetDataToString(dmName, "_Enable");
Polarity_VFD.Text = GetDataToString(dmName, "_Polarity");
SetSpeed_A_VFD.Text = GetDataToString(dmName, "_SetSpeedA");
SetSpeed_M_VFD.Text = GetDataToString(dmName, "_SetSpeedM");
ACT_Speed_VFD.Text = GetDataToString(dmName, "_ACTSpeed");
}
}
}