You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
197 lines
6.9 KiB
C#
197 lines
6.9 KiB
C#
using Rs.Camera;
|
|
using Rs.Controls;
|
|
using Rs.Framework;
|
|
using Rs.Motion;
|
|
using Rs.MotionPlat.Commom;
|
|
using Rs.MotionPlat.Flow;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace Rs.MotionPlat
|
|
{
|
|
public partial class TrayRecipe : BaseForm
|
|
{
|
|
private string m_ItemName;
|
|
|
|
public TrayRecipe()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
public TrayRecipe(string itemName)
|
|
{
|
|
InitializeComponent();
|
|
m_ItemName = itemName;
|
|
cameraTemplate1.ItemName = m_ItemName;
|
|
}
|
|
|
|
private void TrayRecipe_Load(object sender, EventArgs e)
|
|
{
|
|
dataGridView1.AutoGenerateColumns = false;
|
|
rsTray1.HeadText = m_ItemName;
|
|
|
|
timer1.Interval = 1000;
|
|
timer1.Enabled = true;
|
|
rsTray1.ItemName = m_ItemName;
|
|
rsTray1.OffsetX = -12.8f;
|
|
rsTray1.OffsetY = 33.9f;
|
|
if (m_ItemName == "Turnover")
|
|
{
|
|
rsTray1.SinglePoint = true;
|
|
rsTray1.RowNum = 4;
|
|
rsTray1.ColumnNum = 8;
|
|
rsTray1.OffsetX = 45;
|
|
rsTray1.OffsetY = -50;
|
|
}
|
|
else if (m_ItemName == "下相机")
|
|
{
|
|
panel2.Visible = false;
|
|
}
|
|
//rsTray1.Init();
|
|
rsTray1.Clear();
|
|
//slot_lefttop.Position = rsTray1.GetLeftTop();//.LeftTop;
|
|
//slot_leftbottom.Position = rsTray1.GetLeftBottom();
|
|
//slot_rightbottom.Position = rsTray1.GetRightBottom();
|
|
//dataGridView1.DataSource = rsTray1.GetAllSlot().Select(sp => new { Index = sp.Index, X = sp.Position.X, Y = sp.Position.Y }).ToList();
|
|
}
|
|
|
|
|
|
int val = 0;
|
|
private void timer1_Tick(object sender, EventArgs e)
|
|
{
|
|
if (val == 0) val = 1;
|
|
else if (val == 1) val = 0;
|
|
if (m_ItemName=="中转盘")
|
|
{
|
|
rsTray1.ChangeStatus(1, val == 0 ? ESlotStatus.NotHave : ESlotStatus.Have);
|
|
rsTray1.ChangeStatus(25, val == 0 ? ESlotStatus.NotHave : ESlotStatus.Have);
|
|
}
|
|
else
|
|
{
|
|
rsTray1.ChangeStatus(1, val == 0 ? ESlotStatus.NotHave : ESlotStatus.Have);
|
|
rsTray1.ChangeStatus(251, val == 0 ? ESlotStatus.NotHave : ESlotStatus.Have);
|
|
}
|
|
|
|
rsTray1.ChangeStatus(1, val==0? ESlotStatus.NotHave:ESlotStatus.Have);
|
|
rsTray1.ChangeStatus(251, val == 0 ? ESlotStatus.NotHave : ESlotStatus.Have);
|
|
//rsTray1.ChangeStatus(260, val == 0 ? ESlotStatus.NotHave : ESlotStatus.Have);
|
|
}
|
|
|
|
protected void SavePosEvent(object sender, EventArgs e)
|
|
{
|
|
//if (rsTray1.Save())
|
|
//{
|
|
// dataGridView1.DataSource = null;
|
|
// dataGridView1.DataSource = rsTray1.GetAllSlot().Select(sp => new { Index = sp.Index, X = sp.Position.X, Y = sp.Position.Y }).ToList();
|
|
// Msg.ShowInfo("Save point success!");
|
|
//}
|
|
}
|
|
|
|
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
|
{
|
|
//if (e.RowIndex >= 0)
|
|
//{
|
|
// if (e.ColumnIndex == 3)
|
|
// {
|
|
// int slot = e.RowIndex + 1;
|
|
// DialogResult dr = MessageBox.Show($"确定移动到{slot}号槽位吗?","Tips",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
|
|
// if(dr== DialogResult.OK)
|
|
// {
|
|
// TraySlot ts =rsTray1.GetAllSlot()[slot - 1];
|
|
// AxisControl.LoadX.MovePos(ts.Position.X,10);
|
|
// AxisControl.LoadY.MovePos(ts.Position.Y, 10);
|
|
// }
|
|
// }
|
|
//}
|
|
}
|
|
|
|
private void rsTray1_SlotClickEvent(TraySlot obj, MouseEventArgs e)
|
|
{
|
|
contextMenuStrip1.Show(rsTray1, new Point(e.Location.X+15,e.Location.Y+40));
|
|
}
|
|
|
|
private void tsmi_go_Click(object sender, EventArgs e)
|
|
{
|
|
//DialogResult dr = MessageBox.Show($"确定移动到{rsTray1.SelectSlot.Index.ToString()}号槽位吗?", "Tips", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
|
|
//if(dr== DialogResult.OK)
|
|
//{
|
|
// TraySlot ts =rsTray1.GetSlot(rsTray1.SelectSlot.Index);
|
|
// AxisControl.LoadX.MovePos(ts.Position.X, 10);
|
|
// AxisControl.LoadY.MovePos(ts.Position.Y, 10);
|
|
//}
|
|
|
|
}
|
|
|
|
private void slot_lefttop_MoveCameraEvent(object sender, EventArgs e)
|
|
{
|
|
MoveToThis(sender);
|
|
}
|
|
|
|
private void slot_leftbottom_MoveCameraEvent(object sender, EventArgs e)
|
|
{
|
|
MoveToThis(sender);
|
|
}
|
|
|
|
private void slot_rightbottom_MoveCameraEvent(object sender, EventArgs e)
|
|
{
|
|
MoveToThis(sender);
|
|
}
|
|
|
|
private void MoveToThis(object sender)
|
|
{
|
|
TrayLocation trayLocation = (TrayLocation)sender;
|
|
AxisControl.LoadX.MovePos(trayLocation.PosX, 10);
|
|
AxisControl.LoadY.MovePos(trayLocation.PosY, 10);
|
|
}
|
|
|
|
private void slot_lefttop_FetchPositionEvent(object sender, EventArgs e)
|
|
{
|
|
//ErrorCode errCode = AxisControl.LoadX.GetEncoderPosition(out double dEncPosX);
|
|
//if (errCode > ErrorCode.Ok)
|
|
//{
|
|
// Msg.ShowError(errCode.ToString());
|
|
// return;
|
|
//}
|
|
//AxisControl.LoadY.GetEncoderPosition(out double dEncPosY);
|
|
//if (errCode > ErrorCode.Ok)
|
|
//{
|
|
// Msg.ShowError(errCode.ToString());
|
|
// return;
|
|
//}
|
|
//slot_lefttop.Position = new PointF((float)dEncPosX, (float)dEncPosY);
|
|
//rsTray1.SetLeftTop(slot_lefttop.Position);
|
|
}
|
|
|
|
private void slot_leftbottom_FetchPositionEvent(object sender, EventArgs e)
|
|
{
|
|
//ErrorCode errCode = AxisControl.LoadX.GetEncoderPosition(out double dEncPosX);
|
|
//if (errCode > ErrorCode.Ok)
|
|
//{
|
|
// Msg.ShowError(errCode.ToString());
|
|
// return;
|
|
//}
|
|
//AxisControl.LoadY.GetEncoderPosition(out double dEncPosY);
|
|
//if (errCode > ErrorCode.Ok)
|
|
//{
|
|
// Msg.ShowError(errCode.ToString());
|
|
// return;
|
|
//}
|
|
//slot_leftbottom.Position = new PointF((float)dEncPosX, (float)dEncPosY);
|
|
//rsTray1.SetLeftBottom(slot_leftbottom.Position);
|
|
}
|
|
|
|
private void TrayRecipe_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
cameraTemplate1.RemoveGrabEvent();
|
|
}
|
|
}
|
|
}
|