ACSquareSPosition.cs
5.0 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
using OnlineStore.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace OnlineStore.LoadCSVLibrary
{
/// <summary>
/// 松下伺服485控制,单台料仓
/// </summary>
public class ACSquareSPosition : PostionBase
{
/// <summary>
///前后-Y轴位置P2
/// </summary>
[CSVAttribute("前后轴位置P2")]
public int MiddleAxis_P2 { get; set; }
/// <summary>
/// 升降轴(库位出料前点)P5
/// </summary>
[CSVAttribute("升降轴库位出料前点P5")]
public int UpDownAxis_OH_P5 { get; set; }
/// <summary>
/// 升降轴(库位出料缓冲点)P6
/// </summary>
[CSVAttribute("升降轴库位出料缓冲点P6")]
public int UpDownAxis_OL_P6 { get; set; }
/// <summary>
/// 升降轴(库位入料前点)P3
/// </summary>
[CSVAttribute("升降轴库位入料前点P3")]
public int UpDownAxis_IH_P3 { get; set; }
/// <summary>
/// 升降轴(库位入料缓冲点)P4
/// </summary>
[CSVAttribute("升降轴库位入料缓冲点P4")]
public int UpDownAxis_IL_P4 { get; set; }
/// <summary>
/// 进出轴库位取料点P4
/// </summary>
[CSVAttribute("进出轴库位取料点P4")]
public int InOutAxis_P4 { get; set; }
///// <summary>
///// 压紧轴(压紧点)P2
///// </summary>
//[CSVAttribute("压紧轴压紧点P2")]
//public int CompressAxis_P2 { get; set; }
///// <summary>
///// 压紧轴(压紧前点)P3
///// </summary>
//[CSVAttribute("压紧轴压紧前点P3")]
//public int CompressAxis_C_P3 { get; set; }
///// <summary>
///// 轴3(进出轴) 进料口取料点P2
///// </summary>
//[CSVAttribute("进出轴进料口取料点P2")]
//public int InOutAxis_Door_P2 { get; set; }
public static bool CheckPosition(ACSquareSPosition position, Box_Config Config)
{
try
{
if (Config.Middle_Axis.PositionIsHasLimit())
{
int mMin = Config.Middle_Axis.PositionMin;
int mMax = Config.Middle_Axis.PositionMax;
if (mMin > position.MiddleAxis_P2 || mMax < position.MiddleAxis_P2)
{
LogUtil.error(position.PositionNum + " MiddleAxis_P2位置超出" + Config.Middle_Axis.Explain + "上下限(" + mMin + "-" + mMax + ")");
return false;
}
}
if (Config.InOut_Axis.PositionIsHasLimit())
{
int iMin = Config.InOut_Axis.PositionMin;
int iMax = Config.InOut_Axis.PositionMax;
if (iMin > position.InOutAxis_P4 || iMax < position.InOutAxis_P4)
{
LogUtil.error(position.PositionNum + " InOutAxis_P3位置超出" + Config.InOut_Axis.Explain + "上下限(" + iMin + "-" + iMax + ")");
return false;
}
}
if (Config.UpDown_Axis.PositionIsHasLimit())
{
int uMin = Config.UpDown_Axis.PositionMin;
int uMax = Config.UpDown_Axis.PositionMax;
if (uMin > position.UpDownAxis_IH_P3 || uMax < position.UpDownAxis_IH_P3)
{
LogUtil.error(position.PositionNum + " UpDownAxis_IH_P3位置超出" + Config.UpDown_Axis.Explain + "上下限(" + uMin + "-" + uMax + ")");
return false;
}
if (uMin > position.UpDownAxis_IL_P4 || uMax < position.UpDownAxis_IL_P4)
{
LogUtil.error(position.PositionNum + " UpDownAxis_IL_P4位置超出" + Config.UpDown_Axis.Explain + "上下限(" + uMin + "-" + uMax + ")");
return false;
}
if (uMin > position.UpDownAxis_OH_P5 || uMax < position.UpDownAxis_OH_P5)
{
LogUtil.error(position.PositionNum + " UpDownAxis_OH_P5位置超出" + Config.UpDown_Axis.Explain + "上下限(" + uMin + "-" + uMax + ")");
return false;
}
if (uMin > position.UpDownAxis_OL_P6 || uMax < position.UpDownAxis_OL_P6)
{
LogUtil.error(position.PositionNum + " UpDownAxis_OL_P6位置超出" + Config.UpDown_Axis.Explain + "上下限(" + uMin + "-" + uMax + ")");
return false;
}
}
}
catch (Exception ex)
{
LogUtil.error("验证" + position.PositionNum + "的位置范围出错:" + ex.ToString());
}
return true;
}
}
}