@@ -1,18 +1,19 @@ | |||||
<Application x:Class="HKCardOUT.App" | |||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |||||
xmlns:s="https://github.com/canton7/Stylet" | |||||
xmlns:hc="https://handyorg.github.io/handycontrol" | |||||
xmlns:local="clr-namespace:HKCardOUT"> | |||||
<Application | |||||
x:Class="HKCardOUT.App" | |||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" | |||||
xmlns:hc="https://handyorg.github.io/handycontrol" | |||||
xmlns:local="clr-namespace:HKCardOUT" | |||||
xmlns:s="https://github.com/canton7/Stylet"> | |||||
<Application.Resources> | <Application.Resources> | ||||
<s:ApplicationLoader> | <s:ApplicationLoader> | ||||
<s:ApplicationLoader.Bootstrapper> | <s:ApplicationLoader.Bootstrapper> | ||||
<local:Bootstrapper/> | |||||
<local:Bootstrapper /> | |||||
</s:ApplicationLoader.Bootstrapper> | </s:ApplicationLoader.Bootstrapper> | ||||
<s:ApplicationLoader.MergedDictionaries> | <s:ApplicationLoader.MergedDictionaries> | ||||
<hc:ThemeResources/> | |||||
<hc:Theme/> | |||||
<hc:ThemeResources /> | |||||
<hc:Theme /> | |||||
</s:ApplicationLoader.MergedDictionaries> | </s:ApplicationLoader.MergedDictionaries> | ||||
</s:ApplicationLoader> | </s:ApplicationLoader> | ||||
</Application.Resources> | </Application.Resources> | ||||
@@ -1,5 +1,4 @@ | |||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" | |||||
xmlns:hc="https://handyorg.github.io/handycontrol"> | |||||
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:hc="https://handyorg.github.io/handycontrol"> | |||||
<ResourceDictionary.MergedDictionaries> | <ResourceDictionary.MergedDictionaries> | ||||
<hc:IntellisenseResources Source="/HandyControl;Component/DesignTime/DesignTimeResources.xaml" /> | <hc:IntellisenseResources Source="/HandyControl;Component/DesignTime/DesignTimeResources.xaml" /> | ||||
</ResourceDictionary.MergedDictionaries> | </ResourceDictionary.MergedDictionaries> | ||||
@@ -18,6 +18,7 @@ namespace HKCardOUT.Views | |||||
private void RootView_Loaded(object sender, RoutedEventArgs e) | private void RootView_Loaded(object sender, RoutedEventArgs e) | ||||
{ | { | ||||
(this.DataContext as RootViewModel).Main = this; | (this.DataContext as RootViewModel).Main = this; | ||||
HKControl.Main.GetInstance.Init(); | |||||
} | } | ||||
} | } | ||||
} | } |
@@ -1,4 +1,5 @@ | |||||
using System.Collections.Concurrent; | using System.Collections.Concurrent; | ||||
using System.Diagnostics; | |||||
using HKHelper; | using HKHelper; | ||||
using S7.Net; | using S7.Net; | ||||
@@ -63,9 +64,9 @@ namespace HKControl | |||||
if (!SiemensDicitonary.ContainsKey(item.DeviceNum)) { SiemensDicitonary.TryAdd(item.DeviceNum, new Siemens()); } | if (!SiemensDicitonary.ContainsKey(item.DeviceNum)) { SiemensDicitonary.TryAdd(item.DeviceNum, new Siemens()); } | ||||
ThreadManage.GetInstance().Start(new Action(() => | ThreadManage.GetInstance().Start(new Action(() => | ||||
{ | { | ||||
SiemensDicitonary[item.DeviceNum].Connect(CpuType.S7200Smart, item.IpAddress); | |||||
SiemensDicitonary[item.DeviceNum].ConnectOk = new Action(() => | SiemensDicitonary[item.DeviceNum].ConnectOk = new Action(() => | ||||
{ | { | ||||
Debug.WriteLine($"{item.DeviceNum}:连接成功"); | |||||
ThreadManage.GetInstance().StartLong(new Action(() => | ThreadManage.GetInstance().StartLong(new Action(() => | ||||
{ | { | ||||
var res = SiemensDicitonary[item.DeviceNum].Read<byte>("MB7"); | var res = SiemensDicitonary[item.DeviceNum].Read<byte>("MB7"); | ||||
@@ -86,6 +87,7 @@ namespace HKControl | |||||
Thread.Sleep(100); | Thread.Sleep(100); | ||||
}), $"{item.DeviceNum} 号设备监听"); | }), $"{item.DeviceNum} 号设备监听"); | ||||
}); | }); | ||||
SiemensDicitonary[item.DeviceNum].Connect(CpuType.S7200Smart, item.IpAddress); | |||||
}), $"{item.DeviceNum} 号设备连接初始化"); | }), $"{item.DeviceNum} 号设备连接初始化"); | ||||
}); | }); | ||||
@@ -103,22 +105,28 @@ namespace HKControl | |||||
switch (carNum) | switch (carNum) | ||||
{ | { | ||||
case 1: | case 1: | ||||
SiemensDicitonary[1].Write("M6.0", true); | |||||
//SiemensDicitonary[1].Write("M6.0", true); | |||||
Control(1, "M6.0"); | |||||
break; | break; | ||||
case 2: | case 2: | ||||
SiemensDicitonary[1].Write("M6.1", true); | |||||
//SiemensDicitonary[1].Write("M6.1", true); | |||||
Control(1, "M6.1"); | |||||
break; | break; | ||||
case 3: | case 3: | ||||
SiemensDicitonary[2].Write("M6.0", true); | |||||
//SiemensDicitonary[2].Write("M6.0", true); | |||||
Control(2, "M6.0"); | |||||
break; | break; | ||||
case 4: | case 4: | ||||
SiemensDicitonary[2].Write("M6.1", true); | |||||
//SiemensDicitonary[2].Write("M6.1", true); | |||||
Control(2, "M6.1"); | |||||
break; | break; | ||||
case 5: | case 5: | ||||
SiemensDicitonary[3].Write("M6.0", true); | |||||
//SiemensDicitonary[3].Write("M6.0", true); | |||||
Control(3, "M6.0"); | |||||
break; | break; | ||||
case 6: | case 6: | ||||
SiemensDicitonary[3].Write("M6.1", true); | |||||
//SiemensDicitonary[3].Write("M6.1", true); | |||||
Control(3, "M6.1"); | |||||
break; | break; | ||||
default: | default: | ||||
@@ -130,6 +138,13 @@ namespace HKControl | |||||
}), "开始运行设备"); | }), "开始运行设备"); | ||||
} | } | ||||
private void Control(int num, string add) | |||||
{ | |||||
SiemensDicitonary[num].Write(add, true); | |||||
Thread.Sleep(1000); | |||||
SiemensDicitonary[num].Write(add, false); | |||||
} | |||||
private void DataInit() | private void DataInit() | ||||
{ | { | ||||
Json<CommunicationPar>.Read(); | Json<CommunicationPar>.Read(); | ||||
@@ -140,7 +155,7 @@ namespace HKControl | |||||
Json<CommunicationPar>.Data.CommunicationModels.Add(new CommunicationModel() | Json<CommunicationPar>.Data.CommunicationModels.Add(new CommunicationModel() | ||||
{ | { | ||||
IpAddress = "192.168.0.1", | IpAddress = "192.168.0.1", | ||||
DeviceNum = 1 | |||||
DeviceNum = 3 | |||||
}); | }); | ||||
Json<CommunicationPar>.Data.CommunicationModels.Add(new CommunicationModel() | Json<CommunicationPar>.Data.CommunicationModels.Add(new CommunicationModel() | ||||
@@ -152,7 +167,7 @@ namespace HKControl | |||||
Json<CommunicationPar>.Data.CommunicationModels.Add(new CommunicationModel() | Json<CommunicationPar>.Data.CommunicationModels.Add(new CommunicationModel() | ||||
{ | { | ||||
IpAddress = "192.168.0.3", | IpAddress = "192.168.0.3", | ||||
DeviceNum = 3 | |||||
DeviceNum = 1 | |||||
}); | }); | ||||
Json<CommunicationPar>.Save(); | Json<CommunicationPar>.Save(); | ||||
@@ -1,6 +1,7 @@ | |||||
using S7.Net; | using S7.Net; | ||||
using System; | using System; | ||||
using System.Collections.Generic; | using System.Collections.Generic; | ||||
using System.Diagnostics; | |||||
using System.Linq; | using System.Linq; | ||||
using System.Text; | using System.Text; | ||||
using System.Threading.Tasks; | using System.Threading.Tasks; | ||||
@@ -20,10 +21,24 @@ namespace HKControl | |||||
/// <param name="port">plc 端口号</param> | /// <param name="port">plc 端口号</param> | ||||
/// <param name="rack">PLC 机架号</param> | /// <param name="rack">PLC 机架号</param> | ||||
/// <param name="solt"> PLC 插槽号</param> | /// <param name="solt"> PLC 插槽号</param> | ||||
public void Connect(CpuType cpuType, string ip, int port = 102, short rack = 0, short solt = 2) | |||||
public void Connect(CpuType cpuType, string ip, int port = 102, short rack = 0, short solt = 0) | |||||
{ | { | ||||
myPlc = new Plc(cpuType, ip, port, rack, solt); | |||||
myPlc.Open(); | |||||
try | |||||
{ | |||||
myPlc = new Plc(cpuType, ip, port, rack, solt); | |||||
myPlc.Open(); | |||||
if (myPlc.IsConnected) | |||||
{ | |||||
ConnectOk?.Invoke(); | |||||
Debug.WriteLine($"设备{ip}连接成功"); | |||||
} | |||||
} | |||||
catch (Exception ex) | |||||
{ | |||||
Debug.WriteLine($"设备连接出错:{ip}"); | |||||
//Debug.WriteLine(ex.ToString()); | |||||
} | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
@@ -26,10 +26,19 @@ namespace UHFHelper | |||||
/// <param name="param"></param> | /// <param name="param"></param> | ||||
public void Open(SerialParam param) | public void Open(SerialParam param) | ||||
{ | { | ||||
_serialParam = param; | |||||
_serialPort = new SerialPort(_serialParam.PortName, _serialParam.BaudRate, _serialParam.PortParity, _serialParam.DataBits); | |||||
_serialPort.Open(); | |||||
if (SerialPort.GetPortNames().Contains(param.PortName)) | |||||
{ | |||||
_serialParam = param; | |||||
_serialPort = new SerialPort(_serialParam.PortName, _serialParam.BaudRate, _serialParam.PortParity, _serialParam.DataBits); | |||||
try | |||||
{ | |||||
_serialPort.Open(); | |||||
} | |||||
catch (Exception) | |||||
{ | |||||
} | |||||
} | |||||
} | } | ||||
/// <summary> | /// <summary> | ||||
/// 获取串口状态 | /// 获取串口状态 | ||||
@@ -44,8 +44,11 @@ | |||||
this.listView1 = new System.Windows.Forms.ListView(); | this.listView1 = new System.Windows.Forms.ListView(); | ||||
this.columnHeader1 = new System.Windows.Forms.ColumnHeader(); | this.columnHeader1 = new System.Windows.Forms.ColumnHeader(); | ||||
this.columnHeader2 = new System.Windows.Forms.ColumnHeader(); | this.columnHeader2 = new System.Windows.Forms.ColumnHeader(); | ||||
this.button9 = new System.Windows.Forms.Button(); | |||||
this.columnHeader3 = new System.Windows.Forms.ColumnHeader(); | this.columnHeader3 = new System.Windows.Forms.ColumnHeader(); | ||||
this.button9 = new System.Windows.Forms.Button(); | |||||
this.button10 = new System.Windows.Forms.Button(); | |||||
this.textBox2 = new System.Windows.Forms.TextBox(); | |||||
this.button11 = new System.Windows.Forms.Button(); | |||||
this.SuspendLayout(); | this.SuspendLayout(); | ||||
// | // | ||||
// button1 | // button1 | ||||
@@ -191,6 +194,10 @@ | |||||
// | // | ||||
this.columnHeader2.Text = "号码"; | this.columnHeader2.Text = "号码"; | ||||
// | // | ||||
// columnHeader3 | |||||
// | |||||
this.columnHeader3.Text = "次数"; | |||||
// | |||||
// button9 | // button9 | ||||
// | // | ||||
this.button9.Location = new System.Drawing.Point(88, 387); | this.button9.Location = new System.Drawing.Point(88, 387); | ||||
@@ -201,15 +208,42 @@ | |||||
this.button9.UseVisualStyleBackColor = true; | this.button9.UseVisualStyleBackColor = true; | ||||
this.button9.Click += new System.EventHandler(this.button9_Click); | this.button9.Click += new System.EventHandler(this.button9_Click); | ||||
// | // | ||||
// columnHeader3 | |||||
// button10 | |||||
// | // | ||||
this.columnHeader3.Text = "次数"; | |||||
this.button10.Location = new System.Drawing.Point(126, 517); | |||||
this.button10.Name = "button10"; | |||||
this.button10.Size = new System.Drawing.Size(127, 37); | |||||
this.button10.TabIndex = 14; | |||||
this.button10.Text = "PLC 初始化"; | |||||
this.button10.UseVisualStyleBackColor = true; | |||||
this.button10.Click += new System.EventHandler(this.button10_Click); | |||||
// | |||||
// textBox2 | |||||
// | |||||
this.textBox2.Location = new System.Drawing.Point(270, 472); | |||||
this.textBox2.Name = "textBox2"; | |||||
this.textBox2.Size = new System.Drawing.Size(127, 23); | |||||
this.textBox2.TabIndex = 15; | |||||
this.textBox2.TextChanged += new System.EventHandler(this.textBox2_TextChanged); | |||||
// | |||||
// button11 | |||||
// | |||||
this.button11.Location = new System.Drawing.Point(270, 517); | |||||
this.button11.Name = "button11"; | |||||
this.button11.Size = new System.Drawing.Size(127, 37); | |||||
this.button11.TabIndex = 16; | |||||
this.button11.Text = "开始出餐"; | |||||
this.button11.UseVisualStyleBackColor = true; | |||||
this.button11.Click += new System.EventHandler(this.button11_Click); | |||||
// | // | ||||
// Form1 | // Form1 | ||||
// | // | ||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); | this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); | ||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; | ||||
this.ClientSize = new System.Drawing.Size(800, 450); | |||||
this.ClientSize = new System.Drawing.Size(1075, 589); | |||||
this.Controls.Add(this.button11); | |||||
this.Controls.Add(this.textBox2); | |||||
this.Controls.Add(this.button10); | |||||
this.Controls.Add(this.button9); | this.Controls.Add(this.button9); | ||||
this.Controls.Add(this.listView1); | this.Controls.Add(this.listView1); | ||||
this.Controls.Add(this.button8); | this.Controls.Add(this.button8); | ||||
@@ -253,5 +287,8 @@ | |||||
private ColumnHeader columnHeader2; | private ColumnHeader columnHeader2; | ||||
private Button button9; | private Button button9; | ||||
private ColumnHeader columnHeader3; | private ColumnHeader columnHeader3; | ||||
private Button button10; | |||||
private TextBox textBox2; | |||||
private Button button11; | |||||
} | } | ||||
} | } |
@@ -61,7 +61,7 @@ namespace test | |||||
add.Add(02); | add.Add(02); | ||||
} | } | ||||
UHF_RS485_Helper uHF_RS485_Helper; | UHF_RS485_Helper uHF_RS485_Helper; | ||||
private void button5_Click(object sender, EventArgs e) | |||||
private void button5_Click(object sender, EventArgs e) | |||||
{ | { | ||||
// 初始化 | // 初始化 | ||||
UHF_RS485_Helper.GetInstance().Open(new SerialParam | UHF_RS485_Helper.GetInstance().Open(new SerialParam | ||||
@@ -76,11 +76,11 @@ namespace test | |||||
} | } | ||||
} | } | ||||
private void button6_Click(object sender, EventArgs e) | |||||
private void button6_Click(object sender, EventArgs e) | |||||
{ | { | ||||
if (UHF_RS485_Helper.GetInstance().GetSerialPortState()) | if (UHF_RS485_Helper.GetInstance().GetSerialPortState()) | ||||
{ | { | ||||
var oldss = UHF_RS485_Helper.GetInstance().ReadCard(01); | |||||
var oldss = UHF_RS485_Helper.GetInstance().ReadCard(01); | |||||
var sss = oldss?.ResData; | var sss = oldss?.ResData; | ||||
textBox4.Text = sss; | textBox4.Text = sss; | ||||
label2.Text = sss; | label2.Text = sss; | ||||
@@ -99,7 +99,7 @@ namespace test | |||||
ti.Elapsed += Ti_Elapsed; | ti.Elapsed += Ti_Elapsed; | ||||
ti.Start(); | ti.Start(); | ||||
} | } | ||||
private void Ti_Elapsed(object? sender, System.Timers.ElapsedEventArgs e) | private void Ti_Elapsed(object? sender, System.Timers.ElapsedEventArgs e) | ||||
{ | { | ||||
foreach (var item in add) | foreach (var item in add) | ||||
@@ -111,7 +111,7 @@ namespace test | |||||
//this.listView1.Items.Add(lvi); | //this.listView1.Items.Add(lvi); | ||||
this.Invoke(() => | this.Invoke(() => | ||||
{ | { | ||||
if (listView1.Items.Count==0) | |||||
if (listView1.Items.Count == 0) | |||||
{ | { | ||||
ListViewItem lvi = new ListViewItem(); | ListViewItem lvi = new ListViewItem(); | ||||
lvi.SubItems.Add(oldss.ResData ?? "无"); | lvi.SubItems.Add(oldss.ResData ?? "无"); | ||||
@@ -146,7 +146,23 @@ namespace test | |||||
ListViewItem lvi = new ListViewItem("1"); | ListViewItem lvi = new ListViewItem("1"); | ||||
lvi.SubItems.Add("第1列,第1行"); | lvi.SubItems.Add("第1列,第1行"); | ||||
lvi.SubItems.Add("第2列,第2行"); | lvi.SubItems.Add("第2列,第2行"); | ||||
} | |||||
private void button10_Click(object sender, EventArgs e) | |||||
{ | |||||
HKControl.Main.GetInstance.Init(); | |||||
} | |||||
private void textBox2_TextChanged(object sender, EventArgs e) | |||||
{ | |||||
} | |||||
private void button11_Click(object sender, EventArgs e) | |||||
{ | |||||
int num = Convert.ToInt32(textBox2.Text.Trim()); | |||||
HKControl.Main.GetInstance.Start(num); | |||||
} | } | ||||
} | } | ||||
} | } |
@@ -10,6 +10,7 @@ | |||||
</PropertyGroup> | </PropertyGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ProjectReference Include="..\HKControl\HKControl.csproj" /> | |||||
<ProjectReference Include="..\UHFHelper\UHFHelper.csproj" /> | <ProjectReference Include="..\UHFHelper\UHFHelper.csproj" /> | ||||
</ItemGroup> | </ItemGroup> | ||||