|
|
|
|
using Mesnac.Action.ChemicalWeighing.Entity;
|
|
|
|
|
using Mesnac.PlcUtils;
|
|
|
|
|
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;
|
|
|
|
|
using Mesnac.DoUtils;
|
|
|
|
|
|
|
|
|
|
namespace Mesnac.Action.ChemicalWeighing.EngineeringDebuggingMode.ValveStateControl
|
|
|
|
|
{
|
|
|
|
|
public partial class ValveStateControl : Form
|
|
|
|
|
{
|
|
|
|
|
BasePlcHelper Plc = BasePlcHelper.Instance;
|
|
|
|
|
|
|
|
|
|
string DmName = "BU3DBT06";
|
|
|
|
|
int ManualModeIsOpen;
|
|
|
|
|
int ManualModeIsStart;
|
|
|
|
|
int AutoModeIsStart;
|
|
|
|
|
|
|
|
|
|
public ValveStateControl()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
// DoControl AlarmLight = DoControl.Instance;
|
|
|
|
|
// DoControl.Instance.ComOn();
|
|
|
|
|
// DoControl.Instance.DOControl(DoUtils.enumInfo.DOName.Green, DoUtils.enumInfo.DOOnOff.On);
|
|
|
|
|
StateMonitor();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 状态监测类
|
|
|
|
|
/// </summary>
|
|
|
|
|
private void StateMonitor()
|
|
|
|
|
{
|
|
|
|
|
ManualModeIsOpen = GetDataToInt("_ManualMode");
|
|
|
|
|
ManualModeIsStart = GetDataToInt("_SetManual");
|
|
|
|
|
AutoModeIsStart = GetDataToInt("_SetAuto");
|
|
|
|
|
if (ManualModeIsOpen == 0)
|
|
|
|
|
{
|
|
|
|
|
ControlMode.Text = "切换手动模式";
|
|
|
|
|
ModeStateLable.Text = "自动模式";
|
|
|
|
|
if (AutoModeIsStart == 0)
|
|
|
|
|
{
|
|
|
|
|
OnOffControl.Text = "启动";
|
|
|
|
|
OnOffLable.Text = "状态:关";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
OnOffControl.Text = "关闭";
|
|
|
|
|
OnOffLable.Text = "状态:开";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
ControlMode.Text = "切换自动模式";
|
|
|
|
|
ModeStateLable.Text = "手动模式";
|
|
|
|
|
if (ManualModeIsStart == 0)
|
|
|
|
|
{
|
|
|
|
|
OnOffControl.Text = "启动";
|
|
|
|
|
OnOffLable.Text = "状态:关";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
OnOffControl.Text = "关闭";
|
|
|
|
|
OnOffLable.Text = "状态:开";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据属性名和现在选择的数据块名得到PLC数据块的具体引用
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="dmValue">数据块属性名</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
private DataKeyValue GetDataNameValue(string dmValue)
|
|
|
|
|
{
|
|
|
|
|
return new DataKeyValue(DmName + dmValue);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 从PLC中读取值
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="dmValue">要读取的属性</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
private int GetDataToInt(String dmValue)
|
|
|
|
|
{
|
|
|
|
|
return GetDataNameValue(dmValue).NowValue.ToInt();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 向PLC中写入值
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="dmValue">要写入的属性</param>
|
|
|
|
|
/// <param name="value">写入的值</param>
|
|
|
|
|
private void SetDataValue(String dmValue, int value)
|
|
|
|
|
{
|
|
|
|
|
Plc.PlcWriteByDataKey(GetDataNameValue(dmValue), new Object[] { value });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 列表框,选择设备对应数据块
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void DmChange_SelectedIndexChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
DmName = dmNameValue[DmChange.Text];
|
|
|
|
|
StateMonitor();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ControlMode_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (ManualModeIsOpen == 0)
|
|
|
|
|
{
|
|
|
|
|
SetDataValue("_ManualMode", 1);
|
|
|
|
|
SetDataValue("_AutoMode", 0);
|
|
|
|
|
ControlMode.Text = "切换自动模式";
|
|
|
|
|
ModeStateLable.Text = "手动模式";
|
|
|
|
|
ManualModeIsOpen = 1;
|
|
|
|
|
if (ManualModeIsStart == 0)
|
|
|
|
|
{
|
|
|
|
|
OnOffControl.Text = "启动";
|
|
|
|
|
OnOffLable.Text = "状态:关";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
OnOffControl.Text = "关闭";
|
|
|
|
|
OnOffLable.Text = "状态:开";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
SetDataValue("_ManualMode", 0);
|
|
|
|
|
SetDataValue("_AutoMode", 1);
|
|
|
|
|
ControlMode.Text = "切换手动模式";
|
|
|
|
|
ModeStateLable.Text = "自动模式";
|
|
|
|
|
ManualModeIsOpen = 0;
|
|
|
|
|
if (AutoModeIsStart == 0)
|
|
|
|
|
{
|
|
|
|
|
OnOffControl.Text = "启动";
|
|
|
|
|
OnOffLable.Text = "状态:关";
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
OnOffControl.Text = "关闭";
|
|
|
|
|
OnOffLable.Text = "状态:开";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void OnOffControl_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (ManualModeIsOpen == 0)
|
|
|
|
|
{
|
|
|
|
|
if (AutoModeIsStart == 0)
|
|
|
|
|
{
|
|
|
|
|
SetDataValue("_SetAuto", 1);
|
|
|
|
|
OnOffControl.Text = "关闭";
|
|
|
|
|
OnOffLable.Text = "状态:开";
|
|
|
|
|
AutoModeIsStart = 1;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
SetDataValue("_SetAuto", 0);
|
|
|
|
|
OnOffControl.Text = "启动";
|
|
|
|
|
OnOffLable.Text = "状态:关";
|
|
|
|
|
AutoModeIsStart = 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (ManualModeIsStart == 0)
|
|
|
|
|
{
|
|
|
|
|
SetDataValue("_SetManual", 1);
|
|
|
|
|
OnOffControl.Text = "关闭";
|
|
|
|
|
OnOffLable.Text = "状态:开";
|
|
|
|
|
ManualModeIsStart = 1;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
SetDataValue("_SetManual", 0);
|
|
|
|
|
OnOffControl.Text = "启动";
|
|
|
|
|
OnOffLable.Text = "状态:关";
|
|
|
|
|
ManualModeIsStart = 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 报警
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void Alarm_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
SetDataValue("_Alarm", 1);
|
|
|
|
|
// DoControl.Instance.DOControl(DoUtils.enumInfo.DOName.Red, DoUtils.enumInfo.DOOnOff.On);
|
|
|
|
|
// DoControl.Instance.DOControl(DoUtils.enumInfo.DOName.Green, DoUtils.enumInfo.DOOnOff.Off);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 报警灯重置
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void AlarmSet_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
SetDataValue("_Alarm", 0);
|
|
|
|
|
// DoControl.Instance.DOControl(DoUtils.enumInfo.DOName.Green, DoUtils.enumInfo.DOOnOff.On);
|
|
|
|
|
// DoControl.Instance.DOControl(DoUtils.enumInfo.DOName.Red, DoUtils.enumInfo.DOOnOff.Off);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 输出指令
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void Set_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
SetDataValue("_Set", 1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 窗口关闭 重置报警灯
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
private void ValveStateControl_FormClosing(object sender, FormClosingEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
// DoControl.Instance.DOControl(DoUtils.enumInfo.DOName.Green, DoUtils.enumInfo.DOOnOff.Off);
|
|
|
|
|
// DoControl.Instance.DOControl(DoUtils.enumInfo.DOName.Red, DoUtils.enumInfo.DOOnOff.Off);
|
|
|
|
|
// DoControl.Instance.ComOff();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private IDictionary<string, string> dmNameValue = new Dictionary<string, string>()
|
|
|
|
|
{
|
|
|
|
|
["输送线C1号压送罐出料蝶阀电磁阀"] = "BU3DBT06",
|
|
|
|
|
["输送线C2号压送罐出料蝶阀电磁阀"] = "BU3DBT07",
|
|
|
|
|
["输送线A1号压送罐进料蝶阀电磁阀"] = "BU1DBT01",
|
|
|
|
|
["输送线A1号压送罐返气蝶阀电磁阀"] = "BU1DBT03",
|
|
|
|
|
["输送线A2号压送罐进料蝶阀电磁阀"] = "BU1DBT02",
|
|
|
|
|
["输送线A2号压送罐返气蝶阀电磁阀"] = "BU1DBT04",
|
|
|
|
|
["输送线B1号压送罐进料蝶阀电磁阀"] = "BU2DBT01",
|
|
|
|
|
["输送线B1号压送罐返气蝶阀电磁阀"] = "BU2DBT03",
|
|
|
|
|
["输送线B2号压送罐进料蝶阀电磁阀"] = "BU2DBT02",
|
|
|
|
|
["输送线B2号压送罐返气蝶阀电磁阀"] = "BU2DBT04",
|
|
|
|
|
["输送线C1号压送罐进料蝶阀电磁阀"] = "BU3DBT01",
|
|
|
|
|
["输送线C1号压送罐返气蝶阀电磁阀"] = "BU3DBT03",
|
|
|
|
|
["输送线C2号压送罐进料蝶阀电磁阀"] = "BU3DBT02",
|
|
|
|
|
["输送线C2号压送罐返气蝶阀电磁阀"] = "BU3DBT04",
|
|
|
|
|
["输送线A1号压送罐出料蝶阀电磁阀"] = "BU1DBT06",
|
|
|
|
|
["输送线A2号压送罐出料蝶阀电磁阀"] = "BU1DBT07",
|
|
|
|
|
["输送线B1号压送罐出料蝶阀电磁阀"] = "BU2DBT06",
|
|
|
|
|
["输送线B2号压送罐出料蝶阀电磁阀"] = "BU2DBT07",
|
|
|
|
|
["输送线A1号压送罐充气角座阀"] = "AS1DBT01",
|
|
|
|
|
["输送线A2号压送罐充气角座阀"] = "AS1DBT02",
|
|
|
|
|
["输送线A清扫角座阀"] = "AS1DBT03",
|
|
|
|
|
["输送线A1号压送罐流态化角座阀"] = "AS1DBT04",
|
|
|
|
|
["输送线A2号压送罐流态化角座阀"] = "AS1DBT05",
|
|
|
|
|
["输送线A压送罐出料主管角座阀"] = "AS1DBT06",
|
|
|
|
|
["输送线A压送罐出料辅管角座阀"] = "AS1DBT07",
|
|
|
|
|
["输送线B1号压送罐充气角座阀"] = "AS2DBT01",
|
|
|
|
|
["输送线B2号压送罐充气角座阀"] = "AS2DBT02",
|
|
|
|
|
["输送线B清扫角座阀"] = "AS2DBT03",
|
|
|
|
|
["输送线B1号压送罐流态化角座阀"] = "AS2DBT04",
|
|
|
|
|
["输送线B2号压送罐流态化角座阀"] = "AS2DBT05",
|
|
|
|
|
["输送线B压送罐出料主管角座阀"] = "AS2DBT06",
|
|
|
|
|
["输送线B压送罐出料辅管角座阀"] = "AS2DBT07",
|
|
|
|
|
["输送线C1号压送罐充气角座阀"] = "AS3DBT01",
|
|
|
|
|
["输送线C2号压送罐充气角座阀"] = "AS3DBT02",
|
|
|
|
|
["输送线C清扫角座阀"] = "AS3DBT03",
|
|
|
|
|
["输送线C1号压送罐流态化角座阀"] = "AS3DBT04",
|
|
|
|
|
["输送线C2号压送罐流态化角座阀"] = "AS3DBT05",
|
|
|
|
|
["输送线C压送罐出料主管角座阀"] = "AS3DBT06",
|
|
|
|
|
["输送线C压送罐出料辅管角座阀"] = "AS3DBT07",
|
|
|
|
|
["输送线A辅管角座阀"] = "AS1PCP01",
|
|
|
|
|
["输送线B辅管角座阀"] = "AS1PCP02",
|
|
|
|
|
["输送线C辅管角座阀"] = "AS1PCP03",
|
|
|
|
|
["大仓A外喷淋阀门"] = "AS1ASI01",
|
|
|
|
|
["大仓B外喷淋阀门"] = "AS1BSI01",
|
|
|
|
|
["大仓C外喷淋阀门"] = "AS1CSI01",
|
|
|
|
|
["大仓D外喷淋阀门"] = "AS1DSI01",
|
|
|
|
|
["大仓E外喷淋阀门"] = "AS1ESI01",
|
|
|
|
|
["大仓F外喷淋阀门"] = "AS1FSI01",
|
|
|
|
|
["大仓G外喷淋阀门"] = "AS1GSI01",
|
|
|
|
|
["大仓H外喷淋阀门"] = "AS1HSI01",
|
|
|
|
|
["大仓I外喷淋阀门"] = "AS1ISI01",
|
|
|
|
|
["大仓J外喷淋阀门"] = "AS1JSI01",
|
|
|
|
|
["大仓O外喷淋阀门"] = "AS1OSI01",
|
|
|
|
|
["输送线A滚筒筛分机侧吹阀"] = "SV1DSM01",
|
|
|
|
|
["输送线A滚筒筛分机振动阀"] = "SV1DSM02",
|
|
|
|
|
["输送线B滚筒筛分机侧吹阀"] = "SV2DSM01",
|
|
|
|
|
["输送线B滚筒筛分机振动阀"] = "SV2DSM02",
|
|
|
|
|
["输送线C滚筒筛分机侧吹阀"] = "SV3DSM01",
|
|
|
|
|
["输送线C滚筒筛分机振动阀"] = "SV3DSM02",
|
|
|
|
|
["二级除尘器侧吹脉冲阀1"] = "PV1GDC01",
|
|
|
|
|
["二级除尘器侧吹脉冲阀2"] = "PV1GDC02",
|
|
|
|
|
["分配阀1直通电磁阀"] = "DV1PCP01",
|
|
|
|
|
["分配阀2直通电磁阀"] = "DV1PCP02",
|
|
|
|
|
["分配阀3直通电磁阀"] = "DV1PCP03",
|
|
|
|
|
["分配阀4直通电磁阀"] = "DV1PCP04",
|
|
|
|
|
["分配阀5直通电磁阀"] = "DV1PCP05",
|
|
|
|
|
["分配阀6直通电磁阀"] = "DV1PCP06",
|
|
|
|
|
["分配阀7直通电磁阀"] = "DV1PCP07",
|
|
|
|
|
["分配阀8直通电磁阀"] = "DV1PCP08",
|
|
|
|
|
["分配阀9直通电磁阀"] = "DV1PCP09",
|
|
|
|
|
["分配阀10直通电磁阀"] = "DV1PCP10",
|
|
|
|
|
["分配阀11直通电磁阀"] = "DV1PCP11",
|
|
|
|
|
["分配阀12直通电磁阀"] = "DV1PCP12",
|
|
|
|
|
["分配阀13直通电磁阀"] = "DV1PCP13",
|
|
|
|
|
["分配阀14直通电磁阀"] = "DV1PCP14",
|
|
|
|
|
["分配阀15直通电磁阀"] = "DV1PCP15",
|
|
|
|
|
["磨粉系统旋转阀气密封电磁阀"] = "SV1GDS01"
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|