Commit 2b40314a LN

配置结构修改

1 个父辈 6a9b44ec
正在显示 41 个修改的文件 包含 1797 行增加3733 行删除
...@@ -19,7 +19,7 @@ namespace OnlineStore.Common ...@@ -19,7 +19,7 @@ namespace OnlineStore.Common
public static Dictionary<int, DateTime> lastErrorLogTime = new Dictionary<int, DateTime>(); public static Dictionary<int, DateTime> lastErrorLogTime = new Dictionary<int, DateTime>();
public static System.Windows.Forms.RichTextBox logBox = null; public static System.Windows.Forms.RichTextBox logBox = null;
public static int showCount = 20; public static int showCount = 30;
public static bool debug_opened = false; public static bool debug_opened = false;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
</configSections> </configSections>
<appSettings> <appSettings>
<!--是否开机自动启动料仓--> <!--是否开机自动启动料仓-->
<add key="App_AutoRun" value="1" /> <add key="App_AutoRun" value="0" />
<add key="App_Title" value="包装料料仓" /> <add key="App_Title" value="包装料料仓" />
<!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)--> <!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)-->
<add key="StartBlowValue" value="4" /> <add key="StartBlowValue" value="4" />
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
</appSettings> </appSettings>
<log4net> <log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs/Packing-store-19-20.log" /> <file value="logs/duoStore.log" />
<param name="Encoding" value="UTF-8" /> <param name="Encoding" value="UTF-8" />
<appendToFile value="true" /> <appendToFile value="true" />
<rollingStyle value="Date" /> <rollingStyle value="Date" />
...@@ -72,8 +72,8 @@ ...@@ -72,8 +72,8 @@
<conversionPattern value="[%date][%t]%-5p %m%n" /> <conversionPattern value="[%date][%t]%-5p %m%n" />
</layout> </layout>
</appender> </appender>
<appender name="TheRFID" type="log4net.Appender.RollingFileAppender"> <appender name="AIOBOX" type="log4net.Appender.RollingFileAppender">
<file value="logs/TheRFID.log" /> <file value="logs/aio/AIOBOX.log" />
<param name="Encoding" value="UTF-8" /> <param name="Encoding" value="UTF-8" />
<appendToFile value="true" /> <appendToFile value="true" />
<rollingStyle value="Date" /> <rollingStyle value="Date" />
...@@ -86,9 +86,9 @@ ...@@ -86,9 +86,9 @@
<level value="Info" /> <level value="Info" />
<appender-ref ref="RollingLogFileAppender" /> <appender-ref ref="RollingLogFileAppender" />
</logger> </logger>
<logger name="TheRFID"> <logger name="AIOBOX">
<level value="Debug" /> <level value="Debug" />
<appender-ref ref="TheRFID" /> <appender-ref ref="AIOBOX" />
</logger> </logger>
<root> <root>
<level value="Info" /> <level value="Info" />
......
...@@ -49,25 +49,25 @@ namespace OnlineStore.ACPackingStore ...@@ -49,25 +49,25 @@ namespace OnlineStore.ACPackingStore
} }
} }
private static FrmIOStatus frmIo = null; private static FrmIOStatus frmIo = null;
public static void ShowIOShow(BoxBean store) //public static void ShowIOShow(BoxBean store)
{ //{
if (frmIo == null) // if (frmIo == null)
{ // {
frmIo = new FrmIOStatus(store); // frmIo = new FrmIOStatus(store);
frmIo.Show(); // frmIo.Show();
} // }
else // else
{ // {
if (frmIo.IsDisposed) // if (frmIo.IsDisposed)
{ // {
frmIo = new FrmIOStatus(store); // frmIo = new FrmIOStatus(store);
frmIo.Show(); // frmIo.Show();
} // }
else // else
{ // {
frmIo.Activate(); // frmIo.Activate();
} // }
} // }
} //}
} }
} }
...@@ -62,17 +62,17 @@ namespace OnlineStore.ACPackingStore ...@@ -62,17 +62,17 @@ namespace OnlineStore.ACPackingStore
txtMiddleP1.Text = BoxBean.Config.MiddleAxis_P1.ToString(); txtMiddleP1.Text = BoxBean.Config.MiddleAxis_P1.ToString();
txtUpDownP1.Text = BoxBean.Config.UpDownAxis_P1.ToString(); txtUpDownP1.Text = BoxBean.Config.UpDownAxis_P1.ToString();
txtInOutP1.Text = BoxBean.Config.InOutAxis_P1_Position.ToString(); txtInOutP1.Text = BoxBean.Config.InOutAxis_P1 .ToString();
txtComP1.Text = BoxBean.Config.CompAxis_P1_Position.ToString(); txtComP1.Text = BoxBean.Config.CompAxis_P1 .ToString();
txtUpDownP2.Text = BoxBean.Config.UpDownAxis_P2.ToString(); txtUpDownP2.Text = BoxBean.Config.UpDownAxis_P2.ToString();
txtInOutP2.Text = BoxBean.Config.InOutAxis_P2_Position.ToString(); txtInOutP2.Text = BoxBean.Config.InOutAxis_P2 .ToString();
txtMiddleP11.Text = BoxBean.Config.MiddleAxis_P11.ToString(); txtMiddleP11.Text = BoxBean.Config.MiddleAxis_P11.ToString();
txtUpdownP11.Text = BoxBean.Config.UpDownAxis_P11.ToString(); txtUpdownP11.Text = BoxBean.Config.UpDownAxis_P11.ToString();
txtUpdownP12.Text = BoxBean.Config.UpDownAxis_P12.ToString(); txtUpdownP12.Text = BoxBean.Config.UpDownAxis_P12.ToString();
txtInOutP2.Text = BoxBean.Config.InOutAxis_P2_Position.ToString(); txtInOutP2.Text = BoxBean.Config.InOutAxis_P2 .ToString();
txtInoutP11.Text = BoxBean.Config.InOutAxis_P11_Position.ToString(); txtInoutP11.Text = BoxBean.Config.InOutAxis_P11 .ToString();
//txtInOutP2.Text = BoxBean.Config.InOutAxis_DoorPosition_P2.ToString(); //txtInOutP2.Text = BoxBean.Config.InOutAxis_DoorPosition_P2.ToString();
txtUpDownP1.Text = BoxBean.Config.UpDownAxis_P1.ToString(); txtUpDownP1.Text = BoxBean.Config.UpDownAxis_P1.ToString();
LoadPData(ktkPosition); LoadPData(ktkPosition);
...@@ -80,7 +80,7 @@ namespace OnlineStore.ACPackingStore ...@@ -80,7 +80,7 @@ namespace OnlineStore.ACPackingStore
chbDebug.Checked = BoxBean.IsDebug; chbDebug.Checked = BoxBean.IsDebug;
this.ShowInTaskbar = true; this.ShowInTaskbar = true;
txtTempPort.Text = BoxBean.Config.Humiture_Port; // txtTempPort.Text = BoxBean.Config.Humiture_Port;
timer1.Start(); timer1.Start();
LoadOk = true; LoadOk = true;
} }
...@@ -123,11 +123,11 @@ namespace OnlineStore.ACPackingStore ...@@ -123,11 +123,11 @@ namespace OnlineStore.ACPackingStore
lblMoveInfo.Text = BoxBean.GetMoveStr(); lblMoveInfo.Text = BoxBean.GetMoveStr();
if (BoxBean.MoveInfo.MoveType.Equals(StoreMoveType.InStore)) if (BoxBean.MoveInfo.MoveType.Equals(StoreMoveType.InStore))
{ {
lblMoveEquipInfo.Text = "入库:" + BoxBean.MoveInfo.MoveParam.ToShortStr(); lblMoveEquipInfo.Text = "入库:" + BoxBean.MoveInfo.MoveParam.ToStr();
} }
else if (BoxBean.MoveInfo.MoveType.Equals(StoreMoveType.OutStore)) else if (BoxBean.MoveInfo.MoveType.Equals(StoreMoveType.OutStore))
{ {
lblMoveEquipInfo.Text = "出库:" + BoxBean.MoveInfo.MoveParam.ToShortStr(); lblMoveEquipInfo.Text = "出库:" + BoxBean.MoveInfo.MoveParam.ToStr();
} }
else else
{ {
...@@ -294,15 +294,15 @@ namespace OnlineStore.ACPackingStore ...@@ -294,15 +294,15 @@ namespace OnlineStore.ACPackingStore
txtUpDownP6.Text = acPosition.UpdownAxis_OL_P6.ToString(); txtUpDownP6.Text = acPosition.UpdownAxis_OL_P6.ToString();
int comP2 = BoxBean.Config.GetComP2(acPosition.BagHigh).TargetComP2(); int comP2 = BoxBean.Config.GetComP2(acPosition.BagHigh);
txtComP2.Text = comP2.ToString(); txtComP2.Text = comP2.ToString();
txtComP3.Text = (comP2 + BoxBean.Config.GetCom_P3_P2(acPosition.BagWidth)).ToString(); txtComP3.Text =BoxBean.Config.CompAxis_P3.ToString();
btnComP2.Text = "" + acPosition.BagHigh + "mm压紧点P2:"; btnComP2.Text = "" + acPosition.BagHigh + "mm压紧点P2:";
btnComP3.Text = "" + acPosition.BagHigh + "mm压紧前点P3:"; btnComP3.Text = "" + acPosition.BagHigh + "mm压紧前点P3:";
lblSize.Text = "尺寸:" + acPosition.BagWidth + "*" + acPosition.BagHigh; lblSize.Text = "尺寸:" + acPosition.BagWidth + "*" + acPosition.BagHigh;
txtInOutP3.Text = acPosition.InoutAxis_P3.ToString(); txtInOutP3.Text = acPosition.InoutAxis_P3.ToString();
txtInOutP2.Text = BoxBean.Config.InOutAxis_P2_Position.ToString(); txtInOutP2.Text = BoxBean.Config.InOutAxis_P2 .ToString();
//txtUpDownP2.Text = ktkPosition.UpDownAxis_P2.ToString(); //txtUpDownP2.Text = ktkPosition.UpDownAxis_P2.ToString();
//txtUpDownP7.Text = ktkPosition.UpDownAxis_DoorOBPosition_P7.ToString(); //txtUpDownP7.Text = ktkPosition.UpDownAxis_DoorOBPosition_P7.ToString();
...@@ -340,7 +340,7 @@ namespace OnlineStore.ACPackingStore ...@@ -340,7 +340,7 @@ namespace OnlineStore.ACPackingStore
//位置配置 //位置配置
string appPath = Application.StartupPath; string appPath = Application.StartupPath;
//如果总配置文件存在,保存到总的配置文件 //如果总配置文件存在,保存到总的配置文件
string positionConfigFile = appPath + ConfigAppSettings.GetValue(Setting_Init.Store_Position_Config); string positionConfigFile = appPath + ConfigAppSettings.GetValue(Setting_Init.BOX_ConfigPath);
if (!File.Exists(positionConfigFile)) if (!File.Exists(positionConfigFile))
{ {
string nameStr = BoxBean.ID.ToString(); string nameStr = BoxBean.ID.ToString();
...@@ -364,19 +364,19 @@ namespace OnlineStore.ACPackingStore ...@@ -364,19 +364,19 @@ namespace OnlineStore.ACPackingStore
needUpdate = true; needUpdate = true;
} }
if (BoxBean.Config.InOutAxis_P1_Position != FormUtil.GetIntValue(txtInOutP1)) if (BoxBean.Config.InOutAxis_P1 != FormUtil.GetIntValue(txtInOutP1))
{ {
BoxBean.Config.InOutAxis_P1_Position = FormUtil.GetIntValue(txtInOutP1); BoxBean.Config.InOutAxis_P1 = FormUtil.GetIntValue(txtInOutP1);
needUpdate = true; needUpdate = true;
} }
if (BoxBean.Config.InOutAxis_P11_Position != FormUtil.GetIntValue(txtInoutP11)) if (BoxBean.Config.InOutAxis_P11 != FormUtil.GetIntValue(txtInoutP11))
{ {
BoxBean.Config.InOutAxis_P11_Position = FormUtil.GetIntValue(txtInoutP11); BoxBean.Config.InOutAxis_P11 = FormUtil.GetIntValue(txtInoutP11);
needUpdate = true; needUpdate = true;
} }
if (BoxBean.Config.CompAxis_P1_Position != FormUtil.GetIntValue(txtComP1)) if (BoxBean.Config.CompAxis_P1 != FormUtil.GetIntValue(txtComP1))
{ {
BoxBean.Config.CompAxis_P1_Position = FormUtil.GetIntValue(txtComP1); BoxBean.Config.CompAxis_P1 = FormUtil.GetIntValue(txtComP1);
needUpdate = true; needUpdate = true;
} }
if (BoxBean.Config.UpDownAxis_P2 != FormUtil.GetIntValue(txtUpDownP2)) if (BoxBean.Config.UpDownAxis_P2 != FormUtil.GetIntValue(txtUpDownP2))
...@@ -400,9 +400,9 @@ namespace OnlineStore.ACPackingStore ...@@ -400,9 +400,9 @@ namespace OnlineStore.ACPackingStore
BoxBean.Config.UpDownAxis_P12 = FormUtil.GetIntValue(txtUpdownP12); BoxBean.Config.UpDownAxis_P12 = FormUtil.GetIntValue(txtUpdownP12);
needUpdate = true; needUpdate = true;
} }
if (BoxBean.Config.InOutAxis_P2_Position != FormUtil.GetIntValue(txtInOutP2)) if (BoxBean.Config.InOutAxis_P2 != FormUtil.GetIntValue(txtInOutP2))
{ {
BoxBean.Config.InOutAxis_P2_Position = FormUtil.GetIntValue(txtInOutP2); BoxBean.Config.InOutAxis_P2 = FormUtil.GetIntValue(txtInOutP2);
needUpdate = true; needUpdate = true;
} }
//if (BoxBean.Config.InOutAxis_DoorPosition_P2 != FormUtil.GetIntValue(txtInOutP2)) //if (BoxBean.Config.InOutAxis_DoorPosition_P2 != FormUtil.GetIntValue(txtInOutP2))
...@@ -415,9 +415,9 @@ namespace OnlineStore.ACPackingStore ...@@ -415,9 +415,9 @@ namespace OnlineStore.ACPackingStore
BoxBean.Config.UpDownAxis_P1 = FormUtil.GetIntValue(txtUpDownP1); BoxBean.Config.UpDownAxis_P1 = FormUtil.GetIntValue(txtUpDownP1);
needUpdate = true; needUpdate = true;
} }
//if (BoxBean.Config.CompAxis_P3_Position != FormUtil.GetIntValue(txtComP3 )) //if (BoxBean.Config.CompAxis_P3 != FormUtil.GetIntValue(txtComP3 ))
//{ //{
// BoxBean.Config.CompAxis_P3_Position = FormUtil.GetIntValue(txtComP3); // BoxBean.Config.CompAxis_P3 = FormUtil.GetIntValue(txtComP3);
// needUpdate = true; // needUpdate = true;
//} //}
if (needUpdate) if (needUpdate)
...@@ -646,7 +646,7 @@ namespace OnlineStore.ACPackingStore ...@@ -646,7 +646,7 @@ namespace OnlineStore.ACPackingStore
private void 查看IOToolStripMenuItem_Click(object sender, EventArgs e) private void 查看IOToolStripMenuItem_Click(object sender, EventArgs e)
{ {
FormManager.ShowIOShow(BoxBean); // FormManager.ShowIOShow(BoxBean);
} }
private void 料仓运转ONToolStripMenuItem_Click(object sender, EventArgs e) private void 料仓运转ONToolStripMenuItem_Click(object sender, EventArgs e)
...@@ -767,44 +767,20 @@ namespace OnlineStore.ACPackingStore ...@@ -767,44 +767,20 @@ namespace OnlineStore.ACPackingStore
} }
} }
} }
private void btnScanTest_Click(object sender, EventArgs e)
{
BoxBean.IOMove(IO_Type.Camera_Led, IO_VALUE.HIGH);
List<string> codes = CodeManager.CameraScan(BoxBean.Config.GetCameraList(), BoxBean.Name);
BoxBean.IOMove(IO_Type.Camera_Led, IO_VALUE.LOW);
string result = "";
if (codes.Count > 0)
{
foreach (string s in codes)
{
result += s + "\r\n";
}
MessageBox.Show("扫到二维码:" + result);
LogUtil.info("扫到二维码:" + result);
}
else
{
MessageBox.Show("未扫到二维码");
}
}
private void btnUpdown_Click(object sender, EventArgs e) private void btnUpdown_Click(object sender, EventArgs e)
{ {
string PortName = BoxBean.Config.UpDown_Axis.DeviceName; //string PortName = BoxBean.Config.UpDown_Axis.DeviceName;
int slvAddr = BoxBean.Config.UpDown_Axis.GetAxisValue(); //int slvAddr = BoxBean.Config.UpDown_Axis.GetAxisValue();
string ioIP = "192.168.200.13"; //string ioIP = "192.168.200.13";
int ioIndex = 0; //int ioIndex = 0;
// if (store.Config.StoreDIList.ContainsKey(IO_Type.UpdownPositionSingal)) //// if (store.Config.StoreDIList.ContainsKey(IO_Type.UpdownPositionSingal))
if (BoxBean.Config.DIList.ContainsKey(IO_Type.Compress_Check)) //if (BoxBean.Config.DIList.ContainsKey(IO_Type.Compress_Check))
{ //{
ioIP = BoxBean.Config.DIList[IO_Type.Compress_Check].IO_IP; // ioIP = BoxBean.Config.DIList[IO_Type.Compress_Check].IO_IP;
ioIndex = BoxBean.Config.DIList[IO_Type.Compress_Check].GetIOAddr(); // ioIndex = BoxBean.Config.DIList[IO_Type.Compress_Check].GetIOAddr();
} //}
FrmPositionTool frm = new FrmPositionTool(PortName, slvAddr, ioIP, ioIndex, Text, BoxBean.ID); //FrmPositionTool frm = new FrmPositionTool(PortName, slvAddr, ioIP, ioIndex, Text, BoxBean.ID);
frm.ShowDialog(); //frm.ShowDialog();
} }
......
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
this.btnCamerLed = new System.Windows.Forms.Button(); this.btnCamerLed = new System.Windows.Forms.Button();
this.btnTopDown = new System.Windows.Forms.Button(); this.btnTopDown = new System.Windows.Forms.Button();
this.btnTopUp = new System.Windows.Forms.Button(); this.btnTopUp = new System.Windows.Forms.Button();
this.txtSlaveId = new System.Windows.Forms.TextBox();
this.btnOpenDo = new System.Windows.Forms.Button(); this.btnOpenDo = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button();
this.txtDOIndex = new System.Windows.Forms.TextBox(); this.txtDOIndex = new System.Windows.Forms.TextBox();
...@@ -72,7 +71,6 @@ ...@@ -72,7 +71,6 @@
this.groupBox1.Controls.Add(this.btnCamerLed); this.groupBox1.Controls.Add(this.btnCamerLed);
this.groupBox1.Controls.Add(this.btnTopDown); this.groupBox1.Controls.Add(this.btnTopDown);
this.groupBox1.Controls.Add(this.btnTopUp); this.groupBox1.Controls.Add(this.btnTopUp);
this.groupBox1.Controls.Add(this.txtSlaveId);
this.groupBox1.Controls.Add(this.btnOpenDo); this.groupBox1.Controls.Add(this.btnOpenDo);
this.groupBox1.Controls.Add(this.button2); this.groupBox1.Controls.Add(this.button2);
this.groupBox1.Controls.Add(this.txtDOIndex); this.groupBox1.Controls.Add(this.txtDOIndex);
...@@ -164,17 +162,6 @@ ...@@ -164,17 +162,6 @@
this.btnTopUp.UseVisualStyleBackColor = false; this.btnTopUp.UseVisualStyleBackColor = false;
this.btnTopUp.Click += new System.EventHandler(this.btnTopUp_Click); this.btnTopUp.Click += new System.EventHandler(this.btnTopUp_Click);
// //
// txtSlaveId
//
this.txtSlaveId.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtSlaveId.Location = new System.Drawing.Point(6, 138);
this.txtSlaveId.MaxLength = 10;
this.txtSlaveId.Name = "txtSlaveId";
this.txtSlaveId.Size = new System.Drawing.Size(43, 23);
this.txtSlaveId.TabIndex = 283;
this.txtSlaveId.Text = "0";
this.txtSlaveId.Visible = false;
//
// btnOpenDo // btnOpenDo
// //
this.btnOpenDo.BackColor = System.Drawing.Color.White; this.btnOpenDo.BackColor = System.Drawing.Color.White;
...@@ -324,6 +311,7 @@ ...@@ -324,6 +311,7 @@
this.tableLayoutPanel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.tableLayoutPanel2.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel2.AutoScroll = true;
this.tableLayoutPanel2.ColumnCount = 1; this.tableLayoutPanel2.ColumnCount = 1;
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel2.Location = new System.Drawing.Point(5, 14); this.tableLayoutPanel2.Location = new System.Drawing.Point(5, 14);
...@@ -351,6 +339,7 @@ ...@@ -351,6 +339,7 @@
this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel1.AutoScroll = true;
this.tableLayoutPanel1.ColumnCount = 1; this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Location = new System.Drawing.Point(6, 14); this.tableLayoutPanel1.Location = new System.Drawing.Point(6, 14);
...@@ -406,7 +395,6 @@ ...@@ -406,7 +395,6 @@
private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button btnOpenDo; private System.Windows.Forms.Button btnOpenDo;
private System.Windows.Forms.Button button2; private System.Windows.Forms.Button button2;
private System.Windows.Forms.TextBox txtSlaveId;
private System.Windows.Forms.Button btnTopDown; private System.Windows.Forms.Button btnTopDown;
private System.Windows.Forms.Button btnTopUp; private System.Windows.Forms.Button btnTopUp;
private System.Windows.Forms.Button btnCamerLed; private System.Windows.Forms.Button btnCamerLed;
......
...@@ -23,27 +23,17 @@ namespace OnlineStore.ACPackingStore ...@@ -23,27 +23,17 @@ namespace OnlineStore.ACPackingStore
public partial class FrmIOStatus : FrmBase public partial class FrmIOStatus : FrmBase
{ {
private int StoreId = 1; private int StoreId = 1;
private BoxBean boxBean;
// public static readonly ILog LOGGER = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public FrmIOStatus( )
public FrmIOStatus()
{
Control.CheckForIllegalCrossThreadCalls = false;
InitializeComponent();
}
public FrmIOStatus(BoxBean store)
{ {
Control.CheckForIllegalCrossThreadCalls = false; Control.CheckForIllegalCrossThreadCalls = false;
InitializeComponent(); InitializeComponent();
this.boxBean = store;
this.StoreId = store.ID;
LoadIOList(); LoadIOList();
} }
private void FrmStoreIOStatus_Load(object sender, EventArgs e) private void FrmStoreIOStatus_Load(object sender, EventArgs e)
{ {
//KNDAIManager.NeedShow = true;
this.Text = boxBean.Name + "_IO查看";
} }
Dictionary<string, IOTextControl> DIControlList = new Dictionary<string, IOTextControl>(); Dictionary<string, IOTextControl> DIControlList = new Dictionary<string, IOTextControl>();
Dictionary<string, IOTextControl> DOControlList = new Dictionary<string, IOTextControl>(); Dictionary<string, IOTextControl> DOControlList = new Dictionary<string, IOTextControl>();
...@@ -51,8 +41,8 @@ namespace OnlineStore.ACPackingStore ...@@ -51,8 +41,8 @@ namespace OnlineStore.ACPackingStore
{ {
int roleindex = 0; int roleindex = 0;
this.tableLayoutPanel1.RowStyles.Clear(); this.tableLayoutPanel1.RowStyles.Clear();
this.tableLayoutPanel1.RowCount = boxBean.Config.DIList.Count; this.tableLayoutPanel1.RowCount = StoreManager.Config.DIList.Count;
foreach (ConfigIO ioValue in boxBean.Config.DIList.Values) foreach (ConfigIO ioValue in StoreManager.Config.DIList.Values)
{ {
this.tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 26)); this.tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 26));
IOTextControl control = new IOTextControl(ioValue.ElectricalDefinition + "_" + ioValue.Explain, ioValue.ProName); IOTextControl control = new IOTextControl(ioValue.ElectricalDefinition + "_" + ioValue.Explain, ioValue.ProName);
...@@ -62,9 +52,9 @@ namespace OnlineStore.ACPackingStore ...@@ -62,9 +52,9 @@ namespace OnlineStore.ACPackingStore
} }
tableLayoutPanel2.RowStyles.Clear(); tableLayoutPanel2.RowStyles.Clear();
this.tableLayoutPanel2.RowCount = boxBean.Config.DOList.Count; this.tableLayoutPanel2.RowCount = StoreManager.Config.DOList.Count;
roleindex = 0; roleindex = 0;
foreach (ConfigIO ioValue in boxBean.Config.DOList.Values) foreach (ConfigIO ioValue in StoreManager.Config.DOList.Values)
{ {
this.tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Absolute, 28)); this.tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Absolute, 28));
IOTextControl control = new IOTextControl(ioValue.ElectricalDefinition + "_" + ioValue.Explain, ioValue.ProName); IOTextControl control = new IOTextControl(ioValue.ElectricalDefinition + "_" + ioValue.Explain, ioValue.ProName);
...@@ -74,7 +64,7 @@ namespace OnlineStore.ACPackingStore ...@@ -74,7 +64,7 @@ namespace OnlineStore.ACPackingStore
} }
this.SuspendLayout(); //此处为不闪屏,一定要有的! this.SuspendLayout(); //此处为不闪屏,一定要有的!
cmbWriteIO.DataSource = new List<ConfigIO>(boxBean.Config.DOList.Values); cmbWriteIO.DataSource = new List<ConfigIO>(StoreManager.Config.DOList.Values);
cmbWriteIO.ValueMember = "ProName"; cmbWriteIO.ValueMember = "ProName";
cmbWriteIO.DisplayMember = "DisplayStr"; cmbWriteIO.DisplayMember = "DisplayStr";
} }
...@@ -107,9 +97,9 @@ namespace OnlineStore.ACPackingStore ...@@ -107,9 +97,9 @@ namespace OnlineStore.ACPackingStore
private ConfigIO GetSelectDO() private ConfigIO GetSelectDO()
{ {
string text = cmbWriteIO.SelectedValue.ToString(); string text = cmbWriteIO.SelectedValue.ToString();
if (boxBean.Config.DOList.ContainsKey(text)) if (StoreManager.Config.DOList.ContainsKey(text))
{ {
ConfigIO io = boxBean.Config.DOList[text]; ConfigIO io = StoreManager.Config.DOList[text];
return io; return io;
} }
return null; return null;
...@@ -125,7 +115,6 @@ namespace OnlineStore.ACPackingStore ...@@ -125,7 +115,6 @@ namespace OnlineStore.ACPackingStore
// txtIp.Text = io.DeviceName; // txtIp.Text = io.DeviceName;
txtDOIndex.Text = io.GetIOAddr().ToString(); txtDOIndex.Text = io.GetIOAddr().ToString();
txtDoName.Text = io.IO_IP; txtDoName.Text = io.IO_IP;
txtSlaveId.Text = io.SlaveID.ToString();
IOTextControl newControl = DOControlList[io.ProName]; IOTextControl newControl = DOControlList[io.ProName];
selectControl = newControl; selectControl = newControl;
} }
...@@ -159,7 +148,7 @@ namespace OnlineStore.ACPackingStore ...@@ -159,7 +148,7 @@ namespace OnlineStore.ACPackingStore
foreach (string key in DIControlList.Keys) foreach (string key in DIControlList.Keys)
{ {
IOTextControl control = DIControlList[key]; IOTextControl control = DIControlList[key];
int iov = (int)boxBean.IOValue(key ); int iov = (int)StoreManager.Store.IOValue(key );
if (iov != control.IOValue) if (iov != control.IOValue)
{ {
control.IOValue = iov; control.IOValue = iov;
...@@ -169,7 +158,7 @@ namespace OnlineStore.ACPackingStore ...@@ -169,7 +158,7 @@ namespace OnlineStore.ACPackingStore
foreach (string key in this.DOControlList.Keys) foreach (string key in this.DOControlList.Keys)
{ {
IOTextControl control = DOControlList[key]; IOTextControl control = DOControlList[key];
int iov = (int)boxBean.IOValue(key ); int iov = (int)StoreManager.Store.IOValue(key );
if (iov != control.IOValue) if (iov != control.IOValue)
{ {
control.IOValue = iov; control.IOValue = iov;
...@@ -183,13 +172,13 @@ namespace OnlineStore.ACPackingStore ...@@ -183,13 +172,13 @@ namespace OnlineStore.ACPackingStore
LogUtil.info("点击【" + btn.Text + "】 "); LogUtil.info("点击【" + btn.Text + "】 ");
if (btn.Text.Equals(defaultText)) if (btn.Text.Equals(defaultText))
{ {
boxBean.IOMove(ioHighType, IO_VALUE.HIGH); StoreManager.Store.IOMove(ioHighType, IO_VALUE.HIGH);
btn.Text = targetText; btn.Text = targetText;
btn.BackColor = Color.Aqua; btn.BackColor = Color.Aqua;
} }
else else
{ {
boxBean.IOMove(ioHighType, IO_VALUE.LOW); StoreManager.Store.IOMove(ioHighType, IO_VALUE.LOW);
btn.Text = defaultText; btn.Text = defaultText;
btn.BackColor = Color.White; btn.BackColor = Color.White;
} }
...@@ -200,13 +189,13 @@ namespace OnlineStore.ACPackingStore ...@@ -200,13 +189,13 @@ namespace OnlineStore.ACPackingStore
LogUtil.info("点击【" + btn.Text + "】 "); LogUtil.info("点击【" + btn.Text + "】 ");
if (btn.Text.Equals(defaultText)) if (btn.Text.Equals(defaultText))
{ {
boxBean.CylinderMove(null, ioLowType, ioHighType); StoreManager.Store.CylinderMove(null, ioLowType, ioHighType);
btn.Text = targetText; btn.Text = targetText;
btn.BackColor = Color.Aqua; btn.BackColor = Color.Aqua;
} }
else else
{ {
boxBean.CylinderMove(null, ioHighType, ioLowType); StoreManager.Store.CylinderMove(null, ioHighType, ioLowType);
btn.Text = defaultText; btn.Text = defaultText;
btn.BackColor = Color.SkyBlue; btn.BackColor = Color.SkyBlue;
} }
...@@ -216,12 +205,12 @@ namespace OnlineStore.ACPackingStore ...@@ -216,12 +205,12 @@ namespace OnlineStore.ACPackingStore
private void btnLocationUp_Click(object sender, EventArgs e) private void btnLocationUp_Click(object sender, EventArgs e)
{ {
// boxBean.CylinderMove(null, IO_Type.LocationCylinder_Down, IO_Type.LocationCylinder_Up); // StoreManager.Store.CylinderMove(null, IO_Type.LocationCylinder_Down, IO_Type.LocationCylinder_Up);
} }
private void btnLocationDown_Click(object sender, EventArgs e) private void btnLocationDown_Click(object sender, EventArgs e)
{ {
// boxBean.CylinderMove(null, IO_Type.LocationCylinder_Up, IO_Type.LocationCylinder_Down); // StoreManager.Store.CylinderMove(null, IO_Type.LocationCylinder_Up, IO_Type.LocationCylinder_Down);
} }
private void FrmIOStatus_Shown(object sender, EventArgs e) private void FrmIOStatus_Shown(object sender, EventArgs e)
...@@ -231,12 +220,12 @@ namespace OnlineStore.ACPackingStore ...@@ -231,12 +220,12 @@ namespace OnlineStore.ACPackingStore
private void btnOpenAxisBreak_Click(object sender, EventArgs e) private void btnOpenAxisBreak_Click(object sender, EventArgs e)
{ {
BtnMove(btnOpenAxisBreak, "打开刹车", "关闭刹车", IO_Type.Axis_Brake); // BtnMove(btnOpenAxisBreak, "打开刹车", "关闭刹车", IO_Type.Axis_Brake);
} }
private void btnCloseAxisBreak_Click(object sender, EventArgs e) private void btnCloseAxisBreak_Click(object sender, EventArgs e)
{ {
boxBean.IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW); // StoreManager.Store.IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW);
} }
private void button1_Click(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e)
...@@ -258,7 +247,7 @@ namespace OnlineStore.ACPackingStore ...@@ -258,7 +247,7 @@ namespace OnlineStore.ACPackingStore
int index = FormUtil.GetIntValue(txtDOIndex); int index = FormUtil.GetIntValue(txtDOIndex);
// IO_VALUE value = checkBox1.Checked ? IO_VALUE.HIGH : IO_VALUE.LOW; // IO_VALUE value = checkBox1.Checked ? IO_VALUE.HIGH : IO_VALUE.LOW;
int time = FormUtil.GetIntValue(txtWriteTime); int time = FormUtil.GetIntValue(txtWriteTime);
int slaveId = FormUtil.GetIntValue(txtSlaveId); int slaveId = 0;
if (time > 0) if (time > 0)
{ {
IOManager.instance.WriteSingleDO(deviceName, (byte)slaveId, (ushort)index, (IO_VALUE)value, time); IOManager.instance.WriteSingleDO(deviceName, (byte)slaveId, (ushort)index, (IO_VALUE)value, time);
...@@ -271,22 +260,22 @@ namespace OnlineStore.ACPackingStore ...@@ -271,22 +260,22 @@ namespace OnlineStore.ACPackingStore
private void btnTopUp_Click(object sender, EventArgs e) private void btnTopUp_Click(object sender, EventArgs e)
{ {
boxBean.CylinderMove(null, IO_Type.TopCylinder_Down, IO_Type.TopCylinder_Up); StoreManager.Store.CylinderMove(null, IO_Type.TopCylinder_Down, IO_Type.TopCylinder_Up);
} }
private void btnTopDown_Click(object sender, EventArgs e) private void btnTopDown_Click(object sender, EventArgs e)
{ {
boxBean.CylinderMove(null, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down); StoreManager.Store.CylinderMove(null, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down);
} }
private void btnNGDoorUp_Click(object sender, EventArgs e) private void btnNGDoorUp_Click(object sender, EventArgs e)
{ {
boxBean.CylinderMove(null, IO_Type.NGDoorCylinder_Down, IO_Type.NGDoowCylinder_Up); // StoreManager.Store.CylinderMove(null, IO_Type.NGDoorCylinder_Down, IO_Type.NGDoowCylinder_Up);
} }
private void btnNGDoorDown_Click(object sender, EventArgs e) private void btnNGDoorDown_Click(object sender, EventArgs e)
{ {
boxBean.CylinderMove(null, IO_Type.NGDoowCylinder_Up, IO_Type.NGDoorCylinder_Down); // StoreManager.Store.CylinderMove(null, IO_Type.NGDoowCylinder_Up, IO_Type.NGDoorCylinder_Down);
} }
private void btnCamerLed_Click(object sender, EventArgs e) private void btnCamerLed_Click(object sender, EventArgs e)
...@@ -304,35 +293,35 @@ namespace OnlineStore.ACPackingStore ...@@ -304,35 +293,35 @@ namespace OnlineStore.ACPackingStore
private void btnStoreOn_Click(object sender, EventArgs e) private void btnStoreOn_Click(object sender, EventArgs e)
{ {
BtnMove(btnStoreOn, "料仓运转ON", "料仓运转OFF", IO_Type.Run_Signal); // BtnMove(btnStoreOn, "料仓运转ON", "料仓运转OFF", IO_Type.Run_Signal);
} }
private void btnBlow_Click(object sender, EventArgs e) private void btnBlow_Click(object sender, EventArgs e)
{ {
BtnMove(btnBlow, "开始吹气", "停止吹气", IO_Type.StartOrStopBlow); // BtnMove(btnBlow, "开始吹气", "停止吹气", IO_Type.StartOrStopBlow);
} }
private void btnCloseCyDo_Click(object sender, EventArgs e) private void btnCloseCyDo_Click(object sender, EventArgs e)
{ {
boxBean.IOMove(IO_Type.EntranceDoor_Open, IO_VALUE.LOW); //StoreManager.Store.IOMove(IO_Type.EntranceDoor_Open, IO_VALUE.LOW);
boxBean.IOMove(IO_Type.EntranceDoor_Close, IO_VALUE.LOW); //StoreManager.Store.IOMove(IO_Type.EntranceDoor_Close, IO_VALUE.LOW);
boxBean.IOMove(IO_Type.TopCylinder_Down, IO_VALUE.LOW); //StoreManager.Store.IOMove(IO_Type.TopCylinder_Down, IO_VALUE.LOW);
boxBean.IOMove(IO_Type.TopCylinder_Up, IO_VALUE.LOW); //StoreManager.Store.IOMove(IO_Type.TopCylinder_Up, IO_VALUE.LOW);
boxBean.IOMove(IO_Type.NGDoorCylinder_Down, IO_VALUE.LOW); //StoreManager.Store.IOMove(IO_Type.NGDoorCylinder_Down, IO_VALUE.LOW);
boxBean.IOMove(IO_Type.NGDoowCylinder_Up, IO_VALUE.LOW); //StoreManager.Store.IOMove(IO_Type.NGDoowCylinder_Up, IO_VALUE.LOW);
// boxBean.IOMove(IO_Type.LocationCylinder_Down, IO_VALUE.LOW); // StoreManager.Store.IOMove(IO_Type.LocationCylinder_Down, IO_VALUE.LOW);
// boxBean.IOMove(IO_Type.LocationCylinder_Up, IO_VALUE.LOW); // StoreManager.Store.IOMove(IO_Type.LocationCylinder_Up, IO_VALUE.LOW);
} }
private void btnNgLine_Click(object sender, EventArgs e) private void btnNgLine_Click(object sender, EventArgs e)
{ {
boxBean.IOMove(IO_Type.NGLine_Run, IO_VALUE.HIGH); // StoreManager.Store.IOMove(IO_Type.NGLine_Run, IO_VALUE.HIGH);
} }
private void btnNGlineStop_Click(object sender, EventArgs e) private void btnNGlineStop_Click(object sender, EventArgs e)
{ {
boxBean.IOMove(IO_Type.NGLine_Run, IO_VALUE.LOW); // StoreManager.Store.IOMove(IO_Type.NGLine_Run, IO_VALUE.LOW);
} }
private void btnLineBack_Click(object sender, EventArgs e) private void btnLineBack_Click(object sender, EventArgs e)
......
...@@ -65,6 +65,8 @@ ...@@ -65,6 +65,8 @@
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.timer1 = new System.Windows.Forms.Timer(this.components); this.timer1 = new System.Windows.Forms.Timer(this.components);
this.扫码测试ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
this.tabControl1.SuspendLayout(); this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout(); this.tabPage1.SuspendLayout();
this.menuStrip1.SuspendLayout(); this.menuStrip1.SuspendLayout();
...@@ -302,7 +304,9 @@ ...@@ -302,7 +304,9 @@
this.toolStripMenuItem2, this.toolStripMenuItem2,
this.toolStripSeparator6, this.toolStripSeparator6,
this.二维码学习ToolStripMenuItem, this.二维码学习ToolStripMenuItem,
this.toolStripSeparator7}); this.toolStripSeparator7,
this.扫码测试ToolStripMenuItem,
this.toolStripSeparator9});
this.设置TToolStripMenuItem.Name = "设置TToolStripMenuItem"; this.设置TToolStripMenuItem.Name = "设置TToolStripMenuItem";
this.设置TToolStripMenuItem.Size = new System.Drawing.Size(91, 25); this.设置TToolStripMenuItem.Size = new System.Drawing.Size(91, 25);
this.设置TToolStripMenuItem.Text = "设备调试 "; this.设置TToolStripMenuItem.Text = "设备调试 ";
...@@ -388,6 +392,18 @@ ...@@ -388,6 +392,18 @@
this.timer1.Interval = 1000; this.timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick); this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
// //
// 扫码测试ToolStripMenuItem
//
this.扫码测试ToolStripMenuItem.Name = "扫码测试ToolStripMenuItem";
this.扫码测试ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
this.扫码测试ToolStripMenuItem.Text = "扫码测试";
this.扫码测试ToolStripMenuItem.Click += new System.EventHandler(this.扫码测试ToolStripMenuItem_Click);
//
// toolStripSeparator9
//
this.toolStripSeparator9.Name = "toolStripSeparator9";
this.toolStripSeparator9.Size = new System.Drawing.Size(177, 6);
//
// FrmStore // FrmStore
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
...@@ -455,6 +471,8 @@ ...@@ -455,6 +471,8 @@
private System.Windows.Forms.ToolStripSeparator toolStripSeparator8; private System.Windows.Forms.ToolStripSeparator toolStripSeparator8;
private System.Windows.Forms.CheckBox chbDoorCanMove; private System.Windows.Forms.CheckBox chbDoorCanMove;
private System.Windows.Forms.Label lblServerMsg; private System.Windows.Forms.Label lblServerMsg;
private System.Windows.Forms.ToolStripMenuItem 扫码测试ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator9;
} }
} }
...@@ -532,5 +532,26 @@ namespace OnlineStore.ACPackingStore ...@@ -532,5 +532,26 @@ namespace OnlineStore.ACPackingStore
} }
} }
private void 扫码测试ToolStripMenuItem_Click(object sender, EventArgs e)
{
store.IOMove(IO_Type.Camera_Led, IO_VALUE.HIGH);
List<string> codes = CodeManager.CameraScan(store.Config.GetCameraList(), store.Name);
store.IOMove(IO_Type.Camera_Led, IO_VALUE.LOW);
string result = "";
if (codes.Count > 0)
{
foreach (string s in codes)
{
result += s + "\r\n";
}
MessageBox.Show("扫到二维码:" + result);
LogUtil.info("扫到二维码:" + result);
}
else
{
MessageBox.Show("未扫到二维码");
}
}
} }
} }
...@@ -25,7 +25,7 @@ namespace OnlineStore.ACPackingStore ...@@ -25,7 +25,7 @@ namespace OnlineStore.ACPackingStore
private int SlvAddr = 0; private int SlvAddr = 0;
private string IoIp = ""; private string IoIp = "";
private int IoIndex = 0; private int IoIndex = 0;
public string Axis_Brake = IO_Type.Axis_Brake; public string Axis_Brake = IO_Type.UpdownAxis_Break;
private int subType = 0; private int subType = 0;
private System.Timers.Timer toolTimer = new System.Timers.Timer(); private System.Timers.Timer toolTimer = new System.Timers.Timer();
private string boxName = ""; private string boxName = "";
......
...@@ -126,12 +126,6 @@ ...@@ -126,12 +126,6 @@
<None Include="StoreConfig\linePositions_1.csv"> <None Include="StoreConfig\linePositions_1.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None> </None>
<None Include="StoreConfig\shelfPosition_1.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="StoreConfig\shelfPosition_2.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="StoreConfig\StoreConfig.csv"> <None Include="StoreConfig\StoreConfig.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None> </None>
......
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
DI,急停,SuddenStop_BTN,0,192.168.200.11,0,急停,X01,DI-01,0,
DI,复位,Reset_BTN,1,192.168.200.11,0,复位,X02,DI-02,0,
DI,自动启动,AutoRun_Single,2,192.168.200.11,0,自动启动,X03,DI-03,0,
DI,安全光栅,SafetyLightCurtains,3,192.168.200.11,0,安全光栅,X04,DI-04,0,
DI,进料口门上升端,Door_Up,4,192.168.200.11,0,进料口门上升端,X05,DI-05,0,
DI,进料口门下降端,Door_Down,5,192.168.200.11,0,进料口门下降端,X06,DI-06,0,
DI,抓取气缸上升端,ClampingDisc_Up,6,192.168.200.11,0,抓取气缸上升端,X07,DI-07,0,
DI,抓取气缸下降端,ClampingDisc_Down,7,192.168.200.11,0,抓取气缸下降端,X08,DI-08,0,
DI,料盘宽度检测1,WidthCheck1,8,192.168.200.11,0,料盘宽度检测1,X09,DI-09,0,
DI,料盘宽度检测2,WidthCheck2,9,192.168.200.11,0,料盘宽度检测2,X10,DI-10,0,
DI,料盘检测1(上料机构),TrayCheck_LoadMaterial,10,192.168.200.11,0,料盘检测1(上料机构),X11,DI-11,0,
DI,上料机构出料检测,OutCheck,11,192.168.200.11,0,上料机构出料检测,X12,DI-12,0,
DI,门锁气缸打开端,BatchDoor_Open,12,192.168.200.11,0,门锁气缸打开端,X13,DI-13,0,
DI,门锁气缸关闭端,BatchDoor_Close,13,192.168.200.11,0,门锁气缸关闭端,X14,DI-14,0,
DI,料盘检测2(料叉机构),TrayCheck_Fixture,14,192.168.200.11,0,料盘检测2(料叉机构),X15,DI-15,0,
DI,压紧机构计量检测,CompressAxis_Check,15,192.168.200.11,0,压紧机构计量检测,X16,DI-16,0,
DO,自动指示灯,AutoRun_HddLed,0,192.168.200.11,0,自动指示灯,Y01,DO-01,0,
DO,故障指示灯,Alarm_HddLed,1,192.168.200.11,0,故障指示灯,Y02,DO-02,0,
DO,待机指示灯,RunSign_HddLed,2,192.168.200.11,0,待机指示灯,Y03,DO-03,0,
DO,吹气SOL ON,StartOrStopBlow,3,192.168.200.11,0,吹气SOL ON,Y04,DO-04,0,
DO,料仓运转ON,Run_Sign,4,192.168.200.11,0,料仓运转ON,Y05,DO-05,0,
DO,轴2刹车电源ON,Axis_Brake,5,192.168.200.11,0,轴2刹车电源ON,Y06,DO-06,0,
DO,相机照明开,CameraLight_Power,6,192.168.200.11,0,相机照明开,Y07,DO-07,0,
,备用,,7,192.168.200.11,0,备用,Y08,DO-08,0,
DO,进料口门上升SOL,Door_Up,8,192.168.200.11,0,进料口门上升SOL,Y09,DO-09,0,
DO,进料口门下降SOL,Door_Down,9,192.168.200.11,0,进料口门下降SOL,Y10,DO-10,0,
DO,抓取气缸上升SOL,ClampingDisc_Up,10,192.168.200.11,0,抓取气缸上升SOL,Y11,DO-11,0,
DO,抓取气缸下降SOL,ClampingDisc_Down,11,192.168.200.11,0,抓取气缸下降SOL,Y12,DO-12,0,
DO,门锁气缸打开SOL,BatchDoor_Open,12,192.168.200.11,0,门锁气缸打开SOL,Y13,DO-13,0,
DO,门锁气缸关闭SOL,BatchDoor_Close,13,192.168.200.11,0,门锁气缸关闭SOL,Y14,DO-14,0,
DO,门禁功能屏蔽,DisableDoorControl,14,192.168.200.11,0,门禁功能屏蔽,Y15,DO-15,0,
DO,报警蜂鸣器,Buzzer_Sign,15,192.168.200.11,0,报警蜂鸣器,Y16,DO-16,0,
DI,上料机构门关闭,DoorClose_LoadMaterial,0,192.168.200.12,0,上料机构门关闭,X21,DI-21,0,
DI,气压检测,Airpressure_Check,1,192.168.200.12,0,气压检测,X22,DI-22,0,
DI,左侧门关闭,LeftDoorColse_Single,2,192.168.200.12,0,左侧门关闭,X23,DI-23,0,
DI,右侧门关闭,RightDoorColse_Single,3,192.168.200.12,0,右侧门关闭,X24,DI-24,0,
DI,门锁气缸打开端2,BatchDoor_Open2,4,192.168.200.12,0,门锁气缸打开端2,X25,DI-25,0,
DI,门锁气缸关闭端2,BatchDoor_Close2,5,192.168.200.12,0,门锁气缸关闭端2,X26,DI-26,0,
DI,上料机构上极限,BatchAxis_Limit,6,192.168.200.12,0,上料机构上极限,X27,DI-27,0,
DI,入料口料盘检测,TrayCheck_Door,7,192.168.200.12,0,入料口料盘检测,X28,DI-28,0,
DI,夹爪气缸夹紧端,Clamping_Work,8,192.168.200.12,0,夹爪气缸夹紧端,X29,DI-29,0,
DI,夹爪气缸放松端,Clamping_Relax,9,192.168.200.12,0,夹爪气缸放松端,X30,DI-30,0,
,,,10,192.168.200.12,0,,X31,DI-31,0,
,,,11,192.168.200.12,0,,X32,DI-32,0,
,,,12,192.168.200.12,0,,X33,DI-33,0,
,,,13,192.168.200.12,0,,X34,DI-34,0,
,,,14,192.168.200.12,0,,X35,DI-35,0,
,,,15,192.168.200.12,0,,X36,DI-36,0,
DO,夹爪气缸夹紧SOL,Clamping_Work,0,192.168.200.12,0,,Y21,DO-21,0,
DO,夹爪气缸放松SOL,Clamping_Relax,1,192.168.200.12,0,,Y22,DO-22,0,
,,,2,192.168.200.12,0,,Y23,DO-23,0,
,,,3,192.168.200.12,0,,Y24,DO-24,0,
,,,4,192.168.200.12,0,,Y25,DO-25,0,
,,,5,192.168.200.12,0,,Y26,DO-26,0,
,,,6,192.168.200.12,0,,Y27,DO-27,0,
,,,7,192.168.200.12,0,,Y28,DO-28,0,
,,,8,192.168.200.12,0,,Y29,DO-29,0,
,,,9,192.168.200.12,0,,Y30,DO-30,0,
,,,10,192.168.200.12,0,,Y31,DO-31,0,
,,,11,192.168.200.12,0,,Y32,DO-32,0,
,,,12,192.168.200.12,0,,Y33,DO-33,0,
,,,13,192.168.200.12,0,,Y34,DO-34,0,
,,,14,192.168.200.12,0,,Y35,DO-35,0,
,,,15,192.168.200.12,0,,Y36,DO-36,0,
PRO,IO模块对应的DI数量,IO_DILength,192.168.200.21#16;192.168.200.22#16,,,,,, ,
PRO,模块对应的DO数量,IO_DOLength,192.168.200.21#16;192.168.200.22#16,,,,,,,
,,,,,,,,,,
AXIS,(轴一)旋转轴,Middle_Axis,1,COM1,0,,,,,
AXIS,(轴二)升降轴轴,UpDown_Axis,2,COM1,0,,,,,
AXIS,(轴三)进出轴,InOut_Axis,3,COM1,0,,,,,
AXIS,(轴四)压紧轴,Comp_Axis,4,COM1,0,,,,,
AXIS,(轴五)批量上下料轴,Batch_Axis,5,COM1,0,,,,,
,,,,,,,,,,
,,,,,,,,,,
PRO,升降轴 仓门位置P7(人工拿走盘的位置),UpDownAxis_Door_P7,343000,,,,,,,
PRO,升降轴 出库高点P2,UpDownAxis_OutHigh_P2,343000,,,,,,,
PRO,升降轴 出库低点P8,UpDownAxis_OutLow_P8,333700,,,,,,,
PRO,升降轴从吸盘下方接料后下降的高度,UpDownAxis_DownValue,10000,,,,,,,
PRO,升降轴 入库P1点集合,UpDownAxis_P1_List,8#393606;12#387000;16#380000;20#380000;24#382500;28#380000;32#370000;36#370000;40#370000;48#196500;52#196000;75#196000;,,,,,,,
PRO,旋转轴(轴一)P1 待机原位点,MiddleAxis_P1_Position,246300,,,,,,,
PRO,进出轴(轴三)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,,
PRO,压紧轴(轴四)P1待机原位点,CompressAxis_P1_Position,24900,,,,,,,
PRO,压紧轴(轴四)P2压紧点集合,CompressAxis_P2_List,8#417100;12#380300;16#360000;20#330000;24#326800;28#300000;32#200000;36#200000;40#200000;44#200000;48#196500;52#24900;75#24900;,,,,,,,
PRO,是否使用定位气缸,IsHasLocationCylinder,0,,,,,,,
PRO,是否有左右侧门,IsHasDoorLimit,1,,,,,,,
PRO,是否使用压紧轴(1=使用),IsHasCompress_Axis,1,,,,,,,
PRO,设备是否调试状态(1=调试,0=正常),IsInDebug,1,,,,,,,
PRO,默认的料盘宽度(不可更改),Default_TrayWidth,0,,,,, ,,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,180,,,,,,,
,,,,,,,,,,
PRO,预警温度,WarnTemperate,80,,,,,,,
PRO,预警湿度,WarnHumidity,80,,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,500,,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,2000,,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,2000,,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,1000,,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,1000,,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,2000,,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,200,,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,2000,,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,2000,,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,200,,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,2000,,,,,,,
PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,200,,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,2000,,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,2000,,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,200,,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,200,,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,2000,,,,,,,
PRO,升降轴(轴二)到仓门速度,UpDownAxis_Door_Speed,500,,,,,,,
PRO,升降轴(轴二)P1速度,UpDownAxis_P1_Speed,600,,,,,,,
PRO,升降轴(轴二)P2速度,UpDownAxis_P2_Speed,600,,,,,,,
PRO,升降轴(轴二)P3速度,UpDownAxis_P3_Speed,600,,,,,,,
PRO,升降轴(轴二)P4速度,UpDownAxis_P4_Speed,150,,,,,,,
PRO,升降轴(轴二)P5速度,UpDownAxis_P5_Speed,600,,,,,,,
PRO,升降轴(轴二)P6速度,UpDownAxis_P6_Speed,150,,,,,,,
PRO,升降轴(轴二)到仓门P7速度,UpDownAxis_P7_Speed,600,,,,,,,
PRO,升降轴(轴二)P8速度,UpDownAxis_P8_Speed,100,,,,,,,
PRO,旋转轴(轴一)P1速度,MiddleAxis_P1_Speed,600,,,,,,,
PRO,旋转轴(轴一)P2速度,MiddleAxis_P2_Speed,600,,,,,,,
PRO,进出轴(轴三)P1速度,InOutAxis_P1_Speed,200,,,,,,,
PRO,进出轴(轴三)P2速度,InOutAxis_P2_Speed,200,,,,,,,
PRO,进出轴(轴三)P3速度,InOutAxis_P3_Speed,200,,,,,, ,
PRO,(轴一)旋转轴最小误差脉冲值,MiddleAxis_ErrorCountMin,10,,,,,,,
PRO,(轴二)升降轴轴最小误差脉冲值,UpdownAxis_ErrorCountMin,10,,,,,,,
PRO,(轴三)进出轴最小误差脉冲值,InoutAxis_ErrorCountMin,10,,,,,,,
PRO,(轴一)旋转轴最大误差脉冲值,MiddleAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴二)升降轴轴最大误差脉冲值,UpdownAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴三)进出轴最大误差脉冲值,InoutAxis_ErrorCountMax,1000,,,,,,,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,, ,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,是否使用料盘检测信号,IsUse_Tray_Check,0,,,,,,,
PRO,(轴一)旋转轴最小限位,MiddleAxis_PositionMin,0,,,,,,,
PRO,(轴二)升降轴最小限位,UpdownAxis_PositionMin,0,,,,,,,
PRO,(轴三)进出轴最小限位,InoutAxis_PositionMin,0,,,,,,,
PRO,(轴一)旋转轴最大限位,MiddleAxis_PositionMax,0,,,,,,,
PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,,,
PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,, ,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,5,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,30,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,1,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM2,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
PRO,(轴五)上料轴目标速度,BatchAxis_TargetSpeed,800,,,,,,,
PRO,(轴五)上料轴慢速匀速上升速度,BatchAxis_SlowSpeed,80,,,,,,,
PRO,(轴五)上料轴加速度,BatchAxis_AddSpeed,300,,,,,,,
PRO,(轴五)上料轴减速度,BatchAxis_DelSpeed,300,,,,,,,
PRO,(轴五)上料轴原点低速,BatchAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴五)上料轴原点高速,BatchAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴五)上料轴原点加速度,BatchAxis_HomeAddSpeed,2000,,,,,, ,
PRO,(轴五)上料轴P1点(出库时接料盘的位置),BatchAxis_P1,1700000,,,,,, ,
PRO,(轴五)上料轴P2点(待机点),BatchAxis_P2,30000,,,,,,,
PRO,(轴五)上料轴P2速度,BatchAxis_P2_Speed,2000,,,,,,,
PRO,(轴五)上料轴最小误差脉冲值,BatchAxis_ErrorCountMin,10,,,,,,,
PRO,(轴五)上料轴最大误差脉冲值,BatchAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴五)上料轴最小限位,BatchAxis_PositionMin,0,,,,,,,
PRO,(轴五)上料轴最大限位,BatchAxis_PositionMax,0,,,,,,,
PRO,(轴五)上料轴P1速度,BatchAxis_P1_Speed,2000,,,,,,,
PRO,(轴五)上料轴出料时距离检测信号需要下降的高度,BatchAxis_OutDownPosition,30000,,,,,,,
PRO,(轴五)上料轴出料时检测到料盘需要下降的高度,BatchAxis_DownPosition2,150000,,,,,,,
PRO,(轴五)上料轴最最大料盘高度mm,到达后无法批量出库,BatchAxis_MaxHeight,250,,,,,,,
PRO,最后一盘料需要补充的高度,LastTrayAddHeight,0,,,,,,,
,,,,,,,,,,
PRO,(轴二)升降轴单盘入库抬升料盘的高度,UpdownAxis_UpPosition,3000,,,,,,,
PRO,(轴五)上料轴出库上升最大高度,BatchAxis_OutMaxValue,1610000,,,,,,,
,,,,,,,,,,
PRO,(轴四)压紧轴目标速度,CompAxis_TargetSpeed,200,,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,2000,,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,2000,,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,200,,,,,,,
PRO,(轴四)压紧轴原点高速,CompAxis_HomeHighSpeed,200,,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,2000,,,,,,,
PRO,(轴四)压紧轴P1速度,CompAxis_P1_Speed,500,,,,,,,
PRO,(轴四)压紧轴P2速度,CompAxis_P2_Speed,500,,,,,,,
PRO,(轴四)压紧轴P3速度,CompAxis_P3_Speed,500,,,,,,,
,,,,,,,,, ,
PRO,特殊二维码尺寸配置,CodeSizeConfig,XA=13x48#XB=13x32#FA=7x32,,,,,,,
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
DI,急停,SuddenStop_BTN,0,192.168.200.11,0,急停,X01,DI-01,0,
DI,复位,Reset_BTN,1,192.168.200.11,0,复位,X02,DI-02,0,
DI,自动启动,AutoRun_Single,2,192.168.200.11,0,自动启动,X03,DI-03,0,
DI,安全光栅,SafetyLightCurtains,3,192.168.200.11,0,安全光栅,X04,DI-04,0,
DI,进料口门上升端,Door_Up,4,192.168.200.11,0,进料口门上升端,X05,DI-05,0,
DI,进料口门下降端,Door_Down,5,192.168.200.11,0,进料口门下降端,X06,DI-06,0,
DI,抓取气缸上升端,ClampingDisc_Up,6,192.168.200.11,0,抓取气缸上升端,X07,DI-07,0,
DI,抓取气缸下降端,ClampingDisc_Down,7,192.168.200.11,0,抓取气缸下降端,X08,DI-08,0,
DI,料盘宽度检测1,WidthCheck1,8,192.168.200.11,0,料盘宽度检测1,X09,DI-09,0,
DI,料盘宽度检测2,WidthCheck2,9,192.168.200.11,0,料盘宽度检测2,X10,DI-10,0,
DI,料盘检测1(上料机构),TrayCheck_LoadMaterial,10,192.168.200.11,0,料盘检测1(上料机构),X11,DI-11,0,
DI,上料机构出料检测,OutCheck,11,192.168.200.11,0,上料机构出料检测,X12,DI-12,0,
DI,门锁气缸打开端,BatchDoor_Open,12,192.168.200.11,0,门锁气缸打开端,X13,DI-13,0,
DI,门锁气缸关闭端,BatchDoor_Close,13,192.168.200.11,0,门锁气缸关闭端,X14,DI-14,0,
DI,料盘检测2(料叉机构),TrayCheck_Fixture,14,192.168.200.11,0,料盘检测2(料叉机构),X15,DI-15,0,
DI,压紧机构计量检测,CompressAxis_Check,15,192.168.200.11,0,压紧机构计量检测,X16,DI-16,0,
DO,自动指示灯,AutoRun_HddLed,0,192.168.200.11,0,自动指示灯,Y01,DO-01,0,
DO,故障指示灯,Alarm_HddLed,1,192.168.200.11,0,故障指示灯,Y02,DO-02,0,
DO,待机指示灯,RunSign_HddLed,2,192.168.200.11,0,待机指示灯,Y03,DO-03,0,
DO,吹气SOL ON,StartOrStopBlow,3,192.168.200.11,0,吹气SOL ON,Y04,DO-04,0,
DO,料仓运转ON,Run_Sign,4,192.168.200.11,0,料仓运转ON,Y05,DO-05,0,
DO,轴2刹车电源ON,Axis_Brake,5,192.168.200.11,0,轴2刹车电源ON,Y06,DO-06,0,
DO,相机照明开,CameraLight_Power,6,192.168.200.11,0,相机照明开,Y07,DO-07,0,
DO,设备照明开,Device_Led,7,192.168.200.11,0,设备照明开,Y08,DO-08,0,
DO,进料口门上升SOL,Door_Up,8,192.168.200.11,0,进料口门上升SOL,Y09,DO-09,0,
DO,进料口门下降SOL,Door_Down,9,192.168.200.11,0,进料口门下降SOL,Y10,DO-10,0,
DO,抓取气缸上升SOL,ClampingDisc_Up,10,192.168.200.11,0,抓取气缸上升SOL,Y11,DO-11,0,
DO,抓取气缸下降SOL,ClampingDisc_Down,11,192.168.200.11,0,抓取气缸下降SOL,Y12,DO-12,0,
DO,门锁气缸打开SOL,BatchDoor_Open,12,192.168.200.11,0,门锁气缸打开SOL,Y13,DO-13,0,
DO,门锁气缸关闭SOL,BatchDoor_Close,13,192.168.200.11,0,门锁气缸关闭SOL,Y14,DO-14,0,
DO,门禁功能屏蔽,DisableDoorControl,14,192.168.200.11,0,门禁功能屏蔽,Y15,DO-15,0,
DO,报警蜂鸣器,Buzzer_Sign,15,192.168.200.11,0,报警蜂鸣器,Y16,DO-16,0,
DI,上料机构门关闭,DoorClose_LoadMaterial,0,192.168.200.12,0,上料机构门关闭,X21,DI-21,0,
DI,气压检测,Airpressure_Check,1,192.168.200.12,0,气压检测,X22,DI-22,0,
DI,左侧门关闭,LeftDoorColse_Single,2,192.168.200.12,0,左侧门关闭,X23,DI-23,0,
DI,右侧门关闭,RightDoorColse_Single,3,192.168.200.12,0,右侧门关闭,X24,DI-24,0,
DI,门锁气缸打开端2,BatchDoor_Open2,4,192.168.200.12,0,门锁气缸打开端2,X25,DI-25,0,
DI,门锁气缸关闭端2,BatchDoor_Close2,5,192.168.200.12,0,门锁气缸关闭端2,X26,DI-26,0,
DI,上料机构上极限,BatchAxis_Limit,6,192.168.200.12,0,上料机构上极限,X27,DI-27,0,
DI,入料口料盘检测,TrayCheck_Door,7,192.168.200.12,0,入料口料盘检测,X28,DI-28,0,
DI,夹爪气缸夹紧端,Clamping_Work,8,192.168.200.12,0,夹爪气缸夹紧端,X29,DI-29,0,
DI,夹爪气缸放松端,Clamping_Relax,9,192.168.200.12,0,夹爪气缸放松端,X30,DI-30,0,
DI,夹爪气缸料盘检测,Clamping_Check,10,192.168.200.12,0,夹爪气缸料盘检测,X31,DI-31,0,
,,,11,192.168.200.12,0,,X32,DI-32,0,
,,,12,192.168.200.12,0,,X33,DI-33,0,
,,,13,192.168.200.12,0,,X34,DI-34,0,
,,,14,192.168.200.12,0,,X35,DI-35,0,
,,,15,192.168.200.12,0,,X36,DI-36,0,
DO,夹爪气缸夹紧SOL,Clamping_Work,0,192.168.200.12,0,,Y21,DO-21,0,
DO,夹爪气缸放松SOL,Clamping_Relax,1,192.168.200.12,0,,Y22,DO-22,0,
,,,2,192.168.200.12,0,,Y23,DO-23,0,
,,,3,192.168.200.12,0,,Y24,DO-24,0,
,,,4,192.168.200.12,0,,Y25,DO-25,0,
,,,5,192.168.200.12,0,,Y26,DO-26,0,
,,,6,192.168.200.12,0,,Y27,DO-27,0,
,,,7,192.168.200.12,0,,Y28,DO-28,0,
,,,8,192.168.200.12,0,,Y29,DO-29,0,
,,,9,192.168.200.12,0,,Y30,DO-30,0,
,,,10,192.168.200.12,0,,Y31,DO-31,0,
,,,11,192.168.200.12,0,,Y32,DO-32,0,
,,,12,192.168.200.12,0,,Y33,DO-33,0,
,,,13,192.168.200.12,0,,Y34,DO-34,0,
,,,14,192.168.200.12,0,,Y35,DO-35,0,
,,,15,192.168.200.12,0,,Y36,DO-36,0,
PRO,IO模块对应的DI数量,IO_DILength,192.168.200.21#16;192.168.200.22#16,,,,,, ,
PRO,模块对应的DO数量,IO_DOLength,192.168.200.21#16;192.168.200.22#16,,,,,,,
,,,,,,,,,,
AXIS,(轴一)旋转轴,Middle_Axis,1,COM1,0,,,,,
AXIS,(轴二)升降轴轴,UpDown_Axis,2,COM1,0,,,,,
AXIS,(轴三)进出轴,InOut_Axis,3,COM1,0,,,,,
AXIS,(轴四)压紧轴,Comp_Axis,4,COM1,0,,,,,
AXIS,(轴五)批量上下料轴,Batch_Axis,5,COM1,0,,,,,
,,,,,,,,,,
,,,,,,,,,,
PRO,升降轴 仓门位置P7(人工拿走盘的位置),UpDownAxis_Door_P7,343000,,,,,,,
PRO,升降轴 出库高点P2,UpDownAxis_OutHigh_P2,343000,,,,,,,
PRO,升降轴 出库低点P8,UpDownAxis_OutLow_P8,333700,,,,,,,
PRO,升降轴从吸盘下方接料后下降的高度,UpDownAxis_DownValue,10000,,,,,,,
PRO,升降轴 入库P1点集合,UpDownAxis_P1_List,8#393606;12#387000;16#380000;20#380000;24#382500;28#380000;32#370000;36#370000;40#370000;48#196500;52#196000;75#196000;,,,,,,,
PRO,旋转轴(轴一)P1 待机原位点,MiddleAxis_P1_Position,246300,,,,,,,
PRO,进出轴(轴三)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,,
PRO,压紧轴(轴四)P1待机原位点,CompressAxis_P1_Position,24900,,,,,,,
PRO,压紧轴(轴四)P2压紧点集合,CompressAxis_P2_List,8#417100;12#380300;16#360000;20#330000;24#326800;28#300000;32#200000;36#200000;40#200000;44#200000;48#196500;52#24900;75#24900;,,,,,,,
PRO,是否使用定位气缸,IsHasLocationCylinder,0,,,,,,,
PRO,是否有左右侧门,IsHasDoorLimit,1,,,,,,,
PRO,是否使用压紧轴(1=使用),IsHasCompress_Axis,1,,,,,,,
PRO,设备是否调试状态(1=调试,0=正常),IsInDebug,1,,,,,,,
PRO,默认的料盘宽度(不可更改),Default_TrayWidth,0,,,,, ,,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,180,,,,,,,
,,,,,,,,,,
PRO,预警温度,WarnTemperate,80,,,,,,,
PRO,预警湿度,WarnHumidity,80,,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,500,,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,2000,,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,2000,,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,1000,,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,1000,,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,2000,,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,200,,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,2000,,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,2000,,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,200,,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,2000,,,,,,,
PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,200,,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,2000,,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,2000,,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,200,,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,200,,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,2000,,,,,,,
PRO,升降轴(轴二)到仓门速度,UpDownAxis_Door_Speed,500,,,,,,,
PRO,升降轴(轴二)P1速度,UpDownAxis_P1_Speed,600,,,,,,,
PRO,升降轴(轴二)P2速度,UpDownAxis_P2_Speed,600,,,,,,,
PRO,升降轴(轴二)P3速度,UpDownAxis_P3_Speed,600,,,,,,,
PRO,升降轴(轴二)P4速度,UpDownAxis_P4_Speed,150,,,,,,,
PRO,升降轴(轴二)P5速度,UpDownAxis_P5_Speed,600,,,,,,,
PRO,升降轴(轴二)P6速度,UpDownAxis_P6_Speed,150,,,,,,,
PRO,升降轴(轴二)到仓门P7速度,UpDownAxis_P7_Speed,600,,,,,,,
PRO,升降轴(轴二)P8速度,UpDownAxis_P8_Speed,100,,,,,,,
PRO,旋转轴(轴一)P1速度,MiddleAxis_P1_Speed,600,,,,,,,
PRO,旋转轴(轴一)P2速度,MiddleAxis_P2_Speed,600,,,,,,,
PRO,进出轴(轴三)P1速度,InOutAxis_P1_Speed,200,,,,,,,
PRO,进出轴(轴三)P2速度,InOutAxis_P2_Speed,200,,,,,,,
PRO,进出轴(轴三)P3速度,InOutAxis_P3_Speed,200,,,,,, ,
PRO,(轴一)旋转轴最小误差脉冲值,MiddleAxis_ErrorCountMin,10,,,,,,,
PRO,(轴二)升降轴轴最小误差脉冲值,UpdownAxis_ErrorCountMin,10,,,,,,,
PRO,(轴三)进出轴最小误差脉冲值,InoutAxis_ErrorCountMin,10,,,,,,,
PRO,(轴一)旋转轴最大误差脉冲值,MiddleAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴二)升降轴轴最大误差脉冲值,UpdownAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴三)进出轴最大误差脉冲值,InoutAxis_ErrorCountMax,1000,,,,,,,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,, ,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,是否使用料盘检测信号,IsUse_Tray_Check,0,,,,,,,
PRO,(轴一)旋转轴最小限位,MiddleAxis_PositionMin,0,,,,,,,
PRO,(轴二)升降轴最小限位,UpdownAxis_PositionMin,0,,,,,,,
PRO,(轴三)进出轴最小限位,InoutAxis_PositionMin,0,,,,,,,
PRO,(轴一)旋转轴最大限位,MiddleAxis_PositionMax,0,,,,,,,
PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,,,
PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,, ,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,5,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,30,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,1,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM2,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
PRO,(轴五)上料轴目标速度,BatchAxis_TargetSpeed,800,,,,,,,
PRO,(轴五)上料轴加速度,BatchAxis_AddSpeed,300,,,,,,,
PRO,(轴五)上料轴减速度,BatchAxis_DelSpeed,300,,,,,,,
PRO,(轴五)上料轴原点低速,BatchAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴五)上料轴原点高速,BatchAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴五)上料轴原点加速度,BatchAxis_HomeAddSpeed,2000,,,,,, ,
PRO,(轴五)上料轴P1点(出库时接料盘的位置),BatchAxis_P1,1700000,,,,,, ,
PRO,(轴五)上料轴P2点(待机点),BatchAxis_P2,30000,,,,,,,
PRO,(轴五)上料轴P3点(上料目标位置),BatchAxis_P3,1700000,,,,,,,
PRO,(轴五)上料轴最小误差脉冲值,BatchAxis_ErrorCountMin,10,,,,,,,
PRO,(轴五)上料轴最大误差脉冲值,BatchAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴五)上料轴最小限位,BatchAxis_PositionMin,0,,,,,,,
PRO,(轴五)上料轴最大限位,BatchAxis_PositionMax,0,,,,,,,
PRO,(轴五)上料轴P1速度,BatchAxis_P1_Speed,2000,,,,,,,
PRO,(轴五)上料轴P2速度,BatchAxis_P2_Speed,2000,,,,,,,
PRO,(轴五)上料轴慢速匀速上升速度,BatchAxis_SlowSpeed,80,,,,,,,
PRO,(轴五)上料轴出料时距离检测信号需要下降的高度,BatchAxis_OutDownPosition,30000,,,,,,,
PRO,(轴五)上料轴出料时检测到料盘需要下降的高度,BatchAxis_DownPosition2,150000,,,,,,,
PRO,(轴五)上料轴最最大料盘高度mm,到达后无法批量出库,BatchAxis_MaxHeight,250,,,,,,,
PRO,最后一盘料需要补充的高度,LastTrayAddHeight,0,,,,,,,
,,,,,,,,,,
PRO,(轴二)升降轴单盘入库抬升料盘的高度,UpdownAxis_UpPosition,3000,,,,,,,
PRO,(轴五)上料轴出库上升最大高度,BatchAxis_OutMaxValue,1610000,,,,,,,
,,,,,,,,,,
PRO,(轴四)压紧轴目标速度,CompAxis_TargetSpeed,200,,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,2000,,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,2000,,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,200,,,,,,,
PRO,(轴四)压紧轴原点高速,CompAxis_HomeHighSpeed,200,,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,2000,,,,,,,
PRO,(轴四)压紧轴P1速度,CompAxis_P1_Speed,500,,,,,,,
PRO,(轴四)压紧轴P2速度,CompAxis_P2_Speed,500,,,,,,,
PRO,(轴四)压紧轴P3速度,CompAxis_P3_Speed,500,,,,,,,
,,,,,,,,, ,
PRO,特殊二维码尺寸配置,CodeSizeConfig,XA=13x48#XB=13x32#FA=7x32,,,,,,,
位置,优先级,高度,宽度,料仓ID,支持批量操作,中轴位置P2,升降轴库位出料前点P5,升降轴库位出料缓冲点P6,升降轴库位入料前点P3,升降轴库位入料缓冲点P4,进出轴库位点取料点P3,压紧轴压紧点P2,压紧轴压紧前点P3,进出轴仓门出料点P4,进出轴吸盘取料点P2,,,,,,,
1#AC1_0_1_1,513,48,13,1,0,246300,723600,735800,735800,723600,87000,196500,24900,101000,87000,,,,,,,
1#AC1_0_1_2,512,48,13,1,0,246300,787600,799800,799800,787600,87000,196500,24900,101000,87000,,,,,,,
1#AC1_0_1_3,511,48,13,1,0,246300,850100,862300,862300,850100,87000,196500,24900,101000,87000,,,,,,,
1#AC1_0_1_4,510,48,13,1,0,246300,914600,926800,926800,914600,87000,196500,24900,101000,87000,,,,,,,
1#AC1_0_1_5,509,48,13,1,0,246300,979600,991800,991800,979600,87000,196500,24900,101000,87000,,,,,,,
1#AC1_0_1_6,508,48,13,1,0,246300,1043700,1055900,1055900,1043700,87000,196500,24900,101000,87000,,,,,,,
1#AC1_0_1_7,507,48,13,1,0,246300,1106800,1119000,1119000,1106800,87000,196500,24900,101000,87000,,,,,,,
1#AC1_1_1_1,506,24,13,1,1,319300,543546,558246,558246,543546,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_2,505,24,13,1,1,319300,573668,588368,588368,573668,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_3,504,24,13,1,1,319300,604295,618995,618995,604295,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_4,503,24,13,1,1,319300,634168,648868,648868,634168,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_5,502,24,13,1,1,319300,663305,678005,678005,663305,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_6,501,24,13,1,1,319300,693480,708180,708180,693480,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_7,500,24,13,1,1,319300,724669,739369,739369,724669,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_8,499,24,13,1,1,319300,753854,768554,768554,753854,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_9,498,24,13,1,1,319300,784599,799299,799299,784599,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_10,497,24,13,1,1,319300,814168,828868,828868,814168,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_11,496,24,13,1,1,319300,844712,859412,859412,844712,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_12,495,24,13,1,1,319300,874627,889327,889327,874627,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_13,494,24,13,1,1,319300,905019,919719,919719,905019,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_14,493,24,13,1,1,319300,934896,949596,949596,934896,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_15,492,24,13,1,1,319300,964511,979211,979211,964511,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_16,491,24,13,1,1,319300,994896,1009596,1009596,994896,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_17,490,24,13,1,1,319300,1024488,1039188,1039188,1024488,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_18,489,24,13,1,1,319300,1053967,1068667,1068667,1053967,85000,326800,243100,101000,85000,,,,,,,
1#AC1_1_1_19,488,24,13,1,1,319300,1084800,1099500,1099500,1084800,85000,326800,243100,101000,85000,,,,,,,
1#AC1_2_1_1,487,12,13,1,1,388400,-4199,7001,7001,-4199,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_2,486,12,13,1,1,388400,18537,29737,29737,18537,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_3,485,12,13,1,1,388400,42204,53404,53404,42204,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_4,484,12,13,1,1,388400,66624,77824,77824,66624,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_5,483,12,13,1,1,388400,88702,99902,99902,88702,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_6,482,12,13,1,1,388400,112300,123500,123500,112300,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_7,481,12,13,1,1,388400,134588,145788,145788,134588,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_8,480,12,13,1,1,388400,158689,169889,169889,158689,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_9,479,12,13,1,1,388400,182239,193439,193439,182239,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_10,478,12,13,1,1,388400,205584,216784,216784,205584,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_11,477,12,13,1,1,388400,228002,239202,239202,228002,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_12,476,12,13,1,1,388400,251853,263053,263053,251853,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_13,475,12,13,1,1,388400,274961,286161,286161,274961,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_14,474,12,13,1,1,388400,298134,309334,309334,298134,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_15,473,12,13,1,1,388400,321764,332964,332964,321764,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_1_16,472,12,13,1,1,388400,344097,355297,355297,344097,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_1,471,12,13,1,1,388400,369382,380582,380582,369382,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_2,470,12,13,1,1,388400,391065,402265,402265,391065,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_3,469,12,13,1,1,388400,414501,425701,425701,414501,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_4,468,12,13,1,1,388400,437712,448912,448912,437712,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_5,467,12,13,1,1,388400,461829,473029,473029,461829,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_6,466,12,13,1,1,388400,484602,495802,495802,484602,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_7,465,12,13,1,1,388400,508277,519477,519477,508277,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_8,464,12,13,1,1,388400,531583,542783,542783,531583,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_9,463,12,13,1,1,388400,554570,565770,565770,554570,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_10,462,12,13,1,1,388400,577468,588668,588668,577468,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_11,461,12,13,1,1,388400,601237,612437,612437,601237,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_12,460,12,13,1,1,388400,625112,636312,636312,625112,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_13,459,12,13,1,1,388400,647860,659060,659060,647860,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_14,458,12,13,1,1,388400,671269,682469,682469,671269,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_15,457,12,13,1,1,388400,695275,706475,706475,695275,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_2_16,456,12,13,1,1,388400,717028,728228,728228,717028,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_1,455,12,13,1,1,388400,740946,752146,752146,740946,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_2,454,12,13,1,1,388400,764565,775765,775765,764565,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_3,453,12,13,1,1,388400,787973,799173,799173,787973,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_4,452,12,13,1,1,388400,811324,822524,822524,811324,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_5,451,12,13,1,1,388400,834312,845512,845512,834312,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_6,450,12,13,1,1,388400,857660,868860,868860,857660,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_7,449,12,13,1,1,388400,880417,891617,891617,880417,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_8,448,12,13,1,1,388400,904293,915493,915493,904293,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_9,447,12,13,1,1,388400,927454,938654,938654,927454,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_10,446,12,13,1,1,388400,950465,961665,961665,950465,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_11,445,12,13,1,1,388400,973919,985119,985119,973919,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_12,444,12,13,1,1,388400,997333,1008533,1008533,997333,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_13,443,12,13,1,1,388400,1019947,1031147,1031147,1019947,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_14,442,12,13,1,1,388400,1044041,1055241,1055241,1044041,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_15,441,12,13,1,1,388400,1067540,1078740,1078740,1067540,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_16,440,12,13,1,1,388400,1089353,1100553,1100553,1089353,85000,380400,295400,101000,85000,,,,,,,
1#AC1_2_3_17,439,12,13,1,1,388400,1110701,1121901,1121901,1110701,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_1,438,12,13,1,1,462400,-4199,7001,7001,-4199,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_2,437,12,13,1,1,462400,18537,29737,29737,18537,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_3,436,12,13,1,1,462400,42204,53404,53404,42204,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_4,435,12,13,1,1,462400,66624,77824,77824,66624,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_5,434,12,13,1,1,462400,88702,99902,99902,88702,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_6,433,12,13,1,1,462400,112300,123500,123500,112300,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_7,432,12,13,1,1,462400,134588,145788,145788,134588,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_8,431,12,13,1,1,462400,158689,169889,169889,158689,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_9,430,12,13,1,1,462400,182239,193439,193439,182239,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_10,429,12,13,1,1,462400,205584,216784,216784,205584,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_11,428,12,13,1,1,462400,228002,239202,239202,228002,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_12,427,12,13,1,1,462400,251853,263053,263053,251853,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_13,426,12,13,1,1,462400,274961,286161,286161,274961,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_14,425,12,13,1,1,462400,298134,309334,309334,298134,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_15,424,12,13,1,1,462400,321764,332964,332964,321764,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_1_16,423,12,13,1,1,462400,344097,355297,355297,344097,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_1,422,12,13,1,1,462400,369382,380582,380582,369382,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_2,421,12,13,1,1,462400,391065,402265,402265,391065,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_3,420,12,13,1,1,462400,414501,425701,425701,414501,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_4,419,12,13,1,1,462400,437712,448912,448912,437712,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_5,418,12,13,1,1,462400,461829,473029,473029,461829,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_6,417,12,13,1,1,462400,484602,495802,495802,484602,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_7,416,12,13,1,1,462400,508277,519477,519477,508277,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_8,415,12,13,1,1,462400,531583,542783,542783,531583,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_9,414,12,13,1,1,462400,554570,565770,565770,554570,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_10,413,12,13,1,1,462400,577468,588668,588668,577468,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_11,412,12,13,1,1,462400,601237,612437,612437,601237,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_12,411,12,13,1,1,462400,625112,636312,636312,625112,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_13,410,12,13,1,1,462400,647860,659060,659060,647860,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_14,409,12,13,1,1,462400,671269,682469,682469,671269,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_15,408,12,13,1,1,462400,695275,706475,706475,695275,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_2_16,407,12,13,1,1,462400,717028,728228,728228,717028,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_1,406,12,13,1,1,462400,740946,752146,752146,740946,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_2,405,12,13,1,1,462400,764565,775765,775765,764565,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_3,404,12,13,1,1,462400,787973,799173,799173,787973,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_4,403,12,13,1,1,462400,811324,822524,822524,811324,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_5,402,12,13,1,1,462400,834312,845512,845512,834312,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_6,401,12,13,1,1,462400,857660,868860,868860,857660,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_7,400,12,13,1,1,462400,880417,891617,891617,880417,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_8,399,12,13,1,1,462400,904293,915493,915493,904293,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_9,398,12,13,1,1,462400,927454,938654,938654,927454,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_10,397,12,13,1,1,462400,950465,961665,961665,950465,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_11,396,12,13,1,1,462400,973919,985119,985119,973919,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_12,395,12,13,1,1,462400,997333,1008533,1008533,997333,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_13,394,12,13,1,1,462400,1019947,1031147,1031147,1019947,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_14,393,12,13,1,1,462400,1044041,1055241,1055241,1044041,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_15,392,12,13,1,1,462400,1067540,1078740,1078740,1067540,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_16,391,12,13,1,1,462400,1089353,1100553,1100553,1089353,85000,380400,295400,101000,85000,,,,,,,
1#AC1_3_3_17,390,12,13,1,1,462400,1110701,1121901,1121901,1110701,85000,380400,295400,101000,85000,,,,,,,
1#AC1_4_1_1,389,24,7,1,1,537900,190,6390,6390,190,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_2,388,24,7,1,1,537900,26892,33092,33092,26892,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_3,387,24,7,1,1,537900,52857,59057,59057,52857,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_4,386,24,7,1,1,537900,78104,84304,84304,78104,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_5,385,24,7,1,1,537900,102793,108993,108993,102793,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_6,384,24,7,1,1,537900,129150,135350,135350,129150,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_7,383,24,7,1,1,537900,155079,161279,161279,155079,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_8,382,24,7,1,1,537900,180901,187101,187101,180901,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_9,381,24,7,1,1,537900,206416,212616,212616,206416,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_10,380,24,7,1,1,537900,231155,237355,237355,231155,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_11,379,24,7,1,1,537900,256560,262760,262760,256560,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_12,378,24,7,1,1,537900,282066,288266,288266,282066,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_13,377,24,7,1,1,537900,307710,313910,313910,307710,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_14,376,24,7,1,1,537900,332719,338919,338919,332719,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_1_15,375,24,7,1,1,537900,358227,364427,364427,358227,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_1,374,24,7,1,1,537900,384088,390288,390288,384088,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_2,373,24,7,1,1,537900,409696,415896,415896,409696,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_3,372,24,7,1,1,537900,436220,442420,442420,436220,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_4,371,24,7,1,1,537900,461388,467588,467588,461388,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_5,370,24,7,1,1,537900,486476,492676,492676,486476,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_6,369,24,7,1,1,537900,512340,518540,518540,512340,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_7,368,24,7,1,1,537900,537959,544159,544159,537959,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_8,367,24,7,1,1,537900,562942,569142,569142,562942,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_9,366,24,7,1,1,537900,588856,595056,595056,588856,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_10,365,24,7,1,1,537900,613994,620194,620194,613994,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_11,364,24,7,1,1,537900,640091,646291,646291,640091,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_12,363,24,7,1,1,537900,664937,671137,671137,664937,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_13,362,24,7,1,1,537900,690957,697157,697157,690957,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_14,361,24,7,1,1,537900,716428,722628,722628,716428,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_2_15,360,24,7,1,1,537900,741449,747649,747649,741449,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_1,359,24,7,1,1,537900,767146,773346,773346,767146,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_2,358,24,7,1,1,537900,792480,798680,798680,792480,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_3,357,24,7,1,1,537900,817999,824199,824199,817999,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_4,356,24,7,1,1,537900,844056,850256,850256,844056,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_5,355,24,7,1,1,537900,869060,875260,875260,869060,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_6,354,24,7,1,1,537900,894071,900271,900271,894071,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_7,353,24,7,1,1,537900,920442,926642,926642,920442,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_8,352,24,7,1,1,537900,945826,952026,952026,945826,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_9,351,24,7,1,1,537900,971549,977749,977749,971549,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_10,350,24,7,1,1,537900,997018,1003218,1003218,997018,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_11,349,24,7,1,1,537900,1022357,1028557,1028557,1022357,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_12,348,24,7,1,1,537900,1047810,1054010,1054010,1047810,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_13,347,24,7,1,1,537900,1072975,1079175,1079175,1072975,77000,341100,273400,101000,87000,,,,,,,
1#AC1_4_3_14,346,24,7,1,1,537900,1098330,1104530,1104530,1098330,77000,341100,273400,101000,87000,,,,,,,
1#AC1_5_1_1,345,8,7,1,1,4100,1900,8000,8000,1900,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_2,344,8,7,1,1,4100,17800,23900,23900,17800,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_3,343,8,7,1,1,4100,35479,41579,41579,35479,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_4,342,8,7,1,1,4100,52118,58218,58218,52118,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_5,341,8,7,1,1,4100,69200,75300,75300,69200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_6,340,8,7,1,1,4100,84973,91073,91073,84973,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_7,339,8,7,1,1,4100,100777,106877,106877,100777,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_8,338,8,7,1,1,4100,118798,124898,124898,118798,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_9,337,8,7,1,1,4100,133910,140010,140010,133910,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_10,336,8,7,1,1,4100,150598,156698,156698,150598,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_11,335,8,7,1,1,4100,167286,173386,173386,167286,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_12,334,8,7,1,1,4100,183607,189707,189707,183607,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_13,333,8,7,1,1,4100,200124,206224,206224,200124,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_14,332,8,7,1,1,4100,217782,223882,223882,217782,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_15,331,8,7,1,1,4100,233223,239323,239323,233223,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_16,330,8,7,1,1,4100,250177,256277,256277,250177,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_17,329,8,7,1,1,4100,266200,272300,272300,266200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_18,328,8,7,1,1,4100,282390,288490,288490,282390,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_19,327,8,7,1,1,4100,298936,305036,305036,298936,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_20,326,8,7,1,1,4100,315919,322019,322019,315919,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_21,325,8,7,1,1,4100,332315,338415,338415,332315,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_22,324,8,7,1,1,4100,348852,354952,354952,348852,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_1_23,323,8,7,1,1,4100,364368,370468,370468,364368,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_1,322,8,7,1,1,4100,381398,387498,387498,381398,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_2,321,8,7,1,1,4100,397686,403786,403786,397686,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_3,320,8,7,1,1,4100,414132,420232,420232,414132,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_4,319,8,7,1,1,4100,431520,437620,437620,431520,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_5,318,8,7,1,1,4100,447574,453674,453674,447574,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_6,317,8,7,1,1,4100,462774,468874,468874,462774,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_7,316,8,7,1,1,4100,480242,486342,486342,480242,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_8,315,8,7,1,1,4100,496551,502651,502651,496551,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_9,314,8,7,1,1,4100,513589,519689,519689,513589,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_10,313,8,7,1,1,4100,529814,535914,535914,529814,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_11,312,8,7,1,1,4100,545443,551543,551543,545443,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_12,311,8,7,1,1,4100,561930,568030,568030,561930,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_13,310,8,7,1,1,4100,578304,584404,584404,578304,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_14,309,8,7,1,1,4100,594700,600800,600800,594700,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_15,308,8,7,1,1,4100,611933,618033,618033,611933,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_16,307,8,7,1,1,4100,628567,634667,634667,628567,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_17,306,8,7,1,1,4100,644700,650800,650800,644700,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_18,305,8,7,1,1,4100,661379,667479,667479,661379,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_19,304,8,7,1,1,4100,678071,684171,684171,678071,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_20,303,8,7,1,1,4100,694342,700442,700442,694342,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_21,302,8,7,1,1,4100,711879,717979,717979,711879,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_22,301,8,7,1,1,4100,727617,733717,733717,727617,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_2_23,300,8,7,1,1,4100,743175,749275,749275,743175,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_1,299,8,7,1,1,4100,759675,765775,765775,759675,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_2,298,8,7,1,1,4100,775233,781333,781333,775233,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_3,297,8,7,1,1,4100,792362,798462,798462,792362,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_4,296,8,7,1,1,4100,809117,815217,815217,809117,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_5,295,8,7,1,1,4100,825666,831766,831766,825666,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_6,294,8,7,1,1,4100,841725,847825,847825,841725,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_7,293,8,7,1,1,4100,858192,864292,864292,858192,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_8,292,8,7,1,1,4100,874063,880163,880163,874063,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_9,291,8,7,1,1,4100,891013,897113,897113,891013,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_10,290,8,7,1,1,4100,907033,913133,913133,907033,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_11,289,8,7,1,1,4100,924542,930642,930642,924542,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_12,288,8,7,1,1,4100,941288,947388,947388,941288,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_13,287,8,7,1,1,4100,957139,963239,963239,957139,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_14,286,8,7,1,1,4100,973272,979372,979372,973272,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_15,285,8,7,1,1,4100,989581,995681,995681,989581,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_16,284,8,7,1,1,4100,1005681,1011781,1011781,1005681,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_17,283,8,7,1,1,4100,1023200,1029300,1029300,1023200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_18,282,8,7,1,1,4100,1039599,1045699,1045699,1039599,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_19,281,8,7,1,1,4100,1055958,1062058,1062058,1055958,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_20,280,8,7,1,1,4100,1072746,1078846,1078846,1072746,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_21,279,8,7,1,1,4100,1088792,1094892,1094892,1088792,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_22,278,8,7,1,1,4100,1105200,1111300,1111300,1105200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_5_3_23,277,8,7,1,1,4100,1121109,1127209,1127209,1121109,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_1,276,8,7,1,1,45300,1900,8000,8000,1900,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_2,275,8,7,1,1,45300,17800,23900,23900,17800,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_3,274,8,7,1,1,45300,35479,41579,41579,35479,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_4,273,8,7,1,1,45300,52118,58218,58218,52118,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_5,272,8,7,1,1,45300,69200,75300,75300,69200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_6,271,8,7,1,1,45300,84973,91073,91073,84973,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_7,270,8,7,1,1,45300,100777,106877,106877,100777,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_8,269,8,7,1,1,45300,118798,124898,124898,118798,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_9,268,8,7,1,1,45300,133910,140010,140010,133910,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_10,267,8,7,1,1,45300,150598,156698,156698,150598,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_11,266,8,7,1,1,45300,167286,173386,173386,167286,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_12,265,8,7,1,1,45300,183607,189707,189707,183607,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_13,264,8,7,1,1,45300,200124,206224,206224,200124,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_14,263,8,7,1,1,45300,217782,223882,223882,217782,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_15,262,8,7,1,1,45300,233223,239323,239323,233223,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_16,261,8,7,1,1,45300,250177,256277,256277,250177,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_17,260,8,7,1,1,45300,266200,272300,272300,266200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_18,259,8,7,1,1,45300,282390,288490,288490,282390,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_19,258,8,7,1,1,45300,298936,305036,305036,298936,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_20,257,8,7,1,1,45300,315919,322019,322019,315919,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_21,256,8,7,1,1,45300,332315,338415,338415,332315,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_22,255,8,7,1,1,45300,348852,354952,354952,348852,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_1_23,254,8,7,1,1,45300,364368,370468,370468,364368,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_1,253,8,7,1,1,45300,381398,387498,387498,381398,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_2,252,8,7,1,1,45300,397686,403786,403786,397686,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_3,251,8,7,1,1,45300,414132,420232,420232,414132,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_4,250,8,7,1,1,45300,431520,437620,437620,431520,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_5,249,8,7,1,1,45300,447574,453674,453674,447574,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_6,248,8,7,1,1,45300,462774,468874,468874,462774,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_7,247,8,7,1,1,45300,480242,486342,486342,480242,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_8,246,8,7,1,1,45300,496551,502651,502651,496551,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_9,245,8,7,1,1,45300,513589,519689,519689,513589,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_10,244,8,7,1,1,45300,529814,535914,535914,529814,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_11,243,8,7,1,1,45300,545443,551543,551543,545443,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_12,242,8,7,1,1,45300,561930,568030,568030,561930,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_13,241,8,7,1,1,45300,578304,584404,584404,578304,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_14,240,8,7,1,1,45300,594700,600800,600800,594700,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_15,239,8,7,1,1,45300,611933,618033,618033,611933,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_16,238,8,7,1,1,45300,628567,634667,634667,628567,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_17,237,8,7,1,1,45300,644700,650800,650800,644700,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_18,236,8,7,1,1,45300,661379,667479,667479,661379,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_19,235,8,7,1,1,45300,678071,684171,684171,678071,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_20,234,8,7,1,1,45300,694342,700442,700442,694342,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_21,233,8,7,1,1,45300,711879,717979,717979,711879,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_22,232,8,7,1,1,45300,727617,733717,733717,727617,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_2_23,231,8,7,1,1,45300,743175,749275,749275,743175,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_1,230,8,7,1,1,45300,759675,765775,765775,759675,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_2,229,8,7,1,1,45300,775233,781333,781333,775233,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_3,228,8,7,1,1,45300,792362,798462,798462,792362,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_4,227,8,7,1,1,45300,809117,815217,815217,809117,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_5,226,8,7,1,1,45300,825666,831766,831766,825666,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_6,225,8,7,1,1,45300,841725,847825,847825,841725,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_7,224,8,7,1,1,45300,858192,864292,864292,858192,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_8,223,8,7,1,1,45300,874063,880163,880163,874063,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_9,222,8,7,1,1,45300,891013,897113,897113,891013,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_10,221,8,7,1,1,45300,907033,913133,913133,907033,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_11,220,8,7,1,1,45300,924542,930642,930642,924542,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_12,219,8,7,1,1,45300,941288,947388,947388,941288,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_13,218,8,7,1,1,45300,957139,963239,963239,957139,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_14,217,8,7,1,1,45300,973272,979372,979372,973272,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_15,216,8,7,1,1,45300,989581,995681,995681,989581,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_16,215,8,7,1,1,45300,1005681,1011781,1011781,1005681,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_17,214,8,7,1,1,45300,1023200,1029300,1029300,1023200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_18,213,8,7,1,1,45300,1039599,1045699,1045699,1039599,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_19,212,8,7,1,1,45300,1055958,1062058,1062058,1055958,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_20,211,8,7,1,1,45300,1072746,1078846,1078846,1072746,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_21,210,8,7,1,1,45300,1088792,1094892,1094892,1088792,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_22,209,8,7,1,1,45300,1105200,1111300,1111300,1105200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_6_3_23,208,8,7,1,1,45300,1121109,1127209,1127209,1121109,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_1,207,8,7,1,1,88300,200,6300,6300,200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_2,206,8,7,1,1,88300,16100,22200,22200,16100,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_3,205,8,7,1,1,88300,33779,39879,39879,33779,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_4,204,8,7,1,1,88300,50418,56518,56518,50418,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_5,203,8,7,1,1,88300,67500,73600,73600,67500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_6,202,8,7,1,1,88300,83273,89373,89373,83273,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_7,201,8,7,1,1,88300,99077,105177,105177,99077,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_8,200,8,7,1,1,88300,117098,123198,123198,117098,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_9,199,8,7,1,1,88300,132210,138310,138310,132210,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_10,198,8,7,1,1,88300,148898,154998,154998,148898,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_11,197,8,7,1,1,88300,165586,171686,171686,165586,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_12,196,8,7,1,1,88300,181907,188007,188007,181907,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_13,195,8,7,1,1,88300,198424,204524,204524,198424,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_14,194,8,7,1,1,88300,216082,222182,222182,216082,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_15,193,8,7,1,1,88300,231523,237623,237623,231523,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_16,192,8,7,1,1,88300,248477,254577,254577,248477,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_17,191,8,7,1,1,88300,264500,270600,270600,264500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_18,190,8,7,1,1,88300,280690,286790,286790,280690,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_19,189,8,7,1,1,88300,297236,303336,303336,297236,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_20,188,8,7,1,1,88300,314219,320319,320319,314219,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_21,187,8,7,1,1,88300,330615,336715,336715,330615,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_22,186,8,7,1,1,88300,347152,353252,353252,347152,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_1_23,185,8,7,1,1,88300,362668,368768,368768,362668,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_1,184,8,7,1,1,88300,379698,385798,385798,379698,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_2,183,8,7,1,1,88300,395986,402086,402086,395986,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_3,182,8,7,1,1,88300,412432,418532,418532,412432,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_4,181,8,7,1,1,88300,429820,435920,435920,429820,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_5,180,8,7,1,1,88300,445874,451974,451974,445874,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_6,179,8,7,1,1,88300,461074,467174,467174,461074,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_7,178,8,7,1,1,88300,478542,484642,484642,478542,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_8,177,8,7,1,1,88300,494851,500951,500951,494851,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_9,176,8,7,1,1,88300,511889,517989,517989,511889,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_10,175,8,7,1,1,88300,528114,534214,534214,528114,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_11,174,8,7,1,1,88300,543743,549843,549843,543743,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_12,173,8,7,1,1,88300,560230,566330,566330,560230,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_13,172,8,7,1,1,88300,576604,582704,582704,576604,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_14,171,8,7,1,1,88300,593000,599100,599100,593000,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_15,170,8,7,1,1,88300,610233,616333,616333,610233,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_16,169,8,7,1,1,88300,626867,632967,632967,626867,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_17,168,8,7,1,1,88300,643000,649100,649100,643000,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_18,167,8,7,1,1,88300,659679,665779,665779,659679,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_19,166,8,7,1,1,88300,676371,682471,682471,676371,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_20,165,8,7,1,1,88300,692642,698742,698742,692642,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_21,164,8,7,1,1,88300,710179,716279,716279,710179,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_22,163,8,7,1,1,88300,725917,732017,732017,725917,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_2_23,162,8,7,1,1,88300,741475,747575,747575,741475,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_1,161,8,7,1,1,88300,757975,764075,764075,757975,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_2,160,8,7,1,1,88300,773533,779633,779633,773533,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_3,159,8,7,1,1,88300,790662,796762,796762,790662,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_4,158,8,7,1,1,88300,807417,813517,813517,807417,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_5,157,8,7,1,1,88300,823966,830066,830066,823966,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_6,156,8,7,1,1,88300,840025,846125,846125,840025,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_7,155,8,7,1,1,88300,856492,862592,862592,856492,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_8,154,8,7,1,1,88300,872363,878463,878463,872363,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_9,153,8,7,1,1,88300,889313,895413,895413,889313,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_10,152,8,7,1,1,88300,905333,911433,911433,905333,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_11,151,8,7,1,1,88300,922842,928942,928942,922842,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_12,150,8,7,1,1,88300,939588,945688,945688,939588,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_13,149,8,7,1,1,88300,955439,961539,961539,955439,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_14,148,8,7,1,1,88300,971572,977672,977672,971572,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_15,147,8,7,1,1,88300,987881,993981,993981,987881,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_16,146,8,7,1,1,88300,1003981,1010081,1010081,1003981,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_17,145,8,7,1,1,88300,1021500,1027600,1027600,1021500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_18,144,8,7,1,1,88300,1037899,1043999,1043999,1037899,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_19,143,8,7,1,1,88300,1054258,1060358,1060358,1054258,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_20,142,8,7,1,1,88300,1071046,1077146,1077146,1071046,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_21,141,8,7,1,1,88300,1087092,1093192,1093192,1087092,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_22,140,8,7,1,1,88300,1103500,1109600,1109600,1103500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_7_3_23,139,8,7,1,1,88300,1119409,1125509,1125509,1119409,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_1,138,8,7,1,1,129900,200,6300,6300,200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_2,137,8,7,1,1,129900,16100,22200,22200,16100,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_3,136,8,7,1,1,129900,33779,39879,39879,33779,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_4,135,8,7,1,1,129900,50418,56518,56518,50418,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_5,134,8,7,1,1,129900,67500,73600,73600,67500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_6,133,8,7,1,1,129900,83273,89373,89373,83273,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_7,132,8,7,1,1,129900,99077,105177,105177,99077,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_8,131,8,7,1,1,129900,117098,123198,123198,117098,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_9,130,8,7,1,1,129900,132210,138310,138310,132210,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_10,129,8,7,1,1,129900,148898,154998,154998,148898,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_11,128,8,7,1,1,129900,165586,171686,171686,165586,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_12,127,8,7,1,1,129900,181907,188007,188007,181907,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_13,126,8,7,1,1,129900,198424,204524,204524,198424,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_14,125,8,7,1,1,129900,216082,222182,222182,216082,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_15,124,8,7,1,1,129900,231523,237623,237623,231523,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_16,123,8,7,1,1,129900,248477,254577,254577,248477,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_17,122,8,7,1,1,129900,264500,270600,270600,264500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_18,121,8,7,1,1,129900,280690,286790,286790,280690,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_19,120,8,7,1,1,129900,297236,303336,303336,297236,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_20,119,8,7,1,1,129900,314219,320319,320319,314219,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_21,118,8,7,1,1,129900,330615,336715,336715,330615,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_22,117,8,7,1,1,129900,347152,353252,353252,347152,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_1_23,116,8,7,1,1,129900,362668,368768,368768,362668,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_1,115,8,7,1,1,129900,379698,385798,385798,379698,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_2,114,8,7,1,1,129900,395986,402086,402086,395986,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_3,113,8,7,1,1,129900,412432,418532,418532,412432,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_4,112,8,7,1,1,129900,429820,435920,435920,429820,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_5,111,8,7,1,1,129900,445874,451974,451974,445874,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_6,110,8,7,1,1,129900,461074,467174,467174,461074,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_7,109,8,7,1,1,129900,478542,484642,484642,478542,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_8,108,8,7,1,1,129900,494851,500951,500951,494851,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_9,107,8,7,1,1,129900,511889,517989,517989,511889,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_10,106,8,7,1,1,129900,528114,534214,534214,528114,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_11,105,8,7,1,1,129900,543743,549843,549843,543743,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_12,104,8,7,1,1,129900,560230,566330,566330,560230,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_13,103,8,7,1,1,129900,576604,582704,582704,576604,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_14,102,8,7,1,1,129900,593000,599100,599100,593000,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_15,101,8,7,1,1,129900,610233,616333,616333,610233,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_16,100,8,7,1,1,129900,626867,632967,632967,626867,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_17,99,8,7,1,1,129900,643000,649100,649100,643000,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_18,98,8,7,1,1,129900,659679,665779,665779,659679,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_19,97,8,7,1,1,129900,676371,682471,682471,676371,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_20,96,8,7,1,1,129900,692642,698742,698742,692642,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_21,95,8,7,1,1,129900,710179,716279,716279,710179,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_22,94,8,7,1,1,129900,725917,732017,732017,725917,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_2_23,93,8,7,1,1,129900,741475,747575,747575,741475,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_1,92,8,7,1,1,129900,757975,764075,764075,757975,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_2,91,8,7,1,1,129900,773533,779633,779633,773533,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_3,90,8,7,1,1,129900,790662,796762,796762,790662,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_4,89,8,7,1,1,129900,807417,813517,813517,807417,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_5,88,8,7,1,1,129900,823966,830066,830066,823966,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_6,87,8,7,1,1,129900,840025,846125,846125,840025,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_7,86,8,7,1,1,129900,856492,862592,862592,856492,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_8,85,8,7,1,1,129900,872363,878463,878463,872363,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_9,84,8,7,1,1,129900,889313,895413,895413,889313,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_10,83,8,7,1,1,129900,905333,911433,911433,905333,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_11,82,8,7,1,1,129900,922842,928942,928942,922842,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_12,81,8,7,1,1,129900,939588,945688,945688,939588,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_13,80,8,7,1,1,129900,955439,961539,961539,955439,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_14,79,8,7,1,1,129900,971572,977672,977672,971572,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_15,78,8,7,1,1,129900,987881,993981,993981,987881,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_16,77,8,7,1,1,129900,1003981,1010081,1010081,1003981,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_17,76,8,7,1,1,129900,1021500,1027600,1027600,1021500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_18,75,8,7,1,1,129900,1037899,1043999,1043999,1037899,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_19,74,8,7,1,1,129900,1054258,1060358,1060358,1054258,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_20,73,8,7,1,1,129900,1071046,1077146,1077146,1071046,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_21,72,8,7,1,1,129900,1087092,1093192,1093192,1087092,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_22,71,8,7,1,1,129900,1103500,1109600,1109600,1103500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_8_3_23,70,8,7,1,1,129900,1119409,1125509,1125509,1119409,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_1,69,8,7,1,1,173300,200,6300,6300,200,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_2,68,8,7,1,1,173300,16100,22200,22200,16100,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_3,67,8,7,1,1,173300,33779,39879,39879,33779,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_4,66,8,7,1,1,173300,50418,56518,56518,50418,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_5,65,8,7,1,1,173300,67500,73600,73600,67500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_6,64,8,7,1,1,173300,83273,89373,89373,83273,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_7,63,8,7,1,1,173300,99077,105177,105177,99077,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_8,62,8,7,1,1,173300,117098,123198,123198,117098,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_9,61,8,7,1,1,173300,132210,138310,138310,132210,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_10,60,8,7,1,1,173300,148898,154998,154998,148898,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_11,59,8,7,1,1,173300,165586,171686,171686,165586,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_12,58,8,7,1,1,173300,181907,188007,188007,181907,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_13,57,8,7,1,1,173300,198424,204524,204524,198424,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_14,56,8,7,1,1,173300,216082,222182,222182,216082,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_15,55,8,7,1,1,173300,231523,237623,237623,231523,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_16,54,8,7,1,1,173300,248477,254577,254577,248477,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_17,53,8,7,1,1,173300,264500,270600,270600,264500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_18,52,8,7,1,1,173300,280690,286790,286790,280690,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_19,51,8,7,1,1,173300,297236,303336,303336,297236,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_20,50,8,7,1,1,173300,314219,320319,320319,314219,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_21,49,8,7,1,1,173300,330615,336715,336715,330615,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_22,48,8,7,1,1,173300,347152,353252,353252,347152,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_1_23,47,8,7,1,1,173300,362668,368768,368768,362668,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_1,46,8,7,1,1,173300,379698,385798,385798,379698,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_2,45,8,7,1,1,173300,395986,402086,402086,395986,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_3,44,8,7,1,1,173300,412432,418532,418532,412432,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_4,43,8,7,1,1,173300,429820,435920,435920,429820,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_5,42,8,7,1,1,173300,445874,451974,451974,445874,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_6,41,8,7,1,1,173300,461074,467174,467174,461074,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_7,40,8,7,1,1,173300,478542,484642,484642,478542,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_8,39,8,7,1,1,173300,494851,500951,500951,494851,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_9,38,8,7,1,1,173300,511889,517989,517989,511889,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_10,37,8,7,1,1,173300,528114,534214,534214,528114,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_11,36,8,7,1,1,173300,543743,549843,549843,543743,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_12,35,8,7,1,1,173300,560230,566330,566330,560230,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_13,34,8,7,1,1,173300,576604,582704,582704,576604,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_14,33,8,7,1,1,173300,593000,599100,599100,593000,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_15,32,8,7,1,1,173300,610233,616333,616333,610233,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_16,31,8,7,1,1,173300,626867,632967,632967,626867,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_17,30,8,7,1,1,173300,643000,649100,649100,643000,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_18,29,8,7,1,1,173300,659679,665779,665779,659679,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_19,28,8,7,1,1,173300,676371,682471,682471,676371,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_20,27,8,7,1,1,173300,692642,698742,698742,692642,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_21,26,8,7,1,1,173300,710179,716279,716279,710179,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_22,25,8,7,1,1,173300,725917,732017,732017,725917,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_2_23,24,8,7,1,1,173300,741475,747575,747575,741475,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_1,23,8,7,1,1,173300,757975,764075,764075,757975,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_2,22,8,7,1,1,173300,773533,779633,779633,773533,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_3,21,8,7,1,1,173300,790662,796762,796762,790662,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_4,20,8,7,1,1,173300,807417,813517,813517,807417,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_5,19,8,7,1,1,173300,823966,830066,830066,823966,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_6,18,8,7,1,1,173300,840025,846125,846125,840025,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_7,17,8,7,1,1,173300,856492,862592,862592,856492,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_8,16,8,7,1,1,173300,872363,878463,878463,872363,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_9,15,8,7,1,1,173300,889313,895413,895413,889313,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_10,14,8,7,1,1,173300,905333,911433,911433,905333,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_11,13,8,7,1,1,173300,922842,928942,928942,922842,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_12,12,8,7,1,1,173300,939588,945688,945688,939588,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_13,11,8,7,1,1,173300,955439,961539,961539,955439,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_14,10,8,7,1,1,173300,971572,977672,977672,971572,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_15,9,8,7,1,1,173300,987881,993981,993981,987881,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_16,8,8,7,1,1,173300,1003981,1010081,1010081,1003981,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_17,7,8,7,1,1,173300,1021500,1027600,1027600,1021500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_18,6,8,7,1,1,173300,1037899,1043999,1043999,1037899,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_19,5,8,7,1,1,173300,1054258,1060358,1060358,1054258,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_20,4,8,7,1,1,173300,1071046,1077146,1077146,1071046,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_21,3,8,7,1,1,173300,1087092,1093192,1093192,1087092,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_22,2,8,7,1,1,173300,1103500,1109600,1109600,1103500,77000,417100,358300,101000,87000,,,,,,,
1#AC1_9_3_23,1,8,7,1,1,173300,1119409,1125509,1125509,1119409,77000,417100,358300,101000,87000,,,,,,,
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID, 类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速时间,减速时间,原点低速度,原点高速,原点加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,DI-01,0, AXIS,,L1_旋转轴,Middle_Axis,1,COM1,,250,1000,1000,80,60,50,10,1000,0,0
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,DI-02,0, AXIS,,L2_上下轴,UpDown_Axis,2,COM1,,300,400,400,400,400,400,10,1000,0,0
DI,气压检测,Airpressure_Check,2,PRO_AOI_IP_1,0,门禁,X03,DI-03,0, AXIS,,L3_进出轴,InOut_Axis,3,COM1,,100,300,300,20,60,200,10,1000,0,0
DI,L侧门禁,DoorLimit,3,PRO_AOI_IP_1,0,料盘检测1(进料口),X04,DI-04,0, AXIS,,L4_压紧轴,Comp_Axis,4,COM1,,100,300,300,20,60,200,10,1000,0,0
DO,NG料线体电机运转,NGLine_Run,4,PRO_AOI_IP_1,0,NG料线体电机运转,Y05,DO-05,0, ,,,,,,,,,,,,,,,,
,,,,,,,,,, ,,,,,,,,,,,,,,,,
DI,L侧料盘检测1(识别区),TrayCheck_1,0,PRO_AOI_IP_2,0,L侧料盘检测1(识别区),X21,DI-21,0, PRO,,L2_上下轴_P1待机点/扫码放料低点,UpDownAxis_P1,585000,,,,,,,,,,,,
DI,L侧料盘检测2(识别区),TrayCheck_2,1,PRO_AOI_IP_2,0,L侧料盘检测2(识别区),X22,DI-22,0, PRO,,L2_上下轴_P2扫码放料高点缓冲点,UpDownAxis_P2,604500,,,,,,,,,,,,
DI,L侧料盘检测3(识别区),TrayCheck_3,2,PRO_AOI_IP_2,0,L侧料盘检测3(识别区),X23,DI-23,0, PRO,,L1_旋转轴_P1待机点/扫码放料点,MiddleAxis_P1,307200,,,,,,,,,,,,
DI,L侧料盘检测4(识别区),TrayCheck_4,3,PRO_AOI_IP_2,0,L侧料盘检测4(识别区),X24,DI-24,0, PRO,,L3_进出轴_P1待机点,InOutAxis_P1,1000,,,,,,,,,,,,
DI,L侧入料口移门关闭端,EntranceDoor_Close,4,PRO_AOI_IP_2,0,L侧入料口移门关闭端,X25,DI-25,0, PRO,,L4_压紧轴_P1待机点,CompAxis_P1,140000,,,,,,,,,,,,
DI,L侧入料口移门打开端,EntranceDoor_Open,5,PRO_AOI_IP_2,0,L侧入料口移门打开端,X26,DI-26,0, PRO,,L4_压紧轴_P3压紧前点,CompAxis_P3,180000,,,,,,,,,,,,
DI,L侧线体入料口检测,LineIn_Check,6,PRO_AOI_IP_2,0,L侧线体入料口检测,X27,DI-27,0, PRO,,L4_压紧轴_P2压紧点范围对应值,CompAxis_P2_List,8=385001;12=383001;16=379001;,,,,,,,,,,,,
DI,L侧线体取料位检测,LineTake_Check,7,PRO_AOI_IP_2,0,L侧线体取料位检测,X28,DI-28,0, ,,,,,,,,,,,,,,,,
DI,L侧料叉压紧确认检测,Compress_Check,8,PRO_AOI_IP_2,0,L侧料叉压紧确认检测,X29,DI-29,0, PRO,,L2_上下轴_P11-出料口-低点,UpDownAxis_P11,1000000,,,,,,,,,,,,
DI,L侧NG料口料盘检测,NGTrayCheck,9,PRO_AOI_IP_2,0,L侧NG料口料盘检测,X30,DI-30,0, PRO,,L2_上下轴_P12-出料口-高点,UpDownAxis_P12,1023000,,,,,,,,,,,,
DI,L侧NG料口升降门上升端,NGDoowCylinder_Up,10,PRO_AOI_IP_2,0,L侧NG料口升降门上升端,X31,DI-31,0, PRO,,L1_旋转轴_P11-出料口位置,MiddleAxis_P11,306900,,,,,,,,,,,,
DI,L侧NG料口升降门下降端,NGDoorCylinder_Down,11,PRO_AOI_IP_2,0,L侧NG料口升降门下降端,X32,DI-32,0, PRO,,L3_进出轴_P2-入料口取放料点,InOutAxis_P2,140800,,,,,,,,,,,,
DI,L侧顶升装置上升端,TopCylinder_Up,12,PRO_AOI_IP_2,0,L侧顶升装置上升端,X33,DI-33,0, PRO,,L3_进出轴_P11-出料口取放料点,InOutAxis_P11,148000,,,,,,,,,,,,
DI,L侧顶升装置下降端,TopCylinder_Down,13,PRO_AOI_IP_2,0,L侧顶升装置下降端,X34,DI-34,0, ,,,,,,,,,,,,,,,,
DI,L侧定位装置上升端,LocationCylinder_Up,14,PRO_AOI_IP_2,0,L侧定位装置上升端,X35,DI-35,0, PRO,,L2_上下轴_P1速度,UpDownAxis_P1_Speed,600,,,,,,,,,,,,
DI,L侧定位装置下降端,LocationCylinder_Down,15,PRO_AOI_IP_2,0,L侧定位装置下降端,X36,DI-36,0, PRO,,L2_上下轴_P2速度,UpDownAxis_P2_Speed,600,,,,,,,,,,,,
,,,,,,,,,, PRO,,L2_上下轴_P3速度,UpDownAxis_P3_Speed,1000,,, ,,,,,,,,,
DO,L侧料仓运转ON,Run_Signal,0,PRO_AOI_IP_2,0,L侧料仓运转ON,Y21,DO-21,0, PRO,,L2_上下轴_P4速度,UpDownAxis_P4_Speed,200,,,,,,,,,,,,
DO,L侧轴2刹车电源ON,Axis_Brake,1,PRO_AOI_IP_2,0,L侧轴2刹车电源ON,Y22,DO-22,0, PRO,,L2_上下轴_P5速度,UpDownAxis_P5_Speed,1000,,,,,,,,,,,,
DO,L侧相机光源ON,Camera_Led,2,PRO_AOI_IP_2,0,L侧相机光源ON,Y23,DO-23,0, PRO,,L2_上下轴_P6速度,UpDownAxis_P6_Speed,200,,,,,,,,,,,,
DO,L侧入料口移门关闭,EntranceDoor_Close,3,PRO_AOI_IP_2,0,L侧入料口移门关闭,Y24,DO-24,0, PRO,,L2_上下轴_P7速度,UpDownAxis_P7_Speed,600,,,,,,,,,,,,
DO,L侧入料口移门打开,EntranceDoor_Open,4,PRO_AOI_IP_2,0,L侧入料口移门打开,Y25,DO-25,0, PRO,,L2_上下轴_P8速度,UpDownAxis_P8_Speed,600,,,,,,,,,,,,
DO,L侧线体正转,Line_Run,5,PRO_AOI_IP_2,0,L侧线体正转,Y26,DO-26,0, PRO,,L1_旋转轴_P1速度,MiddleAxis_P1_Speed,300,,,,,,,,,,,,
DO,L侧线体反转,Line_BackRun,6,PRO_AOI_IP_2,0,L侧线体反转,Y27,DO-27,0, PRO,,L1_旋转轴_P2速度,MiddleAxis_P2_Speed,300,,,,,,,,,,,,
DO,L侧料仓吹气SOL,StartOrStopBlow,7,PRO_AOI_IP_2,0,L侧料仓吹气SOL,Y28,DO-28,0, PRO,,L3_进出轴_P1速度,InOutAxis_P1_Speed,300,,,,,,,,,,,,
DO,L侧NG料口升降门上升SOL,NGDoowCylinder_Up,8,PRO_AOI_IP_2,0,L侧NG料口升降门上升SOL,Y29,DO-29,0, PRO,,L3_进出轴_P2速度,InOutAxis_P2_Speed,300,,,,,,,,,,,,
DO,L侧NG料口升降门下降SOL,NGDoorCylinder_Down,9,PRO_AOI_IP_2,0,L侧NG料口升降门下降SOL,Y30,DO-30,0, PRO,,L3_进出轴_P3速度,InOutAxis_P3_Speed,300,,,,,,,,,,,,
DO,L侧顶升装置上升SOL,TopCylinder_Up,10,PRO_AOI_IP_2,0,L侧顶升装置上升SOL,Y31,DO-31,0, PRO,,L4_压紧轴_P1速度,CompAxis_P1_Speed,400,,,,,,,,,,,,
DO,L侧顶升装置下降SOL,TopCylinder_Down,11,PRO_AOI_IP_2,0,L侧顶升装置下降SOL,Y32,DO-32,0, PRO,,L4_压紧轴_P2速度,CompAxis_P2_Speed,400,,,,,,,,,,,,
DO,L侧定位装置上升SOL,LocationCylinder_Up,12,PRO_AOI_IP_2,0,L侧定位装置上升SOL,Y33,DO-33,0, PRO,,L4_压紧轴_P3速度,CompAxis_P3_Speed,400,,,,,,,,,,,,
DO,L侧定位装置下降SOL,LocationCylinder_Down,13,PRO_AOI_IP_2,0,L侧定位装置下降SOL,Y34,DO-34,0, ,,,,,,,,,,,,,,,,
,,,14,PRO_AOI_IP_2,0,,Y35,DO-35,0, PRO,,L2_上下轴_P101速度,UpDownAxis_P101_Speed,600,,,,,,,,,,,,
,,,15,PRO_AOI_IP_2,0,,Y36,DO-36,0, PRO,,L2_上下轴_P102速度,UpDownAxis_P102_Speed,600,,,,,,,,,,,,
,,,,,,,,,, PRO,,L3_进出轴_P101速度,InOutAxis_P101_Speed,300,,,,,,,,,,,,
AXIS,(轴一)旋转轴,Middle_Axis,1,COM3,0,,,,, PRO,,L1_旋转轴_P101速度,MiddleAxis_P101_Speed,300,,,,,,,,,,,,
AXIS,(轴二)升降轴轴,UpDown_Axis,2,COM3,0,,,,, ,,,,,,,,,,,,,,,,
AXIS,(轴三)进出轴,InOut_Axis,3,COM3,0,,,,, PRO,,温湿度端口号,Humiture_Port,COM5,,,,,,,,,,,,
AXIS,(轴四)压紧轴,Comp_Axis,4,COM3,0,,,,, PRO,,是否是调试状态,IsInDebug,0,,,,,,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P11-NG放料低点,UpDownAxis_P11,1000000,,,,,,,
PRO,升降轴(轴2)P12-NG放料高点缓冲点,UpDownAxis_P12,1023000,,,,,,,
PRO,旋转轴(轴1)P11-NG放料点,MiddleAxis_P11,306900,,,,,,,
PRO,进出轴(轴3)P2-扫码放料点,InOutAxis_P2_Position,140800,,,,,,,
PRO,进出轴(轴3)P11-NG放料点,InOutAxis_P11_Position,148000,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P1待机点/扫码放料低点,UpDownAxis_P1,585000,,,,,,,
PRO,升降轴(轴2)P2扫码放料高点缓冲点,UpDownAxis_P2,604500,,,,,,,
PRO,旋转轴(轴1)P1待机点/扫码放料点,MiddleAxis_P1,307200,,,,,,,
PRO,进出轴(轴3)P1待机点,InOutAxis_P1_Position,1000,,,,,,,
PRO,压紧轴(轴4)P1待机点,CompAxis_P1_Position,140000,,,,,,,
PRO,压紧轴(轴4)P3最大压紧前点,CompAxis_Max_P3,180000,,,,,,,
PRO,压紧轴(轴4)P4目标压紧点,CompAxis_P4_Position,315000,,,,,,,
PRO,压紧轴(轴4)非七寸盘压紧前点相对压紧点的位置,CompAxis_P3_P2_Value,-90000,,,,,,,
PRO,压紧轴(轴4)七寸盘压紧前点相对压紧点的位置,CompAxis7_P3_P2_Value,-50000,,,,,,,
PRO,压紧轴(轴4)压紧确认信号收到之后下降的位置,CompAxis_Down_Position,77500,,,,,,,
PRO,压紧轴(轴4)P2压紧点范围对应值(8=1000;2000#),CompAxis_P2_List,8=385001;424000#12=383001;385000#16=379001;383000#24=360001;368000#32=315001;330000#48=200000;231560#20=368001;379000#28=330001;360000#36=298001;315000#40=256101;298000#44=231561;256100#,,,,,,,
,,,,,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,250,,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,1000,,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,1000,,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,80,,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,50,,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,300,,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,400,,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,400,,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,400,,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,400,,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,400,,,,,,,
PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,100,,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,300,,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,300,,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,200,,,,,,,
PRO,(轴四)压紧轴目标速度,CompAxis_TargetSpeed,100,,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,300,,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,300,,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴四)压紧轴原点高速,CompAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,200,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,600,,,,,,,
PRO,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,600,,,,,,,
PRO,升降轴(轴2)P3速度,UpDownAxis_P3_Speed,1000,,,,,,,
PRO,升降轴(轴2)P4速度,UpDownAxis_P4_Speed,200,,,,,,,
PRO,升降轴(轴2)P5速度,UpDownAxis_P5_Speed,1000,,,,,,,
PRO,升降轴(轴2)P6速度,UpDownAxis_P6_Speed,200,,,,,,,
PRO,升降轴(轴2)P7速度,UpDownAxis_P7_Speed,600,,,,,, ,
PRO,升降轴(轴2)P8速度,UpDownAxis_P8_Speed,600,,,,,,,
PRO,旋转轴(轴1)P1速度,MiddleAxis_P1_Speed,300,,,,,,,
PRO,旋转轴(轴1)P2速度,MiddleAxis_P2_Speed,300,,,,,,,
PRO,进出轴(轴3)P1速度,InOutAxis_P1_Speed,300,,,,,,,
PRO,进出轴(轴3)P2速度,InOutAxis_P2_Speed,300,,,,,,,
PRO,进出轴(轴3)P3速度,InOutAxis_P3_Speed,300,,,,,,,
PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,400,,,,,,,
PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,400,,,,,,,
PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,400,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P101速度,UpDownAxis_P101_Speed,600,,,,,, ,
PRO,升降轴(轴2)P102速度,UpDownAxis_P102_Speed,600,,,,,,,
PRO,进出轴(轴3)P101速度,InOutAxis_P101_Speed,300,,,,,,,
PRO,旋转轴(轴1)P101速度,MiddleAxis_P101_Speed,300,,,,,,,
PRO,压紧轴(轴4)P4速度,CompAxis_P4_Speed,300,,,,,,,
,,,,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最小值,UpdownAxis_ErrorCountMin,10,,,,,, ,
PRO,(轴三)进出轴停止时可误差的脉冲数的最小值,InoutAxis_ErrorCountMin,10,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最大值,MiddleAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最大值,UpdownAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴三)进出轴停止时可误差的脉冲数的最大值,InoutAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴一)旋转轴最小限位,MiddleAxis_PositionMin,0,,,,,,,
PRO,(轴二)升降轴最小限位,UpdownAxis_PositionMin,0,,,,,,,
PRO,(轴三)进出轴最小限位,InoutAxis_PositionMin,0,,,,,,,
PRO,(轴一)旋转轴最大限位,MiddleAxis_PositionMax,0,,,,,,,
PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,,,
PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,,,
,,,,,,,,,,
PRO,AGV小车站号名称,AgvNodeName,B1,,,,,,,
,,,,,,,,,,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,,
PRO,预警温度,WarnTemperate,80,,,,,, ,
PRO,预警湿度,WarnHumidity,80,,,,,, ,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,
,,,,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM5,,,,,,,
PRO,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546875),,,,,,,
PRO,RFID读卡器IP,RFID_IP,192.168.104.101,,,,,,,
PRO,是否是调试状态,IsInDebug,0,,,,,,,
PRO,所有料仓的CID(用#号分隔),All_CIDs,packing-1#packing-2#packing-3#packing-4#packing-5#packing-6#packing-7#packing-8,,,,,,,
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,DI-01,0,
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,DI-02,0,
DI,气压检测,Airpressure_Check,2,PRO_AOI_IP_1,0,门禁,X03,DI-03,0,
DI,R侧门禁,DoorLimit,4,PRO_AOI_IP_1,0,料盘检测2(料叉),X05,DI-05,0,
DO,NG料线体电机运转,NGLine_Run,4,PRO_AOI_IP_1,0,NG料线体电机运转,Y05,DO-05,0,
,,,,,,,,,,
DI,R侧料盘检测1(识别区),TrayCheck_1,0,PRO_AOI_IP_3,0,R侧料盘检测1(识别区),X41,DI-41,0,
DI,R侧料盘检测2(识别区),TrayCheck_2,1,PRO_AOI_IP_3,0,R侧料盘检测2(识别区),X42,DI-42,0,
DI,R侧料盘检测3(识别区),TrayCheck_3,2,PRO_AOI_IP_3,0,R侧料盘检测3(识别区),X43,DI-43,0,
DI,R侧料盘检测4(识别区),TrayCheck_4,3,PRO_AOI_IP_3,0,R侧料盘检测4(识别区),X44,DI-44,0,
DI,R侧入料口移门关闭端,EntranceDoor_Close,4,PRO_AOI_IP_3,0,R侧入料口移门关闭端,X45,DI-45,0,
DI,R侧入料口移门打开端,EntranceDoor_Open,5,PRO_AOI_IP_3,0,R侧入料口移门打开端,X46,DI-46,0,
DI,R侧线体入料口检测,LineIn_Check,6,PRO_AOI_IP_3,0,R侧线体入料口检测,X47,DI-47,0,
DI,R侧线体取料位检测,LineTake_Check,7,PRO_AOI_IP_3,0,R侧线体取料位检测,X48,DI-48,0,
DI,R侧料叉压紧确认检测,Compress_Check,8,PRO_AOI_IP_3,0,R侧料叉压紧确认检测,X49,DI-49,0,
DI,R侧NG料口料盘检测,NGTrayCheck,9,PRO_AOI_IP_3,0,R侧NG料口料盘检测,X50,DI-50,0,
DI,R侧NG料口升降门上升端,NGDoowCylinder_Up,10,PRO_AOI_IP_3,0,R侧NG料口升降门上升端,X51,DI-51,0,
DI,R侧NG料口升降门下降端,NGDoorCylinder_Down,11,PRO_AOI_IP_3,0,R侧NG料口升降门下降端,X52,DI-52,0,
DI,R侧顶升装置上升端,TopCylinder_Up,12,PRO_AOI_IP_3,0,R侧顶升装置上升端,X53,DI-53,0,
DI,R侧顶升装置下降端,TopCylinder_Down,13,PRO_AOI_IP_3,0,R侧顶升装置下降端,X54,DI-54,0,
DI,R侧定位装置上升端,LocationCylinder_Up,14,PRO_AOI_IP_3,0,R侧定位装置上升端,X55,DI-55,0,
DI,R侧定位装置下降端,LocationCylinder_Down,15,PRO_AOI_IP_3,0,R侧定位装置下降端,X56,DI-56,0,
,,,,,,,,,,
DO,R侧料仓运转ON,Run_Signal,0,PRO_AOI_IP_3,0,R侧料仓运转ON,Y41,DO-41,0,
DO,R侧轴2刹车电源ON,Axis_Brake,1,PRO_AOI_IP_3,0,R侧轴2刹车电源ON,Y42,DO-42,0,
DO,R侧相机光源ON,Camera_Led,2,PRO_AOI_IP_3,0,R侧相机光源ON,Y43,DO-43,0,
DO,R侧入料口移门关闭,EntranceDoor_Close,3,PRO_AOI_IP_3,0,R侧入料口移门关闭,Y44,DO-44,0,
DO,R侧入料口移门打开,EntranceDoor_Open,4,PRO_AOI_IP_3,0,R侧入料口移门打开,Y45,DO-45,0,
DO,R侧线体正转,Line_Run,5,PRO_AOI_IP_3,0,R侧线体正转,Y46,DO-46,0,
DO,R侧线体反转,Line_BackRun,6,PRO_AOI_IP_3,0,R侧线体反转,Y47,DO-47,0,
DO,R侧料仓吹气SOL,StartOrStopBlow,7,PRO_AOI_IP_3,0,R侧料仓吹气SOL,Y48,DO-48,0,
DO,R侧NG料口升降门上升SOL,NGDoowCylinder_Up,8,PRO_AOI_IP_3,0,R侧NG料口升降门上升SOL,Y49,DO-49,0,
DO,R侧NG料口升降门下降SOL,NGDoorCylinder_Down,9,PRO_AOI_IP_3,0,R侧NG料口升降门下降SOL,Y50,DO-50,0,
DO,R侧顶升装置上升SOL,TopCylinder_Up,10,PRO_AOI_IP_3,0,R侧顶升装置上升SOL,Y51,DO-51,0,
DO,R侧顶升装置下降SOL,TopCylinder_Down,11,PRO_AOI_IP_3,0,R侧顶升装置下降SOL,Y52,DO-52,0,
DO,R侧定位装置上升SOL,LocationCylinder_Up,12,PRO_AOI_IP_3,0,R侧定位装置上升SOL,Y53,DO-53,0,
DO,R侧定位装置下降SOL,LocationCylinder_Down,13,PRO_AOI_IP_3,0,R侧定位装置下降SOL,Y54,DO-54,0,
,,,14,PRO_AOI_IP_3,0,,Y55,DO-55,0,
,,,15,PRO_AOI_IP_3,0,,Y56,DO-56,0,
,,,,,,,,,,
AXIS,(轴一)旋转轴,Middle_Axis,1,COM4,0,,,,,
AXIS,(轴二)升降轴轴,UpDown_Axis,2,COM4,0,,,,,
AXIS,(轴三)进出轴,InOut_Axis,3,COM4,0,,,,,
AXIS,(轴四)压紧轴,Comp_Axis,4,COM4,0,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P11-NG放料低点,UpDownAxis_P11,1000000,,,,,,,
PRO,升降轴(轴2)P12-NG放料高点缓冲点,UpDownAxis_P12,1019000,,,,,,,
PRO,旋转轴(轴1)P11-NG放料点,MiddleAxis_P11,307300,,,,,,,
PRO,进出轴(轴3)P2-扫码放料点,InOutAxis_P2_Position,140000,,,,,,,
PRO,进出轴(轴3)P11-NG放料点,InOutAxis_P11_Position,148000,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P1待机点/扫码放料低点,UpDownAxis_P1,583000,,,,,,,
PRO,升降轴(轴2)P2扫码放料高点缓冲点,UpDownAxis_P2,604500,,,,,,,
PRO,旋转轴(轴1)P1待机点/扫码放料点,MiddleAxis_P1,307600,,,,,,,
PRO,进出轴(轴3)P1待机点,InOutAxis_P1_Position,1000,,,,,,,
PRO,压紧轴(轴4)P1待机点,CompAxis_P1_Position,140000,,,,,,,
PRO,压紧轴(轴4)P3最大压紧前点,CompAxis_Max_P3,180000,,,,,,,
PRO,压紧轴(轴4)P4目标压紧点,CompAxis_P4_Position,317000,,,,,,,
PRO,压紧轴(轴4)非七寸盘压紧前点相对压紧点的位置,CompAxis_P3_P2_Value,-100000,,,,,,,
PRO,压紧轴(轴4)七寸盘压紧前点相对压紧点的位置,CompAxis7_P3_P2_Value,-50000,,,,,,,
PRO,压紧轴(轴4)压紧确认信号收到之后下降的位置,CompAxis_Down_Position,81000,,,,,,,
PRO,压紧轴(轴4)P2压紧点范围对应值(8=1000;2000#),CompAxis_P2_List,8=419201;421200#12=384501;419200#16=379501;384500#24=358001;366000#32=308001;318000#48=200000;234000#44=234001;274000#40=274001;287500#36=287501;308000#28=318001;358000#20=366001;379500#,,,,,,,
,,,,,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,250,,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,1000,,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,1000,,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,80,,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,50,,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,300,,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,400,,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,400,,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,400,,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,400,,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,400,,,,,,,
PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,100,,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,300,,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,300,,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,200,,,,,,,
PRO,(轴四)压紧轴目标速度,CompAxis_TargetSpeed,100,,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,300,,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,300,,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴四)压紧轴原点高速,CompAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,200,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,600,,,,,,,
PRO,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,600,,,,,,,
PRO,升降轴(轴2)P3速度,UpDownAxis_P3_Speed,1000,,,,,,,
PRO,升降轴(轴2)P4速度,UpDownAxis_P4_Speed,200,,,,,,,
PRO,升降轴(轴2)P5速度,UpDownAxis_P5_Speed,1000,,,,,,,
PRO,升降轴(轴2)P6速度,UpDownAxis_P6_Speed,200,,,,,,,
PRO,升降轴(轴2)P7速度,UpDownAxis_P7_Speed,600,,,,,, ,
PRO,升降轴(轴2)P8速度,UpDownAxis_P8_Speed,600,,,,,,,
PRO,旋转轴(轴1)P1速度,MiddleAxis_P1_Speed,200,,,,,,,
PRO,旋转轴(轴1)P2速度,MiddleAxis_P2_Speed,200,,,,,,,
PRO,进出轴(轴3)P1速度,InOutAxis_P1_Speed,300,,,,,,,
PRO,进出轴(轴3)P2速度,InOutAxis_P2_Speed,300,,,,,,,
PRO,进出轴(轴3)P3速度,InOutAxis_P3_Speed,300,,,,,,,
PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,300,,,,,,,
PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,300,,,,,,,
PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,300,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P101速度,UpDownAxis_P101_Speed,800,,,,,, ,
PRO,升降轴(轴2)P102速度,UpDownAxis_P102_Speed,800,,,,,,,
PRO,进出轴(轴3)P101速度,InOutAxis_P101_Speed,300,,,,,,,
PRO,旋转轴(轴1)P101速度,MiddleAxis_P101_Speed,180,,,,,,,
PRO,压紧轴(轴4)P4速度,CompAxis_P4_Speed,300,,,,,,,
,,,,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最小值,UpdownAxis_ErrorCountMin,10,,,,,, ,
PRO,(轴三)进出轴停止时可误差的脉冲数的最小值,InoutAxis_ErrorCountMin,10,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最大值,MiddleAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最大值,UpdownAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴三)进出轴停止时可误差的脉冲数的最大值,InoutAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴一)旋转轴最小限位,MiddleAxis_PositionMin,0,,,,,,,
PRO,(轴二)升降轴最小限位,UpdownAxis_PositionMin,0,,,,,,,
PRO,(轴三)进出轴最小限位,InoutAxis_PositionMin,0,,,,,,,
PRO,(轴一)旋转轴最大限位,MiddleAxis_PositionMax,0,,,,,,,
PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,,,
PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,,,
,,,,,,,,, ,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,,
,,,,,,,,,,
PRO,AGV小车站号名称,AgvNodeName,B2,,,,,,,
,,,,,,,,,,
PRO,预警温度,WarnTemperate,80,,,,,, ,
PRO,预警湿度,WarnHumidity,80,,,,,, ,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM5,,,,,,,
,,,,,,,,,,
PRO,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546940),,,,,,,
PRO,RFID读卡器IP,RFID_IP,192.168.104.102,,,,,,,
PRO,是否是调试状态,IsInDebug,0,,,,,,,
PRO,所有料仓的CID(用#号分隔),All_CIDs,packing-2#packing-3#packing-4#packing-5#packing-6#packing-7#packing-8#packing-1,,,,,,,
\ No newline at end of file \ No newline at end of file
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速时间,减速时间,原点低速度,原点高速,原点加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
AXIS,,R1_旋转轴,Middle_Axis,1,COM2,,250,1000,1000,80,60,50,10,1000,0,0
AXIS,,R2_上下轴,UpDown_Axis,2,COM2,,300,400,400,400,400,400,10,1000,0,0
AXIS,,R3_进出轴,InOut_Axis,3,COM2,,100,300,300,20,60,200,10,1000,0,0
AXIS,,R4_压紧轴,Comp_Axis,4,COM2,,100,300,300,20,60,200,10,1000,0,0
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P1待机点/扫码放料低点,UpDownAxis_P1,585000,,,,,,,,,,,,
PRO,,R2_上下轴_P2扫码放料高点缓冲点,UpDownAxis_P2,604500,,,,,,,,,,,,
PRO,,R1_旋转轴_P1待机点/扫码放料点,MiddleAxis_P1,307200,,,,,,,,,,,,
PRO,,R3_进出轴_P1待机点,InOutAxis_P1,1000,,,,,,,,,,,,
PRO,,R4_压紧轴_P1待机点,CompAxis_P1,140000,,,,,,,,,,,,
PRO,,R4_压紧轴_P3压紧前点,CompAxis_P3,180000,,,,,,,,,,,,
PRO,,R4_压紧轴_P2压紧点范围对应值,CompAxis_P2_List,8=385001;12=383001;16=379001;,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P11-出料口-低点,UpDownAxis_P11,1000000,,,,,,,,,,,,
PRO,,R2_上下轴_P12-出料口-高点,UpDownAxis_P12,1023000,,,,,,,,,,,,
PRO,,R1_旋转轴_P11-出料口位置,MiddleAxis_P11,306900,,,,,,,,,,,,
PRO,,R3_进出轴_P2-入料口取放料点,InOutAxis_P2,140800,,,,,,,,,,,,
PRO,,R3_进出轴_P11-出料口取放料点,InOutAxis_P11,148000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P1速度,UpDownAxis_P1_Speed,600,,,,,,,,,,,,
PRO,,R2_上下轴_P2速度,UpDownAxis_P2_Speed,600,,,,,,,,,,,,
PRO,,R2_上下轴_P3速度,UpDownAxis_P3_Speed,1000,,, ,,,,,,,,,
PRO,,R2_上下轴_P4速度,UpDownAxis_P4_Speed,200,,,,,,,,,,,,
PRO,,R2_上下轴_P5速度,UpDownAxis_P5_Speed,1000,,,,,,,,,,,,
PRO,,R2_上下轴_P6速度,UpDownAxis_P6_Speed,200,,,,,,,,,,,,
PRO,,R2_上下轴_P7速度,UpDownAxis_P7_Speed,600,,,,,,,,,,,,
PRO,,R2_上下轴_P8速度,UpDownAxis_P8_Speed,600,,,,,,,,,,,,
PRO,,R1_旋转轴_P1速度,MiddleAxis_P1_Speed,300,,,,,,,,,,,,
PRO,,R1_旋转轴_P2速度,MiddleAxis_P2_Speed,300,,,,,,,,,,,,
PRO,,R3_进出轴_P1速度,InOutAxis_P1_Speed,300,,,,,,,,,,,,
PRO,,R3_进出轴_P2速度,InOutAxis_P2_Speed,300,,,,,,,,,,,,
PRO,,R3_进出轴_P3速度,InOutAxis_P3_Speed,300,,,,,,,,,,,,
PRO,,R4_压紧轴_P1速度,CompAxis_P1_Speed,400,,,,,,,,,,,,
PRO,,R4_压紧轴_P2速度,CompAxis_P2_Speed,400,,,,,,,,,,,,
PRO,,R4_压紧轴_P3速度,CompAxis_P3_Speed,400,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P101速度,UpDownAxis_P101_Speed,600,,,,,,,,,,,,
PRO,,R2_上下轴_P102速度,UpDownAxis_P102_Speed,600,,,,,,,,,,,,
PRO,,R3_进出轴_P101速度,InOutAxis_P101_Speed,300,,,,,,,,,,,,
PRO,,R1_旋转轴_P101速度,MiddleAxis_P101_Speed,300,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,温湿度端口号,Humiture_Port,COM5,,,,,,,,,,,,
PRO,,是否是调试状态,IsInDebug,0,,,,,,,,,,,,
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID, 类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速时间,减速时间,原点低速度,原点高速,原点加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
PRO,IO模块对应的DI数量,IO_DILength,192.168.104.21#16;192.168.104.22#16;192.168.104.23#16,,,,, AXIS,,T1_提升机构升降轴,T1_Batch_Axis,1,COM3,,250,500,500,100,200,1000,10,1000,0,0
PRO,IO模块对应的DO数量,IO_DOLength,192.168.104.21#16;192.168.104.22#16;192.168.104.23#16,,,,, AXIS,,T2_取料机构旋转轴,T2_Middle_Axis,2,COM3,,1000,1000,1000,200,500,500,10,1000,0,0
PRO,第一块IO模块IP,PRO_AOI_IP_1,192.168.104.21,,,,,,, AXIS,,T3_取料机构上下轴,T3_Updown_Axis,3,COM3,,800,1000,1000,200,500,500,10,1000,0,0
PRO,第二块IO模块IP,PRO_AOI_IP_2,192.168.104.22,,,,,,, ,,,,,,,,,,,,,,,,
PRO,第三块IO模块IP,PRO_AOI_IP_3,192.168.104.23,,,,,,, ,,,,,,,,,,,,,,,,
,,,,,,,,,, PRO,,IO模块对应的DI数量,IO_DILength,192.168.200.21#16;192.168.200.22#16;192.168.200.23#8,,,,,,,,,,,,
,,,,,,,,,, PRO,,IO模块对应的DO数量,IO_DOLength,192.168.200.21#16;192.168.200.22#16;192.168.200.23#8,,,,,,,,,,,,
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,DI-01,0, PRO,,第一块IO模块IP,PRO_AIO_IP_1,192.168.200.21,,,,,,,,,,,,
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,DI-02,0, PRO,,第二块IO模块IP,PRO_AIO_IP_2,192.168.200.22,,,,,,,,,,,,
DI,气压检测,Airpressure_Check,2,PRO_AOI_IP_1,0,门禁,X03,DI-03,0, PRO,,第三块IO模块IP,PRO_AIO_IP_3,192.168.200.23,,,,,,,,,,,,
DI,L侧门禁,DoorLimit_L,3,PRO_AOI_IP_1,0,料盘检测1(进料口),X04,DI-04,0, ,,,,,,,,,,,,,,,,
DI,R侧门禁,DoorLimit_R,4,PRO_AOI_IP_1,0,料盘检测2(料叉),X05,DI-05,0, ,,,,,,,,,,,,,,,,
,,,5,PRO_AOI_IP_1,0,气压检测,X06,DI-06,0, DI,0,急停,SuddenStop_BTN,0,PRO_AIO_IP_1,X01,,,,,,,,,,
,,,6,PRO_AOI_IP_1,0,进料口门上升端,X07,DI-07,0, DI,0,复位,Reset_BTN,1,PRO_AIO_IP_1,X02,,,,,,,,,,
,,,7,PRO_AOI_IP_1,0,进料口门下降端,X08,DI-08,0, DI,0,启动,AutoRun_BTN,2,PRO_AIO_IP_1,X03,,,,,,,,,,
,,,8,PRO_AOI_IP_1,0,,X09,DI-09,0, DI,0,气压检测,Airpressure_Check,3,PRO_AIO_IP_1,X04,,,,,,,,,,
,,,9,PRO_AOI_IP_1,0,,X10,DI-10,0, DI,0,线体入口料串检测,Line_InCheck,4,PRO_AIO_IP_1,X05,,,,,,,,,,
,,,10,PRO_AOI_IP_1,0,,X11,DI-11,0, DI,0,线体上料等待区检测,Line_WaitCheck,5,PRO_AIO_IP_1,X06,,,,,,,,,,
,,,11,PRO_AOI_IP_1,0,,X12,DI-12,0, DI,0,线体上料区料串检测,Line_WorkCheck,6,PRO_AIO_IP_1,X07,,,,,,,,,,
,,,12,PRO_AOI_IP_1,0,,X13,DI-13,0, DI,0,料串识别检测1,ShelfCheck1,7,PRO_AIO_IP_1,X08,,,,,,,,,,
,,,13,PRO_AOI_IP_1,0,,X14,DI-14,0, DI,0,料串识别检测2,ShelfCheck2,8,PRO_AIO_IP_1,X09,,,,,,,,,,
,,,14,PRO_AOI_IP_1,0,,X15,DI-15,0, DI,0,料串识别检测3,ShelfCheck3,9,PRO_AIO_IP_1,X10,,,,,,,,,,
,,,15,PRO_AOI_IP_1,0,,X16,DI-16,0, DI,0,料串识别检测4,ShelfCheck4,10,PRO_AIO_IP_1,X11,,,,,,,,,,
,,,,,,,,,, DI,0,线体后端料串堆积检测,Line_BufferCheck,11,PRO_AIO_IP_1,X12,,,,,,,,,,
DO,自动指示灯,AutoRun_HddLed,0,PRO_AOI_IP_1,0,自动指示灯,Y01,DO-01,0, DI,0,线体后端料串检测,Line_OutCheck,12,PRO_AIO_IP_1,X13,,,,,,,,,,
DO,故障指示灯,Alarm_HddLed,1,PRO_AOI_IP_1,0,故障指示灯,Y02,DO-02,0, DI,0,线体顶升气缸上升端,TopCylinder_Up,13,PRO_AIO_IP_1,X14,,,,,,,,,,
DO,待机指示灯,RunSign_HddLed,2,PRO_AOI_IP_1,0,待机指示灯,Y03,DO-03,0, DI,0,线体顶升气缸下降端,TopCylinder_Down,14,PRO_AIO_IP_1,X15,,,,,,,,,,
DO,报警蜂鸣器,Alarm_Buzzer,3,PRO_AOI_IP_1,0,报警蜂鸣器,Y04,DO-04,0, DI,0,取料提升机构前进端,Hoister_Forward,15,PRO_AIO_IP_1,X16,,,,,,,,,,
DO,NG料线体电机运转,NGLine_Run,4,PRO_AOI_IP_1,0,NG料线体电机运转,Y05,DO-05,0, ,,,,,,,,,,,,,,,,
,,,5,PRO_AOI_IP_1,0,,Y06,DO-06,0, DO,0,自动指示灯,AutoRun_HddLed,0,PRO_AIO_IP_1,Y01,,,,,,,,,,
,,,6,PRO_AOI_IP_1,0,,Y07,DO-07,0, DO,0,故障指示灯,Alarm_HddLed,1,PRO_AIO_IP_1,Y02,,,,,,,,,,
,,,7,PRO_AOI_IP_1,0,,Y08,DO-08,0, DO,0,待机指示灯,RunSign_HddLed,2,PRO_AIO_IP_1,Y03,,,,,,,,,,
,,,8,PRO_AOI_IP_1,0,,Y09,DO-09,0, DO,0,报警蜂鸣器,Alarm_Buzzer,3,PRO_AIO_IP_1,Y04,,,,,,,,,,
,,,9,PRO_AOI_IP_1,0,,Y10,DO-10,0, DO,1,左侧料口物料指示灯绿色,DoorLed_Green,4,PRO_AIO_IP_1,Y05,,,,,,,,,,
,,,10,PRO_AOI_IP_1,0,,Y11,DO-11,0, DO,1,左侧料口物料指示灯红色,DoorLed_Red,5,PRO_AIO_IP_1,Y06,,,,,,,,,,
,,,11,PRO_AOI_IP_1,0,,Y12,DO-12,0, DO,2,右侧料口物料指示灯绿色,DoorLed_Green,6,PRO_AIO_IP_1,Y07,,,,,,,,,,
,,,12,PRO_AOI_IP_1,0,,Y13,DO-13,0, DO,2,右侧料口物料指示灯红色,DoorLed_Red,7,PRO_AIO_IP_1,Y08,,,,,,,,,,
,,,13,PRO_AOI_IP_1,0,,Y14,DO-14,0, DO,0,取料提升机构电机前进,Hoister_Forward,8,PRO_AIO_IP_1,Y09,,,,,,,,,,
,,,14,PRO_AOI_IP_1,0,,Y15,DO-15,0, DO,0,取料提升机构电机后退,Hoister_Back,9,PRO_AIO_IP_1,Y10,,,,,,,,,,
,,,15,PRO_AOI_IP_1,0,,Y16,DO-16,0, DO,0,相机光源ON,Camera_Led,10,PRO_AIO_IP_1,Y11,,,,,,,,,,
,,,,,,,,,, DO,1,左侧料仓升降轴刹车ON,UpdownAxis_Break,11,PRO_AIO_IP_1,Y12,,,,,,,,,,
,,,,,,,,,, DO,2,右侧料仓升降轴刹车ON,UpdownAxis_Break,12,PRO_AIO_IP_1,Y13,,,,,,,,,,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,, DO,0,提升机构升降轴刹车ON,BatchAxis_Break,13,PRO_AIO_IP_1,Y14,,,,,,,,,,
DO,0,移栽机构上下轴刹车ON,MoveAxis_Break,14,PRO_AIO_IP_1,Y15,,,,,,,,,,
DO,1,左侧料仓伺服ON,Axis_Run,15,PRO_AIO_IP_1,Y16,,,,,,,,,,
,,,,,,, ,,,,,,,,,
DI,0,取料提升机构后退端,Hoister_Back,0,PRO_AIO_IP_2,X21, ,,,,,,,,,
DI,0,提升机构料盘检测,BatchAxis_Check,1,PRO_AIO_IP_2,X22,,,,,,,,,,
DI,0,取料气缸放松端,ClampCylinder_Relax,2,PRO_AIO_IP_2,X23,,,,,,,,,,
DI,0,取料气缸夹紧端,ClampCylinder_Clamp,3,PRO_AIO_IP_2,X24,,,,,,,,,,
DI,1,左侧出料口安全光栅,OutDoor_SafeSignal,4,PRO_AIO_IP_2,X25,,,,,,,,,,
DI,1,左侧暂存区料盘检测,InDoor_Check,5,PRO_AIO_IP_2,X26,,,,,,,,,,
DI,1,左侧出料口门上升端,OutDoor_Up,6,PRO_AIO_IP_2,X27,,,,,,,,,,
DI,1,左侧出料口门下降端,OutDoor_Down,7,PRO_AIO_IP_2,X28,,,,,,,,,,
DI,1,左侧出料口料盘检测,OutDoor_Check,8,PRO_AIO_IP_2,X29,,,,,,,,,,
DI,1,左侧料叉料盘检测,Fixture_Check,9,PRO_AIO_IP_2,X30,,,,,,,,,,
DI,2,右侧出料口安全光栅,OutDoor_SafeSignal,10,PRO_AIO_IP_2,X31,,,,,,,,,,
DI,2,右侧暂存区料盘检测,InDoor_Check,11,PRO_AIO_IP_2,X32,,,,,,,,,,
DI,2,右侧出料口门上升端,OutDoor_Up,12,PRO_AIO_IP_2,X33,,,,,,,,,,
DI,2,右侧出料口门下降端,OutDoor_Down,13,PRO_AIO_IP_2,X34,,,,,,,,,,
DI,2,右侧料叉料盘检测,OutDoor_Check,14,PRO_AIO_IP_2,X35,,,,,,,,,,
DI,2,右侧出料口料盘检测,Fixture_Check,15,PRO_AIO_IP_2,X36,,,,,,,,,,
,,,,,,,,,,,,,,,,
DO,2,右侧料仓伺服ON,Axis_Run,0,PRO_AIO_IP_2,Y21,,,,,,,,,,
DO,0,取料机构伺服ON,MoveAxis_Run,1,PRO_AIO_IP_2,Y22,,,,,,,,,,
DO,0,线体皮带正转,Line_Run,2,PRO_AIO_IP_2,Y23,,,,,,,,,,
DO,0,线体皮带反转,Line_BackRun,3,PRO_AIO_IP_2,Y24,,,,,,,,,,
DO,0,线体等待区阻挡1上升,Line_Stop1_Wait,4,PRO_AIO_IP_2,Y25,,,,,,,,,,
DO,0,线体上料区阻挡2上升,Line_Stop2_Work,5,PRO_AIO_IP_2,Y26,,,,,,,,,,
DO,0,线体出料区阻挡3上升,Line_Stop3_Buffer,6,PRO_AIO_IP_2,Y27,,,,,,,,,,
DO,0,线体放行阻挡4上升,Line_Stop4_Out,7,PRO_AIO_IP_2,Y28,,,,,,,,,,
DO,0,线体顶升气缸上升SOL,TopCylinder_Up,8,PRO_AIO_IP_2,Y29,,,,,,,,,,
DO,0,线体顶升气缸下降SOL,TopCylinder_Down,9,PRO_AIO_IP_2,Y30,,,,,,,,,,
DO,0,取料气缸放松SOL,ClampCylinder_Relax,10,PRO_AIO_IP_2,Y31,,,,,,,,,,
DO,0,取料气缸夹紧SOL,ClampCylinder_Clamp,11,PRO_AIO_IP_2,Y32,,,,,,,,,,
DO,1,左侧出料口门上升SOL,OutDoor_Up,12,PRO_AIO_IP_2,Y33,,,,,,,,,,
DO,1,左侧出料口门下降SOL,OutDoor_Down,13,PRO_AIO_IP_2,Y34,,,,,,,,,,
DO,2,右侧出料口门上升SOL,OutDoor_Up,14,PRO_AIO_IP_2,Y35,,,,,,,,,,
DO,2,右侧出料口门下降SOL,OutDoor_Down,15,PRO_AIO_IP_2,Y36,,,,,,,,,,
,,,,,,,,,,,,,,,,
DI,0,取料气缸料盘检测,ClampCylinder_Check,0,PRO_AIO_IP_3,X41,,,,,,,,,,
DI,0,线体出口放行信号,LineOut_BTN,1,PRO_AIO_IP_3,X42,,,,,,,,,,
,0,,,2,PRO_AIO_IP_3,X43,,,,,,,,,,
,0,,,3,PRO_AIO_IP_3,X44,,,,,,,,,,
,0,,,4,PRO_AIO_IP_3,X45,,,,,,,,,,
,0,,,5,PRO_AIO_IP_3,X46,,,,,,,,,,
,0,,,6,PRO_AIO_IP_3,X47,,,,,,,,,,
,0,,,7,PRO_AIO_IP_3,X48,,,,,,,,,,
,,,,,,,,,,,,,,,,
DO,0,线体入口指示灯,LineIn_Led,0,PRO_AIO_IP_3,Y41,,,,,,,,,,
DO,0,线体出口指示灯,LineOut_Led,1,PRO_AIO_IP_3,Y42,,,,,,,,,,
DO,0,设备内部照明ON,Device_Led,2,PRO_AIO_IP_3,Y43,,,,,,,,,,
,0,,,3,PRO_AIO_IP_3,Y44,,,,,,,,,,
,0,,,4,PRO_AIO_IP_3,Y45,,,,,,,,,,
,0,,,5,PRO_AIO_IP_3,Y46,,,,,,,,,,
,0,,,6,PRO_AIO_IP_3,Y47,,,,,,,,,,
,0,,,7,PRO_AIO_IP_3,Y48,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,预警温度,WarnTemperate,80,,,,,,,,,,,,
PRO,,预警湿度,WarnHumidity,80,,,,,,,,,,,,
PRO,,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,,,,,,
PRO,,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,,,,,,
PRO,,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,,,,,,
PRO,,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,,,,,,
PRO,,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,,,,,,
PRO,,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,,,,,,
PRO,,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,是否调试状态(1=调试,0=正常),IsDebug,1,,,,,,,,,,,,
PRO,,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,,,,,,,
PRO,,所有料仓的CID(用#号分隔),All_CIDs,packing-1#packing-2,,,,,,,,,,,,
PRO,,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546875),,,,,,,,,,,,
位置,优先级,高度,宽度,料仓ID,旋转轴位置P101,升降轴低点P101,升降轴高点P102,进出轴位置P101
191,8,8,7,1,309100,490000,507000,140000
192,7,8,7,1,309100,432000,448000,140000
193,6,8,7,1,309100,374000,392000,140000
194,5,8,7,1,309100,317000,334000,140000
195,4,8,7,1,309100,261000,278000,140000
196,3,8,7,1,309100,203000,220000,140000
197,2,8,7,1,309100,146000,163000,140000
198,1,8,7,1,309100,90000,108000,140000
\ No newline at end of file \ No newline at end of file
位置,优先级,高度,宽度,料仓ID,旋转轴位置P101,升降轴低点P101,升降轴高点P102,进出轴位置P101
201,8,8,7,2,308300,487000,506000,140000
202,7,8,7,2,308300,431500,450000,140000
203,6,8,7,2,308300,374000,389000,140000
204,5,8,7,2,308300,316000,333000,140000
205,4,8,7,2,308300,260000,276000,140000
206,3,8,7,2,308300,204000,219000,140000
207,2,8,7,2,308300,146000,163000,140000
208,1,8,7,2,308300,90000,107000,140000
\ No newline at end of file \ No newline at end of file
...@@ -410,11 +410,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -410,11 +410,11 @@ namespace OnlineStore.DeviceLibrary
{ {
if (configIO.ProType.Equals(ConfigItemType.DI)) if (configIO.ProType.Equals(ConfigItemType.DI))
{ {
return GetDIValue(configIO.IO_IP, configIO.SlaveID, configIO.GetIOAddr()); return GetDIValue(configIO.IO_IP, 0, configIO.GetIOAddr());
} }
else if (configIO.ProType.Equals(ConfigItemType.DO)) else if (configIO.ProType.Equals(ConfigItemType.DO))
{ {
return GetDOValue(configIO.IO_IP, configIO.SlaveID, configIO.GetIOAddr()); return GetDOValue(configIO.IO_IP, 0, configIO.GetIOAddr());
} }
} }
catch (Exception ex) catch (Exception ex)
......
...@@ -22,7 +22,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -22,7 +22,7 @@ namespace OnlineStore.DeviceLibrary
ConfigIO configIo = GetDO(ioType, subType); ConfigIO configIo = GetDO(ioType, subType);
if (configIo != null) if (configIo != null)
{ {
instance.WriteSingleDO(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr(), ioValue); instance.WriteSingleDO(configIo.IO_IP, 0, configIo.GetIOAddr(), ioValue);
Thread.Sleep(1); Thread.Sleep(1);
} }
else else
...@@ -45,11 +45,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -45,11 +45,11 @@ namespace OnlineStore.DeviceLibrary
if (configIo.ProType.Equals(ConfigItemType.DI)) if (configIo.ProType.Equals(ConfigItemType.DI))
{ {
ioValue = instance.GetDIValue(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr()); ioValue = instance.GetDIValue(configIo.IO_IP, 0, configIo.GetIOAddr());
} }
else else
{ {
ioValue = instance.GetDOValue(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr()); ioValue = instance.GetDOValue(configIo.IO_IP, 0, configIo.GetIOAddr());
} }
} }
else else
...@@ -65,7 +65,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -65,7 +65,7 @@ namespace OnlineStore.DeviceLibrary
if (configIo != null) if (configIo != null)
{ {
ioValue = instance.GetDOValue(configIo.IO_IP, configIo.SlaveID, configIo.GetIOAddr()); ioValue = instance.GetDOValue(configIo.IO_IP, 0, configIo.GetIOAddr());
} }
else else
{ {
...@@ -125,7 +125,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -125,7 +125,7 @@ namespace OnlineStore.DeviceLibrary
{ {
foreach (ConfigIO io in DoList) foreach (ConfigIO io in DoList)
{ {
instance.WriteSingleDO(io.IO_IP, io.SlaveID, io.GetIOAddr(), IO_VALUE.LOW); instance.WriteSingleDO(io.IO_IP, 0, io.GetIOAddr(), IO_VALUE.LOW);
Thread.Sleep(60); Thread.Sleep(60);
} }
} }
......
using CodeLibrary;
using OnlineStore.Common;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Runtime.ExceptionServices;
using System.Text;
using System.Windows.Forms;
namespace OnlineStore.DeviceLibrary
{
public class CodeManager
{
public static List<string> codeTypeList = new List<string>();
public static List<string> balserNameList = new List<string>();
public static List<string> hikNameList = new List<string>();
private static char spiltChar = '#';
/// <summary>
/// 初始化摄像机名称和二维码类型
/// </summary>
public static void LoadConfig()
{
string codeStr = ConfigAppSettings.GetValue(Setting_Init.CodeType);
codeTypeList = new List<string>();
HDLogUtil.LogName = "RollingLogFileAppender";
try
{
string[] codeArray = codeStr.Split(spiltChar);
foreach (string str in codeArray)
{
if (str.Trim().Equals(""))
{
continue;
}
LogUtil.info("加载到配置二维码类型:" + str.Trim());
codeTypeList.Add(str.Trim());
}
LoadCamera(false);
CodeLibrary.HDCodeLearnHelper.LoadConfig("", codeStr);
}
catch (Exception ex)
{
LogUtil.error("解析摄像机配置出错:" + ex.StackTrace);
}
}
private static void LoadCamera(bool isReLoad)
{
if (isReLoad)
{
try
{
CodeLibrary.HIKCamera.Instance.Load();
}
catch (Exception ex)
{
LogUtil.error("加载HIK相机出错:" + ex.ToString());
}
try
{
CodeLibrary.BaslerCamera.Instance.Load();
}
catch (Exception ex)
{
LogUtil.error("加载Basler相机出错:" + ex.ToString());
}
}
string[] names = CodeLibrary.HIKCamera.Instance.CameraName;
if (names != null)
{
foreach (string n in names)
{
if (!hikNameList.Contains(n))
{
hikNameList.Add(n);
}
}
// hikNameList.AddRange(names);
foreach (string name in hikNameList)
{
LogUtil.info("加载到HIK相机:" + name);
}
}
names = CodeLibrary.BaslerCamera.Instance.CameraName;
if (names != null)
{
foreach (string n in names)
{
if (!balserNameList.Contains(n))
{
balserNameList.Add(n);
}
}
// balserNameList.AddRange(names);
foreach (string name in balserNameList)
{
LogUtil.info("加载到Balser相机:" + name);
}
}
}
public static void CloseCamera()
{
BaslerCamera.Instance.Close();
HIKCamera.Instance.Close();
}
public static Bitmap GetCamerImage(string cameraName)
{
Bitmap bitm = null;
try
{
if (balserNameList.Contains(cameraName))
{
bool result = BaslerCamera.Instance.Open(cameraName);
LogUtil.info("相机【" + cameraName + "】打开:" + result + "");
if (result)
{
BaslerCamera.Instance.GrabOne();
bitm = BaslerCamera.Instance.Image;
BaslerCamera.Instance.Close();
}
else
{
LogUtil.error("相机【" + cameraName + "】打开失败:" + BaslerCamera.Instance.ErrInfo);
}
}
else if (hikNameList.Contains(cameraName))
{
bool result = HIKCamera.Instance.Open(cameraName);
// LogUtil.info("打开相机:" + cameraName + "(" + result + ")");
if (result)
{
HIKCamera.Instance.GrabOne();
bitm = HIKCamera.Instance.Image;
HIKCamera.Instance.Close();
}
else
{
LogUtil.error("相机【" + cameraName + "】打开失败:" + HIKCamera.Instance.ErrInfo);
}
}
else
{
LogUtil.info("未找到相机【" + cameraName + "】无法获取图片");
//若未加载到相机,需要重新加载相机
if (balserNameList.Count <= 0 && hikNameList.Count <= 0)
{
LogUtil.error("获取图片时发现未加载到相机,重新加载相机");
LoadCamera(true);
}
}
}
catch (Exception ex)
{
LogUtil.error("从相机【" + cameraName + "】获取图片出错:" + ex.ToString());
}
return bitm;
}
private static int codeCount = ConfigAppSettings.GetIntValue(Setting_Init.CodeCount);
[HandleProcessCorruptedStateExceptions]
public static List<string> CameraScan(List<string> cameraList, string deviceName)
{
if (codeCount < 1)
{
codeCount = 1;
}
List<string> codeList = new List<string>();
//List<CodeInfo> allCodeList = new List<CodeInfo>();
if (cameraList == null || cameraList.Count <= 0)
{
return codeList;
}
try
{
foreach (string cameraName in cameraList)
{
if (cameraName.Trim().Equals(""))
{
continue;
}
LogUtil.info(deviceName + " 【" + cameraName + "】开始打开相机获取图片");
using (Bitmap bitmap = GetCamerImage(cameraName))
{
if (bitmap == null)
{
LogUtil.error(deviceName + " 【" + cameraName + "】获取图片失败,关闭相机");
CloseCamera();
continue;
}
LogUtil.info(deviceName + " 【" + cameraName + "】获取图片完成,开始转换图片,并扫码");
System.Threading.Thread.Sleep(1);
//转换托盘大概100-150ms,不打印日志
HalconDotNet.HObject ho_Image = HDCodeHelper.Bitmap2HObjectBpp24(bitmap);
// LogUtil.info(" 相机【" + cameraName + "】转换图片完成,开始扫码");
List<CodeInfo> cc = new List<CodeInfo>();
string r = "";
foreach (string codeType in codeTypeList)
{
//判断是否是一维码
if (codeType.ToLower().Equals("barcode"))
{
cc = HDCodeHelper.DecodeBarCode(ho_Image);
}
else
{
cc = HDCodeHelper.DecodeCode(ho_Image, codeCount, GetCodeParamFilePath(codeType), codeType);
}
foreach (CodeInfo c in cc)
{
string str = CodeManager.ReplaceCode(c.CodeStr);
codeList.Add(str);
r = r + "##" + str;
}
// LogUtil.debug(" 相机【" + cameraName + "】【" + codeType + "】扫码完成:" + r);
}
LogUtil.info(deviceName + " 【" + cameraName + "】扫码完成:" + r);
ho_Image.Dispose();
bitmap.Dispose();
}
}
}
catch (AccessViolationException e)
{
LogUtil.error(deviceName + " 扫码出现AccessViolationException异常:" + e.ToString());
GC.Collect();
}
catch (Exception ex)
{
LogUtil.error(deviceName + " 扫码出错:"+ex.ToString());
}
return codeList;
}
public static string GetCodeParamFilePath(string codePath)
{
string appPath = Application.StartupPath;
string path = appPath + ConfigAppSettings.GetValue(Setting_Init.CodeParamPath);
string filePath = path + codePath + ".dcm";
if (File.Exists(filePath))
{
return filePath;
}
else
{
return "";
}
}
/// <summary>
/// 处理接收后的二维码
/// </summary>
/// <param name="message"></param>
/// <returns></returns>
public static string ReplaceCode(string message)
{
message = message.Trim();
message = message.Replace("\r", "");
message = message.Replace("\n", "");
char a = (char)02;
message = message.Replace(a.ToString(), "");
message = message.Trim();
System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
byte[] bytes = asciiEncoding.GetBytes(message);
List<byte> newBytes = new List<byte>();
foreach (byte by in bytes)
{
int value = (int)by;
if (value.Equals(24) || value.Equals(30) || value.Equals(29) || value.Equals(4))
{
continue;
}
if (!value.Equals(24))
{
newBytes.Add(by);
}
}
message = asciiEncoding.GetString(newBytes.ToArray());
return message;
}
public static string ProcessCode(List<string> codeList)
{
string code = "";
foreach (string cc in codeList)
{
if (string.IsNullOrEmpty(cc))
{
continue;
}
code += cc + "##";
}
return ReplaceCode(code);
}
}
}
...@@ -20,7 +20,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -20,7 +20,7 @@ namespace OnlineStore.DeviceLibrary
public partial class BoxBean : KTK_Store public partial class BoxBean : KTK_Store
{ {
private TaskData taskData = null; private TaskData taskData = null;
public EnteryDoorBean DoorBean = null; public HoisterCylinder DoorBean = null;
private bool IsIntSlvBlock = false; private bool IsIntSlvBlock = false;
public AutoInoutInfo AutoInout = new AutoInoutInfo(); public AutoInoutInfo AutoInout = new AutoInoutInfo();
public string CID = ""; public string CID = "";
...@@ -69,7 +69,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -69,7 +69,7 @@ namespace OnlineStore.DeviceLibrary
Name = (" BOX_" + config.Id + " ").ToUpper(); Name = (" BOX_" + config.Id + " ").ToUpper();
this.ID = config.Id; ; this.ID = config.Id; ;
this.Config = config; this.Config = config;
DoorBean = new EnteryDoorBean(ID); DoorBean = new HoisterCylinder(ID);
//温湿度 //温湿度
humBean = new HumitureBean(config.Humiture_Port, Name); humBean = new HumitureBean(config.Humiture_Port, Name);
// humBean.Init(); // humBean.Init();
...@@ -117,8 +117,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -117,8 +117,6 @@ namespace OnlineStore.DeviceLibrary
/// </summary> /// </summary>
public void MoveAxisConfig() public void MoveAxisConfig()
{ {
BOX_Config.ConfigAxis(Config);
moveAxisList = new List<ConfigMoveAxis>(); moveAxisList = new List<ConfigMoveAxis>();
moveAxisList.Add(Config.Middle_Axis); moveAxisList.Add(Config.Middle_Axis);
moveAxisList.Add(Config.UpDown_Axis); moveAxisList.Add(Config.UpDown_Axis);
...@@ -221,7 +219,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -221,7 +219,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NewMove(StoreMoveType.StoreReset); MoveInfo.NewMove(StoreMoveType.StoreReset);
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H54_InOutToP1); MoveInfo.NextMoveStep(StoreMoveStep.BOX_H54_InOutToP1);
LogInfo("到待机状态,进出轴到P1,判断叉子没有料盘"); LogInfo("到待机状态,进出轴到P1,判断叉子没有料盘");
ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed); ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1, Config.InOutAxis_P1_Speed);
} }
public override void Reset(bool isNeedClearAuto = true) public override void Reset(bool isNeedClearAuto = true)
...@@ -256,7 +254,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -256,7 +254,7 @@ namespace OnlineStore.DeviceLibrary
//开始复位动作 //开始复位动作
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H01_InOutBack); MoveInfo.NextMoveStep(StoreMoveStep.BOX_H01_InOutBack);
LogInfo(MoveInfo.MoveType + ": 开始料架入库,线体停止,进出轴先原点返回,设置agv" + Config.AgvNodeName + "为None"); LogInfo(MoveInfo.MoveType + ": 开始料架入库,线体停止,进出轴先原点返回 ");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
LineStop(); LineStop();
ACAxisHomeMove(Config.InOut_Axis); ACAxisHomeMove(Config.InOut_Axis);
...@@ -275,84 +273,84 @@ namespace OnlineStore.DeviceLibrary ...@@ -275,84 +273,84 @@ namespace OnlineStore.DeviceLibrary
{ {
return; return;
} }
switch (MoveInfo.MoveStep) //switch (MoveInfo.MoveStep)
{ //{
case StoreMoveStep.BOX_H01_InOutBack: // case StoreMoveStep.BOX_H01_InOutBack:
Thread.Sleep(200); // Thread.Sleep(200);
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H02_TopDown); // MoveInfo.NextMoveStep(StoreMoveStep.BOX_H02_TopDown);
LogInfo(MoveInfo.MoveType + ": 线体停止,进出轴到待机点P1,顶升气缸下降,NG门下降,入料移门关闭"); // LogInfo(MoveInfo.MoveType + ": 线体停止,进出轴到待机点P1,顶升气缸下降,NG门下降,入料移门关闭");
LineStop(); // LineStop();
AxisCountClear(Config.InOut_Axis); // AxisCountClear(Config.InOut_Axis);
ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed); // ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed);
CylinderMove(MoveInfo, IO_Type.NGDoowCylinder_Up, IO_Type.NGDoorCylinder_Down); // CylinderMove(MoveInfo, IO_Type.NGDoowCylinder_Up, IO_Type.NGDoorCylinder_Down);
CylinderMove(MoveInfo, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down); // CylinderMove(MoveInfo, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down);
DoorBean.StartClose(MoveInfo); // DoorBean.StartForward(MoveInfo);
break; // break;
case StoreMoveStep.BOX_H02_TopDown: // case StoreMoveStep.BOX_H02_TopDown:
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H03_LineRun); // MoveInfo.NextMoveStep(StoreMoveStep.BOX_H03_LineRun);
if (IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.HIGH)) // if (IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.HIGH))
{ // {
LogInfo(MoveInfo.MoveType + ":取料工位有料架,线体停止 "); // LogInfo(MoveInfo.MoveType + ":取料工位有料架,线体停止 ");
LineStop(); // LineStop();
} // }
else // else
{ // {
LogInfo(MoveInfo.MoveType + ":取料工位无料架, 线体先正转3000或等待取料工位有料架"); // LogInfo(MoveInfo.MoveType + ":取料工位无料架, 线体先正转3000或等待取料工位有料架");
LineRun(); // LineRun();
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.HIGH));
MoveInfo.OneWaitCanEndStep = true; // MoveInfo.OneWaitCanEndStep = true;
} // }
break; // break;
case StoreMoveStep.BOX_H03_LineRun: // case StoreMoveStep.BOX_H03_LineRun:
LineStop(); // LineStop();
//如果此时轴三还在报警,需要提示错误并等待 // //如果此时轴三还在报警,需要提示错误并等待
if (ACServerManager.GetAlarmStatus(Config.InOut_Axis.DeviceName, Config.InOut_Axis.GetAxisValue()) > 0) // if (ACServerManager.GetAlarmStatus(Config.InOut_Axis.DeviceName, Config.InOut_Axis.GetAxisValue()) > 0)
{ // {
LogUtil.error(Name + MoveInfo.MoveType + "复位失败: " + Config.InOut_Axis.Explain + "报警"); // LogUtil.error(Name + MoveInfo.MoveType + "复位失败: " + Config.InOut_Axis.Explain + "报警");
WarnMsg = Name + "复位失败: " + Config.InOut_Axis.Explain + "报警"; // WarnMsg = Name + "复位失败: " + Config.InOut_Axis.Explain + "报警";
Alarm(StoreAlarmType.AxisAlarm, GetAlarmCodeByAxis(Config.InOut_Axis).ToString(), WarnMsg, StoreMoveType.None); // Alarm(StoreAlarmType.AxisAlarm, GetAlarmCodeByAxis(Config.InOut_Axis).ToString(), WarnMsg, StoreMoveType.None);
return; // return;
} // }
//复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴 // //复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
LogInfo(MoveInfo.MoveType + ": 停止线体, 压紧轴,旋转轴,上下轴开始 原点返回"); // LogInfo(MoveInfo.MoveType + ": 停止线体, 压紧轴,旋转轴,上下轴开始 原点返回");
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H05_OtherAxisBack); // MoveInfo.NextMoveStep(StoreMoveStep.BOX_H05_OtherAxisBack);
ACAxisHomeMove(Config.Comp_Axis); // ACAxisHomeMove(Config.Comp_Axis);
ACAxisHomeMove(Config.Middle_Axis); // ACAxisHomeMove(Config.Middle_Axis);
ACAxisHomeMove(Config.UpDown_Axis); // ACAxisHomeMove(Config.UpDown_Axis);
break; // break;
case StoreMoveStep.BOX_H05_OtherAxisBack: // case StoreMoveStep.BOX_H05_OtherAxisBack:
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H06_MiddleAxisToP1); // MoveInfo.NextMoveStep(StoreMoveStep.BOX_H06_MiddleAxisToP1);
LogInfo(MoveInfo.MoveType + ": 旋转轴运动到P1,上下轴走到P1,压紧轴到P1 "); // LogInfo(MoveInfo.MoveType + ": 旋转轴运动到P1,上下轴走到P1,压紧轴到P1 ");
ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1, Config.MiddleAxis_P1_Speed); // ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1, Config.MiddleAxis_P1_Speed);
ACAxisMove(Config.UpDown_Axis, Config.UpDownAxis_P1, Config.UpDownAxis_P1_Speed); // ACAxisMove(Config.UpDown_Axis, Config.UpDownAxis_P1, Config.UpDownAxis_P1_Speed);
ACAxisMove(Config.Comp_Axis, Config.CompAxis_P1_Position, Config.CompAxis_P1_Speed); // ACAxisMove(Config.Comp_Axis, Config.CompAxis_P1_Position, Config.CompAxis_P1_Speed);
break; // break;
case StoreMoveStep.BOX_H06_MiddleAxisToP1: // case StoreMoveStep.BOX_H06_MiddleAxisToP1:
LogInfo(MoveInfo.MoveType + ": 完成"); // LogInfo(MoveInfo.MoveType + ": 完成");
MoveEndToRuningStatus(); // MoveEndToRuningStatus();
break; // break;
case StoreMoveStep.BOX_H54_InOutToP1: // case StoreMoveStep.BOX_H54_InOutToP1:
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H55_CompHome); // MoveInfo.NextMoveStep(StoreMoveStep.BOX_H55_CompHome);
LogInfo("到待机状态,压紧轴回原点,关闭舱门"); // LogInfo("到待机状态,压紧轴回原点,关闭舱门");
ACAxisHomeMove(Config.Comp_Axis); // ACAxisHomeMove(Config.Comp_Axis);
break; // break;
case StoreMoveStep.BOX_H55_CompHome: // case StoreMoveStep.BOX_H55_CompHome:
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H56_OtherAxisToP1); // MoveInfo.NextMoveStep(StoreMoveStep.BOX_H56_OtherAxisToP1);
LogInfo(MoveInfo.MoveType + ": 旋转轴运动到P1,上下轴走到P1,压紧轴到P1 "); // LogInfo(MoveInfo.MoveType + ": 旋转轴运动到P1,上下轴走到P1,压紧轴到P1 ");
ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1, Config.MiddleAxis_P1_Speed); // ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1, Config.MiddleAxis_P1_Speed);
ACAxisMove(Config.UpDown_Axis, Config.UpDownAxis_P1, Config.UpDownAxis_P1_Speed); // ACAxisMove(Config.UpDown_Axis, Config.UpDownAxis_P1, Config.UpDownAxis_P1_Speed);
ACAxisMove(Config.Comp_Axis, Config.CompAxis_P1_Position, Config.CompAxis_P1_Speed); // ACAxisMove(Config.Comp_Axis, Config.CompAxis_P1_Position, Config.CompAxis_P1_Speed);
break; // break;
case StoreMoveStep.BOX_H56_OtherAxisToP1: // case StoreMoveStep.BOX_H56_OtherAxisToP1:
LogInfo("到待机状态完成"); // LogInfo("到待机状态完成");
MoveEndToRuningStatus(); // MoveEndToRuningStatus();
break; // break;
default: break; // default: break;
} //}
} }
...@@ -360,7 +358,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -360,7 +358,7 @@ namespace OnlineStore.DeviceLibrary
public bool RunAxis(bool isCheck) public bool RunAxis(bool isCheck)
{ {
IOMove(IO_Type.Run_Signal, IO_VALUE.HIGH); IOMove(IO_Type.Axis_Run, IO_VALUE.HIGH);
Thread.Sleep(1000); Thread.Sleep(1000);
//打开所有轴 //打开所有轴
foreach (ConfigMoveAxis moveAxis in moveAxisList) foreach (ConfigMoveAxis moveAxis in moveAxisList)
...@@ -390,7 +388,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -390,7 +388,7 @@ namespace OnlineStore.DeviceLibrary
} }
} }
IsIntSlvBlock = true; IsIntSlvBlock = true;
IOMove(IO_Type.Axis_Brake, IO_VALUE.HIGH); IOMove(IO_Type.UpdownAxis_Break, IO_VALUE.HIGH);
return true; return true;
} }
...@@ -436,13 +434,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -436,13 +434,13 @@ namespace OnlineStore.DeviceLibrary
public void CloseAllAxis() public void CloseAllAxis()
{ {
LogUtil.info(Name + "关闭刹车,关闭伺服"); LogUtil.info(Name + "关闭刹车,关闭伺服");
IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW); IOMove(IO_Type.UpdownAxis_Break, IO_VALUE.LOW);
foreach (ConfigMoveAxis axis in moveAxisList) foreach (ConfigMoveAxis axis in moveAxisList)
{ {
ACServerManager.ServoOff(axis.DeviceName, axis.GetAxisValue()); ACServerManager.ServoOff(axis.DeviceName, axis.GetAxisValue());
} }
Thread.Sleep(100); Thread.Sleep(100);
IOMove(IO_Type.Run_Signal, IO_VALUE.LOW); IOMove(IO_Type.Axis_Run, IO_VALUE.LOW);
} }
...@@ -564,7 +562,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -564,7 +562,7 @@ namespace OnlineStore.DeviceLibrary
if (preAirValue.Equals(IO_VALUE.LOW)) if (preAirValue.Equals(IO_VALUE.LOW))
{ {
TimeSpan span = DateTime.Now - lastAirCloseTime; TimeSpan span = DateTime.Now - lastAirCloseTime;
if (span.TotalSeconds > Config.AirCheckSeconds) if (span.TotalSeconds > StoreManager.Config.AirCheckSeconds)
{ {
WarnMsg = "未检测到气压信号"; WarnMsg = "未检测到气压信号";
preAirValue = IO_VALUE.LOW; preAirValue = IO_VALUE.LOW;
...@@ -677,14 +675,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -677,14 +675,14 @@ namespace OnlineStore.DeviceLibrary
IOTimeOutProcess(); IOTimeOutProcess();
ShowTimeLog("IOTimeOutProcess"); ShowTimeLog("IOTimeOutProcess");
//如果入口有料架需要入库 ////如果入口有料架需要入库
if (StoreManager.Store.AutoShelfInstore && //if (StoreManager.Store.AutoShelfInstore &&
MoveInfo.MoveType.Equals(StoreMoveType.None) && // MoveInfo.MoveType.Equals(StoreMoveType.None) &&
(IOValue(IO_Type.LineIn_Check).Equals(IO_VALUE.HIGH) || IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.HIGH))) // (IOValue(IO_Type.LineIn_Check).Equals(IO_VALUE.HIGH) || IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.HIGH)))
{ //{
LogUtil.info(Name + "AutoShelfInstore=true ,检测到料架,开始料架入库"); // LogUtil.info(Name + "AutoShelfInstore=true ,检测到料架,开始料架入库");
StartShelfInStore(); // StartShelfInStore();
} //}
} }
} }
...@@ -737,7 +735,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -737,7 +735,7 @@ namespace OnlineStore.DeviceLibrary
try try
{ {
bool noInStore = true; bool noInStore = true;
if (AutoInout.CurrInOutACount >= this.Config.Box_ResetACount && noInStore) if (AutoInout.CurrInOutACount >= StoreManager.Config.Box_ResetACount && noInStore)
{ {
if (storeRunStatus < StoreRunStatus.Runing || MoveInfo.MoveType == StoreMoveType.InStore || MoveInfo.MoveType == StoreMoveType.OutStore) if (storeRunStatus < StoreRunStatus.Runing || MoveInfo.MoveType == StoreMoveType.InStore || MoveInfo.MoveType == StoreMoveType.OutStore)
{ {
...@@ -810,9 +808,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -810,9 +808,9 @@ namespace OnlineStore.DeviceLibrary
public override void StopMove() public override void StopMove()
{ {
DoorBean.Stop(); DoorBean.Stop();
IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW); IOMove(IO_Type.UpdownAxis_Break, IO_VALUE.LOW);
MoveInfo.EndMove(); MoveInfo.EndMove();
IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW); IOMove(IO_Type.UpdownAxis_Break, IO_VALUE.LOW);
//运动版停止 //运动版停止
ACServerManager.SuddenStop(Config.Middle_Axis.DeviceName, Config.Middle_Axis.GetAxisValue()); ACServerManager.SuddenStop(Config.Middle_Axis.DeviceName, Config.Middle_Axis.GetAxisValue());
ACServerManager.SuddenStop(Config.UpDown_Axis.DeviceName, Config.UpDown_Axis.GetAxisValue()); ACServerManager.SuddenStop(Config.UpDown_Axis.DeviceName, Config.UpDown_Axis.GetAxisValue());
...@@ -856,8 +854,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -856,8 +854,6 @@ namespace OnlineStore.DeviceLibrary
// msg += "lineS: " + storeStatus + "\n"; // msg += "lineS: " + storeStatus + "\n";
msg += "报警: " + alarmType + "\n"; msg += "报警: " + alarmType + "\n";
msg += MoveInfo.MoveType + " " + MoveInfo.SLog + "\n"; msg += MoveInfo.MoveType + " " + MoveInfo.SLog + "\n";
// msg += "MoveS: " + MoveInfo.SLog + "\n";
msg += "料架: " + CurrShelfID + " " + LastOutParam.rfid + "\n";
return msg; return msg;
} }
} }
......
...@@ -62,7 +62,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -62,7 +62,7 @@ namespace OnlineStore.DeviceLibrary
else if (wait.WaitType.Equals(WaitEnum.W002_IOValue)) else if (wait.WaitType.Equals(WaitEnum.W002_IOValue))
{ {
wait.IsEnd = IOValue(wait.IoType).Equals(wait.IoValue); wait.IsEnd = IOValue(wait.IoType).Equals(wait.IoValue);
int timeOutMs = Config.IOSingle_TimerOut; int timeOutMs = StoreManager.Config.IOSingle_TimerOut;
if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_08_WaitLineIn) || if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_08_WaitLineIn) ||
MoveInfo.MoveStep.Equals(StoreMoveStep.BI_04_WaitTakeSingle)) MoveInfo.MoveStep.Equals(StoreMoveStep.BI_04_WaitTakeSingle))
...@@ -84,10 +84,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -84,10 +84,6 @@ namespace OnlineStore.DeviceLibrary
isOk = false; isOk = false;
break; break;
} }
if (wait.IoType.Equals(IO_Type.Compress_Check) && MoveInfo.MoveStep.Equals(StoreMoveStep.SO_07_CheckComSig))
{
CompressSigTimeOut = true;
}
} }
} }
else if (wait.WaitType.Equals(WaitEnum.W003_Time)) else if (wait.WaitType.Equals(WaitEnum.W003_Time))
...@@ -97,26 +93,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -97,26 +93,7 @@ namespace OnlineStore.DeviceLibrary
else if (wait.WaitType.Equals(WaitEnum.W007_ReelHeight)) else if (wait.WaitType.Equals(WaitEnum.W007_ReelHeight))
{ {
} }
else if (wait.WaitType.Equals(WaitEnum.W008_Compress))
{
//等待信号亮或者走到绝对位置才停止
if (IOValue(TargetIoType).Equals(TargetIoValue))
{
LogUtil.info("CheckWait 检测到" + TargetIoType + "=" + TargetIoValue + ",停止压紧轴运行");
wait.IsEnd = true;
ComAxisStopCheck();
}
else
{
bool moveOk = ACServerManager.GetBusyStatus(wait.AxisInfo.DeviceName, wait.AxisInfo.GetAxisValue()).Equals(0);
if (moveOk)
{
//TODO 判断是否达到高度,如果未达到,继续上升
wait.IsEnd = true;
ComAxisStopCheck();
}
}
}
else if (wait.WaitType.Equals(WaitEnum.W009_ScanCode)) else if (wait.WaitType.Equals(WaitEnum.W009_ScanCode))
{ {
wait.IsEnd = (LastScanCodes.Count > 0); wait.IsEnd = (LastScanCodes.Count > 0);
...@@ -237,13 +214,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -237,13 +214,9 @@ namespace OnlineStore.DeviceLibrary
/// 最后一次使用的料架号 /// 最后一次使用的料架号
/// </summary> /// </summary>
// private string LastRfidID = "";//服务器发送的出库rfid // private string LastRfidID = "";//服务器发送的出库rfid
private InOutParam LastOutParam = new InOutParam(); //private InOutParam LastOutParam = new InOutParam();
private string GetLastRfid()
{
//出库料架使用,返回上次使用的料架绑定的虚拟料架号
return LastOutParam.rfid;
}
#region 入库 #region 入库
private void ClearLastTrayInfo() private void ClearLastTrayInfo()
...@@ -283,10 +256,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -283,10 +256,9 @@ namespace OnlineStore.DeviceLibrary
MoveInfo.NextMoveStep(StoreMoveStep.BI_11_InoutToP1); MoveInfo.NextMoveStep(StoreMoveStep.BI_11_InoutToP1);
MoveInfo.SingleInstore = true; MoveInfo.SingleInstore = true;
InOutStoreLog("料架取料:" + MoveInfo.SLog + " 叉子后退到待机点P1, 重置盘信息"); InOutStoreLog("料架取料:" + MoveInfo.SLog + " 叉子后退到待机点P1, 重置盘信息");
ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed); ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1, Config.InOutAxis_P1_Speed);
ClearLastTrayInfo(); ClearLastTrayInfo();
//LastRfidID = ""; //LastRfidID = "";
LastOutParam = new InOutParam();
} }
...@@ -296,46 +268,46 @@ namespace OnlineStore.DeviceLibrary ...@@ -296,46 +268,46 @@ namespace OnlineStore.DeviceLibrary
public void StartShelfInStore() public void StartShelfInStore()
{ {
bool canStart = (storeRunStatus.Equals(StoreRunStatus.Runing) //bool canStart = (storeRunStatus.Equals(StoreRunStatus.Runing)
&& MoveInfo.MoveType.Equals(StoreMoveType.None)); // && MoveInfo.MoveType.Equals(StoreMoveType.None));
if (!canStart || isInSuddenDown || isNoAirCheck || (alarmType.Equals(StoreAlarmType.None).Equals(false))) //if (!canStart || isInSuddenDown || isNoAirCheck || (alarmType.Equals(StoreAlarmType.None).Equals(false)))
{ //{
return; // return;
} //}
storeRunStatus = StoreRunStatus.Busy; //storeRunStatus = StoreRunStatus.Busy;
storeStatus = StoreStatus.InStoreExecute; //storeStatus = StoreStatus.InStoreExecute;
// EmprtShelfList = new ConcurrentQueue<string>(); //// EmprtShelfList = new ConcurrentQueue<string>();
if (IOValue(IO_Type.LineIn_Check).Equals(IO_VALUE.HIGH)) //if (IOValue(IO_Type.LineIn_Check).Equals(IO_VALUE.HIGH))
{ //{
MoveInfo.NewMove(StoreMoveType.InStore, new InOutParam()); // MoveInfo.NewMove(StoreMoveType.InStore, new InOutParam());
MoveInfo.MoveParam.MoveP = new LineMoveP(Config); // MoveInfo.MoveParam.MoveP = new LineMoveP(Config);
MoveInfo.ShelfPositionList = new List<string>(ShelfPosList); // MoveInfo.ShelfPositionList = new List<string>(ShelfPosList);
MoveInfo.NextMoveStep(StoreMoveStep.BI_01_DoorOpen); // MoveInfo.NextMoveStep(StoreMoveStep.BI_01_DoorOpen);
LogInfo(" 空闲中,检测到入料口有料架,启动料架入库 " + MoveInfo.SLog + ""); // LogInfo(" 空闲中,检测到入料口有料架,启动料架入库 " + MoveInfo.SLog + "");
// CylinderMove(MoveInfo, IO_Type.EntranceDoor_Close, IO_Type.EntranceDoor_Open); // // CylinderMove(MoveInfo, IO_Type.EntranceDoor_Close, IO_Type.EntranceDoor_Open);
// DoorBean.StartOpen(MoveInfo); // // DoorBean.StartOpen(MoveInfo);
} //}
else if (IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.HIGH)) //else if (IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.HIGH))
{ //{
MoveInfo.NewMove(StoreMoveType.InStore, new InOutParam()); // MoveInfo.NewMove(StoreMoveType.InStore, new InOutParam());
MoveInfo.MoveParam.MoveP = new LineMoveP(Config); // MoveInfo.MoveParam.MoveP = new LineMoveP(Config);
MoveInfo.ShelfPositionList = new List<string>(ShelfPosList); // MoveInfo.ShelfPositionList = new List<string>(ShelfPosList);
MoveInfo.NextMoveStep(StoreMoveStep.BI_06_DoorClose); // MoveInfo.NextMoveStep(StoreMoveStep.BI_06_DoorClose);
LogInfo(" 空闲中,检测到入料口有料架,启动料架入库 " + MoveInfo.SLog + ""); // LogInfo(" 空闲中,检测到入料口有料架,启动料架入库 " + MoveInfo.SLog + "");
} //}
else //else
{ //{
LogInfo(" 空闲中,需要料架入库,料架入库 " + MoveInfo.SLog + ":入料口移门打开,更新 WaitShelfEnter=false"); // LogInfo(" 空闲中,需要料架入库,料架入库 " + MoveInfo.SLog + ":入料口移门打开,更新 WaitShelfEnter=false");
WaitShelfEnter = false; // WaitShelfEnter = false;
MoveInfo.NewMove(StoreMoveType.InStore, new InOutParam()); // MoveInfo.NewMove(StoreMoveType.InStore, new InOutParam());
MoveInfo.MoveParam.MoveP = new LineMoveP(Config); // MoveInfo.MoveParam.MoveP = new LineMoveP(Config);
MoveInfo.ShelfPositionList = new List<string>(ShelfPosList); // MoveInfo.ShelfPositionList = new List<string>(ShelfPosList);
MoveInfo.NextMoveStep(StoreMoveStep.BI_01_DoorOpen); // MoveInfo.NextMoveStep(StoreMoveStep.BI_01_DoorOpen);
DoorBean.StartOpen(MoveInfo); // DoorBean.StartBack(MoveInfo);
} //}
} }
private void UpdateShelfId() private void UpdateShelfId()
...@@ -399,242 +371,224 @@ namespace OnlineStore.DeviceLibrary ...@@ -399,242 +371,224 @@ namespace OnlineStore.DeviceLibrary
} }
#region 料架取料盘扫码获取POSID #region 料架取料盘扫码获取POSID
if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_10_StartGetTray)) //if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_10_StartGetTray))
{ //{
if (MoveInfo.IsShelfLocked) // if (MoveInfo.IsShelfLocked)
{ // {
if (MoveInfo.NextLockedShelfPos()) // if (MoveInfo.NextLockedShelfPos())
{ // {
//新的料架库位 // //新的料架库位
startInStoreTime = DateTime.Now; // startInStoreTime = DateTime.Now;
MoveInfo.SingleInstore = false; // MoveInfo.SingleInstore = false;
MoveInfo.NextMoveStep(StoreMoveStep.BI_11_InoutToP1); // MoveInfo.NextMoveStep(StoreMoveStep.BI_11_InoutToP1);
InOutStoreLog("料架取料 " + MoveInfo.SLog + ":叉子后退到待机点P1, 重置盘信息"); // InOutStoreLog("料架取料 " + MoveInfo.SLog + ":叉子后退到待机点P1, 重置盘信息");
ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed); // ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed);
ClearLastTrayInfo(); // ClearLastTrayInfo();
} // }
else // else
{ // {
//所有料盘已取料完成,送出料架 // //所有料盘已取料完成,送出料架
StartShelfOut(); // StartShelfOut();
} // }
} // }
else // else
{ // {
if (MoveInfo.NextShelfPos()) // if (MoveInfo.NextShelfPos())
{ // {
//新的料架库位 // //新的料架库位
startInStoreTime = DateTime.Now; // startInStoreTime = DateTime.Now;
MoveInfo.SingleInstore = false; // MoveInfo.SingleInstore = false;
MoveInfo.NextMoveStep(StoreMoveStep.BI_11_InoutToP1); // MoveInfo.NextMoveStep(StoreMoveStep.BI_11_InoutToP1);
InOutStoreLog("料架取料 " + MoveInfo.SLog + ":叉子后退到待机点P1, 重置盘信息"); // InOutStoreLog("料架取料 " + MoveInfo.SLog + ":叉子后退到待机点P1, 重置盘信息");
ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed); // ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed);
ClearLastTrayInfo(); // ClearLastTrayInfo();
} // }
else // else
{ // {
//所有料盘已取料完成,送出料架 // //所有料盘已取料完成,送出料架
StartShelfOut(); // StartShelfOut();
} // }
} // }
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_11_InoutToP1))
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_12_MoveToShelf);
InOutStoreLog("料架取料 " + MoveInfo.SLog + ":升降轴到P101低点,旋转轴到P101点,压紧轴到压紧前点");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_LP101, Config.UpDownAxis_P101_Speed);
ACAxisMove(Config.Middle_Axis, moveP.Middle_P101, Config.MiddleAxis_P101_Speed);
ACAxisMove(Config.Comp_Axis, Config.CompAxis_Max_P3, Config.CompAxis_P3_Speed);
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_12_MoveToShelf))
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_13_InoutToP101);
InOutStoreLog("料架取料 " + MoveInfo.SLog + ":叉子前进到P101点");
ACAxisMove(Config.InOut_Axis, moveP.InOut_P101, Config.InOutAxis_P101_Speed);
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_13_InoutToP101))
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_14_UpdownToP102);
InOutStoreLog("料架取料 " + MoveInfo.SLog + ":升降轴上升到P102点");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_HP102, Config.UpDownAxis_P102_Speed);
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_14_UpdownToP102))
{
if (MoveInfo.SingleInstore)
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_16_ComDownMove);
InOutStoreLog("单盘入库,料架取料 " + MoveInfo.SLog + ":压紧轴走到压紧点P2: " + MoveInfo.MoveParam.MoveP.ComPress_P2);
ACAxisMove(Config.Comp_Axis, MoveInfo.MoveParam.MoveP.ComPress_P2, Config.CompAxis_P2_Speed);
}
else
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_15_StartCompress);
InOutStoreLog("料架取料 " + MoveInfo.SLog + ":压紧轴开始缓慢压紧到P4 :" + Config.CompAxis_P4_Position);
MoveInfo.WaitList.Add(WaitResultInfo.WaitComAxis(Config.Comp_Axis, Config.CompAxis_P4_Position, Config.CompAxis_P4_Speed));
Config.Comp_Axis.TargetPosition = Config.CompAxis_P4_Position;
ACServerManager.AbsMove(Config.Comp_Axis.DeviceName, Config.Comp_Axis.GetAxisValue(), Config.CompAxis_P4_Position, Config.CompAxis_P4_Speed);
ComAxisStartCheck();
}
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_15_StartCompress))
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_16_ComDownMove);
int currPosition = ACServerManager.GetActualtPosition(Config.Comp_Axis.DeviceName,Config.Comp_Axis.GetAxisValue());
ComTargetPosition = currPosition;
int targetP = currPosition + Config.CompAxis_Down_Position;
LastHeight = Config.GetComP2PlateH(targetP);
MoveInfo.MoveParam.MoveP.ComPress_P2 = targetP;
MoveInfo.MoveParam.MoveP.ComPress_P3 = targetP + Config.CompAxis_P3_P2_Value;
InOutStoreLog("料架取料 " + MoveInfo.SLog + ":检测到Compress_Check,盘高【" + LastHeight + "】,向下压紧 [" + Config.CompAxis_Down_Position + "] 目标 [" + targetP +
"]记录ComP2[" + targetP + "]ComP3[" + MoveInfo.MoveParam.MoveP.ComPress_P3 + "]");
ACAxisMove(Config.Comp_Axis, targetP, Config.CompAxis_P1_Speed);
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_16_ComDownMove))
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_17_InoutBack);
InOutStoreLog("料架取料 " + MoveInfo.SLog + ":叉子后退到扫码点");
ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.CompAxis_P1_Speed);
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_17_InoutBack))
{
if (MoveInfo.SingleInstore)
{
//单盘入库,不需要扫码
StartMoveToBag();
}
else if(MoveInfo.IsShelfLocked)
{
//该料架已锁定库位,不需要扫码,直接查询服务器
GetPosId();
}
else
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_21_ToScanPosition);
InOutStoreLog("扫码 " + MoveInfo.SLog + ":升降轴到P2,旋转轴到P1");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P2, Config.UpDownAxis_P2_Speed);
ACAxisMove(Config.Middle_Axis, moveP.Middle_P1, Config.MiddleAxis_P1_Speed);
}
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_21_ToScanPosition))
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_22_InOutToP2);
InOutStoreLog("扫码 " + MoveInfo.SLog + ":进出轴到P2");
ACAxisMove(Config.InOut_Axis, moveP.InOut_P2, Config.InOutAxis_P2_Speed);
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_22_InOutToP2)) //}
{ //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_11_InoutToP1))
MoveInfo.NextMoveStep(StoreMoveStep.BI_23_PutTrayDown); //{
InOutStoreLog("扫码 " + MoveInfo.SLog + ":升降轴到扫码低点P1,压紧轴到压紧前点P3"); // MoveInfo.NextMoveStep(StoreMoveStep.BI_12_MoveToShelf);
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed); // InOutStoreLog("料架取料 " + MoveInfo.SLog + ":升降轴到P101低点,旋转轴到P101点,压紧轴到压紧前点");
ACAxisMove(Config.Comp_Axis, moveP.ComPress_P3, Config.CompAxis_P3_Speed); // ACAxisMove(Config.UpDown_Axis, moveP.UpDown_LP101, Config.UpDownAxis_P101_Speed);
} // ACAxisMove(Config.Middle_Axis, moveP.Middle_P101, Config.MiddleAxis_P101_Speed);
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_23_PutTrayDown)) // ACAxisMove(Config.Comp_Axis, Config.CompAxis_Max_P3, Config.CompAxis_P3_Speed);
{ //}
MoveInfo.NextMoveStep(StoreMoveStep.BI_24_InOutToP1); //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_12_MoveToShelf))
InOutStoreLog("扫码 " + MoveInfo.SLog + ":进出轴返回待机点P1"); //{
ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.CompAxis_P1_Speed); // MoveInfo.NextMoveStep(StoreMoveStep.BI_13_InoutToP101);
} // InOutStoreLog("料架取料 " + MoveInfo.SLog + ":叉子前进到P101点");
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_24_InOutToP1)) // ACAxisMove(Config.InOut_Axis, moveP.InOut_P101, Config.InOutAxis_P101_Speed);
{ //}
IO_VALUE io1 = IOValue(IO_Type.TrayCheck_1); //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_13_InoutToP101))
IO_VALUE io2 = IOValue(IO_Type.TrayCheck_2); //{
IO_VALUE io3 = IOValue(IO_Type.TrayCheck_3); // MoveInfo.NextMoveStep(StoreMoveStep.BI_14_UpdownToP102);
IO_VALUE io4 = IOValue(IO_Type.TrayCheck_4); // InOutStoreLog("料架取料 " + MoveInfo.SLog + ":升降轴上升到P102点");
// ACAxisMove(Config.UpDown_Axis, moveP.UpDown_HP102, Config.UpDownAxis_P102_Speed);
//}
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_14_UpdownToP102))
//{
// if (MoveInfo.SingleInstore)
// {
// MoveInfo.NextMoveStep(StoreMoveStep.BI_16_ComDownMove);
// InOutStoreLog("单盘入库,料架取料 " + MoveInfo.SLog + ":压紧轴走到压紧点P2: " + MoveInfo.MoveParam.MoveP.ComPress_P2);
// ACAxisMove(Config.Comp_Axis, MoveInfo.MoveParam.MoveP.ComPress_P2, Config.CompAxis_P2_Speed);
// }
// else
// {
// MoveInfo.NextMoveStep(StoreMoveStep.BI_15_StartCompress);
// InOutStoreLog("料架取料 " + MoveInfo.SLog + ":压紧轴开始缓慢压紧到P4 :" + Config.CompAxis_P4_Position);
// MoveInfo.WaitList.Add(WaitResultInfo.WaitComAxis(Config.Comp_Axis, Config.CompAxis_P4_Position, Config.CompAxis_P4_Speed));
// Config.Comp_Axis.TargetPosition = Config.CompAxis_P4_Position;
// ACServerManager.AbsMove(Config.Comp_Axis.DeviceName, Config.Comp_Axis.GetAxisValue(), Config.CompAxis_P4_Position, Config.CompAxis_P4_Speed);
// ComAxisStartCheck();
// }
//}
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_15_StartCompress))
//{
// MoveInfo.NextMoveStep(StoreMoveStep.BI_16_ComDownMove);
// int currPosition = ACServerManager.GetActualtPosition(Config.Comp_Axis.DeviceName,Config.Comp_Axis.GetAxisValue());
// ComTargetPosition = currPosition;
// int targetP = currPosition + Config.CompAxis_Down_Position;
// LastHeight = Config.GetComP2PlateH(targetP);
// MoveInfo.MoveParam.MoveP.ComPress_P2 = targetP;
// MoveInfo.MoveParam.MoveP.ComPress_P3 = targetP + Config.CompAxis_P3_P2_Value;
// InOutStoreLog("料架取料 " + MoveInfo.SLog + ":检测到Compress_Check,盘高【" + LastHeight + "】,向下压紧 [" + Config.CompAxis_Down_Position + "] 目标 [" + targetP +
// "]记录ComP2[" + targetP + "]ComP3[" + MoveInfo.MoveParam.MoveP.ComPress_P3 + "]");
// ACAxisMove(Config.Comp_Axis, targetP, Config.CompAxis_P1_Speed);
if (io3.Equals(IO_VALUE.HIGH) || io4.Equals(IO_VALUE.HIGH)) //}
{ //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_16_ComDownMove))
LastWidth = 15; //{
} // MoveInfo.NextMoveStep(StoreMoveStep.BI_17_InoutBack);
else if (io1.Equals(IO_VALUE.HIGH) || io2.Equals(IO_VALUE.HIGH)) // InOutStoreLog("料架取料 " + MoveInfo.SLog + ":叉子后退到扫码点");
{ // ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.CompAxis_P1_Speed);
LastWidth = 7; //}
} //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_17_InoutBack))
else //{
{ // if (MoveInfo.SingleInstore)
LastWidth = 0; // {
LogUtil.debug("未检测到识别区料盘检测信号, 设置默认宽度=0"); // //单盘入库,不需要扫码
} // StartMoveToBag();
// }
// else if(MoveInfo.IsShelfLocked)
// {
// //该料架已锁定库位,不需要扫码,直接查询服务器
// GetPosId();
// }
// else
// {
// MoveInfo.NextMoveStep(StoreMoveStep.BI_21_ToScanPosition);
// InOutStoreLog("扫码 " + MoveInfo.SLog + ":升降轴到P2,旋转轴到P1");
// ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P2, Config.UpDownAxis_P2_Speed);
// ACAxisMove(Config.Middle_Axis, moveP.Middle_P1, Config.MiddleAxis_P1_Speed);
// }
//}
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_21_ToScanPosition))
//{
// MoveInfo.NextMoveStep(StoreMoveStep.BI_22_InOutToP2);
// InOutStoreLog("扫码 " + MoveInfo.SLog + ":进出轴到P2");
// ACAxisMove(Config.InOut_Axis, moveP.InOut_P2, Config.InOutAxis_P2_Speed);
//}
MoveInfo.NextMoveStep(StoreMoveStep.BI_25_ScanCode); //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_22_InOutToP2))
InOutStoreLog("扫码 " + MoveInfo.SLog + ":料盘识别 [" + io1 + "] [" + io2 + "] [" + io3 + "] [" + io4 + "] ,宽度【" + LastWidth + "】,开始扫码"); //{
MoveInfo.OneWaitCanEndStep = true; // MoveInfo.NextMoveStep(StoreMoveStep.BI_23_PutTrayDown);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(12000)); // InOutStoreLog("扫码 " + MoveInfo.SLog + ":升降轴到扫码低点P1,压紧轴到压紧前点P3");
MoveInfo.WaitList.Add(WaitResultInfo.WaitCode()); // ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed);
Task.Factory.StartNew(delegate // ACAxisMove(Config.Comp_Axis, moveP.ComPress_P3, Config.CompAxis_P3_Speed);
{ //}
IOMove(IO_Type.Camera_Led, IO_VALUE.HIGH); //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_23_PutTrayDown))
LastScanCodes = CodeManager.CameraScan(Config.GetCameraList(), Name); //{
if (LastScanCodes.Count <= 0) // MoveInfo.NextMoveStep(StoreMoveStep.BI_24_InOutToP1);
{ // InOutStoreLog("扫码 " + MoveInfo.SLog + ":进出轴返回待机点P1");
Thread.Sleep(1); // ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.CompAxis_P1_Speed);
LastScanCodes = CodeManager.CameraScan(Config.GetCameraList(), Name); //}
} //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_24_InOutToP1))
IOMove(IO_Type.Camera_Led, IO_VALUE.LOW); //{
}); // LastWidth = 7;
} // MoveInfo.NextMoveStep(StoreMoveStep.BI_25_ScanCode);
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_25_ScanCode)) // InOutStoreLog("扫码 " + MoveInfo.SLog + ":料盘识别 宽度【" + LastWidth + "】,开始扫码");
{ // MoveInfo.OneWaitCanEndStep = true;
if (LastScanCodes.Count <= 0 && LastWidth.Equals(0) && LastHeight.Equals(8)) // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(12000));
{ // MoveInfo.WaitList.Add(WaitResultInfo.WaitCode());
storeStatus = StoreStatus.InStoreExecute; // Task.Factory.StartNew(delegate
MoveInfo.NextMoveStep(StoreMoveStep.BI_10_StartGetTray); // {
InOutStoreLog("扫码 " + MoveInfo.SLog + ": 扫码失败,尺寸" + LastWidth + "*" + LastHeight + ",认为没拿到料盘,继续循环料架取料盘"); // IOMove(IO_Type.Camera_Led, IO_VALUE.HIGH);
} // LastScanCodes = CodeManager.CameraScan(Config.GetCameraList(), Name);
else // if (LastScanCodes.Count <= 0)
{ // {
MoveInfo.NextMoveStep(StoreMoveStep.BI_27_InoutToP2); // Thread.Sleep(1);
InOutStoreLog("扫码 " + MoveInfo.SLog + ":进出轴到P2"); // LastScanCodes = CodeManager.CameraScan(Config.GetCameraList(), Name);
ACAxisMove(Config.InOut_Axis, moveP.InOut_P2, Config.InOutAxis_P2_Speed); // }
} // IOMove(IO_Type.Camera_Led, IO_VALUE.LOW);
} // });
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_27_InoutToP2)) //}
{ //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_25_ScanCode))
MoveInfo.NextMoveStep(StoreMoveStep.BI_28_GetScanPTray); //{
InOutStoreLog("扫码 " + MoveInfo.SLog + ":升降轴到扫码高P2,压紧轴到压紧点P2"); // if (LastScanCodes.Count <= 0 && LastWidth.Equals(0) && LastHeight.Equals(8))
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P2, Config.UpDownAxis_P2_Speed); // {
ACAxisMove(Config.Comp_Axis, moveP.ComPress_P2, Config.CompAxis_P2_Speed); // storeStatus = StoreStatus.InStoreExecute;
} // MoveInfo.NextMoveStep(StoreMoveStep.BI_10_StartGetTray);
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_28_GetScanPTray)) // InOutStoreLog("扫码 " + MoveInfo.SLog + ": 扫码失败,尺寸" + LastWidth + "*" + LastHeight + ",认为没拿到料盘,继续循环料架取料盘");
{ // }
MoveInfo.NextMoveStep(StoreMoveStep.BI_29_InoutBackP1); // else
InOutStoreLog("扫码 " + MoveInfo.SLog + ":进出轴返回"); // {
ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed); // MoveInfo.NextMoveStep(StoreMoveStep.BI_27_InoutToP2);
} // InOutStoreLog("扫码 " + MoveInfo.SLog + ":进出轴到P2");
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_29_InoutBackP1)) // ACAxisMove(Config.InOut_Axis, moveP.InOut_P2, Config.InOutAxis_P2_Speed);
{ // }
if (LastScanCodes.Count <= 0) //}
{ //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_27_InoutToP2))
StartSendTray(); //{
} // MoveInfo.NextMoveStep(StoreMoveStep.BI_28_GetScanPTray);
else // InOutStoreLog("扫码 " + MoveInfo.SLog + ":升降轴到扫码高P2,压紧轴到压紧点P2");
{ // ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P2, Config.UpDownAxis_P2_Speed);
MoveInfo.NextMoveStep(StoreMoveStep.BI_30_SetInstoreParam); // ACAxisMove(Config.Comp_Axis, moveP.ComPress_P2, Config.CompAxis_P2_Speed);
InOutStoreLog("扫码 " + MoveInfo.SLog + ": 获取库位号"); //}
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000)); //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_28_GetScanPTray))
bool result = GetPosIdByCode(MoveInfo.currShelfIndex, out CodeResultType codeResult); //{
if (!result)//获取库位失败 // MoveInfo.NextMoveStep(StoreMoveStep.BI_29_InoutBackP1);
{ // InOutStoreLog("扫码 " + MoveInfo.SLog + ":进出轴返回");
if (codeResult == CodeResultType.NotFoundPos)//库位不在该料仓,将该料盘放回料架 // ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
{ //}
//MoveInfo.MoveParam.PosID = ""; //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_29_InoutBackP1))
StartMoveTrayBack("此料盘不属于该仓库,放回料架"); //{
} // if (LastScanCodes.Count <= 0)
else//无法获取库位信息 // {
{ // StartSendTray();
MoveInfo.MoveParam.PosID = ""; // }
StartSendTray("获取入库库位失败"); // else
} // {
} // MoveInfo.NextMoveStep(StoreMoveStep.BI_30_SetInstoreParam);
else // InOutStoreLog("扫码 " + MoveInfo.SLog + ": 获取库位号");
{ // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000));
MoveInfo.EndStepWait(); // bool result = GetPosIdByCode(MoveInfo.currShelfIndex, out CodeResultType codeResult);
} // if (!result)//获取库位失败
} // {
} // if (codeResult == CodeResultType.NotFoundPos)//库位不在该料仓,将该料盘放回料架
// {
// //MoveInfo.MoveParam.PosID = "";
// StartMoveTrayBack("此料盘不属于该仓库,放回料架");
// }
// else//无法获取库位信息
// {
// MoveInfo.MoveParam.PosID = "";
// StartSendTray("获取入库库位失败");
// }
// }
// else
// {
// MoveInfo.EndStepWait();
// }
// }
//}
#endregion #endregion
...@@ -701,51 +655,51 @@ namespace OnlineStore.DeviceLibrary ...@@ -701,51 +655,51 @@ namespace OnlineStore.DeviceLibrary
#region 把料盘送到NG逻辑 #region 把料盘送到NG逻辑
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_71_ToNGDoor)) //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_71_ToNGDoor))
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.BI_72_NGDoorUp); // MoveInfo.NextMoveStep(StoreMoveStep.BI_72_NGDoorUp);
InOutStoreLog("送出料盘 " + MoveInfo.SLog + ":NG升降门上升"); // InOutStoreLog("送出料盘 " + MoveInfo.SLog + ":NG升降门上升");
CylinderMove(MoveInfo, IO_Type.NGDoorCylinder_Down, IO_Type.NGDoowCylinder_Up); // CylinderMove(MoveInfo, IO_Type.NGDoorCylinder_Down, IO_Type.NGDoowCylinder_Up);
} //}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_72_NGDoorUp)) //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_72_NGDoorUp))
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.BI_73_InoutToNGDoor); // MoveInfo.NextMoveStep(StoreMoveStep.BI_73_InoutToNGDoor);
InOutStoreLog("送出料盘 " + MoveInfo.SLog + ":进出轴到NG料门口位置P11"); // InOutStoreLog("送出料盘 " + MoveInfo.SLog + ":进出轴到NG料门口位置P11");
ACAxisMove(Config.InOut_Axis, moveP.InOut_P11, Config.InOutAxis_P2_Speed); // ACAxisMove(Config.InOut_Axis, moveP.InOut_P11, Config.InOutAxis_P2_Speed);
} //}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_73_InoutToNGDoor)) //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_73_InoutToNGDoor))
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.BI_74_UpdownDown); // MoveInfo.NextMoveStep(StoreMoveStep.BI_74_UpdownDown);
InOutStoreLog("送出料盘 " + MoveInfo.SLog + ":升降轴到P11,压紧轴到P3,放下料盘"); // InOutStoreLog("送出料盘 " + MoveInfo.SLog + ":升降轴到P11,压紧轴到P3,放下料盘");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P11, Config.UpDownAxis_P2_Speed); // ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P11, Config.UpDownAxis_P2_Speed);
ACAxisMove(Config.Comp_Axis, moveP.ComPress_P3, Config.CompAxis_P3_Speed); // ACAxisMove(Config.Comp_Axis, moveP.ComPress_P3, Config.CompAxis_P3_Speed);
} //}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_74_UpdownDown)) //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_74_UpdownDown))
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.BI_75_InoutToP1); // MoveInfo.NextMoveStep(StoreMoveStep.BI_75_InoutToP1);
InOutStoreLog("送出料盘 " + MoveInfo.SLog + ":叉子后退到P1"); // InOutStoreLog("送出料盘 " + MoveInfo.SLog + ":叉子后退到P1");
ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed); // ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
} //}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_75_InoutToP1)) //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_75_InoutToP1))
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.BI_76_NGDoorDown); // MoveInfo.NextMoveStep(StoreMoveStep.BI_76_NGDoorDown);
InOutStoreLog("送出料盘 " + MoveInfo.SLog + ":关门NG料门,送出料盘结束"); // InOutStoreLog("送出料盘 " + MoveInfo.SLog + ":关门NG料门,送出料盘结束");
CylinderMove(MoveInfo, IO_Type.NGDoowCylinder_Up, IO_Type.NGDoorCylinder_Down); // CylinderMove(MoveInfo, IO_Type.NGDoowCylinder_Up, IO_Type.NGDoorCylinder_Down);
} //}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_76_NGDoorDown)) //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_76_NGDoorDown))
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.BI_77_NGLineRun); // MoveInfo.NextMoveStep(StoreMoveStep.BI_77_NGLineRun);
InOutStoreLog("料架入库 " + MoveInfo.SLog + ":NG流水线转动3000"); // InOutStoreLog("料架入库 " + MoveInfo.SLog + ":NG流水线转动3000");
IOMove(IO_Type.NGLine_Run, IO_VALUE.HIGH); // IOMove(IO_Type.NGLine_Run, IO_VALUE.HIGH);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(3000));
} //}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_77_NGLineRun)) //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_77_NGLineRun))
{ //{
IOMove(IO_Type.NGLine_Run, IO_VALUE.LOW); // IOMove(IO_Type.NGLine_Run, IO_VALUE.LOW);
MoveInfo.NextMoveStep(StoreMoveStep.BI_10_StartGetTray); // MoveInfo.NextMoveStep(StoreMoveStep.BI_10_StartGetTray);
InOutStoreLog("料架入库 " + MoveInfo.SLog + ":停止NG线体转动,继续循环料架取料盘"); // InOutStoreLog("料架入库 " + MoveInfo.SLog + ":停止NG线体转动,继续循环料架取料盘");
} //}
#endregion #endregion
#region 把料盘送回料架逻辑 #region 把料盘送回料架逻辑
...@@ -799,53 +753,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -799,53 +753,6 @@ namespace OnlineStore.DeviceLibrary
#endregion #endregion
#region 压紧轴压紧处理
private System.Timers.Timer axisCheckTimer = null;
private string TargetIoType = IO_Type.Compress_Check;
private IO_VALUE TargetIoValue = IO_VALUE.HIGH;
private bool ComAxisStartCheck(string targetIo = "", IO_VALUE value = IO_VALUE.HIGH)
{
if (String.IsNullOrEmpty(targetIo))
{
targetIo = IO_Type.Compress_Check;
}
if (axisCheckTimer == null)
{
axisCheckTimer = new System.Timers.Timer();
axisCheckTimer.AutoReset = true;
axisCheckTimer.Interval += 50;
axisCheckTimer.Elapsed += CheckTimer_Elapsed;
axisCheckTimer.Enabled = false;
}
TargetIoValue = value;
TargetIoType = targetIo;
axisCheckTimer.Start();
return true;
}
private bool ComAxisStopCheck()
{
if (!(axisCheckTimer == null))
{
ACServerManager.SuddenStop(Config.Comp_Axis.DeviceName, Config.Comp_Axis.GetAxisValue());
axisCheckTimer.Stop();
}
return true;
}
private bool IsInProcess = false;
private void CheckTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
if (IsInProcess) { return; }
IsInProcess = true;
if (IOValue(TargetIoType).Equals(TargetIoValue))
{
LogUtil.info(Name + "压紧轴运动:检测到 " + TargetIoType + "=" + TargetIoValue + ",停止运动");
ACServerManager.SuddenStop(Config.Comp_Axis.DeviceName, Config.Comp_Axis.GetAxisValue());
ComAxisStopCheck();
}
IsInProcess = false;
}
#endregion
#region 出库 #region 出库
private DateTime startOutStoreTime = DateTime.Now; private DateTime startOutStoreTime = DateTime.Now;
...@@ -921,247 +828,247 @@ namespace OnlineStore.DeviceLibrary ...@@ -921,247 +828,247 @@ namespace OnlineStore.DeviceLibrary
#region 出入库步骤 #region 出入库步骤
if (MoveInfo.MoveStep == StoreMoveStep.SO_01_InoutBack) //if (MoveInfo.MoveStep == StoreMoveStep.SO_01_InoutBack)
{ //{
//判断是否需要送出料架,是否需要进入料架,是否可以直接开始 // //判断是否需要送出料架,是否需要进入料架,是否可以直接开始
if (MoveInfo.MoveParam.rfid.Equals("")) // if (MoveInfo.MoveParam.rfid.Equals(""))
{ // {
SO_03_ToBagPosition(); // SO_03_ToBagPosition();
} // }
else // else
{ // {
MoveInfo.NextMoveStep(StoreMoveStep.SO_02_TopDown); // MoveInfo.NextMoveStep(StoreMoveStep.SO_02_TopDown);
InOutStoreLog("出库 " + MoveInfo.SLog + ":顶升下降"); // InOutStoreLog("出库 " + MoveInfo.SLog + ":顶升下降");
CylinderMove(MoveInfo, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down); // CylinderMove(MoveInfo, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down);
} // }
} //}
else if (MoveInfo.MoveStep == StoreMoveStep.SO_02_TopDown) //else if (MoveInfo.MoveStep == StoreMoveStep.SO_02_TopDown)
{ //{
if (IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.HIGH)) // if (IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.HIGH))
{ // {
string LastRfidID = GetLastRfid(); // string LastRfidID = GetLastRfid();
// if (IsRightShelfId(CurrShelfID, MoveInfo.MoveParam.realRfid)) // // if (IsRightShelfId(CurrShelfID, MoveInfo.MoveParam.realRfid))
if (MoveInfo.MoveParam.rfid.Equals(LastRfidID)) // if (MoveInfo.MoveParam.rfid.Equals(LastRfidID))
{ // {
LogUtil.error("出库 【" + LastRfidID + "】 【" + MoveInfo.MoveParam.rfid + "," + MoveInfo.MoveParam.realRfid + "】 同料架,开始取料"); // LogUtil.error("出库 【" + LastRfidID + "】 【" + MoveInfo.MoveParam.rfid + "," + MoveInfo.MoveParam.realRfid + "】 同料架,开始取料");
SO_03_ToBagPosition(); // SO_03_ToBagPosition();
return; // return;
} // }
else // else
{ // {
//重新记录 // //重新记录
LogInfo(" 执行出库【" + MoveInfo.MoveParam.ToStr() + "】失败,料架号不一致,加入等待队列"); // LogInfo(" 执行出库【" + MoveInfo.MoveParam.ToStr() + "】失败,料架号不一致,加入等待队列");
waitOutStoreList.Enqueue(MoveInfo.MoveParam); // waitOutStoreList.Enqueue(MoveInfo.MoveParam);
LogUtil.error(Name + "出库 【" + LastRfidID + "】 【" + MoveInfo.MoveParam.rfid + "," + MoveInfo.MoveParam.realRfid + "】不同料架,送出当前料架,稍后重新出库"); // LogUtil.error(Name + "出库 【" + LastRfidID + "】 【" + MoveInfo.MoveParam.rfid + "," + MoveInfo.MoveParam.realRfid + "】不同料架,送出当前料架,稍后重新出库");
// MoveInfo.MoveParam.rfid = LastRfidID; // // MoveInfo.MoveParam.rfid = LastRfidID;
MoveInfo.NewMove(StoreMoveType.OutStore, LastOutParam); // MoveInfo.NewMove(StoreMoveType.OutStore, LastOutParam);
//送出料架,并且记录出库信息,等会重新出库 // //送出料架,并且记录出库信息,等会重新出库
StartShelfOut(); // StartShelfOut();
return; // return;
} // }
} // }
else if (IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.LOW) && (!MoveInfo.MoveParam.rfid.Equals(""))) // else if (IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.LOW) && (!MoveInfo.MoveParam.rfid.Equals("")))
{ // {
if (CurrShelfID.EndsWith("00")) // if (CurrShelfID.EndsWith("00"))
{ // {
CurrShelfID = ""; // CurrShelfID = "";
} // }
string mark = GetMarkInfo(); // string mark = GetMarkInfo();
// string rfid = MoveInfo.MoveParam.rfid; // // string rfid = MoveInfo.MoveParam.rfid;
MoveInfo.NextMoveStep(StoreMoveStep.BI_00_ReadyShelf); // MoveInfo.NextMoveStep(StoreMoveStep.BI_00_ReadyShelf);
InOutStoreLog("出库 " + MoveInfo.SLog + ": NeedEnter[" + mark + "][" + MoveInfo.MoveParam.rfid + "],等待agv_Arrive 或有料架,进出轴到P1"); // InOutStoreLog("出库 " + MoveInfo.SLog + ": NeedEnter[" + mark + "][" + MoveInfo.MoveParam.rfid + "],等待agv_Arrive 或有料架,进出轴到P1");
InOutBackToP1(MoveInfo.MoveParam.MoveP.InOut_P1); // InOutBackToP1(MoveInfo.MoveParam.MoveP.InOut_P1);
//需要先叫agv到达 // //需要先叫agv到达
MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction((int)ClientAction.Arrive)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction((int)ClientAction.Arrive));
} // }
else // else
{ // {
SO_03_ToBagPosition(); // SO_03_ToBagPosition();
} // }
} //}
else if (MoveInfo.MoveStep == StoreMoveStep.SO_03_ToPosition) //else if (MoveInfo.MoveStep == StoreMoveStep.SO_03_ToPosition)
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.SO_04_ToPos); // MoveInfo.NextMoveStep(StoreMoveStep.SO_04_ToPos);
InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子进入库位中, 进出轴至P3(库位取放料点) "); // InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子进入库位中, 进出轴至P3(库位取放料点) ");
ACAxisMove(Config.InOut_Axis, moveP.InOut_P3, Config.InOutAxis_P3_Speed); // ACAxisMove(Config.InOut_Axis, moveP.InOut_P3, Config.InOutAxis_P3_Speed);
} //}
else if (MoveInfo.MoveStep == StoreMoveStep.SO_04_ToPos) //else if (MoveInfo.MoveStep == StoreMoveStep.SO_04_ToPos)
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.SO_05_GetReel); // MoveInfo.NextMoveStep(StoreMoveStep.SO_05_GetReel);
InOutStoreLog("出库 " + MoveInfo.SLog + ": 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) "); // InOutStoreLog("出库 " + MoveInfo.SLog + ": 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) ");
ACAxisMove(Config.Comp_Axis, moveP.ComPress_P2, Config.CompAxis_P2_Speed); // ACAxisMove(Config.Comp_Axis, moveP.ComPress_P2, Config.CompAxis_P2_Speed);
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P6, Config.UpDownAxis_P6_Speed); // ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P6, Config.UpDownAxis_P6_Speed);
} //}
else if (MoveInfo.MoveStep == StoreMoveStep.SO_05_GetReel) //else if (MoveInfo.MoveStep == StoreMoveStep.SO_05_GetReel)
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.SO_06_InoutBack); // MoveInfo.NextMoveStep(StoreMoveStep.SO_06_InoutBack);
InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子从库位返回,进出轴至P1(待机点) "); // InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子从库位返回,进出轴至P1(待机点) ");
//ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed); // //ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
InOutBackToP1(moveP.InOut_P1); // InOutBackToP1(moveP.InOut_P1);
//把库位的物品放到取到叉子上之后是出仓完成 // //把库位的物品放到取到叉子上之后是出仓完成
string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosID : ""; // string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosID : "";
lastPosId = posId; // lastPosId = posId;
lastPosIdStatus = StoreStatus.OutStoreBoxEnd; // lastPosIdStatus = StoreStatus.OutStoreBoxEnd;
storeStatus = StoreStatus.OutStoreBoxEnd; // storeStatus = StoreStatus.OutStoreBoxEnd;
} //}
else if (MoveInfo.MoveStep == StoreMoveStep.SO_06_InoutBack) //else if (MoveInfo.MoveStep == StoreMoveStep.SO_06_InoutBack)
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.SO_07_CheckComSig); // MoveInfo.NextMoveStep(StoreMoveStep.SO_07_CheckComSig);
InOutStoreLog("出库 " + MoveInfo.SLog + ":等待料叉压紧信号 "); // InOutStoreLog("出库 " + MoveInfo.SLog + ":等待料叉压紧信号 ");
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Compress_Check, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Compress_Check, IO_VALUE.HIGH));
} //}
else if (MoveInfo.MoveStep == StoreMoveStep.SO_07_CheckComSig) //else if (MoveInfo.MoveStep == StoreMoveStep.SO_07_CheckComSig)
{ //{
if (IOValue(IO_Type.Compress_Check).Equals(IO_VALUE.HIGH) || IsIgnoreComSig) // if (IOValue(IO_Type.Compress_Check).Equals(IO_VALUE.HIGH) || IsIgnoreComSig)
{ // {
IsIgnoreComSig = false; // IsIgnoreComSig = false;
CompressSigTimeOut = false; // CompressSigTimeOut = false;
MoveInfo.NextMoveStep(StoreMoveStep.SO_08_ToShelfPosition); // MoveInfo.NextMoveStep(StoreMoveStep.SO_08_ToShelfPosition);
InOutStoreLog("出库 " + MoveInfo.SLog + ":走到料架位置,旋转轴至P101,升降轴至P102 "); // InOutStoreLog("出库 " + MoveInfo.SLog + ":走到料架位置,旋转轴至P101,升降轴至P102 ");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_HP102, Config.UpDownAxis_P102_Speed); // ACAxisMove(Config.UpDown_Axis, moveP.UpDown_HP102, Config.UpDownAxis_P102_Speed);
ACAxisMove(Config.Middle_Axis, moveP.Middle_P101, Config.MiddleAxis_P101_Speed); // ACAxisMove(Config.Middle_Axis, moveP.Middle_P101, Config.MiddleAxis_P101_Speed);
} // }
} //}
else if (MoveInfo.MoveStep == StoreMoveStep.SO_08_ToShelfPosition) //else if (MoveInfo.MoveStep == StoreMoveStep.SO_08_ToShelfPosition)
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.SO_10_WaitNoTray); // MoveInfo.NextMoveStep(StoreMoveStep.SO_10_WaitNoTray);
} //}
//此处需要等待移栽没有工作,才能把盘放入出料口 ////此处需要等待移栽没有工作,才能把盘放入出料口
else if (MoveInfo.MoveStep == StoreMoveStep.SO_09_LocationDown) //else if (MoveInfo.MoveStep == StoreMoveStep.SO_09_LocationDown)
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.SO_10_WaitNoTray); // MoveInfo.NextMoveStep(StoreMoveStep.SO_10_WaitNoTray);
} //}
else if (MoveInfo.MoveStep == StoreMoveStep.SO_10_WaitNoTray) //else if (MoveInfo.MoveStep == StoreMoveStep.SO_10_WaitNoTray)
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.SO_11_ToShelf); // MoveInfo.NextMoveStep(StoreMoveStep.SO_11_ToShelf);
InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子进出料口,进出轴至P101"); // InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子进出料口,进出轴至P101");
ACAxisMove(Config.InOut_Axis, moveP.InOut_P101, Config.InOutAxis_P101_Speed); // ACAxisMove(Config.InOut_Axis, moveP.InOut_P101, Config.InOutAxis_P101_Speed);
} //}
else if (MoveInfo.MoveStep == StoreMoveStep.SO_11_ToShelf) //else if (MoveInfo.MoveStep == StoreMoveStep.SO_11_ToShelf)
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.SO_12_PutReel); // MoveInfo.NextMoveStep(StoreMoveStep.SO_12_PutReel);
InOutStoreLog("出库 " + MoveInfo.SLog + ":放下物品,压紧轴到P1,升降轴至P101,清空 taskData=null "); // InOutStoreLog("出库 " + MoveInfo.SLog + ":放下物品,压紧轴到P1,升降轴至P101,清空 taskData=null ");
ACAxisMove(Config.Comp_Axis, moveP.ComPress_P1, Config.CompAxis_P1_Speed); // ACAxisMove(Config.Comp_Axis, moveP.ComPress_P1, Config.CompAxis_P1_Speed);
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_LP101, Config.UpDownAxis_P101_Speed); // ACAxisMove(Config.UpDown_Axis, moveP.UpDown_LP101, Config.UpDownAxis_P101_Speed);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
taskData = null; // taskData = null;
Task.Factory.StartNew(delegate // Task.Factory.StartNew(delegate
{ // {
int posLoc = StoreManager.GetShelfPosIndex(MoveInfo.MoveParam.ShelfPosID, ShelfPosList); // int posLoc = StoreManager.GetShelfPosIndex(MoveInfo.MoveParam.ShelfPosID, ShelfPosList);
//分盘料和紧急料发PutFinished // //分盘料和紧急料发PutFinished
if (MoveInfo.MoveParam.cutReel || MoveInfo.MoveParam.urgentReel) // if (MoveInfo.MoveParam.cutReel || MoveInfo.MoveParam.urgentReel)
{ // {
string msg = StoreManager.afterPutCut(Name, CurrShelfID, MoveInfo.MoveParam.WareCode, CID, posLoc, out taskData); // string msg = StoreManager.afterPutCut(Name, CurrShelfID, MoveInfo.MoveParam.WareCode, CID, posLoc, out taskData);
if (String.IsNullOrEmpty(msg).Equals(false)) // if (String.IsNullOrEmpty(msg).Equals(false))
{ // {
LogUtil.error(Name + "[" + MoveInfo.MoveParam.WareCode + "] [" + CurrShelfID + "_" + GetLastRfid() + "] [" + posLoc + "] afterPutCut 结果:" + msg); // LogUtil.error(Name + "[" + MoveInfo.MoveParam.WareCode + "] [" + CurrShelfID + "_" + GetLastRfid() + "] [" + posLoc + "] afterPutCut 结果:" + msg);
} // }
} // }
else // else
{ // {
int newTaskCount = 0; // int newTaskCount = 0;
string msg = StoreManager.UpdateTrayLoc(Name, MoveInfo.MoveParam.WareCode, CurrShelfID + "@" + posLoc.ToString(), out newTaskCount); // string msg = StoreManager.UpdateTrayLoc(Name, MoveInfo.MoveParam.WareCode, CurrShelfID + "@" + posLoc.ToString(), out newTaskCount);
if (String.IsNullOrEmpty(msg).Equals(false)) // if (String.IsNullOrEmpty(msg).Equals(false))
{ // {
LogUtil.error(Name + "[" + MoveInfo.MoveParam.WareCode + "] [" + CurrShelfID + "_" + GetLastRfid() + "] [" + posLoc + "] UpdateTrayLoc 结果:" + msg); // LogUtil.error(Name + "[" + MoveInfo.MoveParam.WareCode + "] [" + CurrShelfID + "_" + GetLastRfid() + "] [" + posLoc + "] UpdateTrayLoc 结果:" + msg);
} // }
if (newTaskCount > MoveInfo.MoveParam.taskCount) // if (newTaskCount > MoveInfo.MoveParam.taskCount)
{ // {
InOutStoreLog("UpdateTrayLoc 返回 newTaskCount=" + newTaskCount + ",原有 taskCount=" + MoveInfo.MoveParam.taskCount + ",使用新数据"); // InOutStoreLog("UpdateTrayLoc 返回 newTaskCount=" + newTaskCount + ",原有 taskCount=" + MoveInfo.MoveParam.taskCount + ",使用新数据");
MoveInfo.MoveParam.taskCount = newTaskCount; // MoveInfo.MoveParam.taskCount = newTaskCount;
} // }
} // }
}); // });
} //}
else if (MoveInfo.MoveStep == StoreMoveStep.SO_12_PutReel) //else if (MoveInfo.MoveStep == StoreMoveStep.SO_12_PutReel)
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.SO_13_InoutBack); // MoveInfo.NextMoveStep(StoreMoveStep.SO_13_InoutBack);
InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子从出料口返回, 进出轴到P1 "); // InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子从出料口返回, 进出轴到P1 ");
InOutBackToP1(moveP.InOut_P1); // InOutBackToP1(moveP.InOut_P1);
} //}
else if (MoveInfo.MoveStep == StoreMoveStep.SO_13_InoutBack) //else if (MoveInfo.MoveStep == StoreMoveStep.SO_13_InoutBack)
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.SO_14_GoBack); // MoveInfo.NextMoveStep(StoreMoveStep.SO_14_GoBack);
InOutStoreLog("出库 " + MoveInfo.SLog + ": 升降轴返回,升降轴到P1,顶升下降"); // InOutStoreLog("出库 " + MoveInfo.SLog + ": 升降轴返回,升降轴到P1,顶升下降");
ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed); // ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed);
//发送消息给流水线 // //发送消息给流水线
// SendOutStoreEnd(MoveInfo); // // SendOutStoreEnd(MoveInfo);
CylinderMove(MoveInfo, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down); // CylinderMove(MoveInfo, IO_Type.TopCylinder_Up, IO_Type.TopCylinder_Down);
} //}
else if (MoveInfo.MoveStep == StoreMoveStep.SO_14_GoBack) //else if (MoveInfo.MoveStep == StoreMoveStep.SO_14_GoBack)
{ //{
//判断是否需要送出料架 // //判断是否需要送出料架
bool isNeedSend = false; // bool isNeedSend = false;
string logName = "【" + CurrShelfID + "_" + GetLastRfid() + "】"; // string logName = "【" + CurrShelfID + "_" + GetLastRfid() + "】";
//只有rfid不为空才需要送出料架 // //只有rfid不为空才需要送出料架
if (String.IsNullOrEmpty(MoveInfo.MoveParam.rfid)) // if (String.IsNullOrEmpty(MoveInfo.MoveParam.rfid))
{ // {
InOutStoreLog("出库完成,未设置rfid,不需要送出料架"); // InOutStoreLog("出库完成,未设置rfid,不需要送出料架");
isNeedSend = false; // isNeedSend = false;
} // }
else if (MoveInfo.MoveParam.cutReel) // else if (MoveInfo.MoveParam.cutReel)
{ // {
if (taskData != null && taskData.cutPackageTask <= 0) // if (taskData != null && taskData.cutPackageTask <= 0)
{ // {
InOutStoreLog(logName + "分盘料出库完成,cutPackageTask=" + taskData.cutPackageTask + ",送出料架"); // InOutStoreLog(logName + "分盘料出库完成,cutPackageTask=" + taskData.cutPackageTask + ",送出料架");
isNeedSend = true; // isNeedSend = true;
} // }
else if (taskData == null) // else if (taskData == null)
{ // {
InOutStoreLog(logName + "分盘料出库完成,taskData=null,送出料架"); // InOutStoreLog(logName + "分盘料出库完成,taskData=null,送出料架");
isNeedSend = true; // isNeedSend = true;
} // }
} // }
else if (MoveInfo.MoveParam.urgentReel) // else if (MoveInfo.MoveParam.urgentReel)
{ // {
if (taskData != null && taskData.urgentPackageTask <= 0) // if (taskData != null && taskData.urgentPackageTask <= 0)
{ // {
InOutStoreLog(logName + "紧急料出库完成,urgentPackageTask=" + taskData.urgentPackageTask + ",送出料架"); // InOutStoreLog(logName + "紧急料出库完成,urgentPackageTask=" + taskData.urgentPackageTask + ",送出料架");
isNeedSend = true; // isNeedSend = true;
} // }
else if (taskData == null) // else if (taskData == null)
{ // {
InOutStoreLog(logName + "紧急料出库完成,taskData=null,送出料架"); // InOutStoreLog(logName + "紧急料出库完成,taskData=null,送出料架");
isNeedSend = true; // isNeedSend = true;
} // }
} // }
else if (MoveInfo.MoveParam.taskCount <= 0) // else if (MoveInfo.MoveParam.taskCount <= 0)
{ // {
InOutStoreLog(logName + "出库完成,taskCount=" + MoveInfo.MoveParam.taskCount + " 送出料架"); // InOutStoreLog(logName + "出库完成,taskCount=" + MoveInfo.MoveParam.taskCount + " 送出料架");
isNeedSend = true; // isNeedSend = true;
} // }
if (isNeedSend) // if (isNeedSend)
{ // {
StartShelfOut(); // StartShelfOut();
} // }
else // else
{ // {
TimeSpan span = DateTime.Now - startOutStoreTime; // TimeSpan span = DateTime.Now - startOutStoreTime;
string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosID : ""; // string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosID : "";
storeStatus = StoreStatus.StoreOnline; // storeStatus = StoreStatus.StoreOnline;
LogInfo(" 【" + posId + "】 " + logName + " 出库结束,耗时【" + FormUtil.GetSpanStr(span) + "】!"); // LogInfo(" 【" + posId + "】 " + logName + " 出库结束,耗时【" + FormUtil.GetSpanStr(span) + "】!");
if (!String.IsNullOrEmpty(MoveInfo.MoveParam.rfid)) // if (!String.IsNullOrEmpty(MoveInfo.MoveParam.rfid))
{ // {
if (StoreManager.Store.AutoShelfInstore) // if (StoreManager.Store.AutoShelfInstore)
{ // {
LogInfo(" 料架" + logName + "还有出库任务,设置 AutoShelfInstore = false"); // LogInfo(" 料架" + logName + "还有出库任务,设置 AutoShelfInstore = false");
ConfigAppSettings.SaveValue(Setting_Init.AutoShelfInstore, 0); // ConfigAppSettings.SaveValue(Setting_Init.AutoShelfInstore, 0);
StoreManager.Store.AutoShelfInstore = false; // StoreManager.Store.AutoShelfInstore = false;
} // }
} // }
MoveEndToRuningStatus(); // MoveEndToRuningStatus();
AutoInout.InOutEndProcess(this, StoreMoveType.OutStore); // AutoInout.InOutEndProcess(this, StoreMoveType.OutStore);
} // }
} //}
#endregion #endregion
else if (MoveInfo.MoveStep <= StoreMoveStep.SO_01_InoutBack) else if (MoveInfo.MoveStep <= StoreMoveStep.SO_01_InoutBack)
......
...@@ -18,179 +18,179 @@ namespace OnlineStore.DeviceLibrary ...@@ -18,179 +18,179 @@ namespace OnlineStore.DeviceLibrary
private void BI_04_WaitTakeSingle(string moveName) private void BI_04_WaitTakeSingle(string moveName)
{ {
MoveInfo.NextMoveStep(StoreMoveStep.BI_04_WaitTakeSingle); //MoveInfo.NextMoveStep(StoreMoveStep.BI_04_WaitTakeSingle);
InOutStoreLog(moveName + MoveInfo.SLog + " 线体正转,等待LineIn_Check=Low, 信号LineTake_Check=High"); //InOutStoreLog(moveName + MoveInfo.SLog + " 线体正转,等待LineIn_Check=Low, 信号LineTake_Check=High");
LineRun(); //LineRun();
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.LOW)); //MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.HIGH)); //MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.HIGH));
} }
private void ShelfEnterProcess() private void ShelfEnterProcess()
{ {
string mark = GetMarkInfo(); //string mark = GetMarkInfo();
string moveName = "入库料架[" + CurrShelfID + "]"; //string moveName = "入库料架[" + CurrShelfID + "]";
bool instoreShelf = true; //bool instoreShelf = true;
if (MoveInfo.MoveType.Equals(StoreMoveType.OutStore)) //if (MoveInfo.MoveType.Equals(StoreMoveType.OutStore))
{ //{
instoreShelf = false; // instoreShelf = false;
moveName = "出库料架[" + CurrShelfID + "][" + mark + "]"; // moveName = "出库料架[" + CurrShelfID + "][" + mark + "]";
} //}
if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_00_ReadyShelf)) //if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_00_ReadyShelf))
{ //{
if (IOValue(IO_Type.LineIn_Check).Equals(IO_VALUE.HIGH)) // if (IOValue(IO_Type.LineIn_Check).Equals(IO_VALUE.HIGH))
{ // {
BI_04_WaitTakeSingle(moveName); // BI_04_WaitTakeSingle(moveName);
} // }
else if (IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.HIGH)) // else if (IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.HIGH))
{ // {
BI_04_WaitTakeSingle(moveName); // BI_04_WaitTakeSingle(moveName);
} // }
else // else
{ // {
// MoveInfo.ShelfPositionList = new List<string>(ShelfPosList); // // MoveInfo.ShelfPositionList = new List<string>(ShelfPosList);
InOutStoreLog(moveName + MoveInfo.SLog + " agv已到达,打开入料口移门"); // InOutStoreLog(moveName + MoveInfo.SLog + " agv已到达,打开入料口移门");
MoveInfo.NextMoveStep(StoreMoveStep.BI_01_DoorOpen); // MoveInfo.NextMoveStep(StoreMoveStep.BI_01_DoorOpen);
DoorBean.StartOpen(MoveInfo); // DoorBean.StartBack(MoveInfo);
} // }
} //}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_01_DoorOpen)) //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_01_DoorOpen))
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.BI_03_LineRun); // MoveInfo.NextMoveStep(StoreMoveStep.BI_03_LineRun);
InOutStoreLog(moveName + MoveInfo.SLog + "调用AgvClient.MayEnter,线体正转,等待LineIn_Check 或LineTake_Check 信号"); // InOutStoreLog(moveName + MoveInfo.SLog + "调用AgvClient.MayEnter,线体正转,等待LineIn_Check 或LineTake_Check 信号");
LineRun(); // LineRun();
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.HIGH));
MoveInfo.OneWaitCanEndStep = true;
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_03_LineRun))
{
BI_04_WaitTakeSingle(moveName);
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_04_WaitTakeSingle))
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_05_LineStop);
InOutStoreLog(moveName + MoveInfo.SLog + "调用Agv " + Config.AgvNodeName + " FinishEnter,取料位检测到信号,停止线体正转");
LineStop();
// AgvClient.SetStatus(Config.AgvNodeName, mark, "", ClientAction.FinishEnter, ClientLevel.High, true);
if (!instoreShelf) // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.HIGH));
{ // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.HIGH));
if (MoveInfo.MoveParam.ShelfPosID.Equals("")) // MoveInfo.OneWaitCanEndStep = true;
{ //}
// MoveInfo.MoveParam.UpdateShelfPosId(ShelfPosList[0]); //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_03_LineRun))
InOutStoreLog("出库 " + MoveInfo.SLog + ": ShelfPosID未设置,默认ShelfPosID=" + MoveInfo.MoveParam.ShelfPosID); //{
} // BI_04_WaitTakeSingle(moveName);
} //}
} //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_04_WaitTakeSingle))
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_05_LineStop)) //{
{ // MoveInfo.NextMoveStep(StoreMoveStep.BI_05_LineStop);
MoveInfo.NextMoveStep(StoreMoveStep.BI_06_DoorClose); // InOutStoreLog(moveName + MoveInfo.SLog + " FinishEnter,取料位检测到信号,停止线体正转");
InOutStoreLog(moveName + MoveInfo.SLog + "入料口移门关闭 "); // LineStop();
DoorBean.StartClose(MoveInfo); // // AgvClient.SetStatus(Config.AgvNodeName, mark, "", ClientAction.FinishEnter, ClientLevel.High, true);
if (!instoreShelf)
{
InOutStoreLog("出库 " + MoveInfo.SLog + ": 走到库位,压紧轴至P3(压紧前点) ,旋转轴至P2(库位点),升降轴至P5(库位出库前点)");
ACAxisMove(Config.Comp_Axis, MoveInfo.MoveParam.MoveP.ComPress_P3, Config.CompAxis_P3_Speed);
ACAxisMove(Config.Middle_Axis, MoveInfo.MoveParam.MoveP.Middle_P2, Config.MiddleAxis_P2_Speed);
ACAxisMove(Config.UpDown_Axis, MoveInfo.MoveParam.MoveP.UpDown_P5, Config.UpDownAxis_P5_Speed);
}
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_06_DoorClose))
{
MoveInfo.NextMoveStep(StoreMoveStep.BI_07_LineRun);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(7000));
InOutStoreLog(moveName + MoveInfo.SLog + "继续转动 7000");
LineRun();
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_07_LineRun))
{
LineStop();
UpdateShelfId();
//如果未读到料架号,将料架送出 // if (!instoreShelf)
if (CurrShelfID.EndsWith("00") && MoveInfo.MoveType.Equals(StoreMoveType.OutStore)) // {
{ // if (MoveInfo.MoveParam.ShelfPosID.Equals(""))
LogInfo(" 执行出库【" + MoveInfo.MoveParam.ToStr() + "】失败,料架号[" + CurrShelfID + "]无效,加入等待队列"); // {
waitOutStoreList.Enqueue(MoveInfo.MoveParam.NewParam()); // // MoveInfo.MoveParam.UpdateShelfPosId(ShelfPosList[0]);
LogUtil.error(Name + "出库 料架号[" + CurrShelfID + "]无效,送出料架,稍后重新出库"); // InOutStoreLog("出库 " + MoveInfo.SLog + ": ShelfPosID未设置,默认ShelfPosID=" + MoveInfo.MoveParam.ShelfPosID);
// }
// }
//}
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_05_LineStop))
//{
// MoveInfo.NextMoveStep(StoreMoveStep.BI_06_DoorClose);
// InOutStoreLog(moveName + MoveInfo.SLog + "入料口移门关闭 ");
// DoorBean.StartForward(MoveInfo);
// if (!instoreShelf)
// {
// InOutStoreLog("出库 " + MoveInfo.SLog + ": 走到库位,压紧轴至P3(压紧前点) ,旋转轴至P2(库位点),升降轴至P5(库位出库前点)");
// ACAxisMove(Config.Comp_Axis, MoveInfo.MoveParam.MoveP.ComPress_P3, Config.CompAxis_P3_Speed);
// ACAxisMove(Config.Middle_Axis, MoveInfo.MoveParam.MoveP.Middle_P2, Config.MiddleAxis_P2_Speed);
// ACAxisMove(Config.UpDown_Axis, MoveInfo.MoveParam.MoveP.UpDown_P5, Config.UpDownAxis_P5_Speed);
// }
//}
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_06_DoorClose))
//{
// MoveInfo.NextMoveStep(StoreMoveStep.BI_07_LineRun);
// MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(7000));
// InOutStoreLog(moveName + MoveInfo.SLog + "继续转动 7000");
// LineRun();
//}
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_07_LineRun))
//{
// LineStop();
// UpdateShelfId();
MoveInfo.MoveParam.rfid = CurrShelfID; // //如果未读到料架号,将料架送出
//送出料架,并且记录出库信息,等会重新出库 // if (CurrShelfID.EndsWith("00") && MoveInfo.MoveType.Equals(StoreMoveType.OutStore))
StartShelfOut(); // {
return; // LogInfo(" 执行出库【" + MoveInfo.MoveParam.ToStr() + "】失败,料架号[" + CurrShelfID + "]无效,加入等待队列");
} // waitOutStoreList.Enqueue(MoveInfo.MoveParam.NewParam());
// LogUtil.error(Name + "出库 料架号[" + CurrShelfID + "]无效,送出料架,稍后重新出库");
// MoveInfo.MoveParam.rfid = CurrShelfID;
// //送出料架,并且记录出库信息,等会重新出库
// StartShelfOut();
// return;
// }
MoveInfo.NextMoveStep(StoreMoveStep.BI_08_LocationUp); // MoveInfo.NextMoveStep(StoreMoveStep.BI_08_LocationUp);
InOutStoreLog(moveName + MoveInfo.SLog + "停止线体,读取料架" + CurrShelfID + ",设置" + Config.AgvNodeName + "=None"); // InOutStoreLog(moveName + MoveInfo.SLog + "停止线体,读取料架" + CurrShelfID + ",设置" + Config.AgvNodeName + "=None");
// AgvClient.SetStatus(Config.AgvNodeName); // // AgvClient.SetStatus(Config.AgvNodeName);
// CylinderMove(MoveInfo, IO_Type.LocationCylinder_Down, IO_Type.LocationCylinder_Up); // // CylinderMove(MoveInfo, IO_Type.LocationCylinder_Down, IO_Type.LocationCylinder_Up);
if (!instoreShelf) // if (!instoreShelf)
{ // {
if (MoveInfo.MoveParam.ShelfPosID.Equals("")) // if (MoveInfo.MoveParam.ShelfPosID.Equals(""))
{ // {
// MoveInfo.MoveParam.UpdateShelfPosId(ShelfPosList[0]); // // MoveInfo.MoveParam.UpdateShelfPosId(ShelfPosList[0]);
InOutStoreLog("出库 " + MoveInfo.SLog + ": ShelfPosID未设置,默认ShelfPosID=" + MoveInfo.MoveParam.ShelfPosID); // InOutStoreLog("出库 " + MoveInfo.SLog + ": ShelfPosID未设置,默认ShelfPosID=" + MoveInfo.MoveParam.ShelfPosID);
} // }
// LastRfidID = MoveInfo.MoveParam.rfid; // // LastRfidID = MoveInfo.MoveParam.rfid;
LastOutParam = MoveInfo.MoveParam; // LastOutParam = MoveInfo.MoveParam;
InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子进入库位中, 进出轴至P3(库位取放料点) "); // InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子进入库位中, 进出轴至P3(库位取放料点) ");
ACAxisMove(Config.InOut_Axis, MoveInfo.MoveParam.MoveP.InOut_P3, Config.InOutAxis_P3_Speed); // ACAxisMove(Config.InOut_Axis, MoveInfo.MoveParam.MoveP.InOut_P3, Config.InOutAxis_P3_Speed);
} // }
else // else
{ // {
LastOutParam = new InOutParam(); // LastOutParam = new InOutParam();
// LastRfidID = ""; // // LastRfidID = "";
} // }
} //}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_08_LocationUp)) //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_08_LocationUp))
{ //{
MoveInfo.NextMoveStep(StoreMoveStep.BI_09_TopCylinderUp); // MoveInfo.NextMoveStep(StoreMoveStep.BI_09_TopCylinderUp);
InOutStoreLog(moveName + MoveInfo.SLog + "" + CurrShelfID + "顶升上升"); // InOutStoreLog(moveName + MoveInfo.SLog + "" + CurrShelfID + "顶升上升");
CylinderMove(MoveInfo, IO_Type.TopCylinder_Down, IO_Type.TopCylinder_Up); // CylinderMove(MoveInfo, IO_Type.TopCylinder_Down, IO_Type.TopCylinder_Up);
if (!instoreShelf) // if (!instoreShelf)
{ // {
InOutStoreLog("出库 " + MoveInfo.SLog + ": 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) "); // InOutStoreLog("出库 " + MoveInfo.SLog + ": 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) ");
ACAxisMove(Config.Comp_Axis, MoveInfo.MoveParam.MoveP.ComPress_P2, Config.CompAxis_P2_Speed); // ACAxisMove(Config.Comp_Axis, MoveInfo.MoveParam.MoveP.ComPress_P2, Config.CompAxis_P2_Speed);
ACAxisMove(Config.UpDown_Axis, MoveInfo.MoveParam.MoveP.UpDown_P6, Config.UpDownAxis_P6_Speed); // ACAxisMove(Config.UpDown_Axis, MoveInfo.MoveParam.MoveP.UpDown_P6, Config.UpDownAxis_P6_Speed);
} // }
} //}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_09_TopCylinderUp)) //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BI_09_TopCylinderUp))
{ //{
if (instoreShelf) // if (instoreShelf)
{ // {
MoveInfo.NextMoveStep(StoreMoveStep.BI_10_StartGetTray); // MoveInfo.NextMoveStep(StoreMoveStep.BI_10_StartGetTray);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(10000));
//获取料架的锁定状态 // //获取料架的锁定状态
bool lockState = StoreManager.GetShelfLockInfo(Name,CID, CurrShelfID, out MoveInfo.shelfLockDatas); // bool lockState = StoreManager.GetShelfLockInfo(Name,CID, CurrShelfID, out MoveInfo.shelfLockDatas);
if (lockState && MoveInfo.shelfLockDatas != null) // if (lockState && MoveInfo.shelfLockDatas != null)
{ // {
MoveInfo.IsShelfLocked = true; // MoveInfo.IsShelfLocked = true;
InOutStoreLog(moveName + MoveInfo.SLog + "开始到料架指定位置取料盘 "); // InOutStoreLog(moveName + MoveInfo.SLog + "开始到料架指定位置取料盘 ");
} // }
else // else
{ // {
MoveInfo.IsShelfLocked = false; // MoveInfo.IsShelfLocked = false;
InOutStoreLog(moveName + MoveInfo.SLog + "开始循环料架取料盘 "); // InOutStoreLog(moveName + MoveInfo.SLog + "开始循环料架取料盘 ");
} // }
MoveInfo.EndStepWait(); // MoveInfo.EndStepWait();
} // }
else // else
{ // {
MoveInfo.NextMoveStep(StoreMoveStep.SO_06_InoutBack); // MoveInfo.NextMoveStep(StoreMoveStep.SO_06_InoutBack);
InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子从库位返回,进出轴至P1(待机点) "); // InOutStoreLog("出库 " + MoveInfo.SLog + ":叉子从库位返回,进出轴至P1(待机点) ");
//ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed); // //ACAxisMove(Config.InOut_Axis, moveP.InOut_P1, Config.InOutAxis_P1_Speed);
InOutBackToP1(MoveInfo.MoveParam.MoveP.InOut_P1); // InOutBackToP1(MoveInfo.MoveParam.MoveP.InOut_P1);
//把库位的物品放到取到叉子上之后是出仓完成 // //把库位的物品放到取到叉子上之后是出仓完成
string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosID : ""; // string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosID : "";
lastPosId = posId; // lastPosId = posId;
lastPosIdStatus = StoreStatus.OutStoreBoxEnd; // lastPosIdStatus = StoreStatus.OutStoreBoxEnd;
storeStatus = StoreStatus.OutStoreBoxEnd; // storeStatus = StoreStatus.OutStoreBoxEnd;
} // }
} //}
} }
private void StartShelfOut() private void StartShelfOut()
...@@ -214,33 +214,33 @@ namespace OnlineStore.DeviceLibrary ...@@ -214,33 +214,33 @@ namespace OnlineStore.DeviceLibrary
{ {
string mark = defualtMark; string mark = defualtMark;
//如果料架号是空,需要送到VMI线 ////如果料架号是空,需要送到VMI线
if (MoveInfo.MoveType.Equals(StoreMoveType.OutStore)) //if (MoveInfo.MoveType.Equals(StoreMoveType.OutStore))
{ //{
if (CurrShelfID.EndsWith("00")) // if (CurrShelfID.EndsWith("00"))
{ // {
mark = defualtMark; // mark = defualtMark;
} // }
//包装料会发往分盘区, 紧急料区, 包装线区 // //包装料会发往分盘区, 紧急料区, 包装线区
// urgentReel 这个为true是紧急料 出到紧急料区 // // urgentReel 这个为true是紧急料 出到紧急料区
// cutReel 为true是分盘料,AGV会拉到到分盘区 // // cutReel 为true是分盘料,AGV会拉到到分盘区
//料串会发到分盘区和紧急料区 // //料串会发到分盘区和紧急料区
//两个都为false 包装料默认拉到包装线体, 料串默认拉到紧急料区 // //两个都为false 包装料默认拉到包装线体, 料串默认拉到紧急料区
else if (MoveInfo.MoveParam.urgentReel) // else if (MoveInfo.MoveParam.urgentReel)
{ // {
//紧急料,需要到紧急料区 // //紧急料,需要到紧急料区
mark = MoveInfo.MoveParam.rfid + ",urgent"; // mark = MoveInfo.MoveParam.rfid + ",urgent";
} // }
else if (MoveInfo.MoveParam.cutReel) // else if (MoveInfo.MoveParam.cutReel)
{ // {
//cutReel 为true是分盘料,AGV会拉到到分盘区 // //cutReel 为true是分盘料,AGV会拉到到分盘区
mark = MoveInfo.MoveParam.rfid + ",cut"; // mark = MoveInfo.MoveParam.rfid + ",cut";
} // }
else // else
{ // {
mark = MoveInfo.MoveParam.rfid + ",pack"; // mark = MoveInfo.MoveParam.rfid + ",pack";
} // }
} //}
return mark; return mark;
} }
...@@ -262,13 +262,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -262,13 +262,13 @@ namespace OnlineStore.DeviceLibrary
} }
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_02_LocatinDown)) else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_02_LocatinDown))
{ {
MoveInfo.NextMoveStep(StoreMoveStep.BS_03_WaitEmptyAgv); //MoveInfo.NextMoveStep(StoreMoveStep.BS_03_WaitEmptyAgv);
MoveInfo.TimeOutSeconds = 600; //MoveInfo.TimeOutSeconds = 600;
//MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000)); ////MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
//等待agv到达 ////等待agv到达
MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction((int)ClientAction.Arrive)); //MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction((int)ClientAction.Arrive));
InOutStoreLog(moveName + MoveInfo.SLog + ":再次调用 NeedLeave[" + mark + "][" + CurrShelfID + "],等待Agv " + Config.AgvNodeName + " Arrive ,最多等待1200秒"); //InOutStoreLog(moveName + MoveInfo.SLog + ":再次调用 NeedLeave[" + mark + "][" + CurrShelfID + "],等待Agv " + Config.AgvNodeName + " Arrive ,最多等待1200秒");
//AgvClient.SetStatus(Config.AgvNodeName, mark, CurrShelfID, ClientAction.NeedLeave, ClientLevel.High, true); ////AgvClient.SetStatus(Config.AgvNodeName, mark, CurrShelfID, ClientAction.NeedLeave, ClientLevel.High, true);
} }
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_03_WaitEmptyAgv)) else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_03_WaitEmptyAgv))
{ {
...@@ -310,47 +310,47 @@ namespace OnlineStore.DeviceLibrary ...@@ -310,47 +310,47 @@ namespace OnlineStore.DeviceLibrary
////等待agv到达 ////等待agv到达
//MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction((int)ClientAction.Ready)); //MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction((int)ClientAction.Ready));
} }
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_05_WaitReady)) // else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_05_WaitReady))
{ // {
MoveInfo.NextMoveStep(StoreMoveStep.BS_06_LineBackRun); // MoveInfo.NextMoveStep(StoreMoveStep.BS_06_LineBackRun);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
InOutStoreLog(moveName + MoveInfo.SLog + ":收到agv " + Config.AgvNodeName + " Ready ,线体开始反转"); // InOutStoreLog(moveName + MoveInfo.SLog + ":收到agv " + Config.AgvNodeName + " Ready ,线体开始反转");
LineBackRun(); // LineBackRun();
} // }
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_06_LineBackRun)) // else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_06_LineBackRun))
{ // {
MoveInfo.NextMoveStep(StoreMoveStep.BS_07_WaitShelfOut); // MoveInfo.NextMoveStep(StoreMoveStep.BS_07_WaitShelfOut);
InOutStoreLog(moveName + MoveInfo.SLog + ":等待取料工位无信号 "); // InOutStoreLog(moveName + MoveInfo.SLog + ":等待取料工位无信号 ");
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.LOW));
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.HIGH));
}
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_07_WaitShelfOut))
{
MoveInfo.NextMoveStep(StoreMoveStep.BS_08_WaitLineIn);
InOutStoreLog(moveName + MoveInfo.SLog + ":等待 入料口有信号,最多等待30秒");
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.LOW)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.LOW));
MoveInfo.OneWaitCanEndStep = true; // // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000)); // }
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.HIGH)); // else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_07_WaitShelfOut))
} // {
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_08_WaitLineIn)) // MoveInfo.NextMoveStep(StoreMoveStep.BS_08_WaitLineIn);
{ // InOutStoreLog(moveName + MoveInfo.SLog + ":等待 入料口有信号,最多等待30秒");
MoveInfo.NextMoveStep(StoreMoveStep.BS_09_WaitTime); // // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineTake_Check, IO_VALUE.LOW));
InOutStoreLog(moveName + MoveInfo.SLog + ":再转动1000 , 等待入料口无信号,清理RFID"); // MoveInfo.OneWaitCanEndStep = true;
// RFIDManager.ReadRFID(Config.RFID_IP, true); // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(30000));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.LOW)); // }
} // else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_08_WaitLineIn))
else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_09_WaitTime)) // {
{ // MoveInfo.NextMoveStep(StoreMoveStep.BS_09_WaitTime);
MoveInfo.NextMoveStep(StoreMoveStep.BS_10_WaitAGVLeave); // InOutStoreLog(moveName + MoveInfo.SLog + ":再转动1000 , 等待入料口无信号,清理RFID");
MoveInfo.TimeOutSeconds = 180; //// RFIDManager.ReadRFID(Config.RFID_IP, true);
InOutStoreLog(moveName + MoveInfo.SLog + ":等待DoorClose事件,最多等待180000 "); // MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.OneWaitCanEndStep = true; // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.LineIn_Check, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(180000)); // }
MoveInfo.WaitList.Add(WaitResultInfo.WaitDoorClose()); // else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_09_WaitTime))
//MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction(action.FinishOut)); // {
} // MoveInfo.NextMoveStep(StoreMoveStep.BS_10_WaitAGVLeave);
// MoveInfo.TimeOutSeconds = 180;
// InOutStoreLog(moveName + MoveInfo.SLog + ":等待DoorClose事件,最多等待180000 ");
// MoveInfo.OneWaitCanEndStep = true;
// MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(180000));
// MoveInfo.WaitList.Add(WaitResultInfo.WaitDoorClose());
// //MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction(action.FinishOut));
// }
//else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_10_WaitAGVLeave)) //else if (MoveInfo.MoveStep.Equals(StoreMoveStep.BS_10_WaitAGVLeave))
//{ //{
...@@ -406,7 +406,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -406,7 +406,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info(Name + logN + ",当前 BS_03_WaitEmptyAgv,正在等待料架到达"); LogUtil.info(Name + logN + ",当前 BS_03_WaitEmptyAgv,正在等待料架到达");
MoveInfo.NextMoveStep(StoreMoveStep.BS_04_DoorOpen); MoveInfo.NextMoveStep(StoreMoveStep.BS_04_DoorOpen);
InOutStoreLog("送出料架等待空车" + MoveInfo.SLog + ":agv到达,打开入料口移门"); InOutStoreLog("送出料架等待空车" + MoveInfo.SLog + ":agv到达,打开入料口移门");
DoorBean.StartOpen(MoveInfo); DoorBean.StartBack(MoveInfo);
return true; return true;
} }
else if (MoveInfo.MoveType.Equals(StoreMoveType.OutStore) && MoveInfo.MoveStep.Equals(StoreMoveStep.BI_00_ReadyShelf)) else if (MoveInfo.MoveType.Equals(StoreMoveType.OutStore) && MoveInfo.MoveStep.Equals(StoreMoveStep.BI_00_ReadyShelf))
...@@ -414,7 +414,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -414,7 +414,7 @@ namespace OnlineStore.DeviceLibrary
if (rfid.Equals("")) if (rfid.Equals(""))
{ {
string mark = GetMarkInfo(); string mark = GetMarkInfo();
LogUtil.error(Name + logN + " 当前出库中 BI_00_ReadyShelf,RFID无效,不处理agv,重发 NeedEnter [" + mark + "][" + MoveInfo.MoveParam.rfid + "]"); // LogUtil.error(Name + logN + " 当前出库中 BI_00_ReadyShelf,RFID无效,不处理agv,重发 NeedEnter [" + mark + "][" + MoveInfo.MoveParam.rfid + "]");
// AgvClient.SetStatus(Config.AgvNodeName, mark, MoveInfo.MoveParam.rfid, ClientAction.NeedEnter, ClientLevel.High, true); // AgvClient.SetStatus(Config.AgvNodeName, mark, MoveInfo.MoveParam.rfid, ClientAction.NeedEnter, ClientLevel.High, true);
return false; return false;
} }
...@@ -423,28 +423,28 @@ namespace OnlineStore.DeviceLibrary ...@@ -423,28 +423,28 @@ namespace OnlineStore.DeviceLibrary
LogUtil.info(Name + logN + ",当前出库中 BI_00_ReadyShelf,正在等待料架到达"); LogUtil.info(Name + logN + ",当前出库中 BI_00_ReadyShelf,正在等待料架到达");
MoveInfo.NextMoveStep(StoreMoveStep.BI_01_DoorOpen); MoveInfo.NextMoveStep(StoreMoveStep.BI_01_DoorOpen);
InOutStoreLog("出库等待料架" + MoveInfo.SLog + " agv已到达,打开入料口移门"); InOutStoreLog("出库等待料架" + MoveInfo.SLog + " agv已到达,打开入料口移门");
DoorBean.StartOpen(MoveInfo); DoorBean.StartBack(MoveInfo);
return true; return true;
} }
else if (storeRunStatus.Equals(StoreRunStatus.Runing) && //else if (storeRunStatus.Equals(StoreRunStatus.Runing) &&
MoveInfo.MoveType.Equals(StoreMoveType.None) && // MoveInfo.MoveType.Equals(StoreMoveType.None) &&
IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.LOW)) // IOValue(IO_Type.LineTake_Check).Equals(IO_VALUE.LOW))
{ //{
//agv到达,开始处理 // //agv到达,开始处理
if (rfid.Equals("")) // if (rfid.Equals(""))
{ // {
LogUtil.error(Name + logN + " ,RFID无效,不需要入库处理"); // LogUtil.error(Name + logN + " ,RFID无效,不需要入库处理");
return false; // return false;
} // }
LogUtil.info(Name + logN + " ,检测到料架,开始料架入库"); // LogUtil.info(Name + logN + " ,检测到料架,开始料架入库");
StartShelfInStore(); // StartShelfInStore();
return true; // return true;
} //}
else //else
{ //{
LogUtil.error(Name + logN + " ,[" + MoveInfo.MoveType + "][" + MoveInfo.MoveStep + "]未找到相关处理"); // LogUtil.error(Name + logN + " ,[" + MoveInfo.MoveType + "][" + MoveInfo.MoveStep + "]未找到相关处理");
} //}
return false; return false;
} }
...@@ -640,7 +640,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -640,7 +640,7 @@ namespace OnlineStore.DeviceLibrary
string plateW = plateWArray[index]; string plateW = plateWArray[index];
string plateH = plateHArray[index]; string plateH = plateHArray[index];
string shelfPosID = StoreManager.GetShelfIDByLoc(rfidLoc, ShelfPosList); string shelfPosID = StoreManager.GetShelfIDByLoc(rfidLoc, ShelfPosList);
InOutParam inoutParam = new InOutParam(barcode, posId, shelfPosID, plateW, plateH, urgentReel, cutReel, smallReel, rfid, rfidLoc, taskCount, realRfid); InOutParam inoutParam = new InOutParam(barcode, posId, plateW, plateH);
//根据发送的posId获取位置列表 //根据发送的posId获取位置列表
ACBoxPosition position = CSVPositionReader<ACBoxPosition>.GetPositon(posId); ACBoxPosition position = CSVPositionReader<ACBoxPosition>.GetPositon(posId);
...@@ -757,7 +757,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -757,7 +757,7 @@ namespace OnlineStore.DeviceLibrary
return false; return false;
} }
LogInfo(" 收到服务器入库命令:库位号【" + posId + "】二维码【" + message + "】设置入库参数 , 开始入库!"); LogInfo(" 收到服务器入库命令:库位号【" + posId + "】二维码【" + message + "】设置入库参数 , 开始入库!");
int p3 = ComTargetPosition + Config.GetCom_P3_P2(plateW); int p3 = Config.CompAxis_P3;
MoveInfo.MoveParam.UpdatePosId(message, posId, plateW, plateH, ComTargetPosition, p3); MoveInfo.MoveParam.UpdatePosId(message, posId, plateW, plateH, ComTargetPosition, p3);
return true; return true;
} }
...@@ -878,7 +878,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -878,7 +878,7 @@ namespace OnlineStore.DeviceLibrary
return false; return false;
} }
LogInfo(" 收到服务器入库命令:库位号【" + posId + "】二维码【" + message + "】设置入库参数 , 开始入库!"); LogInfo(" 收到服务器入库命令:库位号【" + posId + "】二维码【" + message + "】设置入库参数 , 开始入库!");
int p3 = ComTargetPosition + Config.GetCom_P3_P2(plateW); int p3 = Config.CompAxis_P3;
MoveInfo.MoveParam.UpdatePosId(message, posId, plateW, plateH, ComTargetPosition, p3); MoveInfo.MoveParam.UpdatePosId(message, posId, plateW, plateH, ComTargetPosition, p3);
codeResultType = CodeResultType.Success; codeResultType = CodeResultType.Success;
return true; return true;
......
...@@ -30,7 +30,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -30,7 +30,6 @@ namespace OnlineStore.DeviceLibrary
public Store_Config Config { get; set; } public Store_Config Config { get; set; }
public bool UseBuzzer = ConfigAppSettings.GetIntValue(Setting_Init.UseBuzzer).Equals(1); public bool UseBuzzer = ConfigAppSettings.GetIntValue(Setting_Init.UseBuzzer).Equals(1);
public bool AutoShelfInstore = ConfigAppSettings.GetIntValue(Setting_Init.AutoShelfInstore).Equals(1); public bool AutoShelfInstore = ConfigAppSettings.GetIntValue(Setting_Init.AutoShelfInstore).Equals(1);
List<string> rfidList = new List<string>();
#region 初始化 #region 初始化
internal bool canStart = false; internal bool canStart = false;
...@@ -62,7 +61,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -62,7 +61,6 @@ namespace OnlineStore.DeviceLibrary
AddDeviceName(ioList, config.IOIPList); AddDeviceName(ioList, config.IOIPList);
BoxMap.Add(config.Id, equip); BoxMap.Add(config.Id, equip);
BoxConfigMap.Add(config.Id, config); BoxConfigMap.Add(config.Id, config);
rfidList.Add(config.RFID_IP);
} }
IOManager.Init(); IOManager.Init();
...@@ -382,17 +380,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -382,17 +380,6 @@ namespace OnlineStore.DeviceLibrary
WarnMsg = msg; WarnMsg = msg;
} }
internal bool AGVProcess(string name, string rfid, ClientAction action)
{
foreach (BoxBean box in this.BoxMap.Values)
{
if (box.Config.AgvNodeName.Equals(name))
{
return box.ProcessAGVAction(name,rfid, action);
}
}
return false;
}
public override void Alarm(StoreAlarmType alarmType, string alarmDetial, string alarmMsg, StoreMoveType storeMoveType) public override void Alarm(StoreAlarmType alarmType, string alarmDetial, string alarmMsg, StoreMoveType storeMoveType)
{ {
......
...@@ -9,7 +9,7 @@ using System.Threading.Tasks; ...@@ -9,7 +9,7 @@ using System.Threading.Tasks;
namespace OnlineStore.DeviceLibrary namespace OnlineStore.DeviceLibrary
{ {
public class EnteryDoorBean public class HoisterCylinder
{ {
public bool IsRun = false; public bool IsRun = false;
private string LastMoveDO = ""; private string LastMoveDO = "";
...@@ -17,7 +17,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -17,7 +17,7 @@ namespace OnlineStore.DeviceLibrary
private int subType = 0; private int subType = 0;
internal DateTime LastEndTime = DateTime.Now; internal DateTime LastEndTime = DateTime.Now;
public EnteryDoorBean(int subType) public HoisterCylinder(int subType)
{ {
this.subType = subType; this.subType = subType;
} }
...@@ -48,13 +48,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -48,13 +48,13 @@ namespace OnlineStore.DeviceLibrary
LastMoveDO = moveDO; LastMoveDO = moveDO;
LastCheckDI = checkDI; LastCheckDI = checkDI;
LogUtil.debug("写入信号:" + moveDO + ",等待信号:" + checkDI + ""); LogUtil.debug("写入信号:" + moveDO + ",等待信号:" + checkDI + "");
if (moveDO.Equals(IO_Type.EntranceDoor_Open)) if (moveDO.Equals(IO_Type.Hoister_Back))
{ {
IOManager.IOMove(IO_Type.EntranceDoor_Close, IO_VALUE.LOW, subType); IOManager.IOMove(IO_Type.Hoister_Forward, IO_VALUE.LOW, subType);
} }
else else
{ {
IOManager.IOMove(IO_Type.EntranceDoor_Open, IO_VALUE.LOW, subType); IOManager.IOMove(IO_Type.Hoister_Back, IO_VALUE.LOW, subType);
} }
IOManager.IOMove(moveDO, IO_VALUE.HIGH, subType); IOManager.IOMove(moveDO, IO_VALUE.HIGH, subType);
...@@ -101,7 +101,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -101,7 +101,7 @@ namespace OnlineStore.DeviceLibrary
} }
} }
public bool StartOpen(StoreMoveInfo moveInfo) public bool StartBack(StoreMoveInfo moveInfo)
{ {
bool UseDoor = ConfigAppSettings.GetIntValue(Setting_Init.UseDoor).Equals(1); bool UseDoor = ConfigAppSettings.GetIntValue(Setting_Init.UseDoor).Equals(1);
if (!UseDoor) if (!UseDoor)
...@@ -110,21 +110,21 @@ namespace OnlineStore.DeviceLibrary ...@@ -110,21 +110,21 @@ namespace OnlineStore.DeviceLibrary
} }
//如果门已打开直接返回 //如果门已打开直接返回
if (IOManager.IOValue(IO_Type.EntranceDoor_Open, subType).Equals(IO_VALUE.HIGH) && if (IOManager.IOValue(IO_Type.Hoister_Back, subType).Equals(IO_VALUE.HIGH) &&
IOManager.IOValue(IO_Type.EntranceDoor_Close, subType).Equals(IO_VALUE.LOW)) IOManager.IOValue(IO_Type.Hoister_Forward, subType).Equals(IO_VALUE.LOW))
{ {
return true; return true;
} }
if (moveInfo != null) if (moveInfo != null)
{ {
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.EntranceDoor_Open, IO_VALUE.HIGH)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Hoister_Back, IO_VALUE.HIGH));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.EntranceDoor_Close, IO_VALUE.LOW)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Hoister_Forward, IO_VALUE.LOW));
} }
return Start(IO_Type.EntranceDoor_Open, IO_Type.EntranceDoor_Open); return Start(IO_Type.Hoister_Back, IO_Type.Hoister_Back);
} }
public bool StartClose(StoreMoveInfo moveInfo) public bool StartForward(StoreMoveInfo moveInfo)
{ {
bool UseDoor = ConfigAppSettings.GetIntValue(Setting_Init.UseDoor).Equals(1); bool UseDoor = ConfigAppSettings.GetIntValue(Setting_Init.UseDoor).Equals(1);
if (!UseDoor) if (!UseDoor)
...@@ -133,17 +133,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -133,17 +133,17 @@ namespace OnlineStore.DeviceLibrary
} }
//如果门已关闭直接返回 //如果门已关闭直接返回
if (IOManager.IOValue(IO_Type.EntranceDoor_Close, subType).Equals(IO_VALUE.HIGH) && if (IOManager.IOValue(IO_Type.Hoister_Forward, subType).Equals(IO_VALUE.HIGH) &&
IOManager.IOValue(IO_Type.EntranceDoor_Open, subType).Equals(IO_VALUE.LOW)) IOManager.IOValue(IO_Type.Hoister_Back, subType).Equals(IO_VALUE.LOW))
{ {
return true; return true;
} }
if (moveInfo != null) if (moveInfo != null)
{ {
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.EntranceDoor_Close, IO_VALUE.HIGH)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Hoister_Forward, IO_VALUE.HIGH));
moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.EntranceDoor_Open, IO_VALUE.LOW)); moveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Hoister_Back, IO_VALUE.LOW));
} }
return Start(IO_Type.EntranceDoor_Close, IO_Type.EntranceDoor_Close); return Start(IO_Type.Hoister_Forward, IO_Type.Hoister_Forward);
} }
} }
} }
...@@ -69,102 +69,102 @@ namespace OnlineStore.DeviceLibrary ...@@ -69,102 +69,102 @@ namespace OnlineStore.DeviceLibrary
public string currTempStr = ""; public string currTempStr = "";
internal void HumidityProcess(BoxBean box) internal void HumidityProcess(BoxBean box)
{ {
try //try
{ //{
if ((DateTime.Now - preLogTime).TotalSeconds > 10) // if ((DateTime.Now - preLogTime).TotalSeconds > 10)
{ // {
preLogTime = DateTime.Now; // preLogTime = DateTime.Now;
//用最大的湿度判断是否需要吹气,开始吹气的值=发过来的值-4 // //用最大的湿度判断是否需要吹气,开始吹气的值=发过来的值-4
//温湿度 // //温湿度
//ASTemperateParam param = HumitureServer.GetTemperateParam(Config.GetTempAddrList()); // //ASTemperateParam param = HumitureServer.GetTemperateParam(Config.GetTempAddrList());
HumitureParam param = QueryData(); // HumitureParam param = QueryData();
double humidity = 0; // double humidity = 0;
double temp = 0; // double temp = 0;
if (param != null) // if (param != null)
{ // {
humidity = param.Humidity; // humidity = param.Humidity;
temp = param.Temperate; // temp = param.Temperate;
currTempStr = Name + ("湿度:" + humidity.ToString() + ",温度:" + temp); // currTempStr = Name + ("湿度:" + humidity.ToString() + ",温度:" + temp);
} // }
//double currMaxHumidity = HumitureServer.GetMaxHumidity(Config.GetTempAddrList()); // //double currMaxHumidity = HumitureServer.GetMaxHumidity(Config.GetTempAddrList());
double currMaxHumidity = param.Humidity; // double currMaxHumidity = param.Humidity;
float startBlowHumidity = Max_Humidity - StartBlowValue; // float startBlowHumidity = Max_Humidity - StartBlowValue;
float stopBlowHumidity = Max_Humidity - StopBlowValue; // float stopBlowHumidity = Max_Humidity - StopBlowValue;
//判断是否需要吹气 // //判断是否需要吹气
if (startBlowHumidity > 0 && startBlowHumidity < currMaxHumidity && IsInBlowing.Equals(false)) // if (startBlowHumidity > 0 && startBlowHumidity < currMaxHumidity && IsInBlowing.Equals(false))
{ // {
//判断是否距离上次结束指定的时间 // //判断是否距离上次结束指定的时间
TimeSpan span = DateTime.Now - LastEndBlowTime; // TimeSpan span = DateTime.Now - LastEndBlowTime;
if (span.TotalMinutes > box.Config.BlowAir_Interval) // if (span.TotalMinutes > StoreManager.Config.BlowAir_Interval)
{ // {
LogUtil.info(Name + "当前最大湿度:" + currMaxHumidity.ToString() + ",开始吹气湿度:" + startBlowHumidity + ",当前不在吹气中,且间隔超过" + box.Config.BlowAir_Interval + "分钟,开始吹气!"); // LogUtil.info(Name + "当前最大湿度:" + currMaxHumidity.ToString() + ",开始吹气湿度:" + startBlowHumidity + ",当前不在吹气中,且间隔超过" + StoreManager.Config.BlowAir_Interval + "分钟,开始吹气!");
IsInBlowing = true; // IsInBlowing = true;
//Thread.Sleep(100); // //Thread.Sleep(100);
box.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.HIGH); // box.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.HIGH);
LastBeginBlowTime = DateTime.Now; // LastBeginBlowTime = DateTime.Now;
LastEndBlowTime = DateTime.Now; // LastEndBlowTime = DateTime.Now;
} // }
} // }
if (IsInBlowing && stopBlowHumidity > currMaxHumidity) // if (IsInBlowing && stopBlowHumidity > currMaxHumidity)
{ // {
LogUtil.info(Name + "当前最大湿度:" + currMaxHumidity.ToString() + ",停止吹气湿度:" + stopBlowHumidity + ",停止吹气!"); // LogUtil.info(Name + "当前最大湿度:" + currMaxHumidity.ToString() + ",停止吹气湿度:" + stopBlowHumidity + ",停止吹气!");
IsInBlowing = false; // IsInBlowing = false;
box.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW); // box.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW);
LastEndBlowTime = DateTime.Now; // LastEndBlowTime = DateTime.Now;
} // }
if (IsInBlowing) // if (IsInBlowing)
{ // {
//判断是否需要结束吹气 // //判断是否需要结束吹气
TimeSpan span = DateTime.Now - LastBeginBlowTime; // TimeSpan span = DateTime.Now - LastBeginBlowTime;
if (span.TotalMinutes > box.Config.BlowAir_Time) // if (span.TotalMinutes > StoreManager.Config.BlowAir_Time)
{ // {
LogUtil.info(Name + "已经吹气" + span.TotalMinutes + "分钟,超过配置的吹气时间" + box.Config.BlowAir_Time + "分钟,停止吹气!"); // LogUtil.info(Name + "已经吹气" + span.TotalMinutes + "分钟,超过配置的吹气时间" + StoreManager.Config.BlowAir_Time + "分钟,停止吹气!");
IsInBlowing = false; // IsInBlowing = false;
//Thread.Sleep(100); // //Thread.Sleep(100);
box.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW); // box.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW);
LastEndBlowTime = DateTime.Now; // LastEndBlowTime = DateTime.Now;
} // }
} // }
bool needAlarm = false; // bool needAlarm = false;
//如果开始吹气并且当前达到报警值 // //如果开始吹气并且当前达到报警值
if (IsInBlowing && humidity > Max_Humidity) // if (IsInBlowing && humidity > Max_Humidity)
{ // {
needAlarm = true; // needAlarm = true;
} // }
else if (temp > Max_Temperature && Max_Temperature > 0) // else if (temp > Max_Temperature && Max_Temperature > 0)
{ // {
LogUtil.info(Name + "当前温度【" + param.Temperate + "】超过最高温度【" + Max_Temperature + "】,开始报警!"); // LogUtil.info(Name + "当前温度【" + param.Temperate + "】超过最高温度【" + Max_Temperature + "】,开始报警!");
needAlarm = true; // needAlarm = true;
//Thread.Sleep(100); // //Thread.Sleep(100);
box.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW); // box.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW);
} // }
else if (temp < Max_Temperature) // else if (temp < Max_Temperature)
{ // {
if (IsInBlowing.Equals(false) && TempOrHumidityIsAlarm) // if (IsInBlowing.Equals(false) && TempOrHumidityIsAlarm)
{ // {
LogUtil.info(Name + "不在吹气中,且当前温度【" + param.Temperate + "】低于【" + Max_Temperature + "】,关闭报警!"); // LogUtil.info(Name + "不在吹气中,且当前温度【" + param.Temperate + "】低于【" + Max_Temperature + "】,关闭报警!");
TempOrHumidityIsAlarm = false; // TempOrHumidityIsAlarm = false;
//Thread.Sleep(100); // //Thread.Sleep(100);
box.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW); // box.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW);
} // }
} // }
else // else
{ // {
TempOrHumidityIsAlarm = false; // TempOrHumidityIsAlarm = false;
} // }
if (needAlarm) // if (needAlarm)
{ // {
HTAlarm(); // HTAlarm();
} // }
} // }
} //}
catch (Exception ex) //catch (Exception ex)
{ //{
LogUtil.error(Name + "HumidityProcess出错:" + ex.ToString()); // LogUtil.error(Name + "HumidityProcess出错:" + ex.ToString());
} //}
} }
private void HTAlarm() private void HTAlarm()
{ {
......
...@@ -13,12 +13,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -13,12 +13,7 @@ namespace OnlineStore.DeviceLibrary
{ {
public class StoreManager public class StoreManager
{ {
/// <summary>
/// 当前出入库的模式
/// </summary>
public static int CurrInOutType = 0;
// public static readonly ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public static DUOStoreBean Store = null; public static DUOStoreBean Store = null;
public static Store_Config Config = null; public static Store_Config Config = null;
public static Dictionary<int, BaseConfig> AllConfigMap = null; public static Dictionary<int, BaseConfig> AllConfigMap = null;
...@@ -122,10 +117,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -122,10 +117,6 @@ namespace OnlineStore.DeviceLibrary
} }
return Store; return Store;
} }
/// <summary>
/// 修改了料仓配置,更新缓存,更新配置文件(只能更新PRO的配置)
/// </summary>
/// <param name="kTK_LA_Store_Config"></param>
public static bool UpdateBoxConfig(BOX_Config storeConfig) public static bool UpdateBoxConfig(BOX_Config storeConfig)
{ {
try try
...@@ -188,23 +179,23 @@ namespace OnlineStore.DeviceLibrary ...@@ -188,23 +179,23 @@ namespace OnlineStore.DeviceLibrary
} }
p.ComPress_P1 = box.Config.CompAxis_P1_Position; p.ComPress_P1 = box.Config.CompAxis_P1;
p.InOut_P1 = box.Config.InOutAxis_P1_Position; p.InOut_P1 = box.Config.InOutAxis_P1;
p.Middle_P1 = box.Config.MiddleAxis_P1; p.Middle_P1 = box.Config.MiddleAxis_P1;
p.InOut_P2 = box.Config.InOutAxis_P2_Position; p.InOut_P2 = box.Config.InOutAxis_P2 ;
p.UpDown_P1 = box.Config.UpDownAxis_P1; p.UpDown_P1 = box.Config.UpDownAxis_P1;
// p.UpDown_P8 = box.Config.UpDownAxis_DoorIBPosition_P8; // p.UpDown_P8 = box.Config.UpDownAxis_DoorIBPosition_P8;
p.UpDown_P2 = box.Config.UpDownAxis_P2; p.UpDown_P2 = box.Config.UpDownAxis_P2;
// p.UpDown_P7 = box.Config.UpDownAxis_DoorOBPosition_P7; // p.UpDown_P7 = box.Config.UpDownAxis_DoorOBPosition_P7;
p.InOut_P11 = box.Config.InOutAxis_P11_Position; p.InOut_P11 = box.Config.InOutAxis_P11 ;
p.Middle_P11 = box.Config.MiddleAxis_P11; p.Middle_P11 = box.Config.MiddleAxis_P11;
p.UpDown_P11 = box.Config.UpDownAxis_P11; p.UpDown_P11 = box.Config.UpDownAxis_P11;
p.UpDown_P12 = box.Config.UpDownAxis_P12; p.UpDown_P12 = box.Config.UpDownAxis_P12;
p.ComPress_P2 = box.Config.GetComP2(position.BagHigh).TargetComP2(); p.ComPress_P2 = box.Config.GetComP2(position.BagHigh);
p.ComPress_P3 = p.ComPress_P2 + box.Config.GetCom_P3_P2(param.PlateW); p.ComPress_P3 = box.Config.CompAxis_P3;
p.InOut_P3 = position.InoutAxis_P3; p.InOut_P3 = position.InoutAxis_P3;
p.Middle_P2 = position.MiddleAxis_P2; p.Middle_P2 = position.MiddleAxis_P2;
p.UpDown_P3 = position.UpdownAxis_IH_P3; p.UpDown_P3 = position.UpdownAxis_IH_P3;
...@@ -599,7 +590,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -599,7 +590,7 @@ namespace OnlineStore.DeviceLibrary
// 参数:cids: 多个 cid // 参数:cids: 多个 cid
//code: 条码内容 //code: 条码内容
Dictionary<string, string> paramMap = new Dictionary<string, string>(); Dictionary<string, string> paramMap = new Dictionary<string, string>();
paramMap.Add("cids", boxConfig.All_CIDs.Replace('#', ',')); paramMap.Add("cids", Config.All_CIDs.Replace('#', ','));
paramMap.Add("code", barcode); paramMap.Add("code", barcode);
paramMap.Add(ParamDefine.rfid, rfid); paramMap.Add(ParamDefine.rfid, rfid);
paramMap.Add("rfidLoc", rfidLoc.ToString()); paramMap.Add("rfidLoc", rfidLoc.ToString());
......
...@@ -81,7 +81,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -81,7 +81,7 @@ namespace OnlineStore.DeviceLibrary
//param.NeedOutShelf = false; //param.NeedOutShelf = false;
//param.NeedEnterShelf = false; //param.NeedEnterShelf = false;
//判断是否需要重置 //判断是否需要重置
if (CurrInOutACount >= boxBean.Config.Box_ResetACount) if (CurrInOutACount >= StoreManager.Config.Box_ResetACount)
{ {
boxBean.LogInfo("自动进入下一个出库:posid=" + posid + ",当时已经出入库" + CurrInOutACount + "次,需要重置BOX,先把出库信息存入排队列表中"); boxBean.LogInfo("自动进入下一个出库:posid=" + posid + ",当时已经出入库" + CurrInOutACount + "次,需要重置BOX,先把出库信息存入排队列表中");
boxBean.Reset(false); boxBean.Reset(false);
...@@ -119,7 +119,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -119,7 +119,7 @@ namespace OnlineStore.DeviceLibrary
InOutParam param = new InOutParam("AAAA", posid, shelfPosId); InOutParam param = new InOutParam("AAAA", posid, shelfPosId);
// param.NeedOutShelf = false; // param.NeedOutShelf = false;
//判断是否需要重置 //判断是否需要重置
if (CurrInOutACount >= boxBean.Config.Box_ResetACount) if (CurrInOutACount >= StoreManager.Config.Box_ResetACount)
{ {
boxBean.LogInfo("自动进入下一个入库:posid=" + posid + ",当时已经出入库" + CurrInOutACount + "次,需要重置BOX,先把入库信息存入排队列表中"); boxBean.LogInfo("自动进入下一个入库:posid=" + posid + ",当时已经出入库" + CurrInOutACount + "次,需要重置BOX,先把入库信息存入排队列表中");
boxBean.Reset(false); boxBean.Reset(false);
......
...@@ -10,47 +10,26 @@ using System.Text; ...@@ -10,47 +10,26 @@ using System.Text;
namespace OnlineStore.DeviceLibrary namespace OnlineStore.DeviceLibrary
{ {
/// <summary>
/// 出入仓参数(出入库操作时传入的参数类)
/// </summary>
public class InOutParam public class InOutParam
{ {
public InOutParam(string wareNo="", string posId="", string ShelfPosID="", string platew = "", string plateh = "", bool urgentReel = false, bool cutReel = false, bool smallReel = false, string rfid = "", int rfidLoc = 0,int taskCount=0,string realRfid="") public InOutParam(string wareNo="", string posId="", string platew = "", string plateh = "")
{ {
this.ShelfPosID = ShelfPosID;
WareCode = wareNo; WareCode = wareNo;
PosID = posId; PosID = posId;
MoveP = null; MoveP = null;
this.PlateW = platew; this.PlateW = platew;
this.PlateH = plateh; this.PlateH = plateh;
this.urgentReel = urgentReel;
this.cutReel = cutReel;
this.smallReel = smallReel;
this.rfid = rfid;
this.rfidLoc = rfidLoc;
this.taskCount = taskCount;
this.realRfid = realRfid;
} }
public InOutParam(string wareNo, string posId, string ShelfPosID,LineMoveP linePosition ) public InOutParam(string wareNo, string posId, string ShelfPosID,LineMoveP linePosition )
{ {
WareCode = wareNo; WareCode = wareNo;
this.ShelfPosID = ShelfPosID;
PosID = posId; PosID = posId;
MoveP = linePosition; MoveP = linePosition;
//NeedEnterShelf = false;
//NeedOutShelf = false;
this.urgentReel = false ;
this.cutReel = false ;
this.smallReel = false ;
this.rfid = "";
this.rfidLoc = 0;
this.taskCount = 0;
this.realRfid = "";
} }
public InOutParam NewParam() public InOutParam NewParam()
{ {
InOutParam newp = new InOutParam(WareCode,PosID,ShelfPosID, PlateW, PlateH, urgentReel,cutReel,smallReel,rfid,rfidLoc,taskCount,realRfid); InOutParam newp = new InOutParam(WareCode,PosID, PlateW, PlateH);
return newp; return newp;
} }
/// <summary> /// <summary>
...@@ -61,10 +40,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -61,10 +40,7 @@ namespace OnlineStore.DeviceLibrary
/// 位置坐标名(对应配置表的位置) /// 位置坐标名(对应配置表的位置)
/// </summary> /// </summary>
public string PosID { get; set; } public string PosID { get; set; }
/// <summary>
/// 料架对应的库位号
/// </summary>
public string ShelfPosID = "";
public LineMoveP MoveP { get; set; } public LineMoveP MoveP { get; set; }
/// <summary> /// <summary>
/// 料盘高度 /// 料盘高度
...@@ -76,42 +52,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -76,42 +52,6 @@ namespace OnlineStore.DeviceLibrary
public string PlateW { get; set; } public string PlateW { get; set; }
/// <summary> /// <summary>
/// urgentReel: true 表示紧急料,需要出到料串上
/// </summary>
public bool urgentReel { get; set; }
/// <summary>
/// cutReel: true 表示分盘料,需要出到料串上
/// </summary>
public bool cutReel { get; set; }
/// <summary>
/// smallReel: true 小料(7x8),放置到小料架上
/// </summary>
public bool smallReel { get; set; }
/// <summary>
/// rfid: 分配的料架RFID
/// </summary>
public string rfid = "";
/// <summary>
/// rfidLoc: 料架的架位,值为 - 1时,可以自由分配皮带线,
/// 小料时,架位为1 - 46优先走1 / 2号皮带线,47 - 92优先走3 / 4号皮带线,
/// 70,71,72时只能分配到3 / 4号皮带线;
/// 大料时,架位1 - 6优先走1 / 2号皮带线, 7 - 12优先走3/ 4号皮带线
/// </summary>
public int rfidLoc = 0;
/// <summary>
/// 剩余任务数量,当剩余任务 《=1时,出库完成需要送出料架
/// 剩余任务数为0, 或者料架已放满,或者料架rfid与上一个任务不同,料架就要放出去
/// 剩余任务数为1时, 当前的料放完就可以把料架放出去了
///当前料放完,料架已满,也把料架放出去
/// </summary>
public int taskCount = 0;
/// <summary>
/// 真实料架号
/// </summary>
public string realRfid = "";
/// <summary>
/// 根据PosId获取对应的料仓ID,若PosId=="",返回-1 /// 根据PosId获取对应的料仓ID,若PosId=="",返回-1
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
...@@ -129,7 +69,6 @@ namespace OnlineStore.DeviceLibrary ...@@ -129,7 +69,6 @@ namespace OnlineStore.DeviceLibrary
if (arr.Length >= 2) if (arr.Length >= 2)
{ {
return int.Parse(arr[0]); return int.Parse(arr[0]);
} }
else else
{ {
...@@ -145,16 +84,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -145,16 +84,9 @@ namespace OnlineStore.DeviceLibrary
} }
public string ToStr() public string ToStr()
{ {
return " 库位 [" + PosID + "] [" + ShelfPosID + "], [" + WareCode + "], [" + PlateW + "x" + PlateH + "] ," + return " 库位 [" + PosID + "] [" + WareCode + "], [" + PlateW + "x" + PlateH + "] ";
"urgentReel [" + urgentReel + "],cutReel [" + cutReel + "],smallReel [" + smallReel + "],rfid [" + rfid + "],rfidLoc [" + rfidLoc + "],taskCount ["+ taskCount + "]";
}
public string ToShortStr()
{
return "["+rfid+"][" + PosID + "][" + ShelfPosID + "][" + PlateW + "x" + PlateH + "][" + WareCode + "]";
} }
internal void UpdatePosId(string message, string posId, string plateW, string plateH,int comP2,int comP3) internal void UpdatePosId(string message, string posId, string plateW, string plateH,int comP2,int comP3)
{ {
this.WareCode = message; this.WareCode = message;
...@@ -179,13 +111,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -179,13 +111,9 @@ namespace OnlineStore.DeviceLibrary
MoveP.UpDown_P6 = position.UpdownAxis_OL_P6; MoveP.UpDown_P6 = position.UpdownAxis_OL_P6;
} }
internal void UpdatePosIdAndShelfId(string wareNo,string rfid,string posId, string ShelfPosID) internal void UpdatePosIdAndShelfId(string wareNo,string rfid,string posId )
{ {
WareCode = wareNo; WareCode = wareNo;
this.ShelfPosID = ShelfPosID;
this.rfid = rfid;
PosID = posId; PosID = posId;
ACBoxPosition position = CSVPositionReader<ACBoxPosition>.GetPositon(posId); ACBoxPosition position = CSVPositionReader<ACBoxPosition>.GetPositon(posId);
......
...@@ -484,8 +484,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -484,8 +484,7 @@ namespace OnlineStore.DeviceLibrary
protected void InOutStoreLog(string msg) protected void InOutStoreLog(string msg)
{ {
string posId = MoveInfo.MoveParam != null ? "["+MoveInfo.MoveParam.PosID+"]" : ""; string posId = MoveInfo.MoveParam != null ? "["+MoveInfo.MoveParam.PosID+"]" : "";
string shelfId = MoveInfo.MoveParam != null ? "[" + MoveInfo.MoveParam.ShelfPosID+"]" : ""; LogInfo(" " + posId +" :" + msg);
LogInfo(" " + posId +""+ shelfId + " :" + msg);
} }
protected int GetAlarmCodeByAxis(ConfigMoveAxis axis) protected int GetAlarmCodeByAxis(ConfigMoveAxis axis)
{ {
......
...@@ -19,8 +19,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -19,8 +19,8 @@ namespace OnlineStore.DeviceLibrary
} }
public LineMoveP(BOX_Config Config) public LineMoveP(BOX_Config Config)
{ {
this.ComPress_P1 = Config.CompAxis_P1_Position; this.ComPress_P1 = Config.CompAxis_P1 ;
this.InOut_P1 = Config.InOutAxis_P1_Position; this.InOut_P1 = Config.InOutAxis_P1 ;
this.Middle_P1 = Config.MiddleAxis_P1; this.Middle_P1 = Config.MiddleAxis_P1;
this.UpDown_P1 = Config.UpDownAxis_P1; this.UpDown_P1 = Config.UpDownAxis_P1;
this.UpDown_P2 = Config.UpDownAxis_P2; this.UpDown_P2 = Config.UpDownAxis_P2;
...@@ -30,8 +30,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -30,8 +30,8 @@ namespace OnlineStore.DeviceLibrary
this.Middle_P11 = Config.MiddleAxis_P11; this.Middle_P11 = Config.MiddleAxis_P11;
this.InOut_P11 = Config.InOutAxis_P11_Position; this.InOut_P11 = Config.InOutAxis_P11;
this.InOut_P2 = Config.InOutAxis_P2_Position; this.InOut_P2 = Config.InOutAxis_P2;
} }
/// <summary> /// <summary>
/// 轴2( 升降轴) 扫码放料低点 P1 /// 轴2( 升降轴) 扫码放料低点 P1
......
...@@ -187,7 +187,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -187,7 +187,7 @@ namespace OnlineStore.DeviceLibrary
//设置取料位置 //设置取料位置
MoveParam.UpdatePosIdAndShelfId(shelfLockDatas[currShelfIndex].barcode, MoveParam.UpdatePosIdAndShelfId(shelfLockDatas[currShelfIndex].barcode,
shelfLockDatas[currShelfIndex].rfid, shelfLockDatas[currShelfIndex].rfid,
shelfLockDatas[currShelfIndex].lockPos, currShelfPosId); shelfLockDatas[currShelfIndex].lockPos);
return true; return true;
......
...@@ -128,6 +128,7 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -128,6 +128,7 @@ namespace OnlineStore.LoadCSVLibrary
} }
} }
bllIns.CheckField(); bllIns.CheckField();
bllIns.ConfigStr = line.Replace(",,,","");
configList.Add(bllIns); configList.Add(bllIns);
} }
index++; index++;
......
...@@ -149,7 +149,7 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -149,7 +149,7 @@ namespace OnlineStore.LoadCSVLibrary
{ {
public ConfigIO() public ConfigIO()
{ {
SlaveID = 0;
} }
private string IP = ""; private string IP = "";
...@@ -178,8 +178,6 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -178,8 +178,6 @@ namespace OnlineStore.LoadCSVLibrary
[CSVAttribute("电器定义")] [CSVAttribute("电器定义")]
public string ElectricalDefinition { get; set; } public string ElectricalDefinition { get; set; }
[CSVAttribute("SlaveID")]
public byte SlaveID { get; set; }
public string DisplayStr public string DisplayStr
{ {
get get
......
...@@ -10,48 +10,43 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -10,48 +10,43 @@ namespace OnlineStore.LoadCSVLibrary
{ {
public class BaseConfig public class BaseConfig
{ {
private bool codeAutoLog = false ;
public static Dictionary<int, Dictionary<string, ConfigIO>> SubDIList { get; set; } public static Dictionary<int, Dictionary<string, ConfigIO>> SubDIList { get; set; }
public static Dictionary<int, Dictionary<string, ConfigIO>> SubDOList { get; set; } public static Dictionary<int, Dictionary<string, ConfigIO>> SubDOList { get; set; }
// public static readonly ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public static Dictionary<string, string> ProIOIpMap = null; public static Dictionary<string, string> ProIOIpMap = null;
public const string IOIP_Str = "PRO_AOI_IP"; public const string IOIP_Str = "PRO_AIO_IP";
/// <summary>
/// ID
/// </summary>
public int Id { get; set; } public int Id { get; set; }
public string CID { get; set; } public string CID { get; set; }
/// <summary> /// <summary>
/// 设备类型 /// 设备类型
/// </summary> /// </summary>
public string DType { get; set; } public string DType { get; set; }
/// <summary>
/// 配置文件路径
/// </summary>
public string ConfigFilePath { get; set; } public string ConfigFilePath { get; set; }
public Dictionary<String, ConfigIO> DIList { get; set; } public Dictionary<String, ConfigIO> DIList { get; set; }
public Dictionary<String, ConfigIO> DOList { get; set; } public Dictionary<String, ConfigIO> DOList { get; set; }
/// <summary>
/// 料仓所有用到的IO卡名称
/// </summary>
public List<string> IOIPList { get; set; } public List<string> IOIPList { get; set; }
public BaseConfig() public BaseConfig()
{ {
SubDIList = new Dictionary<int, Dictionary<string, ConfigIO>>();
SubDOList = new Dictionary<int, Dictionary<string, ConfigIO>>();
} }
public BaseConfig(int id,string CID, string type, string filepath) public BaseConfig(int id, string CID, string type, string filepath)
{ {
this.CID = CID; this.CID = CID;
this.Id = id; this.Id = id;
this.DType = type; this.DType = type;
this.ConfigFilePath = filepath; this.ConfigFilePath = filepath;
SubDIList = new Dictionary<int, Dictionary<string, ConfigIO>>();
SubDOList = new Dictionary<int, Dictionary<string, ConfigIO>>();
} }
public virtual void LoadConfig(List<ConfigBase> configList) public virtual void LoadConfig(List<ConfigBase> configList)
{ {
...@@ -61,8 +56,7 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -61,8 +56,7 @@ namespace OnlineStore.LoadCSVLibrary
StringBuilder proBuilder = new StringBuilder("\r\n"); StringBuilder proBuilder = new StringBuilder("\r\n");
DIList = new Dictionary<string, ConfigIO>(); DIList = new Dictionary<string, ConfigIO>();
DOList = new Dictionary<string, ConfigIO>(); DOList = new Dictionary<string, ConfigIO>();
// SubDIList = new Dictionary<int, Dictionary<string, ConfigIO>>();
// SubDOList = new Dictionary<int, Dictionary<string, ConfigIO>>();
IOIPList = new List<string>(); IOIPList = new List<string>();
//取得属性集合 //取得属性集合
PropertyInfo[] props = GetType().GetProperties(); PropertyInfo[] props = GetType().GetProperties();
...@@ -99,11 +93,11 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -99,11 +93,11 @@ namespace OnlineStore.LoadCSVLibrary
LogUtil.error("配置文件:" + this.ConfigFilePath + ",属性名=" + con.ProName + "的属性未找到匹配字段!"); LogUtil.error("配置文件:" + this.ConfigFilePath + ",属性名=" + con.ProName + "的属性未找到匹配字段!");
} }
} }
else if (!ProIOIpMap.ContainsKey(con.ProName) && con.ProName.ToUpper().Contains(IOIP_Str.ToUpper())) if (!ProIOIpMap.ContainsKey(con.ProName) && con.ProName.ToUpper().Contains(IOIP_Str.ToUpper()))
{ {
ProIOIpMap.Add(con.ProName, con.ProValue); ProIOIpMap.Add(con.ProName, con.ProValue);
} }
else else if (codeAutoLog || (!proMap.ContainsKey(con.ProName)))
{ {
AddProBuffer(con, proBuilder); AddProBuffer(con, proBuilder);
LogUtil.error("配置文件:" + this.ConfigFilePath + ",属性名=" + con.ProName + "的属性未找到匹配字段!"); LogUtil.error("配置文件:" + this.ConfigFilePath + ",属性名=" + con.ProName + "的属性未找到匹配字段!");
...@@ -140,7 +134,7 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -140,7 +134,7 @@ namespace OnlineStore.LoadCSVLibrary
SubDIList[io.SubType].Add(io.ProName, io); SubDIList[io.SubType].Add(io.ProName, io);
} }
if (!ioTypeList.Contains(con.ProName)) if (!ioTypeList.Contains(con.ProName) || codeAutoLog)
{ {
AddBuffer(con, builder); AddBuffer(con, builder);
} }
...@@ -174,7 +168,7 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -174,7 +168,7 @@ namespace OnlineStore.LoadCSVLibrary
{ {
SubDOList[io.SubType].Add(io.ProName, io); SubDOList[io.SubType].Add(io.ProName, io);
} }
if (!ioTypeList.Contains(con.ProName)) if (!ioTypeList.Contains(con.ProName) || codeAutoLog)
{ {
AddBuffer(con, builder); AddBuffer(con, builder);
} }
...@@ -224,34 +218,10 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -224,34 +218,10 @@ namespace OnlineStore.LoadCSVLibrary
} }
} }
} }
////DI检测
//foreach (string di in MustHaveDIList)
//{
// if (!DIList.ContainsKey(di))
// {
// throw new CVSFieldNotMatchingExection(this.ToString() + "的DI属性" + di + "必须配置值!");
// }
//}
////DO检测
//foreach (string io in MustHaveDOList)
//{
// if (!this.DOList.ContainsKey(io))
// {
// throw new CVSFieldNotMatchingExection(this.ToString() + "的DO属性" + io + "必须配置值!");
// }
//}
} }
} }
private void AddProBuffer(ConfigBase con, StringBuilder builder) private void AddProBuffer(ConfigBase con, StringBuilder builder)
{ {
// /// <summary>
// /// PRO 是否使用定位气缸 IsHasLocationCylinder 0
// /// </summary>
//[ConfigProAttribute("IsHasLocationCylinder")]
//public int IsHasLocationCylinder { get; set; }
builder.Append(" /// <summary>\r\n"); builder.Append(" /// <summary>\r\n");
builder.Append(" /// " + con.ConfigStr + "\r\n"); builder.Append(" /// " + con.ConfigStr + "\r\n");
builder.Append(" /// </summary>\r\n"); builder.Append(" /// </summary>\r\n");
...@@ -337,6 +307,4 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -337,6 +307,4 @@ namespace OnlineStore.LoadCSVLibrary
} }
} }
...@@ -19,638 +19,239 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -19,638 +19,239 @@ namespace OnlineStore.LoadCSVLibrary
} }
/// <summary> /// <summary>
/// PRO,AGV小车站号名称,AgvNodeName,B2,,,,,,, /// AXIS,,L1_旋转轴,Middle_Axis,1,COM1,,250,1000,1000,80,60,50,10,1000,0,0
/// </summary> /// </summary>
[ConfigProAttribute("AgvNodeName")] [ConfigProAttribute("Middle_Axis")]
public string AgvNodeName { get; set; } public ConfigMoveAxis Middle_Axis { get; set; }
/// <summary>
/// PRO (轴一)旋转轴原点目标速度 MiddleAxis_TargetSpeed 30000
/// </summary>
[ConfigProAttribute("MiddleAxis_TargetSpeed")]
public int MiddleAxis_TargetSpeed { get; set; }
/// <summary>
/// PRO (轴一)旋转轴加速度 MiddleAxis_AddSpeed 500
/// </summary>
[ConfigProAttribute("MiddleAxis_AddSpeed")]
public short MiddleAxis_AddSpeed { get; set; }
/// <summary>
/// PRO (轴一)旋转轴减速度 MiddleAxis_DelSpeed 500
/// </summary>
[ConfigProAttribute("MiddleAxis_DelSpeed")]
public short MiddleAxis_DelSpeed { get; set; }
/// <summary> /// <summary>
/// PRO (轴二)升降轴轴原点目标速度 UpdownAxis_TargetSpeed 120000 /// AXIS,,L2_上下轴,UpDown_Axis,2,COM1,,300,400,400,400,400,400,10,1000,0,0
/// </summary> /// </summary>
[ConfigProAttribute("UpdownAxis_TargetSpeed")] [ConfigProAttribute("UpDown_Axis")]
public int UpdownAxis_TargetSpeed { get; set; } public ConfigMoveAxis UpDown_Axis { get; set; }
/// <summary> /// <summary>
/// PRO (轴二)升降轴轴加速度 UpdownAxis_AddSpeed 200 /// AXIS,,L3_进出轴,InOut_Axis,3,COM1,,100,300,300,20,60,200,10,1000,0,0
/// </summary> /// </summary>
[ConfigProAttribute("UpdownAxis_AddSpeed")] [ConfigProAttribute("InOut_Axis")]
public short UpdownAxis_AddSpeed { get; set; } public ConfigMoveAxis InOut_Axis { get; set; }
/// <summary> /// <summary>
/// PRO (轴二)升降轴轴减速度 UpdownAxis_DelSpeed 200 /// AXIS,,L4_压紧轴,Comp_Axis,4,COM1,,100,300,300,20,60,200,10,1000,0,0
/// </summary> /// </summary>
[ConfigProAttribute("UpdownAxis_DelSpeed")] [ConfigProAttribute("Comp_Axis")]
public short UpdownAxis_DelSpeed { get; set; } public ConfigMoveAxis Comp_Axis { get; set; }
/// <summary> /// <summary>
/// PRO (轴三)进出轴原点目标速度 InoutAxis_TargetSpeed 12000 /// PRO,,L2_上下轴_P1待机点/扫码放料低点,UpDownAxis_P1,585000
/// </summary> /// </summary>
[ConfigProAttribute("InoutAxis_TargetSpeed")] [ConfigProAttribute("UpDownAxis_P1")]
public int InoutAxis_TargetSpeed { get; set; } public int UpDownAxis_P1 { get; set; }
/// <summary> /// <summary>
/// PRO (轴三)进出轴加速度 InoutAxis_AddSpeed 200 /// PRO,,L2_上下轴_P2扫码放料高点缓冲点,UpDownAxis_P2,604500
/// </summary> /// </summary>
[ConfigProAttribute("InoutAxis_AddSpeed")] [ConfigProAttribute("UpDownAxis_P2")]
public short InoutAxis_AddSpeed { get; set; } public int UpDownAxis_P2 { get; set; }
/// <summary> /// <summary>
/// PRO (轴三)进出轴减速度 InoutAxis_DelSpeed 200 /// PRO,,L1_旋转轴_P1待机点/扫码放料点,MiddleAxis_P1,307200
/// </summary> /// </summary>
[ConfigProAttribute("InoutAxis_DelSpeed")] [ConfigProAttribute("MiddleAxis_P1")]
public short InoutAxis_DelSpeed { get; set; } public int MiddleAxis_P1 { get; set; }
/// <summary> /// <summary>
/// PRO (轴一)旋转轴原点低速度 MiddleAxis_HomeLowSpeed 50 /// PRO,,L3_进出轴_P1待机点,InOutAxis_P1,1000
/// </summary> /// </summary>
[ConfigProAttribute("MiddleAxis_HomeLowSpeed")] [ConfigProAttribute("InOutAxis_P1")]
public short MiddleAxis_HomeLowSpeed { get; set; } public int InOutAxis_P1 { get; set; }
/// <summary> /// <summary>
/// PRO (轴一)旋转轴原点高速 MiddleAxis_HomeHighSpeed 100 /// PRO,,L4_压紧轴_P1待机点,CompAxis_P1,140000
/// </summary> /// </summary>
[ConfigProAttribute("MiddleAxis_HomeHighSpeed")] [ConfigProAttribute("CompAxis_P1")]
public short MiddleAxis_HomeHighSpeed { get; set; } public int CompAxis_P1 { get; set; }
/// <summary> /// <summary>
/// PRO (轴一)旋转轴原点加速度 MiddleAxis_HomeAddSpeed 30 /// PRO,,L4_压紧轴_P3压紧前点,CompAxis_P3,180000
/// </summary> /// </summary>
[ConfigProAttribute("MiddleAxis_HomeAddSpeed")] [ConfigProAttribute("CompAxis_P3")]
public short MiddleAxis_HomeAddSpeed { get; set; } public int CompAxis_P3 { get; set; }
/// <summary> /// <summary>
/// PRO (轴二)升降轴轴原点低速度 UpdownAxis_HomeLowSpeed 50 /// PRO,,L4_压紧轴_P2压紧点范围对应值,CompAxis_P2_List,8=385001;12=383001;16=379001;
/// </summary> /// </summary>
[ConfigProAttribute("UpdownAxis_HomeLowSpeed")] [ConfigProAttribute("CompAxis_P2_List")]
public short UpdownAxis_HomeLowSpeed { get; set; } public string CompAxis_P2_List { get; set; }
/// <summary> /// <summary>
/// PRO (轴二)升降轴轴原点高速 UpdownAxis_HomeHighSpeed 100 /// PRO,,L2_上下轴_P11-出料口-低点,UpDownAxis_P11,1000000
/// </summary> /// </summary>
[ConfigProAttribute("UpdownAxis_HomeHighSpeed")] [ConfigProAttribute("UpDownAxis_P11")]
public short UpdownAxis_HomeHighSpeed { get; set; } public int UpDownAxis_P11 { get; set; }
/// <summary> /// <summary>
/// PRO (轴二)升降轴轴原点加速度 UpdownAxis_HomeAddSpeed 30 /// PRO,,L2_上下轴_P12-出料口-高点,UpDownAxis_P12,1023000
/// </summary> /// </summary>
[ConfigProAttribute("UpdownAxis_HomeAddSpeed")] [ConfigProAttribute("UpDownAxis_P12")]
public short UpdownAxis_HomeAddSpeed { get; set; } public int UpDownAxis_P12 { get; set; }
/// <summary> /// <summary>
/// PRO (轴三)进出轴原点低速 InoutAxis_HomeLowSpeed 50 /// PRO,,L1_旋转轴_P11-出料口位置,MiddleAxis_P11,306900
/// </summary> /// </summary>
[ConfigProAttribute("InoutAxis_HomeLowSpeed")] [ConfigProAttribute("MiddleAxis_P11")]
public short InoutAxis_HomeLowSpeed { get; set; } public int MiddleAxis_P11 { get; set; }
/// <summary> /// <summary>
/// PRO (轴三)进出轴原点高速 InoutAxis_HomeHighSpeed 100 /// PRO,,L3_进出轴_P2-入料口取放料点,InOutAxis_P2,140800
/// </summary> /// </summary>
[ConfigProAttribute("InoutAxis_HomeHighSpeed")] [ConfigProAttribute("InOutAxis_P2")]
public short InoutAxis_HomeHighSpeed { get; set; } public int InOutAxis_P2 { get; set; }
/// <summary> /// <summary>
/// PRO (轴三)进出轴原点加速度 InoutAxis_HomeAddSpeed 30 /// PRO,,L3_进出轴_P11-出料口取放料点,InOutAxis_P11,148000
/// </summary> /// </summary>
[ConfigProAttribute("InoutAxis_HomeAddSpeed")] [ConfigProAttribute("InOutAxis_P11")]
public short InoutAxis_HomeAddSpeed { get; set; } public int InOutAxis_P11 { get; set; }
/// <summary> /// <summary>
/// PRO 升降轴(轴2)P1速度 UpDownAxis_P1_Speed /// PRO,,L2_上下轴_P1速度,UpDownAxis_P1_Speed,600
/// </summary> /// </summary>
[ConfigProAttribute("UpDownAxis_P1_Speed")] [ConfigProAttribute("UpDownAxis_P1_Speed")]
public int UpDownAxis_P1_Speed { get; set; } public int UpDownAxis_P1_Speed { get; set; }
/// <summary> /// <summary>
/// PRO 升降轴(轴2)P2速度 UpDownAxis_P2_Speed /// PRO,,L2_上下轴_P2速度,UpDownAxis_P2_Speed,600
/// </summary> /// </summary>
[ConfigProAttribute("UpDownAxis_P2_Speed")] [ConfigProAttribute("UpDownAxis_P2_Speed")]
public int UpDownAxis_P2_Speed { get; set; } public int UpDownAxis_P2_Speed { get; set; }
/// <summary> /// <summary>
/// PRO 升降轴(轴2)P3速度 UpDownAxis_P3_Speed /// PRO,,L2_上下轴_P3速度,UpDownAxis_P3_Speed,1000
/// </summary> /// </summary>
[ConfigProAttribute("UpDownAxis_P3_Speed")] [ConfigProAttribute("UpDownAxis_P3_Speed")]
public int UpDownAxis_P3_Speed { get; set; } public int UpDownAxis_P3_Speed { get; set; }
/// <summary> /// <summary>
/// PRO 升降轴(轴2)P4速度 UpDownAxis_P4_Speed /// PRO,,L2_上下轴_P4速度,UpDownAxis_P4_Speed,200
/// </summary> /// </summary>
[ConfigProAttribute("UpDownAxis_P4_Speed")] [ConfigProAttribute("UpDownAxis_P4_Speed")]
public int UpDownAxis_P4_Speed { get; set; } public int UpDownAxis_P4_Speed { get; set; }
/// <summary> /// <summary>
/// PRO 升降轴(轴2)P5速度 UpDownAxis_P5_Speed /// PRO,,L2_上下轴_P5速度,UpDownAxis_P5_Speed,1000
/// </summary> /// </summary>
[ConfigProAttribute("UpDownAxis_P5_Speed")] [ConfigProAttribute("UpDownAxis_P5_Speed")]
public int UpDownAxis_P5_Speed { get; set; } public int UpDownAxis_P5_Speed { get; set; }
/// <summary> /// <summary>
/// PRO 升降轴(轴2)P6速度 UpDownAxis_P6_Speed /// PRO,,L2_上下轴_P6速度,UpDownAxis_P6_Speed,200
/// </summary> /// </summary>
[ConfigProAttribute("UpDownAxis_P6_Speed")] [ConfigProAttribute("UpDownAxis_P6_Speed")]
public int UpDownAxis_P6_Speed { get; set; } public int UpDownAxis_P6_Speed { get; set; }
/// <summary> /// <summary>
/// PRO 升降轴(轴2)P7速度 UpDownAxis_P7_Speed /// PRO,,L2_上下轴_P7速度,UpDownAxis_P7_Speed,600
/// </summary> /// </summary>
[ConfigProAttribute("UpDownAxis_P7_Speed")] [ConfigProAttribute("UpDownAxis_P7_Speed")]
public int UpDownAxis_P7_Speed { get; set; } public int UpDownAxis_P7_Speed { get; set; }
/// <summary> /// <summary>
/// PRO 升降轴(轴2)P8速度 UpDownAxis_P8_Speed /// PRO,,L2_上下轴_P8速度,UpDownAxis_P8_Speed,600
/// </summary> /// </summary>
[ConfigProAttribute("UpDownAxis_P8_Speed")] [ConfigProAttribute("UpDownAxis_P8_Speed")]
public int UpDownAxis_P8_Speed { get; set; } public int UpDownAxis_P8_Speed { get; set; }
/// <summary> /// <summary>
/// PRO 旋转轴(轴1)P1速度 MiddleAxis_P1_Speed /// PRO,,L1_旋转轴_P1速度,MiddleAxis_P1_Speed,300
/// </summary> /// </summary>
[ConfigProAttribute("MiddleAxis_P1_Speed")] [ConfigProAttribute("MiddleAxis_P1_Speed")]
public int MiddleAxis_P1_Speed { get; set; } public int MiddleAxis_P1_Speed { get; set; }
/// <summary> /// <summary>
/// PRO 旋转轴(轴1)P2速度 MiddleAxis_P2_Speed /// PRO,,L1_旋转轴_P2速度,MiddleAxis_P2_Speed,300
/// </summary> /// </summary>
[ConfigProAttribute("MiddleAxis_P2_Speed")] [ConfigProAttribute("MiddleAxis_P2_Speed")]
public int MiddleAxis_P2_Speed { get; set; } public int MiddleAxis_P2_Speed { get; set; }
/// <summary> /// <summary>
/// PRO 进出轴(轴3)P1速度 InOutAxis_P1_Speed /// PRO,,L3_进出轴_P1速度,InOutAxis_P1_Speed,300
/// </summary> /// </summary>
[ConfigProAttribute("InOutAxis_P1_Speed")] [ConfigProAttribute("InOutAxis_P1_Speed")]
public int InOutAxis_P1_Speed { get; set; } public int InOutAxis_P1_Speed { get; set; }
/// <summary> /// <summary>
/// PRO 进出轴(轴3)P2速度 InOutAxis_P2_Speed /// PRO,,L3_进出轴_P2速度,InOutAxis_P2_Speed,300
/// </summary> /// </summary>
[ConfigProAttribute("InOutAxis_P2_Speed")] [ConfigProAttribute("InOutAxis_P2_Speed")]
public int InOutAxis_P2_Speed { get; set; } public int InOutAxis_P2_Speed { get; set; }
/// <summary> /// <summary>
/// PRO 进出轴(轴3)P3速度 InOutAxis_P3_Speed /// PRO,,L3_进出轴_P3速度,InOutAxis_P3_Speed,300
/// </summary> /// </summary>
[ConfigProAttribute("InOutAxis_P3_Speed")] [ConfigProAttribute("InOutAxis_P3_Speed")]
public int InOutAxis_P3_Speed { get; set; } public int InOutAxis_P3_Speed { get; set; }
/// <summary>
/// PRO (轴一)旋转轴停止时可误差的脉冲数的最小值 MiddleAxis_ErrorCountMin 200
/// </summary>
[ConfigProAttribute("MiddleAxis_ErrorCountMin")]
public int MiddleAxis_ErrorCountMin { get; set; }
/// <summary>
/// PRO (轴二)升降轴轴停止时可误差的脉冲数的最小值 UpdownAxis_ErrorCountMin 200
/// </summary>
[ConfigProAttribute("UpdownAxis_ErrorCountMin")]
public int UpdownAxis_ErrorCountMin { get; set; }
/// <summary>
/// PRO (轴三)进出轴停止时可误差的脉冲数的最小值 InoutAxis_ErrorCountMin 200
/// </summary>
[ConfigProAttribute("InoutAxis_ErrorCountMin")]
public int InoutAxis_ErrorCountMin { get; set; }
/// <summary>
/// PRO (轴一)旋转轴停止时可误差的脉冲数的最大值 MiddleAxis_ErrorCountMax 500
/// </summary>
[ConfigProAttribute("MiddleAxis_ErrorCountMax")]
public int MiddleAxis_ErrorCountMax { get; set; }
/// <summary>
/// PRO (轴二)升降轴轴停止时可误差的脉冲数的最大值 UpdownAxis_ErrorCountMax 500
/// </summary>
[ConfigProAttribute("UpdownAxis_ErrorCountMax")]
public int UpdownAxis_ErrorCountMax { get; set; }
/// <summary>
/// PRO (轴三)进出轴停止时可误差的脉冲数的最大值 InoutAxis_ErrorCountMax 500
/// </summary>
[ConfigProAttribute("InoutAxis_ErrorCountMax")]
public int InoutAxis_ErrorCountMax { get; set; }
/// <summary>
/// PRO,进出轴(轴3)P11-NG放料点,InOutAxis_P11_Position,1000,,,,,,,
/// </summary>
[ConfigProAttribute("InOutAxis_P11_Position")]
public int InOutAxis_P11_Position { get; set; }
/// <summary>
/// PRO 升降轴(轴2)P11-NG放料低点 UpDownAxis_P11 403000
/// </summary>
[ConfigProAttribute("UpDownAxis_P11")]
public int UpDownAxis_P11 { get; set; }
/// <summary>
/// PRO 升降轴(轴2)P12-NG放料高点 UpDownAxis_P12 403000
/// </summary>
[ConfigProAttribute("UpDownAxis_P12")]
public int UpDownAxis_P12 { get; set; }
/// <summary>
/// PRO 旋转轴(轴1)P11-NG放料点 MiddleAxis_P11 268093
/// </summary>
[ConfigProAttribute("MiddleAxis_P11")]
public int MiddleAxis_P11 { get; set; }
/// <summary>
/// PRO 进出轴(轴3)P2-扫码放料点 InOutAxis_P2_Position 1000
/// </summary>
[ConfigProAttribute("InOutAxis_P2_Position")]
public int InOutAxis_P2_Position { get; set; }
/// <summary>
/// PRO 升降轴(轴2)P1待机点/扫码放料低点 UpDownAxis_P1 403000
/// </summary>
[ConfigProAttribute("UpDownAxis_P1")]
public int UpDownAxis_P1 { get; set; }
/// <summary>
/// PRO 升降轴(轴2)P2扫码放料高点缓冲点 UpDownAxis_P2 415000
/// </summary>
[ConfigProAttribute("UpDownAxis_P2")]
public int UpDownAxis_P2 { get; set; }
/// <summary>
/// PRO 旋转轴(轴1)P1待机点/扫码放料点 MiddleAxis_P1 268093
/// </summary>
[ConfigProAttribute("MiddleAxis_P1")]
public int MiddleAxis_P1 { get; set; }
/// <summary>
/// PRO 进出轴(轴3)P1待机原位点 InOutAxis_P1_Position
/// </summary>
[ConfigProAttribute("InOutAxis_P1_Position")]
public int InOutAxis_P1_Position { get; set; }
/// <summary>
/// PRO 压紧轴(轴4)P1待机原位点 CompAxis_P1_Position
/// </summary>
[ConfigProAttribute("CompAxis_P1_Position")]
public int CompAxis_P1_Position { get; set; }
/// <summary>
///轴2升降轴 运动上下轴
/// </summary>
[ConfigProAttribute("UpDown_Axis")]
public ConfigMoveAxis UpDown_Axis { get; set; }
/// <summary>
/// 轴1旋转轴 运动中轴
/// </summary>
[ConfigProAttribute("Middle_Axis")]
public ConfigMoveAxis Middle_Axis { get; set; }
/// <summary>
/// 轴3进出轴
/// </summary>
[ConfigProAttribute("InOut_Axis")]
public ConfigMoveAxis InOut_Axis { get; set; }
/// <summary>
/// 轴3压紧轴
/// </summary>
[ConfigProAttribute("Comp_Axis")]
public ConfigMoveAxis Comp_Axis { get; set; }
/// <summary>
/// PRO (轴四)压紧轴目标速度 CompAxis_TargetSpeed 100
/// </summary>
[ConfigProAttribute("CompAxis_TargetSpeed")]
public int CompAxis_TargetSpeed { get; set; }
/// <summary>
/// PRO (轴四)压紧轴加速度 CompAxis_AddSpeed 300
/// </summary>
[ConfigProAttribute("CompAxis_AddSpeed")]
public short CompAxis_AddSpeed { get; set; }
/// <summary>
/// PRO (轴四)压紧轴减速度 CompAxis_DelSpeed 300
/// </summary>
[ConfigProAttribute("CompAxis_DelSpeed")]
public short CompAxis_DelSpeed { get; set; }
/// <summary>
/// PRO (轴四)压紧轴原点低速 CompAxis_HomeLowSpeed 20
/// </summary>
[ConfigProAttribute("CompAxis_HomeLowSpeed")]
public int CompAxis_HomeLowSpeed { get; set; }
/// <summary>
/// PRO (轴四)压紧轴原点高速 CompAxis_HomeHighSpeed 60
/// </summary>
[ConfigProAttribute("CompAxis_HomeHighSpeed")]
public int CompAxis_HomeHighSpeed { get; set; }
/// <summary> /// <summary>
/// PRO (轴四)压紧轴原点加速度 CompAxis_HomeAddSpeed 200 /// PRO,,L4_压紧轴_P1速度,CompAxis_P1_Speed,400
/// </summary>
[ConfigProAttribute("CompAxis_HomeAddSpeed")]
public int CompAxis_HomeAddSpeed { get; set; }
/// <summary>
/// PRO 压紧轴(轴4)P1速度 CompAxis_P1_Speed 100
/// </summary> /// </summary>
[ConfigProAttribute("CompAxis_P1_Speed")] [ConfigProAttribute("CompAxis_P1_Speed")]
public int CompAxis_P1_Speed { get; set; } public int CompAxis_P1_Speed { get; set; }
/// <summary> /// <summary>
/// PRO 压紧轴(轴4)P2速度 CompAxis_P2_Speed 100 /// PRO,,L4_压紧轴_P2速度,CompAxis_P2_Speed,400
/// </summary> /// </summary>
[ConfigProAttribute("CompAxis_P2_Speed")] [ConfigProAttribute("CompAxis_P2_Speed")]
public int CompAxis_P2_Speed { get; set; } public int CompAxis_P2_Speed { get; set; }
/// <summary> /// <summary>
///PRO 压紧轴(轴4)P3速度 CompAxis_P3_Speed 100 /// PRO,,L4_压紧轴_P3速度,CompAxis_P3_Speed,400
/// </summary> /// </summary>
[ConfigProAttribute("CompAxis_P3_Speed")] [ConfigProAttribute("CompAxis_P3_Speed")]
public int CompAxis_P3_Speed { get; set; } public int CompAxis_P3_Speed { get; set; }
/// <summary> /// <summary>
/// PRO,压紧轴(轴4)P4速度,CompAxis_P4_Speed,100,,,,,,, /// PRO,,L2_上下轴_P101速度,UpDownAxis_P101_Speed,600
/// </summary>
[ConfigProAttribute("CompAxis_P4_Speed")]
public int CompAxis_P4_Speed { get; set; }
/// <summary>
/// PRO,压紧轴(轴4)压紧确认信号收到之后下降的位置,CompAxis_Down_Position,2000,,,,,,,
/// </summary>
[ConfigProAttribute("CompAxis_Down_Position")]
public int CompAxis_Down_Position { get; set; }
/// <summary>
/// PRO,压紧轴(轴4)P4目标压紧点,CompAxis_P4_Position,10000,,,,,,,
/// </summary>
[ConfigProAttribute("CompAxis_P4_Position")]
public int CompAxis_P4_Position { get; set; }
/// <summary>
/// PRO,升降轴(轴2)P101速度,UpDownAxis_P101_Speed,100,,,,,, ,
/// </summary> /// </summary>
[ConfigProAttribute("UpDownAxis_P101_Speed")] [ConfigProAttribute("UpDownAxis_P101_Speed")]
public int UpDownAxis_P101_Speed { get; set; } public int UpDownAxis_P101_Speed { get; set; }
/// <summary> /// <summary>
/// PRO,升降轴(轴2)P102速度,UpDownAxis_P102_Speed,100,,,,,,, /// PRO,,L2_上下轴_P102速度,UpDownAxis_P102_Speed,600
/// </summary> /// </summary>
[ConfigProAttribute("UpDownAxis_P102_Speed")] [ConfigProAttribute("UpDownAxis_P102_Speed")]
public int UpDownAxis_P102_Speed { get; set; } public int UpDownAxis_P102_Speed { get; set; }
/// <summary> /// <summary>
/// PRO,进出轴(轴3)P101速度,InOutAxis_P101_Speed,100,,,,,,, /// PRO,,L3_进出轴_P101速度,InOutAxis_P101_Speed,300
/// </summary> /// </summary>
[ConfigProAttribute("InOutAxis_P101_Speed")] [ConfigProAttribute("InOutAxis_P101_Speed")]
public int InOutAxis_P101_Speed { get; set; } public int InOutAxis_P101_Speed { get; set; }
/// <summary> /// <summary>
/// PRO,旋转轴(轴1)P101速度,MiddleAxis_P101_Speed,120,,,,,,, /// PRO,,L1_旋转轴_P101速度,MiddleAxis_P101_Speed,300
/// </summary> /// </summary>
[ConfigProAttribute("MiddleAxis_P101_Speed")] [ConfigProAttribute("MiddleAxis_P101_Speed")]
public int MiddleAxis_P101_Speed { get; set; } public int MiddleAxis_P101_Speed { get; set; }
/// <summary>
/// PRO (轴一)旋转轴最小限位 MiddleAxis_PositionMin
/// </summary>
[ConfigProAttribute("MiddleAxis_PositionMin", false)]
public int MiddleAxis_PositionMin { get; set; }
/// <summary>
/// PRO (轴二)升降轴最小限位 UpdownAxis_PositionMin
/// </summary>
[ConfigProAttribute("UpdownAxis_PositionMin", false)]
public int UpdownAxis_PositionMin { get; set; }
/// <summary>
/// PRO (轴三)进出轴最小限位 InoutAxis_PositionMin
/// </summary>
[ConfigProAttribute("InoutAxis_PositionMin", false)]
public int InoutAxis_PositionMin { get; set; }
/// <summary>
/// PRO (轴一)旋转轴最大限位 MiddleAxis_PositionMax
/// </summary>
[ConfigProAttribute("MiddleAxis_PositionMax", false)]
public int MiddleAxis_PositionMax { get; set; }
/// <summary>
/// PRO (轴二)升降轴最大限位 UpdownAxis_PositionMax
/// </summary>
[ConfigProAttribute("UpdownAxis_PositionMax", false)]
public int UpdownAxis_PositionMax { get; set; }
/// <summary>
/// PRO (轴三)进出轴最大限位 InoutAxis_PositionMax
/// </summary>
[ConfigProAttribute("InoutAxis_PositionMax", false)]
public int InoutAxis_PositionMax { get; set; }
/// <summary>
/// 预警温度
/// </summary>
[ConfigProAttribute("WarnTemperate")]
public int WarnTemperate { get; set; }
/// <summary>
/// 预警湿度
/// </summary>
[ConfigProAttribute("WarnHumidity")]
public int WarnHumidity { get; set; }
/// <summary>
/// 气压检测IO关闭需要持续的时间(=3表示需要关闭三秒以上才算关闭)
/// </summary>
[ConfigProAttribute("AirCheckSeconds")]
public int AirCheckSeconds { get; set; }
/// <summary>
/// PRO,BOX出入库次数多少次时,会自动重置旋转轴,Box_ResetMCount,10,,,,,
/// </summary>
[ConfigProAttribute("Box_ResetMCount")]
public int Box_ResetMCount { get; set; }
/// <summary>
/// PRO,BOX出入库次数多少次时,会自动重置操作(会重置所有轴),Box_ResetACount,100,,,,,
/// </summary>
[ConfigProAttribute("Box_ResetACount")]
public int Box_ResetACount { get; set; }
/// <summary>
/// PRO IO信号超时时间(毫秒) IOSingle_TimerOut 5000
/// </summary>
[ConfigProAttribute("IOSingle_TimerOut", false)]
public int IOSingle_TimerOut { get; set; }
/// <summary>
/// PRO 需要吹气的温度(温度标准) Max_Temperature 10
/// </summary>
[ConfigProAttribute("Max_Temperature", false)]
public int Max_Temperature { get; set; }
/// <summary>
/// PRO 需要吹气的湿度(湿度标准) Max_Humidity 10
/// </summary>
[ConfigProAttribute("Max_Humidity", false)]
public int Max_Humidity { get; set; }
/// <summary>
/// PRO 每次吹气的时间(分钟) BlowAir_Time 10
/// </summary>
[ConfigProAttribute("BlowAir_Time", false)]
public int BlowAir_Time { get; set; }
/// <summary>
/// PRO 两次吹气间隔(分钟) BlowAir_Interval 10
/// </summary>
[ConfigProAttribute("BlowAir_Interval", false)]
public int BlowAir_Interval { get; set; }
/// <summary> /// <summary>
/// PRO,温湿度端口号,Humiture_Port,COM1,,,,,,, /// PRO,,温湿度端口号,Humiture_Port,COM5
/// </summary> /// </summary>
[ConfigProAttribute("Humiture_Port", true)] [ConfigProAttribute("Humiture_Port")]
public string Humiture_Port { get; set; } public string Humiture_Port { get; set; }
/// <summary>
/// PRO,0,扫码的相机名称(多个用#分隔),CameraNameList,Name1#Name1,,,,,
/// </summary>
[ConfigProAttribute("CameraNameList")]
public string CameraNameList { get; set; }
/// <summary> /// <summary>
/// PRO,RFID读卡器IP,RFID_IP,192.168.200.11,,,,,,, /// PRO,,是否是调试状态,IsInDebug,0
/// </summary>
[ConfigProAttribute("RFID_IP")]
public string RFID_IP { get; set; }
/// <summary>
/// PRO,是否是调试状态,IsInDebug,1,,,,,,,
/// </summary> /// </summary>
[ConfigProAttribute("IsInDebug")] [ConfigProAttribute("IsInDebug")]
public int IsInDebug { get; set; } public int IsInDebug { get; set; }
private List<string> CameraList = null;
/// <summary> private Dictionary< int,int > ComP2Map =null ;
/// PRO,压紧轴(轴4)非七寸取料时的压紧前点相对压紧点的位置,CompAxis_P3_P2_Value,-50000,,,,,,, public int GetComP2(int plateh)
/// /// </summary>
[ConfigProAttribute("CompAxis_P3_P2_Value")]
public int CompAxis_P3_P2_Value { get; set; }
/// <summary>
/// PRO,压紧轴(轴4)七寸盘取料时的压紧前点相对压紧点的位置,CompAxis7_P3_P2_Value,-50000,,,,,,,
/// </summary>
[ConfigProAttribute("CompAxis7_P3_P2_Value")]
public int CompAxis7_P3_P2_Value { get; set; }
public int GetCom_P3_P2(int width = 13)
{
if (width.Equals(7))
{
return CompAxis7_P3_P2_Value;
}
return CompAxis_P3_P2_Value;
}
public int GetCom_P3_P2(string width = "13")
{
if (width.Equals("7"))
{
return CompAxis7_P3_P2_Value;
}
return CompAxis_P3_P2_Value;
}
/// <summary>
/// PRO 压紧轴(轴4)P2压紧点范围对应值 CompAxis_P2_List 8 = 1000; 2000#12=2001;3000#16=3001;4000#20=4001;5000#22=5001;6000#24=6001;7000#
/// </summary>
[ConfigProAttribute("CompAxis_P2_List")]
public string CompAxis_P2_List { get; set; }
/// <summary>
/// PRO,压紧轴(轴4)P3最大压紧前点,CompAxis_Max_P3,10000,,,,,,,
/// </summary>
[ConfigProAttribute("CompAxis_Max_P3")]
public int CompAxis_Max_P3 { get; set; }
/// <summary>
/// PRO 所有料仓的CID(用#号分隔) All_CIDs packing-1#packing-2#packing-3#packing-4#packing-5#packing-6#packing-7#packing-8
/// </summary>
[ConfigProAttribute("All_CIDs")]
public string All_CIDs { get; set; }
private List< ComP2Info> ComP2List = null;
public ComP2Info GetComP2(int plateh)
{ {
//查找指定的高度 //查找指定的高度
analysisComP2(); analysisComP2();
List<ComP2Info> list = (from m in ComP2List where m.PlateH.Equals(plateh) select m).ToList<ComP2Info>(); if (ComP2Map.ContainsKey(plateh))
if (list.Count > 0)
{ {
return list[0]; return ComP2Map[plateh];
}
//查找类似的高度
list = (from com in ComP2List orderby com.PlateH descending select com).ToList<ComP2Info>();
foreach (ComP2Info comp2 in list)
{
if (plateh >=comp2.PlateH)
{
return comp2;
} }
} return new List<int>(ComP2Map.Values).First<int>();
return new ComP2Info(plateh, CompAxis_P4_Position, CompAxis_P4_Position+CompAxis_Down_Position);
}
public int GetComP2PlateH(int currP)
{
analysisComP2();
List<ComP2Info> list = (from com in ComP2List where com.MinComP <= currP && com.MaxComP >= currP select com).ToList<ComP2Info>();
if (list.Count > 0)
{
return list[0].PlateH;
} }
//查找最相似的盘高
int height = 8;
list = (from com in ComP2List orderby com.PlateH descending select com).ToList<ComP2Info>();
foreach (ComP2Info comp2 in list)
{
if (currP <=comp2.MinComP)
{
height = comp2.PlateH+4;
break;
}
}
if (currP > CompAxis_P4_Position)
{
height = 8;
}
LogUtil.error("GetComP2PlateH [" + currP + "] 未找到对应的盘高,使用相似盘高 [" + height + "]");
return height;
}
public void UpdateComP2(int height, ComP2Info p2Info) public void UpdateComP2(int height, int p2)
{ {
analysisComP2(); analysisComP2();
bool isUpdate = false; if (ComP2Map.ContainsKey(height))
foreach (ComP2Info p in ComP2List)
{
if (p.PlateH.Equals(height))
{ {
p.MinComP = p2Info.MinComP; ComP2Map[height] = p2;
p.MaxComP = p2Info.MaxComP;
isUpdate = true;
} }
} else
if (!isUpdate)
{ {
ComP2List.Add(p2Info); ComP2Map.Add(height, p2);
} }
string tt = ""; string tt = "";
foreach(ComP2Info p in ComP2List) foreach (int p in ComP2Map.Keys)
{ {
tt += ComP2InfoToStr(p); tt += p + "=" + ComP2Map[p] + ";";
} }
CompAxis_P2_List = tt; CompAxis_P2_List = tt;
} }
private string ComP2InfoToStr(ComP2Info p2)
{
return p2.PlateH + "=" + p2.MinComP + ";" + p2.MaxComP + "#";
}
private void analysisComP2() private void analysisComP2()
{ {
if (ComP2List == null) if (ComP2Map == null)
{ {
try try
{ {
// 8 = 1000; 2000#12=2001;3000#16=3001;4000#20=4001;5000#22=5001;6000#24=6001;7000# // 8=385001;424000#12=383001;385000#16=379001;
ComP2List = new List<ComP2Info>(); ComP2Map = new Dictionary<int, int>();
string[] arrayList = CompAxis_P2_List.Split('#'); string[] arrayList = CompAxis_P2_List.Split(';');
foreach (string str in arrayList) foreach (string str in arrayList)
{ {
if (str.Equals("")) if (str.Equals(""))
...@@ -661,20 +262,8 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -661,20 +262,8 @@ namespace OnlineStore.LoadCSVLibrary
if (com2A.Length.Equals(2)) if (com2A.Length.Equals(2))
{ {
int plateH = Convert.ToInt32(com2A[0]); int plateH = Convert.ToInt32(com2A[0]);
string[] pArray = com2A[1].Split(';'); int p2 = Convert.ToInt32(com2A[1]);
if (pArray.Length.Equals(2)) ComP2Map.Add(plateH, p2);
{
int minP = Convert.ToInt32(pArray[0]);
int maxP = Convert.ToInt32(pArray[1]);
if (minP > CompAxis_P1_Position && maxP > CompAxis_P1_Position)
{
ComP2List.Add(new ComP2Info(plateH, minP, maxP));
}
else
{
LogUtil.error("压紧轴P2 盘高【"+plateH+"】范围【"+minP +"~"+maxP+"】无效,位置小于待机点P1【"+CompAxis_P1_Position+"】");
}
}
} }
} }
} }
...@@ -685,82 +274,6 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -685,82 +274,6 @@ namespace OnlineStore.LoadCSVLibrary
} }
} }
public List<string> GetCameraList()
{
if (CameraList == null)
{
CameraList = new List<string>();
string[] arrayList = CameraNameList.Split('#');
foreach (string str in arrayList)
{
string camera = str.Trim();
if (string.IsNullOrEmpty(camera).Equals(false))
{
CameraList.Add(camera);
}
}
}
return CameraList;
}
public static void ConfigAxis(BOX_Config Config)
{
Config.Middle_Axis.TargetSpeed = Config.MiddleAxis_TargetSpeed;
Config.Middle_Axis.AddSpeed = Config.MiddleAxis_AddSpeed;
Config.Middle_Axis.DelSpeed = Config.MiddleAxis_DelSpeed;
Config.Middle_Axis.HomeAddSpeed = Config.MiddleAxis_HomeAddSpeed;
Config.Middle_Axis.HomeHighSpeed = Config.MiddleAxis_HomeHighSpeed;
Config.Middle_Axis.HomeLowSpeed = Config.MiddleAxis_HomeLowSpeed;
Config.InOut_Axis.TargetSpeed = Config.InoutAxis_TargetSpeed;
Config.InOut_Axis.DelSpeed = Config.InoutAxis_AddSpeed;
Config.InOut_Axis.AddSpeed = Config.InoutAxis_DelSpeed;
Config.InOut_Axis.HomeAddSpeed = Config.InoutAxis_HomeAddSpeed;
Config.InOut_Axis.HomeHighSpeed = Config.InoutAxis_HomeHighSpeed;
Config.InOut_Axis.HomeLowSpeed = Config.InoutAxis_HomeLowSpeed;
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.Comp_Axis.TargetSpeed = Config.CompAxis_TargetSpeed;
Config.Comp_Axis.AddSpeed = Config.CompAxis_AddSpeed;
Config.Comp_Axis.DelSpeed = Config.CompAxis_DelSpeed;
Config.Comp_Axis.HomeAddSpeed = Config.CompAxis_HomeAddSpeed;
Config.Comp_Axis.HomeHighSpeed = Config.CompAxis_HomeHighSpeed;
Config.Comp_Axis.HomeLowSpeed = Config.CompAxis_HomeLowSpeed;
Config.Middle_Axis.CanErrorCountMin = Config.MiddleAxis_ErrorCountMin;
Config.InOut_Axis.CanErrorCountMin = Config.InoutAxis_ErrorCountMin;
Config.UpDown_Axis.CanErrorCountMin = Config.UpdownAxis_ErrorCountMin;
Config.Middle_Axis.CanErrorCountMax = Config.MiddleAxis_ErrorCountMax;
Config.InOut_Axis.CanErrorCountMax = Config.InoutAxis_ErrorCountMax;
Config.UpDown_Axis.CanErrorCountMax = Config.UpdownAxis_ErrorCountMax;
Config.Middle_Axis.PositionMin = Config.MiddleAxis_PositionMin;
Config.Middle_Axis.PositionMax = Config.MiddleAxis_PositionMax;
Config.InOut_Axis.PositionMin = Config.InoutAxis_PositionMin;
Config.InOut_Axis.PositionMax = Config.InoutAxis_PositionMax;
Config.UpDown_Axis.PositionMin = Config.UpdownAxis_PositionMin;
Config.UpDown_Axis.PositionMax = Config.UpdownAxis_PositionMax;
//Config.InOut_Axis.ResolveSpeed = Config.InoutAxis_ResolveSpeed;
//Config.UpDown_Axis.ResolveSpeed = Config.UpdownAxis_ResolveSpeed;
//Config.Middle_Axis.ResolveSpeed = Config.MiddleAxis_ResolveSpeed;
//Config.Middle_Axis.DefaultPosition = Config.MiddleAxis_P1;
//Config.InOut_Axis.DefaultPosition = Config.InOutAxis_P1_Position;
//Config.UpDown_Axis.DefaultPosition = Config.UpDownAxis_P1;
//Config.Comp_Axis.DefaultPosition = Config.CompAxis_P1_Position;
Config.Comp_Axis.CanErrorCountMax = 1000;
Config.Comp_Axis.CanErrorCountMin = 10;
Config.Comp_Axis.PositionMin = 0;
Config.Comp_Axis.PositionMax = 0;
}
} }
......
...@@ -25,147 +25,283 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -25,147 +25,283 @@ namespace OnlineStore.LoadCSVLibrary
} }
return TypeList; return TypeList;
} }
/// <summary> /// <summary>
/// DI 急停 SuddenStop_BTN 0 X01 DI-01 /// DI,0,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,X01,
/// </summary> /// </summary>
public static string SuddenStop_BTN = "SuddenStop_BTN"; public static string SuddenStop_BTN = "SuddenStop_BTN";
/// <summary> /// <summary>
/// DI 复位 Reset_BTN 1 X02 DI-02 /// DI,0,复位,Reset_BTN,1,PRO_AOI_IP_1,X02,
/// </summary> /// </summary>
public static string Reset_BTN = "Reset_BTN"; public static string Reset_BTN = "Reset_BTN";
/// <summary> /// <summary>
/// DI 气压检测 Airpressure_Check 2 X03 DI-03 /// DI,0,启动,AutoRun_BTN,2,PRO_AOI_IP_1,X03,
/// </summary>
public static string AutoRun_BTN = "AutoRun_BTN";
/// <summary>
/// DI,0,气压检测,Airpressure_Check,3,PRO_AOI_IP_1,X04,
/// </summary> /// </summary>
public static string Airpressure_Check = "Airpressure_Check"; public static string Airpressure_Check = "Airpressure_Check";
/// <summary> /// <summary>
/// DI L侧门禁 DoorLimit 3 X04 DI-04 /// DI,0,线体入口料串检测,Line_InCheck,4,PRO_AOI_IP_1,X05,
/// </summary> /// </summary>
public static string DoorLimit = "DoorLimit"; public static string Line_InCheck = "Line_InCheck";
/// <summary> /// <summary>
/// DI L侧料盘检测1(识别区) TrayCheck_1 0 X21 DI-21 /// DI,0,线体上料等待区检测,Line_WaitCheck,5,PRO_AOI_IP_1,X06,
/// </summary> /// </summary>
public static string TrayCheck_1 = "TrayCheck_1"; public static string Line_WaitCheck = "Line_WaitCheck";
/// <summary> /// <summary>
/// DI L侧料盘检测2(识别区) TrayCheck_2 1 X22 DI-22 /// DI,0,线体上料区料串检测,Line_WorkCheck,6,PRO_AOI_IP_1,X07,
/// </summary> /// </summary>
public static string TrayCheck_2 = "TrayCheck_2"; public static string Line_WorkCheck = "Line_WorkCheck";
/// <summary> /// <summary>
/// DI L侧料盘检测3(识别区) TrayCheck_3 2 X23 DI-23 /// DI,0,料串识别检测1,ShelfCheck1,7,PRO_AOI_IP_1,X08,
/// </summary> /// </summary>
public static string TrayCheck_3 = "TrayCheck_3"; public static string ShelfCheck1 = "ShelfCheck1";
/// <summary> /// <summary>
/// DI L侧料盘检测4(识别区) TrayCheck_4 3 X24 DI-24 /// DI,0,料串识别检测2,ShelfCheck2,8,PRO_AOI_IP_1,X09,
/// </summary> /// </summary>
public static string TrayCheck_4 = "TrayCheck_4"; public static string ShelfCheck2 = "ShelfCheck2";
/// <summary> /// <summary>
/// DI L侧入料口移门关闭端 EntranceDoor_Close 4 X25 DI-25 /// DI,0,料串识别检测3,ShelfCheck3,9,PRO_AOI_IP_1,X10,
/// </summary> /// </summary>
public static string EntranceDoor_Close = "EntranceDoor_Close"; public static string ShelfCheck3 = "ShelfCheck3";
/// <summary> /// <summary>
/// DI L侧入料口移门打开端 EntranceDoor_Open 5 X26 DI-26 /// DI,0,料串识别检测4,ShelfCheck4,10,PRO_AOI_IP_1,X11,
/// </summary> /// </summary>
public static string EntranceDoor_Open = "EntranceDoor_Open"; public static string ShelfCheck4 = "ShelfCheck4";
/// <summary> /// <summary>
/// DI L侧线体入料口检测 LineIn_Check 6 X27 DI-27 /// DI,0,线体后端料串堆积检测,Line_BufferCheck,11,PRO_AOI_IP_1,X12,
/// </summary> /// </summary>
public static string LineIn_Check = "LineIn_Check"; public static string Line_BufferCheck = "Line_BufferCheck";
/// <summary> /// <summary>
/// DI L侧线体取料位检测 LineTake_Check 7 X28 DI-28 /// DI,0,线体后端料串检测,Line_OutCheck,12,PRO_AOI_IP_1,X13,
/// </summary> /// </summary>
public static string LineTake_Check = "LineTake_Check"; public static string Line_OutCheck = "Line_OutCheck";
/// <summary> /// <summary>
/// DI L侧料叉压紧确认检测 Compress_Check 8 X29 DI-29 /// DI,0,线体顶升气缸上升端,TopCylinder_Up,13,PRO_AOI_IP_1,X14,
/// </summary> /// </summary>
public static string Compress_Check = "Compress_Check"; public static string TopCylinder_Up = "TopCylinder_Up";
/// <summary> /// <summary>
/// DI L侧NG料口料盘检测 NGTrayCheck 9 X30 DI-30 /// DI,0,线体顶升气缸下降端,TopCylinder_Down,14,PRO_AOI_IP_1,X15,
/// </summary> /// </summary>
public static string NGTrayCheck = "NGTrayCheck"; public static string TopCylinder_Down = "TopCylinder_Down";
/// <summary> /// <summary>
/// DI L侧NG料口升降门上升端 NGDoowCylinder_Up 10 X31 DI-31 /// DI,0,取料提升机构前进端,Hoister_Forward,15,PRO_AOI_IP_1,X16,
/// </summary> /// </summary>
public static string NGDoowCylinder_Up = "NGDoowCylinder_Up"; public static string Hoister_Forward = "Hoister_Forward";
/// <summary> /// <summary>
/// DI L侧NG料口升降门上升端 NGDoorCylinder_Down 11 X32 DI-32 /// DO,0,自动指示灯,AutoRun_HddLed,0,PRO_AOI_IP_1,Y01,
/// </summary> /// </summary>
public static string NGDoorCylinder_Down = "NGDoorCylinder_Down"; public static string AutoRun_HddLed = "AutoRun_HddLed";
/// <summary> /// <summary>
/// DI L侧顶升装置上升端 TopCylinder_Up 12 X33 DI-33 /// DO,0,故障指示灯,Alarm_HddLed,1,PRO_AOI_IP_1,Y02,
/// </summary> /// </summary>
public static string TopCylinder_Up = "TopCylinder_Up"; public static string Alarm_HddLed = "Alarm_HddLed";
/// <summary> /// <summary>
/// DI L侧顶升装置下降端 TopCylinder_Down 13 X34 DI-34 /// DO,0,待机指示灯,RunSign_HddLed,2,PRO_AOI_IP_1,Y03,
/// </summary> /// </summary>
public static string TopCylinder_Down = "TopCylinder_Down"; public static string RunSign_HddLed = "RunSign_HddLed";
/// <summary> /// <summary>
/// DI L侧定位装置上升端 LocationCylinder_Up 14 X35 DI-35 /// DO,0,报警蜂鸣器,Alarm_Buzzer,3,PRO_AOI_IP_1,Y04,
/// </summary> /// </summary>
public static string LocationCylinder_Up = "LocationCylinder_Up"; public static string Alarm_Buzzer = "Alarm_Buzzer";
/// <summary> /// <summary>
/// DI L侧定位装置下降端 LocationCylinder_Down 15 X36 DI-36 /// DO,1,左侧料口物料指示灯绿色,DoorLed_Green,4,PRO_AOI_IP_1,Y05,
/// </summary> /// </summary>
public static string LocationCylinder_Down = "LocationCylinder_Down"; public static string DoorLed_Green = "DoorLed_Green";
/// <summary> /// <summary>
/// DO 自动指示灯 AutoRun_HddLed 0 Y01 DO-01 /// DO,1,左侧料口物料指示灯红色,DoorLed_Red,5,PRO_AOI_IP_1,Y06,
/// </summary> /// </summary>
public static string AutoRun_HddLed = "AutoRun_HddLed"; public static string DoorLed_Red = "DoorLed_Red";
///// <summary>
///// DO,2,右侧料口物料指示灯绿色,DoorLed_Green,6,PRO_AOI_IP_1,Y07,
///// </summary>
//public static string DoorLed_Green = "DoorLed_Green";
///// <summary>
///// DO,2,右侧料口物料指示灯红色,DoorLed_Red,7,PRO_AOI_IP_1,Y08,
///// </summary>
//public static string DoorLed_Red = "DoorLed_Red";
///// <summary>
///// DO,0,取料提升机构电机前进,Hoister_Forward,8,PRO_AOI_IP_1,Y09,
///// </summary>
//public static string Hoister_Forward = "Hoister_Forward";
/// <summary> /// <summary>
/// DO 故障指示灯 Alarm_HddLed 1 Y02 DO-02 /// DO,0,取料提升机构电机后退,Hoister_Back,9,PRO_AOI_IP_1,Y10,
/// </summary> /// </summary>
public static string Alarm_HddLed = "Alarm_HddLed"; public static string Hoister_Back = "Hoister_Back";
/// <summary> /// <summary>
///DO 待机指示灯 RunSign_HddLed 2 Y03 DO-03 /// DO,0,相机光源ON,Camera_Led,10,PRO_AOI_IP_1,Y11,
/// </summary> /// </summary>
public static string RunSign_HddLed = "RunSign_HddLed"; public static string Camera_Led = "Camera_Led";
/// <summary> /// <summary>
///DO 报警蜂鸣器 Alarm_Buzzer 3 Y04 DO-04 /// DO,1,左侧料仓升降轴刹车ON,UpdownAxis_Break,11,PRO_AOI_IP_1,Y12,
/// </summary> /// </summary>
public static string Alarm_Buzzer = "Alarm_Buzzer"; public static string UpdownAxis_Break = "UpdownAxis_Break";
///// <summary>
///// DO,2,右侧料仓升降轴刹车ON,UpdownAxis_Break,12,PRO_AOI_IP_1,Y13,
///// </summary>
//public static string UpdownAxis_Break = "UpdownAxis_Break";
/// <summary> /// <summary>
///DO NG料线体电机运转 NGLine_Run 4 Y05 DO-05 /// DO,0,提升机构升降轴刹车ON,BatchAxis_Break,13,PRO_AOI_IP_1,Y14,
/// </summary> /// </summary>
public static string NGLine_Run = "NGLine_Run"; public static string BatchAxis_Break = "BatchAxis_Break";
/// <summary> /// <summary>
/// DO L侧料仓运转ON Run_Signal 0 Y21 DO-21 /// DO,0,移栽机构上下轴刹车ON,MoveAxis_Break,14,PRO_AOI_IP_1,Y15,
/// </summary> /// </summary>
public static string Run_Signal = "Run_Signal"; public static string MoveAxis_Break = "MoveAxis_Break";
/// <summary> /// <summary>
/// DO L侧轴2刹车电源ON Axis_Brake 1 Y22 DO-22 /// DO,1,左侧料仓伺服ON,Axis_Run,15,PRO_AOI_IP_1,Y16,
/// </summary> /// </summary>
public static string Axis_Brake = "Axis_Brake"; public static string Axis_Run = "Axis_Run";
///// <summary>
///// DI,0,取料提升机构后退端,Hoister_Back,0,PRO_AOI_IP_2,X21,
///// </summary>
//public static string Hoister_Back = "Hoister_Back";
/// <summary> /// <summary>
/// DO L侧相机光源ON Camera_Led 2 Y23 DO-23 /// DI,0,提升机构料盘检测,BatchAxis_Check,1,PRO_AOI_IP_2,X22,
/// </summary> /// </summary>
public static string Camera_Led = "Camera_Led"; public static string BatchAxis_Check = "BatchAxis_Check";
/// <summary>
/// DI,0,取料气缸放松端,ClampCylinder_Relax,2,PRO_AOI_IP_2,X23,
/// </summary>
public static string ClampCylinder_Relax = "ClampCylinder_Relax";
/// <summary>
/// DI,0,取料气缸夹紧端,ClampCylinder_Clamp,3,PRO_AOI_IP_2,X24,
/// </summary>
public static string ClampCylinder_Clamp = "ClampCylinder_Clamp";
/// <summary>
/// DI,1,左侧出料口安全光栅,OutDoor_SafeSignal,4,PRO_AOI_IP_2,X25,
/// </summary>
public static string OutDoor_SafeSignal = "OutDoor_SafeSignal";
/// <summary>
/// DI,1,左侧暂存区料盘检测,InDoor_Check,5,PRO_AOI_IP_2,X26,
/// </summary>
public static string InDoor_Check = "InDoor_Check";
/// <summary>
/// DI,1,左侧出料口门上升端,OutDoor_Up,6,PRO_AOI_IP_2,X27,
/// </summary>
public static string OutDoor_Up = "OutDoor_Up";
/// <summary>
/// DI,1,左侧出料口门下降端,OutDoor_Down,7,PRO_AOI_IP_2,X28,
/// </summary>
public static string OutDoor_Down = "OutDoor_Down";
/// <summary>
/// DI,1,左侧出料口料盘检测,OutDoor_Check,8,PRO_AOI_IP_2,X29,
/// </summary>
public static string OutDoor_Check = "OutDoor_Check";
/// <summary>
/// DI,1,左侧料叉料盘检测,Fixture_Check,9,PRO_AOI_IP_2,X30,
/// </summary>
public static string Fixture_Check = "Fixture_Check";
///// <summary>
///// DI,2,右侧出料口安全光栅,OutDoor_SafeSignal,10,PRO_AOI_IP_2,X31,
///// </summary>
//public static string OutDoor_SafeSignal = "OutDoor_SafeSignal";
///// <summary>
///// DI,2,右侧暂存区料盘检测,InDoor_Check,11,PRO_AOI_IP_2,X32,
///// </summary>
//public static string InDoor_Check = "InDoor_Check";
///// <summary>
///// DI,2,右侧出料口门上升端,OutDoor_Up,12,PRO_AOI_IP_2,X33,
///// </summary>
//public static string OutDoor_Up = "OutDoor_Up";
///// <summary>
///// DI,2,右侧出料口门下降端,OutDoor_Down,13,PRO_AOI_IP_2,X34,
///// </summary>
//public static string OutDoor_Down = "OutDoor_Down";
///// <summary>
///// DI,2,右侧料叉料盘检测,OutDoor_Check,14,PRO_AOI_IP_2,X35,
///// </summary>
//public static string OutDoor_Check = "OutDoor_Check";
///// <summary>
///// DI,2,右侧出料口料盘检测,Fixture_Check,15,PRO_AOI_IP_2,X36,
///// </summary>
//public static string Fixture_Check = "Fixture_Check";
///// <summary>
///// DO,2,右侧料仓伺服ON,Axis_Run,0,PRO_AOI_IP_2,Y21,
///// </summary>
//public static string Axis_Run = "Axis_Run";
/// <summary>
/// DO,0,取料机构伺服ON,MoveAxis_Run,1,PRO_AOI_IP_2,Y22,
/// </summary>
public static string MoveAxis_Run = "MoveAxis_Run";
/// <summary> /// <summary>
/// DO L侧线体正转 Line_Run 5 Y26 DO-26 /// DO,0,线体皮带正转,Line_Run,2,PRO_AOI_IP_2,Y23,
/// </summary> /// </summary>
public static string Line_Run = "Line_Run"; public static string Line_Run = "Line_Run";
/// <summary> /// <summary>
/// DO L侧线体反转 Line_BackRun 6 Y27 DO-27 /// DO,0,线体皮带反转,Line_BackRun,3,PRO_AOI_IP_2,Y24,
/// </summary> /// </summary>
public static string Line_BackRun = "Line_BackRun"; public static string Line_BackRun = "Line_BackRun";
/// <summary> /// <summary>
/// DO L侧料仓吹气SOL StartOrStopBlow 7 Y28 DO-28 /// DO,0,线体等待区阻挡1上升,Line_Stop1_Wait,4,PRO_AOI_IP_2,Y25,
/// </summary> /// </summary>
public static string StartOrStopBlow = "StartOrStopBlow"; public static string Line_Stop1_Wait = "Line_Stop1_Wait";
/// <summary>
/// DO,0,线体上料区阻挡2上升,Line_Stop2_Work,5,PRO_AOI_IP_2,Y26,
/// </summary>
public static string Line_Stop2_Work = "Line_Stop2_Work";
/// <summary>
/// DO,0,线体出料区阻挡3上升,Line_Stop3_Buffer,6,PRO_AOI_IP_2,Y27,
/// </summary>
public static string Line_Stop3_Buffer = "Line_Stop3_Buffer";
/// <summary>
/// DO,0,线体放行阻挡4上升,Line_Stop4_Out,7,PRO_AOI_IP_2,Y28,
/// </summary>
public static string Line_Stop4_Out = "Line_Stop4_Out";
///// <summary>
///// DO,0,线体顶升气缸上升SOL,TopCylinder_Up,8,PRO_AOI_IP_2,Y29,
///// </summary>
//public static string TopCylinder_Up = "TopCylinder_Up";
///// <summary>
///// DO,0,线体顶升气缸下降SOL,TopCylinder_Down,9,PRO_AOI_IP_2,Y30,
///// </summary>
//public static string TopCylinder_Down = "TopCylinder_Down";
///// <summary>
///// DO,0,取料气缸放松SOL,ClampCylinder_Relax,10,PRO_AOI_IP_2,Y31,
///// </summary>
//public static string ClampCylinder_Relax = "ClampCylinder_Relax";
///// <summary>
///// DO,0,取料气缸夹紧SOL,ClampCylinder_Clamp,11,PRO_AOI_IP_2,Y32,
///// </summary>
//public static string ClampCylinder_Clamp = "ClampCylinder_Clamp";
///// <summary>
///// DO,1,左侧出料口门上升SOL,OutDoor_Up,12,PRO_AOI_IP_2,Y33,
///// </summary>
//public static string OutDoor_Up = "OutDoor_Up";
///// <summary>
///// DO,1,左侧出料口门下降SOL,OutDoor_Down,13,PRO_AOI_IP_2,Y34,
///// </summary>
//public static string OutDoor_Down = "OutDoor_Down";
///// <summary>
///// DO,2,右侧出料口门上升SOL,OutDoor_Up,14,PRO_AOI_IP_2,Y35,
///// </summary>
//public static string OutDoor_Up = "OutDoor_Up";
///// <summary>
///// DO,2,右侧出料口门下降SOL,OutDoor_Down,15,PRO_AOI_IP_2,Y36,
///// </summary>
//public static string OutDoor_Down = "OutDoor_Down";
/// <summary>
/// DI,0,取料气缸料盘检测,ClampCylinder_Check,0,PRO_AOI_IP_3,X41,
/// </summary>
public static string ClampCylinder_Check = "ClampCylinder_Check";
/// <summary>
/// DI,0,线体出口放行信号,LineOut_BTN,1,PRO_AOI_IP_3,X42,
/// </summary>
public static string LineOut_BTN = "LineOut_BTN";
/// <summary>
/// DO,0,线体入口指示灯,LineIn_Led,0,PRO_AOI_IP_3,Y41,
/// </summary>
public static string LineIn_Led = "LineIn_Led";
/// <summary>
/// DO,0,线体出口指示灯,LineOut_Led,1,PRO_AOI_IP_3,Y42,
/// </summary>
public static string LineOut_Led = "LineOut_Led";
/// <summary>
/// DO,0,设备内部照明ON,Device_Led,2,PRO_AOI_IP_3,Y43,
/// </summary>
public static string Device_Led = "Device_Led";
public static string TrayCheck_Door = "TrayCheck_Door";
// public static string TrayCheck_Fixture = "TrayCheck_Fixture";
} }
public enum IO_VALUE public enum IO_VALUE
{ {
......
...@@ -18,147 +18,130 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -18,147 +18,130 @@ namespace OnlineStore.LoadCSVLibrary
} }
///// <summary>
///// 预警温度
///// </summary>
//[ConfigProAttribute("WarnTemperate")]
//public int WarnTemperate { get; set; }
///// <summary>
///// 预警湿度
///// </summary>
//[ConfigProAttribute("WarnHumidity")]
//public int WarnHumidity { get; set; }
/// <summary> /// <summary>
/// 气压检测IO关闭需要持续的时间(=3表示需要关闭三秒以上才算关闭) /// AXIS,,T1_提升机构升降轴,T1_Batch_Axis,1,COM3,,250,500,500,100,200,1000,10,1000,0,0
/// </summary> /// </summary>
[ConfigProAttribute("AirCheckSeconds")] [ConfigProAttribute("T1_Batch_Axis")]
public int AirCheckSeconds { get; set; } public ConfigMoveAxis T1_Batch_Axis { get; set; }
///// <summary>
///// PRO,BOX出入库次数多少次时,会自动重置旋转轴,Box_ResetMCount,10,,,,,
///// </summary>
//[ConfigProAttribute("Box_ResetMCount")]
//public int Box_ResetMCount { get; set; }
///// <summary>
///// PRO,BOX出入库次数多少次时,会自动重置操作(会重置所有轴),Box_ResetACount,100,,,,,
///// </summary>
//[ConfigProAttribute("Box_ResetACount")]
//public int Box_ResetACount { get; set; }
/// <summary> /// <summary>
/// PRO IO信号超时时间(毫秒) IOSingle_TimerOut 5000 /// AXIS,,T2_取料机构旋转轴,T2_Middle_Axis,2,COM3,,1000,1000,1000,200,500,500,10,1000,0,0
/// </summary> /// </summary>
[ConfigProAttribute("IOSingle_TimerOut", false)] [ConfigProAttribute("T2_Middle_Axis")]
public int IOSingle_TimerOut { get; set; } public ConfigMoveAxis T2_Middle_Axis { get; set; }
///// <summary>
///// PRO 需要吹气的温度(温度标准) Max_Temperature 10
///// </summary>
//[ConfigProAttribute("Max_Temperature", false)]
//public int Max_Temperature { get; set; }
///// <summary>
///// PRO 需要吹气的湿度(湿度标准) Max_Humidity 10
///// </summary>
//[ConfigProAttribute("Max_Humidity", false)]
//public int Max_Humidity { get; set; }
///// <summary>
///// PRO 每次吹气的时间(分钟) BlowAir_Time 10
///// </summary>
//[ConfigProAttribute("BlowAir_Time", false)]
//public int BlowAir_Time { get; set; }
///// <summary>
///// PRO 两次吹气间隔(分钟) BlowAir_Interval 10
///// </summary>
//[ConfigProAttribute("BlowAir_Interval", false)]
//public int BlowAir_Interval { get; set; }
//public int InoutAxis_PositionMax { get; set; }
///// <summary>
///// PRO,温湿度端口号,Humiture_Port,COM1,,,,,,,
///// </summary>
//[ConfigProAttribute("Humiture_Port", true )]
//public string Humiture_Port { get; set; }
/// <summary> /// <summary>
/// PRO IO模块对应的DI数量 IO_DILength 192.168.200.10#16;192.168.200.11#4 /// AXIS,,T3_取料机构上下轴,T3_Updown_Axis,3,COM3,,800,1000,1000,200,500,500,10,1000,0,0
/// </summary>
[ConfigProAttribute("T3_Updown_Axis")]
public ConfigMoveAxis T3_Updown_Axis { get; set; }
/// <summary>
/// PRO,,IO模块对应的DI数量,IO_DILength,192.168.200.21#16;192.168.200.22#16;192.168.200.23#8
/// </summary> /// </summary>
[ConfigProAttribute("IO_DILength")] [ConfigProAttribute("IO_DILength")]
public string IO_DILength { get; set; } public string IO_DILength { get; set; }
/// <summary> /// <summary>
/// PRO 模块对应的DO数量 IO_DOLength 192.168.200.10#16;192.168.200.11#4 /// PRO,,IO模块对应的DO数量,IO_DOLength,192.168.200.21#16;192.168.200.22#16;192.168.200.23#8
/// </summary> /// </summary>
[ConfigProAttribute("IO_DOLength")] [ConfigProAttribute("IO_DOLength")]
public string IO_DOLength { get; set; } public string IO_DOLength { get; set; }
///// <summary> ///// <summary>
///// PRO 是否有仓门 HasDoor 1 ///// PRO,,第一块IO模块IP,PRO_AOI_IP_1,192.168.200.21
///// </summary> ///// </summary>
//[ConfigProAttribute("HasDoor")] //[ConfigProAttribute("PRO_AOI_IP_1")]
//public int HasDoor { get; set; } //public int PRO_AOI_IP_1 { get; set; }
///// <summary>
///// PRO,,第二块IO模块IP,PRO_AOI_IP_2,192.168.200.22
public static void ConfigAxis(BOX_Config Config) ///// </summary>
{ //[ConfigProAttribute("PRO_AOI_IP_2")]
Config.Middle_Axis.TargetSpeed = Config.MiddleAxis_TargetSpeed; //public int PRO_AOI_IP_2 { get; set; }
Config.Middle_Axis.AddSpeed = Config.MiddleAxis_AddSpeed; ///// <summary>
Config.Middle_Axis.DelSpeed = Config.MiddleAxis_DelSpeed; ///// PRO,,第三块IO模块IP,PRO_AOI_IP_3,192.168.200.23
Config.Middle_Axis.HomeAddSpeed = Config.MiddleAxis_HomeAddSpeed; ///// </summary>
Config.Middle_Axis.HomeHighSpeed = Config.MiddleAxis_HomeHighSpeed; //[ConfigProAttribute("PRO_AOI_IP_3")]
Config.Middle_Axis.HomeLowSpeed = Config.MiddleAxis_HomeLowSpeed; //public int PRO_AOI_IP_3 { get; set; }
/// <summary>
Config.InOut_Axis.TargetSpeed = Config.InoutAxis_TargetSpeed; /// PRO,,预警温度,WarnTemperate,80
Config.InOut_Axis.DelSpeed = Config.InoutAxis_AddSpeed; /// </summary>
Config.InOut_Axis.AddSpeed = Config.InoutAxis_DelSpeed; [ConfigProAttribute("WarnTemperate")]
Config.InOut_Axis.HomeAddSpeed = Config.InoutAxis_HomeAddSpeed; public int WarnTemperate { get; set; }
Config.InOut_Axis.HomeHighSpeed = Config.InoutAxis_HomeHighSpeed; /// <summary>
Config.InOut_Axis.HomeLowSpeed = Config.InoutAxis_HomeLowSpeed; /// PRO,,预警湿度,WarnHumidity,80
/// </summary>
Config.UpDown_Axis.TargetSpeed = Config.UpdownAxis_TargetSpeed; [ConfigProAttribute("WarnHumidity")]
Config.UpDown_Axis.AddSpeed = Config.UpdownAxis_AddSpeed; public int WarnHumidity { get; set; }
Config.UpDown_Axis.DelSpeed = Config.UpdownAxis_DelSpeed; /// <summary>
Config.UpDown_Axis.HomeAddSpeed = Config.UpdownAxis_HomeAddSpeed; /// PRO,,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000
Config.UpDown_Axis.HomeHighSpeed = Config.UpdownAxis_HomeHighSpeed; /// </summary>
Config.UpDown_Axis.HomeLowSpeed = Config.UpdownAxis_HomeLowSpeed; [ConfigProAttribute("Box_ResetMCount")]
public int Box_ResetMCount { get; set; }
Config.Comp_Axis.TargetSpeed = Config.CompAxis_TargetSpeed; /// <summary>
Config.Comp_Axis.AddSpeed = Config.CompAxis_AddSpeed; /// PRO,,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100
Config.Comp_Axis.DelSpeed = Config.CompAxis_DelSpeed; /// </summary>
Config.Comp_Axis.HomeAddSpeed = Config.CompAxis_HomeAddSpeed; [ConfigProAttribute("Box_ResetACount")]
Config.Comp_Axis.HomeHighSpeed = Config.CompAxis_HomeHighSpeed; public int Box_ResetACount { get; set; }
Config.Comp_Axis.HomeLowSpeed = Config.CompAxis_HomeLowSpeed; /// <summary>
/// PRO,,IO信号超时时间(毫秒),IOSingle_TimerOut,10000
Config.Middle_Axis.CanErrorCountMin = Config.MiddleAxis_ErrorCountMin; /// </summary>
Config.InOut_Axis.CanErrorCountMin = Config.InoutAxis_ErrorCountMin; [ConfigProAttribute("IOSingle_TimerOut")]
Config.UpDown_Axis.CanErrorCountMin = Config.UpdownAxis_ErrorCountMin; public int IOSingle_TimerOut { get; set; }
Config.Middle_Axis.CanErrorCountMax = Config.MiddleAxis_ErrorCountMax; /// <summary>
Config.InOut_Axis.CanErrorCountMax = Config.InoutAxis_ErrorCountMax; /// PRO,,需要吹气的温度(温度标准),Max_Temperature,0
Config.UpDown_Axis.CanErrorCountMax = Config.UpdownAxis_ErrorCountMax; /// </summary>
[ConfigProAttribute("Max_Temperature")]
Config.Middle_Axis.PositionMin = Config.MiddleAxis_PositionMin; public int Max_Temperature { get; set; }
Config.Middle_Axis.PositionMax = Config.MiddleAxis_PositionMax; /// <summary>
Config.InOut_Axis.PositionMin = Config.InoutAxis_PositionMin; /// PRO,,需要吹气的湿度(湿度标准),Max_Humidity,10
Config.InOut_Axis.PositionMax = Config.InoutAxis_PositionMax; /// </summary>
Config.UpDown_Axis.PositionMin = Config.UpdownAxis_PositionMin; [ConfigProAttribute("Max_Humidity")]
Config.UpDown_Axis.PositionMax = Config.UpdownAxis_PositionMax; public int Max_Humidity { get; set; }
/// <summary>
/// PRO,,每次吹气的时间(分钟),BlowAir_Time,10
//Config.InOut_Axis.ResolveSpeed = Config.InoutAxis_ResolveSpeed; /// </summary>
//Config.UpDown_Axis.ResolveSpeed = Config.UpdownAxis_ResolveSpeed; [ConfigProAttribute("BlowAir_Time")]
//Config.Middle_Axis.ResolveSpeed = Config.MiddleAxis_ResolveSpeed; public int BlowAir_Time { get; set; }
/// <summary>
/// PRO,,两次吹气间隔(分钟),BlowAir_Interval,10
/// </summary>
[ConfigProAttribute("BlowAir_Interval")]
public int BlowAir_Interval { get; set; }
/// <summary>
/// PRO,0,是否调试状态(1=调试,0=正常),IsDebug,1
/// </summary>
[ConfigProAttribute("IsDebug")]
public int IsDebug { get; set; }
/// <summary>
/// PRO,,气压检测IO关闭需要持续的时间,AirCheckSeconds,3
/// </summary>
[ConfigProAttribute("AirCheckSeconds")]
public int AirCheckSeconds { get; set; }
/// <summary>
/// PRO,,所有料仓的CID(用#号分隔),All_CIDs,packing-1#packing-2
/// </summary>
[ConfigProAttribute("All_CIDs")]
public string All_CIDs { get; set; }
/// <summary>
/// PRO,,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00D76546875)
/// </summary>
[ConfigProAttribute("CameraNameList")]
public string CameraNameList { get; set; }
//Config.Middle_Axis.DefaultPosition = Config.MiddleAxis_P1; private List<string> CameraList = new List<string>();
//Config.InOut_Axis.DefaultPosition = Config.InOutAxis_P1_Position; public List<string> GetCameraList()
//Config.UpDown_Axis.DefaultPosition = Config.UpDownAxis_P1; {
//Config.Comp_Axis.DefaultPosition = Config.CompAxis_P1_Position; if (CameraList == null)
Config.Comp_Axis.CanErrorCountMax = 1000; {
Config.Comp_Axis.CanErrorCountMin = 10; CameraList = new List<string>();
Config.Comp_Axis.PositionMin = 0; string[] arrayList = CameraNameList.Split('#');
Config.Comp_Axis.PositionMax = 0; foreach (string str in arrayList)
{
string camera = str.Trim();
if (string.IsNullOrEmpty(camera).Equals(false))
{
CameraList.Add(camera);
}
}
}
return CameraList;
} }
private Dictionary<string, ushort> DILengthMap = null; private Dictionary<string, ushort> DILengthMap = null;
private Dictionary<string, ushort> DOLengthMap = null; private Dictionary<string, ushort> DOLengthMap = null;
public ushort GetDILength(string ip) public ushort GetDILength(string ip)
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!