using MECF.Framework.RT.Core.IoProviders.Siemens; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using Aitex.Core.RT.Event; using MECF.Framework.RT.Core.IoProviders.Siemens.Transfer; using MECF.Framework.RT.Core.IoProviders.Siemens.Net; namespace SicRT.Equipments { /// /// DEMO程序的一些静态变量信息 /// public class DemoUtils { /// /// 统一的读取结果的数据解析,显示 /// /// 类型对象 /// 读取的结果值 /// 地址信息 /// 输入的控件 //public static void ReadResultRender(OperateResult result, string address, TextBox textBox) //{ // if (result.IsSuccess) // { // if (result.Content is Array) // { // textBox.AppendText(DateTime.Now.ToString("[HH:mm:ss] ") + $"[{address}] {SoftBasic.ArrayFormat(result.Content)}{Environment.NewLine}"); // } // else // { // textBox.AppendText(DateTime.Now.ToString("[HH:mm:ss] ") + $"[{address}] {result.Content}{Environment.NewLine}"); // } // } // else // { // MessageBox.Show(DateTime.Now.ToString("[HH:mm:ss] ") + $"[{address}] Read Failed {Environment.NewLine}Reason:{result.ToMessageShowString()}"); // } // } /// /// 统一的数据写入的结果显示 /// /// 写入的结果信息 /// 地址信息 public static void WriteResultRender(OperateResult result, string address) { if (result.IsSuccess) { MessageBox.Show(DateTime.Now.ToString("[HH:mm:ss] ") + $"[{address}] Write Success"); } else { MessageBox.Show(DateTime.Now.ToString("[HH:mm:ss] ") + $"[{address}] Write Failed {Environment.NewLine} Reason:{result.ToMessageShowString()}"); } } /// /// 统一的数据写入的结果显示 /// /// 写入的结果信息 /// 地址信息 public static void WriteResultRender(OperateResult result) { if (result.IsSuccess) { MessageBox.Show(DateTime.Now.ToString("[HH:mm:ss] ") + $"Success"); } else { MessageBox.Show(DateTime.Now.ToString("[HH:mm:ss] ") + $"Failed {Environment.NewLine} Reason:{result.ToMessageShowString()}"); } } /// /// 统一的数据写入的结果显示 /// /// 写入的结果信息 /// 地址信息 public static void WriteResultRender(Func write, string address) { try { OperateResult result = write(); if (result.IsSuccess) { MessageBox.Show(DateTime.Now.ToString("[HH:mm:ss] ") + $"[{address}] Write Success"); } else { MessageBox.Show(DateTime.Now.ToString("[HH:mm:ss] ") + $"[{address}] Write Failed {Environment.NewLine} Reason:{result.ToMessageShowString()}"); } } catch (Exception ex) { // 主要是为了捕获写入的值不正确的情况 MessageBox.Show("Data for writting is not corrent: " + ex.Message); } } public static bool BulkReadRenderResult(IReadWriteNet readWrite, string Adrress, ushort length,out byte[] data) { try { if (readWrite == null) { data = null; return false; } OperateResult read = readWrite.Read(Adrress, length);// ushort.Parse(lengthTextBox.Text)); if (read.IsSuccess) { data = read.Content; return true; } else { data = null; return false; } } catch (Exception ex) { // EV.PostAlarmLog ( ,"Read Failed:" + ex.Message); } data = null; return false; } public static bool BulkWriteFloatRenderResult(IReadWriteNet readWrite, string Adrress, float data) { try { if (readWrite == null) { data =0; return false; } OperateResult write = readWrite.Write(Adrress, data); return write.IsSuccess; } catch (Exception ex) { // MessageBox.Show("Read Failed:" + ex.Message); } return false; } public static bool BulkWriteByteRenderResult(IReadWriteNet readWrite, string Adrress, byte[] data) { try { if (readWrite == null) { data = null; return false; } OperateResult write = readWrite.Write(Adrress, data); return write.IsSuccess; } catch (Exception ex) { // MessageBox.Show("Read Failed:" + ex.Message); } return false; } public static readonly string IpAddressInputWrong = "IpAddress input wrong"; public static readonly string PortInputWrong = "Port input wrong"; public static readonly string SlotInputWrong = "Slot input wrong"; public static readonly string BaudRateInputWrong = "Baud rate input wrong"; public static readonly string DataBitsInputWrong = "Data bit input wrong"; public static readonly string StopBitInputWrong = "Stop bit input wrong"; } }