using HighWayIot.Log4net; using HighWayIot.Plc; using HighWayIot.Plc.PlcHelper; using HighWayIot.Rfid; using HighWayIot.TouchSocket; using HighWayIot.Winform.Business; using HighWayIot.Winform.Properties; using HslCommunication; using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Net; using System.Runtime.InteropServices; using System.Threading.Tasks; using System.Windows.Forms; using static System.Windows.Forms.VisualStyles.VisualStyleElement; namespace HighWayIot.Winform.UserControlPages { public partial class TestPage : UserControl { private static LogHelper logger = LogHelper.Instance; /// /// TCP客户端 /// private TouchSocketTcpClient _touchSocketTcpClient = TouchSocketTcpClient.Instance; /// /// RFID数据分析 /// private RfidDataAnalyse _RfidDataAnalyse = new RfidDataAnalyse(); XmlUtil xmlUtil = new XmlUtil(); public TestPage() { InitializeComponent(); Init(); } private void Init() { ArrayList list = new ArrayList(); foreach (var kv in GeneralUtils.GetEnumKeyValuePairs().ToDictionary(i => i.Key, i => i.Value)) { list.Add(kv); } PlcType.DataSource = list; PlcType.DisplayMember = "Key"; PlcType.ValueMember = "Value"; //PlcType.DataSource = //PlcType.DataSource = ; } /// /// 测试按钮1 /// /// /// private void button1_Click(object sender, EventArgs e) { OperateResult PlcResult = PlcConnect.MelsecInstance2.Read("B230", 2); if (PlcResult.IsSuccess) { byte[] bytes = PlcResult.Content; Console.WriteLine("长度" + bytes.Length.ToString()); } else { Console.WriteLine("读取失败"); } WorkStationHelper helper = new WorkStationHelper(); bool[] res = helper.ReadStationSingal(); foreach(var r in res) { Console.WriteLine(r.ToString()); } //var list = xmlUtil.ConfigReader(); //foreach (var item in list) //{ // Console.WriteLine(item.RoleIndex + item.PageName); //} } /// /// RFID测试 /// /// /// private void button2_Click(object sender, EventArgs e) { var a = _touchSocketTcpClient.Send($"10.20.48.{RFIDtext.Text}", _RfidDataAnalyse.Send02H(1000)); LogHelper.Instance.Info($"10.20.48.{RFIDtext.Text} 发送" + (a ? "成功" : "失败")); } /// /// 测试按钮3 /// /// /// private void button3_Click(object sender, EventArgs e) { MessageBox.Show(PlcConnect.MelsecInstance2.Read("D200", 1).IsSuccess.ToString()); } /// /// PLC读取按钮 /// /// /// private void ReadButton_Click(object sender, EventArgs e) { //DataTypeEnum en = (DataTypeEnum)Convert.ToInt32(PlcType.SelectedValue); //string res = string.Empty; //switch (en) //{ // case DataTypeEnum.Bool: // res = PlcConnect.ReadBool1(PlcAddress.Text).ToString(); // break; // case DataTypeEnum.Int16: // res = PlcConnect.ReadInt161(PlcAddress.Text).ToString(); // break; // case DataTypeEnum.UInt16: // res = PlcConnect.ReadUInt161(PlcAddress.Text).ToString(); // break; // case DataTypeEnum.Int32: // res = PlcConnect.ReadInt321(PlcAddress.Text).ToString(); // break; // case DataTypeEnum.UInt32: // res = PlcConnect.ReadUInt321(PlcAddress.Text).ToString(); // break; // case DataTypeEnum.Int64: // res = PlcConnect.ReadInt641(PlcAddress.Text).ToString(); // break; // case DataTypeEnum.UInt64: // res = PlcConnect.ReadUInt641(PlcAddress.Text).ToString(); // break; // case DataTypeEnum.Float: // res = PlcConnect.ReadFloat1(PlcAddress.Text).ToString(); // break; // case DataTypeEnum.Double: // res = PlcConnect.ReadDouble1(PlcAddress.Text).ToString(); // break; // case DataTypeEnum.String: // res = PlcConnect.ReadString1(PlcAddress.Text, (ushort)(GeneralUtils.StringNullOrToInt(LengthTextBox.Text) ?? 0)).ToString(); // break; // default: // res = "不对劲儿奥"; // break; //} //PlcShowValue.Text = res; } /// /// PLC写入按钮 /// /// /// private void WriteButton_Click(object sender, EventArgs e) { } } }