|
|
|
|
using CommClient.Client;
|
|
|
|
|
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 CommClient
|
|
|
|
|
{
|
|
|
|
|
public partial class MainForm : Form
|
|
|
|
|
{
|
|
|
|
|
private bool isFirstLog = true;
|
|
|
|
|
private ICommClient client;
|
|
|
|
|
|
|
|
|
|
public MainForm()
|
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
InitInstance();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void InitInstance()
|
|
|
|
|
{
|
|
|
|
|
chkModbus.CheckedChanged += Chk_CheckedChanged;
|
|
|
|
|
chkOPCUA.CheckedChanged += Chk_CheckedChanged;
|
|
|
|
|
chkSdk.CheckedChanged += Chk_CheckedChanged;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void Chk_CheckedChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (!(sender as RadioButton).Checked)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
InitClient();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void InitClient()
|
|
|
|
|
{
|
|
|
|
|
if (client != null && client.GetStatus())
|
|
|
|
|
{
|
|
|
|
|
Log("--- Disconnect previous connection ---");
|
|
|
|
|
btnDisconnect_Click(null, null);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (chkModbus.Checked)
|
|
|
|
|
{
|
|
|
|
|
client = new ModbusMaster();
|
|
|
|
|
Log("--- Run as Modbus mode ---");
|
|
|
|
|
}
|
|
|
|
|
else if (chkOPCUA.Checked)
|
|
|
|
|
{
|
|
|
|
|
Log("--- Run as OPCUA mode ---");
|
|
|
|
|
}
|
|
|
|
|
else if (chkSdk.Checked)
|
|
|
|
|
{
|
|
|
|
|
Log("--- Run as SDK mode ---");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ChangeStatus(bool status)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void Log(string text)
|
|
|
|
|
{
|
|
|
|
|
rtbLog.AppendText((isFirstLog ? "" : Environment.NewLine) + text);
|
|
|
|
|
isFirstLog = false;
|
|
|
|
|
|
|
|
|
|
ScrollToEnd();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ScrollToEnd()
|
|
|
|
|
{
|
|
|
|
|
if (!chkAutoScroll.Checked)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
rtbLog.SelectionStart = rtbLog.Text.Length;
|
|
|
|
|
rtbLog.ScrollToCaret();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ClearLog()
|
|
|
|
|
{
|
|
|
|
|
rtbLog.Clear();
|
|
|
|
|
isFirstLog = true;
|
|
|
|
|
ScrollToEnd();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btnConnect_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btnDisconnect_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btnRead_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btnWrite_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void btnClear_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
ClearLog();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|