Commit 9c909edc LN

出料机构升降为伺服控制。

1 个父辈 a36a5372
正在显示 49 个修改的文件 包含 884 行增加445 行删除
......@@ -78,6 +78,12 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="AxisMoveControl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="AxisMoveControl.Designer.cs">
<DependentUpon>AxisMoveControl.cs</DependentUpon>
</Compile>
<Compile Include="FrmBase.cs">
<SubType>Form</SubType>
</Compile>
......@@ -147,6 +153,9 @@
<Compile Include="ManagerUtil.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="AxisMoveControl.resx">
<DependentUpon>AxisMoveControl.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FrmBase.resx">
<DependentUpon>FrmBase.cs</DependentUpon>
</EmbeddedResource>
......
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OnlineStore.DeviceLibrary;
using OnlineStore.Common;
using System.Threading;
using OnlineStore.LoadCSVLibrary;
namespace OnlineStore.AssemblyLine
{
public partial class AxisMoveControl : UserControl
{
private List<ConfigMoveAxis> axisList = new List<ConfigMoveAxis>();
private EquipBase equipBase = null;
private string PortName = "";
private int SlvAddr = 0;
public AxisMoveControl( )
{
InitializeComponent();
}
public void LoadData(EquipBase equipBase, params ConfigMoveAxis[] moveAxis)
{
this.equipBase = equipBase;
axisList = new List<ConfigMoveAxis>(moveAxis);
if (axisList.Count > 0)
{
comboBox1.Items.Clear();
foreach (ConfigMoveAxis a in axisList)
{
comboBox1.Items.Add(a.Explain);
}
comboBox1.SelectedIndex = 0;
PortName = moveAxis[0].DeviceName;
SlvAddr = moveAxis[0].GetAxisValue();
txtAxisDeviceName.Text = PortName;
txtAxisValue.Text = SlvAddr.ToString();
}
}
private void btnOpenAxis_Click(object sender, EventArgs e)
{
//string portName = txtAxisDeviceName.Text;
//short SlvAddr = FormUtil.GetShortValue(txtAxisValue);
//ACServerManager.OpenPort(portName);
//ACServerManager.AlarmClear(portName, SlvAddr);
//Thread.Sleep(100);
//ACServerManager.ServoOn(portName, SlvAddr);
LogUtil.info("点击【打开伺服】,端口号【" + PortName + "】地址【" + SlvAddr + "】 ");
equipBase.OpenAxis(axisList[comboBox1.SelectedIndex]);
}
private void btnCloseAxis_Click(object sender, EventArgs e)
{
LogUtil.info("点击【关闭伺服】,端口号【" + PortName + "】地址【" + SlvAddr + "】 ");
// ACServerManager.ServoOff(PortName, SlvAddr);
equipBase.CloseAxis(axisList[comboBox1.SelectedIndex]);
}
private void btnAxisAMove_Click(object sender, EventArgs e)
{
int position = FormUtil.GetIntValue(txtAPosition);
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【绝对运动】,端口号【" + PortName + "】地址【" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】");
ACServerManager.AbsMove(PortName, SlvAddr, position, speed);
}
private void btnAxisRMove_Click(object sender, EventArgs e)
{
int position = FormUtil.GetIntValue(txtAPosition);
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【相对运动】,端口号【" + PortName + "】地址【" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】");
ACServerManager.RelMove(PortName, SlvAddr, position, speed);
}
private void btnAxisVMove_Click(object sender, EventArgs e)
{
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【匀速运动】,端口号【" + PortName + "】地址【" + SlvAddr + "】 速度【" + speed + "】");
ACServerManager.SpeedMove(PortName, SlvAddr, speed);
}
private void btnAxisStop_Click(object sender, EventArgs e)
{
LogUtil.info("点击【停止运动】,端口号【" + PortName + "】地址【" + SlvAddr + "】 ");
ACServerManager.SuddenStop(PortName, SlvAddr);
}
private void btnComAlarmClear_Click(object sender, EventArgs e)
{
LogUtil.info("点击【清理报警】,端口号【" + PortName + "】地址【" + SlvAddr + "】 ");
ACServerManager.AlarmClear(PortName, SlvAddr);
Thread.Sleep(100);
ACServerManager.ServoOn(PortName, SlvAddr);
}
private void btnAxisReturnHome_Click(object sender, EventArgs e)
{
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【原点返回】,端口号【" + PortName + "】地址【" + SlvAddr + "】 速度【" + speed + "】");
ACServerManager.HomeMove(PortName, SlvAddr, speed);
}
private void btnGetAlarm_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetAlarmStatus(PortName, SlvAddr);
this.txtAlarmStatus.Text = value.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetBusyStatus(PortName, SlvAddr);
this.txtBusyStatus.Text = value.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetHomeEndStatus(PortName, SlvAddr);
this.txtHomeStatus.Text = value.ToString();
}
private void btnReadHomeSingle_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetHomeSingle(PortName, SlvAddr);
this.txtHomeSingle.Text = value.ToString();
}
private void btnReadPosition_Click(object sender, EventArgs e)
{
lblOutPulse.Text = ACServerManager.GetTargetPosition(PortName, SlvAddr).ToString();
lblCountPulse.Text = ACServerManager.GetActualtPosition(PortName, SlvAddr).ToString();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex > 0)
{
ConfigMoveAxis axis = axisList[comboBox1.SelectedIndex];
PortName = axis.DeviceName;
SlvAddr = axis.GetAxisValue();
txtAxisDeviceName.Text = PortName;
txtAxisValue.Text = SlvAddr.ToString();
}
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
......@@ -23,8 +23,7 @@ namespace OnlineStore.AssemblyLine
internal partial class FrmFeedingEquip : FrmEquipBase
{
private bool IsLoad = false;
private string portName = "";
private short SlvAddr = 0;
private FeedingEquip equipBean;
internal FrmFeedingEquip(FeedingEquip moveEquip)
{
......@@ -208,17 +207,7 @@ namespace OnlineStore.AssemblyLine
{
chbDebug.Checked = equipBean.IsDebug;
portName = equipBean.Config.Batch_Axis.DeviceName;
SlvAddr = equipBean.Config.Batch_Axis.GetAxisValue();
txtAxisDeviceName.Text = portName;
// txtSlaveId.Text = SlvAddr.ToString();
txtAxisValue.Text = SlvAddr.ToString();
comboBox1.Items.Clear();
comboBox1.Items.Add(equipBean.Config.Batch_Axis.Explain);
comboBox1.Items.Add(equipBean.Config.UpDown_Axis.Explain);
comboBox1.SelectedIndex = 0;
axisMoveControl1.LoadData(equipBean, new ConfigMoveAxis[] {equipBean.Config.UpDown_Axis,equipBean.Config.Batch_Axis });
cmbSizeList.Items.Clear();
cmbSizeList.Items.Add("0=默认位置");
......@@ -417,99 +406,7 @@ namespace OnlineStore.AssemblyLine
{
BtnMove(btnSwLocationCylinder, "环形线横移定位上升", "环形线横移定位下降", IO_Type.SW_LocationCylinder_Down, IO_Type.SW_LocationCylinder_Up);
}
private void btnOpenAxis_Click(object sender, EventArgs e)
{
string portName = txtAxisDeviceName.Text;
short SlvAddr = FormUtil.GetShortValue(txtAxisValue);
LogUtil.info("点击【打开伺服】,端口号【" + portName + "】地址【" + SlvAddr + "】 ");
ACServerManager.OpenPort(portName);
ACServerManager.AlarmClear(portName, SlvAddr);
Thread.Sleep(100);
ACServerManager.ServoOn(portName, SlvAddr);
}
private void btnCloseAxis_Click(object sender, EventArgs e)
{
LogUtil.info("点击【关闭伺服】,端口号【" + portName + "】地址【" + SlvAddr + "】 ");
ACServerManager.ServoOff(portName, SlvAddr);
}
private void btnAxisAMove_Click(object sender, EventArgs e)
{
int position = FormUtil.GetIntValue(txtAPosition);
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【绝对运动】,端口号【" + portName + "】地址【" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】");
ACServerManager.AbsMove(portName, SlvAddr, position, speed);
}
private void btnAxisRMove_Click(object sender, EventArgs e)
{
int position = FormUtil.GetIntValue(txtAPosition);
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【相对运动】,端口号【" + portName + "】地址【" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】");
ACServerManager.RelMove(portName, SlvAddr, position, speed);
}
private void btnAxisVMove_Click(object sender, EventArgs e)
{
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【匀速运动】,端口号【" + portName + "】地址【" + SlvAddr + "】 速度【" + speed + "】");
ACServerManager.SpeedMove(portName, SlvAddr, speed);
}
private void btnAxisStop_Click(object sender, EventArgs e)
{
LogUtil.info("点击【停止运动】,端口号【" + portName + "】地址【" + SlvAddr + "】 ");
ACServerManager.SuddenStop(portName, SlvAddr);
}
private void btnComAlarmClear_Click(object sender, EventArgs e)
{
LogUtil.info("点击【清理报警】,端口号【" + portName + "】地址【" + SlvAddr + "】 ");
ACServerManager.AlarmClear(portName, SlvAddr);
Thread.Sleep(100);
ACServerManager.ServoOn(portName, SlvAddr);
}
private void btnAxisReturnHome_Click(object sender, EventArgs e)
{
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【原点返回】,端口号【" + portName + "】地址【" + SlvAddr + "】 速度【" + speed + "】");
ACServerManager.HomeMove(portName, SlvAddr, speed);
}
private void btnGetAlarm_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetAlarmStatus(portName, SlvAddr);
this.txtAlarmStatus.Text = value.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetBusyStatus(portName, SlvAddr);
this.txtBusyStatus.Text = value.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetHomeEndStatus(portName, SlvAddr);
this.txtHomeStatus.Text = value.ToString();
}
private void btnReadHomeSingle_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetHomeSingle(portName, SlvAddr);
this.txtHomeSingle.Text = value.ToString();
}
private void btnReadPosition_Click(object sender, EventArgs e)
{
lblOutPulse.Text= ACServerManager.GetTargetPosition(portName, SlvAddr).ToString();
lblCountPulse.Text = ACServerManager.GetActualtPosition(portName, SlvAddr).ToString();
}
private void cmbSizeList_SelectedIndexChanged(object sender, EventArgs e)
{
if (cmbSizeList.SelectedIndex < 0)
......@@ -520,9 +417,7 @@ namespace OnlineStore.AssemblyLine
int size = 0;
try {size= Convert.ToInt32(cmbSizeList.Text); } catch (Exception ex) { }
txtSizePosition.Text = equipBean.Config.GetUpdownPositionP2(size).ToString();
// txtBoxP.Text = equipBean.Config.GetUpdownBoxPosition(size).ToString();
btnMoveto.Text = size + "寸移栽位置 :";
// btnMoveto.Text = "尺寸" + size + "对应位置:";
}
private void btnMoveto_Click(object sender, EventArgs e)
......@@ -530,9 +425,11 @@ namespace OnlineStore.AssemblyLine
int position = FormUtil.GetIntValue(txtSizePosition);
if (position != -1)
{
// int speed = equipBean.Config.UpdownAxis_DownSpeed;
// LogUtil.info("点击【移栽位置】,料盘高度【" + cmbSizeList.Text + "】 位置【" + position + "】速度【" + speed + "】");
// ACServerManager.AbsMove(portName, SlvAddr, position, speed);
int speed = equipBean.Config.UpdownAxis_P2Speed;
string portName = equipBean.Config.UpDown_Axis.DeviceName;
int SlvAddr = equipBean.Config.UpDown_Axis.GetAxisValue();
LogUtil.info("点击【移栽位置】,料盘高度【" + cmbSizeList.Text + "】 位置【" + position + "】速度【" + speed + "】");
ACServerManager.AbsMove(portName, SlvAddr, position, speed);
}
}
......@@ -544,17 +441,6 @@ namespace OnlineStore.AssemblyLine
LogUtil.info("伺服运转ON完成");
}
private void btnAxisOff_Click(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex.Equals(0))
{
equipBean.CloseAxis(equipBean.Config.Batch_Axis);
}else if (comboBox1.SelectedIndex.Equals(1))
{
equipBean.CloseAxis(equipBean.Config.UpDown_Axis);
}
LogUtil.info("伺服运转OFF完成");
}
private void btnCloseAll_Click(object sender, EventArgs e)
{
......@@ -573,7 +459,9 @@ namespace OnlineStore.AssemblyLine
int position = FormUtil.GetIntValue(txtP1);
if (position != -1)
{
int speed =equipBean.Config.BatchAxis_P1Speed;
int speed =equipBean.Config.UpdownAxis_P2Speed;
string portName = equipBean.Config.UpDown_Axis.DeviceName;
int SlvAddr = equipBean.Config.UpDown_Axis.GetAxisValue();
LogUtil.info("点击【P1点测试】, 位置【" + position + "】速度【" + speed + "】");
ACServerManager.AbsMove(portName, SlvAddr, position, speed);
}
......@@ -593,28 +481,6 @@ namespace OnlineStore.AssemblyLine
MessageBox.Show("保存成功!");
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex.Equals(0))
{
portName = equipBean.Config.Batch_Axis.DeviceName;
SlvAddr = equipBean.Config.Batch_Axis.GetAxisValue();
txtAxisDeviceName.Text = portName;
// txtSlaveId.Text = SlvAddr.ToString();
txtAxisValue.Text = SlvAddr.ToString();
}
else if (comboBox1.SelectedIndex.Equals(1))
{
portName = equipBean.Config.UpDown_Axis.DeviceName;
SlvAddr = equipBean.Config.UpDown_Axis.GetAxisValue();
txtAxisDeviceName.Text = portName;
// txtSlaveId.Text = SlvAddr.ToString();
txtAxisValue.Text = SlvAddr.ToString();
}
}
private void btnLineRun_Click(object sender, EventArgs e)
{
BtnMove(btnLineRun, "SL进料线体运转", "SL进料线体停止", IO_Type.SL_Line_Run);
......
......@@ -34,6 +34,34 @@ namespace OnlineStore.AssemblyLine
InitializeComponent();
LoadIOList();
}
private void FrmStoreIOStatus_Load(object sender, EventArgs e)
{
chbDebug.Checked = equipBean.IsDebug;
if (equipBean.UseAxis)
{
portName = equipBean.Config.UpDown_Axis.DeviceName;
SlvAddr = equipBean.Config.UpDown_Axis.GetAxisValue();
axisMoveControl1.LoadData(equipBean, new ConfigMoveAxis[] { equipBean.Config.UpDown_Axis });
btnUpDownUp.Visible = false;
}
else
{
tabControl1.TabPages.Remove(tabPage2);
btnUpDownUp.Visible = true;
}
cmbSizeList.Items.Clear();
cmbSizeList.Items.Add("0=默认位置");
for (int i = 8; i <= 48; i = i + 4)
{
cmbSizeList.Items.Add(i.ToString());
}
cmbSizeList.SelectedIndex = 0;
lblStoreStatus.Text = KTK_Store.GetRunStr(equipBean.lineStatus, equipBean.runStatus);
lblThisSta.Text = equipBean.WarnMsg;
txtP1.Text = equipBean.Config.UpDownAxisP1.ToString();
IsLoad = true;
}
private void LoadIOList()
{
......@@ -191,39 +219,6 @@ namespace OnlineStore.AssemblyLine
}
private void FrmStoreIOStatus_Load(object sender, EventArgs e)
{
chbDebug.Checked = equipBean.IsDebug;
if (equipBean.UseAxis)
{
portName = equipBean.Config.UpDown_Axis.DeviceName;
SlvAddr = equipBean.Config.UpDown_Axis.GetAxisValue();
txtAxisDeviceName.Text = portName;
txtAxisValue.Text = SlvAddr.ToString();
comboBox1.Items.Clear();
comboBox1.Items.Add(equipBean.Config.UpDown_Axis.Explain);
comboBox1.SelectedIndex = 0;
btnUpDownUp.Visible = false;
}
else
{
tabControl1.TabPages.Remove(tabPage2);
btnUpDownUp.Visible = true;
}
cmbSizeList.Items.Clear();
cmbSizeList.Items.Add("0=默认位置");
for(int i = 8; i <= 48; i = i + 4)
{
cmbSizeList.Items.Add(i.ToString());
}
cmbSizeList.SelectedIndex = 0;
lblStoreStatus.Text = KTK_Store.GetRunStr(equipBean.lineStatus, equipBean.runStatus);
lblThisSta.Text = equipBean.WarnMsg;
txtP1.Text = equipBean.Config.UpDownAxisP1.ToString();
IsLoad = true;
}
private void cmbWriteIO_DrawItem(object sender, DrawItemEventArgs e)
{
......@@ -239,16 +234,10 @@ namespace OnlineStore.AssemblyLine
e.Graphics.DrawString(io.DisplayStr, e.Font, new SolidBrush(e.ForeColor), e.Bounds.X, e.Bounds.Y + 3);
}
}
private void btnReadIO_Click(object sender, EventArgs e)
{
ReadIOList();
}
internal void FormStatus(bool isStart)
{
btnStart.Enabled = !isStart;
......@@ -384,99 +373,7 @@ namespace OnlineStore.AssemblyLine
{
BtnMove(btnClampSlack, "夹料夹紧", "夹料放松", IO_Type.ClampCylinder_Tighten, IO_Type.ClampCylinder_Slack);
}
private void btnOpenAxis_Click(object sender, EventArgs e)
{
string portName = txtAxisDeviceName.Text;
short SlvAddr = FormUtil.GetShortValue(txtAxisValue);
LogUtil.info("点击【打开伺服】,端口号【" + portName + "】地址【" + SlvAddr + "】 ");
ACServerManager.OpenPort(portName);
ACServerManager.AlarmClear(portName, SlvAddr);
Thread.Sleep(100);
ACServerManager.ServoOn(portName, SlvAddr);
}
private void btnCloseAxis_Click(object sender, EventArgs e)
{
LogUtil.info("点击【关闭伺服】,端口号【" + portName + "】地址【" + SlvAddr + "】 ");
ACServerManager.ServoOff(portName, SlvAddr);
}
private void btnAxisAMove_Click(object sender, EventArgs e)
{
int position = FormUtil.GetIntValue(txtAPosition);
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【绝对运动】,端口号【" + portName + "】地址【" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】");
ACServerManager.AbsMove(portName, SlvAddr, position, speed);
}
private void btnAxisRMove_Click(object sender, EventArgs e)
{
int position = FormUtil.GetIntValue(txtAPosition);
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【相对运动】,端口号【" + portName + "】地址【" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】");
ACServerManager.RelMove(portName, SlvAddr, position, speed);
}
private void btnAxisVMove_Click(object sender, EventArgs e)
{
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【匀速运动】,端口号【" + portName + "】地址【" + SlvAddr + "】 速度【" + speed + "】");
ACServerManager.SpeedMove(portName, SlvAddr, speed);
}
private void btnAxisStop_Click(object sender, EventArgs e)
{
LogUtil.info("点击【停止运动】,端口号【" + portName + "】地址【" + SlvAddr + "】 ");
ACServerManager.SuddenStop(portName, SlvAddr);
}
private void btnComAlarmClear_Click(object sender, EventArgs e)
{
LogUtil.info("点击【清理报警】,端口号【" + portName + "】地址【" + SlvAddr + "】 ");
ACServerManager.AlarmClear(portName, SlvAddr);
Thread.Sleep(100);
ACServerManager.ServoOn(portName, SlvAddr);
}
private void btnAxisReturnHome_Click(object sender, EventArgs e)
{
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【原点返回】,端口号【" + portName + "】地址【" + SlvAddr + "】 速度【" + speed + "】");
ACServerManager.HomeMove(portName, SlvAddr, speed);
}
private void btnGetAlarm_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetAlarmStatus(portName, SlvAddr);
this.txtAlarmStatus.Text = value.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetBusyStatus(portName, SlvAddr);
this.txtBusyStatus.Text = value.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetHomeEndStatus(portName, SlvAddr);
this.txtHomeStatus.Text = value.ToString();
}
private void btnReadHomeSingle_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetHomeSingle(portName, SlvAddr);
this.txtHomeSingle.Text = value.ToString();
}
private void btnReadPosition_Click(object sender, EventArgs e)
{
lblOutPulse.Text= ACServerManager.GetTargetPosition(portName, SlvAddr).ToString();
lblCountPulse.Text = ACServerManager.GetActualtPosition(portName, SlvAddr).ToString();
}
private void cmbSizeList_SelectedIndexChanged(object sender, EventArgs e)
{
if (cmbSizeList.SelectedIndex < 0)
......@@ -486,16 +383,16 @@ namespace OnlineStore.AssemblyLine
int size = 0;
try {size= Convert.ToInt32(cmbSizeList.Text); } catch (Exception ex) { }
txtSizePosition.Text = equipBean.Config.GetUpdownPosition(size).ToString();
txtBoxP.Text = equipBean.Config.GetUpdownBoxPosition(size).ToString();
btnMoveto.Text = size + "寸移栽位置 :";
btnBoxP.Text= size + "寸料仓门口位置 :";
txtP2.Text = equipBean.Config.GetUpdownP2(size).ToString();
txtP3.Text = equipBean.Config.GetUpdownP3(size).ToString();
btnP2.Text = size + "寸移栽位置 :";
btnP3.Text= size + "寸料仓门口位置 :";
// btnMoveto.Text = "尺寸" + size + "对应位置:";
}
private void btnMoveto_Click(object sender, EventArgs e)
{
int position = FormUtil.GetIntValue(txtSizePosition);
int position = FormUtil.GetIntValue(txtP2);
if (position != -1)
{
int speed = equipBean.Config.UpdownAxis_DownSpeed;
......@@ -548,17 +445,17 @@ namespace OnlineStore.AssemblyLine
int size = 0;
try { size = Convert.ToInt32(cmbSizeList.Text); } catch (Exception ex) { }
int sizePosition = FormUtil.GetIntValue(txtSizePosition);
int sizeBoxP = FormUtil.GetIntValue(txtBoxP);
equipBean.Config.UpdateUpdownPositon(size, sizePosition);
equipBean.Config.UpdateUpdownBoxPositon(size, sizeBoxP);
int sizePosition = FormUtil.GetIntValue(txtP2);
int sizeBoxP = FormUtil.GetIntValue(txtP3);
equipBean.Config.UpdateUpdownP2(size, sizePosition);
equipBean.Config.UpdateUpdownP3(size, sizeBoxP);
LineManager.SaveMoveEquipConfig(equipBean.Config);
MessageBox.Show("保存成功!");
}
private void btnBoxP_Click(object sender, EventArgs e)
{
int position = FormUtil.GetIntValue(txtBoxP);
int position = FormUtil.GetIntValue(txtP3);
if (position != -1)
{
int speed = equipBean.Config.UpdownAxis_DownSpeed;
......
......@@ -178,6 +178,22 @@ namespace OnlineStore.AssemblyLine
private void FrmStoreIOStatus_Load(object sender, EventArgs e)
{
if (equipBean.UseAxis)
{
axisMoveControl1.LoadData(equipBean, new ConfigMoveAxis[] { equipBean.Config.UpDown_Axis });
cmbSizeList.Items.Clear();
cmbSizeList.Items.Add("0=默认位置");
for (int i = 8; i <= 48; i = i + 4)
{
cmbSizeList.Items.Add(i.ToString());
}
cmbSizeList.SelectedIndex = 0;
}
else
{
tabControl1.TabPages.Remove(tabPage2);
btnUpDownUp.Visible = true;
}
chbDebug.Checked = equipBean.IsDebug;
lblStoreStatus.Text = KTK_Store.GetRunStr(equipBean.lineStatus, equipBean.runStatus);
......@@ -346,9 +362,68 @@ namespace OnlineStore.AssemblyLine
}
}
private void axisMoveControl1_Load(object sender, EventArgs e)
{
}
private void btnBoxP_Click(object sender, EventArgs e)
{
int position = FormUtil.GetIntValue(txtP3);
if (position != -1)
{
string portName = equipBean.Config.UpDown_Axis.DeviceName;
int SlvAddr = equipBean.Config.UpDown_Axis.GetAxisValue();
int speed = equipBean.Config.UpdownAxis_DownSpeed;
LogUtil.info("点击【出料皮带线位置P3】,料盘高度【" + cmbSizeList.Text + "】 位置【" + position + "】速度【" + speed + "】");
ACServerManager.AbsMove(portName, SlvAddr, position, speed);
}
}
private void btnMoveto_Click(object sender, EventArgs e)
{
int position = FormUtil.GetIntValue(txtP2);
if (position != -1)
{
string portName = equipBean.Config.UpDown_Axis.DeviceName;
int SlvAddr = equipBean.Config.UpDown_Axis.GetAxisValue();
int speed = equipBean.Config.UpdownAxis_DownSpeed;
LogUtil.info("点击【移栽位置】,料盘高度【" + cmbSizeList.Text + "】 位置【" + position + "】速度【" + speed + "】");
ACServerManager.AbsMove(portName, SlvAddr, position, speed);
}
}
private void btnMoveToP1_Click(object sender, EventArgs e)
{
int position = FormUtil.GetIntValue(txtP1);
if (position != -1)
{
string portName = equipBean.Config.UpDown_Axis.DeviceName;
int SlvAddr = equipBean.Config.UpDown_Axis.GetAxisValue();
int speed = equipBean.Config.UpdownAxis_P1Speed;
LogUtil.info("点击【P1点测试】, 位置【" + position + "】速度【" + speed + "】");
ACServerManager.AbsMove(portName, SlvAddr, position, speed);
}
}
private void cmbSizeList_SelectedIndexChanged(object sender, EventArgs e)
{
if (cmbSizeList.SelectedIndex < 0)
{
return;
}
int size = 0;
try { size = Convert.ToInt32(cmbSizeList.Text); } catch (Exception ex) { }
txtP2.Text = equipBean.Config.GetUpdownP2(size).ToString();
txtP3.Text = equipBean.Config.GetUpdownP3(size).ToString();
btnP2.Text = size + "寸移栽位置P2 :";
btnP3.Text = size + "寸料出料皮带线位置P3 :";
}
}
}
......@@ -112,18 +112,18 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, internalKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, internalKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, internalKeyToken=b03f5f7f11d50a3a">
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 11</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, internalKeyToken=b77a5c561934e089">
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>25</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, internalKeyToken=b03f5f7f11d50a3a" />
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAA8AMDAQAAEABABoBgAA9gAAACgoEAABAAQAyAQAAF4HAAAgIBAAAQAEAOgCAAAmDAAAGBgQAAEA
......
在阳光电源流水线的基础上新建佳世达流水线料项目
流水线SubType:1000
移栽出入仓模块:1-18
入料模块:101-104
出料模块:201-204
出料流水线模块:301,302;
轴P点定义:
移栽出入库升降轴:P1:待机点。P2:流水线下降端,P3:Box门口下降端
出料模块 升降轴:P1:待机点。P2:流水线下降端,P3:出料皮带线下降端
入料模块 提升轴:P1:待机点。P2:下降位置,P3:缓慢上升目标位置
......@@ -22,7 +22,7 @@ PRO,0,提升上料轴高度转换系数(1mm对应的脉冲),Height_ChangeValue,5000,,,,,
,,,,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,2,COM1,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴在移栽上下降的位置P2集合,UpDownPositionsP2,0=180000;,,,,,
PRO,0,移栽上下轴在移栽上下降的位置P2集合,UpDownP2ListP2,0=180000;,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
......
......@@ -22,7 +22,7 @@ PRO,0,提升上料轴高度转换系数(1mm对应的脉冲),Height_ChangeValue,5000,,,,,
,,,,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,4,COM1,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴在移栽上下降的位置P2集合,UpDownPositionsP2,0=180000;,,,,,
PRO,0,移栽上下轴在移栽上下降的位置P2集合,UpDownP2ListP2,0=180000;,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
......
......@@ -22,7 +22,7 @@ PRO,0,提升上料轴高度转换系数(1mm对应的脉冲),Height_ChangeValue,5000,,,,,
,,,,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,6,COM1,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴在移栽上下降的位置P2集合,UpDownPositionsP2,0=180000;,,,,,
PRO,0,移栽上下轴在移栽上下降的位置P2集合,UpDownP2ListP2,0=180000;,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
......
......@@ -22,7 +22,7 @@ PRO,0,提升上料轴高度转换系数(1mm对应的脉冲),Height_ChangeValue,5000,,,,,
,,,,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,8,COM1,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴在移栽上下降的位置P2集合,UpDownPositionsP2,0=180000;,,,,,
PRO,0,移栽上下轴在移栽上下降的位置P2集合,UpDownP2ListP2,0=180000;,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
......
......@@ -3,4 +3,17 @@ PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
PRO,0,对应的横移模块,SidesWayNum,0,,,,,
PRO,0,设备对应的出料流水线的编号,DLineEquipNum,1,,,,,
PRO,0,设备对应的出料流水线的第几条流水线,DLineLineNum,1,,,,,
\ No newline at end of file
,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,2,COM2,0,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,,
PRO,0,移栽上下轴在出料线下降的位置,UpDownP3List,0=116000;,,,,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
PRO,0,移栽上下轴原点低速度,UpdownAxis_HomeLowSpeed,100,,,,,
PRO,0,移栽上下轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,
PRO,0,移栽上下轴原点加速度,UpdownAxis_HomeAddSpeed,200,,,,,
PRO,0,移栽上下轴走到待机点速度,UpdownAxis_P1Speed,400,,,,,
PRO,0,移栽上下轴下降速度,UpdownAxis_DownSpeed,500,,,,,
\ No newline at end of file
......@@ -3,4 +3,17 @@ PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
PRO,0,对应的横移模块,SidesWayNum,0,,,,,
PRO,0,设备对应的出料流水线的编号,DLineEquipNum,1,,,,,
PRO,0,设备对应的出料流水线的第几条流水线,DLineLineNum,2,,,,,
\ No newline at end of file
,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,2,COM2,0,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,,
PRO,0,移栽上下轴在出料线下降的位置,UpDownP3List,0=116000;,,,,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
PRO,0,移栽上下轴原点低速度,UpdownAxis_HomeLowSpeed,100,,,,,
PRO,0,移栽上下轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,
PRO,0,移栽上下轴原点加速度,UpdownAxis_HomeAddSpeed,200,,,,,
PRO,0,移栽上下轴走到待机点速度,UpdownAxis_P1Speed,400,,,,,
PRO,0,移栽上下轴下降速度,UpdownAxis_DownSpeed,500,,,,,
\ No newline at end of file
......@@ -3,4 +3,17 @@ PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
PRO,0,对应的横移模块,SidesWayNum,0,,,,,
PRO,0,设备对应的出料流水线的编号,DLineEquipNum,2,,,,,
PRO,0,设备对应的出料流水线的第几条流水线,DLineLineNum,1,,,,,
\ No newline at end of file
,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,2,COM2,0,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,,
PRO,0,移栽上下轴在出料线下降的位置,UpDownP3List,0=116000;,,,,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
PRO,0,移栽上下轴原点低速度,UpdownAxis_HomeLowSpeed,100,,,,,
PRO,0,移栽上下轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,
PRO,0,移栽上下轴原点加速度,UpdownAxis_HomeAddSpeed,200,,,,,
PRO,0,移栽上下轴走到待机点速度,UpdownAxis_P1Speed,400,,,,,
PRO,0,移栽上下轴下降速度,UpdownAxis_DownSpeed,500,,,,,
\ No newline at end of file
......@@ -3,3 +3,17 @@ PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
PRO,0,对应的横移模块,SidesWayNum,4,,,,,
PRO,0,设备对应的出料流水线的编号,DLineEquipNum,2,,,,,
PRO,0,设备对应的出料流水线的第几条流水线,DLineLineNum,2,,,,,
,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,2,COM2,0,,,
PRO,0,移栽上下轴在移栽上下降的位置P2,UpDownP2List,0=180000;,,,,,,
PRO,0,移栽上下轴在出料线下降的位置P3,UpDownP3List,0=116000;,,,,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
PRO,0,移栽上下轴加速度,UpdownAxis_AddSpeed,400,,,,,
PRO,0,移栽上下轴减速度,UpdownAxis_DelSpeed,400,,,,,
PRO,0,移栽上下轴原点低速度,UpdownAxis_HomeLowSpeed,100,,,,,
PRO,0,移栽上下轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,
PRO,0,移栽上下轴原点加速度,UpdownAxis_HomeAddSpeed,200,,,,,
PRO,0,移栽上下轴走到待机点速度,UpdownAxis_P1Speed,400,,,,,
PRO,0,移栽上下轴下降速度,UpdownAxis_DownSpeed,500,,,,,
\ No newline at end of file
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,1,COM2,,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......@@ -34,10 +34,10 @@ DI,2,进仓02夹料夹紧端,ClampCylinder_Slack,14,PRO_AOI_IP_19,0,进仓02夹料夹紧端,X2
DI,2,进仓02夹料放松端,ClampCylinder_Tighten,15,PRO_AOI_IP_19,0,进仓02夹料放松端,X276,X276
DI,1,进仓01料盘检测,TrayCheck,0,PRO_AOI_IP_20,0,进仓01料盘检测,X281,X281
DI,2,进仓02料盘检测,TrayCheck,1,PRO_AOI_IP_20,0,进仓02料盘检测,X282,X282
,,,,2,PRO_AOI_IP_20,0,,X283,X283
,,,,3,PRO_AOI_IP_20,0,,X284,X284
,,,,4,PRO_AOI_IP_20,0,,X285,X285
,,,,5,PRO_AOI_IP_20,0,,X286,X286
DI,1,进仓1升降上升端,UpDownCylinder_Up,2,PRO_AOI_IP_20,0,进仓1升降上升端,X283,X283
DI,1,进仓1升降下降端,UpDownCylinder_Down,3,PRO_AOI_IP_20,0,进仓1升降下降端,X284,X284
DI,2,进仓2升降上升端,UpDownCylinder_Up,4,PRO_AOI_IP_20,0,进仓2升降上升端,X285,X285
DI,2,进仓2升降下降端,UpDownCylinder_Down,5,PRO_AOI_IP_20,0,进仓2升降下降端,X286,X286
,,,,6,PRO_AOI_IP_20,0,,X287,X287
,,,,7,PRO_AOI_IP_20,0,,X288,X288
,,,,,,,,,
......@@ -57,10 +57,10 @@ DO,2,进仓02横移前进SOL,BeforeAfterCylinder_Before,12,PRO_AOI_IP_19,0,进仓02横移
DO,2,进仓02横移后退SOL,BeforeAfterCylinder_After,13,PRO_AOI_IP_19,0,进仓02横移后退SOL,Y274,Y274
DO,2,进仓02夹料夹紧SOL,ClampCylinder_Slack,14,PRO_AOI_IP_19,0,进仓02夹料夹紧SOL,Y275,Y275
DO,2,进仓02夹料放松SOL,ClampCylinder_Tighten,15,PRO_AOI_IP_19,0,进仓02夹料放松SOL,Y276,Y276
DO,1,进仓01伺服刹车ON,UpDownAxis_BreakOn,0,PRO_AOI_IP_20,0,进仓01伺服刹车ON,Y281,Y281
DO,2,进仓02伺服刹车ON,UpDownAxis_BreakOn,1,PRO_AOI_IP_20,0,进仓02伺服刹车ON,Y282,Y282
DO,1,进仓01伺服运转ON,UpDownAxis_ServoOn,2,PRO_AOI_IP_20,0,进仓01伺服运转ON,Y283,Y283
DO,2,进仓02伺服运转ON,UpDownAxis_ServoOn,3,PRO_AOI_IP_20,0,进仓02伺服运转ON,Y284,Y284
DO,203,出料3伺服刹车ON,UpDownAxis_BreakOn,0,PRO_AOI_IP_20,0,出料3伺服刹车ON,Y281,Y281
DO,204,出料4伺服刹车ON,UpDownAxis_BreakOn,1,PRO_AOI_IP_20,0,出料4伺服刹车ON,Y282,Y282
DO,203,出料3伺服运转ON,UpDownAxis_ServoOn,2,PRO_AOI_IP_20,0,出料3伺服运转ON,Y283,Y283
DO,204,出料4伺服运转ON,UpDownAxis_ServoOn,3,PRO_AOI_IP_20,0,出料4伺服运转ON,Y284,Y284
,,,,4,PRO_AOI_IP_20,0,,Y285,Y285
,,,,5,PRO_AOI_IP_20,0,,Y286,Y286
,,,,6,PRO_AOI_IP_20,0,,Y287,Y287
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,2,COM2,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......
......@@ -2,8 +2,8 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,3,COM2,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......
......@@ -2,8 +2,8 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,4,COM2,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......
......@@ -2,8 +2,8 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,5,COM2,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......
......@@ -2,8 +2,8 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,6,COM2,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,7,COM2,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......@@ -33,10 +33,10 @@ DI,8,进仓08夹料夹紧端,ClampCylinder_Slack,14,PRO_AOI_IP_25,0,进仓08夹料夹紧端,X3
DI,8,进仓08夹料放松端,ClampCylinder_Tighten,15,PRO_AOI_IP_25,0,进仓08夹料放松端,X366,X366
DI,7,进仓07料盘检测,TrayCheck,0,PRO_AOI_IP_26,0,进仓07料盘检测,X371,X371
DI,8,进仓08料盘检测,TrayCheck,1,PRO_AOI_IP_26,0,进仓08料盘检测,X372,X372
,,,,2,PRO_AOI_IP_26,0,,X373,X373
,,,,3,PRO_AOI_IP_26,0,,X374,X374
,,,,4,PRO_AOI_IP_26,0,,X375,X375
,,,,5,PRO_AOI_IP_26,0,,X376,X376
DI,7,进仓7升降上升端,UpDownCylinder_Up,2,PRO_AOI_IP_26,0,进仓7升降上升端,X373,X373
DI,7,进仓7升降下降端,UpDownCylinder_Down,3,PRO_AOI_IP_26,0,进仓7升降下降端,X374,X374
DI,8,进仓8升降上升端,UpDownCylinder_Up,4,PRO_AOI_IP_26,0,进仓8升降上升端,X375,X375
DI,8,进仓8升降下降端,UpDownCylinder_Down,5,PRO_AOI_IP_26,0,进仓8升降下降端,X376,X376
,,,,6,PRO_AOI_IP_26,0,,X377,X377
,,,,7,PRO_AOI_IP_26,0,,X378,X378
,,,,,,,,,
......@@ -56,10 +56,10 @@ DO,8,进仓08横移前进SOL,BeforeAfterCylinder_Before,12,PRO_AOI_IP_25,0,进仓08横移
DO,8,进仓08横移后退SOL,BeforeAfterCylinder_After,13,PRO_AOI_IP_25,0,进仓08横移后退SOL,Y364,Y364
DO,8,进仓08夹料夹紧SOL,ClampCylinder_Slack,14,PRO_AOI_IP_25,0,进仓08夹料夹紧SOL,Y365,Y365
DO,8,进仓08夹料放松SOL,ClampCylinder_Tighten,15,PRO_AOI_IP_25,0,进仓08夹料放松SOL,Y366,Y366
DO,7,进仓07伺服刹车ON,UpDownAxis_BreakOn,0,PRO_AOI_IP_26,0,进仓07伺服刹车ON,Y371,Y371
DO,8,进仓08伺服刹车ON,UpDownAxis_BreakOn,1,PRO_AOI_IP_26,0,进仓08伺服刹车ON,Y372,Y372
DO,7,进仓07伺服运转ON,UpDownAxis_ServoOn,2,PRO_AOI_IP_26,0,进仓07伺服运转ON,Y373,Y373
DO,8,进仓08伺服运转ON,UpDownAxis_ServoOn,3,PRO_AOI_IP_26,0,进仓08伺服运转ON,Y374,Y374
DO,201,出料1伺服刹车ON,UpDownAxis_BreakOn,0,PRO_AOI_IP_26,0,出料1伺服刹车ON,Y371,Y371
DO,202,出料2伺服刹车ON,UpDownAxis_BreakOn,1,PRO_AOI_IP_26,0,出料2伺服刹车ON,Y372,Y372
DO,201,出料1伺服运转ON,UpDownAxis_ServoOn,2,PRO_AOI_IP_26,0,出料1伺服运转ON,Y373,Y373
DO,202,出料2伺服运转ON,UpDownAxis_ServoOn,3,PRO_AOI_IP_26,0,出料2伺服运转ON,Y374,Y374
,,,,4,PRO_AOI_IP_26,0,,Y375,Y375
,,,,5,PRO_AOI_IP_26,0,,Y376,Y376
,,,,6,PRO_AOI_IP_26,0,,Y377,Y377
......
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,8,COM2,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......
......@@ -2,8 +2,8 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,9,COM2,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......
......@@ -2,8 +2,8 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,10,COM2,0,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......
......@@ -2,8 +2,8 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,1,COM1,1,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......@@ -44,8 +44,8 @@ DI,201,出料1前后气缸前进端,BeforeAfterCylinder_Before,9,PRO_AOI_IP_30,,出料1前后
DI,201,出料1前后气缸后退端,BeforeAfterCylinder_After,10,PRO_AOI_IP_30,,出料1前后气缸后退端,X441,X441
DI,201,出料1夹料气缸夹紧端,ClampCylinder_Slack,11,PRO_AOI_IP_30,,出料1夹料气缸夹紧端,X442,X442
DI,201,出料1夹料气缸放松端,ClampCylinder_Tighten,12,PRO_AOI_IP_30,,出料1夹料气缸放松端,X443,X443
DI,201,出料1上下气缸上升端,UpDownCylinder_Up,13,PRO_AOI_IP_30,,出料1上下气缸上升端,X444,X444
DI,201,出料1上下气缸下降端,UpDownCylinder_Down,14,PRO_AOI_IP_30,,出料1上下气缸下降端,X445,X445
,,,,13,PRO_AOI_IP_30,,出料1上下气缸上升端,X444,X444
,,,,14,PRO_AOI_IP_30,,出料1上下气缸下降端,X445,X445
,,,,15,PRO_AOI_IP_30,,,X446,X446
,,,,,,,,,
DO,11,进仓11阻挡1下降SOL,StopCylinder_Down1,0,PRO_AOI_IP_29,0,进仓11阻挡1下降SOL,Y411,Y411
......@@ -76,7 +76,7 @@ DO,201,出料1前后气缸前进SOL,BeforeAfterCylinder_Before,8,PRO_AOI_IP_30,,出料1前
DO,201,出料1前后气缸后退SOL,BeforeAfterCylinder_After,9,PRO_AOI_IP_30,,出料1前后气缸后退SOL,Y440,Y440
DO,201,出料1夹料气缸夹紧SOL,ClampCylinder_Slack,10,PRO_AOI_IP_30,,出料1夹料气缸夹紧SOL,Y441,Y441
DO,201,出料1夹料气缸放松SOL,ClampCylinder_Tighten,11,PRO_AOI_IP_30,,出料1夹料气缸放松SOL,Y442,Y442
DO,201,出料1上下气缸上升SOL,UpDownCylinder_Up,12,PRO_AOI_IP_30,,出料1上下气缸上升SOL,Y443,Y443
DO,201,出料1上下气缸下降SOL,UpDownCylinder_Down,13,PRO_AOI_IP_30,,出料1上下气缸下降SOL,Y444,Y444
DO,8,进仓8升降上升SOL,UpDownCylinder_Up,12,PRO_AOI_IP_30,,进仓8升降上升SOL,Y443,Y443
DO,8,进仓8升降下降SOL,UpDownCylinder_Down,13,PRO_AOI_IP_30,,进仓8升降下降SOL,Y444,Y444
,,,,14,PRO_AOI_IP_30,,,Y445,Y445
,,,,15,PRO_AOI_IP_30,,,Y446,Y446
......@@ -2,8 +2,8 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,1,COM1,1,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......
......@@ -2,8 +2,8 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,1,COM1,1,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......@@ -44,8 +44,8 @@ DI,202,出料2前后气缸前进端,BeforeAfterCylinder_Before,9,PRO_AOI_IP_32,,出料2前后
DI,202,出料2前后气缸后退端,BeforeAfterCylinder_After,10,PRO_AOI_IP_32,,出料2前后气缸后退端,X481,X481
DI,202,出料2夹料气缸夹紧端,ClampCylinder_Slack,11,PRO_AOI_IP_32,,出料2夹料气缸夹紧端,X482,X482
DI,202,出料2夹料气缸放松端,ClampCylinder_Tighten,12,PRO_AOI_IP_32,,出料2夹料气缸放松端,X483,X483
DI,202,出料2上下气缸上升端,UpDownCylinder_Up,13,PRO_AOI_IP_32,,出料2上下气缸上升端,X484,X484
DI,202,出料2上下气缸下降端,UpDownCylinder_Down,14,PRO_AOI_IP_32,,出料2上下气缸下降端,X485,X485
,,,,13,PRO_AOI_IP_32,,出料2上下气缸上升端,X484,X484
,,,,14,PRO_AOI_IP_32,,出料2上下气缸下降端,X485,X485
,,,,15,PRO_AOI_IP_32,,,X486,X486
,,,,,,,,,
DO,13,进仓13阻挡1下降SOL,StopCylinder_Down1,0,PRO_AOI_IP_31,0,进仓13阻挡1下降SOL,Y451,Y451
......@@ -76,7 +76,7 @@ DO,202,出料2前后气缸前进SOL,BeforeAfterCylinder_Before,8,PRO_AOI_IP_32,,出料2前
DO,202,出料2前后气缸后退SOL,BeforeAfterCylinder_After,9,PRO_AOI_IP_32,,出料2前后气缸后退SOL,Y480,Y480
DO,202,出料2夹料气缸夹紧SOL,ClampCylinder_Slack,10,PRO_AOI_IP_32,,出料2夹料气缸夹紧SOL,Y481,Y481
DO,202,出料2夹料气缸放松SOL,ClampCylinder_Tighten,11,PRO_AOI_IP_32,,出料2夹料气缸放松SOL,Y482,Y482
DO,202,出料2上下气缸上升SOL,UpDownCylinder_Up,12,PRO_AOI_IP_32,,出料2上下气缸上升SOL,Y483,Y483
DO,202,出料2上下气缸下降SOL,UpDownCylinder_Down,13,PRO_AOI_IP_32,,出料2上下气缸下降SOL,Y484,Y484
DO,7,进仓7升降上升SOL,UpDownCylinder_Up,12,PRO_AOI_IP_32,,进仓7升降上升SOL,Y483,Y483
DO,7,进仓7升降下降SOL,UpDownCylinder_Down,13,PRO_AOI_IP_32,,进仓7升降下降SOL,Y484,Y484
,,,,14,PRO_AOI_IP_32,,,Y485,Y485
,,,,15,PRO_AOI_IP_32,,,Y486,Y486
......@@ -2,8 +2,8 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,1,COM1,1,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......
......@@ -2,8 +2,8 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,1,COM1,1,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......@@ -44,8 +44,8 @@ DI,203,出料3前后气缸前进端,BeforeAfterCylinder_Before,9,PRO_AOI_IP_34,,出料3前后
DI,203,出料3前后气缸后退端,BeforeAfterCylinder_After,10,PRO_AOI_IP_34,,出料3前后气缸后退端,X521,X521
DI,203,出料3夹料气缸夹紧端,ClampCylinder_Slack,11,PRO_AOI_IP_34,,出料3夹料气缸夹紧端,X522,X522
DI,203,出料3夹料气缸放松端,ClampCylinder_Tighten,12,PRO_AOI_IP_34,,出料3夹料气缸放松端,X523,X523
DI,203,出料3上下气缸上升端,UpDownCylinder_Up,13,PRO_AOI_IP_34,,出料3上下气缸上升端,X524,X524
DI,203,出料3上下气缸下降端,UpDownCylinder_Down,14,PRO_AOI_IP_34,,出料3上下气缸下降端,X525,X525
,,,,13,PRO_AOI_IP_34,,出料3上下气缸上升端,X524,X524
,,,,14,PRO_AOI_IP_34,,出料3上下气缸下降端,X525,X525
,,,,15,PRO_AOI_IP_34,,,X526,X526
,,,,,,,,,
DO,15,进仓15阻挡1下降SOL,StopCylinder_Down1,0,PRO_AOI_IP_33,0,进仓15阻挡1下降SOL,Y491,Y491
......@@ -76,7 +76,7 @@ DO,203,出料3前后气缸前进SOL,BeforeAfterCylinder_Before,8,PRO_AOI_IP_34,,出料3前
DO,203,出料3前后气缸后退SOL,BeforeAfterCylinder_After,9,PRO_AOI_IP_34,,出料3前后气缸后退SOL,Y520,Y520
DO,203,出料3夹料气缸夹紧SOL,ClampCylinder_Slack,10,PRO_AOI_IP_34,,出料3夹料气缸夹紧SOL,Y521,Y521
DO,203,出料3夹料气缸放松SOL,ClampCylinder_Tighten,11,PRO_AOI_IP_34,,出料3夹料气缸放松SOL,Y522,Y522
DO,203,出料3上下气缸上升SOL,UpDownCylinder_Up,12,PRO_AOI_IP_34,,出料3上下气缸上升SOL,Y523,Y523
DO,203,出料3上下气缸下降SOL,UpDownCylinder_Down,13,PRO_AOI_IP_34,,出料3上下气缸下降SOL,Y524,Y524
DO,2,进仓2升降上升SOL,UpDownCylinder_Up,12,PRO_AOI_IP_34,,进仓2升降上升SOL,Y523,Y523
DO,2,进仓2升降下降SOL,UpDownCylinder_Down,13,PRO_AOI_IP_34,,进仓2升降下降SOL,Y524,Y524
,,,,14,PRO_AOI_IP_34,,,Y525,Y525
,,,,15,PRO_AOI_IP_34,,,Y526,Y526
......@@ -2,8 +2,8 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,1,COM1,1,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......
......@@ -2,8 +2,8 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,1,COM1,1,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......@@ -44,8 +44,8 @@ DI,204,出料4前后气缸前进端,BeforeAfterCylinder_Before,9,PRO_AOI_IP_36,0,出料4前
DI,204,出料4前后气缸后退端,BeforeAfterCylinder_After,10,PRO_AOI_IP_36,0,出料4前后气缸后退端,X561,X561
DI,204,出料4夹料气缸夹紧端,ClampCylinder_Slack,11,PRO_AOI_IP_36,0,出料4夹料气缸夹紧端,X562,X562
DI,204,出料4夹料气缸放松端,ClampCylinder_Tighten,12,PRO_AOI_IP_36,0,出料4夹料气缸放松端,X563,X563
DI,204,出料4上下气缸上升端,UpDownCylinder_Up,13,PRO_AOI_IP_36,0,出料4上下气缸上升端,X564,X564
DI,204,出料4上下气缸下降端,UpDownCylinder_Down,14,PRO_AOI_IP_36,0,出料4上下气缸下降端,X565,X565
,,,,13,PRO_AOI_IP_36,0,出料4上下气缸上升端,X564,X564
,,,,14,PRO_AOI_IP_36,0,出料4上下气缸下降端,X565,X565
,,,,15,PRO_AOI_IP_36,0,,X566,X566
,,,,,,,,,
DO,17,进仓17阻挡1下降SOL,StopCylinder_Down1,0,PRO_AOI_IP_35,0,进仓17阻挡1下降SOL,Y531,Y531
......@@ -76,8 +76,8 @@ DO,204,出料4前后气缸前进SOL,BeforeAfterCylinder_Before,8,PRO_AOI_IP_36,,出料4前
DO,204,出料4前后气缸后退SOL,BeforeAfterCylinder_After,9,PRO_AOI_IP_36,,出料4前后气缸后退SOL,Y560,Y560
DO,204,出料4夹料气缸夹紧SOL,ClampCylinder_Slack,10,PRO_AOI_IP_36,,出料4夹料气缸夹紧SOL,Y561,Y561
DO,204,出料4夹料气缸放松SOL,ClampCylinder_Tighten,11,PRO_AOI_IP_36,,出料4夹料气缸放松SOL,Y562,Y562
DO,204,出料4上下气缸上升SOL,UpDownCylinder_Up,12,PRO_AOI_IP_36,,出料4上下气缸上升SOL,Y563,Y563
DO,204,出料4上下气缸下降SOL,UpDownCylinder_Down,13,PRO_AOI_IP_36,,出料4上下气缸下降SOL,Y564,Y564
DO,1,进仓1升降上升SOL,UpDownCylinder_Up,12,PRO_AOI_IP_36,,进仓1升降上升SOL,Y563,Y563
DO,1,进仓1升降下降SOL,UpDownCylinder_Down,13,PRO_AOI_IP_36,,进仓1升降下降SOL,Y564,Y564
,,,,14,PRO_AOI_IP_36,,,Y565,Y565
,,,,,,,,,
DI,1000,环形线横移4托盘检测,SW4_SideWay_TrayCheck,5,192.168.200.46,0,环形线横移4托盘检测,X556,X556
......
......@@ -2,8 +2,8 @@
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,1,,,,,
,,,,,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,0,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownPositions,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownBoxPositions,0=116000;,,,,,,
PRO,0,移栽上下轴在移栽上下降的位置,UpDownP2List,0=180000;,,,,,,
PRO,0,移栽上下轴在料仓门口下降的位置,UpDownP3List,0=116000;,,,,,,
AXIS,0,移栽上下轴,UpDown_Axis,1,COM1,1,,,
PRO,0,移栽上下轴待机点 P1,UpDownAxisP1,20000,,,,,
PRO,0,移栽上下轴目标速度,UpdownAxis_TargetSpeed,150,,,,,
......
......@@ -276,7 +276,7 @@ namespace OnlineStore.DeviceLibrary
/// 打开所有轴
/// </summary>
/// <returns></returns>
protected bool OpenAxis(ConfigMoveAxis axis)
public bool OpenAxis(ConfigMoveAxis axis)
{
//判断轴是否正常
string portName = axis.DeviceName;
......
......@@ -164,7 +164,6 @@ namespace OnlineStore.DeviceLibrary
public override bool StartRun(bool isDebug=false)
{
IsScanCode = false;
if (!canStart)
{
SetWarnMsg("启动失败:设备未初始化完成");
......@@ -854,7 +853,6 @@ namespace OnlineStore.DeviceLibrary
public override void StopMove()
{
IsScanCode = false;
foreach (MoveEquip equip in this.AllEquipMap.Values)
{
......
......@@ -401,7 +401,6 @@ namespace OnlineStore.DeviceLibrary
public override bool StartOutStoreMove(InOutParam param)
{
IsScanCode = false;
//阻挡气缸0-2下降
runStatus = LineRunStatus.Busy;
InOutLog("开始出库忙碌中[BUSY]");
......
......@@ -314,7 +314,7 @@ namespace OnlineStore.DeviceLibrary
{
if (UseAxis)
{
int position = Config.GetUpdownPosition(trayHeight);
int position = Config.GetUpdownP2(trayHeight);
ACAxisMove(Config.UpDown_Axis, position, Config.UpdownAxis_DownSpeed);
}
else
......@@ -326,7 +326,7 @@ namespace OnlineStore.DeviceLibrary
{
if (UseAxis)
{
int position = Config.GetUpdownBoxPosition(trayHeight);
int position = Config.GetUpdownP3(trayHeight);
ACAxisMove(Config.UpDown_Axis, position, Config.UpdownAxis_DownSpeed);
}
else
......
......@@ -27,9 +27,21 @@ namespace OnlineStore.DeviceLibrary
baseConfig = config;
Name = (" " + "_出料_" + DeviceID % 100 + " ").ToUpper();
Init();
UseAxis = false;
MoveInfo = new LineMoveInfo(DeviceID, "出料-" + DeviceID + "-MoveInfo");
SecondMoveInfo = new LineMoveInfo(DeviceID, "出料-" + DeviceID + "-SecondMoveInfo");
UseAxis = config.UpDownUseAxis.Equals(1);
if (UseAxis)
{
Config.UpDown_Axis.TargetSpeed = Config.UpdownAxis_TargetSpeed;
Config.UpDown_Axis.AddSpeed = Config.UpdownAxis_AddSpeed;
Config.UpDown_Axis.DelSpeed = Config.UpdownAxis_DelSpeed;
Config.UpDown_Axis.HomeAddSpeed = Config.UpdownAxis_HomeAddSpeed;
Config.UpDown_Axis.HomeHighSpeed = Config.UpdownAxis_HomeHighSpeed;
Config.UpDown_Axis.HomeLowSpeed = Config.UpdownAxis_HomeLowSpeed;
Config.UpDown_Axis.ServerOnDO = IO_Type.UpDownAxis_ServoOn;
Config.UpDown_Axis.BreakOnDO = IO_Type.UpDownAxis_BreakOn;
}
}
public override bool StartRun(bool isDebug=false)
......@@ -90,6 +102,10 @@ namespace OnlineStore.DeviceLibrary
public bool ReturnHome()
{
if (!RunAxis(true, Config.UpDown_Axis))
{
return false;
}
WarnMsg = "";
mainTimer.Stop();
alarmType = LineAlarmType.None;
......@@ -104,6 +120,10 @@ namespace OnlineStore.DeviceLibrary
public override bool Reset()
{
if (!RunAxis(true, Config.UpDown_Axis))
{
return false;
}
WarnMsg = "";
alarmType = LineAlarmType.None;
preTrayNum = 0;
......@@ -120,8 +140,10 @@ namespace OnlineStore.DeviceLibrary
private void StartReset()
{
MoveInfo.NextMoveStep(LineMoveStep.MH_UpDownCylinder_Up);
CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Down, IO_Type.UpDownCylinder_Up);
// CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Down, IO_Type.UpDownCylinder_Up);
UpdownHomeMove();
if (IsDebug)
{
IOMove(IO_Type.StopCylinder_Down1, IO_VALUE.HIGH);
......@@ -197,7 +219,11 @@ namespace OnlineStore.DeviceLibrary
//MoveInfo.NewMove(LineMoveType.StopMove);
//MoveInfo.NextMoveStep(LineMoveStep.MH_UpDownCylinder_Up);
CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Down, IO_Type.UpDownCylinder_Up);
// CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Down, IO_Type.UpDownCylinder_Up);
if (UseAxis)
{
ACServerManager.SuddenStop(Config.UpDown_Axis);
}
CylinderMove(MoveInfo, IO_Type.TopCylinder_UP, IO_Type.TopCylinder_Down);
IOMove(IO_Type.StopCylinder_Down1, IO_VALUE.LOW);
IOMove(IO_Type.StopCylinder_Down2, IO_VALUE.LOW);
......@@ -210,6 +236,57 @@ namespace OnlineStore.DeviceLibrary
protected override void InStoreProcess()
{
}
#region 上下气缸伺服运动
private void UpdownUpMove()
{
if (UseAxis)
{
ACAxisMove(Config.UpDown_Axis, Config.UpDownAxisP1, Config.UpdownAxis_P1Speed);
}
else
{
CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Down, IO_Type.UpDownCylinder_Up);
}
}
private void UpdownDownP2Move(int trayHeight)
{
if (UseAxis)
{
int position = Config.GetUpdownP2(trayHeight);
ACAxisMove(Config.UpDown_Axis, position, Config.UpdownAxis_DownSpeed);
}
else
{
CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Up, IO_Type.UpDownCylinder_Down);
}
}
private void UpdownDownP3Move(int trayHeight)
{
if (UseAxis)
{
int position = Config.GetUpdownP3(trayHeight);
ACAxisMove(Config.UpDown_Axis, position, Config.UpdownAxis_DownSpeed);
}
else
{
CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Up, IO_Type.UpDownCylinder_Down);
}
}
private void UpdownHomeMove()
{
if (UseAxis)
{
MoveInfo.NextMoveStep(LineMoveStep.MH_UpDownHomeMove);
ACAxisHomeMove(Config.UpDown_Axis);
}
else
{
MoveInfo.NextMoveStep(LineMoveStep.MH_UpDownCylinder_Up);
CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Down, IO_Type.UpDownCylinder_Up);
}
}
#endregion
}
}
......@@ -227,7 +227,7 @@ namespace OnlineStore.DeviceLibrary
LogInfo("出料【" + posId + "】处理(移栽):(PO_01_UpDownCylinderDown,上下气缸1下降)");
MoveInfo.NextMoveStep(LineMoveStep.PO_01_UpDownCylinderDown);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Up, IO_Type.UpDownCylinder_Down);
UpdownDownP2Move(param.PlateH);
return true;
}
else
......@@ -269,7 +269,8 @@ namespace OnlineStore.DeviceLibrary
{
InStoreLog("出料:(PO_04_UpDownCylinderUp,上下气缸上升)");
MoveInfo.NextMoveStep(LineMoveStep.PO_04_UpDownCylinderUp);
CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Down, IO_Type.UpDownCylinder_Up);
// CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Down, IO_Type.UpDownCylinder_Up);
UpdownUpMove();
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.PO_04_UpDownCylinderUp))
{
......@@ -298,7 +299,8 @@ namespace OnlineStore.DeviceLibrary
{
InStoreLog("出料:(PO_07_UpDownCylinderDown ,上下气缸下降)");
MoveInfo.NextMoveStep(LineMoveStep.PO_07_UpDownCylinderDown);
CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Up, IO_Type.UpDownCylinder_Down);
// CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Up, IO_Type.UpDownCylinder_Down);
UpdownDownP3Move(MoveInfo.MoveParam.PlateH);
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.PO_07_UpDownCylinderDown))
{
......@@ -310,7 +312,8 @@ namespace OnlineStore.DeviceLibrary
{
InStoreLog("出料:(PO_09_UpdownCylinderUp,上下气缸上升)");
MoveInfo.NextMoveStep(LineMoveStep.PO_09_UpdownCylinderUp);
CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Down, IO_Type.UpDownCylinder_Up);
// CylinderMove(MoveInfo, IO_Type.UpDownCylinder_Down, IO_Type.UpDownCylinder_Up);
UpdownUpMove();
}
else if (MoveInfo.MoveStep.Equals(LineMoveStep.PO_09_UpdownCylinderUp))
{
......
......@@ -93,9 +93,15 @@ namespace OnlineStore.DeviceLibrary
string config = appPath + moveEquipConfig.Replace(".csv", "_" + nameStr + ".csv");
MoveEquip_Config moveConfig = CSVConfigReader.LoadMoveConfig(i,DeviceType.MoveEquip, config);
int subType = i;
moveConfig.SetIO(subType);
// moveConfig.SetIO(subType);
moveECMap.Add(i, moveConfig);
allConfigMap.Add(subType, moveConfig);
// allConfigMap.Add(subType, moveConfig);
}
foreach (int i in moveECMap.Keys)
{
int subType = i;
moveECMap[i].SetIO(subType);
allConfigMap.Add(subType, moveECMap[i]);
}
int feedingEquipCount = ConfigAppSettings.GetIntValue(Setting_Init.Line_feedingEquip_count);
string feedingEquipConfig = ConfigAppSettings.GetValue(Setting_Init.ConfigPath_FeedingEquip);
......
......@@ -126,7 +126,8 @@ namespace OnlineStore.LoadCSVLibrary
else if (!ProIOIpMap.ContainsKey(con.ProName) && con.ProName.ToUpper().Contains(IOIP_Str.ToUpper()))
{
ProIOIpMap.Add(con.ProName, con.ProValue);
}else if(!ProRFIpMap.ContainsKey(con.ProName) && con.ProName.ToUpper().Contains(RFIP_Str.ToUpper()))
}
else if (!ProRFIpMap.ContainsKey(con.ProName) && con.ProName.ToUpper().Contains(RFIP_Str.ToUpper()))
{
ProRFIpMap.Add(con.ProName, con.ProValue);
}
......@@ -138,8 +139,6 @@ namespace OnlineStore.LoadCSVLibrary
else if (con.ProType == ConfigItemType.DI)
{
// if (IO_Type.GetTypeList().Contains(con.ProName))
{
ConfigIO io = (ConfigIO)con;
if (!IOIPList.Contains(io.IO_IP) && io.GetIOAddr() >= 0)
{
......@@ -147,7 +146,7 @@ namespace OnlineStore.LoadCSVLibrary
}
if (io.SubType > 0)
{
if (io.SubType.Equals(LineSubType))
if (io.SubType.Equals(LineSubType) && this.DType.Equals(DeviceType.FeedingEquip))
{
string newType = io.ProName.Replace("SW1_", "SW_").Replace("SW2_", "SW_").Replace("SW3_", "SW_").Replace("SW4_", "SW_");
if (DIList.ContainsKey(newType))
......@@ -183,16 +182,10 @@ namespace OnlineStore.LoadCSVLibrary
this.DIList.Add(con.ProName, io);
}
}
}
// else
{
// LOGGER.Error("配置文件:" + this.ConfigFilePath + ",属性名=" + con.ProName + "的属性未找到匹配字段!");
}
}
else if (con.ProType == ConfigItemType.DO)
{
// if (IO_Type.GetTypeList().Contains(con.ProName))
{
ConfigIO io = (ConfigIO)con;
if (!IOIPList.Contains(io.IO_IP) && io.GetIOAddr() >= 0)
{
......@@ -237,11 +230,6 @@ namespace OnlineStore.LoadCSVLibrary
}
}
}
// else
{
//LOGGER.Error("配置文件:" + this.ConfigFilePath + ",属性名=" + con.ProName + "的属性未找到匹配字段!");
}
}
}
if (checkProList.Count >= 0)
{
......
......@@ -123,10 +123,10 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("Height_ChangeValue", true)]
public int Height_ChangeValue { get; set; }
/// <summary>
/// PRO 0 提升上料轴在移栽上下降的位置 UpDownPositionsP2 0=180000
/// PRO 0 提升上料轴在移栽上下降的位置 UpDownP2ListP2 0=180000
/// </summary>
[ConfigProAttribute("UpDownPositionsP2", true)]
public string UpDownPositionsP2 { get; set; }
[ConfigProAttribute("UpDownP2ListP2", true)]
public string UpDownP2ListP2 { get; set; }
/// <summary>
......@@ -217,7 +217,7 @@ namespace OnlineStore.LoadCSVLibrary
if (UpDownPositionP2Map == null)
{
UpDownPositionP2Map = new Dictionary<int, int>();
string[] arrayList = UpDownPositionsP2.Split(';');
string[] arrayList = UpDownP2ListP2.Split(';');
foreach (string str in arrayList)
{
string[] arrStr = str.Split('=');
......@@ -261,7 +261,7 @@ namespace OnlineStore.LoadCSVLibrary
newPositionStr += key + "=" + UpDownPositionP2Map[key] + ";";
}
newPositionStr = newPositionStr.Substring(0, newPositionStr.Length - 1);
UpDownPositionsP2 = newPositionStr;
UpDownP2ListP2 = newPositionStr;
}
......
......@@ -33,15 +33,15 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("UpDownUseAxis")]
public int UpDownUseAxis { get; set; }
/// <summary>
/// PRO 0 移栽上下轴在移栽上下降的位置 UpDownPositions 0=180000
/// PRO 0 移栽上下轴在移栽上下降的位置 UpDownP2List 0=180000
/// </summary>
[ConfigProAttribute("UpDownPositions",false) ]
public string UpDownPositions { get; set; }
[ConfigProAttribute("UpDownP2List",false) ]
public string UpDownP2List { get; set; }
/// <summary>
/// PRO 0 移栽上下轴在料仓门口下降的位置 UpDownBoxPositions 0=116000
/// PRO 0 移栽上下轴在料仓门口下降的位置 UpDownP3List 0=116000
/// </summary>
[ConfigProAttribute("UpDownBoxPositions", false)]
public string UpDownBoxPositions { get; set; }
[ConfigProAttribute("UpDownP3List", false)]
public string UpDownP3List { get; set; }
/// <summary>
/// AXIS 0 移栽上下轴 UpDown_Axis 2
/// </summary>
......@@ -52,6 +52,8 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary>
[ConfigProAttribute("UpDownAxisP1", false)]
public int UpDownAxisP1 { get; set; }
/// <summary>
/// PRO 0 移栽上下轴目标速度 UpdownAxis_TargetSpeed 150
/// </summary>
......@@ -95,15 +97,15 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary>
[ConfigProAttribute("UpdownAxis_DownSpeed", false)]
public int UpdownAxis_DownSpeed { get; set; }
private Dictionary<int, int> UpDownPositionMap = null;
public int GetUpdownPosition(int trayHeight)
private Dictionary<int, int> UpDownP2Map = null;
public int GetUpdownP2(int trayHeight)
{
try
{
if (UpDownPositionMap == null)
if (UpDownP2Map == null)
{
UpDownPositionMap = new Dictionary<int, int>();
string[] arrayList = UpDownPositions.Split(';');
UpDownP2Map = new Dictionary<int, int>();
string[] arrayList = UpDownP2List.Split(';');
foreach (string str in arrayList)
{
string[] arrStr = str.Split('=');
......@@ -111,7 +113,7 @@ namespace OnlineStore.LoadCSVLibrary
{
int height = Convert.ToInt32(arrStr[0].Trim());
int length = Convert.ToInt32(arrStr[1].Trim());
UpDownPositionMap.Add(height, length);
UpDownP2Map.Add(height, length);
}
}
}
......@@ -120,46 +122,46 @@ namespace OnlineStore.LoadCSVLibrary
{
}
if (UpDownPositionMap.ContainsKey(trayHeight))
if (UpDownP2Map.ContainsKey(trayHeight))
{
return UpDownPositionMap[trayHeight];
}else if (UpDownPositionMap.ContainsKey(0))
return UpDownP2Map[trayHeight];
}else if (UpDownP2Map.ContainsKey(0))
{
return UpDownPositionMap[0];
return UpDownP2Map[0];
}
return -1;
}
public void UpdateUpdownPositon(int size, int sizePosition)
public void UpdateUpdownP2(int size, int sizePosition)
{
string newPositionStr = "";
if (UpDownPositionMap.ContainsKey(size))
if (UpDownP2Map.ContainsKey(size))
{
UpDownPositionMap[size] = sizePosition;
UpDownP2Map[size] = sizePosition;
}
else
{
UpDownPositionMap.Add(size, sizePosition);
UpDownP2Map.Add(size, sizePosition);
}
foreach(int key in UpDownPositionMap.Keys)
foreach(int key in UpDownP2Map.Keys)
{
newPositionStr += key + "=" + UpDownPositionMap[key] + ";";
newPositionStr += key + "=" + UpDownP2Map[key] + ";";
}
newPositionStr = newPositionStr.Substring(0, newPositionStr.Length - 1);
UpDownPositions = newPositionStr;
UpDownP2List = newPositionStr;
}
private Dictionary<int, int> UpDownBoxPositionMap = null;
public int GetUpdownBoxPosition(int trayHeight)
private Dictionary<int, int> UpDownP3Map = null;
public int GetUpdownP3(int trayHeight)
{
try
{
if (UpDownBoxPositionMap == null)
if (UpDownP3Map == null)
{
UpDownBoxPositionMap = new Dictionary<int, int>();
string[] arrayList = UpDownBoxPositions.Split(';');
UpDownP3Map = new Dictionary<int, int>();
string[] arrayList = UpDownP3List.Split(';');
foreach (string str in arrayList)
{
string[] arrStr = str.Split('=');
......@@ -167,7 +169,7 @@ namespace OnlineStore.LoadCSVLibrary
{
int height = Convert.ToInt32(arrStr[0].Trim());
int length = Convert.ToInt32(arrStr[1].Trim());
UpDownBoxPositionMap.Add(height, length);
UpDownP3Map.Add(height, length);
}
}
}
......@@ -176,34 +178,34 @@ namespace OnlineStore.LoadCSVLibrary
{
}
if (UpDownBoxPositionMap.ContainsKey(trayHeight))
if (UpDownP3Map.ContainsKey(trayHeight))
{
return UpDownBoxPositionMap[trayHeight];
}else if (UpDownBoxPositionMap.ContainsKey(0))
return UpDownP3Map[trayHeight];
}else if (UpDownP3Map.ContainsKey(0))
{
return UpDownBoxPositionMap[0];
return UpDownP3Map[0];
}
return -1;
}
public void UpdateUpdownBoxPositon(int size, int sizePosition)
public void UpdateUpdownP3(int size, int sizePosition)
{
string newPositionStr = "";
if (UpDownBoxPositionMap.ContainsKey(size))
if (UpDownP3Map.ContainsKey(size))
{
UpDownBoxPositionMap[size] = sizePosition;
UpDownP3Map[size] = sizePosition;
}
else
{
UpDownBoxPositionMap.Add(size, sizePosition);
UpDownP3Map.Add(size, sizePosition);
}
foreach (int key in UpDownPositionMap.Keys)
foreach (int key in UpDownP3Map.Keys)
{
newPositionStr += key + "=" + UpDownBoxPositionMap[key] + ";";
newPositionStr += key + "=" + UpDownP3Map[key] + ";";
}
newPositionStr = newPositionStr.Substring(0, newPositionStr.Length - 1);
UpDownBoxPositions = newPositionStr;
UpDownP3List = newPositionStr;
}
}
}
......@@ -45,5 +45,185 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("DLineLineNum", false)]
public int DLineLineNum { get; set; }
/// <summary>
/// PRO 0 移栽上下运动是否使用伺服 UpDownUseAxis 1
/// </summary>
[ConfigProAttribute("UpDownUseAxis")]
public int UpDownUseAxis { get; set; }
/// <summary>
/// PRO 0 移栽上下轴在移栽上下降的位置 UpDownP2List 0=180000
/// </summary>
[ConfigProAttribute("UpDownP2List", false)]
public string UpDownP2List { get; set; }
/// <summary>
/// PRO 0 移栽上下轴在出料线下降的位置 UpDownP3List 0=116000
/// </summary>
[ConfigProAttribute("UpDownP3List", false)]
public string UpDownP3List { get; set; }
/// <summary>
/// AXIS 0 移栽上下轴 UpDown_Axis 2
/// </summary>
[ConfigProAttribute("UpDown_Axis", false)]
public ConfigMoveAxis UpDown_Axis { get; set; }
/// <summary>
/// PRO 0 移栽上下轴待机点 P1 UpDownAxisP1 403000
/// </summary>
[ConfigProAttribute("UpDownAxisP1", false)]
public int UpDownAxisP1 { get; set; }
/// <summary>
/// PRO 0 移栽上下轴目标速度 UpdownAxis_TargetSpeed 150
/// </summary>
[ConfigProAttribute("UpdownAxis_TargetSpeed", false)]
public int UpdownAxis_TargetSpeed { get; set; }
/// <summary>
/// PRO 0 移栽上下轴加速度 UpdownAxis_AddSpeed 400
/// </summary>
[ConfigProAttribute("UpdownAxis_AddSpeed", false)]
public short UpdownAxis_AddSpeed { get; set; }
/// <summary>
/// PRO 0 移栽上下轴减速度 UpdownAxis_DelSpeed 400
/// </summary>
[ConfigProAttribute("UpdownAxis_DelSpeed", false)]
public short UpdownAxis_DelSpeed { get; set; }
/// <summary>
/// PRO 0 移栽上下轴原点低速度 UpdownAxis_HomeLowSpeed 100
/// </summary>
[ConfigProAttribute("UpdownAxis_HomeLowSpeed", false)]
public int UpdownAxis_HomeLowSpeed { get; set; }
/// <summary>
/// PRO 0 移栽上下轴原点高速 UpdownAxis_HomeHighSpeed 200
/// </summary>
[ConfigProAttribute("UpdownAxis_HomeHighSpeed", false)]
public int UpdownAxis_HomeHighSpeed { get; set; }
/// <summary>
/// PRO 0 移栽上下轴原点加速度 UpdownAxis_HomeAddSpeed 200
/// </summary>
[ConfigProAttribute("UpdownAxis_HomeAddSpeed", false)]
public int UpdownAxis_HomeAddSpeed { get; set; }
/// <summary>
/// PRO,0,移栽上下轴走到待机点速度,UpdownAxis_P1Speed,400,,,,,
/// </summary>
[ConfigProAttribute("UpdownAxis_P1Speed", false)]
public int UpdownAxis_P1Speed { get; set; }
/// <summary>
/// PRO,0,移栽上下轴下降速度,UpdownAxis_DownSpeed,500,,,,,
/// </summary>
[ConfigProAttribute("UpdownAxis_DownSpeed", false)]
public int UpdownAxis_DownSpeed { get; set; }
private Dictionary<int, int> UpDownP2Map = null;
public int GetUpdownP2(int trayHeight)
{
try
{
if (UpDownP2Map == null)
{
UpDownP2Map = new Dictionary<int, int>();
string[] arrayList = UpDownP2List.Split(';');
foreach (string str in arrayList)
{
string[] arrStr = str.Split('=');
if (arrStr.Length == 2)
{
int height = Convert.ToInt32(arrStr[0].Trim());
int length = Convert.ToInt32(arrStr[1].Trim());
UpDownP2Map.Add(height, length);
}
}
}
}
catch (Exception ex)
{
}
if (UpDownP2Map.ContainsKey(trayHeight))
{
return UpDownP2Map[trayHeight];
}
else if (UpDownP2Map.ContainsKey(0))
{
return UpDownP2Map[0];
}
return -1;
}
public void UpdateUpdownP2(int size, int sizePosition)
{
string newPositionStr = "";
if (UpDownP2Map.ContainsKey(size))
{
UpDownP2Map[size] = sizePosition;
}
else
{
UpDownP2Map.Add(size, sizePosition);
}
foreach (int key in UpDownP2Map.Keys)
{
newPositionStr += key + "=" + UpDownP2Map[key] + ";";
}
newPositionStr = newPositionStr.Substring(0, newPositionStr.Length - 1);
UpDownP2List = newPositionStr;
}
private Dictionary<int, int> UpDownP3Map = null;
public int GetUpdownP3(int trayHeight)
{
try
{
if (UpDownP3Map == null)
{
UpDownP3Map = new Dictionary<int, int>();
string[] arrayList = UpDownP3List.Split(';');
foreach (string str in arrayList)
{
string[] arrStr = str.Split('=');
if (arrStr.Length == 2)
{
int height = Convert.ToInt32(arrStr[0].Trim());
int length = Convert.ToInt32(arrStr[1].Trim());
UpDownP3Map.Add(height, length);
}
}
}
}
catch (Exception ex)
{
}
if (UpDownP3Map.ContainsKey(trayHeight))
{
return UpDownP3Map[trayHeight];
}
else if (UpDownP3Map.ContainsKey(0))
{
return UpDownP3Map[0];
}
return -1;
}
public void UpdateUpdownP3(int size, int sizePosition)
{
string newPositionStr = "";
if (UpDownP3Map.ContainsKey(size))
{
UpDownP3Map[size] = sizePosition;
}
else
{
UpDownP3Map.Add(size, sizePosition);
}
foreach (int key in UpDownP3Map.Keys)
{
newPositionStr += key + "=" + UpDownP3Map[key] + ";";
}
newPositionStr = newPositionStr.Substring(0, newPositionStr.Length - 1);
UpDownP3List = newPositionStr;
}
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!