83 lines
2.2 KiB
C#
83 lines
2.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace SLZ_4
|
|
{
|
|
public partial class ConfigPLC : Form
|
|
{
|
|
public ConfigPLC()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void CodeCon_Click(object sender, EventArgs e)
|
|
{
|
|
FormMain.form.updatePLC(CodePort.Text, Convert.ToInt32(CodeBaud.Text));
|
|
Thread.Sleep(100);
|
|
UpdateStatus(FormMain.form.plcObj.PLC.IsOpen());
|
|
}
|
|
|
|
public void refreshPort()
|
|
{
|
|
CodePort.Items.Clear();
|
|
string[] ports = System.IO.Ports.SerialPort.GetPortNames();
|
|
CodePort.Items.AddRange(ports);
|
|
}
|
|
private void CodeRefresh_Click(object sender, EventArgs e)
|
|
{
|
|
refreshPort();
|
|
}
|
|
|
|
private void CodeBreak_Click(object sender, EventArgs e)
|
|
{
|
|
if (FormMain.form.plcObj != null)
|
|
{
|
|
FormMain.form.plcObj.closePLC();
|
|
|
|
Thread.Sleep(100);
|
|
UpdateStatus(FormMain.form.plcObj.PLC.IsOpen());
|
|
}
|
|
}
|
|
|
|
public void UpdateStatus(bool status)
|
|
{
|
|
if (status)
|
|
{
|
|
CodeIsComm.Text = "已打开";
|
|
CodeIsComm.BackColor = Color.Green;
|
|
CodeCon.Enabled = false;
|
|
CodeBreak.Enabled = true;
|
|
}
|
|
else
|
|
{
|
|
CodeIsComm.Text = "未打开";
|
|
CodeIsComm.BackColor = Color.Red;
|
|
CodeCon.Enabled = true;
|
|
CodeBreak.Enabled = false;
|
|
}
|
|
}
|
|
public void setConfig(ref PLC_PARAM plcParam)
|
|
{
|
|
refreshPort();
|
|
CodeBaud.Text = plcParam.iBaudrate.ToString();
|
|
CodePort.Text = plcParam.sPort;
|
|
if (FormMain.form.plcObj != null)
|
|
{
|
|
UpdateStatus(FormMain.form.plcObj.PLC.IsOpen());
|
|
}
|
|
else
|
|
{
|
|
UpdateStatus(false);
|
|
}
|
|
}
|
|
}
|
|
}
|