using HighWayIot.Log4net; using HighWayIot.Plc; using HighWayIot.Plc.PlcHelper; using HighWayIot.Repository.domain; using HighWayIot.Repository.service; using HighWayIot.Rfid; using HighWayIot.TouchSocket; using HighWayIot.Winform.Business; using HighWayIot.Winform.Properties; using HslCommunication; using Models; 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 = ; } /// /// RFID测试 /// /// /// private void button2_Click(object sender, EventArgs e) { var a = _touchSocketTcpClient.Send($"192.168.0.{RFIDtext.Text}", _RfidDataAnalyse.Send02H(1000)); LogHelper.Instance.Info($"192.168.0.{RFIDtext.Text} 发送" + (a ? "成功" : "失败")); } /// /// 测试按钮3 /// /// /// private void button3_Click(object sender, EventArgs e) { byte[] sideBytes = new byte[2]; sideBytes[0] = sideBytes[0].SetBoolByIndex(0, false); sideBytes[0] = sideBytes[0].SetBoolByIndex(1, true); sideBytes[0] = sideBytes[0].SetBoolByIndex(2, false); sideBytes[0] = sideBytes[0].SetBoolByIndex(3, true); sideBytes[0] = sideBytes[0].SetBoolByIndex(4, false); sideBytes[0] = sideBytes[0].SetBoolByIndex(5, true); sideBytes[0] = sideBytes[0].SetBoolByIndex(6, false); sideBytes[0] = sideBytes[0].SetBoolByIndex(7, true); sideBytes[1] = sideBytes[1].SetBoolByIndex(0, false); sideBytes[1] = sideBytes[1].SetBoolByIndex(1, true); ushort sideBitData = sideBytes.FromBytes(); sideBytes = BitConverter.GetBytes(sideBitData); if (PlcConnect.PlcWriteBytes2("D409", sideBytes).IsSuccess) { MessageBox.Show("写入成功"); } } /// /// 测试按钮1 /// /// /// private void button1_Click(object sender, EventArgs e) { OperateResult sideResult = PlcConnect.ReadByte2("D409", 1); byte[] sideData; if (sideResult.IsSuccess) { sideData = sideResult.Content; List result = new List(); result.Add(sideData[0].GetBoolByIndex(0)); result.Add(sideData[0].GetBoolByIndex(1)); result.Add(sideData[0].GetBoolByIndex(2)); result.Add(sideData[0].GetBoolByIndex(3)); result.Add(sideData[0].GetBoolByIndex(4)); result.Add(sideData[0].GetBoolByIndex(5)); result.Add(sideData[0].GetBoolByIndex(6)); result.Add(sideData[0].GetBoolByIndex(7)); result.Add(sideData[1].GetBoolByIndex(0)); result.Add(sideData[1].GetBoolByIndex(1)); } } /// /// 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) { } } }