Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
刘韬
/
1053_CycleLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 1d786b63
由
刘韬
编写于
2023-04-14 13:35:27 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
优化MyCronic报错处理
1 个父辈
dff26e48
隐藏空白字符变更
内嵌
并排
正在显示
43 个修改的文件
包含
970 行增加
和
1145 行删除
Common/CodeResourceControl.cs
Common/Common.csproj
Common/Setting_Init.cs
DeviceLibrary/DeviceLibrary.csproj
DeviceLibrary/DeviceLibrary/AxisBean.cs
DeviceLibrary/DeviceLibrary/IOManager.cs
DeviceLibrary/DeviceLibrary/RobotMoveHelper.cs
DeviceLibrary/DeviceLibrary/ServerCommunication.cs
DeviceLibrary/StoreConfig/fixPositions.csv
DeviceLibrary/StoreConfig/linePositions.csv
DeviceLibrary/VirtuallyStore/VServerComm.cs
DeviceLibrary/VirtuallyStore/VStore.cs
DeviceLibrary/VirtuallyStore/VStoreCollection.cs
DeviceLibrary/theMachine/DeviceBase.cs
DeviceLibrary/theMachine/MainMachine _LedProcess.cs
DeviceLibrary/theMachine/MoveInfo.cs
DeviceLibrary/theMachine/RobotManage.cs
DeviceLibrary/theMachine/TrayManager.cs
DeviceLibrary/theMachine/sub/MI.cs
DeviceLibrary/theMachine/sub/SideMove.cs
DeviceLibrary/theMachine/sub/TransplantMove.cs
DeviceLibrary/theMachine/sub/TrayStop.cs
DeviceLibrary/userControl/FixtureSizeConfigControl.Designer.cs
LoadCVSLibrary/LoadCSVLibrary.csproj
LoadCVSLibrary/app.config
RemoteSheardObject/Class1.cs
RemoteSheardObject/RemoteSheardObject.csproj
RemoteSheardObject/TheLine.cs
TheMachine/App.config
TheMachine/Form1.Designer.cs
TheMachine/Form1.cs
TheMachine/IOControls.Designer.cs
TheMachine/TheMachine.csproj
TheMachine/TrayManagerControl.cs
TheMachine/UC/ConfigControl.cs
TheMachine/UC/FrmPassCheck.cs
TheMachine/UC/FrmPassCheck.designer.cs
TheMachine/UC/FrmPassCheck.resx
TheMachine/UC/RobotPosControl.cs
TheMachine/UC/UCURRobot.cs
TheMachine/device/Other/MycronicControl.Designer.cs
TheMachine/device/Other/MycronicControl.cs
TheMachine/device/TrayStopControl.cs
Common/CodeResourceControl.cs
查看文件 @
1d786b6
...
@@ -277,8 +277,8 @@ namespace OnlineStore
...
@@ -277,8 +277,8 @@ namespace OnlineStore
//}
//}
//string className = cc.ClassName;
//string className = cc.ClassName;
CurrLanguage
=
CodeResourceControl
.
GetLanguage
();
CurrLanguage
=
CodeResourceControl
.
GetLanguage
();
//string name = CodeResourceControl.GetString(CodeResourceControl.GetTextIdStr(className)
, cc.Text);
string
name
=
CodeResourceControl
.
GetString
(
class
Name
,
cc
.
Text
);
//
if (!name.Equals("")) { cc.Text = name; }
if
(!
name
.
Equals
(
""
))
{
cc
.
Text
=
name
;
}
PreControlLanaguage
(
cc
,
class
Name
);
PreControlLanaguage
(
cc
,
class
Name
);
RefreshLanguageEvent
?.
Invoke
();
RefreshLanguageEvent
?.
Invoke
();
...
...
Common/Common.csproj
查看文件 @
1d786b6
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OnlineStore.Common</RootNamespace>
<RootNamespace>OnlineStore.Common</RootNamespace>
<AssemblyName>MyCommon</AssemblyName>
<AssemblyName>MyCommon</AssemblyName>
<TargetFrameworkVersion>v4.
6.2
</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.
8
</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<TargetFrameworkProfile />
</PropertyGroup>
</PropertyGroup>
...
...
Common/Setting_Init.cs
查看文件 @
1d786b6
...
@@ -74,12 +74,15 @@ namespace OnlineStore.Common
...
@@ -74,12 +74,15 @@ namespace OnlineStore.Common
[
MyConfigComment
(
"二维码扫码超时毫秒"
)]
[
MyConfigComment
(
"二维码扫码超时毫秒"
)]
public
static
MyConfig
<
int
>
CameraScan_CodeTimeOut
=
3000
;
public
static
MyConfig
<
int
>
CameraScan_CodeTimeOut
=
3000
;
[
MyConfigComment
(
"管理员密码"
)]
public
static
MyConfig
<
string
>
User_AdminPassword
=
"1"
;
[
MyConfigComment
(
"启用管理员密码"
)]
public
static
MyConfig
<
bool
>
User_Enable
=
false
;
public
static
MyConfig
<
string
>
Runtime_OutStoreReelInfo
;
public
static
MyConfig
<
string
>
Runtime_OutStoreReelInfo
;
public
static
MyConfig
<
string
>
Runtime_Robot_ReelInfo
;
//public static MyConfig<string> Runtime_Robot_ReelInfo;
public
static
MyConfig
<
string
>
Runtime_Robot_FromPos
;
//public static MyConfig<string> Runtime_Robot_FromPos;
public
static
MyConfig
<
string
>
Runtime_Robot_ToPos
;
//public static MyConfig<string> Runtime_Robot_ToPos;
public
static
MyConfig
<
string
>
RuntimeRobot_Arm_MoveStep
;
public
static
MyConfig
<
string
>
RuntimeRobot_MoveStep
;
}
}
}
}
DeviceLibrary/DeviceLibrary.csproj
查看文件 @
1d786b6
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>DeviceLibrary</RootNamespace>
<RootNamespace>DeviceLibrary</RootNamespace>
<AssemblyName>DeviceLibrary</AssemblyName>
<AssemblyName>DeviceLibrary</AssemblyName>
<TargetFrameworkVersion>v4.
7.2
</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.
8
</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
<TargetFrameworkProfile />
...
@@ -202,12 +202,6 @@
...
@@ -202,12 +202,6 @@
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</None>
<None Include="packages.config" />
<None Include="packages.config" />
<None Include="StoreConfig\fixPositions.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="StoreConfig\linePositions.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
</Project>
\ No newline at end of file
\ No newline at end of file
DeviceLibrary/DeviceLibrary/AxisBean.cs
查看文件 @
1d786b6
using
OnlineStore.Common
;
using
OnlineStore
;
using
OnlineStore.Common
;
using
OnlineStore.LoadCSVLibrary
;
using
OnlineStore.LoadCSVLibrary
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
...
@@ -46,28 +47,28 @@ namespace DeviceLibrary
...
@@ -46,28 +47,28 @@ namespace DeviceLibrary
openretry
++;
openretry
++;
{
{
Msg
+=
string
.
Format
(
"第{0}次尝试打开轴:{1}"
,
openretry
,
Config
.
Explain
);
Msg
+=
string
.
Format
(
crc
.
GetString
(
"Res0073.1bf30741"
,
"第{0}次尝试打开轴:{1}"
)
,
openretry
,
Config
.
Explain
);
if
(
AxisManager
.
GetBusyStatus
(
portName
,
slvAddr
)
==
1
)
if
(
AxisManager
.
GetBusyStatus
(
portName
,
slvAddr
)
==
1
)
{
{
AxisManager
.
SuddenStop
(
portName
,
slvAddr
);
AxisManager
.
SuddenStop
(
portName
,
slvAddr
);
Msg
+=
string
.
Format
(
"...伺服忙碌,急停{0}次"
,
openretry
);
Msg
+=
string
.
Format
(
crc
.
GetString
(
"Res0074.814c87d5"
,
"...伺服忙碌,急停{0}次"
)
,
openretry
);
Thread
.
Sleep
(
100
);
Thread
.
Sleep
(
100
);
}
}
AxisManager
.
ServoOn
(
portName
,
slvAddr
);
AxisManager
.
ServoOn
(
portName
,
slvAddr
);
Thread
.
Sleep
(
200
);
Thread
.
Sleep
(
200
);
if
(
AxisManager
.
IsServeoOn
(
portName
,
slvAddr
))
if
(
AxisManager
.
IsServeoOn
(
portName
,
slvAddr
))
{
{
Msg
+=
"..."
+
"使能成功"
;
Msg
+=
"..."
+
crc
.
GetString
(
"Res0075.c054671f"
,
"使能成功"
)
;
openretry
=
0
;
openretry
=
0
;
return
true
;
return
true
;
}
}
else
else
Msg
+=
"..."
+
"尝试使能失败"
;
Msg
+=
"..."
+
crc
.
GetString
(
"Res0076.94b55bdf"
,
"尝试使能失败"
)
;
Thread
.
Sleep
(
1000
);
Thread
.
Sleep
(
1000
);
if
(
openretry
<
5
)
if
(
openretry
<
5
)
Msg
=
"伺服连接中"
+
"..."
;
Msg
=
crc
.
GetString
(
"Res0077.abdd7b6b"
,
"伺服连接中"
)
+
"..."
;
}
}
return
false
;
return
false
;
}
}
...
@@ -162,7 +163,7 @@ namespace DeviceLibrary
...
@@ -162,7 +163,7 @@ namespace DeviceLibrary
int
isAlarm
=
AxisManager
.
GetAlarmStatus
(
deviceName
,
axisNo
);
int
isAlarm
=
AxisManager
.
GetAlarmStatus
(
deviceName
,
axisNo
);
if
(
isAlarm
.
Equals
(
1
))
if
(
isAlarm
.
Equals
(
1
))
{
{
clearMsg
=
"清理报警"
+
","
;
clearMsg
=
crc
.
GetString
(
"Res0078.a6087377"
,
"清理报警"
)
+
","
;
AxisManager
.
AlarmClear
(
deviceName
,
axisNo
);
AxisManager
.
AlarmClear
(
deviceName
,
axisNo
);
Thread
.
Sleep
(
200
);
Thread
.
Sleep
(
200
);
AxisManager
.
ServoOn
(
deviceName
,
axisNo
);
AxisManager
.
ServoOn
(
deviceName
,
axisNo
);
...
@@ -183,7 +184,7 @@ namespace DeviceLibrary
...
@@ -183,7 +184,7 @@ namespace DeviceLibrary
}
}
else
else
{
{
msg
=
$
"{MoveInfo.Name} {MoveInfo.MoveStep} {axis.DisplayStr},"
+
"目标位置"
+
$
"{targetPosition},"
+
"当前位置"
+
$
"{outCount}"
+
",误差过大,需要报警"
;
msg
=
$
"{MoveInfo.Name} {MoveInfo.MoveStep} {axis.DisplayStr},"
+
crc
.
GetString
(
"Res0079.84ab6e6f"
,
"目标位置"
)
+
$
"{targetPosition},"
+
crc
.
GetString
(
"Res0080.5eac11b4"
,
"当前位置"
)
+
$
"{outCount}"
+
crc
.
GetString
(
"Res0081.8d390ec9"
,
",误差过大,需要报警"
)
;
MoveInfo
.
error
(
msg
);
MoveInfo
.
error
(
msg
);
}
}
}
}
...
@@ -204,14 +205,14 @@ namespace DeviceLibrary
...
@@ -204,14 +205,14 @@ namespace DeviceLibrary
//判断是否需要重新运动
//判断是否需要重新运动
if
(
MoveInfo
.
CanWhileCount
>
0
)
if
(
MoveInfo
.
CanWhileCount
>
0
)
{
{
MoveInfo
.
error
(
MoveInfo
.
Name
+
axis
.
DisplayStr
+
"收到原点完成信号,当前位置["
+
outCount
+
"],重新回原点,剩余["
+
MoveInfo
.
CanWhileCount
+
"]次"
);
MoveInfo
.
error
(
MoveInfo
.
Name
+
axis
.
DisplayStr
+
crc
.
GetString
(
"Res0082.8aafcde8"
,
"收到原点完成信号,当前位置["
)
+
outCount
+
crc
.
GetString
(
"Res0083.b8b7de19"
,
"],重新回原点,剩余["
)
+
MoveInfo
.
CanWhileCount
+
crc
.
GetString
(
"Res0084.62bd0209"
,
"]次"
)
);
//LogUtil.error( StoreName + moveAxis.DisplayStr + "重新回原点");
//LogUtil.error( StoreName + moveAxis.DisplayStr + "重新回原点");
AxisManager
.
HomeMove
(
axis
.
DeviceName
,
axis
.
GetAxisValue
(),
axis
.
HomeHighSpeed
,
axis
.
HomeLowSpeed
,
axis
.
HomeAddSpeed
);
AxisManager
.
HomeMove
(
axis
.
DeviceName
,
axis
.
GetAxisValue
(),
axis
.
HomeHighSpeed
,
axis
.
HomeLowSpeed
,
axis
.
HomeAddSpeed
);
MoveInfo
.
CanWhileCount
--;
MoveInfo
.
CanWhileCount
--;
}
}
else
else
{
{
msg
=
MoveInfo
.
Name
+
" "
+
MoveInfo
.
MoveStep
+
axis
.
DisplayStr
+
","
+
"收到原点完成信号,当前位置"
+
"["
+
outCount
+
"],"
+
"误差过大,需要报警"
;
msg
=
MoveInfo
.
Name
+
" "
+
MoveInfo
.
MoveStep
+
axis
.
DisplayStr
+
","
+
crc
.
GetString
(
"Res0085.89db0f26"
,
"收到原点完成信号,当前位置"
)
+
"["
+
outCount
+
"],"
+
crc
.
GetString
(
"Res0086.53ce14b2"
,
"误差过大,需要报警"
)
;
MoveInfo
.
error
(
msg
);
MoveInfo
.
error
(
msg
);
}
}
}
}
...
@@ -415,11 +416,11 @@ namespace DeviceLibrary
...
@@ -415,11 +416,11 @@ namespace DeviceLibrary
Thread
.
Sleep
(
200
);
Thread
.
Sleep
(
200
);
if
(
AxisManager
.
GetAlarmStatus
(
portName
,
slvAddr
)
!=
0
)
if
(
AxisManager
.
GetAlarmStatus
(
portName
,
slvAddr
)
!=
0
)
{
{
msg
+=
string
.
Format
(
"轴(0)存在报警,清除失败"
,
axis
.
Config
.
Explain
);
msg
+=
string
.
Format
(
crc
.
GetString
(
"Res0087.95840864"
,
"轴(0)存在报警,清除失败"
)
,
axis
.
Config
.
Explain
);
isok
=
false
;
isok
=
false
;
}
}
else
else
msg
+=
string
.
Format
(
"轴(0)存在报警,清除成功"
,
axis
.
Config
.
Explain
);
msg
+=
string
.
Format
(
crc
.
GetString
(
"Res0088.b5876296"
,
"轴(0)存在报警,清除成功"
)
,
axis
.
Config
.
Explain
);
}
}
}
}
Thread
.
Sleep
(
50
);
Thread
.
Sleep
(
50
);
...
@@ -427,4 +428,4 @@ namespace DeviceLibrary
...
@@ -427,4 +428,4 @@ namespace DeviceLibrary
}
}
}
}
}
}
\ No newline at end of file
\ No newline at end of file
DeviceLibrary/DeviceLibrary/IOManager.cs
查看文件 @
1d786b6
...
@@ -27,11 +27,12 @@ namespace DeviceLibrary
...
@@ -27,11 +27,12 @@ namespace DeviceLibrary
{
{
ConfigIO
configIo
=
StoreManager
.
Config
.
DOList
[
device
][
ioType
];
ConfigIO
configIo
=
StoreManager
.
Config
.
DOList
[
device
][
ioType
];
instance
.
WriteSingleDO
(
configIo
.
DeviceName
,
configIo
.
SlaveID
,
configIo
.
GetIOAddr
(),
ioValue
);
instance
.
WriteSingleDO
(
configIo
.
DeviceName
,
configIo
.
SlaveID
,
configIo
.
GetIOAddr
(),
ioValue
);
if
(
configIo
.
GetIOAddr
()
==
9
||
configIo
.
GetIOAddr
()
==
12
)
{
if
(
configIo
.
GetIOAddr
()
==
0
)
//(configIo.GetIOAddr() == 9 || configIo.GetIOAddr() == 12)
{
LogUtil
.
info
(
$
"{configIo.GetIOAddr()}=={ioValue},device={device},ioType={ioType}"
);
LogUtil
.
info
(
$
"{configIo.GetIOAddr()}=={ioValue},device={device},ioType={ioType}"
);
StackTrace
stackTrace
=
new
StackTrace
();
StackTrace
stackTrace
=
new
StackTrace
();
for
(
int
i
=
0
;
i
<
stackTrace
.
FrameCount
;
i
++)
for
(
int
i
=
0
;
i
<
stackTrace
.
FrameCount
;
i
++)
{
{
StackFrame
stackFrame
=
stackTrace
.
GetFrame
(
i
);
StackFrame
stackFrame
=
stackTrace
.
GetFrame
(
i
);
string
fileName
=
stackFrame
.
GetFileName
();
string
fileName
=
stackFrame
.
GetFileName
();
int
lineNumber
=
stackFrame
.
GetFileLineNumber
();
int
lineNumber
=
stackFrame
.
GetFileLineNumber
();
...
...
DeviceLibrary/DeviceLibrary/RobotMoveHelper.cs
查看文件 @
1d786b6
...
@@ -11,18 +11,20 @@ using System.Threading.Tasks;
...
@@ -11,18 +11,20 @@ using System.Threading.Tasks;
namespace
DeviceLibrary
namespace
DeviceLibrary
{
{
class
RobotHelper
public
class
RobotHelper
{
{
int
lastMoveCmd
=
0
;
int
lastMoveCmd
=
0
;
int
lastSpeedRate
=
0
;
public
int
lastWeight
=
0
;
URRobotControl
robot
;
URRobotControl
robot
;
System
.
Timers
.
Timer
RobotCheck
;
System
.
Timers
.
Timer
RobotCheck
;
string
Robotname
;
string
Robotname
;
public
RobotHelper
(
URRobotControl
_robot
,
string
robotname
)
{
public
RobotHelper
(
URRobotControl
_robot
,
string
robotname
)
{
robot
=
_robot
;
robot
=
_robot
;
Robotname
=
robotname
;
Robotname
=
robotname
;
RobotCheck
=
new
System
.
Timers
.
Timer
(
5000
);
RobotCheck
=
new
System
.
Timers
.
Timer
(
5000
);
RobotCheck
.
Elapsed
+=
RobotCheck_Elapsed
;
RobotCheck
.
Elapsed
+=
RobotCheck_Elapsed
;
}
}
public
volatile
bool
RobotStatus
=
false
;
public
volatile
bool
RobotStatus
=
false
;
private
void
RobotCheck_Elapsed
(
object
sender
,
System
.
Timers
.
ElapsedEventArgs
e
)
private
void
RobotCheck_Elapsed
(
object
sender
,
System
.
Timers
.
ElapsedEventArgs
e
)
...
@@ -42,6 +44,10 @@ namespace DeviceLibrary
...
@@ -42,6 +44,10 @@ namespace DeviceLibrary
if
(
robot
.
CurDashboardReponse
.
Contains
(
"PROTECTIVE_STOP"
))
if
(
robot
.
CurDashboardReponse
.
Contains
(
"PROTECTIVE_STOP"
))
{
{
robot
.
SendCMD
(
"unlock protective stop"
,
0
);
robot
.
SendCMD
(
"unlock protective stop"
,
0
);
lastWeight
=
lastWeight
+
1
;
if
(
lastWeight
>
4
)
lastWeight
=
1
;
robot
.
log
(
"触发保护性停止,调节负载重量:"
+
lastWeight
);
return
;
return
;
}
}
return
;
return
;
...
@@ -71,7 +77,7 @@ namespace DeviceLibrary
...
@@ -71,7 +77,7 @@ namespace DeviceLibrary
void
uploadStatus
()
{
void
uploadStatus
()
{
EquipMsgData
equipMsg
=
new
EquipMsgData
();
EquipMsgData
equipMsg
=
new
EquipMsgData
();
equipMsg
.
msgList
=
new
List
<
EquipMessage
>();
equipMsg
.
msgList
=
new
List
<
EquipMessage
>();
equipMsg
.
status
=
RobotStatus
?
1
:
2
;
equipMsg
.
status
=
RobotStatus
?
1
:
2
;
if
(!
RobotStatus
)
if
(!
RobotStatus
)
{
{
equipMsg
.
msgList
.
Add
(
new
EquipMessage
()
equipMsg
.
msgList
.
Add
(
new
EquipMessage
()
...
@@ -83,13 +89,19 @@ namespace DeviceLibrary
...
@@ -83,13 +89,19 @@ namespace DeviceLibrary
equipMsg
.
equipName
=
Robotname
;
equipMsg
.
equipName
=
Robotname
;
TheLine
.
UploadStatus
(
equipMsg
);
TheLine
.
UploadStatus
(
equipMsg
);
}
}
public
void
Move
(
MoveInfo
moveInfo
,
int
movecmd
)
{
DateTime
LastMoveTime
=
DateTime
.
Now
;
int
retrytime
=
0
;
public
void
Move
(
MoveInfo
moveInfo
,
int
movecmd
,
int
weight
)
{
if
(
moveInfo
!=
null
)
if
(
moveInfo
!=
null
)
{
{
moveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitAction
(
new
Func
<
WaitResultInfo
,
bool
>(
IsMoveOk
),
crc
.
GetString
(
"Res0157"
,
"等待"
)
+
$
"[{robot.Name}]"
+
crc
.
GetString
(
"Res0057"
,
"移动到位"
)));
retrytime
=
0
;
LastMoveTime
=
DateTime
.
Now
;
moveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitAction
(
new
Func
<
WaitResultInfo
,
bool
>(
IsMoveOk
),
crc
.
GetString
(
"Res0157"
,
"等待"
)
+
$
"[{robot.Name}]"
+
crc
.
GetString
(
"Res0057"
,
"移动到位"
)));
}
}
lastMoveCmd
=
movecmd
;
lastMoveCmd
=
movecmd
;
robot
.
SendMoveCmd
(
movecmd
,
Setting_Init
.
URRobot_MI1_Speed_Rate
);
lastSpeedRate
=
Setting_Init
.
URRobot_MI1_Speed_Rate
;
lastWeight
=
weight
;
robot
.
SendMoveCmd
(
movecmd
,
lastSpeedRate
,
false
,
LoadRateParam
[
weight
]);
}
}
internal
void
Start
()
internal
void
Start
()
...
@@ -100,10 +112,18 @@ namespace DeviceLibrary
...
@@ -100,10 +112,18 @@ namespace DeviceLibrary
public
bool
IsMoveOk
(
WaitResultInfo
waitResultInfo
)
{
public
bool
IsMoveOk
(
WaitResultInfo
waitResultInfo
)
{
if
(
robot
.
CurCmdReponse
.
Contains
(
$
"{lastMoveCmd},done"
))
if
(
robot
.
CurCmdReponse
.
Contains
(
$
"{lastMoveCmd},done"
))
return
true
;
return
true
;
else
if
(
robot
.
CurCmdReponse
.
Contains
(
$
"done"
))
else
if
(
robot
.
CurCmdReponse
.
Contains
(
$
"done"
)
||
retrytime
>
1
)
{
{
LogUtil
.
error
(
$
"机器人没有移动到位,重新移动:{lastMoveCmd}"
);
retrytime
=
0
;
robot
.
SendMoveCmd
(
lastMoveCmd
);
LogUtil
.
error
(
$
"机器人没有移动到位,重新移动:{lastMoveCmd},{lastWeight}"
);
robot
.
SendMoveCmd
(
lastMoveCmd
,
lastSpeedRate
,
false
,
LoadRateParam
[
lastWeight
]);
return
false
;
}
else
if
((
DateTime
.
Now
-
LastMoveTime
).
TotalSeconds
>
30
)
{
retrytime
++;
LastMoveTime
=
DateTime
.
Now
;
LogUtil
.
error
(
$
"机器人超过30秒没有反馈,停止程序重试"
);
robot
.
StopProgram
();
return
false
;
return
false
;
}
}
else
else
...
@@ -115,5 +135,27 @@ namespace DeviceLibrary
...
@@ -115,5 +135,27 @@ namespace DeviceLibrary
{
{
RobotCheck
.
Enabled
=
false
;
RobotCheck
.
Enabled
=
false
;
}
}
/// <summary>
/// lb=kg/0.45359237f
/// in=mm/25.4f
/// key=load kg, value = load lb,x,y,z
/// </summary>
public
static
Dictionary
<
int
,
float
[
]>
LoadRateParam
=
new
Dictionary
<
int
,
float
[
]>
()
{
{
0
,
new
float
[]
{
4.5f
,
0
,
37
/
100f
,
100
/
100f
}
},
{
1
,
new
float
[]
{
5.5f
,
0
,
37
/
100f
,
146
/
100f
}
},
{
2
,
new
float
[]
{
6.5f
,
0
,
37
/
100f
,
174
/
100f
}
},
{
3
,
new
float
[]
{
7.5f
,
0
,
37
/
100f
,
204
/
100f
}
},
{
4
,
new
float
[]
{
8.5f
,
0
,
37
/
100f
,
212
/
100f
}
},
{
5
,
new
float
[]
{
9.5f
,
0
,
37
/
100f
,
224
/
100f
}
}
};
//public static Dictionary<int, float[]> LoadRateParam = new Dictionary<int, float[]>() {
// { 0, new float[] { 4.5f / 0.45359237f, 0, 37/25.4f, 100 / 25.4f } },
// { 1, new float[] { 5.5f / 0.45359237f, 0, 37 / 25.4f, 146 / 25.4f } },
// { 2, new float[] { 6.5f / 0.45359237f, 0, 37 / 25.4f, 174 / 25.4f } },
// { 3, new float[] { 7.5f / 0.45359237f, 0, 37 / 25.4f, 204 / 25.4f } },
// { 4, new float[] { 8.5f / 0.45359237f, 0, 37 / 25.4f, 212 / 25.4f } },
// { 5, new float[] { 9.5f / 0.45359237f, 0, 37 / 25.4f, 224 / 25.4f } }
//};
}
}
}
}
\ No newline at end of file
\ No newline at end of file
DeviceLibrary/DeviceLibrary/ServerCommunication.cs
查看文件 @
1d786b6
...
@@ -54,15 +54,19 @@ namespace DeviceLibrary
...
@@ -54,15 +54,19 @@ namespace DeviceLibrary
OutMaterialTaskCount
=
data
[
"pizzaBox"
]
+
data
[
"pcb"
]
+
data
[
"tray"
];
OutMaterialTaskCount
=
data
[
"pizzaBox"
]
+
data
[
"pcb"
]
+
data
[
"tray"
];
OutReelTaskCount
=
data
[
"reel"
];
OutReelTaskCount
=
data
[
"reel"
];
}
}
TrayManager
.
Statistics
();
var
remoteLoad
=
new
RemoteLoad
();
var
remoteLoad
=
new
RemoteLoad
();
remoteLoad
.
RequestLoadInfo
=
new
RequestLoadInfo
();
remoteLoad
.
RequestLoadInfo
=
new
RequestLoadInfo
();
remoteLoad
.
RequestLoadInfo
.
TrayType
=
TrayTypeE
.
MTP1
.
ToString
();
remoteLoad
.
RequestLoadInfo
.
TrayType
=
TrayTypeE
.
MTP1
.
ToString
();
var
r
=
TrayManager
.
IsNeedProcessNG
(
remoteLoad
);
var
r
=
TrayManager
.
IsNeedProcessNG
(
remoteLoad
);
TheLine
.
UploadCustData
(
"IsNeedProcessNG"
,
r
?
"true"
:
"false"
);
TheLine
.
UploadCustData
(
"IsNeedProcessNG"
,
r
?
"true"
:
"false"
);
TheLine
.
UploadCustData
(
"EmptyCount_MTP1"
,
TrayManager
.
EmptyCount_MTP1
.
ToString
());
TheLine
.
UploadCustData
(
"EmptyCount_MTP2"
,
TrayManager
.
EmptyCount_MTP2
.
ToString
());
//if (!RobotManage.isRunning)
//if (!RobotManage.isRunning)
// ProcessMsg(MsgService.MSList);
// ProcessMsg(MsgService.MSList);
//if (!string.IsNullOrWhiteSpace(server))
//if (!string.IsNullOrWhiteSpace(server))
// SendLineStatus();
// SendLineStatus();
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
...
...
DeviceLibrary/StoreConfig/fixPositions.csv
deleted
100644 → 0
查看文件 @
dff26e4
位置,优先级,高度,宽度,料仓ID,旋转轴位置P2,升降轴库位入料高点P3,升降轴库位入料低点P4,进出轴库位点取料点P3
fix#7,1,24,7,1,139000,85635,76635,216000
fix#13,2,24,13,1,139000,114988,105988,216000
DeviceLibrary/StoreConfig/linePositions.csv
deleted
100644 → 0
查看文件 @
dff26e4
位置,优先级,高度,宽度,料仓ID,旋转轴位置P2,升降轴库位入料高点P3,升降轴库位入料低点P4,进出轴库位点取料点P3,,,
1069M02_01_11_01,796,8,7,1,219347,31048,20240,236990,,,
1069M02_01_11_02,795,8,7,1,219347,60595,49787,236990,,,18296
1069M02_01_11_03,794,8,7,1,219347,91377,80569,236990,,,
1069M02_01_11_04,793,8,7,1,219347,121147,110339,236990,,,4920
1069M02_01_11_05,792,8,7,1,219347,151889,141081,236990,,,
1069M02_01_11_06,791,8,7,1,219347,182278,171470,236990,,,
1069M02_01_11_07,790,8,7,1,219347,212452,201644,236990,,16926,
1069M02_01_11_08,789,8,7,1,219347,242880,232072,236990,,16926,
1069M02_01_11_09,788,8,7,1,219347,273824,263016,236990,,6118,
1069M02_01_11_10,787,8,7,1,219347,303630,292822,236990,,,
1069M02_01_11_11,786,8,7,1,219347,334223,323415,236990,,,
1069M02_01_11_12,785,8,7,1,219347,365075,354267,236990,,,
1069M02_01_11_13,784,8,7,1,219347,396359,385551,236990,,,
1069M02_01_11_14,783,8,7,1,219347,426437,415629,236990,,,
1069M02_01_11_15,782,8,7,1,219347,456331,445523,236990,,,
1069M02_01_11_16,781,8,7,1,219347,488190,477382,236990,,,
1069M02_01_11_17,780,8,7,1,219347,517826,507018,236990,,,
1069M02_01_21_01,779,8,7,1,219347,548997,538189,236990,,,
1069M02_01_21_02,778,8,7,1,219347,579010,568202,236990,,,
1069M02_01_21_03,777,8,7,1,219347,609659,598851,236990,,,
1069M02_01_21_04,776,8,7,1,219347,640419,629611,236990,,,
1069M02_01_21_05,775,8,7,1,219347,671882,661074,236990,,,
1069M02_01_21_06,774,8,7,1,219347,701758,690950,236990,,,
1069M02_01_21_07,773,8,7,1,219347,732293,721485,236990,,,
1069M02_01_21_08,772,8,7,1,219347,762346,751538,236990,,,
1069M02_01_21_09,771,8,7,1,219347,794033,783225,236990,,,
1069M02_01_21_10,770,8,7,1,219347,823405,812597,236990,,,
1069M02_01_21_11,769,8,7,1,219347,853356,842548,236990,,,
1069M02_01_21_12,768,8,7,1,219347,884553,873745,236990,,,
1069M02_01_21_13,767,8,7,1,219347,914542,903734,236990,,,
1069M02_01_21_14,766,8,7,1,219347,945451,934643,236990,,,
1069M02_01_21_15,765,8,7,1,219347,975287,964479,236990,,,
1069M02_01_21_16,764,8,7,1,219347,1006056,995248,236990,,,
1069M02_01_21_17,763,8,7,1,219347,1036562,1025754,236990,,,
1069M02_01_31_01,762,8,7,1,219347,1067806,1056998,236990,,,
1069M02_01_31_02,761,8,7,1,219347,1097161,1086353,236990,,,
1069M02_01_31_03,760,8,7,1,219347,1128071,1117263,236990,,,
1069M02_01_31_04,759,8,7,1,219347,1158489,1147681,236990,,,
1069M02_01_31_05,758,8,7,1,219347,1188443,1177635,236990,,,
1069M02_01_31_06,757,8,7,1,219347,1219398,1208590,236990,,,
1069M02_01_31_07,756,8,7,1,219347,1250186,1239378,236990,,,
1069M02_01_31_08,755,8,7,1,219347,1280611,1269803,236990,,,
1069M02_01_31_09,754,8,7,1,219347,1311064,1300256,236990,,,
1069M02_01_31_10,753,8,7,1,219347,1341992,1331184,236990,,,
1069M02_01_31_11,752,8,7,1,219347,1372295,1361487,236990,,,
1069M02_01_31_12,751,8,7,1,219347,1402484,1391676,236990,,,
1069M02_01_31_13,750,8,7,1,219347,1433486,1422678,236990,,,
1069M02_01_31_14,749,8,7,1,219347,1463404,1452596,236990,,,
1069M02_01_31_15,748,8,7,1,219347,1493926,1483118,236990,,,
1069M02_01_31_16,747,8,7,1,219347,1525099,1514291,236990,,,
1069M02_01_31_17,746,8,7,1,219347,1556210,1545402,236990,,,
1069M02_01_41_01,745,8,7,1,219347,1583889,1573081,236990,,,
1069M02_01_41_02,744,8,7,1,219347,1615371,1604563,236990,,,
1069M02_01_41_03,743,8,7,1,219347,1645844,1635036,236990,,,
1069M02_01_41_04,742,8,7,1,219347,1676317,1665509,236990,,,
1069M02_01_41_05,741,8,7,1,219347,1706928,1696120,236990,,,
1069M02_01_41_06,740,8,7,1,219347,1737328,1726520,236990,,,
1069M02_01_41_07,739,8,7,1,219347,1767633,1756825,236990,,,
1069M02_01_41_08,738,8,7,1,219347,1798085,1787277,236990,,,
1069M02_01_41_09,737,8,7,1,219347,1828813,1818005,236990,,,
1069M02_01_41_10,736,8,7,1,219347,1859612,1848804,236990,,,
1069M02_01_41_11,735,8,7,1,219347,1889603,1878795,236990,,,
1069M02_01_41_12,734,8,7,1,219347,1920211,1909403,236990,,,
1069M02_01_41_13,733,8,7,1,219347,1951392,1940584,236990,,,
1069M02_01_41_14,732,8,7,1,219347,1981711,1970903,236990,,,
1069M02_01_41_15,731,8,7,1,219347,2011997,2001189,236990,,,
1069M02_01_41_16,730,8,7,1,219347,2041246,2030438,236990,,,
1069M02_01_12_01,729,8,7,1,242048,31048,20240,236990,,,
1069M02_01_12_02,728,8,7,1,242048,60595,49787,236990,,,
1069M02_01_12_03,727,8,7,1,242048,91377,80569,236990,,,
1069M02_01_12_04,726,8,7,1,242048,121147,110339,236990,,,
1069M02_01_12_05,725,8,7,1,242048,151889,141081,236990,,,
1069M02_01_12_06,724,8,7,1,242048,182278,171470,236990,,,
1069M02_01_12_07,723,8,7,1,242048,212452,201644,236990,,,
1069M02_01_12_08,722,8,7,1,242048,242880,232072,236990,,,
1069M02_01_12_09,721,8,7,1,242048,273824,263016,236990,,,
1069M02_01_12_10,720,8,7,1,242048,303630,292822,236990,,,
1069M02_01_12_11,719,8,7,1,242048,334223,323415,236990,,,
1069M02_01_12_12,718,8,7,1,242048,365075,354267,236990,,,
1069M02_01_12_13,717,8,7,1,242048,396359,385551,236990,,,
1069M02_01_12_14,716,8,7,1,242048,426437,415629,236990,,,
1069M02_01_12_15,715,8,7,1,242048,456331,445523,236990,,,
1069M02_01_12_16,714,8,7,1,242048,488190,477382,236990,,,
1069M02_01_12_17,713,8,7,1,242048,517826,507018,236990,,,
1069M02_01_22_01,712,8,7,1,242048,548997,538189,236990,,,
1069M02_01_22_02,711,8,7,1,242048,579010,568202,236990,,,
1069M02_01_22_03,710,8,7,1,242048,609659,598851,236990,,,
1069M02_01_22_04,709,8,7,1,242048,640419,629611,236990,,,
1069M02_01_22_05,708,8,7,1,242048,671882,661074,236990,,,
1069M02_01_22_06,707,8,7,1,242048,701758,690950,236990,,,
1069M02_01_22_07,706,8,7,1,242048,732293,721485,236990,,,
1069M02_01_22_08,705,8,7,1,242048,762346,751538,236990,,,
1069M02_01_22_09,704,8,7,1,242048,794033,783225,236990,,,
1069M02_01_22_10,703,8,7,1,242048,823405,812597,236990,,,
1069M02_01_22_11,702,8,7,1,242048,853356,842548,236990,,,
1069M02_01_22_12,701,8,7,1,242048,884553,873745,236990,,,
1069M02_01_22_13,700,8,7,1,242048,914542,903734,236990,,,
1069M02_01_22_14,699,8,7,1,242048,945451,934643,236990,,,
1069M02_01_22_15,698,8,7,1,242048,975287,964479,236990,,,
1069M02_01_22_16,697,8,7,1,242048,1006056,995248,236990,,,
1069M02_01_22_17,696,8,7,1,242048,1036562,1025754,236990,,,
1069M02_01_32_01,695,8,7,1,242048,1067806,1056998,236990,,,
1069M02_01_32_02,694,8,7,1,242048,1097161,1086353,236990,,,
1069M02_01_32_03,693,8,7,1,242048,1128071,1117263,236990,,,
1069M02_01_32_04,692,8,7,1,242048,1158489,1147681,236990,,,
1069M02_01_32_05,691,8,7,1,242048,1188443,1177635,236990,,,
1069M02_01_32_06,690,8,7,1,242048,1219398,1208590,236990,,,
1069M02_01_32_07,689,8,7,1,242048,1250186,1239378,236990,,,
1069M02_01_32_08,688,8,7,1,242048,1280611,1269803,236990,,,
1069M02_01_32_09,687,8,7,1,242048,1311064,1300256,236990,,,
1069M02_01_32_10,686,8,7,1,242048,1341992,1331184,236990,,,
1069M02_01_32_11,685,8,7,1,242048,1372295,1361487,236990,,,
1069M02_01_32_12,684,8,7,1,242048,1402484,1391676,236990,,,
1069M02_01_32_13,683,8,7,1,242048,1433486,1422678,236990,,,
1069M02_01_32_14,682,8,7,1,242048,1463404,1452596,236990,,,
1069M02_01_32_15,681,8,7,1,242048,1493926,1483118,236990,,,
1069M02_01_32_16,680,8,7,1,242048,1525099,1514291,236990,,,
1069M02_01_32_17,679,8,7,1,242048,1556210,1545402,236990,,,
1069M02_01_42_01,678,8,7,1,242048,1583889,1573081,236990,,,
1069M02_01_42_02,677,8,7,1,242048,1615371,1604563,236990,,,
1069M02_01_42_03,676,8,7,1,242048,1645844,1635036,236990,,,
1069M02_01_42_04,675,8,7,1,242048,1676317,1665509,236990,,,
1069M02_01_42_05,674,8,7,1,242048,1706928,1696120,236990,,,
1069M02_01_42_06,673,8,7,1,242048,1737328,1726520,236990,,,
1069M02_01_42_07,672,8,7,1,242048,1767633,1756825,236990,,,
1069M02_01_42_08,671,8,7,1,242048,1798085,1787277,236990,,,
1069M02_01_42_09,670,8,7,1,242048,1828813,1818005,236990,,,
1069M02_01_42_10,669,8,7,1,242048,1859612,1848804,236990,,,
1069M02_01_42_11,668,8,7,1,242048,1889603,1878795,236990,,,
1069M02_01_42_12,667,8,7,1,242048,1920211,1909403,236990,,,
1069M02_01_42_13,666,8,7,1,242048,1951392,1940584,236990,,,
1069M02_01_42_14,665,8,7,1,242048,1981711,1970903,236990,,,
1069M02_01_42_15,664,8,7,1,242048,2011997,2001189,236990,,,
1069M02_01_42_16,663,8,7,1,242048,2041246,2030438,236990,,,
1069M02_02_11_01,662,8,7,1,266472,29412,18604,236990,,,
1069M02_02_11_02,661,8,7,1,266472,60089,49281,236990,,,
1069M02_02_11_03,660,8,7,1,266472,90502,79694,236990,,,
1069M02_02_11_04,659,8,7,1,266472,121421,110613,236990,,,
1069M02_02_11_05,658,8,7,1,266472,150984,140176,236990,,,
1069M02_02_11_06,657,8,7,1,266472,182299,171491,236990,,,
1069M02_02_11_07,656,8,7,1,266472,211626,200818,236990,,,
1069M02_02_11_08,655,8,7,1,266472,243176,232368,236990,,,
1069M02_02_11_09,654,8,7,1,266472,272810,262002,236990,,,
1069M02_02_11_10,653,8,7,1,266472,304047,293239,236990,,,
1069M02_02_11_11,652,8,7,1,266472,334171,323363,236990,,,
1069M02_02_11_12,651,8,7,1,266472,364598,353790,236990,,,
1069M02_02_11_13,650,8,7,1,266472,395966,385158,236990,,,
1069M02_02_11_14,649,8,7,1,266472,426225,415417,236990,,,
1069M02_02_11_15,648,8,7,1,266472,456806,445998,236990,,,
1069M02_02_11_16,647,8,7,1,266472,486935,476127,236990,,,
1069M02_02_11_17,646,8,7,1,266472,517901,507093,236990,,,
1069M02_02_21_01,645,8,7,1,266472,548212,537404,236990,,,
1069M02_02_21_02,644,8,7,1,266472,578535,567727,236990,,,
1069M02_02_21_03,643,8,7,1,266472,609181,598373,236990,,,
1069M02_02_21_04,642,8,7,1,266472,639797,628989,236990,,,
1069M02_02_21_05,641,8,7,1,266472,670830,660022,236990,,,
1069M02_02_21_06,640,8,7,1,266472,700482,689674,236990,,,
1069M02_02_21_07,639,8,7,1,266472,731209,720401,236990,,,
1069M02_02_21_08,638,8,7,1,266472,761235,750427,236990,,,
1069M02_02_21_09,637,8,7,1,266472,792932,782124,236990,,,
1069M02_02_21_10,636,8,7,1,266472,822789,811981,236990,,,
1069M02_02_21_11,635,8,7,1,266472,853455,842647,236990,,,
1069M02_02_21_12,634,8,7,1,266472,884758,873950,236990,,,
1069M02_02_21_13,633,8,7,1,266472,914255,903447,236990,,,
1069M02_02_21_14,632,8,7,1,266472,945267,934459,236990,,,
1069M02_02_21_15,631,8,7,1,266472,975145,964337,236990,,,
1069M02_02_21_16,630,8,7,1,266472,1005398,994590,236990,,,
1069M02_02_21_17,629,8,7,1,266472,1036262,1025454,236990,,,
1069M02_02_31_01,628,8,7,1,266472,1067501,1056693,236990,,,
1069M02_02_31_02,627,8,7,1,266472,1098671,1087863,236990,,,
1069M02_02_31_03,626,8,7,1,266472,1128943,1118135,236990,,,
1069M02_02_31_04,625,8,7,1,266472,1159727,1148919,236990,,,
1069M02_02_31_05,624,8,7,1,266472,1189654,1178846,236990,,,
1069M02_02_31_06,623,8,7,1,266472,1220585,1209777,236990,,,
1069M02_02_31_07,622,8,7,1,266472,1250968,1240160,236990,,,
1069M02_02_31_08,621,8,7,1,266472,1281772,1270964,236990,,,
1069M02_02_31_09,620,8,7,1,266472,1312111,1301303,236990,,,
1069M02_02_31_10,619,8,7,1,266472,1342123,1331315,236990,,,
1069M02_02_31_11,618,8,7,1,266472,1373376,1362568,236990,,,
1069M02_02_31_12,617,8,7,1,266472,1404022,1393214,236990,,,
1069M02_02_31_13,616,8,7,1,266472,1434300,1423492,236990,,,
1069M02_02_31_14,615,8,7,1,266472,1465179,1454371,236990,,,
1069M02_02_31_15,614,8,7,1,266472,1494848,1484040,236990,,,
1069M02_02_31_16,613,8,7,1,266472,1526087,1515279,236990,,,
1069M02_02_31_17,612,8,7,1,266472,1555648,1544840,236990,,,
1069M02_02_41_01,611,8,7,1,266472,1584210,1573402,236990,,,
1069M02_02_41_02,610,8,7,1,266472,1616842,1606034,236990,,,
1069M02_02_41_03,609,8,7,1,266472,1647737,1636929,236990,,,
1069M02_02_41_04,608,8,7,1,266472,1677945,1667137,236990,,,
1069M02_02_41_05,607,8,7,1,266472,1708256,1697448,236990,,,
1069M02_02_41_06,606,8,7,1,266472,1738689,1727881,236990,,,
1069M02_02_41_07,605,8,7,1,266472,1768628,1757820,236990,,,
1069M02_02_41_08,604,8,7,1,266472,1799325,1788517,236990,,,
1069M02_02_41_09,603,8,7,1,266472,1829498,1818690,236990,,,
1069M02_02_41_10,602,8,7,1,266472,1860163,1849355,236990,,,
1069M02_02_41_11,601,8,7,1,266472,1890438,1879630,236990,,,
1069M02_02_41_12,600,8,7,1,266472,1921075,1910267,236990,,,
1069M02_02_41_13,599,8,7,1,266472,1951060,1940252,236990,,,
1069M02_02_41_14,598,8,7,1,266472,1982399,1971591,236990,,,
1069M02_02_41_15,597,8,7,1,266472,2012330,2001522,236990,,,
1069M02_02_41_16,596,8,7,1,266472,2042193,2031385,236990,,,
1069M02_02_12_01,595,8,7,1,289159,29412,18604,236990,,,
1069M02_02_12_02,594,8,7,1,289159,60089,49281,236990,,,
1069M02_02_12_03,593,8,7,1,289159,90502,79694,236990,,,
1069M02_02_12_04,592,8,7,1,289159,121421,110613,236990,,,
1069M02_02_12_05,591,8,7,1,289159,150984,140176,236990,,,
1069M02_02_12_06,590,8,7,1,289159,182299,171491,236990,,,
1069M02_02_12_07,589,8,7,1,289159,211626,200818,236990,,,
1069M02_02_12_08,588,8,7,1,289159,243176,232368,236990,,,
1069M02_02_12_09,587,8,7,1,289159,272810,262002,236990,,,
1069M02_02_12_10,586,8,7,1,289159,304047,293239,236990,,,
1069M02_02_12_11,585,8,7,1,289159,334171,323363,236990,,,
1069M02_02_12_12,584,8,7,1,289159,364598,353790,236990,,,
1069M02_02_12_13,583,8,7,1,289159,395966,385158,236990,,,
1069M02_02_12_14,582,8,7,1,289159,426225,415417,236990,,,
1069M02_02_12_15,581,8,7,1,289159,456806,445998,236990,,,
1069M02_02_12_16,580,8,7,1,289159,486935,476127,236990,,,
1069M02_02_12_17,579,8,7,1,289159,517901,507093,236990,,,
1069M02_02_22_01,578,8,7,1,289159,548212,537404,236990,,,
1069M02_02_22_02,577,8,7,1,289159,578535,567727,236990,,,
1069M02_02_22_03,576,8,7,1,289159,609181,598373,236990,,,
1069M02_02_22_04,575,8,7,1,289159,639797,628989,236990,,,
1069M02_02_22_05,574,8,7,1,289159,670830,660022,236990,,,
1069M02_02_22_06,573,8,7,1,289159,700482,689674,236990,,,
1069M02_02_22_07,572,8,7,1,289159,731209,720401,236990,,,
1069M02_02_22_08,571,8,7,1,289159,761235,750427,236990,,,
1069M02_02_22_09,570,8,7,1,289159,792932,782124,236990,,,
1069M02_02_22_10,569,8,7,1,289159,822789,811981,236990,,,
1069M02_02_22_11,568,8,7,1,289159,853455,842647,236990,,,
1069M02_02_22_12,567,8,7,1,289159,884758,873950,236990,,,
1069M02_02_22_13,566,8,7,1,289159,914255,903447,236990,,,
1069M02_02_22_14,565,8,7,1,289159,945267,934459,236990,,,
1069M02_02_22_15,564,8,7,1,289159,975145,964337,236990,,,
1069M02_02_22_16,563,8,7,1,289159,1005398,994590,236990,,,
1069M02_02_22_17,562,8,7,1,289159,1036262,1025454,236990,,,
1069M02_02_32_01,561,8,7,1,289159,1067501,1056693,236990,,,
1069M02_02_32_02,560,8,7,1,289159,1098671,1087863,236990,,,
1069M02_02_32_03,559,8,7,1,289159,1128943,1118135,236990,,,
1069M02_02_32_04,558,8,7,1,289159,1159727,1148919,236990,,,
1069M02_02_32_05,557,8,7,1,289159,1189654,1178846,236990,,,
1069M02_02_32_06,556,8,7,1,289159,1220585,1209777,236990,,,
1069M02_02_32_07,555,8,7,1,289159,1250968,1240160,236990,,,
1069M02_02_32_08,554,8,7,1,289159,1281772,1270964,236990,,,
1069M02_02_32_09,553,8,7,1,289159,1312111,1301303,236990,,,
1069M02_02_32_10,552,8,7,1,289159,1342123,1331315,236990,,,
1069M02_02_32_11,551,8,7,1,289159,1373376,1362568,236990,,,
1069M02_02_32_12,550,8,7,1,289159,1404022,1393214,236990,,,
1069M02_02_32_13,549,8,7,1,289159,1434300,1423492,236990,,,
1069M02_02_32_14,548,8,7,1,289159,1465179,1454371,236990,,,
1069M02_02_32_15,547,8,7,1,289159,1494848,1484040,236990,,,
1069M02_02_32_16,546,8,7,1,289159,1526087,1515279,236990,,,
1069M02_02_32_17,545,8,7,1,289159,1555648,1544840,236990,,,
1069M02_02_42_01,544,8,7,1,289159,1584210,1573402,236990,,,
1069M02_02_42_02,543,8,7,1,289159,1616842,1606034,236990,,,
1069M02_02_42_03,542,8,7,1,289159,1647737,1636929,236990,,,
1069M02_02_42_04,541,8,7,1,289159,1677945,1667137,236990,,,
1069M02_02_42_05,540,8,7,1,289159,1708256,1697448,236990,,,
1069M02_02_42_06,539,8,7,1,289159,1738689,1727881,236990,,,
1069M02_02_42_07,538,8,7,1,289159,1768628,1757820,236990,,,
1069M02_02_42_08,537,8,7,1,289159,1799325,1788517,236990,,,
1069M02_02_42_09,536,8,7,1,289159,1829498,1818690,236990,,,
1069M02_02_42_10,535,8,7,1,289159,1860163,1849355,236990,,,
1069M02_02_42_11,534,8,7,1,289159,1890438,1879630,236990,,,
1069M02_02_42_12,533,8,7,1,289159,1921075,1910267,236990,,,
1069M02_02_42_13,532,8,7,1,289159,1951060,1940252,236990,,,
1069M02_02_42_14,531,8,7,1,289159,1982399,1971591,236990,,,
1069M02_02_42_15,530,8,7,1,289159,2012330,2001522,236990,,,
1069M02_02_42_16,529,8,7,1,289159,2042193,2031385,236990,,,
1069M02_03_11_01,528,8,7,1,313416,31228,20420,236990,,,
1069M02_03_11_02,527,8,7,1,313416,61946,51138,236990,,,
1069M02_03_11_03,526,8,7,1,313416,91727,80919,236990,,,
1069M02_03_11_04,525,8,7,1,313416,122512,111704,236990,,,
1069M02_03_11_05,524,8,7,1,313416,153169,142361,236990,,,
1069M02_03_11_06,523,8,7,1,313416,183571,172763,236990,,,
1069M02_03_11_07,522,8,7,1,313416,213902,203094,236990,,,
1069M02_03_11_08,521,8,7,1,313416,244310,233502,236990,,,
1069M02_03_11_09,520,8,7,1,313416,274868,264060,236990,,,
1069M02_03_11_10,519,8,7,1,313416,305465,294657,236990,,,
1069M02_03_11_11,518,8,7,1,313416,336084,325276,236990,,,
1069M02_03_11_12,517,8,7,1,313416,366318,355510,236990,,,
1069M02_03_11_13,516,8,7,1,313416,397175,386367,236990,,,
1069M02_03_11_14,515,8,7,1,313416,427718,416910,236990,,,
1069M02_03_11_15,514,8,7,1,313416,458119,447311,236990,,,
1069M02_03_11_16,513,8,7,1,313416,487997,477189,236990,,,
1069M02_03_11_17,512,8,7,1,313416,519421,508613,236990,,,
1069M02_03_21_01,511,8,7,1,313416,547956,537148,236990,,,
1069M02_03_21_02,510,8,7,1,313416,578950,568142,236990,,,
1069M02_03_21_03,509,8,7,1,313416,609267,598459,236990,,,
1069M02_03_21_04,508,8,7,1,313416,639833,629025,236990,,,
1069M02_03_21_05,507,8,7,1,313416,669837,659029,236990,,,
1069M02_03_21_06,506,8,7,1,313416,700548,689740,236990,,,
1069M02_03_21_07,505,8,7,1,313416,731548,720740,236990,,,
1069M02_03_21_08,504,8,7,1,313416,761706,750898,236990,,,
1069M02_03_21_09,503,8,7,1,313416,792233,781425,236990,,,
1069M02_03_21_10,502,8,7,1,313416,822418,811610,236990,,,
1069M02_03_21_11,501,8,7,1,313416,853210,842402,236990,,,
1069M02_03_21_12,500,8,7,1,313416,883642,872834,236990,,,
1069M02_03_21_13,499,8,7,1,313416,913824,903016,236990,,,
1069M02_03_21_14,498,8,7,1,313416,944410,933602,236990,,,
1069M02_03_21_15,497,8,7,1,313416,975670,964862,236990,,,
1069M02_03_21_16,496,8,7,1,313416,1005371,994563,236990,,,
1069M02_03_21_17,495,8,7,1,313416,1035990,1025182,236990,,,
1069M02_03_31_01,494,8,7,1,313416,1068012,1057204,236990,,,
1069M02_03_31_02,493,8,7,1,313416,1098281,1087473,236990,,,
1069M02_03_31_03,492,8,7,1,313416,1129612,1118804,236990,,,
1069M02_03_31_04,491,8,7,1,313416,1159719,1148911,236990,,,
1069M02_03_31_05,490,8,7,1,313416,1190376,1179568,236990,,,
1069M02_03_31_06,489,8,7,1,313416,1220856,1210048,236990,,,
1069M02_03_31_07,488,8,7,1,313416,1250868,1240060,236990,,,
1069M02_03_31_08,487,8,7,1,313416,1280676,1269868,236990,,,
1069M02_03_31_09,486,8,7,1,313416,1311143,1300335,236990,,,
1069M02_03_31_10,485,8,7,1,313416,1342024,1331216,236990,,,
1069M02_03_31_11,484,8,7,1,313416,1372805,1361997,236990,,,
1069M02_03_31_12,483,8,7,1,313416,1403269,1392461,236990,,,
1069M02_03_31_13,482,8,7,1,313416,1433742,1422934,236990,,,
1069M02_03_31_14,481,8,7,1,313416,1464688,1453880,236990,,,
1069M02_03_31_15,480,8,7,1,313416,1494320,1483512,236990,,,
1069M02_03_31_16,479,8,7,1,313416,1524408,1513600,236990,,,
1069M02_03_31_17,478,8,7,1,313416,1555379,1544571,236990,,,
1069M02_03_41_01,477,8,7,1,313416,1585838,1575030,236990,,,
1069M02_03_41_02,476,8,7,1,313416,1616213,1605405,236990,,,
1069M02_03_41_03,475,8,7,1,313416,1646712,1635904,236990,,,
1069M02_03_41_04,474,8,7,1,313416,1676360,1665552,236990,,,
1069M02_03_41_05,473,8,7,1,313416,1706533,1695725,236990,,,
1069M02_03_41_06,472,8,7,1,313416,1737279,1726471,236990,,,
1069M02_03_41_07,471,8,7,1,313416,1768095,1757287,236990,,,
1069M02_03_41_08,470,8,7,1,313416,1798331,1787523,236990,,,
1069M02_03_41_09,469,8,7,1,313416,1828573,1817765,236990,,,
1069M02_03_41_10,468,8,7,1,313416,1858922,1848114,236990,,,
1069M02_03_41_11,467,8,7,1,313416,1890121,1879313,236990,,,
1069M02_03_41_12,466,8,7,1,313416,1920204,1909396,236990,,,
1069M02_03_41_13,465,8,7,1,313416,1951279,1940471,236990,,,
1069M02_03_41_14,464,8,7,1,313416,1981641,1970833,236990,,,
1069M02_03_41_15,463,8,7,1,313416,2011521,2000713,236990,,,
1069M02_03_41_16,462,8,7,1,313416,2042310,2031502,236990,,,
1069M02_03_12_01,461,8,7,1,336078,31228,20420,236990,,,
1069M02_03_12_02,460,8,7,1,336078,61946,51138,236990,,,
1069M02_03_12_03,459,8,7,1,336078,91727,80919,236990,,,
1069M02_03_12_04,458,8,7,1,336078,122512,111704,236990,,,
1069M02_03_12_05,457,8,7,1,336078,153169,142361,236990,,,
1069M02_03_12_06,456,8,7,1,336078,183571,172763,236990,,,
1069M02_03_12_07,455,8,7,1,336078,213902,203094,236990,,,
1069M02_03_12_08,454,8,7,1,336078,244310,233502,236990,,,
1069M02_03_12_09,453,8,7,1,336078,274868,264060,236990,,,
1069M02_03_12_10,452,8,7,1,336078,305465,294657,236990,,,
1069M02_03_12_11,451,8,7,1,336078,336084,325276,236990,,,
1069M02_03_12_12,450,8,7,1,336078,366318,355510,236990,,,
1069M02_03_12_13,449,8,7,1,336078,397175,386367,236990,,,
1069M02_03_12_14,448,8,7,1,336078,427718,416910,236990,,,
1069M02_03_12_15,447,8,7,1,336078,458119,447311,236990,,,
1069M02_03_12_16,446,8,7,1,336078,487997,477189,236990,,,
1069M02_03_12_17,445,8,7,1,336078,519421,508613,236990,,,
1069M02_03_22_01,444,8,7,1,336078,547956,537148,236990,,,
1069M02_03_22_02,443,8,7,1,336078,578950,568142,236990,,,
1069M02_03_22_03,442,8,7,1,336078,609267,598459,236990,,,
1069M02_03_22_04,441,8,7,1,336078,639833,629025,236990,,,
1069M02_03_22_05,440,8,7,1,336078,669837,659029,236990,,,
1069M02_03_22_06,439,8,7,1,336078,700548,689740,236990,,,
1069M02_03_22_07,438,8,7,1,336078,731548,720740,236990,,,
1069M02_03_22_08,437,8,7,1,336078,761706,750898,236990,,,
1069M02_03_22_09,436,8,7,1,336078,792233,781425,236990,,,
1069M02_03_22_10,435,8,7,1,336078,822418,811610,236990,,,
1069M02_03_22_11,434,8,7,1,336078,853210,842402,236990,,,
1069M02_03_22_12,433,8,7,1,336078,883642,872834,236990,,,
1069M02_03_22_13,432,8,7,1,336078,913824,903016,236990,,,
1069M02_03_22_14,431,8,7,1,336078,944410,933602,236990,,,
1069M02_03_22_15,430,8,7,1,336078,975670,964862,236990,,,
1069M02_03_22_16,429,8,7,1,336078,1005371,994563,236990,,,
1069M02_03_22_17,428,8,7,1,336078,1035990,1025182,236990,,,
1069M02_03_32_01,427,8,7,1,336078,1068012,1057204,236990,,,
1069M02_03_32_02,426,8,7,1,336078,1098281,1087473,236990,,,
1069M02_03_32_03,425,8,7,1,336078,1129612,1118804,236990,,,
1069M02_03_32_04,424,8,7,1,336078,1159719,1148911,236990,,,
1069M02_03_32_05,423,8,7,1,336078,1190376,1179568,236990,,,
1069M02_03_32_06,422,8,7,1,336078,1220856,1210048,236990,,,
1069M02_03_32_07,421,8,7,1,336078,1250868,1240060,236990,,,
1069M02_03_32_08,420,8,7,1,336078,1280676,1269868,236990,,,
1069M02_03_32_09,419,8,7,1,336078,1311143,1300335,236990,,,
1069M02_03_32_10,418,8,7,1,336078,1342024,1331216,236990,,,
1069M02_03_32_11,417,8,7,1,336078,1372805,1361997,236990,,,
1069M02_03_32_12,416,8,7,1,336078,1403269,1392461,236990,,,
1069M02_03_32_13,415,8,7,1,336078,1433742,1422934,236990,,,
1069M02_03_32_14,414,8,7,1,336078,1464688,1453880,236990,,,
1069M02_03_32_15,413,8,7,1,336078,1494320,1483512,236990,,,
1069M02_03_32_16,412,8,7,1,336078,1524408,1513600,236990,,,
1069M02_03_32_17,411,8,7,1,336078,1555379,1544571,236990,,,
1069M02_03_42_01,410,8,7,1,336078,1585838,1575030,236990,,,
1069M02_03_42_02,409,8,7,1,336078,1616213,1605405,236990,,,
1069M02_03_42_03,408,8,7,1,336078,1646712,1635904,236990,,,
1069M02_03_42_04,407,8,7,1,336078,1676360,1665552,236990,,,
1069M02_03_42_05,406,8,7,1,336078,1706533,1695725,236990,,,
1069M02_03_42_06,405,8,7,1,336078,1737279,1726471,236990,,,
1069M02_03_42_07,404,8,7,1,336078,1768095,1757287,236990,,,
1069M02_03_42_08,403,8,7,1,336078,1798331,1787523,236990,,,
1069M02_03_42_09,402,8,7,1,336078,1828573,1817765,236990,,,
1069M02_03_42_10,401,8,7,1,336078,1858922,1848114,236990,,,
1069M02_03_42_11,400,8,7,1,336078,1890121,1879313,236990,,,
1069M02_03_42_12,399,8,7,1,336078,1920204,1909396,236990,,,
1069M02_03_42_13,398,8,7,1,336078,1951279,1940471,236990,,,
1069M02_03_42_14,397,8,7,1,336078,1981641,1970833,236990,,,
1069M02_03_42_15,396,8,7,1,336078,2011521,2000713,236990,,,
1069M02_03_42_16,395,8,7,1,336078,2042310,2031502,236990,,,
1069M02_04_11_01,394,8,7,1,476,30861,20053,236990,,,
1069M02_04_11_02,393,8,7,1,476,61424,50616,236990,,,
1069M02_04_11_03,392,8,7,1,476,92032,81224,236990,,,
1069M02_04_11_04,391,8,7,1,476,122982,112174,236990,,,
1069M02_04_11_05,390,8,7,1,476,152428,141620,236990,,,
1069M02_04_11_06,389,8,7,1,476,183282,172474,236990,,,
1069M02_04_11_07,388,8,7,1,476,214225,203417,236990,,,
1069M02_04_11_08,387,8,7,1,476,244689,233881,236990,,,
1069M02_04_11_09,386,8,7,1,476,274793,263985,236990,,,
1069M02_04_11_10,385,8,7,1,476,305581,294773,236990,,,
1069M02_04_11_11,384,8,7,1,476,336359,325551,236990,,,
1069M02_04_11_12,383,8,7,1,476,367463,356655,236990,,,
1069M02_04_11_13,382,8,7,1,476,397172,386364,236990,,,
1069M02_04_11_14,381,8,7,1,476,427788,416980,236990,,,
1069M02_04_11_15,380,8,7,1,476,457968,447160,236990,,,
1069M02_04_11_16,379,8,7,1,476,489517,478709,236990,,,
1069M02_04_11_17,378,8,7,1,476,519589,508781,236990,,,
1069M02_04_21_01,377,8,7,1,476,549110,538302,236990,,,
1069M02_04_21_02,376,8,7,1,476,579819,569011,236990,,,
1069M02_04_21_03,375,8,7,1,476,610361,599553,236990,,,
1069M02_04_21_04,374,8,7,1,476,641257,630449,236990,,,
1069M02_04_21_05,373,8,7,1,476,672594,661786,236990,,,
1069M02_04_21_06,372,8,7,1,476,703171,692363,236990,,,
1069M02_04_21_07,371,8,7,1,476,733791,722983,236990,,,
1069M02_04_21_08,370,8,7,1,476,763875,753067,236990,,,
1069M02_04_21_09,369,8,7,1,476,794350,783542,236990,,,
1069M02_04_21_10,368,8,7,1,476,823686,812878,236990,,,
1069M02_04_21_11,367,8,7,1,476,854883,844075,236990,,,
1069M02_04_21_12,366,8,7,1,476,885342,874534,236990,,,
1069M02_04_21_13,365,8,7,1,476,916677,905869,236990,,,
1069M02_04_21_14,364,8,7,1,476,946830,936022,236990,,,
1069M02_04_21_15,363,8,7,1,476,976549,965741,236990,,,
1069M02_04_21_16,362,8,7,1,476,1007505,996697,236990,,,
1069M02_04_21_17,361,8,7,1,476,1037678,1026870,236990,,,
1069M02_04_31_01,360,8,7,1,476,1068295,1057487,236990,,,
1069M02_04_31_02,359,8,7,1,476,1099077,1088269,236990,,,
1069M02_04_31_03,358,8,7,1,476,1130160,1119352,236990,,,
1069M02_04_31_04,357,8,7,1,476,1161277,1150469,236990,,,
1069M02_04_31_05,356,8,7,1,476,1191348,1180540,236990,,,
1069M02_04_31_06,355,8,7,1,476,1221680,1210872,236990,,,
1069M02_04_31_07,354,8,7,1,476,1252132,1241324,236990,,,
1069M02_04_31_08,353,8,7,1,476,1282926,1272118,236990,,,
1069M02_04_31_09,352,8,7,1,476,1313396,1302588,236990,,,
1069M02_04_31_10,351,8,7,1,476,1343782,1332974,236990,,,
1069M02_04_31_11,350,8,7,1,476,1374510,1363702,236990,,,
1069M02_04_31_12,349,8,7,1,476,1405043,1394235,236990,,,
1069M02_04_31_13,348,8,7,1,476,1435645,1424837,236990,,,
1069M02_04_31_14,347,8,7,1,476,1466104,1455296,236990,,,
1069M02_04_31_15,346,8,7,1,476,1495652,1484844,236990,,,
1069M02_04_31_16,345,8,7,1,476,1526166,1515358,236990,,,
1069M02_04_31_17,344,8,7,1,476,1555975,1545167,236990,,,
1069M02_04_41_01,343,8,7,1,476,1584077,1573269,236990,,,
1069M02_04_41_02,342,8,7,1,476,1615544,1604736,236990,,,
1069M02_04_41_03,341,8,7,1,476,1646166,1635358,236990,,,
1069M02_04_41_04,340,8,7,1,476,1676712,1665904,236990,,,
1069M02_04_41_05,339,8,7,1,476,1708050,1697242,236990,,,
1069M02_04_41_06,338,8,7,1,476,1738657,1727849,236990,,,
1069M02_04_41_07,337,8,7,1,476,1768554,1757746,236990,,,
1069M02_04_41_08,336,8,7,1,476,1798958,1788150,236990,,,
1069M02_04_41_09,335,8,7,1,476,1828931,1818123,236990,,,
1069M02_04_41_10,334,8,7,1,476,1860545,1849737,236990,,,
1069M02_04_41_11,333,8,7,1,476,1889618,1878810,236990,,,
1069M02_04_41_12,332,8,7,1,476,1921047,1910239,236990,,,
1069M02_04_41_13,331,8,7,1,476,1951449,1940641,236990,,,
1069M02_04_41_14,330,8,7,1,476,1981646,1970838,236990,,,
1069M02_04_41_15,329,8,7,1,476,2012009,2001201,236990,,,
1069M02_04_41_16,328,8,7,1,476,2042585,2031777,236990,,,
1069M02_04_12_01,327,8,7,1,23170,30861,20053,236990,,,
1069M02_04_12_02,326,8,7,1,23170,61424,50616,236990,,,
1069M02_04_12_03,325,8,7,1,23170,92032,81224,236990,,,
1069M02_04_12_04,324,8,7,1,23170,122982,112174,236990,,,
1069M02_04_12_05,323,8,7,1,23170,152428,141620,236990,,,
1069M02_04_12_06,322,8,7,1,23170,183282,172474,236990,,,
1069M02_04_12_07,321,8,7,1,23170,214225,203417,236990,,,
1069M02_04_12_08,320,8,7,1,23170,244689,233881,236990,,,
1069M02_04_12_09,319,8,7,1,23170,274793,263985,236990,,,
1069M02_04_12_10,318,8,7,1,23170,305581,294773,236990,,,
1069M02_04_12_11,317,8,7,1,23170,336359,325551,236990,,,
1069M02_04_12_12,316,8,7,1,23170,367463,356655,236990,,,
1069M02_04_12_13,315,8,7,1,23170,397172,386364,236990,,,
1069M02_04_12_14,314,8,7,1,23170,427788,416980,236990,,,
1069M02_04_12_15,313,8,7,1,23170,457968,447160,236990,,,
1069M02_04_12_16,312,8,7,1,23170,489517,478709,236990,,,
1069M02_04_12_17,311,8,7,1,23170,519589,508781,236990,,,
1069M02_04_22_01,310,8,7,1,23170,549110,538302,236990,,,
1069M02_04_22_02,309,8,7,1,23170,579819,569011,236990,,,
1069M02_04_22_03,308,8,7,1,23170,610361,599553,236990,,,
1069M02_04_22_04,307,8,7,1,23170,641257,630449,236990,,,
1069M02_04_22_05,306,8,7,1,23170,672594,661786,236990,,,
1069M02_04_22_06,305,8,7,1,23170,703171,692363,236990,,,
1069M02_04_22_07,304,8,7,1,23170,733791,722983,236990,,,
1069M02_04_22_08,303,8,7,1,23170,763875,753067,236990,,,
1069M02_04_22_09,302,8,7,1,23170,794350,783542,236990,,,
1069M02_04_22_10,301,8,7,1,23170,823686,812878,236990,,,
1069M02_04_22_11,300,8,7,1,23170,854883,844075,236990,,,
1069M02_04_22_12,299,8,7,1,23170,885342,874534,236990,,,
1069M02_04_22_13,298,8,7,1,23170,916677,905869,236990,,,
1069M02_04_22_14,297,8,7,1,23170,946830,936022,236990,,,
1069M02_04_22_15,296,8,7,1,23170,976549,965741,236990,,,
1069M02_04_22_16,295,8,7,1,23170,1007505,996697,236990,,,
1069M02_04_22_17,294,8,7,1,23170,1037678,1026870,236990,,,
1069M02_04_32_01,293,8,7,1,23170,1068295,1057487,236990,,,
1069M02_04_32_02,292,8,7,1,23170,1099077,1088269,236990,,,
1069M02_04_32_03,291,8,7,1,23170,1130160,1119352,236990,,,
1069M02_04_32_04,290,8,7,1,23170,1161277,1150469,236990,,,
1069M02_04_32_05,289,8,7,1,23170,1191348,1180540,236990,,,
1069M02_04_32_06,288,8,7,1,23170,1221680,1210872,236990,,,
1069M02_04_32_07,287,8,7,1,23170,1252132,1241324,236990,,,
1069M02_04_32_08,286,8,7,1,23170,1282926,1272118,236990,,,
1069M02_04_32_09,285,8,7,1,23170,1313396,1302588,236990,,,
1069M02_04_32_10,284,8,7,1,23170,1343782,1332974,236990,,,
1069M02_04_32_11,283,8,7,1,23170,1374510,1363702,236990,,,
1069M02_04_32_12,282,8,7,1,23170,1405043,1394235,236990,,,
1069M02_04_32_13,281,8,7,1,23170,1435645,1424837,236990,,,
1069M02_04_32_14,280,8,7,1,23170,1466104,1455296,236990,,,
1069M02_04_32_15,279,8,7,1,23170,1495652,1484844,236990,,,
1069M02_04_32_16,278,8,7,1,23170,1526166,1515358,236990,,,
1069M02_04_32_17,277,8,7,1,23170,1555975,1545167,236990,,,
1069M02_04_42_01,276,8,7,1,23170,1584077,1573269,236990,,,
1069M02_04_42_02,275,8,7,1,23170,1615544,1604736,236990,,,
1069M02_04_42_03,274,8,7,1,23170,1646166,1635358,236990,,,
1069M02_04_42_04,273,8,7,1,23170,1676712,1665904,236990,,,
1069M02_04_42_05,272,8,7,1,23170,1708050,1697242,236990,,,
1069M02_04_42_06,271,8,7,1,23170,1738657,1727849,236990,,,
1069M02_04_42_07,270,8,7,1,23170,1768554,1757746,236990,,,
1069M02_04_42_08,269,8,7,1,23170,1798958,1788150,236990,,,
1069M02_04_42_09,268,8,7,1,23170,1828931,1818123,236990,,,
1069M02_04_42_10,267,8,7,1,23170,1860545,1849737,236990,,,
1069M02_04_42_11,266,8,7,1,23170,1889618,1878810,236990,,,
1069M02_04_42_12,265,8,7,1,23170,1921047,1910239,236990,,,
1069M02_04_42_13,264,8,7,1,23170,1951449,1940641,236990,,,
1069M02_04_42_14,263,8,7,1,23170,1981646,1970838,236990,,,
1069M02_04_42_15,262,8,7,1,23170,2012009,2001201,236990,,,
1069M02_04_42_16,261,8,7,1,23170,2042585,2031777,236990,,,
1069M02_05_11_01,260,8,7,1,47435,30363,19555,236990,,,
1069M02_05_11_02,259,8,7,1,47435,60590,49782,236990,,,
1069M02_05_11_03,258,8,7,1,47435,91232,80424,236990,,,
1069M02_05_11_04,257,8,7,1,47435,121519,110711,236990,,,
1069M02_05_11_05,256,8,7,1,47435,152310,141502,236990,,,
1069M02_05_11_06,255,8,7,1,47435,182856,172048,236990,,,
1069M02_05_11_07,254,8,7,1,47435,213418,202610,236990,,,
1069M02_05_11_08,253,8,7,1,47435,244278,233470,236990,,,
1069M02_05_11_09,252,8,7,1,47435,274596,263788,236990,,,
1069M02_05_11_10,251,8,7,1,47435,304781,293973,236990,,,
1069M02_05_11_11,250,8,7,1,47435,336947,326139,236990,,,
1069M02_05_11_12,249,8,7,1,47435,365868,355060,236990,,,
1069M02_05_11_13,248,8,7,1,47435,396538,385730,236990,,,
1069M02_05_11_14,247,8,7,1,47435,428075,417267,236990,,,
1069M02_05_11_15,246,8,7,1,47435,457282,446474,236990,,,
1069M02_05_11_16,245,8,7,1,47435,487600,476792,236990,,,
1069M02_05_11_17,244,8,7,1,47435,518333,507525,236990,,,
1069M02_05_21_01,243,8,7,1,47435,549232,538424,236990,,,
1069M02_05_21_02,242,8,7,1,47435,580397,569589,236990,,,
1069M02_05_21_03,241,8,7,1,47435,611072,600264,236990,,,
1069M02_05_21_04,240,8,7,1,47435,641218,630410,236990,,,
1069M02_05_21_05,239,8,7,1,47435,672227,661419,236990,,,
1069M02_05_21_06,238,8,7,1,47435,702318,691510,236990,,,
1069M02_05_21_07,237,8,7,1,47435,732958,722150,236990,,,
1069M02_05_21_08,236,8,7,1,47435,764125,753317,236990,,,
1069M02_05_21_09,235,8,7,1,47435,794297,783489,236990,,,
1069M02_05_21_10,234,8,7,1,47435,824476,813668,236990,,,
1069M02_05_21_11,233,8,7,1,47435,855348,844540,236990,,,
1069M02_05_21_12,232,8,7,1,47435,885915,875107,236990,,,
1069M02_05_21_13,231,8,7,1,47435,916241,905433,236990,,,
1069M02_05_21_14,230,8,7,1,47435,946738,935930,236990,,,
1069M02_05_21_15,229,8,7,1,47435,977301,966493,236990,,,
1069M02_05_21_16,228,8,7,1,47435,1007768,996960,236990,,,
1069M02_05_21_17,227,8,7,1,47435,1037834,1027026,236990,,,
1069M02_05_31_01,226,8,7,1,47435,1068770,1057962,236990,,,
1069M02_05_31_02,225,8,7,1,47435,1099079,1088271,236990,,,
1069M02_05_31_03,224,8,7,1,47435,1128576,1117768,236990,,,
1069M02_05_31_04,223,8,7,1,47435,1159745,1148937,236990,,,
1069M02_05_31_05,222,8,7,1,47435,1189841,1179033,236990,,,
1069M02_05_31_06,221,8,7,1,47435,1220631,1209823,236990,,,
1069M02_05_31_07,220,8,7,1,47435,1250946,1240138,236990,,,
1069M02_05_31_08,219,8,7,1,47435,1281453,1270645,236990,,,
1069M02_05_31_09,218,8,7,1,47435,1312020,1301212,236990,,,
1069M02_05_31_10,217,8,7,1,47435,1342335,1331527,236990,,,
1069M02_05_31_11,216,8,7,1,47435,1372912,1362104,236990,,,
1069M02_05_31_12,215,8,7,1,47435,1403328,1392520,236990,,,
1069M02_05_31_13,214,8,7,1,47435,1434212,1423404,236990,,,
1069M02_05_31_14,213,8,7,1,47435,1464707,1453899,236990,,,
1069M02_05_31_15,212,8,7,1,47435,1495284,1484476,236990,,,
1069M02_05_31_16,211,8,7,1,47435,1525520,1514712,236990,,,
1069M02_05_31_17,210,8,7,1,47435,1555608,1544800,236990,,,
1069M02_05_41_01,209,8,7,1,47435,1585861,1575053,236990,,,
1069M02_05_41_02,208,8,7,1,47435,1616319,1605511,236990,,,
1069M02_05_41_03,207,8,7,1,47435,1646726,1635918,236990,,,
1069M02_05_41_04,206,8,7,1,47435,1677656,1666848,236990,,,
1069M02_05_41_05,205,8,7,1,47435,1708528,1697720,236990,,,
1069M02_05_41_06,204,8,7,1,47435,1738254,1727446,236990,,,
1069M02_05_41_07,203,8,7,1,47435,1769677,1758869,236990,,,
1069M02_05_41_08,202,8,7,1,47435,1800378,1789570,236990,,,
1069M02_05_41_09,201,8,7,1,47435,1829723,1818915,236990,,,
1069M02_05_41_10,200,8,7,1,47435,1860650,1849842,236990,,,
1069M02_05_41_11,199,8,7,1,47435,1890643,1879835,236990,,,
1069M02_05_41_12,198,8,7,1,47435,1921160,1910352,236990,,,
1069M02_05_41_13,197,8,7,1,47435,1952873,1942065,236990,,,
1069M02_05_41_14,196,8,7,1,47435,1983022,1972214,236990,,,
1069M02_05_41_15,195,8,7,1,47435,2013571,2002763,236990,,,
1069M02_05_41_16,194,8,7,1,47435,2043854,2033046,236990,,,
1069M02_05_12_01,193,8,7,1,70150,30363,19555,236990,,,
1069M02_05_12_02,192,8,7,1,70150,60590,49782,236990,,,
1069M02_05_12_03,191,8,7,1,70150,91232,80424,236990,,,
1069M02_05_12_04,190,8,7,1,70150,121519,110711,236990,,,
1069M02_05_12_05,189,8,7,1,70150,152310,141502,236990,,,
1069M02_05_12_06,188,8,7,1,70150,182856,172048,236990,,,
1069M02_05_12_07,187,8,7,1,70150,213418,202610,236990,,,
1069M02_05_12_08,186,8,7,1,70150,244278,233470,236990,,,
1069M02_05_12_09,185,8,7,1,70150,274596,263788,236990,,,
1069M02_05_12_10,184,8,7,1,70150,304781,293973,236990,,,
1069M02_05_12_11,183,8,7,1,70150,336947,326139,236990,,,
1069M02_05_12_12,182,8,7,1,70150,365868,355060,236990,,,
1069M02_05_12_13,181,8,7,1,70150,396538,385730,236990,,,
1069M02_05_12_14,180,8,7,1,70150,428075,417267,236990,,,
1069M02_05_12_15,179,8,7,1,70150,457282,446474,236990,,,
1069M02_05_12_16,178,8,7,1,70150,487600,476792,236990,,,
1069M02_05_12_17,177,8,7,1,70150,518333,507525,236990,,,
1069M02_05_22_01,176,8,7,1,70150,549232,538424,236990,,,
1069M02_05_22_02,175,8,7,1,70150,580397,569589,236990,,,
1069M02_05_22_03,174,8,7,1,70150,611072,600264,236990,,,
1069M02_05_22_04,173,8,7,1,70150,641218,630410,236990,,,
1069M02_05_22_05,172,8,7,1,70150,672227,661419,236990,,,
1069M02_05_22_06,171,8,7,1,70150,702318,691510,236990,,,
1069M02_05_22_07,170,8,7,1,70150,732958,722150,236990,,,
1069M02_05_22_08,169,8,7,1,70150,764125,753317,236990,,,
1069M02_05_22_09,168,8,7,1,70150,794297,783489,236990,,,
1069M02_05_22_10,167,8,7,1,70150,824476,813668,236990,,,
1069M02_05_22_11,166,8,7,1,70150,855348,844540,236990,,,
1069M02_05_22_12,165,8,7,1,70150,885915,875107,236990,,,
1069M02_05_22_13,164,8,7,1,70150,916241,905433,236990,,,
1069M02_05_22_14,163,8,7,1,70150,946738,935930,236990,,,
1069M02_05_22_15,162,8,7,1,70150,977301,966493,236990,,,
1069M02_05_22_16,161,8,7,1,70150,1007768,996960,236990,,,
1069M02_05_22_17,160,8,7,1,70150,1037834,1027026,236990,,,
1069M02_05_32_01,159,8,7,1,70150,1068770,1057962,236990,,,
1069M02_05_32_02,158,8,7,1,70150,1099079,1088271,236990,,,
1069M02_05_32_03,157,8,7,1,70150,1128576,1117768,236990,,,
1069M02_05_32_04,156,8,7,1,70150,1159745,1148937,236990,,,
1069M02_05_32_05,155,8,7,1,70150,1189841,1179033,236990,,,
1069M02_05_32_06,154,8,7,1,70150,1220631,1209823,236990,,,
1069M02_05_32_07,153,8,7,1,70150,1250946,1240138,236990,,,
1069M02_05_32_08,152,8,7,1,70150,1281453,1270645,236990,,,
1069M02_05_32_09,151,8,7,1,70150,1312020,1301212,236990,,,
1069M02_05_32_10,150,8,7,1,70150,1342335,1331527,236990,,,
1069M02_05_32_11,149,8,7,1,70150,1372912,1362104,236990,,,
1069M02_05_32_12,148,8,7,1,70150,1403328,1392520,236990,,,
1069M02_05_32_13,147,8,7,1,70150,1434212,1423404,236990,,,
1069M02_05_32_14,146,8,7,1,70150,1464707,1453899,236990,,,
1069M02_05_32_15,145,8,7,1,70150,1495284,1484476,236990,,,
1069M02_05_32_16,144,8,7,1,70150,1525520,1514712,236990,,,
1069M02_05_32_17,143,8,7,1,70150,1555608,1544800,236990,,,
1069M02_05_42_01,142,8,7,1,70150,1585861,1575053,236990,,,
1069M02_05_42_02,141,8,7,1,70150,1616319,1605511,236990,,,
1069M02_05_42_03,140,8,7,1,70150,1646726,1635918,236990,,,
1069M02_05_42_04,139,8,7,1,70150,1677656,1666848,236990,,,
1069M02_05_42_05,138,8,7,1,70150,1708528,1697720,236990,,,
1069M02_05_42_06,137,8,7,1,70150,1738254,1727446,236990,,,
1069M02_05_42_07,136,8,7,1,70150,1769677,1758869,236990,,,
1069M02_05_42_08,135,8,7,1,70150,1800378,1789570,236990,,,
1069M02_05_42_09,134,8,7,1,70150,1829723,1818915,236990,,,
1069M02_05_42_10,133,8,7,1,70150,1860650,1849842,236990,,,
1069M02_05_42_11,132,8,7,1,70150,1890643,1879835,236990,,,
1069M02_05_42_12,131,8,7,1,70150,1921160,1910352,236990,,,
1069M02_05_42_13,130,8,7,1,70150,1952873,1942065,236990,,,
1069M02_05_42_14,129,8,7,1,70150,1983022,1972214,236990,,,
1069M02_05_42_15,128,8,7,1,70150,2013571,2002763,236990,,,
1069M02_05_42_16,127,8,7,1,70150,2043854,2033046,236990,,,
1069M02_06_11_01,126,8,7,1,94430,153574,142766,236990,,,
1069M02_06_11_02,125,8,7,1,94430,182339,171531,236990,,,
1069M02_06_11_03,124,8,7,1,94430,212171,201363,236990,,,
1069M02_06_11_04,123,8,7,1,94430,242932,232124,236990,,,
1069M02_06_11_05,122,8,7,1,94430,274799,263991,236990,,,
1069M02_06_11_06,121,8,7,1,94430,303702,292894,236990,,,
1069M02_06_11_07,120,8,7,1,94430,334433,323625,236990,,,
1069M02_06_11_08,119,8,7,1,94430,365834,355026,236990,,,
1069M02_06_11_09,118,8,7,1,94430,395850,385042,236990,,,
1069M02_06_11_10,117,8,7,1,94430,427034,416226,236990,,,
1069M02_06_11_11,116,8,7,1,94430,456828,446020,236990,,,
1069M02_06_11_12,115,8,7,1,94430,488288,477480,236990,,,
1069M02_06_11_13,114,8,7,1,94430,517998,507190,236990,,,
1069M02_06_11_14,113,8,7,1,94430,547774,536966,236990,,,
1069M02_06_11_15,112,8,7,1,94430,579381,568573,236990,,,
1069M02_06_11_16,111,8,7,1,94430,609167,598359,236990,,,
1069M02_06_11_17,110,8,7,1,94430,639815,629007,236990,,,
1069M02_06_21_01,109,8,7,1,94430,672192,661384,236990,,,
1069M02_06_21_02,108,8,7,1,94430,701755,690947,236990,,,
1069M02_06_21_03,107,8,7,1,94430,732351,721543,236990,,,
1069M02_06_21_04,106,8,7,1,94430,763819,753011,236990,,,
1069M02_06_21_05,105,8,7,1,94430,794682,783874,236990,,,
1069M02_06_21_06,104,8,7,1,94430,824993,814185,236990,,,
1069M02_06_21_07,103,8,7,1,94430,855250,844442,236990,,,
1069M02_06_21_08,102,8,7,1,94430,885724,874916,236990,,,
1069M02_06_21_09,101,8,7,1,94430,915877,905069,236990,,,
1069M02_06_21_10,100,8,7,1,94430,946782,935974,236990,,,
1069M02_06_21_11,99,8,7,1,94430,976732,965924,236990,,,
1069M02_06_21_12,98,8,7,1,94430,1008281,997473,236990,,,
1069M02_06_21_13,97,8,7,1,94430,1037913,1027105,236990,,,
1069M02_06_21_14,96,8,7,1,94430,1068275,1057467,236990,,,
1069M02_06_21_15,95,8,7,1,94430,1099186,1088378,236990,,,
1069M02_06_21_16,94,8,7,1,94430,1129492,1118684,236990,,,
1069M02_06_21_17,93,8,7,1,94430,1160392,1149584,236990,,,
1069M02_06_31_01,92,8,7,1,94430,1188511,1177703,236990,,,
1069M02_06_31_02,91,8,7,1,94430,1219234,1208426,236990,,,
1069M02_06_31_03,90,8,7,1,94430,1249884,1239076,236990,,,
1069M02_06_31_04,89,8,7,1,94430,1280185,1269377,236990,,,
1069M02_06_31_05,88,8,7,1,94430,1312057,1301249,236990,,,
1069M02_06_31_06,87,8,7,1,94430,1341141,1330333,236990,,,
1069M02_06_31_07,86,8,7,1,94430,1372418,1361610,236990,,,
1069M02_06_31_08,85,8,7,1,94430,1402659,1391851,236990,,,
1069M02_06_31_09,84,8,7,1,94430,1432996,1422188,236990,,,
1069M02_06_31_10,83,8,7,1,94430,1463495,1452687,236990,,,
1069M02_06_31_11,82,8,7,1,94430,1494056,1483248,236990,,,
1069M02_06_31_12,81,8,7,1,94430,1524750,1513942,236990,,,
1069M02_06_31_13,80,8,7,1,94430,1554932,1544124,236990,,,
1069M02_06_31_14,79,8,7,1,94430,1585436,1574628,236990,,,
1069M02_06_31_15,78,8,7,1,94430,1616038,1605230,236990,,,
1069M02_06_31_16,77,8,7,1,94430,1645742,1634934,236990,,,
1069M02_06_31_17,76,8,7,1,94430,1676404,1665596,236990,,,
1069M02_06_41_01,75,8,7,1,94430,1708696,1697888,236990,,,
1069M02_06_41_02,74,8,7,1,94430,1739298,1728490,236990,,,
1069M02_06_41_03,73,8,7,1,94430,1769087,1758279,236990,,,
1069M02_06_41_04,72,8,7,1,94430,1800426,1789618,236990,,,
1069M02_06_41_05,71,8,7,1,94430,1830977,1820169,236990,,,
1069M02_06_41_06,70,8,7,1,94430,1860820,1850012,236990,,,
1069M02_06_41_07,69,8,7,1,94430,1891849,1881041,236990,,,
1069M02_06_41_08,68,8,7,1,94430,1922263,1911455,236990,,,
1069M02_06_41_09,67,8,7,1,94430,1952640,1941832,236990,,,
1069M02_06_41_10,66,8,7,1,94430,1983293,1972485,236990,,,
1069M02_06_41_11,65,8,7,1,94430,2013163,2002355,236990,,,
1069M02_06_41_12,64,8,7,1,94430,2043781,2032973,236990,,,
1069M02_06_12_01,63,8,7,1,117107,153574,142766,236990,,,
1069M02_06_12_02,62,8,7,1,117107,182339,171531,236990,,,
1069M02_06_12_03,61,8,7,1,117107,212171,201363,236990,,,
1069M02_06_12_04,60,8,7,1,117107,242932,232124,236990,,,
1069M02_06_12_05,59,8,7,1,117107,274799,263991,236990,,,
1069M02_06_12_06,58,8,7,1,117107,303702,292894,236990,,,
1069M02_06_12_07,57,8,7,1,117107,334433,323625,236990,,,
1069M02_06_12_08,56,8,7,1,117107,365834,355026,236990,,,
1069M02_06_12_09,55,8,7,1,117107,395850,385042,236990,,,
1069M02_06_12_10,54,8,7,1,117107,427034,416226,236990,,,
1069M02_06_12_11,53,8,7,1,117107,456828,446020,236990,,,
1069M02_06_12_12,52,8,7,1,117107,488288,477480,236990,,,
1069M02_06_12_13,51,8,7,1,117107,517998,507190,236990,,,
1069M02_06_12_14,50,8,7,1,117107,547774,536966,236990,,,
1069M02_06_12_15,49,8,7,1,117107,579381,568573,236990,,,
1069M02_06_12_16,48,8,7,1,117107,609167,598359,236990,,,
1069M02_06_12_17,47,8,7,1,117107,639815,629007,236990,,,
1069M02_06_22_01,46,8,7,1,117107,672192,661384,236990,,,
1069M02_06_22_02,45,8,7,1,117107,701755,690947,236990,,,
1069M02_06_22_03,44,8,7,1,117107,732351,721543,236990,,,
1069M02_06_22_04,43,8,7,1,117107,763819,753011,236990,,,
1069M02_06_22_05,42,8,7,1,117107,794682,783874,236990,,,
1069M02_06_22_06,41,8,7,1,117107,824993,814185,236990,,,
1069M02_06_22_07,40,8,7,1,117107,855250,844442,236990,,,
1069M02_06_22_08,39,8,7,1,117107,885724,874916,236990,,,
1069M02_06_22_09,38,8,7,1,117107,915877,905069,236990,,,
1069M02_06_22_10,37,8,7,1,117107,946782,935974,236990,,,
1069M02_06_22_11,36,8,7,1,117107,976732,965924,236990,,,
1069M02_06_22_12,35,8,7,1,117107,1008281,997473,236990,,,
1069M02_06_22_13,34,8,7,1,117107,1037913,1027105,236990,,,
1069M02_06_22_14,33,8,7,1,117107,1068275,1057467,236990,,,
1069M02_06_22_15,32,8,7,1,117107,1099186,1088378,236990,,,
1069M02_06_22_16,31,8,7,1,117107,1129492,1118684,236990,,,
1069M02_06_22_17,30,8,7,1,117107,1160392,1149584,236990,,,
1069M02_06_32_01,29,8,7,1,117107,1188511,1177703,236990,,,
1069M02_06_32_02,28,8,7,1,117107,1219234,1208426,236990,,,
1069M02_06_32_03,27,8,7,1,117107,1249884,1239076,236990,,,
1069M02_06_32_04,26,8,7,1,117107,1280185,1269377,236990,,,
1069M02_06_32_05,25,8,7,1,117107,1312057,1301249,236990,,,
1069M02_06_32_06,24,8,7,1,117107,1341141,1330333,236990,,,
1069M02_06_32_07,23,8,7,1,117107,1372418,1361610,236990,,,
1069M02_06_32_08,22,8,7,1,117107,1402659,1391851,236990,,,
1069M02_06_32_09,21,8,7,1,117107,1432996,1422188,236990,,,
1069M02_06_32_10,20,8,7,1,117107,1463495,1452687,236990,,,
1069M02_06_32_11,19,8,7,1,117107,1494056,1483248,236990,,,
1069M02_06_32_12,18,8,7,1,117107,1524750,1513942,236990,,,
1069M02_06_32_13,17,8,7,1,117107,1554932,1544124,236990,,,
1069M02_06_32_14,16,8,7,1,117107,1585436,1574628,236990,,,
1069M02_06_32_15,15,8,7,1,117107,1616038,1605230,236990,,,
1069M02_06_32_16,14,8,7,1,117107,1645742,1634934,236990,,,
1069M02_06_32_17,13,8,7,1,117107,1676404,1665596,236990,,,
1069M02_06_42_01,12,8,7,1,117107,1708696,1697888,236990,,,
1069M02_06_42_02,11,8,7,1,117107,1739298,1728490,236990,,,
1069M02_06_42_03,10,8,7,1,117107,1769087,1758279,236990,,,
1069M02_06_42_04,9,8,7,1,117107,1800426,1789618,236990,,,
1069M02_06_42_05,8,8,7,1,117107,1830977,1820169,236990,,,
1069M02_06_42_06,7,8,7,1,117107,1860820,1850012,236990,,,
1069M02_06_42_07,6,8,7,1,117107,1891849,1881041,236990,,,
1069M02_06_42_08,5,8,7,1,117107,1922263,1911455,236990,,,
1069M02_06_42_09,4,8,7,1,117107,1952640,1941832,236990,,,
1069M02_06_42_10,3,8,7,1,117107,1983293,1972485,236990,,,
1069M02_06_42_11,2,8,7,1,117107,2013163,2002355,236990,,,
1069M02_06_42_12,1,8,7,1,117107,2043781,2032973,236990,,,
DeviceLibrary/VirtuallyStore/VServerComm.cs
查看文件 @
1d786b6
...
@@ -68,7 +68,7 @@ namespace DeviceLibrary
...
@@ -68,7 +68,7 @@ namespace DeviceLibrary
{
{
try
try
{
{
if
(
RobotManage
.
isRunning
)
if
(
RobotManage
.
isRunning
&&
storeStatus
>
0
)
{
{
//ProcessMsg(VMsg.msg);
//ProcessMsg(VMsg.msg);
SendLineStatus
();
SendLineStatus
();
...
@@ -183,7 +183,7 @@ namespace DeviceLibrary
...
@@ -183,7 +183,7 @@ namespace DeviceLibrary
boxStatus
.
temperature
=
Temperature
.
ToString
();
boxStatus
.
temperature
=
Temperature
.
ToString
();
//状态
//状态
boxStatus
.
status
=
(
int
)
storeStatus
;
boxStatus
.
status
=
(
int
)
storeStatus
;
boxStatus
.
data
.
Add
(
"capacity"
,
capacity
);
string
sendmsg
=
""
;
string
sendmsg
=
""
;
...
@@ -578,6 +578,8 @@ namespace DeviceLibrary
...
@@ -578,6 +578,8 @@ namespace DeviceLibrary
return
true
;
return
true
;
}
}
MydataWcfServiceTest
.
ServiceReference2
.
TowerAppWSClient
towerAppWSClient
;
MydataWcfServiceTest
.
ServiceReference2
.
TowerAppWSClient
towerAppWSClient
;
internal
string
capacity
;
public
bool
SendCommand
(
string
command
,
bool
needlog
,
out
string
msg
,
params
string
[]
arg
)
public
bool
SendCommand
(
string
command
,
bool
needlog
,
out
string
msg
,
params
string
[]
arg
)
{
{
string
errmsg
;
string
errmsg
;
...
...
DeviceLibrary/VirtuallyStore/VStore.cs
查看文件 @
1d786b6
...
@@ -28,15 +28,17 @@ namespace DeviceLibrary
...
@@ -28,15 +28,17 @@ namespace DeviceLibrary
}
}
public
string
CID
;
public
string
CID
;
public
string
TowerName
;
public
string
TowerName
;
public
TowerInfo
TowerInfo
;
public
VStore
(
TowerInfo
towerInfo
,
VStoreCollection
storeCollection
)
{
public
VStore
(
TowerInfo
towerInfo
,
VStoreCollection
storeCollection
)
{
vc
=
storeCollection
;
vc
=
storeCollection
;
CID
=
towerInfo
.
TowerID
;
CID
=
towerInfo
.
TowerID
;
TowerName
=
towerInfo
.
TowerName
;
TowerName
=
towerInfo
.
TowerName
;
TowerInfo
=
towerInfo
;
VLog
=
new
VLog
(
CID
,
CID
);
VLog
=
new
VLog
(
CID
,
CID
);
ServerCM
=
new
VServerComm
(
CID
,
VLog
);
ServerCM
=
new
VServerComm
(
CID
,
VLog
);
ServerCM
.
OutStoreEvent
+=
ServerCM_OutStoreEvent
;
ServerCM
.
OutStoreEvent
+=
ServerCM_OutStoreEvent
;
ServerCM
.
storeStatus
=
StoreStatus
.
None
;
ServerCM
.
storeStatus
=
StoreStatus
.
None
;
Msg
=
new
MsgService
(
"RT-"
+
CID
);
Msg
=
new
MsgService
(
"RT-"
+
CID
);
OutStoreJobList
=
new
StoreJobList
(
crc
.
GetString
(
"Res0050"
,
"出库任务"
));
OutStoreJobList
=
new
StoreJobList
(
crc
.
GetString
(
"Res0050"
,
"出库任务"
));
}
}
...
@@ -53,6 +55,13 @@ namespace DeviceLibrary
...
@@ -53,6 +55,13 @@ namespace DeviceLibrary
DateTime
LastStatusTime
=
DateTime
.
Now
;
DateTime
LastStatusTime
=
DateTime
.
Now
;
int
LastStatusCode
=
0
;
int
LastStatusCode
=
0
;
internal
void
VTowerProcess
()
{
internal
void
VTowerProcess
()
{
if
(!
TowerInfo
.
Enable
)
{
ServerCM
.
storeStatus
=
StoreStatus
.
None
;
CurrentTowerStatusText
=
"Disable"
;
RTStoreStatus
=
RTStoreStatus
.
Offline
;
return
;
}
try
try
{
{
var
ti
=
ServerCM
.
GetTowerDetailInformation
(
CID
);
var
ti
=
ServerCM
.
GetTowerDetailInformation
(
CID
);
...
@@ -66,7 +75,16 @@ namespace DeviceLibrary
...
@@ -66,7 +75,16 @@ namespace DeviceLibrary
CurrentTowerStatusText
=
$
"[TI={ti.StatusCode}-{ti.StatusText}]"
;
CurrentTowerStatusText
=
$
"[TI={ti.StatusCode}-{ti.StatusText}]"
;
ServerCM
.
Temperature
=
ti
.
Temperature
;
ServerCM
.
Temperature
=
ti
.
Temperature
;
ServerCM
.
Humidity
=
ti
.
Humidity
;
ServerCM
.
Humidity
=
ti
.
Humidity
;
if
(
ti
.
StatusCode
==
26
)
if
(
ServerCM
.
Humidity
>
ServerCM
.
Max_Humidity
||
ServerCM
.
Temperature
>
ServerCM
.
Max_Temperature
)
{
Msg
.
add
(
crc
.
GetString
(
"Res0098.70dccffd"
,
"温湿度超限"
),
MsgLevel
.
alarm
);
}
//if (ti.StatusCode == 26 && ti.StatusText != "Ready")
//{
// VLog.Info("料仓已空闲");
//}
//else
if
(
ti
.
StatusCode
==
26
&&
ti
.
StatusText
==
"Ready"
)
{
{
ServerCM
.
storeStatus
=
StoreStatus
.
StoreOnline
;
ServerCM
.
storeStatus
=
StoreStatus
.
StoreOnline
;
if
(
RTStoreStatus
!=
RTStoreStatus
.
LockToInStore
&&
RTStoreStatus
!=
RTStoreStatus
.
InStoreReady
)
if
(
RTStoreStatus
!=
RTStoreStatus
.
LockToInStore
&&
RTStoreStatus
!=
RTStoreStatus
.
InStoreReady
)
...
@@ -83,6 +101,7 @@ namespace DeviceLibrary
...
@@ -83,6 +101,7 @@ namespace DeviceLibrary
RTStoreStatus
=
RTStoreStatus
.
LockToInStore
;
RTStoreStatus
=
RTStoreStatus
.
LockToInStore
;
if
(!
ServerCM
.
BeginOutStore
(
jobInfo
.
Clone
(),
VLog
))
if
(!
ServerCM
.
BeginOutStore
(
jobInfo
.
Clone
(),
VLog
))
{
{
Msg
.
add
(
crc
.
GetString
(
"Res0105.f3331370"
,
"发送出库指令失败"
)
+
":"
+
jobInfo
.
WareNum
,
MsgLevel
.
alarm
);
RTStoreStatus
=
RTStoreStatus
.
Ready
;
RTStoreStatus
=
RTStoreStatus
.
Ready
;
}
}
CurrentTerminalReelID
=
jobInfo
.
WareNum
;
CurrentTerminalReelID
=
jobInfo
.
WareNum
;
...
@@ -119,7 +138,7 @@ namespace DeviceLibrary
...
@@ -119,7 +138,7 @@ namespace DeviceLibrary
{
{
VLog
.
Error
(
$
"未知状态超时,RTStoreStatus={RTStoreStatus}:"
+
InStoreJobInfo
?.
ToStr
());
VLog
.
Error
(
$
"未知状态超时,RTStoreStatus={RTStoreStatus}:"
+
InStoreJobInfo
?.
ToStr
());
}
}
Msg
.
add
(
$
"TerminalError"
+
"入库超时"
,
MsgLevel
.
warning
);
Msg
.
add
(
$
"TerminalError"
+
crc
.
GetString
(
"Res0099.42525c5f"
,
"入库超时"
)
,
MsgLevel
.
warning
);
}
}
}
}
else
if
(
ti
.
StatusCode
==
1031
)
else
if
(
ti
.
StatusCode
==
1031
)
...
@@ -162,28 +181,38 @@ namespace DeviceLibrary
...
@@ -162,28 +181,38 @@ namespace DeviceLibrary
}
}
else
if
(
ti
.
StatusCode
==
1041
)
else
if
(
ti
.
StatusCode
==
1041
)
{
{
if
(
RTStoreStatus
!=
RTStoreStatus
.
OutStoreReady
)
if
(
InStoreJobInfo
==
null
)
{
{
VLog
.
Info
(
"出库已完成"
);
if
(
RTStoreStatus
!=
RTStoreStatus
.
OutStoreReady
)
InStoreJobInfo
=
null
;
{
OutStoreEnd
(
CurrentTerminalReelID
,
CID
);
VLog
.
Info
(
"出库物料已到舱门口:"
+
CurrentTerminalReelID
);
}
InStoreJobInfo
=
null
;
OutStoreEnd
(
CurrentTerminalReelID
,
CID
);
}
RTStoreStatus
=
RTStoreStatus
.
OutStoreReady
;
OutStoreJobList
.
ClearLastPosid
();
}
else
{
TerminalError
=
true
;
VLog
.
Info
(
"异常出库:"
+
CurrentTerminalReelID
);
RTStoreStatus
=
RTStoreStatus
.
OutStoreReady
;
}
OutStoreJobList
.
ClearLastPosid
();
}
}
else
if
(
ti
.
StatusCode
==
0
||
ti
.
StatusCode
==
18
)
else
if
(
ti
.
StatusCode
==
0
||
ti
.
StatusCode
==
18
)
{
{
RTStoreStatus
=
RTStoreStatus
.
Offline
;
RTStoreStatus
=
RTStoreStatus
.
Offline
;
ServerCM
.
storeStatus
=
StoreStatus
.
None
;
ServerCM
.
storeStatus
=
StoreStatus
.
None
;
}
}
else
if
(
ti
.
StatusCode
==
310117
||
ti
.
StatusCode
==
310249
)
else
if
(
ti
.
StatusCode
>=
310000
)
{
{
Msg
.
add
(
$
"StatusCode:{ti.StatusCode},StatusText:{ti.StatusText},OnlineStatus:{ti.OnlineStatus}"
,
MsgLevel
.
warning
);
Msg
.
add
(
$
"StatusCode:{ti.StatusCode},StatusText:{ti.StatusText},OnlineStatus:{ti.OnlineStatus}"
,
MsgLevel
.
warning
);
RTStoreStatus
=
RTStoreStatus
.
InStoreError
;
RTStoreStatus
=
RTStoreStatus
.
InStoreError
;
ServerCM
.
storeStatus
=
StoreStatus
.
InStoreFaild
;
ServerCM
.
storeStatus
=
StoreStatus
.
InStoreFaild
;
InStoreJobInfo
=
null
;
//CurrentTowerStatusText = $"{ti.StatusText}-{ti.OnlineStatus}";
//InStoreJobInfo = null;
}
}
else
if
(
ti
.
StatusCode
<
10000
)
else
if
(
ti
.
StatusCode
<
10000
)
{
{
...
@@ -198,6 +227,7 @@ namespace DeviceLibrary
...
@@ -198,6 +227,7 @@ namespace DeviceLibrary
Msg
.
add
(
$
"StatusCode:{ti.StatusCode},StatusText:{ti.StatusText},OnlineStatus:{ti.OnlineStatus}"
,
MsgLevel
.
alarm
);
Msg
.
add
(
$
"StatusCode:{ti.StatusCode},StatusText:{ti.StatusText},OnlineStatus:{ti.OnlineStatus}"
,
MsgLevel
.
alarm
);
ServerCM
.
storeStatus
=
StoreStatus
.
InTrouble
;
ServerCM
.
storeStatus
=
StoreStatus
.
InTrouble
;
RTStoreStatus
=
RTStoreStatus
.
Error
;
RTStoreStatus
=
RTStoreStatus
.
Error
;
//CurrentTowerStatusText = $"{ti.StatusText}-{ti.OnlineStatus}";
}
}
}
}
else
else
...
@@ -216,9 +246,13 @@ namespace DeviceLibrary
...
@@ -216,9 +246,13 @@ namespace DeviceLibrary
1042 material unloaded to Terminal from Tower 物料已取走
1042 material unloaded to Terminal from Tower 物料已取走
6015 Reel already loaded.
6015 Reel already loaded.
3068 初始化中
3068 初始化中
310117 Opertion denied
310249 Error Reel Sensor (249)
310249 Error Reel Sensor (249)
310107,No scancode (107)
310234,Error clamping on opening (234)
*/
*/
//统计剩余容量
//统计剩余容量
string
capacity
=
""
;
for
(
int
i
=
0
;
i
<
ti
.
Slots
.
Count
;
i
++)
for
(
int
i
=
0
;
i
<
ti
.
Slots
.
Count
;
i
++)
{
{
var
sn
=
ti
.
Slots
[
i
].
Slotname
;
var
sn
=
ti
.
Slots
[
i
].
Slotname
;
...
@@ -240,11 +274,15 @@ namespace DeviceLibrary
...
@@ -240,11 +274,15 @@ namespace DeviceLibrary
int
.
TryParse
(
sn
.
Substring
(
2
),
out
h
);
int
.
TryParse
(
sn
.
Substring
(
2
),
out
h
);
}
}
//boxStatus.data.Add("capacity", "7X8=1000;7X12=345;13X32=100;");
//boxStatus.data.Add("capacity", "7X8=1000;7X12=345;13X32=100;");
SlotsInfo
[
$
"{w}x{h}"
]
=
$
"{ti.Slots[i].Slots_used}/{ti.Slots[i].Slots_free}"
;
capacity
+=
$
"{w}X{h}={ti.Slots[i].Slots_free};"
;
SlotsInfo
[
$
"{w}X{h}"
]
=
$
"{ti.Slots[i].Slots_used}/{ti.Slots[i].Slots_free}"
;
}
}
ServerCM
.
capacity
=
capacity
;
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
{
{
ServerCM
.
storeStatus
=
StoreStatus
.
None
;
RTStoreStatus
=
RTStoreStatus
.
Offline
;
VLog
.
Error
(
"VStore Error:"
+
ex
);
VLog
.
Error
(
"VStore Error:"
+
ex
);
}
}
finally
finally
...
@@ -256,6 +294,10 @@ namespace DeviceLibrary
...
@@ -256,6 +294,10 @@ namespace DeviceLibrary
public
Dictionary
<
string
,
string
>
SlotsInfo
=
new
Dictionary
<
string
,
string
>();
public
Dictionary
<
string
,
string
>
SlotsInfo
=
new
Dictionary
<
string
,
string
>();
public
string
GetStateStr
()
public
string
GetStateStr
()
{
{
if
(!
TowerInfo
.
Enable
)
{
return
"Disable"
;
}
if
(
RTStoreStatus
==
RTStoreStatus
.
OutStoreReady
)
if
(
RTStoreStatus
==
RTStoreStatus
.
OutStoreReady
)
return
crc
.
GetString
(
"Res0066"
,
"出库中"
)
+
(!
string
.
IsNullOrEmpty
(
CurrentTerminalReelID
)?
"SN:"
+
CurrentTerminalReelID
:
""
);
return
crc
.
GetString
(
"Res0066"
,
"出库中"
)
+
(!
string
.
IsNullOrEmpty
(
CurrentTerminalReelID
)?
"SN:"
+
CurrentTerminalReelID
:
""
);
...
@@ -270,6 +312,11 @@ namespace DeviceLibrary
...
@@ -270,6 +312,11 @@ namespace DeviceLibrary
{
{
return
crc
.
GetString
(
"Res0069"
,
"入库出错,物料NG"
)
+
" Barcode:"
+
InStoreJobInfo
?.
WareNum
;
return
crc
.
GetString
(
"Res0069"
,
"入库出错,物料NG"
)
+
" Barcode:"
+
InStoreJobInfo
?.
WareNum
;
}
}
if
(
RTStoreStatus
==
RTStoreStatus
.
Error
)
{
return
CurrentTowerStatusText
;
}
return
crc
.
GetString
(
"Res0070"
,
"空闲中"
);
return
crc
.
GetString
(
"Res0070"
,
"空闲中"
);
}
}
...
@@ -291,6 +338,11 @@ namespace DeviceLibrary
...
@@ -291,6 +338,11 @@ namespace DeviceLibrary
{
{
return
ServerCM
.
SendStoreState
(
""
,
posid
,
StoreStatus
.
InStoreEnd
);
return
ServerCM
.
SendStoreState
(
""
,
posid
,
StoreStatus
.
InStoreEnd
);
}
}
internal
void
log
(
string
v
)
{
VLog
.
Info
(
v
);
}
}
}
public
enum
RTStoreStatus
{
public
enum
RTStoreStatus
{
Offline
,
Offline
,
...
...
DeviceLibrary/VirtuallyStore/VStoreCollection.cs
查看文件 @
1d786b6
...
@@ -53,6 +53,7 @@ namespace DeviceLibrary
...
@@ -53,6 +53,7 @@ namespace DeviceLibrary
var
reelid
=
r
.
Descendants
(
"Barcode"
).
FirstOrDefault
().
Value
;
var
reelid
=
r
.
Descendants
(
"Barcode"
).
FirstOrDefault
().
Value
;
var
towerid
=
r
.
Descendants
(
"TowerId"
).
FirstOrDefault
().
Value
;
var
towerid
=
r
.
Descendants
(
"TowerId"
).
FirstOrDefault
().
Value
;
VLog
.
Info
(
"收到入库完成通知:"
+
$
"ReelID:{reelid},TowerID:{towerid}"
);
VLog
.
Info
(
"收到入库完成通知:"
+
$
"ReelID:{reelid},TowerID:{towerid}"
);
VStoreList
[
towerid
].
log
(
"收到入库完成通知:"
+
$
"ReelID:{reelid},TowerID:{towerid}"
);
if
(!
VStoreList
.
ContainsKey
(
towerid
))
if
(!
VStoreList
.
ContainsKey
(
towerid
))
{
{
VLog
.
Error
(
"收到入库信息,但没有找到该料仓id"
);
VLog
.
Error
(
"收到入库信息,但没有找到该料仓id"
);
...
@@ -65,6 +66,7 @@ namespace DeviceLibrary
...
@@ -65,6 +66,7 @@ namespace DeviceLibrary
reelid
=
r
.
Descendants
(
"Barcode"
).
FirstOrDefault
().
Value
;
reelid
=
r
.
Descendants
(
"Barcode"
).
FirstOrDefault
().
Value
;
towerid
=
r
.
Descendants
(
"TowerId"
).
FirstOrDefault
().
Value
;
towerid
=
r
.
Descendants
(
"TowerId"
).
FirstOrDefault
().
Value
;
VLog
.
Info
(
"收到出库完成通知:"
+
$
"ReelID:{reelid},TowerID:{towerid}"
);
VLog
.
Info
(
"收到出库完成通知:"
+
$
"ReelID:{reelid},TowerID:{towerid}"
);
VStoreList
[
towerid
].
log
(
"收到出库完成通知:"
+
$
"ReelID:{reelid},TowerID:{towerid}"
);
if
(!
VStoreList
.
ContainsKey
(
towerid
))
{
if
(!
VStoreList
.
ContainsKey
(
towerid
))
{
VLog
.
Error
(
"收到出库信息,但没有找到该料仓id"
);
VLog
.
Error
(
"收到出库信息,但没有找到该料仓id"
);
}
}
...
...
DeviceLibrary/theMachine/DeviceBase.cs
查看文件 @
1d786b6
...
@@ -32,7 +32,7 @@ namespace DeviceLibrary
...
@@ -32,7 +32,7 @@ namespace DeviceLibrary
{
{
EquipMsgData
equipMsg
=
new
EquipMsgData
();
EquipMsgData
equipMsg
=
new
EquipMsgData
();
equipMsg
.
msgList
=
new
List
<
EquipMessage
>();
equipMsg
.
msgList
=
new
List
<
EquipMessage
>();
equipMsg
.
status
=
0
;
equipMsg
.
status
=
1
;
Msg
.
msg
.
ForEach
(
ml
=>
Msg
.
msg
.
ForEach
(
ml
=>
{
{
equipMsg
.
msgList
.
Add
(
new
EquipMessage
()
equipMsg
.
msgList
.
Add
(
new
EquipMessage
()
...
@@ -42,8 +42,6 @@ namespace DeviceLibrary
...
@@ -42,8 +42,6 @@ namespace DeviceLibrary
});
});
if
(
ml
.
msgLevel
==
MsgLevel
.
alarm
)
if
(
ml
.
msgLevel
==
MsgLevel
.
alarm
)
equipMsg
.
status
=
2
;
equipMsg
.
status
=
2
;
else
equipMsg
.
status
=
1
;
});
});
equipMsg
.
equipName
=
GroupName
;
equipMsg
.
equipName
=
GroupName
;
TheLine
.
UploadStatus
(
equipMsg
);
TheLine
.
UploadStatus
(
equipMsg
);
...
...
DeviceLibrary/theMachine/MainMachine _LedProcess.cs
查看文件 @
1d786b6
...
@@ -106,7 +106,7 @@ namespace DeviceLibrary
...
@@ -106,7 +106,7 @@ namespace DeviceLibrary
foreach
(
var
ledcolor
in
ledcfg
.
Keys
)
foreach
(
var
ledcolor
in
ledcfg
.
Keys
)
{
{
if
(
ledcfg
[
ledcolor
]
==
LedState
.
none
)
if
(
ledcfg
[
ledcolor
]
==
LedState
.
none
)
return
;
continue
;
Led
.
LedColors
[
ledcolor
].
LedState
=
ledcfg
[
ledcolor
];
Led
.
LedColors
[
ledcolor
].
LedState
=
ledcfg
[
ledcolor
];
}
}
}
}
...
@@ -126,13 +126,13 @@ namespace DeviceLibrary
...
@@ -126,13 +126,13 @@ namespace DeviceLibrary
{
{
ProcessLefCfg
(
MachineLedStateE
.
Running
);
ProcessLefCfg
(
MachineLedStateE
.
Running
);
//出入库 绿闪 黄闪
//
//
出入库 绿闪 黄闪
if
(
RobotManage
.
isRunning
)
//
if (RobotManage.isRunning)
{
//
{
//RunningLed.LedState = LedState.blink;
//
//RunningLed.LedState = LedState.blink;
//StandbyLed.LedState = LedState.blink;
//
//StandbyLed.LedState = LedState.blink;
ProcessLefCfg
(
MachineLedStateE
.
InOut
);
//
ProcessLefCfg(MachineLedStateE.InOut);
}
//
}
//系统暂停,说明书未定义, 绿闪, 红闪
//系统暂停,说明书未定义, 绿闪, 红闪
if
(!
canRunning
||
UserPause
)
if
(!
canRunning
||
UserPause
)
{
{
...
...
DeviceLibrary/theMachine/MoveInfo.cs
查看文件 @
1d786b6
using
log4net
;
using
OnlineStore
;
using
log4net
;
using
OnlineStore.Common
;
using
OnlineStore.Common
;
using
OnlineStore.LoadCSVLibrary
;
using
OnlineStore.LoadCSVLibrary
;
using
System
;
using
System
;
...
@@ -262,36 +263,36 @@ namespace DeviceLibrary
...
@@ -262,36 +263,36 @@ namespace DeviceLibrary
{
{
if
(
IsHomeMove
)
if
(
IsHomeMove
)
{
{
return
"轴"
+
"【"
+
AxisInfo
.
DisplayStr
+
"】"
+
"原点返回"
;
return
crc
.
GetString
(
"Res0089.60c85b4b"
,
"轴"
)
+
"【"
+
AxisInfo
.
DisplayStr
+
"】"
+
crc
.
GetString
(
"AxisMoveControl_groupAxis_panel1_btnAxisReturnHome_Text"
,
"原点返回"
)
;
}
}
else
else
{
{
return
"轴"
+
"【"
+
AxisInfo
.
DisplayStr
+
"】"
+
"绝对运动,目标位置"
+
"【"
+
TargetPosition
+
"】"
;
return
crc
.
GetString
(
"Res0089.60c85b4b"
,
"轴"
)
+
"【"
+
AxisInfo
.
DisplayStr
+
"】"
+
crc
.
GetString
(
"Res0090.0c33436f"
,
"绝对运动,目标位置"
)
+
"【"
+
TargetPosition
+
"】"
;
}
}
}
}
else
if
(
WaitType
.
Equals
(
WaitEnum
.
W002_IOValue
))
else
if
(
WaitType
.
Equals
(
WaitEnum
.
W002_IOValue
))
{
{
return
"等待"
+
"【"
+
IoType
+
"】=【"
+
IoValue
+
"】"
;
return
crc
.
GetString
(
"Res0157"
,
"等待"
)
+
"【"
+
IoType
+
"】=【"
+
IoValue
+
"】"
;
}
}
else
if
(
WaitType
.
Equals
(
WaitEnum
.
W003_Time
))
else
if
(
WaitType
.
Equals
(
WaitEnum
.
W003_Time
))
{
{
return
"时间等待"
+
":【"
+
TimeMSeconds
+
"】"
+
"毫秒"
;
return
crc
.
GetString
(
"Res0091.d7647f48"
,
"时间等待"
)
+
":【"
+
TimeMSeconds
+
"】"
+
crc
.
GetString
(
"Res0092.21157cbf"
,
"毫秒"
)
;
}
}
else
if
(
WaitType
.
Equals
(
WaitEnum
.
W006_AxisOrg
))
else
if
(
WaitType
.
Equals
(
WaitEnum
.
W006_AxisOrg
))
{
{
return
"轴"
+
"【"
+
AxisInfo
.
DisplayStr
+
"】"
+
"ORG信号"
+
":【"
+
IoValue
+
"】"
;
return
crc
.
GetString
(
"Res0089.60c85b4b"
,
"轴"
)
+
"【"
+
AxisInfo
.
DisplayStr
+
"】"
+
crc
.
GetString
(
"Res0093.3802ba42"
,
"ORG信号"
)
+
":【"
+
IoValue
+
"】"
;
}
}
else
if
(
WaitType
.
Equals
(
WaitEnum
.
W007_ReelHeight
))
else
if
(
WaitType
.
Equals
(
WaitEnum
.
W007_ReelHeight
))
{
{
return
"料盘高度"
+
"【"
+
TargetPosition
+
"】"
;
return
crc
.
GetString
(
"Res0094.f4a8d691"
,
"料盘高度"
)
+
"【"
+
TargetPosition
+
"】"
;
}
}
else
if
(
WaitType
.
Equals
(
WaitEnum
.
W008_BatchAxis
))
else
if
(
WaitType
.
Equals
(
WaitEnum
.
W008_BatchAxis
))
{
{
return
"批量轴上升到上料点"
;
return
crc
.
GetString
(
"Res0095.84e7c741"
,
"批量轴上升到上料点"
)
;
}
}
else
if
(
WaitType
.
Equals
(
WaitEnum
.
W009_ScanCode
))
else
if
(
WaitType
.
Equals
(
WaitEnum
.
W009_ScanCode
))
{
{
return
"扫码完成"
;
return
crc
.
GetString
(
"Res0096.ed4de1c6"
,
"扫码完成"
)
;
}
}
else
if
(
WaitType
.
Equals
(
WaitEnum
.
W013_Action
))
else
if
(
WaitType
.
Equals
(
WaitEnum
.
W013_Action
))
{
{
...
@@ -430,4 +431,4 @@ namespace DeviceLibrary
...
@@ -430,4 +431,4 @@ namespace DeviceLibrary
///// </summary>
///// </summary>
//CheckFixture=6,
//CheckFixture=6,
}
}
}
}
\ No newline at end of file
\ No newline at end of file
DeviceLibrary/theMachine/RobotManage.cs
查看文件 @
1d786b6
...
@@ -67,13 +67,13 @@ namespace DeviceLibrary
...
@@ -67,13 +67,13 @@ namespace DeviceLibrary
MI2Postion
=
CSVPositionReader
<
RobotPosition
>.
LoadCSVFile
(
MI2PostionFile
);
MI2Postion
=
CSVPositionReader
<
RobotPosition
>.
LoadCSVFile
(
MI2PostionFile
);
CIPostion
=
CSVPositionReader
<
RobotPosition
>.
LoadCSVFile
(
CIPostionFile
);
CIPostion
=
CSVPositionReader
<
RobotPosition
>.
LoadCSVFile
(
CIPostionFile
);
Robot_MI1
=
new
URRobotControl
(
Setting_Init
.
URRobot_MI1_IP
);
Robot_MI1
=
new
URRobotControl
(
Setting_Init
.
URRobot_MI1_IP
,
"Robot-R1"
);
Robot_MI1
.
Name
=
"R1"
;
Robot_MI1
.
Name
=
"R1"
;
Robot_MI1
.
SetSpeedRate
(
Setting_Init
.
URRobot_MI1_Speed_Rate
);
Robot_MI1
.
SetSpeedRate
(
Setting_Init
.
URRobot_MI1_Speed_Rate
);
Robot_MI2
=
new
URRobotControl
(
Setting_Init
.
URRobot_MI2_IP
);
Robot_MI2
=
new
URRobotControl
(
Setting_Init
.
URRobot_MI2_IP
,
"Robot-R2"
);
Robot_MI
1
.
Name
=
"R2"
;
Robot_MI
2
.
Name
=
"R2"
;
Robot_MI2
.
SetSpeedRate
(
Setting_Init
.
URRobot_MI2_Speed_Rate
);
Robot_MI2
.
SetSpeedRate
(
Setting_Init
.
URRobot_MI2_Speed_Rate
);
Robot_CI
=
new
URRobotControl
(
Setting_Init
.
URRobot_CI_IP
);
Robot_CI
=
new
URRobotControl
(
Setting_Init
.
URRobot_CI_IP
,
"Robot-CI"
);
Robot_CI
.
SetSpeedRate
(
Setting_Init
.
URRobot_CI_Speed_Rate
);
Robot_CI
.
SetSpeedRate
(
Setting_Init
.
URRobot_CI_Speed_Rate
);
VStoreCollection
=
new
VStoreCollection
();
VStoreCollection
=
new
VStoreCollection
();
...
...
DeviceLibrary/theMachine/TrayManager.cs
查看文件 @
1d786b6
...
@@ -32,7 +32,7 @@ namespace DeviceLibrary
...
@@ -32,7 +32,7 @@ namespace DeviceLibrary
Traylist
.
Add
(
rfid
,
new
TrayInfo
());
Traylist
.
Add
(
rfid
,
new
TrayInfo
());
Traylist
[
rfid
].
RFID
=
rfid
;
Traylist
[
rfid
].
RFID
=
rfid
;
}
}
moveInfo
.
log
(
$
"处理RFID:{rfid},地址{addr},设备:{(AddrDesc.ContainsKey(addr) ? AddrDesc[addr] : "")},{(Traylist[rfid].HasLoad? Traylist[rfid].TrayParam?.ToStr():"
no
metrial
")}"
);
moveInfo
.
log
(
$
"处理RFID:{rfid},地址{addr},设备:{(AddrDesc.ContainsKey(addr) ? AddrDesc[addr] : "")},
mcheck:{reelcheck},
{(Traylist[rfid].HasLoad? Traylist[rfid].TrayParam?.ToStr():"
no
metrial
")}"
);
Traylist
[
rfid
].
LastUpdateTime
=
DateTime
.
Now
;
Traylist
[
rfid
].
LastUpdateTime
=
DateTime
.
Now
;
Traylist
[
rfid
].
LastAddr
=
addr
;
Traylist
[
rfid
].
LastAddr
=
addr
;
...
@@ -276,14 +276,16 @@ namespace DeviceLibrary
...
@@ -276,14 +276,16 @@ namespace DeviceLibrary
public
static
bool
IsNeedProcessNG
(
RemoteLoad
remoteLoad
)
public
static
bool
IsNeedProcessNG
(
RemoteLoad
remoteLoad
)
{
{
var
requestLoadInfo
=
remoteLoad
.
RequestLoadInfo
;
var
requestLoadInfo
=
remoteLoad
.
RequestLoadInfo
;
var
xx
=
TrayManager
.
Traylist
.
Values
.
ToList
().
Where
(
t
=>
t
.
HasLoad
&&
t
.
LoadType
==
requestLoadInfo
.
GetTrayType
&&
(
t
.
LastAddr
>=
20
||
t
.
LastAddr
<=
3
));
var
xx
=
TrayManager
.
Traylist
.
Values
.
ToList
().
Where
(
t
=>
t
.
HasLoad
&&
t
.
LoadType
==
requestLoadInfo
.
GetTrayType
&&
t
.
DestinationAddr
==
3
&&
(
t
.
LastAddr
>=
20
||
t
.
LastAddr
<=
3
));
return
xx
.
Count
()
>
0
;
return
xx
.
Count
()
>
0
;
}
}
/// <summary>
/// <summary>
/// 空托盘数量
/// 空托盘数量
/// </summary>
/// </summary>
public
static
int
EmptyCount
;
public
volatile
static
int
EmptyCount
;
public
volatile
static
int
EmptyCount_MTP1
;
public
volatile
static
int
EmptyCount_MTP2
;
/// <summary>
/// <summary>
/// 入库托盘数量
/// 入库托盘数量
/// </summary>
/// </summary>
...
@@ -301,6 +303,7 @@ namespace DeviceLibrary
...
@@ -301,6 +303,7 @@ namespace DeviceLibrary
static
DateTime
lastrefresh
;
static
DateTime
lastrefresh
;
public
static
void
Statistics
()
{
public
static
void
Statistics
()
{
EmptyCount
=
0
;
EmptyCount
=
0
;
EmptyCount_MTP1
=
EmptyCount_MTP2
=
0
;
InStoreCount
=
0
;
InStoreCount
=
0
;
OutStoreCount
=
0
;
OutStoreCount
=
0
;
OfflineCount
=
0
;
OfflineCount
=
0
;
...
@@ -317,6 +320,10 @@ namespace DeviceLibrary
...
@@ -317,6 +320,10 @@ namespace DeviceLibrary
else
else
OutStoreCount
++;
OutStoreCount
++;
}
else
{
}
else
{
if
(
ti
.
TrayType
==
TrayTypeE
.
MTP1
)
EmptyCount_MTP1
++;
else
if
(
ti
.
TrayType
==
TrayTypeE
.
MTP2
)
EmptyCount_MTP2
++;
EmptyCount
++;
EmptyCount
++;
}
}
});
});
...
@@ -373,15 +380,16 @@ namespace DeviceLibrary
...
@@ -373,15 +380,16 @@ namespace DeviceLibrary
{
{
public
static
Dictionary
<
TrayTypeE
,
string
>
TrayTypeDesc
=
new
Dictionary
<
TrayTypeE
,
string
>();
public
static
Dictionary
<
TrayTypeE
,
string
>
TrayTypeDesc
=
new
Dictionary
<
TrayTypeE
,
string
>();
public
static
Dictionary
<
int
,
string
>
AddrDesc
=
new
Dictionary
<
int
,
string
>();
public
static
Dictionary
<
int
,
string
>
AddrDesc
=
new
Dictionary
<
int
,
string
>();
static
TrayManager
()
{
static
TrayManager
()
TrayTypeDesc
.
Add
(
TrayTypeE
.
None
,
crc
.
GetString
(
"Res0002"
,
"空"
));
{
TrayTypeDesc
.
Add
(
TrayTypeE
.
MTP1
,
crc
.
GetString
(
"Res0004"
,
"流水线料盘托盘"
));
TrayTypeDesc
.
Add
(
TrayTypeE
.
None
,
crc
.
GetString
(
"TrayType_"
+
TrayTypeE
.
None
,
crc
.
GetString
(
"Res0002"
,
"空"
)));
TrayTypeDesc
.
Add
(
TrayTypeE
.
MTP2
,
crc
.
GetString
(
"Res0003"
,
"流水线治具托盘"
));
TrayTypeDesc
.
Add
(
TrayTypeE
.
MTP1
,
crc
.
GetString
(
"TrayType_"
+
TrayTypeE
.
MTP1
,
crc
.
GetString
(
"Res0004"
,
"流水线料盘托盘"
)));
TrayTypeDesc
.
Add
(
TrayTypeE
.
S007
,
crc
.
GetString
(
"Res0005"
,
"料串"
));
TrayTypeDesc
.
Add
(
TrayTypeE
.
MTP2
,
crc
.
GetString
(
"TrayType_"
+
TrayTypeE
.
MTP2
,
crc
.
GetString
(
"Res0003"
,
"流水线治具托盘"
)));
TrayTypeDesc
.
Add
(
TrayTypeE
.
M03
,
crc
.
GetString
(
"Res0006"
,
"Tray料格"
));
TrayTypeDesc
.
Add
(
TrayTypeE
.
S007
,
crc
.
GetString
(
"TrayType_"
+
TrayTypeE
.
S007
,
crc
.
GetString
(
"Res0005"
,
"料串"
)));
TrayTypeDesc
.
Add
(
TrayTypeE
.
M02
,
crc
.
GetString
(
"Res0007"
,
"PCB料格"
));
TrayTypeDesc
.
Add
(
TrayTypeE
.
M03
,
crc
.
GetString
(
"TrayType_"
+
TrayTypeE
.
M03
,
crc
.
GetString
(
"Res0006"
,
"Tray料格"
)));
TrayTypeDesc
.
Add
(
TrayTypeE
.
M01
,
crc
.
GetString
(
"Res0008"
,
"PizzaBOX料格"
));
TrayTypeDesc
.
Add
(
TrayTypeE
.
M02
,
crc
.
GetString
(
"TrayType_"
+
TrayTypeE
.
M02
,
crc
.
GetString
(
"Res0007"
,
"PCB料格"
)));
TrayTypeDesc
.
Add
(
TrayTypeE
.
M04
,
crc
.
GetString
(
"Res0009"
,
"ShoeBOX料格"
));
TrayTypeDesc
.
Add
(
TrayTypeE
.
M01
,
crc
.
GetString
(
"TrayType_"
+
TrayTypeE
.
M01
,
crc
.
GetString
(
"TrayType_M01"
,
"PizzaBOX料格"
)));
TrayTypeDesc
.
Add
(
TrayTypeE
.
M04
,
crc
.
GetString
(
"TrayType_"
+
TrayTypeE
.
M04
,
crc
.
GetString
(
"TrayType_M04"
,
"ShoeBOX料格"
)));
//TrayTypeDesc.Add(TrayTypeE.C01, crc.GetString("Res0010","PCB治具"));
//TrayTypeDesc.Add(TrayTypeE.C01, crc.GetString("Res0010","PCB治具"));
//TrayTypeDesc.Add(TrayTypeE.C02, crc.GetString("Res0011","Pizza治具"));
//TrayTypeDesc.Add(TrayTypeE.C02, crc.GetString("Res0011","Pizza治具"));
//TrayTypeDesc.Add(TrayTypeE.C03, crc.GetString("Res0012","Tray治具"));
//TrayTypeDesc.Add(TrayTypeE.C03, crc.GetString("Res0012","Tray治具"));
...
...
DeviceLibrary/theMachine/sub/MI.cs
查看文件 @
1d786b6
...
@@ -25,6 +25,9 @@ namespace DeviceLibrary
...
@@ -25,6 +25,9 @@ namespace DeviceLibrary
MI
sideMove
=
new
MI
(
devices
[
"AMH-MI1"
],
out
string
m
);
MI
sideMove
=
new
MI
(
devices
[
"AMH-MI1"
],
out
string
m
);
DeviceList
.
Add
(
devices
[
"AMH-MI1"
].
GroupName
,
sideMove
);
DeviceList
.
Add
(
devices
[
"AMH-MI1"
].
GroupName
,
sideMove
);
msg
+=
m
;
msg
+=
m
;
MI
sideMove2
=
new
MI
(
devices
[
"AMH-MI2"
],
out
m
);
DeviceList
.
Add
(
devices
[
"AMH-MI2"
].
GroupName
,
sideMove2
);
msg
+=
m
;
}
}
DeviceGroup
DeviceGroup
;
DeviceGroup
DeviceGroup
;
...
@@ -37,6 +40,7 @@ namespace DeviceLibrary
...
@@ -37,6 +40,7 @@ namespace DeviceLibrary
RobotHelper
robotHelper
;
RobotHelper
robotHelper
;
BufferSlotsManger
BufferSlotsManger
;
BufferSlotsManger
BufferSlotsManger
;
string
POS_Start
=
"MI1"
;
string
POS_Start
=
"MI1"
;
string
robotname
=
""
;
public
MI
(
DeviceGroup
device
,
out
string
msg
)
:
base
()
public
MI
(
DeviceGroup
device
,
out
string
msg
)
:
base
()
{
{
msg
=
""
;
msg
=
""
;
...
@@ -46,11 +50,11 @@ namespace DeviceLibrary
...
@@ -46,11 +50,11 @@ namespace DeviceLibrary
Msg
=
new
MsgService
(
GroupName
+
"-T"
);
Msg
=
new
MsgService
(
GroupName
+
"-T"
);
MoveInfo
=
new
MoveInfo
(
GroupName
+
"-T"
);
MoveInfo
=
new
MoveInfo
(
GroupName
+
"-T"
);
RoboMoveInfo
=
new
MoveInfo
(
GroupName
+
"-Robo"
);
RoboMoveInfo
=
new
MoveInfo
(
GroupName
+
"-Robo"
);
string
robotname
=
""
;
if
(
device
.
GroupName
==
"AMH-MI1"
)
if
(
device
.
GroupName
==
"AMH-MI1"
)
{
{
Robot
=
RobotManage
.
Robot_MI1
;
Robot
=
RobotManage
.
Robot_MI1
;
robotname
=
"R1"
;
robotname
=
"R1"
;
}
}
else
else
{
{
...
@@ -58,6 +62,7 @@ namespace DeviceLibrary
...
@@ -58,6 +62,7 @@ namespace DeviceLibrary
POS_Start
=
"MI2"
;
POS_Start
=
"MI2"
;
robotname
=
"R2"
;
robotname
=
"R2"
;
}
}
Robot
.
Name
=
robotname
;
robotHelper
=
new
RobotHelper
(
Robot
,
robotname
);
robotHelper
=
new
RobotHelper
(
Robot
,
robotname
);
Comp
=
AxisBean
.
List
[
DeviceGroup
.
GroupName
][
0
];
Comp
=
AxisBean
.
List
[
DeviceGroup
.
GroupName
][
0
];
//Rotate = AxisBean.List[DeviceGroup.GroupName][1];
//Rotate = AxisBean.List[DeviceGroup.GroupName][1];
...
@@ -90,12 +95,11 @@ namespace DeviceLibrary
...
@@ -90,12 +95,11 @@ namespace DeviceLibrary
{
{
LogUtil
.
OutputDebugString
(
$
"{GroupName} DeviceState:"
+
DeviceState
.
ToString
());
LogUtil
.
OutputDebugString
(
$
"{GroupName} DeviceState:"
+
DeviceState
.
ToString
());
MsgService
.
MSList
[
GroupName
+
"-T"
].
clear
();
if
(!
DeviceCheck
())
if
(!
DeviceCheck
())
{
{
return
;
return
;
}
}
MsgService
.
MSList
[
GroupName
+
"-T"
].
clear
();
if
(
DeviceState
==
DeviceStateE
.
HomeReset
)
if
(
DeviceState
==
DeviceStateE
.
HomeReset
)
ResetProcess
();
ResetProcess
();
else
if
(
DeviceState
==
DeviceStateE
.
Run
)
else
if
(
DeviceState
==
DeviceStateE
.
Run
)
...
@@ -111,9 +115,9 @@ namespace DeviceLibrary
...
@@ -111,9 +115,9 @@ namespace DeviceLibrary
public
void
Reset
()
public
void
Reset
()
{
{
Robot
.
SendMoveCmd
(
1
,
Setting_Init
.
URRobot_CI_Speed_Rate
);
Robot
.
SendMoveCmd
(
1
,
Setting_Init
.
URRobot_CI_Speed_Rate
,
false
,
RobotHelper
.
LoadRateParam
[
robotHelper
.
lastWeight
]
);
Config
.
Set
(
"RuntimeRobot_MoveStep"
,
"Wait"
);
Config
.
Set
(
"RuntimeRobot_
"
+
robotname
+
"_
MoveStep"
,
"Wait"
);
Config
.
Set
(
"RuntimeRobot_Arm_MoveStep"
,
"Wait"
);
Config
.
Set
(
"RuntimeRobot_
"
+
robotname
+
"_
Arm_MoveStep"
,
"Wait"
);
}
}
private
bool
DeviceCheck
()
private
bool
DeviceCheck
()
...
@@ -150,6 +154,22 @@ namespace DeviceLibrary
...
@@ -150,6 +154,22 @@ namespace DeviceLibrary
switch
(
MoveInfo
.
MoveStep
)
switch
(
MoveInfo
.
MoveStep
)
{
{
case
MoveStep
.
Wait
:
case
MoveStep
.
Wait
:
//判断有无出库任务
var
testInStoreError
=
VStoreCollection
.
VStoreList
.
Values
.
Where
(
vs
=>
vs
.
TowerInfo
.
DeviceGroupName
==
GroupName
).
ToList
().
Find
(
vs
=>
vs
.
RTStoreStatus
==
RTStoreStatus
.
InStoreError
||
vs
.
RTStoreStatus
==
RTStoreStatus
.
InStoreDataTimeOut
||
vs
.
TerminalError
);
var
hasoutjob
=
false
;
if
(
testInStoreError
!=
null
)
hasoutjob
=
true
;
if
(!
hasoutjob
)
{
var
testOutReadyStore
=
VStoreCollection
.
VStoreList
.
Values
.
Where
(
vs
=>
vs
.
TowerInfo
.
DeviceGroupName
==
GroupName
).
ToList
().
Find
(
vs
=>
vs
.
RTStoreStatus
==
RTStoreStatus
.
OutStoreReady
);
if
(
testOutReadyStore
!=
null
)
hasoutjob
=
true
;
}
if
(
hasoutjob
)
{
MoveInfo
.
log
(
"查询到出库任务,开始优先出库"
);
MoveInfo
.
NextMoveStep
(
MoveStep
.
MI_50
);
}
//判断入库任务
LogUtil
.
OutputDebugString
(
"InStoreJobList:"
+
InStoreJobList
.
Count
.
ToString
());
LogUtil
.
OutputDebugString
(
"InStoreJobList:"
+
InStoreJobList
.
Count
.
ToString
());
if
(
InStoreJob
!=
null
)
if
(
InStoreJob
!=
null
)
{
{
...
@@ -166,9 +186,9 @@ namespace DeviceLibrary
...
@@ -166,9 +186,9 @@ namespace DeviceLibrary
var
cid
=
MoveInfo
.
MoveParam
.
PosID
;
//.Split('_')[0];
var
cid
=
MoveInfo
.
MoveParam
.
PosID
;
//.Split('_')[0];
CurrentVStore
=
VStoreCollection
.
VStoreList
[
cid
];
CurrentVStore
=
VStoreCollection
.
VStoreList
[
cid
];
ToPos
=
GetMIPosition
(
GroupName
,
TowerList
.
List
[
cid
].
PosID
);
ToPos
=
GetMIPosition
(
GroupName
,
TowerList
.
List
[
cid
].
PosID
);
Setting_Init
.
Runtime_Robot_ReelInfo
=
JsonConvert
.
SerializeObject
(
MoveInfo
.
MoveParam
);
Config
.
Set
(
"Runtime_Robot_"
+
robotname
+
"_ReelInfo"
,
JsonConvert
.
SerializeObject
(
MoveInfo
.
MoveParam
)
);
Setting_Init
.
Runtime_Robot_FromPos
=
FromPos
.
PositionNum
;
Config
.
Set
(
"Runtime_Robot_"
+
robotname
+
"_FromPos"
,
FromPos
.
PositionNum
)
;
Setting_Init
.
Runtime_Robot_ToPos
=
ToPos
.
PositionNum
;
Config
.
Set
(
"Runtime_Robot_"
+
robotname
+
"_ToPos"
,
ToPos
.
PositionNum
)
;
MoveInfo
.
log
(
$
"开始转移物料:{FromPos.PositionNum}=>{ToPos.PositionNum}"
);
MoveInfo
.
log
(
$
"开始转移物料:{FromPos.PositionNum}=>{ToPos.PositionNum}"
);
}
}
...
@@ -229,24 +249,28 @@ namespace DeviceLibrary
...
@@ -229,24 +249,28 @@ namespace DeviceLibrary
break
;
break
;
case
MoveStep
.
MI_50
:
case
MoveStep
.
MI_50
:
var
InStoreError
=
VStoreCollection
.
VStoreList
.
Values
.
ToList
().
Find
(
vs
=>
vs
.
RTStoreStatus
==
RTStoreStatus
.
InStoreError
||
vs
.
RTStoreStatus
==
RTStoreStatus
.
InStoreDataTimeOut
||
vs
.
TerminalError
);
var
InStoreError
=
VStoreCollection
.
VStoreList
.
Values
.
Where
(
vs
=>
vs
.
TowerInfo
.
DeviceGroupName
==
GroupName
).
ToList
().
Find
(
vs
=>
vs
.
RTStoreStatus
==
RTStoreStatus
.
InStoreError
||
vs
.
RTStoreStatus
==
RTStoreStatus
.
InStoreDataTimeOut
||
vs
.
TerminalError
);
if
(
InStoreError
!=
null
)
if
(
InStoreError
!=
null
)
{
{
var
result
=
TheLine
.
GetReelSize
<
ResultData
>(
InStoreError
.
CurrentTerminalReelID
);
var
result
=
TheLine
.
GetReelSize
<
ResultData
>(
InStoreError
.
CurrentTerminalReelID
);
if
(
result
!=
null
&&
result
.
code
==
0
)
if
(
result
!=
null
&&
result
.
code
==
0
)
{
{
CurrntOutReadyStore
=
InStoreError
;
CurrntOutReadyStore
=
InStoreError
;
InStoreError
.
ServerCM
.
cancelPutInTask
(
InStoreError
.
CurrentTerminalReelID
);
//InStoreError.ServerCM.cancelPutInTask(CurrntOutReadyStore
.CurrentTerminalReelID);
CurrentJobInfo
=
new
JobInfo
(
InStoreError
.
CurrentTerminalReelID
,
""
,
int
.
Parse
(
result
.
data
[
"plateW"
]),
int
.
Parse
(
result
.
data
[
"plateH"
]));
CurrentJobInfo
=
new
JobInfo
(
InStoreError
.
CurrentTerminalReelID
,
""
,
int
.
Parse
(
result
.
data
[
"plateW"
]),
int
.
Parse
(
result
.
data
[
"plateH"
]));
InStoreError
.
InStoreJobInfo
=
null
;
InStoreError
.
InStoreJobInfo
=
null
;
MoveInfo
.
log
(
"从服务器检索到物料数据:"
+
CurrentJobInfo
.
ToStr
());
MoveInfo
.
log
(
"从服务器检索到物料数据:"
+
CurrentJobInfo
.
ToStr
());
MoveInfo
.
MoveParam
.
IsNg
=
true
;
MoveInfo
.
MoveParam
.
IsNg
=
true
;
MoveInfo
.
MoveParam
.
NgMsg
=
InStoreError
.
CID
+
"-"
+
InStoreError
.
CurrentTowerStatusText
;
MoveInfo
.
MoveParam
.
NgMsg
=
InStoreError
.
CID
+
"-"
+
InStoreError
.
CurrentTowerStatusText
;
MoveInfo
.
log
(
"检测到有料仓入库NG:"
+
MoveInfo
.
MoveParam
.
NgMsg
);
MoveInfo
.
log
(
"检测到有料仓入库NG:"
+
MoveInfo
.
MoveParam
.
NgMsg
);
}
}
else
else
{
{
MoveInfo
.
log
(
"没有找到,在等待出库的料仓 SN:"
+
InStoreError
.
CurrentTerminalReelID
);
if
(
result
!=
null
)
MoveInfo
.
log
(
JsonConvert
.
SerializeObject
(
result
));
MoveInfo
.
log
(
$
"没有找到,在等待出库的料仓 CID:{InStoreError.CID} SN:"
+
InStoreError
.
CurrentTerminalReelID
);
MoveInfo
.
NextMoveStep
(
MoveStep
.
Wait
);
MoveInfo
.
NextMoveStep
(
MoveStep
.
Wait
);
TrayStop
.
DeviceList
[
GroupName
].
TrayRelease
();
TrayStop
.
DeviceList
[
GroupName
].
TrayRelease
();
return
;
return
;
...
@@ -254,7 +278,7 @@ namespace DeviceLibrary
...
@@ -254,7 +278,7 @@ namespace DeviceLibrary
}
}
else
{
else
{
var
random
=
new
Random
(
DateTime
.
Now
.
Millisecond
);
var
random
=
new
Random
(
DateTime
.
Now
.
Millisecond
);
CurrntOutReadyStore
=
VStoreCollection
.
VStoreList
.
Values
.
ToList
().
FindAll
(
vs
=>
vs
.
RTStoreStatus
==
RTStoreStatus
.
OutStoreReady
).
OrderBy
(
x
=>
random
.
Next
()).
FirstOrDefault
();
CurrntOutReadyStore
=
VStoreCollection
.
VStoreList
.
Values
.
Where
(
vs
=>
vs
.
TowerInfo
.
DeviceGroupName
==
GroupName
).
ToList
().
FindAll
(
vs
=>
vs
.
RTStoreStatus
==
RTStoreStatus
.
OutStoreReady
).
OrderBy
(
x
=>
random
.
Next
()).
FirstOrDefault
();
if
(
CurrntOutReadyStore
!=
null
)
if
(
CurrntOutReadyStore
!=
null
)
{
{
if
(
string
.
IsNullOrEmpty
(
CurrntOutReadyStore
.
CurrentTerminalReelID
))
if
(
string
.
IsNullOrEmpty
(
CurrntOutReadyStore
.
CurrentTerminalReelID
))
...
@@ -297,9 +321,9 @@ namespace DeviceLibrary
...
@@ -297,9 +321,9 @@ namespace DeviceLibrary
MoveInfo
.
MoveParam
.
cid
=
CurrntOutReadyStore
.
CID
;
MoveInfo
.
MoveParam
.
cid
=
CurrntOutReadyStore
.
CID
;
FromPos
=
GetMIPosition
(
GroupName
,
TowerList
.
List
[
MoveInfo
.
MoveParam
.
cid
].
PosID
);
FromPos
=
GetMIPosition
(
GroupName
,
TowerList
.
List
[
MoveInfo
.
MoveParam
.
cid
].
PosID
);
ToPos
=
GetMIPosition
(
GroupName
,
POS_Start
+
"_MT"
);
ToPos
=
GetMIPosition
(
GroupName
,
POS_Start
+
"_MT"
);
Setting_Init
.
Runtime_Robot_ReelInfo
=
JsonConvert
.
SerializeObject
(
MoveInfo
.
MoveParam
);
Config
.
Set
(
"Runtime_Robot_"
+
robotname
+
"_ReelInfo"
,
JsonConvert
.
SerializeObject
(
MoveInfo
.
MoveParam
)
);
Setting_Init
.
Runtime_Robot_FromPos
=
FromPos
.
PositionNum
;
Config
.
Set
(
"Runtime_Robot_"
+
robotname
+
"_FromPos"
,
FromPos
.
PositionNum
)
;
Setting_Init
.
Runtime_Robot_ToPos
=
ToPos
.
PositionNum
;
Config
.
Set
(
"Runtime_Robot_"
+
robotname
+
"_ToPos"
,
ToPos
.
PositionNum
)
;
MoveInfo
.
NextMoveStep
(
MoveStep
.
MI_51
);
MoveInfo
.
NextMoveStep
(
MoveStep
.
MI_51
);
MoveInfo
.
log
(
$
"开始转移物料:{FromPos.PositionNum}=>{ToPos.PositionNum}"
);
MoveInfo
.
log
(
$
"开始转移物料:{FromPos.PositionNum}=>{ToPos.PositionNum}"
);
break
;
break
;
...
@@ -324,20 +348,38 @@ namespace DeviceLibrary
...
@@ -324,20 +348,38 @@ namespace DeviceLibrary
MoveInfo
.
log
(
$
"当前出库料仓[{CurrntOutReadyStore.CID}]存在状态错误:"
+
CurrntOutReadyStore
.
RTStoreStatus
);
MoveInfo
.
log
(
$
"当前出库料仓[{CurrntOutReadyStore.CID}]存在状态错误:"
+
CurrntOutReadyStore
.
RTStoreStatus
);
CurrntOutReadyStore
.
RTStoreStatus
=
RTStoreStatus
.
Busy
;
CurrntOutReadyStore
.
RTStoreStatus
=
RTStoreStatus
.
Busy
;
}
}
if
(
MoveInfo
.
MoveParam
.
IsNg
&&
CurrntOutReadyStore
.
TerminalError
&&
IOValue
(
IO_Type
.
MI_Robot_Reel_Check
).
Equals
(
IO_VALUE
.
LOW
)
if
(
(
MoveInfo
.
MoveParam
.
IsNg
||
CurrntOutReadyStore
.
TerminalError
)
&&
IOValue
(
IO_Type
.
MI_Robot_Reel_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
MI_Robot_Clamp_Check
).
Equals
(
IO_VALUE
.
LOW
))
&&
IOValue
(
IO_Type
.
MI_Robot_Clamp_Check
).
Equals
(
IO_VALUE
.
LOW
))
{
{
MoveInfo
.
log
(
"机器人抓取NG料后发现夹爪上没有料,流程结束处理"
);
MoveInfo
.
log
(
"机器人抓取NG料后发现夹爪上没有料,流程结束处理"
);
CurrntOutReadyStore
.
TerminalError
=
false
;
TrayStop
.
DeviceList
[
GroupName
].
TrayRelease
();
TrayStop
.
DeviceList
[
GroupName
].
TrayRelease
();
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
Wait
);
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
Wait
);
MoveInfo
.
NextMoveStep
(
MoveStep
.
Wait
);
MoveInfo
.
NextMoveStep
(
MoveStep
.
Wait
);
}
}
else
if
(
MoveInfo
.
MoveParam
.
IsNg
){
CurrntOutReadyStore
.
ServerCM
.
cancelPutInTask
(
CurrntOutReadyStore
.
CurrentTerminalReelID
);
MoveInfo
.
log
(
"物料NG取消入库:"
+
CurrntOutReadyStore
.
CurrentTerminalReelID
);
}
}
}
break
;
break
;
case
MoveStep
.
MI_53
:
case
MoveStep
.
MI_53
:
MoveInfo
.
NextMoveStep
(
MoveStep
.
MI_54
);
if
(!
TrayStop
.
DeviceList
[
"AMH-"
+
POS_Start
].
IsFree
())
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_40
);
{
MoveInfo
.
log
(
"机器人开始放料"
);
MoveInfo
.
NextMoveStep
(
MoveStep
.
MI_54
);
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_40
);
MoveInfo
.
log
(
"机器人开始放料"
);
}
else
{
//RemoteLoad remoteLoad = new RemoteLoad();
//remoteLoad.Action = "SetTrayRequest";
//remoteLoad.GroupName= "AMH-" + POS_Start;
//remoteLoad.RequestLoadInfo = new RequestLoadInfo();
//remoteLoad.RequestLoadInfo.TrayType = TrayTypeE.MTP1.ToString();
//remoteLoad.RequestLoadInfo.IsEmpty = true;
//TrayManager.SetTrayRequest(remoteLoad);
Msg
.
add
(
crc
.
GetString
(
"Res0097.b5a12101"
,
"等待空托盘"
),
MsgLevel
.
info
);
}
break
;
break
;
case
MoveStep
.
MI_54
:
case
MoveStep
.
MI_54
:
if
(
RoboMoveInfo
.
MoveStep
>=
MoveStep
.
MI_44
)
if
(
RoboMoveInfo
.
MoveStep
>=
MoveStep
.
MI_44
)
...
@@ -383,10 +425,11 @@ namespace DeviceLibrary
...
@@ -383,10 +425,11 @@ namespace DeviceLibrary
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_02
);
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_02
);
CompTOP1
(
RoboMoveInfo
);
CompTOP1
(
RoboMoveInfo
);
RoboMoveInfo
.
log
(
"压紧轴到待机点"
);
RoboMoveInfo
.
log
(
"压紧轴到待机点"
);
robotHelper
.
lastWeight
=
GetWeight
(
RoboMoveInfo
.
MoveParam
);
break
;
break
;
case
MoveStep
.
MI_02
:
case
MoveStep
.
MI_02
:
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_03
);
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_03
);
robotHelper
.
Move
(
RoboMoveInfo
,
FromPos
.
Take_P5
);
robotHelper
.
Move
(
RoboMoveInfo
,
FromPos
.
Take_P5
,
0
);
RoboMoveInfo
.
log
(
"机器人到Take_P5"
);
RoboMoveInfo
.
log
(
"机器人到Take_P5"
);
break
;
break
;
case
MoveStep
.
MI_03
:
case
MoveStep
.
MI_03
:
...
@@ -399,30 +442,28 @@ namespace DeviceLibrary
...
@@ -399,30 +442,28 @@ namespace DeviceLibrary
if
(!
Comp
.
IsBusy
)
if
(!
Comp
.
IsBusy
)
{
{
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_05
);
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_05
);
robotHelper
.
Move
(
RoboMoveInfo
,
FromPos
.
Take_P6
);
robotHelper
.
Move
(
RoboMoveInfo
,
FromPos
.
Take_P6
,
0
);
RoboMoveInfo
.
log
(
"压紧轴到位"
);
RoboMoveInfo
.
log
(
"压紧轴到位"
);
RoboMoveInfo
.
log
(
"机器人到Take_P6"
);
RoboMoveInfo
.
log
(
"机器人到Take_P6"
);
}
}
break
;
break
;
case
MoveStep
.
MI_05
:
case
MoveStep
.
MI_05
:
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_06
);
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_06
);
CompTOCompression
(
RoboMoveInfo
);
CompTOCompression
(
RoboMoveInfo
);
RoboMoveInfo
.
log
(
"压紧轴都下压"
);
RoboMoveInfo
.
log
(
"压紧轴都下压"
);
break
;
break
;
case
MoveStep
.
MI_06
:
case
MoveStep
.
MI_06
:
if
(!
Comp
.
IsBusy
)
if
(!
Comp
.
IsBusy
)
{
{
RoboMoveInfo
.
log
(
"压紧轴到位脉冲值:"
+
Comp
.
GetAclPosition
());
RoboMoveInfo
.
log
(
"压紧轴到位脉冲值:"
+
Comp
.
GetAclPosition
());
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_07
);
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_07
);
robotHelper
.
Move
(
RoboMoveInfo
,
FromPos
.
Take_P7
);
robotHelper
.
Move
(
RoboMoveInfo
,
FromPos
.
Take_P7
,
robotHelper
.
lastWeight
);
RoboMoveInfo
.
log
(
"机器人到Take_P7"
);
RoboMoveInfo
.
log
(
"机器人到Take_P7"
);
}
}
break
;
break
;
case
MoveStep
.
MI_07
:
case
MoveStep
.
MI_07
:
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_08
);
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_08
);
robotHelper
.
Move
(
RoboMoveInfo
,
FromPos
.
P1
);
robotHelper
.
Move
(
RoboMoveInfo
,
FromPos
.
P1
,
robotHelper
.
lastWeight
);
RoboMoveInfo
.
log
(
"机器人到P1"
);
RoboMoveInfo
.
log
(
"机器人到P1"
);
break
;
break
;
case
MoveStep
.
MI_08
:
case
MoveStep
.
MI_08
:
...
@@ -433,25 +474,25 @@ namespace DeviceLibrary
...
@@ -433,25 +474,25 @@ namespace DeviceLibrary
//机器人放料
//机器人放料
case
MoveStep
.
MI_40
:
case
MoveStep
.
MI_40
:
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_41
);
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_41
);
robotHelper
.
Move
(
RoboMoveInfo
,
ToPos
.
Put_P2
);
robotHelper
.
Move
(
RoboMoveInfo
,
ToPos
.
Put_P2
,
robotHelper
.
lastWeight
);
RoboMoveInfo
.
log
(
"机器人到Put_P2"
);
RoboMoveInfo
.
log
(
"机器人到Put_P2"
);
break
;
break
;
case
MoveStep
.
MI_41
:
case
MoveStep
.
MI_41
:
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_42
);
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_42
);
//Comp.AbsMove(RoboMoveInfo, RobotManage.Config.AMH_RoboMI1_Comp_P1, RobotManage.Config.AMH_RoboMI1_Comp_P1_speed);
//Comp.AbsMove(RoboMoveInfo, RobotManage.Config.AMH_RoboMI1_Comp_P1, RobotManage.Config.AMH_RoboMI1_Comp_P1_speed);
CompTOP1
(
RoboMoveInfo
);
CompTOP1
(
RoboMoveInfo
);
robotHelper
.
Move
(
RoboMoveInfo
,
ToPos
.
Put_P3
);
robotHelper
.
Move
(
RoboMoveInfo
,
ToPos
.
Put_P3
,
robotHelper
.
lastWeight
);
RoboMoveInfo
.
log
(
"压紧轴释放"
);
RoboMoveInfo
.
log
(
"压紧轴释放"
);
RoboMoveInfo
.
log
(
"机器人到Put_P3"
);
RoboMoveInfo
.
log
(
"机器人到Put_P3"
);
break
;
break
;
case
MoveStep
.
MI_42
:
case
MoveStep
.
MI_42
:
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_43
);
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_43
);
robotHelper
.
Move
(
RoboMoveInfo
,
ToPos
.
Put_P4
);
robotHelper
.
Move
(
RoboMoveInfo
,
ToPos
.
Put_P4
,
0
);
RoboMoveInfo
.
log
(
"机器人到Put_P4"
);
RoboMoveInfo
.
log
(
"机器人到Put_P4"
);
break
;
break
;
case
MoveStep
.
MI_43
:
case
MoveStep
.
MI_43
:
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_44
);
RoboMoveInfo
.
NextMoveStep
(
MoveStep
.
MI_44
);
robotHelper
.
Move
(
RoboMoveInfo
,
ToPos
.
P1
);
robotHelper
.
Move
(
RoboMoveInfo
,
ToPos
.
P1
,
0
);
RoboMoveInfo
.
log
(
"机器人到P1"
);
RoboMoveInfo
.
log
(
"机器人到P1"
);
break
;
break
;
case
MoveStep
.
MI_44
:
case
MoveStep
.
MI_44
:
...
@@ -482,8 +523,15 @@ namespace DeviceLibrary
...
@@ -482,8 +523,15 @@ namespace DeviceLibrary
}
}
internal
void
StartOutStore
()
internal
void
StartOutStore
()
{
{
MoveInfo
.
NewMove
(
MoveStep
.
MI_50
);
if
(
MoveInfo
.
MoveStep
>=
MoveStep
.
MI_50
)
MoveInfo
.
log
(
"开始出库"
);
{
MoveInfo
.
log
(
"机器人正在等待托盘"
);
}
else
{
MoveInfo
.
NewMove
(
MoveStep
.
MI_50
);
MoveInfo
.
log
(
"开始出库"
);
}
}
}
/// <summary>
/// <summary>
/// 释放托盘
/// 释放托盘
...
@@ -523,22 +571,26 @@ namespace DeviceLibrary
...
@@ -523,22 +571,26 @@ namespace DeviceLibrary
break
;
break
;
case
MoveStep
.
H01_HomeReset
:
case
MoveStep
.
H01_HomeReset
:
var
m1step
=
(
MoveStep
)
Enum
.
Parse
(
typeof
(
MoveStep
),
Config
.
Get
(
"RuntimeRobot_MoveStep"
));
if
(!
Enum
.
TryParse
<
MoveStep
>(
Config
.
Get
(
"RuntimeRobot_"
+
robotname
+
"_MoveStep"
,
MoveStep
.
Wait
.
ToString
()),
out
MoveStep
m1step
))
var
m2step
=
(
MoveStep
)
Enum
.
Parse
(
typeof
(
MoveStep
),
Config
.
Get
(
"RuntimeRobot_Arm_MoveStep"
));
m1step
=
MoveStep
.
Wait
;
if
(!
Enum
.
TryParse
<
MoveStep
>(
Config
.
Get
(
"RuntimeRobot_"
+
robotname
+
"_Arm_MoveStep"
,
MoveStep
.
Wait
.
ToString
()),
out
MoveStep
m2step
))
m2step
=
MoveStep
.
Wait
;
//var m1step = (MoveStep)Enum.Parse(typeof(MoveStep), Config.Get("RuntimeRobot_" + robotname + "_MoveStep", MoveStep.Wait.ToString()));
//var m2step = (MoveStep)Enum.Parse(typeof(MoveStep), Config.Get("RuntimeRobot_" + robotname + "_Arm_MoveStep", MoveStep.Wait.ToString()));
if
(
IOValue
(
IO_Type
.
MI_Robot_Clamp_Check
).
Equals
(
IO_VALUE
.
LOW
)
if
(
IOValue
(
IO_Type
.
MI_Robot_Clamp_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
MI_Robot_Reel_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
MI_Robot_Reel_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
m1step
==
MoveStep
.
Wait
)
&&
m1step
==
MoveStep
.
Wait
)
{
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
H09_HomeReset
);
MoveInfo
.
NextMoveStep
(
MoveStep
.
H09_HomeReset
);
Robot
.
SendMoveCmd
(
1
,
Setting_Init
.
URRobot_MI1_Speed_Rate
);
Robot
.
SendMoveCmd
(
1
,
Setting_Init
.
URRobot_MI1_Speed_Rate
,
false
,
RobotHelper
.
LoadRateParam
[
robotHelper
.
lastWeight
]
);
MoveInfo
.
log
(
"没有最后的动作, 机器人回待机点"
);
MoveInfo
.
log
(
"没有最后的动作, 机器人回待机点"
);
}
}
else
else
{
{
MoveInfo
.
MoveParam
=
JsonConvert
.
DeserializeObject
<
ReelParam
>(
Setting_Init
.
Runtime_Robot_ReelInfo
);
MoveInfo
.
MoveParam
=
JsonConvert
.
DeserializeObject
<
ReelParam
>(
Config
.
Get
(
"Runtime_Robot_"
+
robotname
+
"_ReelInfo"
)
);
RoboMoveInfo
.
MoveParam
=
MoveInfo
.
MoveParam
.
clone
();
RoboMoveInfo
.
MoveParam
=
MoveInfo
.
MoveParam
.
clone
();
FromPos
=
GetMIPosition
(
GroupName
,
Setting_Init
.
Runtime_Robot_FromPos
);
FromPos
=
GetMIPosition
(
GroupName
,
Config
.
Get
(
"Runtime_Robot_"
+
robotname
+
"_FromPos"
)
);
ToPos
=
GetMIPosition
(
GroupName
,
Setting_Init
.
Runtime_Robot_ToPos
);
ToPos
=
GetMIPosition
(
GroupName
,
Config
.
Get
(
"Runtime_Robot_"
+
robotname
+
"_ToPos"
)
);
CurrentVStore
=
VStoreCollection
.
VStoreList
[
MoveInfo
.
MoveParam
.
cid
];
CurrentVStore
=
VStoreCollection
.
VStoreList
[
MoveInfo
.
MoveParam
.
cid
];
MoveInfo
.
NextMoveStep
(
m1step
);
MoveInfo
.
NextMoveStep
(
m1step
);
RoboMoveInfo
.
NextMoveStep
(
m2step
);
RoboMoveInfo
.
NextMoveStep
(
m2step
);
...
@@ -585,37 +637,7 @@ namespace DeviceLibrary
...
@@ -585,37 +637,7 @@ namespace DeviceLibrary
case
MoveStep
.
H05_HomeReset
:
case
MoveStep
.
H05_HomeReset
:
MoveInfo
.
NextMoveStep
(
MoveStep
.
H09_HomeReset
);
MoveInfo
.
NextMoveStep
(
MoveStep
.
H09_HomeReset
);
return
;
return
;
m1step
=
(
MoveStep
)
Enum
.
Parse
(
typeof
(
MoveStep
),
Setting_Init
.
RuntimeRobot_MoveStep
);
m2step
=
(
MoveStep
)
Enum
.
Parse
(
typeof
(
MoveStep
),
Setting_Init
.
RuntimeRobot_Arm_MoveStep
);
if
(
IOValue
(
IO_Type
.
MI_Robot_Clamp_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
MI_Robot_Reel_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
m1step
==
MoveStep
.
Wait
)
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
H09_HomeReset
);
Robot
.
SendMoveCmd
(
1
,
Setting_Init
.
URRobot_MI1_Speed_Rate
);
MoveInfo
.
log
(
"没有最后的动作, 机器人回待机点"
);
}
else
{
MoveInfo
.
MoveParam
=
JsonConvert
.
DeserializeObject
<
ReelParam
>(
Setting_Init
.
Runtime_Robot_ReelInfo
);
FromPos
=
GetMIPosition
(
GroupName
,
Setting_Init
.
Runtime_Robot_FromPos
);
ToPos
=
GetMIPosition
(
GroupName
,
Setting_Init
.
Runtime_Robot_ToPos
);
CurrentVStore
=
VStoreCollection
.
VStoreList
[
MoveInfo
.
MoveParam
.
cid
];
MoveInfo
.
NextMoveStep
(
m1step
);
RoboMoveInfo
.
NextMoveStep
(
m2step
);
DeviceState
=
DeviceStateE
.
Run
;
}
//else if (int.TryParse(Robot.LastMoveCmd, out int cmdid))
//{
// lastCmd = cmdid;
// lastStep = cmdid % 10;
// lastPrefix = lastStep * 10;
// Robot.SendMoveCmd(lastCmd, Setting_Init.URRobot_MI1_Speed_Rate);
// MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1500));
// MoveInfo.log("机器人重做最后的动作:" + lastCmd);
//}
break
;
case
MoveStep
.
H06_HomeReset
:
case
MoveStep
.
H06_HomeReset
:
if
(
Robot
.
MoveCmdOk
())
if
(
Robot
.
MoveCmdOk
())
{
{
...
@@ -626,7 +648,7 @@ namespace DeviceLibrary
...
@@ -626,7 +648,7 @@ namespace DeviceLibrary
return
;
return
;
}
}
RoboMoveInfo
.
MoveParam
=
MoveInfo
.
MoveParam
.
clone
();
RoboMoveInfo
.
MoveParam
=
MoveInfo
.
MoveParam
.
clone
();
robotHelper
.
lastWeight
=
GetWeight
(
RoboMoveInfo
.
MoveParam
);
//如果上一步是回待机点,但料叉上有物料
//如果上一步是回待机点,但料叉上有物料
if
(
lastStep
==
1
)
if
(
lastStep
==
1
)
{
{
...
@@ -718,13 +740,17 @@ namespace DeviceLibrary
...
@@ -718,13 +740,17 @@ namespace DeviceLibrary
{
{
if
(
DeviceState
!=
DeviceStateE
.
Run
)
if
(
DeviceState
!=
DeviceStateE
.
Run
)
return
false
;
return
false
;
if
(
reelParam
==
null
&&
MoveInfo
.
MoveStep
>=
MoveStep
.
MI_50
)
//正在出库中
return
true
;
if
(
MoveInfo
.
MoveStep
!=
MoveStep
.
Wait
)
if
(
MoveInfo
.
MoveStep
!=
MoveStep
.
Wait
)
return
false
;
return
false
;
if
(
reelParam
==
null
)
if
(
reelParam
==
null
)
{
{
//空托盘,判断有没有出库任务
//空托盘,判断有没有出库任务
var
sc
=
VStoreCollection
.
VStoreList
.
Values
.
ToList
().
Find
(
vs
=>
vs
.
RTStoreStatus
==
RTStoreStatus
.
OutStoreReady
||
vs
.
RTStoreStatus
==
RTStoreStatus
.
InStoreError
||
vs
.
RTStoreStatus
==
RTStoreStatus
.
InStoreDataTimeOut
||
vs
.
TerminalError
);
var
sc
=
VStoreCollection
.
VStoreList
.
Values
.
Where
(
vs
=>
vs
.
TowerInfo
.
DeviceGroupName
==
GroupName
).
ToList
().
Find
(
vs
=>
vs
.
RTStoreStatus
==
RTStoreStatus
.
OutStoreReady
||
vs
.
RTStoreStatus
==
RTStoreStatus
.
InStoreError
||
vs
.
RTStoreStatus
==
RTStoreStatus
.
InStoreDataTimeOut
||
vs
.
TerminalError
);
return
(
sc
!=
null
);
return
(
sc
!=
null
);
}
}
if
(
string
.
IsNullOrEmpty
(
reelParam
.
SubCID
))
{
if
(
string
.
IsNullOrEmpty
(
reelParam
.
SubCID
))
{
...
@@ -778,6 +804,23 @@ namespace DeviceLibrary
...
@@ -778,6 +804,23 @@ namespace DeviceLibrary
return
RobotManage
.
CIPostion
[
pos
];
return
RobotManage
.
CIPostion
[
pos
];
}
}
int
GetWeight
(
ReelParam
reelParam
)
{
int
w
=
0
;
if
(
reelParam
==
null
)
w
=
0
;
else
if
(
reelParam
.
PlateW
==
7
)
w
=
1
;
else
if
(
reelParam
.
PlateW
==
13
&&
reelParam
.
PlateH
==
8
)
w
=
2
;
else
if
(
reelParam
.
PlateW
==
13
)
w
=
3
;
else
if
(
reelParam
.
PlateW
==
15
)
w
=
3
;
else
w
=
2
;
RoboMoveInfo
.
log
(
$
"机器人负载设定: {reelParam?.PlateW}x{reelParam?.PlateH}={w}"
);
return
w
;
}
public
void
FrontStopProcess
()
public
void
FrontStopProcess
()
{
{
...
...
DeviceLibrary/theMachine/sub/SideMove.cs
查看文件 @
1d786b6
...
@@ -125,16 +125,6 @@ namespace DeviceLibrary
...
@@ -125,16 +125,6 @@ namespace DeviceLibrary
case
MoveStep
.
SideMove_01
:
case
MoveStep
.
SideMove_01
:
LSAMoveInfo
.
NextMoveStep
(
MoveStep
.
SideMove_01
);
LSAMoveInfo
.
NextMoveStep
(
MoveStep
.
SideMove_01
);
bool
Forcetry
=
false
;
bool
Forcetry
=
false
;
//if (LastGoInFail && (LastGoInFailTime - DateTime.Now).TotalSeconds > 10)
//{
// Forcetry = true;
// LSAMoveInfo.log("上次托盘进入失败本次重试");
//}
//if (IOValue(IO_Type.Ls_B_Tray_Check).Equals(IO_VALUE.HIGH))
//{
// break;
//}
//else
if
(
IOValue
(
IO_Type
.
Ls_A_Tray_Check
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
IOValue
(
IO_Type
.
Ls_A_Tray_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
LSAMoveInfo
.
NextMoveStep
(
MoveStep
.
SideMove_04
);
LSAMoveInfo
.
NextMoveStep
(
MoveStep
.
SideMove_04
);
...
@@ -149,9 +139,9 @@ namespace DeviceLibrary
...
@@ -149,9 +139,9 @@ namespace DeviceLibrary
//LSAMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
//LSAMoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
}
}
else
else
if
(
LSAMoveInfo
.
IsTimeOut
(
120
))
{
{
//Msg.add(crc.GetString("Res0184", "空闲中"), MsgLevel.info
);
Msg
.
add
(
crc
.
GetString
(
"Res0100.9451681e"
,
"入口长时间未检测到托盘,请检查."
),
MsgLevel
.
alarm
);
}
}
break
;
break
;
case
MoveStep
.
SideMove_02
:
case
MoveStep
.
SideMove_02
:
...
...
DeviceLibrary/theMachine/sub/TransplantMove.cs
查看文件 @
1d786b6
...
@@ -106,9 +106,9 @@ namespace DeviceLibrary
...
@@ -106,9 +106,9 @@ namespace DeviceLibrary
MoveInfo
.
NextMoveStep
(
MoveStep
.
TransplantMove_01
);
MoveInfo
.
NextMoveStep
(
MoveStep
.
TransplantMove_01
);
Location
.
ToLow
(
MoveInfo
);
Location
.
ToLow
(
MoveInfo
);
}
}
else
else
if
(
MoveInfo
.
IsTimeOut
(
120
))
{
{
//Msg.add(crc.GetString("Res0184", "空闲中"), MsgLevel.info
);
Msg
.
add
(
crc
.
GetString
(
"Res0100.9451681e"
,
"入口长时间未检测到托盘,请检查."
),
MsgLevel
.
alarm
);
}
}
//if (TrayManager.TestTrayRequest(GroupName)) {
//if (TrayManager.TestTrayRequest(GroupName)) {
...
...
DeviceLibrary/theMachine/sub/TrayStop.cs
查看文件 @
1d786b6
...
@@ -113,8 +113,9 @@ namespace DeviceLibrary
...
@@ -113,8 +113,9 @@ namespace DeviceLibrary
IOMove
(
IO_Type
.
AMH_Front_Stop
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
AMH_Front_Stop
,
IO_VALUE
.
HIGH
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
}
}
else
{
else
if
(
MoveInfo
.
IsTimeOut
(
120
))
//Msg.add(crc.GetString("Res0184","空闲中"), MsgLevel.info);
{
Msg
.
add
(
crc
.
GetString
(
"Res0100.9451681e"
,
"入口长时间未检测到托盘,请检查."
),
MsgLevel
.
alarm
);
}
}
break
;
break
;
case
MoveStep
.
TrayStop_01
:
case
MoveStep
.
TrayStop_01
:
...
@@ -148,8 +149,8 @@ namespace DeviceLibrary
...
@@ -148,8 +149,8 @@ namespace DeviceLibrary
TrayManager
.
Process
(
MoveInfo
,
CurrrentRFID
,
DeviceGroup
.
addr_1
,
IOValue
(
IO_Type
.
MI_Reel_Check
).
Equals
(
IO_VALUE
.
HIGH
)?
1
:
0
,
out
TrayInfo
trayInfo
);
TrayManager
.
Process
(
MoveInfo
,
CurrrentRFID
,
DeviceGroup
.
addr_1
,
IOValue
(
IO_Type
.
MI_Reel_Check
).
Equals
(
IO_VALUE
.
HIGH
)?
1
:
0
,
out
TrayInfo
trayInfo
);
var
stop
=
TrayManager
.
TryGetTrayRequest
(
GroupName
,
CurrrentRFID
,
out
_
);
var
stop
=
TrayManager
.
TryGetTrayRequest
(
GroupName
,
CurrrentRFID
,
out
_
);
MoveInfo
.
log
(
$
"CurrrentRFID:{CurrrentRFID},HasLoad:{trayInfo.HasLoad},MI_Reel_Check:{IOValue(IO_Type.MI_Reel_Check)},NeedStop:{stop}"
);
MoveInfo
.
log
(
$
"CurrrentRFID:{CurrrentRFID},HasLoad:{trayInfo.HasLoad},MI_Reel_Check:{IOValue(IO_Type.MI_Reel_Check)},NeedStop:{stop}"
);
#
region
张东亮处理
#
region
if
(
GroupName
==
"AMH-MI1"
&&
trayInfo
.
TrayType
==
TrayTypeE
.
MTP1
)
// || GroupName == "AMH-MI2"
)
if
(
(
GroupName
==
"AMH-MI1"
||
GroupName
==
"AMH-MI2"
)
&&
trayInfo
.
TrayType
==
TrayTypeE
.
MTP1
)
{
{
/*
/*
* 请求一个空托盘
* 请求一个空托盘
...
@@ -345,6 +346,7 @@ namespace DeviceLibrary
...
@@ -345,6 +346,7 @@ namespace DeviceLibrary
if
(
IOValue
(
IO_Type
.
MI_Reel_Check
).
Equals
(
IO_VALUE
.
LOW
))
if
(
IOValue
(
IO_Type
.
MI_Reel_Check
).
Equals
(
IO_VALUE
.
LOW
))
{
{
Msg
.
add
(
crc
.
GetString
(
"Res0062"
,
"托盘放料后没有检测到物料"
),
MsgLevel
.
alarm
);
Msg
.
add
(
crc
.
GetString
(
"Res0062"
,
"托盘放料后没有检测到物料"
),
MsgLevel
.
alarm
);
MoveInfo
.
log
(
"托盘放料后没有检测到物料"
);
return
;
return
;
}
}
}
}
...
@@ -423,7 +425,7 @@ namespace DeviceLibrary
...
@@ -423,7 +425,7 @@ namespace DeviceLibrary
Msg
.
add
(
crc
.
GetString
(
"Res0041"
,
"ML5料口门光栅被遮挡"
),
MsgLevel
.
warning
);
Msg
.
add
(
crc
.
GetString
(
"Res0041"
,
"ML5料口门光栅被遮挡"
),
MsgLevel
.
warning
);
break
;
break
;
}
}
var
dl
=
new
string
[]
{
"AMH-MI1"
};
//
, "AMH-MI2" };
var
dl
=
new
string
[]
{
"AMH-MI1"
,
"AMH-MI2"
};
foreach
(
var
d
in
dl
)
foreach
(
var
d
in
dl
)
{
{
if
(
GroupName
==
d
&&
MI
.
DeviceList
[
d
].
DeviceState
!=
DeviceStateE
.
Run
if
(
GroupName
==
d
&&
MI
.
DeviceList
[
d
].
DeviceState
!=
DeviceStateE
.
Run
...
@@ -458,7 +460,11 @@ namespace DeviceLibrary
...
@@ -458,7 +460,11 @@ namespace DeviceLibrary
break
;
break
;
}
}
}
}
/// <summary>
/// MoveInfo.MoveStep == MoveStep.TrayStop_WaitLoadProcess
/// 是返回false
/// </summary>
/// <returns></returns>
public
bool
IsFree
()
public
bool
IsFree
()
{
{
if
(
MoveInfo
.
MoveStep
==
MoveStep
.
TrayStop_WaitLoadProcess
)
if
(
MoveInfo
.
MoveStep
==
MoveStep
.
TrayStop_WaitLoadProcess
)
...
...
DeviceLibrary/userControl/FixtureSizeConfigControl.Designer.cs
查看文件 @
1d786b6
...
@@ -59,9 +59,9 @@ namespace DeviceLibrary
...
@@ -59,9 +59,9 @@ namespace DeviceLibrary
//
//
// button1
// button1
//
//
this
.
button1
.
Location
=
new
System
.
Drawing
.
Point
(
207
,
160
);
this
.
button1
.
Location
=
new
System
.
Drawing
.
Point
(
187
,
194
);
this
.
button1
.
Name
=
"button1"
;
this
.
button1
.
Name
=
"button1"
;
this
.
button1
.
Size
=
new
System
.
Drawing
.
Size
(
8
2
,
23
);
this
.
button1
.
Size
=
new
System
.
Drawing
.
Size
(
10
2
,
23
);
this
.
button1
.
TabIndex
=
1
;
this
.
button1
.
TabIndex
=
1
;
this
.
button1
.
Text
=
"添加/修改"
;
this
.
button1
.
Text
=
"添加/修改"
;
this
.
button1
.
UseVisualStyleBackColor
=
true
;
this
.
button1
.
UseVisualStyleBackColor
=
true
;
...
@@ -143,7 +143,7 @@ namespace DeviceLibrary
...
@@ -143,7 +143,7 @@ namespace DeviceLibrary
this
.
checkBox_useedremove
.
AutoSize
=
true
;
this
.
checkBox_useedremove
.
AutoSize
=
true
;
this
.
checkBox_useedremove
.
Checked
=
true
;
this
.
checkBox_useedremove
.
Checked
=
true
;
this
.
checkBox_useedremove
.
CheckState
=
System
.
Windows
.
Forms
.
CheckState
.
Checked
;
this
.
checkBox_useedremove
.
CheckState
=
System
.
Windows
.
Forms
.
CheckState
.
Checked
;
this
.
checkBox_useedremove
.
Location
=
new
System
.
Drawing
.
Point
(
51
,
1
64
);
this
.
checkBox_useedremove
.
Location
=
new
System
.
Drawing
.
Point
(
51
,
1
59
);
this
.
checkBox_useedremove
.
Name
=
"checkBox_useedremove"
;
this
.
checkBox_useedremove
.
Name
=
"checkBox_useedremove"
;
this
.
checkBox_useedremove
.
Size
=
new
System
.
Drawing
.
Size
(
72
,
16
);
this
.
checkBox_useedremove
.
Size
=
new
System
.
Drawing
.
Size
(
72
,
16
);
this
.
checkBox_useedremove
.
TabIndex
=
5
;
this
.
checkBox_useedremove
.
TabIndex
=
5
;
...
@@ -173,7 +173,7 @@ namespace DeviceLibrary
...
@@ -173,7 +173,7 @@ namespace DeviceLibrary
this
.
groupBox_add
.
Controls
.
Add
(
this
.
button1
);
this
.
groupBox_add
.
Controls
.
Add
(
this
.
button1
);
this
.
groupBox_add
.
Location
=
new
System
.
Drawing
.
Point
(
37
,
230
);
this
.
groupBox_add
.
Location
=
new
System
.
Drawing
.
Point
(
37
,
230
);
this
.
groupBox_add
.
Name
=
"groupBox_add"
;
this
.
groupBox_add
.
Name
=
"groupBox_add"
;
this
.
groupBox_add
.
Size
=
new
System
.
Drawing
.
Size
(
341
,
2
16
);
this
.
groupBox_add
.
Size
=
new
System
.
Drawing
.
Size
(
341
,
2
34
);
this
.
groupBox_add
.
TabIndex
=
6
;
this
.
groupBox_add
.
TabIndex
=
6
;
this
.
groupBox_add
.
TabStop
=
false
;
this
.
groupBox_add
.
TabStop
=
false
;
this
.
groupBox_add
.
Text
=
"添加或修改"
;
this
.
groupBox_add
.
Text
=
"添加或修改"
;
...
...
LoadCVSLibrary/LoadCSVLibrary.csproj
查看文件 @
1d786b6
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>OnlineStore.LoadCSVLibrary</RootNamespace>
<RootNamespace>OnlineStore.LoadCSVLibrary</RootNamespace>
<AssemblyName>LoadCSVLibrary</AssemblyName>
<AssemblyName>LoadCSVLibrary</AssemblyName>
<TargetFrameworkVersion>v4.
6.2
</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.
8
</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<TargetFrameworkProfile />
</PropertyGroup>
</PropertyGroup>
...
...
LoadCVSLibrary/app.config
查看文件 @
1d786b6
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
configuration
>
<
configuration
>
<
startup
><
supportedRuntime
version
=
"v4.0"
sku
=
".NETFramework,Version=v4.
6.2
"
/></
startup
></
configuration
>
<
startup
><
supportedRuntime
version
=
"v4.0"
sku
=
".NETFramework,Version=v4.
8
"
/></
startup
></
configuration
>
RemoteSheardObject/Class1.cs
查看文件 @
1d786b6
...
@@ -142,6 +142,7 @@ public class ReelParam
...
@@ -142,6 +142,7 @@ public class ReelParam
/// 料盘宽度
/// 料盘宽度
/// </summary>
/// </summary>
public
int
PlateW
{
get
;
set
;
}
public
int
PlateW
{
get
;
set
;
}
public
float
Weight
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 是否是入料NG料
/// 是否是入料NG料
/// </summary>
/// </summary>
...
...
RemoteSheardObject/RemoteSheardObject.csproj
查看文件 @
1d786b6
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>RemoteSheardObject</RootNamespace>
<RootNamespace>RemoteSheardObject</RootNamespace>
<AssemblyName>RemoteSheardObject</AssemblyName>
<AssemblyName>RemoteSheardObject</AssemblyName>
<TargetFrameworkVersion>v4.
6.2
</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.
8
</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
<TargetFrameworkProfile />
...
...
RemoteSheardObject/TheLine.cs
查看文件 @
1d786b6
...
@@ -100,13 +100,13 @@ namespace RemoteSheardObject
...
@@ -100,13 +100,13 @@ namespace RemoteSheardObject
public
static
void
UploadStatus
(
EquipMsgData
equipMsgData
)
public
static
void
UploadStatus
(
EquipMsgData
equipMsgData
)
{
{
string
url
=
CombineUrl
(
Config
.
Get
(
"Device_Server_Address"
),
"/rest/micron/device/updateStatus"
);
string
url
=
CombineUrl
(
Config
.
Get
(
"Device_Server_Address"
),
"/rest/micron/device/updateStatus"
);
var
resultStr
=
HttpHelper
.
Post
<
EquipMsgData
,
ResultData
>(
url
,
equipMsgData
);
var
resultStr
=
HttpHelper
.
Post
<
EquipMsgData
,
ResultData
2
>(
url
,
equipMsgData
);
}
}
public
static
void
uploadNgReel
(
NgMsgData
ngMsgData
)
public
static
void
uploadNgReel
(
NgMsgData
ngMsgData
)
{
{
string
url
=
CombineUrl
(
Config
.
Get
(
"Device_Server_Address"
),
"/rest/micron/device/uploadNgReel"
);
string
url
=
CombineUrl
(
Config
.
Get
(
"Device_Server_Address"
),
"/rest/micron/device/uploadNgReel"
);
var
resultStr
=
HttpHelper
.
Post
<
NgMsgData
,
ResultData
>(
url
,
ngMsgData
,
5000
,
true
);
var
resultStr
=
HttpHelper
.
Post
<
NgMsgData
,
ResultData
2
>(
url
,
ngMsgData
,
5000
,
true
);
}
}
/// <summary>
/// <summary>
/// NG口位置,1=左侧,2=右侧
/// NG口位置,1=左侧,2=右侧
...
...
TheMachine/App.config
查看文件 @
1d786b6
...
@@ -193,13 +193,111 @@
...
@@ -193,13 +193,111 @@
<
level
value
=
"ALL"
/>
<
level
value
=
"ALL"
/>
<
appender
-
ref
ref
=
"003048"
/>
<
appender
-
ref
ref
=
"003048"
/>
</
logger
>
</
logger
>
<
appender
name
=
"003035"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/RT-003035.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
</
layout
>
</
appender
>
<
logger
name
=
"003035"
additivity
=
"false"
>
<
level
value
=
"ALL"
/>
<
appender
-
ref
ref
=
"003035"
/>
</
logger
>
<
appender
name
=
"003036"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/RT-003036.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
</
layout
>
</
appender
>
<
logger
name
=
"003036"
additivity
=
"false"
>
<
level
value
=
"ALL"
/>
<
appender
-
ref
ref
=
"003036"
/>
</
logger
>
<
appender
name
=
"003041"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/RT-003041.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
</
layout
>
</
appender
>
<
logger
name
=
"003041"
additivity
=
"false"
>
<
level
value
=
"ALL"
/>
<
appender
-
ref
ref
=
"003041"
/>
</
logger
>
<
appender
name
=
"003042"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/RT-003042.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
</
layout
>
</
appender
>
<
logger
name
=
"003042"
additivity
=
"false"
>
<
level
value
=
"ALL"
/>
<
appender
-
ref
ref
=
"003042"
/>
</
logger
>
<
appender
name
=
"Robot-R1"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/Robot-R1.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
</
layout
>
</
appender
>
<
logger
name
=
"Robot-R1"
additivity
=
"false"
>
<
level
value
=
"ALL"
/>
<
appender
-
ref
ref
=
"Robot-R1"
/>
</
logger
>
<
appender
name
=
"Robot-R2"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/Robot-R2.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
</
layout
>
</
appender
>
<
logger
name
=
"Robot-R2"
additivity
=
"false"
>
<
level
value
=
"ALL"
/>
<
appender
-
ref
ref
=
"Robot-R2"
/>
</
logger
>
<
appender
name
=
"Robot-CI"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/Robot-CI.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
</
layout
>
</
appender
>
<
logger
name
=
"Robot-CI"
additivity
=
"false"
>
<
level
value
=
"ALL"
/>
<
appender
-
ref
ref
=
"Robot-CI"
/>
</
logger
>
<!--<
root
>
<!--<
root
>
<
level
value
=
"Info"
/>
<
level
value
=
"Info"
/>
<
appender
-
ref
ref
=
"RollingLogFileAppender"
/>
<
appender
-
ref
ref
=
"RollingLogFileAppender"
/>
</
root
>-->
</
root
>-->
</
log4net
>
</
log4net
>
<
startup
>
<
startup
>
<
supportedRuntime
version
=
"v4.0"
sku
=
".NETFramework,Version=v4.
7.2
"
/>
<
supportedRuntime
version
=
"v4.0"
sku
=
".NETFramework,Version=v4.
8
"
/>
</
startup
>
</
startup
>
<
runtime
>
<
runtime
>
<
assemblyBinding
xmlns
=
"urn:schemas-microsoft-com:asm.v1"
>
<
assemblyBinding
xmlns
=
"urn:schemas-microsoft-com:asm.v1"
>
...
...
TheMachine/Form1.Designer.cs
查看文件 @
1d786b6
...
@@ -38,6 +38,8 @@ namespace TheMachine
...
@@ -38,6 +38,8 @@ namespace TheMachine
this
.
toolStripSeparator2
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
toolStripSeparator2
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
启用调试模式
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
启用调试模式
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
toolStripSeparator4
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
toolStripSeparator4
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
禁用蜂鸣器
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
toolStripSeparator3
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
退出
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
退出
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
语言
toolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
语言
toolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
简体中文
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
简体中文
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
...
@@ -46,10 +48,8 @@ namespace TheMachine
...
@@ -46,10 +48,8 @@ namespace TheMachine
this
.
tabc
=
new
System
.
Windows
.
Forms
.
TabControl
();
this
.
tabc
=
new
System
.
Windows
.
Forms
.
TabControl
();
this
.
tabP1
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
tabP1
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
pnl
=
new
System
.
Windows
.
Forms
.
Panel
();
this
.
pnl
=
new
System
.
Windows
.
Forms
.
Panel
();
this
.
btn_PauseBuzzer
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
禁用蜂鸣器
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
toolStripSeparator3
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
listView1
=
new
TheMachine
.
DoubleBufferListView
();
this
.
listView1
=
new
TheMachine
.
DoubleBufferListView
();
this
.
btn_PauseBuzzer
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
menuStrip1
.
SuspendLayout
();
this
.
menuStrip1
.
SuspendLayout
();
this
.
tabc
.
SuspendLayout
();
this
.
tabc
.
SuspendLayout
();
this
.
tabP1
.
SuspendLayout
();
this
.
tabP1
.
SuspendLayout
();
...
@@ -118,14 +118,24 @@ namespace TheMachine
...
@@ -118,14 +118,24 @@ namespace TheMachine
this
.
启用调试模式
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
204
,
32
);
this
.
启用调试模式
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
204
,
32
);
this
.
启用调试模式
ToolStripMenuItem
.
Tag
=
"not"
;
this
.
启用调试模式
ToolStripMenuItem
.
Tag
=
"not"
;
this
.
启用调试模式
ToolStripMenuItem
.
Text
=
"启用配置模式"
;
this
.
启用调试模式
ToolStripMenuItem
.
Text
=
"启用配置模式"
;
this
.
启用调试模式
ToolStripMenuItem
.
Visible
=
false
;
this
.
启用调试模式
ToolStripMenuItem
.
Click
+=
new
System
.
EventHandler
(
this
.
启用调试模式
ToolStripMenuItem_Click
);
this
.
启用调试模式
ToolStripMenuItem
.
Click
+=
new
System
.
EventHandler
(
this
.
启用调试模式
ToolStripMenuItem_Click
);
//
//
// toolStripSeparator4
// toolStripSeparator4
//
//
this
.
toolStripSeparator4
.
Name
=
"toolStripSeparator4"
;
this
.
toolStripSeparator4
.
Name
=
"toolStripSeparator4"
;
this
.
toolStripSeparator4
.
Size
=
new
System
.
Drawing
.
Size
(
201
,
6
);
this
.
toolStripSeparator4
.
Size
=
new
System
.
Drawing
.
Size
(
201
,
6
);
this
.
toolStripSeparator4
.
Visible
=
false
;
//
// 禁用蜂鸣器ToolStripMenuItem
//
this
.
禁用蜂鸣器
ToolStripMenuItem
.
Name
=
"禁用蜂鸣器ToolStripMenuItem"
;
this
.
禁用蜂鸣器
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
204
,
32
);
this
.
禁用蜂鸣器
ToolStripMenuItem
.
Text
=
"禁用蜂鸣器"
;
this
.
禁用蜂鸣器
ToolStripMenuItem
.
Click
+=
new
System
.
EventHandler
(
this
.
禁用蜂鸣器
ToolStripMenuItem_Click
);
//
// toolStripSeparator3
//
this
.
toolStripSeparator3
.
Name
=
"toolStripSeparator3"
;
this
.
toolStripSeparator3
.
Size
=
new
System
.
Drawing
.
Size
(
201
,
6
);
//
//
// 退出ToolStripMenuItem
// 退出ToolStripMenuItem
//
//
...
@@ -198,31 +208,6 @@ namespace TheMachine
...
@@ -198,31 +208,6 @@ namespace TheMachine
this
.
pnl
.
Size
=
new
System
.
Drawing
.
Size
(
1000
,
431
);
this
.
pnl
.
Size
=
new
System
.
Drawing
.
Size
(
1000
,
431
);
this
.
pnl
.
TabIndex
=
273
;
this
.
pnl
.
TabIndex
=
273
;
//
//
// btn_PauseBuzzer
//
this
.
btn_PauseBuzzer
.
BackColor
=
System
.
Drawing
.
Color
.
OrangeRed
;
this
.
btn_PauseBuzzer
.
ForeColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btn_PauseBuzzer
.
Location
=
new
System
.
Drawing
.
Point
(
490
,
0
);
this
.
btn_PauseBuzzer
.
Name
=
"btn_PauseBuzzer"
;
this
.
btn_PauseBuzzer
.
Size
=
new
System
.
Drawing
.
Size
(
301
,
29
);
this
.
btn_PauseBuzzer
.
TabIndex
=
6
;
this
.
btn_PauseBuzzer
.
Text
=
"本次暂停警报器响声"
;
this
.
btn_PauseBuzzer
.
UseVisualStyleBackColor
=
false
;
this
.
btn_PauseBuzzer
.
Visible
=
false
;
this
.
btn_PauseBuzzer
.
Click
+=
new
System
.
EventHandler
(
this
.
btn_PauseBuzzer_Click
);
//
// 禁用蜂鸣器ToolStripMenuItem
//
this
.
禁用蜂鸣器
ToolStripMenuItem
.
Name
=
"禁用蜂鸣器ToolStripMenuItem"
;
this
.
禁用蜂鸣器
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
204
,
32
);
this
.
禁用蜂鸣器
ToolStripMenuItem
.
Text
=
"禁用蜂鸣器"
;
this
.
禁用蜂鸣器
ToolStripMenuItem
.
Click
+=
new
System
.
EventHandler
(
this
.
禁用蜂鸣器
ToolStripMenuItem_Click
);
//
// toolStripSeparator3
//
this
.
toolStripSeparator3
.
Name
=
"toolStripSeparator3"
;
this
.
toolStripSeparator3
.
Size
=
new
System
.
Drawing
.
Size
(
201
,
6
);
//
// listView1
// listView1
//
//
this
.
listView1
.
BorderStyle
=
System
.
Windows
.
Forms
.
BorderStyle
.
None
;
this
.
listView1
.
BorderStyle
=
System
.
Windows
.
Forms
.
BorderStyle
.
None
;
...
@@ -237,6 +222,19 @@ namespace TheMachine
...
@@ -237,6 +222,19 @@ namespace TheMachine
this
.
listView1
.
TabIndex
=
2
;
this
.
listView1
.
TabIndex
=
2
;
this
.
listView1
.
UseCompatibleStateImageBehavior
=
false
;
this
.
listView1
.
UseCompatibleStateImageBehavior
=
false
;
//
//
// btn_PauseBuzzer
//
this
.
btn_PauseBuzzer
.
BackColor
=
System
.
Drawing
.
Color
.
OrangeRed
;
this
.
btn_PauseBuzzer
.
ForeColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btn_PauseBuzzer
.
Location
=
new
System
.
Drawing
.
Point
(
490
,
0
);
this
.
btn_PauseBuzzer
.
Name
=
"btn_PauseBuzzer"
;
this
.
btn_PauseBuzzer
.
Size
=
new
System
.
Drawing
.
Size
(
301
,
29
);
this
.
btn_PauseBuzzer
.
TabIndex
=
6
;
this
.
btn_PauseBuzzer
.
Text
=
"本次暂停警报器响声"
;
this
.
btn_PauseBuzzer
.
UseVisualStyleBackColor
=
false
;
this
.
btn_PauseBuzzer
.
Visible
=
false
;
this
.
btn_PauseBuzzer
.
Click
+=
new
System
.
EventHandler
(
this
.
btn_PauseBuzzer_Click
);
//
// Form1
// Form1
//
//
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
None
;
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
None
;
...
...
TheMachine/Form1.cs
查看文件 @
1d786b6
...
@@ -140,6 +140,24 @@ namespace TheMachine
...
@@ -140,6 +140,24 @@ namespace TheMachine
pnl
.
Enabled
=
false
;
pnl
.
Enabled
=
false
;
禁用蜂鸣器
ToolStripMenuItem_Click
(
this
,
EventArgs
.
Empty
);
禁用蜂鸣器
ToolStripMenuItem_Click
(
this
,
EventArgs
.
Empty
);
tabc
.
Selecting
+=
Tabc_Selecting
;
}
bool
configpass
=
false
;
private
void
Tabc_Selecting
(
object
sender
,
TabControlCancelEventArgs
e
)
{
if
(
e
.
TabPageIndex
>
1
)
{
if
(
configpass
)
return
;
if
(!
FrmPassCheck
.
CheckPassword
())
e
.
Cancel
=
true
;
else
{
configpass
=
true
;
启用调试模式
ToolStripMenuItem
.
Enabled
=
true
;
}
}
}
}
private
void
AlarmBuzzer_BuzzerStateChange
(
object
sender
,
bool
e
)
private
void
AlarmBuzzer_BuzzerStateChange
(
object
sender
,
bool
e
)
...
@@ -155,16 +173,16 @@ namespace TheMachine
...
@@ -155,16 +173,16 @@ namespace TheMachine
e
.
Cancel
=
true
;
e
.
Cancel
=
true
;
}
}
const
int
tabpagecount
=
5
;
const
int
tabpagecount
=
5
;
void
addTablePage
()
{
void
addTablePage
()
{
AddForm
(
"tab_io"
,
"MT"
,
ioc
);
AddForm
(
"tab_tmc"
,
crc
.
GetString
(
"Form1_tabc_tab_tmc_Text"
,
"托盘"
),
tmc
);
AddForm
(
"tab_tmc"
,
crc
.
GetString
(
"Form1_tabc_tab_tmc_Text"
,
"托盘"
),
tmc
);
AddForm
(
"tab_io"
,
"MT"
,
ioc
);
AddForm
(
"tab_sidemove"
,
hy
.
DeviceName
,
hy
);
AddForm
(
"tab_sidemove"
,
hy
.
DeviceName
,
hy
);
AddForm
(
"tab_transmove"
,
yz
.
DeviceName
,
yz
);
AddForm
(
"tab_transmove"
,
yz
.
DeviceName
,
yz
);
AddForm
(
"tab_traystopML"
,
"ML"
,
ml
);
AddForm
(
"tab_traystopML"
,
"M
T-M
L"
,
ml
);
AddForm
(
"tab_traystopMI"
,
"MI"
,
mi
);
AddForm
(
"tab_traystopMI"
,
"M
T-M
I"
,
mi
);
AddForm
(
"tab_traystopCI"
,
"CI"
,
ci
);
AddForm
(
"tab_traystopCI"
,
"
MT-
CI"
,
ci
);
AddForm
(
"tab_traysetting"
,
crc
.
GetString
(
"Form1_tabc_tab_setting__SettingControl_tabControl1_tabPage1_Text"
,
"治具设置"
),
sc
);
AddForm
(
"tab_traysetting"
,
crc
.
GetString
(
"Form1_tabc_tab_setting__SettingControl_tabControl1_tabPage1_Text"
,
"治具设置"
),
sc
);
AddForm
(
"tab_other"
,
crc
.
GetString
(
"Form1_tabc_tab_other_Text"
,
"周边"
)
,
mc
);
AddForm
(
"tab_other"
,
"MI"
,
mc
);
crc
.
LanguageProcess
(
this
);
crc
.
LanguageProcess
(
this
);
}
}
...
@@ -200,6 +218,11 @@ namespace TheMachine
...
@@ -200,6 +218,11 @@ namespace TheMachine
private
void
启用调试模式
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
private
void
启用调试模式
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
{
{
configpass
=
false
;
tabc
.
SelectedIndex
=
0
;
启用调试模式
ToolStripMenuItem
.
Enabled
=
false
;
return
;
RobotManage
.
IsConfigMode
=
RobotManage
.
IsConfigMode
?
false
:
true
;
RobotManage
.
IsConfigMode
=
RobotManage
.
IsConfigMode
?
false
:
true
;
(
sender
as
ToolStripMenuItem
).
Text
=
!
RobotManage
.
IsConfigMode
?
crc
.
GetString
(
"Res0201"
,
"启用配置模式"
)
:
crc
.
GetString
(
"Res0202"
,
"停用配置模式"
);
(
sender
as
ToolStripMenuItem
).
Text
=
!
RobotManage
.
IsConfigMode
?
crc
.
GetString
(
"Res0201"
,
"启用配置模式"
)
:
crc
.
GetString
(
"Res0202"
,
"停用配置模式"
);
...
@@ -279,18 +302,10 @@ namespace TheMachine
...
@@ -279,18 +302,10 @@ namespace TheMachine
lm
.
Add
(
m
);
lm
.
Add
(
m
);
}
}
SetMsg
(
new
Dictionary
<
string
,
List
<
Msg
>>()
{
{
"root"
,
lm
}
});
SetMsg
(
new
Dictionary
<
string
,
List
<
Msg
>>()
{
{
"root"
,
lm
}
});
//启用调试模式ToolStripMenuItem.Enabled = true;
//启用调试模式ToolStripMenuItem_Click(启用调试模式ToolStripMenuItem, EventArgs.Empty);
//RobotManage.LoadDebug();
启用调试模式
ToolStripMenuItem
.
Text
=
crc
.
GetString
(
"Res0101.fe92dc50"
,
"退出调试模式"
);
Task
.
Run
(()=>
{
//启用调试模式ToolStripMenuItem_Click(启用调试模式ToolStripMenuItem, EventArgs.Empty);
Task
.
Delay
(
100
).
Wait
();
this
.
Invoke
((
EventHandler
)
delegate
{
});
});
}
}
...
...
TheMachine/IOControls.Designer.cs
查看文件 @
1d786b6
...
@@ -48,7 +48,7 @@ namespace TheMachine
...
@@ -48,7 +48,7 @@ namespace TheMachine
this
.
configControl1
.
Config
=
null
;
this
.
configControl1
.
Config
=
null
;
this
.
configControl1
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
235
);
this
.
configControl1
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
235
);
this
.
configControl1
.
Name
=
"configControl1"
;
this
.
configControl1
.
Name
=
"configControl1"
;
this
.
configControl1
.
Size
=
new
System
.
Drawing
.
Size
(
705
,
2
54
);
this
.
configControl1
.
Size
=
new
System
.
Drawing
.
Size
(
705
,
2
38
);
this
.
configControl1
.
TabIndex
=
1
;
this
.
configControl1
.
TabIndex
=
1
;
this
.
configControl1
.
Tag
=
"not"
;
this
.
configControl1
.
Tag
=
"not"
;
//
//
...
...
TheMachine/TheMachine.csproj
查看文件 @
1d786b6
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<OutputType>WinExe</OutputType>
<OutputType>WinExe</OutputType>
<RootNamespace>TheMachine</RootNamespace>
<RootNamespace>TheMachine</RootNamespace>
<AssemblyName>MT</AssemblyName>
<AssemblyName>MT</AssemblyName>
<TargetFrameworkVersion>v4.
7.2
</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.
8
</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>false</Deterministic>
<Deterministic>false</Deterministic>
...
@@ -173,6 +173,12 @@
...
@@ -173,6 +173,12 @@
<Compile Include="UC\DoubleBufferListView.cs">
<Compile Include="UC\DoubleBufferListView.cs">
<SubType>Component</SubType>
<SubType>Component</SubType>
</Compile>
</Compile>
<Compile Include="UC\FrmPassCheck.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="UC\FrmPassCheck.designer.cs">
<DependentUpon>FrmPassCheck.cs</DependentUpon>
</Compile>
<Compile Include="UC\RfidControl.cs">
<Compile Include="UC\RfidControl.cs">
<SubType>UserControl</SubType>
<SubType>UserControl</SubType>
</Compile>
</Compile>
...
@@ -271,6 +277,9 @@
...
@@ -271,6 +277,9 @@
<EmbeddedResource Include="TrayManagerControl.resx">
<EmbeddedResource Include="TrayManagerControl.resx">
<DependentUpon>TrayManagerControl.cs</DependentUpon>
<DependentUpon>TrayManagerControl.cs</DependentUpon>
</EmbeddedResource>
</EmbeddedResource>
<EmbeddedResource Include="UC\FrmPassCheck.resx">
<DependentUpon>FrmPassCheck.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="UC\RfidControl.resx">
<EmbeddedResource Include="UC\RfidControl.resx">
<DependentUpon>RfidControl.cs</DependentUpon>
<DependentUpon>RfidControl.cs</DependentUpon>
</EmbeddedResource>
</EmbeddedResource>
...
...
TheMachine/TrayManagerControl.cs
查看文件 @
1d786b6
...
@@ -110,13 +110,13 @@ namespace TheMachine
...
@@ -110,13 +110,13 @@ namespace TheMachine
//listView1.Items.Clear();
//listView1.Items.Clear();
foreach
(
var
ti
in
traylist
)
{
foreach
(
var
ti
in
traylist
)
{
var
timego
=
(
DateTime
.
Now
-
ti
.
LastUpdateTime
);
var
timego
=
(
DateTime
.
Now
-
ti
.
LastUpdateTime
);
var
lasttime
=
timego
.
Seconds
+
crc
.
GetString
(
"Res0
024
"
,
"秒前"
);
var
lasttime
=
timego
.
Seconds
+
crc
.
GetString
(
"Res0
102.cae20b9e
"
,
"秒前"
);
if
(
timego
.
Minutes
>
0
)
if
(
timego
.
Minutes
>
0
)
lasttime
=
timego
.
Minutes
+
crc
.
GetString
(
"Res0
025
"
,
"分 "
)
+
lasttime
;
lasttime
=
timego
.
Minutes
+
crc
.
GetString
(
"Res0
103.4c40da19
"
,
"分 "
)
+
lasttime
;
if
(
timego
.
Hours
>
0
)
if
(
timego
.
Hours
>
0
)
lasttime
=
timego
.
Hours
+
crc
.
GetString
(
"Res0
026
"
,
"时 "
)
+
lasttime
;
lasttime
=
timego
.
Hours
+
crc
.
GetString
(
"Res0
104.481f431e
"
,
"时 "
)
+
lasttime
;
var
traydesc
=
TrayManager
.
TrayTypeDesc
[
ti
.
TrayType
]
;
var
traydesc
=
crc
.
GetString
(
"TrayType_"
+
ti
.
TrayType
,
TrayManager
.
TrayTypeDesc
[
ti
.
TrayType
])
;
var
loaddesc
=
TrayManager
.
TrayTypeDesc
[
ti
.
LoadType
]
;
var
loaddesc
=
crc
.
GetString
(
"TrayType_"
+
ti
.
LoadType
,
TrayManager
.
TrayTypeDesc
[
ti
.
LoadType
])
;
var
lastaddrdesc
=
TrayManager
.
AddrDesc
[
ti
.
LastAddr
];
var
lastaddrdesc
=
TrayManager
.
AddrDesc
[
ti
.
LastAddr
];
var
toaddrdesc
=
TrayManager
.
AddrDesc
[
ti
.
DestinationAddr
];
var
toaddrdesc
=
TrayManager
.
AddrDesc
[
ti
.
DestinationAddr
];
var
reelid
=
""
;
var
reelid
=
""
;
...
@@ -156,7 +156,7 @@ namespace TheMachine
...
@@ -156,7 +156,7 @@ namespace TheMachine
foreach
(
var
tivk
in
TrayManager
.
TrayRequest
.
ToArray
())
foreach
(
var
tivk
in
TrayManager
.
TrayRequest
.
ToArray
())
{
{
var
ti
=
tivk
.
Value
;
var
ti
=
tivk
.
Value
;
var
traydesc
=
TrayManager
.
TrayTypeDesc
[
ti
.
GetTrayType
]
;
var
traydesc
=
crc
.
GetString
(
"TrayType_"
+
ti
.
GetTrayType
,
TrayManager
.
TrayTypeDesc
[
ti
.
GetTrayType
])
;
var
desc
=
ti
.
IsEmpty
?
crc
.
GetString
(
"Res0030"
,
"空托盘"
)
:
""
;
var
desc
=
ti
.
IsEmpty
?
crc
.
GetString
(
"Res0030"
,
"空托盘"
)
:
""
;
var
items
=
new
string
[]
{
traydesc
,
desc
};
var
items
=
new
string
[]
{
traydesc
,
desc
};
...
@@ -166,7 +166,7 @@ namespace TheMachine
...
@@ -166,7 +166,7 @@ namespace TheMachine
listviewitem
.
SubItems
.
AddRange
(
items
);
listviewitem
.
SubItems
.
AddRange
(
items
);
ListView2
.
Items
.
Add
(
listviewitem
);
ListView2
.
Items
.
Add
(
listviewitem
);
}
}
TrayManager
.
Statistics
();
//listView1.AutoResizeColumn(0, ColumnHeaderAutoResizeStyle.ColumnContent);
//listView1.AutoResizeColumn(0, ColumnHeaderAutoResizeStyle.ColumnContent);
label_Statistics
.
Text
=
crc
.
GetString
(
"Res0027"
,
"托盘统计"
)+
":"
+
"\n"
label_Statistics
.
Text
=
crc
.
GetString
(
"Res0027"
,
"托盘统计"
)+
":"
+
"\n"
...
...
TheMachine/UC/ConfigControl.cs
查看文件 @
1d786b6
...
@@ -69,7 +69,7 @@ namespace TheMachine
...
@@ -69,7 +69,7 @@ namespace TheMachine
}
}
tableLayoutPanel1
.
SuspendLayout
();
tableLayoutPanel1
.
SuspendLayout
();
int
maxrow
=
tableLayoutPanel1
.
Height
/
3
4
;
int
maxrow
=
tableLayoutPanel1
.
Height
/
3
6
;
tableLayoutPanel1
.
Controls
.
Clear
();
tableLayoutPanel1
.
Controls
.
Clear
();
this
.
tableLayoutPanel1
.
RowStyles
.
Clear
();
this
.
tableLayoutPanel1
.
RowStyles
.
Clear
();
//this.tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType., 26));
//this.tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType., 26));
...
...
TheMachine/UC/FrmPassCheck.cs
0 → 100644
查看文件 @
1d786b6
using
OnlineStore
;
using
OnlineStore.Common
;
using
System
;
using
System.Collections.Generic
;
using
System.ComponentModel
;
using
System.Data
;
using
System.Drawing
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Windows.Forms
;
namespace
TheMachine
{
public
partial
class
FrmPassCheck
:
Form
{
public
FrmPassCheck
()
{
InitializeComponent
();
crc
.
LanguageProcess
(
this
);
}
public
static
bool
CheckPassword
()
{
if
(!
Setting_Init
.
User_Enable
)
return
true
;
FrmPassCheck
frmPassCheck
=
new
FrmPassCheck
();
var
result
=
frmPassCheck
.
ShowDialog
();
return
(
result
==
DialogResult
.
OK
);
}
private
void
btn_cancel_Click
(
object
sender
,
EventArgs
e
)
{
DialogResult
=
DialogResult
.
Cancel
;
this
.
Close
();
}
private
void
btn_ok_Click
(
object
sender
,
EventArgs
e
)
{
if
(
textBox1
.
Text
.
Trim
()
==
Setting_Init
.
User_AdminPassword
.
Val
.
Trim
())
{
DialogResult
=
DialogResult
.
OK
;
this
.
Close
();
}
else
MessageBox
.
Show
(
crc
.
GetString
(
"Res0057"
,
"密码不正确请重新输入!"
));
}
}
}
\ No newline at end of file
\ No newline at end of file
TheMachine/UC/FrmPassCheck.designer.cs
0 → 100644
查看文件 @
1d786b6
namespace
TheMachine
{
partial
class
FrmPassCheck
{
/// <summary>
/// Required designer variable.
/// </summary>
private
System
.
ComponentModel
.
IContainer
components
=
null
;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected
override
void
Dispose
(
bool
disposing
)
{
if
(
disposing
&&
(
components
!=
null
))
{
components
.
Dispose
();
}
base
.
Dispose
(
disposing
);
}
#
region
Windows
Form
Designer
generated
code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private
void
InitializeComponent
()
{
this
.
textBox1
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
btn_ok
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btn_cancel
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
SuspendLayout
();
//
// textBox1
//
this
.
textBox1
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
12F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
textBox1
.
Location
=
new
System
.
Drawing
.
Point
(
114
,
88
);
this
.
textBox1
.
Name
=
"textBox1"
;
this
.
textBox1
.
PasswordChar
=
'*'
;
this
.
textBox1
.
Size
=
new
System
.
Drawing
.
Size
(
318
,
29
);
this
.
textBox1
.
TabIndex
=
0
;
//
// btn_ok
//
this
.
btn_ok
.
Location
=
new
System
.
Drawing
.
Point
(
352
,
189
);
this
.
btn_ok
.
Name
=
"btn_ok"
;
this
.
btn_ok
.
Size
=
new
System
.
Drawing
.
Size
(
129
,
49
);
this
.
btn_ok
.
TabIndex
=
1
;
this
.
btn_ok
.
Text
=
"确定"
;
this
.
btn_ok
.
UseVisualStyleBackColor
=
true
;
this
.
btn_ok
.
Click
+=
new
System
.
EventHandler
(
this
.
btn_ok_Click
);
//
// btn_cancel
//
this
.
btn_cancel
.
Location
=
new
System
.
Drawing
.
Point
(
40
,
189
);
this
.
btn_cancel
.
Name
=
"btn_cancel"
;
this
.
btn_cancel
.
Size
=
new
System
.
Drawing
.
Size
(
129
,
49
);
this
.
btn_cancel
.
TabIndex
=
1
;
this
.
btn_cancel
.
Text
=
"取消"
;
this
.
btn_cancel
.
UseVisualStyleBackColor
=
true
;
this
.
btn_cancel
.
Click
+=
new
System
.
EventHandler
(
this
.
btn_cancel_Click
);
//
// FrmPassCheck
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
6F
,
12F
);
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
Font
;
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
548
,
275
);
this
.
Controls
.
Add
(
this
.
btn_cancel
);
this
.
Controls
.
Add
(
this
.
btn_ok
);
this
.
Controls
.
Add
(
this
.
textBox1
);
this
.
FormBorderStyle
=
System
.
Windows
.
Forms
.
FormBorderStyle
.
FixedDialog
;
this
.
MaximizeBox
=
false
;
this
.
MinimizeBox
=
false
;
this
.
Name
=
"FrmPassCheck"
;
this
.
ShowIcon
=
false
;
this
.
ShowInTaskbar
=
false
;
this
.
Text
=
"请输入密码"
;
this
.
ResumeLayout
(
false
);
this
.
PerformLayout
();
}
#
endregion
private
System
.
Windows
.
Forms
.
TextBox
textBox1
;
private
System
.
Windows
.
Forms
.
Button
btn_ok
;
private
System
.
Windows
.
Forms
.
Button
btn_cancel
;
}
}
\ No newline at end of file
\ No newline at end of file
TheMachine/UC/FrmPassCheck.resx
0 → 100644
查看文件 @
1d786b6
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
\ No newline at end of file
\ No newline at end of file
TheMachine/UC/RobotPosControl.cs
查看文件 @
1d786b6
...
@@ -190,7 +190,7 @@ namespace TheMachine
...
@@ -190,7 +190,7 @@ namespace TheMachine
var
axis
=
getConfigMoveAxis
((
int
)((
Button
)
sender
).
Tag
);
var
axis
=
getConfigMoveAxis
((
int
)((
Button
)
sender
).
Tag
);
var
targetpos
=
int
.
Parse
(
cc
[
1
].
Text
);
var
targetpos
=
int
.
Parse
(
cc
[
1
].
Text
);
axis
.
SendMoveCmd
(
targetpos
,
axis
.
SpeedRate
);
axis
.
SendMoveCmd
(
targetpos
,
axis
.
SpeedRate
,
false
,
RobotHelper
.
LoadRateParam
[
1
]
);
LogUtil
.
info
(
"手动点击机器人移动命令:"
+
axis
.
RobotIp
+
" - "
+
targetpos
);
LogUtil
.
info
(
"手动点击机器人移动命令:"
+
axis
.
RobotIp
+
" - "
+
targetpos
);
}
}
URRobotControl
getConfigMoveAxis
(
int
Axisid
)
URRobotControl
getConfigMoveAxis
(
int
Axisid
)
...
...
TheMachine/UC/UCURRobot.cs
查看文件 @
1d786b6
using
Robot.UR
;
using
DeviceLibrary
;
using
Robot.UR
;
using
System
;
using
System
;
using
System.Drawing
;
using
System.Drawing
;
using
System.Windows.Forms
;
using
System.Windows.Forms
;
...
@@ -118,7 +119,7 @@ namespace URRobot
...
@@ -118,7 +119,7 @@ namespace URRobot
public
void
SendMoveCmd
(
int
CmdIdx
,
int
rate
=
50
)
public
void
SendMoveCmd
(
int
CmdIdx
,
int
rate
=
50
)
{
{
robotControl
?.
SendMoveCmd
(
CmdIdx
,
rate
,
true
);
robotControl
?.
SendMoveCmd
(
CmdIdx
,
rate
,
true
,
RobotHelper
.
LoadRateParam
[
1
]
);
}
}
public
bool
IsSendCmdOk
(
int
cmdIdx
)
public
bool
IsSendCmdOk
(
int
cmdIdx
)
{
{
...
...
TheMachine/device/Other/MycronicControl.Designer.cs
查看文件 @
1d786b6
...
@@ -32,27 +32,30 @@ namespace TheMachine.device.Other
...
@@ -32,27 +32,30 @@ namespace TheMachine.device.Other
this
.
components
=
new
System
.
ComponentModel
.
Container
();
this
.
components
=
new
System
.
ComponentModel
.
Container
();
this
.
tabControl1
=
new
System
.
Windows
.
Forms
.
TabControl
();
this
.
tabControl1
=
new
System
.
Windows
.
Forms
.
TabControl
();
this
.
tabPage4
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
tabPage4
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
btn_ResetR2Robot
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
groupBox2
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
groupBox2
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
stateView
=
new
TheMachine
.
DoubleBufferListView
();
this
.
btn_manualout
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btn_manualout
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txt_reelid
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txt_reelid
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
tabPage1
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
tabPage1
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
uc_boxdebug1
=
new
TheMachine
.
uc_boxdebug
();
this
.
tabPage2
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
tabPage2
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
uc_boxdebug2
=
new
TheMachine
.
uc_boxdebug
();
this
.
tabPage3
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
tabPage3
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
uc_boxdebug3
=
new
TheMachine
.
uc_boxdebug
();
this
.
tabPage5
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
tabPage5
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
panel1
=
new
System
.
Windows
.
Forms
.
Panel
();
this
.
panel1
=
new
System
.
Windows
.
Forms
.
Panel
();
this
.
flowLayoutPanel1
=
new
System
.
Windows
.
Forms
.
FlowLayoutPanel
();
this
.
flowLayoutPanel1
=
new
System
.
Windows
.
Forms
.
FlowLayoutPanel
();
this
.
groupBox1
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
groupBox1
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
ucurRobot1
=
new
URRobot
.
UCURRobot
();
this
.
groupBox3
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
groupBox3
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
ucurRobot2
=
new
URRobot
.
UCURRobot
();
this
.
groupBox4
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
groupBox4
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
ucurRobot3
=
new
URRobot
.
UCURRobot
();
this
.
timer1
=
new
System
.
Windows
.
Forms
.
Timer
(
this
.
components
);
this
.
timer1
=
new
System
.
Windows
.
Forms
.
Timer
(
this
.
components
);
this
.
btn_ResetRobot
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
button1
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
flowLayoutPanel2
=
new
System
.
Windows
.
Forms
.
FlowLayoutPanel
();
this
.
stateView
=
new
TheMachine
.
DoubleBufferListView
();
this
.
uc_boxdebug1
=
new
TheMachine
.
uc_boxdebug
();
this
.
uc_boxdebug2
=
new
TheMachine
.
uc_boxdebug
();
this
.
uc_boxdebug3
=
new
TheMachine
.
uc_boxdebug
();
this
.
ucurRobot1
=
new
URRobot
.
UCURRobot
();
this
.
ucurRobot2
=
new
URRobot
.
UCURRobot
();
this
.
ucurRobot3
=
new
URRobot
.
UCURRobot
();
this
.
groupBox5
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
tabControl1
.
SuspendLayout
();
this
.
tabControl1
.
SuspendLayout
();
this
.
tabPage4
.
SuspendLayout
();
this
.
tabPage4
.
SuspendLayout
();
this
.
groupBox2
.
SuspendLayout
();
this
.
groupBox2
.
SuspendLayout
();
...
@@ -65,6 +68,7 @@ namespace TheMachine.device.Other
...
@@ -65,6 +68,7 @@ namespace TheMachine.device.Other
this
.
groupBox1
.
SuspendLayout
();
this
.
groupBox1
.
SuspendLayout
();
this
.
groupBox3
.
SuspendLayout
();
this
.
groupBox3
.
SuspendLayout
();
this
.
groupBox4
.
SuspendLayout
();
this
.
groupBox4
.
SuspendLayout
();
this
.
groupBox5
.
SuspendLayout
();
this
.
SuspendLayout
();
this
.
SuspendLayout
();
//
//
// tabControl1
// tabControl1
...
@@ -83,7 +87,8 @@ namespace TheMachine.device.Other
...
@@ -83,7 +87,8 @@ namespace TheMachine.device.Other
//
//
// tabPage4
// tabPage4
//
//
this
.
tabPage4
.
Controls
.
Add
(
this
.
btn_ResetRobot
);
this
.
tabPage4
.
Controls
.
Add
(
this
.
button1
);
this
.
tabPage4
.
Controls
.
Add
(
this
.
btn_ResetR2Robot
);
this
.
tabPage4
.
Controls
.
Add
(
this
.
groupBox2
);
this
.
tabPage4
.
Controls
.
Add
(
this
.
groupBox2
);
this
.
tabPage4
.
Controls
.
Add
(
this
.
btn_manualout
);
this
.
tabPage4
.
Controls
.
Add
(
this
.
btn_manualout
);
this
.
tabPage4
.
Controls
.
Add
(
this
.
txt_reelid
);
this
.
tabPage4
.
Controls
.
Add
(
this
.
txt_reelid
);
...
@@ -97,34 +102,31 @@ namespace TheMachine.device.Other
...
@@ -97,34 +102,31 @@ namespace TheMachine.device.Other
this
.
tabPage4
.
UseVisualStyleBackColor
=
true
;
this
.
tabPage4
.
UseVisualStyleBackColor
=
true
;
this
.
tabPage4
.
Click
+=
new
System
.
EventHandler
(
this
.
tabPage4_Click
);
this
.
tabPage4
.
Click
+=
new
System
.
EventHandler
(
this
.
tabPage4_Click
);
//
//
// btn_ResetR2Robot
//
this
.
btn_ResetR2Robot
.
Location
=
new
System
.
Drawing
.
Point
(
19
,
437
);
this
.
btn_ResetR2Robot
.
Name
=
"btn_ResetR2Robot"
;
this
.
btn_ResetR2Robot
.
Size
=
new
System
.
Drawing
.
Size
(
236
,
93
);
this
.
btn_ResetR2Robot
.
TabIndex
=
25
;
this
.
btn_ResetR2Robot
.
Text
=
"R1机器人复位至待机点, 并释放压紧装置"
;
this
.
btn_ResetR2Robot
.
UseVisualStyleBackColor
=
true
;
this
.
btn_ResetR2Robot
.
Click
+=
new
System
.
EventHandler
(
this
.
btn_ResetRobot_Click
);
//
// groupBox2
// groupBox2
//
//
this
.
groupBox2
.
Controls
.
Add
(
this
.
stateView
);
this
.
groupBox2
.
Controls
.
Add
(
this
.
stateView
);
this
.
groupBox2
.
Location
=
new
System
.
Drawing
.
Point
(
19
,
24
);
this
.
groupBox2
.
Location
=
new
System
.
Drawing
.
Point
(
19
,
24
);
this
.
groupBox2
.
Name
=
"groupBox2"
;
this
.
groupBox2
.
Name
=
"groupBox2"
;
this
.
groupBox2
.
Size
=
new
System
.
Drawing
.
Size
(
561
,
3
65
);
this
.
groupBox2
.
Size
=
new
System
.
Drawing
.
Size
(
561
,
3
89
);
this
.
groupBox2
.
TabIndex
=
24
;
this
.
groupBox2
.
TabIndex
=
24
;
this
.
groupBox2
.
TabStop
=
false
;
this
.
groupBox2
.
TabStop
=
false
;
this
.
groupBox2
.
Text
=
"Tower Status"
;
this
.
groupBox2
.
Text
=
"Tower Status"
;
//
//
// stateView
//
this
.
stateView
.
BorderStyle
=
System
.
Windows
.
Forms
.
BorderStyle
.
None
;
this
.
stateView
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
stateView
.
HeaderStyle
=
System
.
Windows
.
Forms
.
ColumnHeaderStyle
.
Nonclickable
;
this
.
stateView
.
HideSelection
=
false
;
this
.
stateView
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
29
);
this
.
stateView
.
MultiSelect
=
false
;
this
.
stateView
.
Name
=
"stateView"
;
this
.
stateView
.
Size
=
new
System
.
Drawing
.
Size
(
555
,
333
);
this
.
stateView
.
TabIndex
=
0
;
this
.
stateView
.
UseCompatibleStateImageBehavior
=
false
;
//
// btn_manualout
// btn_manualout
//
//
this
.
btn_manualout
.
Location
=
new
System
.
Drawing
.
Point
(
829
,
487
);
this
.
btn_manualout
.
Location
=
new
System
.
Drawing
.
Point
(
789
,
492
);
this
.
btn_manualout
.
Name
=
"btn_manualout"
;
this
.
btn_manualout
.
Name
=
"btn_manualout"
;
this
.
btn_manualout
.
Size
=
new
System
.
Drawing
.
Size
(
1
00
,
38
);
this
.
btn_manualout
.
Size
=
new
System
.
Drawing
.
Size
(
1
78
,
38
);
this
.
btn_manualout
.
TabIndex
=
23
;
this
.
btn_manualout
.
TabIndex
=
23
;
this
.
btn_manualout
.
Text
=
"reelid出库"
;
this
.
btn_manualout
.
Text
=
"reelid出库"
;
this
.
btn_manualout
.
UseVisualStyleBackColor
=
true
;
this
.
btn_manualout
.
UseVisualStyleBackColor
=
true
;
...
@@ -132,9 +134,9 @@ namespace TheMachine.device.Other
...
@@ -132,9 +134,9 @@ namespace TheMachine.device.Other
//
//
// txt_reelid
// txt_reelid
//
//
this
.
txt_reelid
.
Location
=
new
System
.
Drawing
.
Point
(
631
,
497
);
this
.
txt_reelid
.
Location
=
new
System
.
Drawing
.
Point
(
570
,
497
);
this
.
txt_reelid
.
Name
=
"txt_reelid"
;
this
.
txt_reelid
.
Name
=
"txt_reelid"
;
this
.
txt_reelid
.
Size
=
new
System
.
Drawing
.
Size
(
192
,
33
);
this
.
txt_reelid
.
Size
=
new
System
.
Drawing
.
Size
(
213
,
33
);
this
.
txt_reelid
.
TabIndex
=
22
;
this
.
txt_reelid
.
TabIndex
=
22
;
//
//
// tabPage1
// tabPage1
...
@@ -148,16 +150,6 @@ namespace TheMachine.device.Other
...
@@ -148,16 +150,6 @@ namespace TheMachine.device.Other
this
.
tabPage1
.
Text
=
"MI1 点位"
;
this
.
tabPage1
.
Text
=
"MI1 点位"
;
this
.
tabPage1
.
UseVisualStyleBackColor
=
true
;
this
.
tabPage1
.
UseVisualStyleBackColor
=
true
;
//
//
// uc_boxdebug1
//
this
.
uc_boxdebug1
.
Config
=
null
;
this
.
uc_boxdebug1
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
uc_boxdebug1
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
uc_boxdebug1
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
3
);
this
.
uc_boxdebug1
.
Name
=
"uc_boxdebug1"
;
this
.
uc_boxdebug1
.
Size
=
new
System
.
Drawing
.
Size
(
986
,
542
);
this
.
uc_boxdebug1
.
TabIndex
=
0
;
//
// tabPage2
// tabPage2
//
//
this
.
tabPage2
.
Controls
.
Add
(
this
.
uc_boxdebug2
);
this
.
tabPage2
.
Controls
.
Add
(
this
.
uc_boxdebug2
);
...
@@ -169,16 +161,6 @@ namespace TheMachine.device.Other
...
@@ -169,16 +161,6 @@ namespace TheMachine.device.Other
this
.
tabPage2
.
Text
=
"MI2 点位"
;
this
.
tabPage2
.
Text
=
"MI2 点位"
;
this
.
tabPage2
.
UseVisualStyleBackColor
=
true
;
this
.
tabPage2
.
UseVisualStyleBackColor
=
true
;
//
//
// uc_boxdebug2
//
this
.
uc_boxdebug2
.
Config
=
null
;
this
.
uc_boxdebug2
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
uc_boxdebug2
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
uc_boxdebug2
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
3
);
this
.
uc_boxdebug2
.
Name
=
"uc_boxdebug2"
;
this
.
uc_boxdebug2
.
Size
=
new
System
.
Drawing
.
Size
(
986
,
542
);
this
.
uc_boxdebug2
.
TabIndex
=
0
;
//
// tabPage3
// tabPage3
//
//
this
.
tabPage3
.
Controls
.
Add
(
this
.
uc_boxdebug3
);
this
.
tabPage3
.
Controls
.
Add
(
this
.
uc_boxdebug3
);
...
@@ -190,18 +172,9 @@ namespace TheMachine.device.Other
...
@@ -190,18 +172,9 @@ namespace TheMachine.device.Other
this
.
tabPage3
.
Text
=
"CI 点位"
;
this
.
tabPage3
.
Text
=
"CI 点位"
;
this
.
tabPage3
.
UseVisualStyleBackColor
=
true
;
this
.
tabPage3
.
UseVisualStyleBackColor
=
true
;
//
//
// uc_boxdebug3
//
this
.
uc_boxdebug3
.
Config
=
null
;
this
.
uc_boxdebug3
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
uc_boxdebug3
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
uc_boxdebug3
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
3
);
this
.
uc_boxdebug3
.
Name
=
"uc_boxdebug3"
;
this
.
uc_boxdebug3
.
Size
=
new
System
.
Drawing
.
Size
(
986
,
542
);
this
.
uc_boxdebug3
.
TabIndex
=
0
;
//
// tabPage5
// tabPage5
//
//
this
.
tabPage5
.
Controls
.
Add
(
this
.
groupBox5
);
this
.
tabPage5
.
Controls
.
Add
(
this
.
panel1
);
this
.
tabPage5
.
Controls
.
Add
(
this
.
panel1
);
this
.
tabPage5
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
tabPage5
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
tabPage5
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
22
);
this
.
tabPage5
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
22
);
...
@@ -247,14 +220,6 @@ namespace TheMachine.device.Other
...
@@ -247,14 +220,6 @@ namespace TheMachine.device.Other
this
.
groupBox1
.
TabStop
=
false
;
this
.
groupBox1
.
TabStop
=
false
;
this
.
groupBox1
.
Text
=
"MI1"
;
this
.
groupBox1
.
Text
=
"MI1"
;
//
//
// ucurRobot1
//
this
.
ucurRobot1
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
ucurRobot1
.
Location
=
new
System
.
Drawing
.
Point
(
2
,
16
);
this
.
ucurRobot1
.
Name
=
"ucurRobot1"
;
this
.
ucurRobot1
.
Size
=
new
System
.
Drawing
.
Size
(
306
,
197
);
this
.
ucurRobot1
.
TabIndex
=
17
;
//
// groupBox3
// groupBox3
//
//
this
.
groupBox3
.
Controls
.
Add
(
this
.
ucurRobot2
);
this
.
groupBox3
.
Controls
.
Add
(
this
.
ucurRobot2
);
...
@@ -267,14 +232,6 @@ namespace TheMachine.device.Other
...
@@ -267,14 +232,6 @@ namespace TheMachine.device.Other
this
.
groupBox3
.
TabStop
=
false
;
this
.
groupBox3
.
TabStop
=
false
;
this
.
groupBox3
.
Text
=
"MI2"
;
this
.
groupBox3
.
Text
=
"MI2"
;
//
//
// ucurRobot2
//
this
.
ucurRobot2
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
ucurRobot2
.
Location
=
new
System
.
Drawing
.
Point
(
2
,
16
);
this
.
ucurRobot2
.
Name
=
"ucurRobot2"
;
this
.
ucurRobot2
.
Size
=
new
System
.
Drawing
.
Size
(
306
,
197
);
this
.
ucurRobot2
.
TabIndex
=
17
;
//
// groupBox4
// groupBox4
//
//
this
.
groupBox4
.
Controls
.
Add
(
this
.
ucurRobot3
);
this
.
groupBox4
.
Controls
.
Add
(
this
.
ucurRobot3
);
...
@@ -287,6 +244,90 @@ namespace TheMachine.device.Other
...
@@ -287,6 +244,90 @@ namespace TheMachine.device.Other
this
.
groupBox4
.
TabStop
=
false
;
this
.
groupBox4
.
TabStop
=
false
;
this
.
groupBox4
.
Text
=
"CI"
;
this
.
groupBox4
.
Text
=
"CI"
;
//
//
// timer1
//
this
.
timer1
.
Enabled
=
true
;
this
.
timer1
.
Interval
=
1000
;
this
.
timer1
.
Tick
+=
new
System
.
EventHandler
(
this
.
timer1_Tick
);
//
// button1
//
this
.
button1
.
Location
=
new
System
.
Drawing
.
Point
(
276
,
437
);
this
.
button1
.
Name
=
"button1"
;
this
.
button1
.
Size
=
new
System
.
Drawing
.
Size
(
236
,
93
);
this
.
button1
.
TabIndex
=
25
;
this
.
button1
.
Text
=
"R2机器人复位至待机点, 并释放压紧装置"
;
this
.
button1
.
UseVisualStyleBackColor
=
true
;
this
.
button1
.
Click
+=
new
System
.
EventHandler
(
this
.
button1_Click
);
//
// flowLayoutPanel2
//
this
.
flowLayoutPanel2
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
flowLayoutPanel2
.
FlowDirection
=
System
.
Windows
.
Forms
.
FlowDirection
.
TopDown
;
this
.
flowLayoutPanel2
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
17
);
this
.
flowLayoutPanel2
.
Name
=
"flowLayoutPanel2"
;
this
.
flowLayoutPanel2
.
Size
=
new
System
.
Drawing
.
Size
(
221
,
227
);
this
.
flowLayoutPanel2
.
TabIndex
=
23
;
//
// stateView
//
this
.
stateView
.
BorderStyle
=
System
.
Windows
.
Forms
.
BorderStyle
.
None
;
this
.
stateView
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
stateView
.
HeaderStyle
=
System
.
Windows
.
Forms
.
ColumnHeaderStyle
.
Nonclickable
;
this
.
stateView
.
HideSelection
=
false
;
this
.
stateView
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
29
);
this
.
stateView
.
MultiSelect
=
false
;
this
.
stateView
.
Name
=
"stateView"
;
this
.
stateView
.
Size
=
new
System
.
Drawing
.
Size
(
555
,
357
);
this
.
stateView
.
TabIndex
=
0
;
this
.
stateView
.
UseCompatibleStateImageBehavior
=
false
;
//
// uc_boxdebug1
//
this
.
uc_boxdebug1
.
Config
=
null
;
this
.
uc_boxdebug1
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
uc_boxdebug1
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
uc_boxdebug1
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
3
);
this
.
uc_boxdebug1
.
Name
=
"uc_boxdebug1"
;
this
.
uc_boxdebug1
.
Size
=
new
System
.
Drawing
.
Size
(
986
,
542
);
this
.
uc_boxdebug1
.
TabIndex
=
0
;
//
// uc_boxdebug2
//
this
.
uc_boxdebug2
.
Config
=
null
;
this
.
uc_boxdebug2
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
uc_boxdebug2
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
uc_boxdebug2
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
3
);
this
.
uc_boxdebug2
.
Name
=
"uc_boxdebug2"
;
this
.
uc_boxdebug2
.
Size
=
new
System
.
Drawing
.
Size
(
986
,
542
);
this
.
uc_boxdebug2
.
TabIndex
=
0
;
//
// uc_boxdebug3
//
this
.
uc_boxdebug3
.
Config
=
null
;
this
.
uc_boxdebug3
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
uc_boxdebug3
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
uc_boxdebug3
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
3
);
this
.
uc_boxdebug3
.
Name
=
"uc_boxdebug3"
;
this
.
uc_boxdebug3
.
Size
=
new
System
.
Drawing
.
Size
(
986
,
542
);
this
.
uc_boxdebug3
.
TabIndex
=
0
;
//
// ucurRobot1
//
this
.
ucurRobot1
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
ucurRobot1
.
Location
=
new
System
.
Drawing
.
Point
(
2
,
16
);
this
.
ucurRobot1
.
Name
=
"ucurRobot1"
;
this
.
ucurRobot1
.
Size
=
new
System
.
Drawing
.
Size
(
306
,
197
);
this
.
ucurRobot1
.
TabIndex
=
17
;
//
// ucurRobot2
//
this
.
ucurRobot2
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
ucurRobot2
.
Location
=
new
System
.
Drawing
.
Point
(
2
,
16
);
this
.
ucurRobot2
.
Name
=
"ucurRobot2"
;
this
.
ucurRobot2
.
Size
=
new
System
.
Drawing
.
Size
(
306
,
197
);
this
.
ucurRobot2
.
TabIndex
=
17
;
//
// ucurRobot3
// ucurRobot3
//
//
this
.
ucurRobot3
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
ucurRobot3
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
...
@@ -295,21 +336,15 @@ namespace TheMachine.device.Other
...
@@ -295,21 +336,15 @@ namespace TheMachine.device.Other
this
.
ucurRobot3
.
Size
=
new
System
.
Drawing
.
Size
(
306
,
197
);
this
.
ucurRobot3
.
Size
=
new
System
.
Drawing
.
Size
(
306
,
197
);
this
.
ucurRobot3
.
TabIndex
=
17
;
this
.
ucurRobot3
.
TabIndex
=
17
;
//
//
// timer1
// groupBox5
//
this
.
timer1
.
Enabled
=
true
;
this
.
timer1
.
Interval
=
1000
;
this
.
timer1
.
Tick
+=
new
System
.
EventHandler
(
this
.
timer1_Tick
);
//
// btn_ResetRobot
//
//
this
.
btn_ResetRobot
.
Location
=
new
System
.
Drawing
.
Point
(
19
,
437
);
this
.
groupBox5
.
Controls
.
Add
(
this
.
flowLayoutPanel2
);
this
.
btn_ResetRobot
.
Name
=
"btn_ResetRobot"
;
this
.
groupBox5
.
Location
=
new
System
.
Drawing
.
Point
(
7
,
232
)
;
this
.
btn_ResetRobot
.
Size
=
new
System
.
Drawing
.
Size
(
267
,
93
)
;
this
.
groupBox5
.
Name
=
"groupBox5"
;
this
.
btn_ResetRobot
.
TabIndex
=
25
;
this
.
groupBox5
.
Size
=
new
System
.
Drawing
.
Size
(
227
,
247
)
;
this
.
btn_ResetRobot
.
Text
=
"机器人复位至待机点, 并释放压紧装置"
;
this
.
groupBox5
.
TabIndex
=
24
;
this
.
btn_ResetRobot
.
UseVisualStyleBackColor
=
tru
e
;
this
.
groupBox5
.
TabStop
=
fals
e
;
this
.
btn_ResetRobot
.
Click
+=
new
System
.
EventHandler
(
this
.
btn_ResetRobot_Click
)
;
this
.
groupBox5
.
Text
=
"Tower enable"
;
//
//
// MycronicControl
// MycronicControl
//
//
...
@@ -331,6 +366,7 @@ namespace TheMachine.device.Other
...
@@ -331,6 +366,7 @@ namespace TheMachine.device.Other
this
.
groupBox1
.
ResumeLayout
(
false
);
this
.
groupBox1
.
ResumeLayout
(
false
);
this
.
groupBox3
.
ResumeLayout
(
false
);
this
.
groupBox3
.
ResumeLayout
(
false
);
this
.
groupBox4
.
ResumeLayout
(
false
);
this
.
groupBox4
.
ResumeLayout
(
false
);
this
.
groupBox5
.
ResumeLayout
(
false
);
this
.
ResumeLayout
(
false
);
this
.
ResumeLayout
(
false
);
}
}
...
@@ -359,6 +395,9 @@ namespace TheMachine.device.Other
...
@@ -359,6 +395,9 @@ namespace TheMachine.device.Other
private
System
.
Windows
.
Forms
.
GroupBox
groupBox2
;
private
System
.
Windows
.
Forms
.
GroupBox
groupBox2
;
private
DoubleBufferListView
stateView
;
private
DoubleBufferListView
stateView
;
private
System
.
Windows
.
Forms
.
Timer
timer1
;
private
System
.
Windows
.
Forms
.
Timer
timer1
;
private
System
.
Windows
.
Forms
.
Button
btn_ResetRobot
;
private
System
.
Windows
.
Forms
.
Button
btn_ResetR2Robot
;
private
System
.
Windows
.
Forms
.
Button
button1
;
private
System
.
Windows
.
Forms
.
FlowLayoutPanel
flowLayoutPanel2
;
private
System
.
Windows
.
Forms
.
GroupBox
groupBox5
;
}
}
}
}
TheMachine/device/Other/MycronicControl.cs
查看文件 @
1d786b6
...
@@ -51,8 +51,49 @@ namespace TheMachine.device.Other
...
@@ -51,8 +51,49 @@ namespace TheMachine.device.Other
#
endregion
#
endregion
crc
.
LanguageChangeEvent
+=
Crc_LanguageChangeEvent
;
;
crc
.
LanguageChangeEvent
+=
Crc_LanguageChangeEvent
;
;
// 假设 TowerInfo 列表已经存在并被填充了
List
<
TowerInfo
>
towerList
=
TowerList
.
List
.
Values
.
ToList
();
// 创建一个 checkbox 的列表控件
List
<
CheckBox
>
checkBoxList
=
new
List
<
CheckBox
>();
// 遍历 TowerInfo 列表,并生成一个带有 checkbox 的列表
foreach
(
var
tower
in
towerList
)
{
// 创建一个新的 checkbox 控件
CheckBox
checkBox
=
new
CheckBox
();
checkBox
.
Text
=
tower
.
TowerName
;
checkBox
.
Checked
=
tower
.
Enable
;
// 添加一个 Tag 属性,用于保存对应的 TowerInfo 对象
checkBox
.
Tag
=
tower
;
// 将 checkbox 控件添加到列表中
checkBoxList
.
Add
(
checkBox
);
// 将 checkbox 的 CheckedChanged 事件与一个方法绑定,用于修改对应的 TowerInfo 对象的 enable 属性
checkBox
.
CheckedChanged
+=
CheckBox_CheckedChanged
;
}
// 将 checkbox 列表添加到窗体中的一个容器控件中
foreach
(
var
checkBox
in
checkBoxList
)
{
flowLayoutPanel2
.
Controls
.
Add
(
checkBox
);
}
}
}
// CheckBox 的 CheckedChanged 事件的处理方法
private
void
CheckBox_CheckedChanged
(
object
sender
,
EventArgs
e
)
{
// 获取当前 checkbox 控件和对应的 TowerInfo 对象
CheckBox
checkBox
=
(
CheckBox
)
sender
;
TowerInfo
tower
=
(
TowerInfo
)
checkBox
.
Tag
;
// 更新 TowerInfo 对象的 enable 属性
tower
.
Enable
=
checkBox
.
Checked
;
}
private
void
Crc_LanguageChangeEvent
(
object
sender
,
EventArgs
e
)
private
void
Crc_LanguageChangeEvent
(
object
sender
,
EventArgs
e
)
{
{
stateView
.
Columns
[
1
].
Text
=
"Tower ID"
;
stateView
.
Columns
[
1
].
Text
=
"Tower ID"
;
...
@@ -91,5 +132,16 @@ namespace TheMachine.device.Other
...
@@ -91,5 +132,16 @@ namespace TheMachine.device.Other
MI
.
DeviceList
[
"AMH-MI1"
].
Reset
();
MI
.
DeviceList
[
"AMH-MI1"
].
Reset
();
}
}
private
void
button1_Click
(
object
sender
,
EventArgs
e
)
{
if
(
RobotManage
.
isRunning
)
{
MessageBox
.
Show
(
crc
.
GetString
(
"Res0072"
,
"请先停止系统运行"
));
return
;
}
MI
.
DeviceList
[
"AMH-MI2"
].
Reset
();
}
}
}
}
}
\ No newline at end of file
\ No newline at end of file
TheMachine/device/TrayStopControl.cs
查看文件 @
1d786b6
...
@@ -41,7 +41,8 @@ namespace TheMachine
...
@@ -41,7 +41,8 @@ namespace TheMachine
var
axis
=
RobotManage
.
Config
.
moveAxisList
.
Find
(
ma
=>
ma
.
GetAxisValue
()
==
RobotManage
.
DeviceGroup
[
deviceGroupName
].
AxisID
);
var
axis
=
RobotManage
.
Config
.
moveAxisList
.
Find
(
ma
=>
ma
.
GetAxisValue
()
==
RobotManage
.
DeviceGroup
[
deviceGroupName
].
AxisID
);
if
(
axis
!=
null
)
if
(
axis
!=
null
)
axisMoveControl1
.
LoadData
(
AxisBean
.
List
[
deviceGroupName
]);
axisMoveControl1
.
LoadData
(
AxisBean
.
List
[
deviceGroupName
]);
else
crc
.
LanguageProcess
(
axisMoveControl1
);
if
(
TrayStop
.
DeviceList
[
deviceGroupName
].
RFID_1
!=
null
)
if
(
TrayStop
.
DeviceList
[
deviceGroupName
].
RFID_1
!=
null
)
rfidControl1
.
Init
(
deviceGroupName
,
TrayStop
.
DeviceList
[
deviceGroupName
].
RFID_1
);
rfidControl1
.
Init
(
deviceGroupName
,
TrayStop
.
DeviceList
[
deviceGroupName
].
RFID_1
);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论