116 lines
4.2 KiB
C#
116 lines
4.2 KiB
C#
|
using Newtonsoft.Json.Linq;
|
|||
|
using ProductionControl.Utils;
|
|||
|
using System;
|
|||
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.ComponentModel;
|
|||
|
using System.Data;
|
|||
|
using System.Drawing;
|
|||
|
using System.IO;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
using System.Windows.Forms;
|
|||
|
|
|||
|
namespace ProductionControl
|
|||
|
{
|
|||
|
public partial class FrmGButtonSetting : Form
|
|||
|
{
|
|||
|
JObject joJson=new JObject();
|
|||
|
public FrmGButtonSetting()
|
|||
|
{
|
|||
|
InitializeComponent();
|
|||
|
|
|||
|
ArrayList list = new ArrayList();
|
|||
|
list.Add(new DictionaryEntry("start", "启动按钮"));
|
|||
|
list.Add(new DictionaryEntry("pause", "暂停按钮"));
|
|||
|
list.Add(new DictionaryEntry("reset", "复位按钮"));
|
|||
|
list.Add(new DictionaryEntry("warning", "告警事件"));
|
|||
|
list.Add(new DictionaryEntry("iodefault", "I/O默认输出状态"));
|
|||
|
cobBreakButton.DisplayMember = "Value";
|
|||
|
cobBreakButton.ValueMember = "Key";
|
|||
|
cobBreakButton.DataSource = list;
|
|||
|
cobBreakButton.SelectedIndex = 0;
|
|||
|
}
|
|||
|
|
|||
|
private void initData()
|
|||
|
{
|
|||
|
string configPath = Application.StartupPath + "\\GButtonConfig.json";
|
|||
|
string lsTmp = File.ReadAllText(configPath);
|
|||
|
if (string.IsNullOrEmpty(lsTmp))
|
|||
|
lsTmp = "{}";
|
|||
|
joJson = JObject.Parse(lsTmp);
|
|||
|
}
|
|||
|
private void FrmSetParams_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
uiIOCardDev0.init();
|
|||
|
initData();
|
|||
|
cobBreakButton_SelectedIndexChanged(null, null);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|||
|
this.Close();
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void tsbtnSave_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
string key = cobBreakButton.SelectedValue.ToString();
|
|||
|
var value = JObject.Parse(this.uiIOCardDev0.getParamsData());
|
|||
|
if (joJson.ContainsKey(key))
|
|||
|
joJson[key] = value;
|
|||
|
else
|
|||
|
joJson.Add(key, value);
|
|||
|
|
|||
|
if (!joJson.ContainsKey("start")) throw new Exception("请设置启动按钮对应I/O指令!");
|
|||
|
if (!joJson.ContainsKey("pause")) throw new Exception("请设置暂停按钮对应I/O指令!");
|
|||
|
if (!joJson.ContainsKey("reset")) throw new Exception("请设置复位按钮对应I/O指令!");
|
|||
|
if (!joJson.ContainsKey("warning")) throw new Exception("请设置复位按钮对应I/O指令!");
|
|||
|
if (!joJson.ContainsKey("iodefault")) throw new Exception("请设置I/O默认输出状态!");
|
|||
|
|
|||
|
string configPath = Application.StartupPath + "\\GButtonConfig.json";
|
|||
|
File.WriteAllText(configPath,joJson.ToString());
|
|||
|
|
|||
|
//
|
|||
|
this.Hide();
|
|||
|
MessageBox.Show("保存成功,生效需重启程序!");
|
|||
|
this.Close();
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void tsbtnClose_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
this.Close();
|
|||
|
}
|
|||
|
|
|||
|
private string curBreakKey = "";
|
|||
|
private void cobBreakButton_SelectedIndexChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
var value = JObject.Parse(this.uiIOCardDev0.getParamsData());
|
|||
|
if (curBreakKey != "")
|
|||
|
{
|
|||
|
if (joJson.ContainsKey(curBreakKey))
|
|||
|
joJson[curBreakKey] = value;
|
|||
|
else
|
|||
|
joJson.Add(curBreakKey, value);
|
|||
|
}
|
|||
|
|
|||
|
//
|
|||
|
string key = cobBreakButton.SelectedValue.ToString();
|
|||
|
//string key = ((System.Collections.DictionaryEntry)cobBreakButton.SelectedValue).Key.ToString();
|
|||
|
if (joJson.ContainsKey(key))
|
|||
|
this.uiIOCardDev0.setParamsData(joJson[key].ToString());
|
|||
|
curBreakKey = key;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|