Commit 6761ef13 刘韬

Merge branch '无轨道开发' of http://106.15.194.121:8083/lina/Line-Smart-Workstation into 无轨道开发

2 个父辈 55f34100 31b1d087
......@@ -188,7 +188,7 @@ namespace TSA_V.DeviceLibrary
PositionX = 0;
PositionY = 0;
}
public SMTPointInfo(int num, string partNum, string name, double positionX, double positionY, string PositionNum,
public SMTPointInfo(int num, string partNum, string name, double positionX, double positionY, string PositionNum,string showText,
int pointType=1,int pointSizex=1,int pointSizeY=1,int penWidth =2,
bool needs = false, bool needc = false, int sTemp = 0, double sTime = 0)
{
......@@ -206,7 +206,11 @@ namespace TSA_V.DeviceLibrary
this.PointSizeX = pointSizex;
this.PointSizeY = pointSizeY;
this.PenWidth = penWidth;
this.ShowText = name;
this.ShowText = showText;
if (String.IsNullOrEmpty(this.ShowText))
{
this.ShowText = name;
}
}
/// <summary>
......
位号,物料编码,数量,料盘位置,元器件描述,X坐标,Y坐标,注意事项
必填,不可重复,必填,必填,必填(1-100),,,,
位号,物料编码,数量,料盘位置,元器件描述,X坐标,Y坐标,注意事项,投影文字
必填,不可重复,必填,必填,必填(1-100),,,,,
......@@ -16,6 +16,7 @@ namespace TSA_V.LoadCSVLibrary
PositionY = 0;
Notes = "";
ComponentDes = "";
Text = "";
}
public int Id { get; set; }
......@@ -66,7 +67,11 @@ namespace TSA_V.LoadCSVLibrary
/// </summary>
[CSVAttribute("Notes", "注意事项", false)]
public string Notes { get; set; }
/// <summary>
///投影文字
/// </summary>
[CSVAttribute("Text", "投影文字", false)]
public string Text { get; set; }
public int GetSortPosition()
{
......
......@@ -168,7 +168,7 @@ namespace TSA_V.DeviceLibrary
#region IO控制方法
public static void IOCheckAndMove(string ioType,IO_VALUE ioValue)
{
if (!IOValue(ioType).Equals(ioValue))
if (!DOValue(ioType).Equals(ioValue))
{
IOMove(ioType, ioValue);
}
......@@ -194,7 +194,31 @@ namespace TSA_V.DeviceLibrary
{
LogUtil.error(LOGGER, "KNDIOMove错误ioType=" + ioType + ",value=" + ioValue + ",错误信息:" + ex.ToString());
}
}
}
public static IO_VALUE DOValue(string ioType)
{
//优先验证DO
IO_VALUE ioValue = IO_VALUE.LOW;
if (DOList.ContainsKey(ioType))
{
ConfigIO configIo = DOList[ioType];
ioValue = IOBase.instance.GetDOValue(configIo.DeviceName, configIo.SlaveID, configIo.IOIndex);
}
else if (DIList.ContainsKey(ioType))
{
ConfigIO configIo = DIList[ioType];
ioValue = IOBase.instance.GetDIValue(configIo.DeviceName, configIo.SlaveID, configIo.IOIndex);
}
else
{
if (IOBase.NoLine)
return IO_VALUE.LOW;
LogUtil.error(LOGGER, "没有DO=" + ioType);
}
return ioValue;
}
public static IO_VALUE IOValue(string ioType)
{
IO_VALUE ioValue = IO_VALUE.LOW;
......
......@@ -229,6 +229,7 @@ namespace TSA_V.DeviceLibrary
c.PositionY = p.PositionY;
c.TagNo = p.TagNo;
c.Notes = "";
c.Text =p.ShowText;
c.ComponentDes = "";
}
......
......@@ -45,8 +45,9 @@ namespace TSA_V.DeviceLibrary
return;
}
//开始转动
if (IOManager.IOValue(IOManager.SMEMA_Up).Equals(IO_VALUE.HIGH) || (IOManager.IOValue(IOManager.LineInCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IOManager.LineOutCheck).Equals(IO_VALUE.LOW)))
{
if ( (IOManager.IOValue(IOManager.LineInCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IOManager.LineOutCheck).Equals(IO_VALUE.LOW)))
//if (IOManager.IOValue(IOManager.SMEMA_Up).Equals(IO_VALUE.HIGH) || (IOManager.IOValue(IOManager.LineInCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IOManager.LineOutCheck).Equals(IO_VALUE.LOW)))
{
if (LineStep.moveType.Equals(0))
{
StartWorkTime = DateTime.Now;
......@@ -56,7 +57,7 @@ namespace TSA_V.DeviceLibrary
IOManager.IOMove(IOManager.SMEMA_Down, IO_VALUE.LOW);
if (OnlyGuoBan)
{
LogUtil.info("线体入口检测到电路板:挡停气缸下降,侧挡气缸后退,底部气缸下降");
LogUtil.info("线体入口检测到电路板(OnlyGuoBan):挡停气缸下降,侧挡气缸后退,底部气缸下降");
BottomCylinderDown(true );
CylinderMove(IOManager.StopCylinder_Up, IOManager.StopCylinder_Down, true );
SideCyliderBack(true );
......@@ -67,7 +68,35 @@ namespace TSA_V.DeviceLibrary
CylinderReset(true);
}
}
} else if (WorkSingleStart||OpenOfflineMode )
}
//检测到X04信号,转动板子到入口处
else if (IOManager.IOValue(IOManager.SMEMA_Up).Equals(IO_VALUE.HIGH)
&& IOManager.IOValue(IOManager.LineInCheck).Equals(IO_VALUE.LOW)
&& IOManager.IOValue(IOManager.LineOutCheck).Equals(IO_VALUE.LOW)
&& IOManager.IOValue(IOManager.LineWorkCheck).Equals(IO_VALUE.LOW))
{
if (LineStep.moveType.Equals(0))
{
StartWorkTime = DateTime.Now;
LineStep.NewMove();
LineStep.NextStep(StepEnum.LS100_RunReady);
IOManager.IOMove(IOManager.SMEMA_Up, IO_VALUE.HIGH);
IOManager.IOMove(IOManager.SMEMA_Down, IO_VALUE.LOW);
if (OnlyGuoBan)
{
LogUtil.info("收到前机送料信号X04(OnlyGuoBan):挡停气缸下降,侧挡气缸后退,底部气缸下降");
BottomCylinderDown(true);
CylinderMove(IOManager.StopCylinder_Up, IOManager.StopCylinder_Down, true);
SideCyliderBack(true);
}
else
{
LogUtil.info("收到前机送料信号X04:挡停气缸上升,侧挡气缸后退,底部气缸下降");
CylinderReset(true);
}
}
}
else if (WorkSingleStart||OpenOfflineMode )
{
if ( (IOManager.IOValue(IOManager.LineWorkCheck).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IOManager.LineOutCheck).Equals(IO_VALUE.LOW)))
{
......@@ -180,7 +209,37 @@ namespace TSA_V.DeviceLibrary
{
return;
}
if (LineStep.IsStep(StepEnum.LS01_StopUp))
if (LineStep.IsStep(StepEnum.LS100_RunReady))
{
LineStep.NextStep(StepEnum.LS101_RunWaitIn);
LineLog("流水线转动:等待LineInCheck 或5秒钟");
IOManager.IOMove(IOManager.Line_FStart, IO_VALUE.HIGH);
LineStep.WaitList.Add(WaitResultInfo.WaitIO(IOManager.LineInCheck, IO_VALUE.HIGH));
LineStep.WaitList.Add(WaitResultInfo.WaitTime(5000));
LineStep.OneWaitOk = true;
}else if (LineStep.IsStep(StepEnum.LS101_RunWaitIn))
{
if (IOManager.IOValue(IOManager.LineInCheck).Equals(IO_VALUE.HIGH))
{
StartWorkTime = DateTime.Now;
LineStep.NewMove();
IOManager.IOMove(IOManager.SMEMA_Up, IO_VALUE.LOW);
IOManager.IOMove(IOManager.SMEMA_Down, IO_VALUE.LOW);
LineStep.NextStep(StepEnum.LS02_LineMove);
LineLog("流水线转动:收到LineInCheck,关闭Y03, 转动流水线,等待工作区域检测信号");
IOManager.IOMove(IOManager.Line_FStart, IO_VALUE.HIGH);
LineStep.WaitList.Add(WaitResultInfo.WaitIO(IOManager.LineWorkCheck, IO_VALUE.HIGH));
}
else
{
TimeSpan span = DateTime.Now - StartWorkTime;
LineLog("流水线转动: 收到X04信号转动结束。当前LineInCheck=" + IOManager.IOValue(IOManager.LineInCheck));
IOManager.IOMove(IOManager.Line_FStart, IO_VALUE.LOW);
LineStep.EndMove();
}
}
else if (LineStep.IsStep(StepEnum.LS01_StopUp))
{
LineStep.NextStep(StepEnum.LS02_LineMove);
LineLog("流水线转动:转动流水线,等待工作区域检测信号");
......@@ -572,10 +631,21 @@ namespace TSA_V.DeviceLibrary
Wait = 0,
/// <summary>
///流水线转动: 准备开始转动线体
/// </summary>
LS100_RunReady,
/// <summary>
///流水线转动: 检测到前机送料信号,转动流水线5秒或者入口有料
/// </summary>
LS101_RunWaitIn,
/// <summary>
///流水线转动: 阻挡气缸上升
/// </summary>
LS01_StopUp = 1,
LS01_StopUp ,
/// <summary>
/// 流水线转动:转动流水线,等待工作区域检测信号
/// </summary>
......@@ -612,7 +682,7 @@ namespace TSA_V.DeviceLibrary
/// <summary>
/// 工作完成:底部气缸下降,侧挡后退
/// </summary>
LS11_StopBack = 11,
LS11_StopBack ,
/// <summary>
/// 工作完成:阻挡气缸下降
/// </summary>
......
......@@ -74,12 +74,7 @@ namespace TSA_V
txtBoardName.Focus();
return false ;
}
if (cmbBomList.SelectedIndex < 0)
{
//MessageBox.Show(ResourceCulture.GetString(ResourceCulture.ChoiceLibrary, "请选择元器件库!"));
txtBoardName.Focus();
return false ;
}
board.boardCode = FormUtil.getValue(txtCode);
board.imgName = FormUtil.getValue(txtImagePath);
if (board.imgName.Equals(""))
......@@ -106,9 +101,11 @@ namespace TSA_V
board.LineWidth = FormUtil.GetIntValue(txtLineWidth);
if (board.LineWidth <= 0 && !IOBase.NoLine)
{
MessageBox.Show(ResourceCulture.GetString(ResourceCulture.WriteLineWidth, "请输入线体宽度!"));
this.txtLineWidth.Focus();
return false;
board.LineWidth = board.boardWidth;
txtLineWidth.Text = board.LineWidth.ToString();
//MessageBox.Show(ResourceCulture.GetString(ResourceCulture.WriteLineWidth, "请输入线体宽度!"));
//this.txtLineWidth.Focus();
//return false;
}
if (!TSAVBean.IsValidPosition(board.originX, board.originY))
{
......@@ -117,7 +114,13 @@ namespace TSA_V
return false ;
}
if (rdbSelCom.Checked)
{
{
if (cmbBomList.SelectedIndex < 0)
{
MessageBox.Show(ResourceCulture.GetString(ResourceCulture.ChoiceLibrary, "请选择元器件库!"));
txtBoardName.Focus();
return false;
}
board.bomName = cmbBomList.Text;
}
else
......@@ -190,7 +193,7 @@ namespace TSA_V
y = board.boardLength - y;
x = board.boardWidth - x;
}
SMTPointInfo point = new SMTPointInfo(i, com.TagNo, com.PN, x, y, com.PositionNum,pointType,pointSizeX,pointSizeY,penWidth);
SMTPointInfo point = new SMTPointInfo(i, com.TagNo, com.PN, x, y, com.PositionNum,com.Text, pointType,pointSizeX,pointSizeY,penWidth);
y = board.boardLength - y;
......@@ -310,6 +313,8 @@ namespace TSA_V
xyMoveControl1.ShowPointEvent += XyMoveControl1_ShowPointEvent;
xyMoveControl1.XValue = TSAVBean.X_Max/2;
xyMoveControl1.YValue = TSAVBean.Y_Max/2;
xyMoveControl1.MaxX =(int) TSAVBean.X_Max;
xyMoveControl1.MaxY = (int)TSAVBean.Y_Max;
xyMoveControl1.ShowText = "";
rdbUpload.Checked = true;
......
......@@ -604,15 +604,19 @@ namespace TSA_V
return;
}
if (!IOBase.NoLine && board.LineWidth <= 0)
if (!IOBase.NoLine)
{
MessageBox.Show(ResourceCulture.GetString(ResourceCulture.WriteLineWidth, "请输入线体宽度"));
txtLineWidth.Focus();
return;
if (board.LineWidth <= 0)
{
MessageBox.Show(ResourceCulture.GetString(ResourceCulture.WriteLineWidth, "请输入线体宽度"));
txtLineWidth.Focus();
return;
}
}
else
{
board.LineWidth = 1;
}
if (picBoard.Image == null)
{
//MessageBox.Show("请添加程序图片");
......
......@@ -66,9 +66,9 @@ namespace TSA_V
this.lblVersion.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblVersion.Location = new System.Drawing.Point(9, 520);
this.lblVersion.Name = "lblVersion";
this.lblVersion.Size = new System.Drawing.Size(75, 17);
this.lblVersion.Size = new System.Drawing.Size(65, 17);
this.lblVersion.TabIndex = 11;
this.lblVersion.Text = "版本号 1.1.2";
this.lblVersion.Text = "版本号 3.0";
//
// btnExit
//
......
......@@ -108,6 +108,7 @@ namespace TSA_V
string time = GetVersion(true);
System.Reflection.AssemblyName assemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName();
lblVersion.Text = "V" + assemblyName.Version.ToString() ;
lblVersion.Text = "V3.0";
//lblVersion.Text = "V" + assemblyName.Version.ToString() + "(" + time + ")";
LblUserName.Text = FormManager.UserInfo.Name + "/" + FormManager.UserInfo.Limit;
......
......@@ -40,7 +40,10 @@ namespace TSA_V
xyMoveControl1.ShowPointEvent += XyMoveControl1_ShowPointEvent;
xyMoveControl1.XValue = nodex;
xyMoveControl1.YValue = nodey;
xyMoveControl1.MaxX = (int)TSAVBean.X_Max;
xyMoveControl1.MaxY = (int)TSAVBean.Y_Max;
this.txtX.Text = x.ToString();
this.txtY.Text = y.ToString();
......@@ -119,6 +122,8 @@ namespace TSA_V
return;
}
xyMoveControl1.ShowPointEvent += XyMoveControl1_ShowPointEvent;
xyMoveControl1.MaxX = (int)TSAVBean.X_Max;
xyMoveControl1.MaxY = (int)TSAVBean.Y_Max;
this.PointList = list;
this.CurrIndex = currIndex;
ShowPoint();
......
......@@ -25,6 +25,17 @@ namespace TSA_V
CheckForIllegalCrossThreadCalls = false;
InitializeComponent();
}
public FrmIoManager(bool isWorkOpen)
{
CheckForIllegalCrossThreadCalls = false;
InitializeComponent();
//如果是工作页面打开,隐藏操作按钮
if (isWorkOpen)
{
groupBox4.Visible = false;
}
}
private void FrmMain_Load(object sender, EventArgs e)
{
LanguageProcess();
......@@ -280,12 +291,12 @@ namespace TSA_V
txtDoName.Text = io.DeviceName;
if (selectControl != null)
{
selectControl.BackColor=Color.White;
selectControl.BackColor=Color.Black;
selectControl.BorderStyle = System.Windows.Forms.BorderStyle.None;
}
IOTextControl newControl = DOControlList[io.ProName];
newControl.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
newControl.BackColor = Color.LightBlue;
newControl.BackColor = Color.Blue;
selectControl = newControl;
}
}
......
......@@ -66,7 +66,7 @@ namespace TSA_V
TSAVBean.Y_Max = ScreenHeight;
TSAVBean.X_Min = 1;
TSAVBean.Y_Min = 1;
ISShow = true;
this.Location = new Point(screen.Bounds.Left, screen.Bounds.Top);
......
......@@ -86,6 +86,18 @@ namespace TSA_V
IsSet = true;
}
timerShowForm.Start();
if (TSAVBean.OnlyGuoBan)
{
bool Visible = false;
btnCamera.Visible = Visible;
btnWorkInfo.Visible = Visible;
btnStart.Visible = Visible;
btnStartWorking.Visible = Visible;
btnPrePoint.Visible = Visible;
btnNextPoint.Visible = Visible;
btnGoHome.Visible = Visible;
}
isInitOk = true;
// string ip = ConfigAppSettings.GetValue(Setting_Init.StatusServerIp);
// bool result = StatusClient.instance.Connect();
......@@ -341,21 +353,24 @@ namespace TSA_V
btnStart.Visible = false;
btnGoHome.Visible = true;
}
if (TSAVBean.Status.Equals(TSAVStatus.Runing) && (!TSAVBean.IsInSuddenDown))
{
btnStartWorking.Enabled = !(TSAVBean.Work.IsWorking);
btnNextPoint.Enabled = true;
btnPrePoint.Enabled = true;
}
if (TSAVBean.OnlyGuoBan) { }
else
{
btnStartWorking.Enabled = false;
if (TSAVBean.IsDebug.Equals(false))
if (TSAVBean.Status.Equals(TSAVStatus.Runing) && (!TSAVBean.IsInSuddenDown))
{
btnNextPoint.Enabled = false;
btnPrePoint.Enabled = false;
btnStartWorking.Enabled = !(TSAVBean.Work.IsWorking);
btnNextPoint.Enabled = true;
btnPrePoint.Enabled = true;
}
else
{
btnStartWorking.Enabled = false;
if (TSAVBean.IsDebug.Equals(false))
{
btnNextPoint.Enabled = false;
btnPrePoint.Enabled = false;
}
}
}
......@@ -962,5 +977,11 @@ namespace TSA_V
g.Flush();
g.Dispose();
}
private void btnIo_Click(object sender, EventArgs e)
{
FrmIoManager frmWorkIo = new FrmIoManager(true);
frmWorkIo.ShowDialog();
}
}
}

411 字节 | 宽: | 高:

363 字节 | 宽: | 高:

UserFromControl/image/gray.png
UserFromControl/image/gray.png
UserFromControl/image/gray.png
UserFromControl/image/gray.png
  • 两方对比
  • 交换覆盖
  • 透明覆盖

396 字节 | 宽: | 高:

383 字节 | 宽: | 高:

UserFromControl/image/gray2.png
UserFromControl/image/gray2.png
UserFromControl/image/gray2.png
UserFromControl/image/gray2.png
  • 两方对比
  • 交换覆盖
  • 透明覆盖

348 字节 | 宽: | 高:

337 字节 | 宽: | 高:

UserFromControl/image/green.png
UserFromControl/image/green.png
UserFromControl/image/green.png
UserFromControl/image/green.png
  • 两方对比
  • 交换覆盖
  • 透明覆盖

372 字节 | 宽: | 高:

348 字节 | 宽: | 高:

UserFromControl/image/green1.png
UserFromControl/image/green1.png
UserFromControl/image/green1.png
UserFromControl/image/green1.png
  • 两方对比
  • 交换覆盖
  • 透明覆盖
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!