using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Venus_Themes.CustomControls;
namespace Venus_MainPages.Views
{
///
/// TMView.xaml 的交互逻辑
///
public partial class TMView : UserControl
{
BlockingCollection blockingCollection = new BlockingCollection();
public TMView()
{
InitializeComponent();
//消费
Task.Run(() =>
{
while (true)
{
if (blockingCollection.Count > 0)
{
this.Dispatcher.Invoke(new Action(() =>
{
WaferRobotTAction waferRobotTAction=blockingCollection.Take();
robot.RobotTAction = waferRobotTAction;
}));
}
System.Threading.Thread.Sleep(1000);
}
});
}
private void XCWButton_Click(object sender, RoutedEventArgs e)
{
robot.RobotXAction = WaferRobotXAction.Extend;
}
private void XCCWButton_Click(object sender, RoutedEventArgs e)
{
robot.RobotXAction = WaferRobotXAction.Retract;
}
private void TCWButton_Click(object sender, RoutedEventArgs e)
{
robot.RobotTAction = WaferRobotTAction.PMA;
}
private void TCCWButton_Click(object sender, RoutedEventArgs e)
{
robot.RobotTAction = WaferRobotTAction.PMB;
}
private async void AutoButton_Click(object sender, RoutedEventArgs e)
{
robot.RobotTAction = WaferRobotTAction.LLA;
await Task.Delay(1000);
robot.RobotXAction = WaferRobotXAction.Extend;
await Task.Delay(2000);
//robot.Wafer = 1;
await Task.Delay(200);
robot.RobotXAction = WaferRobotXAction.Retract;
await Task.Delay(2000);
robot.RobotTAction = WaferRobotTAction.PMC;
await Task.Delay(1000);
robot.RobotXAction = WaferRobotXAction.Extend;
await Task.Delay(2000);
//robot.Wafer = 0;
await Task.Delay(200);
robot.RobotXAction = WaferRobotXAction.Retract;
await Task.Delay(2000);
robot.RobotTAction = WaferRobotTAction.T_Origin;
//blockingCollection.Add(WaferRobotTAction.PMA);
//blockingCollection.Add(WaferRobotTAction.PMB);
//blockingCollection.Add(WaferRobotTAction.PMC);
//blockingCollection.Add(WaferRobotTAction.PMD);
//blockingCollection.Add(WaferRobotTAction.PMC);
//blockingCollection.Add(WaferRobotTAction.PMB);
//blockingCollection.Add(WaferRobotTAction.PMA);
//blockingCollection.Add(WaferRobotTAction.PMB);
//blockingCollection.Add(WaferRobotTAction.PMC);
//blockingCollection.Add(WaferRobotTAction.PMD);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
robot.RobotTAction = WaferRobotTAction.PMC;
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
robot.RobotTAction = WaferRobotTAction.PMD;
}
private void Button_Click_2(object sender, RoutedEventArgs e)
{
robot.RobotTAction = WaferRobotTAction.LLA;
}
private void Button_Click_3(object sender, RoutedEventArgs e)
{
robot.RobotTAction = WaferRobotTAction.LLB;
}
private void Original_Click(object sender, RoutedEventArgs e)
{
robot.RobotTAction = WaferRobotTAction.T_Origin;
//await Task.Delay(1000);
robot.RobotXAction = WaferRobotXAction.Retract;
}
private void Button_Click_4(object sender, RoutedEventArgs e)
{
PMA.DoorIsOpen = !PMA.DoorIsOpen;
}
}
}