Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
刘韬
/
SO20242OutBound
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit c7e73822
由
LN
编写于
2023-04-10 09:13:36 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1
1 个父辈
9c7f139d
隐藏空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
692 行增加
和
213 行删除
DeviceLibrary/DeviceLibrary.csproj
DeviceLibrary/theMachine/MainMachine _AutoInOutTest.cs
DeviceLibrary/theMachine/MainMachine.cs
DeviceLibrary/theMachine/MoveStep.cs
DeviceLibrary/theMachine/OutShelfBean.cs
DeviceLibrary/theMachine/RobotManage.cs
SharedDLL/Asa.RFID.PuYue.dll
SharedDLL/Asa.RFID.PuYue.xml
TheMachine/FormMain.cs
TheMachine/IOControls.Designer.cs
TheMachine/UC/uc_boxdebug.cs
TheMachine/UC/uc_boxdebug.designer.cs
DeviceLibrary/DeviceLibrary.csproj
查看文件 @
c7e7382
...
@@ -36,8 +36,8 @@
...
@@ -36,8 +36,8 @@
<SpecificVersion>False</SpecificVersion>
<SpecificVersion>False</SpecificVersion>
<HintPath>..\SharedDLL\Asa.Camera.VisionLib.dll</HintPath>
<HintPath>..\SharedDLL\Asa.Camera.VisionLib.dll</HintPath>
</Reference>
</Reference>
<Reference Include="Asa.RFID">
<Reference Include="Asa.RFID
.PuYue
">
<HintPath>..\
..\DoubleLineClient_3D\dll\Asa.RFID
.dll</HintPath>
<HintPath>..\
SharedDLL\Asa.RFID.PuYue
.dll</HintPath>
</Reference>
</Reference>
<Reference Include="CodeLibrary, Version=1.0.8485.20895, Culture=neutral, processorArchitecture=MSIL">
<Reference Include="CodeLibrary, Version=1.0.8485.20895, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<SpecificVersion>False</SpecificVersion>
...
@@ -86,7 +86,6 @@
...
@@ -86,7 +86,6 @@
<Compile Include="DeviceLibrary\LiftMonitor.cs" />
<Compile Include="DeviceLibrary\LiftMonitor.cs" />
<Compile Include="DeviceLibrary\LineRunMonitor.cs" />
<Compile Include="DeviceLibrary\LineRunMonitor.cs" />
<Compile Include="DeviceLibrary\ReelParam.cs" />
<Compile Include="DeviceLibrary\ReelParam.cs" />
<Compile Include="DeviceLibrary\RFIDManager.cs" />
<Compile Include="DeviceLibrary\ServerCommunication.cs" />
<Compile Include="DeviceLibrary\ServerCommunication.cs" />
<Compile Include="DeviceLibrary\AxisBean.cs" />
<Compile Include="DeviceLibrary\AxisBean.cs" />
<Compile Include="theMachine\ReelTransport.cs" />
<Compile Include="theMachine\ReelTransport.cs" />
...
...
DeviceLibrary/theMachine/MainMachine _AutoInOutTest.cs
查看文件 @
c7e7382
...
@@ -6,50 +6,60 @@ namespace DeviceLibrary
...
@@ -6,50 +6,60 @@ namespace DeviceLibrary
{
{
partial
class
MainMachine
partial
class
MainMachine
{
{
p
ublic
bool
StartAutoInOutTest
(
int
posindex
,
out
string
errmsg
)
p
rivate
bool
canStartTest
(
out
string
errmsg
)
{
{
errmsg
=
""
;
errmsg
=
""
;
if
(!
boxTransport
.
IgnoreX09
&&
IOValue
(
IO_Type
.
TrayCheck_Fixture
).
Equals
(
IO_VALUE
.
HIGH
))
{
if
(!
boxTransport
.
IgnoreX09
&&
IOMonitor
.
IODebound
(
IO_Type
.
TrayCheck_Fixture
,
Config
,
IO_VALUE
.
HIGH
,
5000
))
{
errmsg
=
crc
.
GetString
(
"Res0152"
,
"收到任务,但料叉上有料,无法启动,请检查"
);
}
else
{
errmsg
=
crc
.
GetString
(
"Res0152"
,
"收到任务,但料叉上有料,无法启动,请检查"
);
}
return
false
;
}
else
{
IgnoreGratingSignal
=
true
;
}
if
(!
boxTransport
.
IsComplateOrFree
)
if
(!
boxTransport
.
IsComplateOrFree
)
{
{
errmsg
=
crc
.
GetString
(
"Res0151"
,
"料仓忙碌中,无法启动"
);
errmsg
=
crc
.
GetString
(
"Res0151"
,
"料仓忙碌中,无法启动"
);
return
false
;
return
false
;
}
}
return
true
;
}
public
bool
StartAutoTest
(
string
posName
,
out
string
errmsg
)
{
if
(!
canStartTest
(
out
errmsg
))
{
return
false
;
}
CurrentPosName
=
posName
;
CurrStartPos
=
GetAutoStartPos
(
1
);
AutoInOutTest
=
true
;
AutoInOutTest
=
true
;
StopAutoInOut
=
false
;
StopAutoInOut
=
false
;
CurrentPosIndex
=
posindex
;
CurrentPosIndex
=
RobotManage
.
PositionNumList
.
IndexOf
(
posName
)
;
AIOTMoveInfo
.
NewMove
(
MoveStep
.
StoreIn01
);
AIOTMoveInfo
.
NewMove
(
MoveStep
.
A01_WaitReel
);
return
true
;
return
true
;
}
}
public
bool
ManualIn
(
string
startPos
,
int
posindex
,
out
string
errmsg
)
public
bool
ManualTest
(
string
startPos
,
string
posName
,
out
string
errmsg
)
{
{
errmsg
=
""
;
if
(!
canStartTest
(
out
errmsg
))
if
(
boxTransport
.
IsComplateOrFree
)
{
if
(!
boxTransport
.
IgnoreX09
&&
IOValue
(
IO_Type
.
TrayCheck_Fixture
).
Equals
(
IO_VALUE
.
HIGH
))
{
if
(!
boxTransport
.
IgnoreX09
&&
IOMonitor
.
IODebound
(
IO_Type
.
TrayCheck_Fixture
,
Config
,
IO_VALUE
.
HIGH
,
5000
))
{
errmsg
=
crc
.
GetString
(
"Res0152"
,
"收到出库任务,但料叉上有料,无法启动,请检查"
);
}
else
errmsg
=
crc
.
GetString
(
"Res0152"
,
"收到出库任务,但料叉上有料,无法启动,请检查"
);
return
false
;
}
else
boxTransport
.
IgnoreX09
=
false
;
CurrentPosIndex
=
posindex
;
CurrStartPos
=
startPos
;
StopAutoInOut
=
true
;
AIOTMoveInfo
.
NewMove
(
MoveStep
.
StoreIn01
);
AIOTMoveInfo
.
log
(
$
"开始入库任务:"
+
RobotManage
.
allPositionMap
.
Values
.
ToArray
()[
posindex
].
PositionNum
);
}
else
{
{
errmsg
=
crc
.
GetString
(
"Res0153"
,
"料仓正在出入库中,无法出库"
)
;
return
false
;
}
}
CurrentPosName
=
posName
;
CurrentPosIndex
=
RobotManage
.
PositionNumList
.
IndexOf
(
posName
);
CurrStartPos
=
startPos
;
AutoInOutTest
=
false
;
StopAutoInOut
=
true
;
AIOTMoveInfo
.
NewMove
(
MoveStep
.
A01_Ready
);
AIOTMoveInfo
.
log
(
$
"开始放料任务:"
+
startPos
+
"->"
+
posName
);
return
true
;
return
true
;
}
}
...
@@ -57,13 +67,50 @@ namespace DeviceLibrary
...
@@ -57,13 +67,50 @@ namespace DeviceLibrary
{
{
StopAutoInOut
=
true
;
StopAutoInOut
=
true
;
}
}
int
CurrentPosIndex
=
0
;
private
int
CurrentPosIndex
=
0
;
private
string
CurrentPosName
=
""
;
/// <summary>
/// <summary>
/// 自动出入库状态
/// 自动出入库状态
/// </summary>
/// </summary>
public
bool
AutoInOutTest
{
get
;
set
;
}
=
false
;
public
bool
AutoInOutTest
{
get
;
set
;
}
=
false
;
bool
StopAutoInOut
=
false
;
bool
StopAutoInOut
=
false
;
string
CurrStartPos
=
"IN_1"
;
string
CurrStartPos
=
"IN_1"
;
private
string
GetAutoStartPos
(
int
count
=
0
)
{
if
(
count
==
0
)
{
if
(
CurrStartPos
.
Equals
(
"IN_1"
))
{
CurrStartPos
=
"IN_2"
;
}
else
{
CurrStartPos
=
"IN_1"
;
}
}
else
{
return
CurrStartPos
=
"IN_"
+
count
;
}
return
CurrStartPos
;
}
private
ACStorePosition
getPos
(
int
index
)
{
if
(
index
<=
0
)
{
return
null
;
}
CurrentPosName
=
RobotManage
.
PositionNumList
[
index
];
if
(!
RobotManage
.
allPositionMap
.
ContainsKey
(
CurrentPosName
))
{
return
null
;
}
ACStorePosition
storePosition
=
RobotManage
.
allPositionMap
[
CurrentPosName
];
return
storePosition
;
}
void
AutoInOutTestProcess
()
void
AutoInOutTestProcess
()
{
{
if
(
CheckWait
(
AIOTMoveInfo
))
if
(
CheckWait
(
AIOTMoveInfo
))
...
@@ -73,55 +120,71 @@ namespace DeviceLibrary
...
@@ -73,55 +120,71 @@ namespace DeviceLibrary
{
{
case
MoveStep
.
Wait
:
case
MoveStep
.
Wait
:
break
;
break
;
case
MoveStep
.
InWaitServerCallback
:
case
MoveStep
.
A01_WaitReel
:
if
(
IOValue
(
IO_Type
.
IN_1_Reel_Check
).
Equals
(
IO_VALUE
.
LOW
))
if
(
IOValue
(
IO_Type
.
IN_1_Reel_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
Wait
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
A01_Ready
);
AIOTMoveInfo
.
log
(
$
"入库料盘已离开"
);
AIOTMoveInfo
.
log
(
$
"料盘1已准备好"
);
}
else
{
Msg
.
add
(
crc
.
GetString
(
"Res0155"
,
"请放入测试料盘1"
),
MsgLevel
.
warning
);
}
}
break
;
break
;
case
MoveStep
.
StoreIn01
:
case
MoveStep
.
A01_Ready
:
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn02
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
A02_StartPutOne
);
var
ac
=
RobotManage
.
allPositionMap
.
Values
.
ToArray
()[
CurrentPosIndex
];
ACStorePosition
ac
=
null
;
var
reel
=
new
ReelParam
(
"auto"
,
ac
.
BagWidth
,
ac
.
BagHigh
);
if
(
string
.
IsNullOrEmpty
(
CurrentPosName
))
if
(!
boxTransport
.
Start
(
new
BoxStorePosition
(
Config
,
ac
,
reel
),
new
BoxStorePosition
(
Config
,
ac
,
reel
),
StoreMoveType
.
PutReel
))
{
ac
=
RobotManage
.
allPositionMap
[
CurrentPosName
];
}
else
{
ac
=
getPos
(
CurrentPosIndex
);
}
var
reel
=
new
ReelParam
(
"auto"
,
ac
.
BagWidth
,
ac
.
BagHigh
);
var
startPos
=
RobotManage
.
allPositionMap
[
CurrStartPos
];
if
(!
boxTransport
.
Start
(
new
BoxStorePosition
(
Config
,
startPos
,
reel
),
new
BoxStorePosition
(
Config
,
ac
,
reel
),
StoreMoveType
.
PutReel
))
{
{
AIOTMoveInfo
.
log
(
$
"
料仓周转启动失败
"
);
AIOTMoveInfo
.
log
(
$
"
启动运输料盘失败,StopAutoInOut
"
);
AutoInOutTest
=
false
;
AutoInOutTest
=
false
;
StopAutoInOut
=
true
;
StopAutoInOut
=
true
;
return
;
return
;
}
}
AIOTMoveInfo
.
log
(
$
"开始
转运
料盘第一盘"
);
AIOTMoveInfo
.
log
(
$
"开始
匀速
料盘第一盘"
);
break
;
break
;
case
MoveStep
.
StoreIn02
:
case
MoveStep
.
A02_StartPutOne
:
if
(
boxTransport
.
IsTakedReel
)
if
(
boxTransport
.
IsTakedReel
)
{
{
if
(
StopAutoInOut
)
if
(
StopAutoInOut
)
{
{
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn04
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
A04_WaitOneComplate
);
AIOTMoveInfo
.
log
(
$
"不在自动测试模式, 直接结束1"
);
AIOTMoveInfo
.
log
(
$
"不在自动测试模式, 直接结束1"
);
}
}
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn03
);
else
AIOTMoveInfo
.
log
(
$
"第一盘料盘已取走"
);
{
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
A03_WaitRee2
);
AIOTMoveInfo
.
log
(
$
"第一盘料盘已取走"
);
}
}
}
else
else
{
{
Msg
.
add
(
crc
.
GetString
(
"Res0154"
,
"单料口等待料盘离开."
),
MsgLevel
.
info
);
Msg
.
add
(
crc
.
GetString
(
"Res0154"
,
"单料口等待料盘离开."
),
MsgLevel
.
info
);
}
}
break
;
break
;
case
MoveStep
.
StoreIn03
:
case
MoveStep
.
A03_WaitRee2
:
if
(
IOValue
(
IO_Type
.
IN_
1
_Reel_Check
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
IOValue
(
IO_Type
.
IN_
2
_Reel_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn04
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
A04_WaitOneComplate
);
AIOTMoveInfo
.
log
(
$
"
入库料盘
已准备好"
);
AIOTMoveInfo
.
log
(
$
"
测试料盘2
已准备好"
);
}
}
else
else
{
{
Msg
.
add
(
crc
.
GetString
(
"Res0155"
,
"请放入
第二盘料
."
),
MsgLevel
.
warning
);
Msg
.
add
(
crc
.
GetString
(
"Res0155"
,
"请放入
测试料盘2
."
),
MsgLevel
.
warning
);
}
}
break
;
break
;
case
MoveStep
.
StoreIn04
:
case
MoveStep
.
A04_WaitOneComplate
:
if
(
boxTransport
.
IsComplateOrFree
)
if
(
boxTransport
.
IsComplateOrFree
)
{
{
if
(
StopAutoInOut
)
if
(
StopAutoInOut
)
...
@@ -130,30 +193,32 @@ namespace DeviceLibrary
...
@@ -130,30 +193,32 @@ namespace DeviceLibrary
AIOTMoveInfo
.
EndMove
();
AIOTMoveInfo
.
EndMove
();
return
;
return
;
}
}
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn05
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
A05_StartPutTwo
);
AIOTMoveInfo
.
log
(
$
"第一盘料盘已到达目的地"
);
AIOTMoveInfo
.
log
(
$
"第一盘料盘已到达目的地"
);
if
(
CurrentPosIndex
-
1
<
0
||
StopAutoInOut
)
if
(
CurrentPosIndex
-
1
<
0
||
StopAutoInOut
)
{
{
AIOTMoveInfo
.
log
(
$
"已达到最后一个库位:{CurrentPosIndex}
,
或手动停止{StopAutoInOut},自动出入库停止,将料盘送至出口"
);
AIOTMoveInfo
.
log
(
$
"已达到最后一个库位:{CurrentPosIndex}
,
或手动停止{StopAutoInOut},自动出入库停止,将料盘送至出口"
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreOut10
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
A10_LastPos
);
return
;
return
;
}
}
AIOTMoveInfo
.
log
(
$
"开始转运料盘第二盘"
);
AIOTMoveInfo
.
log
(
$
"开始匀速料盘第二盘"
);
ac
=
RobotManage
.
allPositionMap
.
Values
.
ToArray
()[
CurrentPosIndex
-
1
];
ac
=
getPos
(
CurrentPosIndex
-
1
);
reel
=
new
ReelParam
(
"auto"
,
ac
.
BagWidth
,
ac
.
BagHigh
);
reel
=
new
ReelParam
(
"auto"
,
ac
.
BagWidth
,
ac
.
BagHigh
);
if
(!
boxTransport
.
Start
(
new
BoxStorePosition
(
Config
,
ac
,
reel
),
new
BoxStorePosition
(
Config
,
ac
,
reel
),
StoreMoveType
.
PutReel
))
startPos
=
RobotManage
.
allPositionMap
[
GetAutoStartPos
()];
if
(!
boxTransport
.
Start
(
new
BoxStorePosition
(
Config
,
startPos
,
reel
),
new
BoxStorePosition
(
Config
,
ac
,
reel
),
StoreMoveType
.
PutReel
))
{
{
AIOTMoveInfo
.
log
(
$
"
料仓周转启动失败
"
);
AIOTMoveInfo
.
log
(
$
"
启动运输料盘失败,StopAutoInOut
"
);
AutoInOutTest
=
false
;
AutoInOutTest
=
false
;
StopAutoInOut
=
true
;
StopAutoInOut
=
true
;
return
;
return
;
}
}
}
}
break
;
break
;
case
MoveStep
.
StoreIn05
:
case
MoveStep
.
A05_StartPutTwo
:
if
(
boxTransport
.
IsTakedReel
)
if
(
boxTransport
.
IsTakedReel
)
{
{
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn06
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
A06_WaitTwoEnd
);
AIOTMoveInfo
.
log
(
$
"第二盘料盘已取走"
);
AIOTMoveInfo
.
log
(
$
"第二盘料盘已取走"
);
}
}
else
else
...
@@ -161,41 +226,41 @@ namespace DeviceLibrary
...
@@ -161,41 +226,41 @@ namespace DeviceLibrary
Msg
.
add
(
crc
.
GetString
(
"Res0154"
,
"单料口等待料盘离开."
),
MsgLevel
.
info
);
Msg
.
add
(
crc
.
GetString
(
"Res0154"
,
"单料口等待料盘离开."
),
MsgLevel
.
info
);
}
}
break
;
break
;
case
MoveStep
.
StoreIn06
:
case
MoveStep
.
A06_WaitTwoEnd
:
if
(
boxTransport
.
IsComplateOrFree
)
if
(
boxTransport
.
IsComplateOrFree
)
{
{
AIOTMoveInfo
.
log
(
$
"第二盘料盘已到达目的地"
);
AIOTMoveInfo
.
log
(
$
"第二盘料盘已到达目的地"
);
if
(
CurrentPosIndex
-
1
<
0
||
StopAutoInOut
)
if
(
CurrentPosIndex
-
1
<
0
||
StopAutoInOut
)
{
{
AIOTMoveInfo
.
log
(
$
"已达到最后一个库位:{CurrentPosIndex},或手动停止{StopAutoInOut},自动出入库停止,将料盘送至出口"
);
AIOTMoveInfo
.
log
(
$
"已达到最后一个库位:{CurrentPosIndex},或手动停止{StopAutoInOut},自动出入库停止,将料盘送至出口"
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreOut10
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
A10_LastPos
);
return
;
return
;
}
}
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn07
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
A07_NextPos
);
}
}
break
;
break
;
case
MoveStep
.
StoreIn07
:
case
MoveStep
.
A07_NextPos
:
if
(
boxTransport
.
IsComplateOrFree
)
if
(
boxTransport
.
IsComplateOrFree
)
{
{
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn08
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn08
);
var
ac1
=
RobotManage
.
allPositionMap
.
Values
.
ToArray
()[
CurrentPosIndex
];
if
(
CurrentPosIndex
-
2
<
0
||
StopAutoInOut
)
if
(
CurrentPosIndex
-
2
<
0
||
StopAutoInOut
)
{
{
AIOTMoveInfo
.
log
(
$
"A已达到最后一个库位:{CurrentPosIndex},或手动停止{StopAutoInOut},自动出入库停止,将料盘送至出口"
);
AIOTMoveInfo
.
log
(
$
"A已达到最后一个库位:{CurrentPosIndex},或手动停止{StopAutoInOut},自动出入库停止,将料盘送至出口"
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreOut10
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
A10_LastPos
);
CurrentPosIndex
++;
CurrentPosIndex
++;
return
;
return
;
}
}
var
ac2
=
RobotManage
.
allPositionMap
.
Values
.
ToArray
()[
CurrentPosIndex
-
2
];
var
ac1
=
getPos
(
CurrentPosIndex
);
var
ac2
=
getPos
(
CurrentPosIndex
-
2
);
reel
=
new
ReelParam
(
"auto"
,
ac2
.
BagWidth
,
ac2
.
BagHigh
);
reel
=
new
ReelParam
(
"auto"
,
ac2
.
BagWidth
,
ac2
.
BagHigh
);
if
(!
boxTransport
.
Start
(
new
BoxStorePosition
(
Config
,
ac1
,
reel
),
new
BoxStorePosition
(
Config
,
ac2
,
reel
),
StoreMoveType
.
PutReel
))
if
(!
boxTransport
.
Start
(
new
BoxStorePosition
(
Config
,
ac1
,
reel
),
new
BoxStorePosition
(
Config
,
ac2
,
reel
),
StoreMoveType
.
PutReel
))
{
{
AIOTMoveInfo
.
log
(
$
"
料仓周转启动失败
"
);
AIOTMoveInfo
.
log
(
$
"
启动运输料盘失败,StopAutoInOut
"
);
AutoInOutTest
=
false
;
AutoInOutTest
=
false
;
StopAutoInOut
=
true
;
StopAutoInOut
=
true
;
return
;
return
;
}
}
AIOTMoveInfo
.
log
(
$
"开始交替"
);
AIOTMoveInfo
.
log
(
$
"开始交替
:【{ac1.PositionNum}】->【{ac2.PositionNum}】
"
);
}
}
break
;
break
;
case
MoveStep
.
StoreIn08
:
case
MoveStep
.
StoreIn08
:
...
@@ -204,27 +269,30 @@ namespace DeviceLibrary
...
@@ -204,27 +269,30 @@ namespace DeviceLibrary
AIOTMoveInfo
.
log
(
$
"料盘已到达目的地"
);
AIOTMoveInfo
.
log
(
$
"料盘已到达目的地"
);
if
(
CurrentPosIndex
-
1
<
0
||
StopAutoInOut
)
if
(
CurrentPosIndex
-
1
<
0
||
StopAutoInOut
)
{
{
AIOTMoveInfo
.
log
(
$
"
B
已达到最后一个库位:{CurrentPosIndex},或手动停止{StopAutoInOut},自动出入库停止,将料盘送至出口"
);
AIOTMoveInfo
.
log
(
$
"已达到最后一个库位:{CurrentPosIndex},或手动停止{StopAutoInOut},自动出入库停止,将料盘送至出口"
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreOut10
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
A10_LastPos
);
return
;
return
;
}
}
CurrentPosIndex
--;
CurrentPosIndex
--;
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreIn07
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
A07_NextPos
);
AIOTMoveInfo
.
log
(
$
"CurrentPosIndex={CurrentPosIndex}"
);
}
}
break
;
break
;
case
MoveStep
.
StoreOut10
:
case
MoveStep
.
A10_LastPos
:
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreOut11
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreOut11
);
CurrentPosIndex
--;
CurrentPosIndex
--;
ac
=
RobotManage
.
allPositionMap
.
Values
.
ToArray
()[
CurrentPosIndex
];
CurrStartPos
=
GetAutoStartPos
(
1
);
ACStorePosition
start1
=
RobotManage
.
allPositionMap
[
CurrStartPos
];
ac
=
getPos
(
CurrentPosIndex
);
reel
=
new
ReelParam
(
"auto"
,
ac
.
BagWidth
,
ac
.
BagHigh
);
reel
=
new
ReelParam
(
"auto"
,
ac
.
BagWidth
,
ac
.
BagHigh
);
if
(!
boxTransport
.
Start
(
new
BoxStorePosition
(
Config
,
ac
,
reel
),
new
BoxStorePosition
(
Config
,
ac
,
reel
),
StoreMoveType
.
OutStore
))
if
(!
boxTransport
.
Start
(
new
BoxStorePosition
(
Config
,
ac
,
reel
),
new
BoxStorePosition
(
Config
,
start1
,
reel
),
StoreMoveType
.
OutStore
))
{
{
AIOTMoveInfo
.
log
(
$
"
料仓周转启动失败
"
);
AIOTMoveInfo
.
log
(
$
"
启动运输料盘失败,StopAutoInOut
"
);
AutoInOutTest
=
false
;
AutoInOutTest
=
false
;
StopAutoInOut
=
true
;
StopAutoInOut
=
true
;
return
;
return
;
}
}
AIOTMoveInfo
.
log
(
$
"开始
转运料盘
"
);
AIOTMoveInfo
.
log
(
$
"开始
运送料盘【{ac.PositionNum}】->【{start1.PositionNum}】
"
);
break
;
break
;
case
MoveStep
.
StoreOut11
:
case
MoveStep
.
StoreOut11
:
if
(
boxTransport
.
IsPutOnOut
)
if
(
boxTransport
.
IsPutOnOut
)
...
@@ -241,26 +309,21 @@ namespace DeviceLibrary
...
@@ -241,26 +309,21 @@ namespace DeviceLibrary
AIOTMoveInfo
.
log
(
$
"料盘已到取走"
);
AIOTMoveInfo
.
log
(
$
"料盘已到取走"
);
//AutoInOutTest = false;
//AutoInOutTest = false;
}
}
break
;
break
;
case
MoveStep
.
StoreOut13
:
case
MoveStep
.
StoreOut13
:
if
(
IOValue
(
IO_Type
.
IN_1_Reel_Check
).
Equals
(
IO_VALUE
.
LOW
))
{
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreOut14
);
AIOTMoveInfo
.
log
(
$
"第2盘料盘已取走"
);
}
break
;
case
MoveStep
.
StoreOut14
:
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreOut15
);
AIOTMoveInfo
.
NextMoveStep
(
MoveStep
.
StoreOut15
);
CurrStartPos
=
GetAutoStartPos
(
2
);
ACStorePosition
start2
=
RobotManage
.
allPositionMap
[
CurrStartPos
];
ac
=
RobotManage
.
allPositionMap
.
Values
.
ToArray
()[
CurrentPosIndex
-
1
];
ac
=
RobotManage
.
allPositionMap
.
Values
.
ToArray
()[
CurrentPosIndex
-
1
];
reel
=
new
ReelParam
(
"auto"
,
ac
.
BagWidth
,
ac
.
BagHigh
);
reel
=
new
ReelParam
(
"auto"
,
ac
.
BagWidth
,
ac
.
BagHigh
);
if
(!
boxTransport
.
Start
(
new
BoxStorePosition
(
Config
,
ac
,
reel
),
new
BoxStorePosition
(
Config
,
ac
,
reel
),
StoreMoveType
.
OutStore
))
if
(!
boxTransport
.
Start
(
new
BoxStorePosition
(
Config
,
ac
,
reel
),
new
BoxStorePosition
(
Config
,
start2
,
reel
),
StoreMoveType
.
OutStore
))
{
{
AIOTMoveInfo
.
log
(
$
"
料仓周转启动失败
"
);
AIOTMoveInfo
.
log
(
$
"
启动运输料盘失败,StopAutoInOut
"
);
AutoInOutTest
=
false
;
AutoInOutTest
=
false
;
StopAutoInOut
=
true
;
StopAutoInOut
=
true
;
return
;
return
;
}
}
AIOTMoveInfo
.
log
(
$
"开始
转运料盘
"
);
AIOTMoveInfo
.
log
(
$
"开始
运送料盘【{ac.PositionNum}】->【{start2.PositionNum}】
"
);
break
;
break
;
case
MoveStep
.
StoreOut15
:
case
MoveStep
.
StoreOut15
:
if
(
boxTransport
.
IsPutOnOut
)
if
(
boxTransport
.
IsPutOnOut
)
...
...
DeviceLibrary/theMachine/MainMachine.cs
查看文件 @
c7e7382
...
@@ -72,6 +72,7 @@ namespace DeviceLibrary
...
@@ -72,6 +72,7 @@ namespace DeviceLibrary
public
Dictionary
<
string
,
ReelParam
>
NgPosMap
=
new
Dictionary
<
string
,
ReelParam
>();
public
Dictionary
<
string
,
ReelParam
>
NgPosMap
=
new
Dictionary
<
string
,
ReelParam
>();
public
MainMachine
(
Robot_Config
_config
)
{
public
MainMachine
(
Robot_Config
_config
)
{
Config
=
_config
;
Config
=
_config
;
crc
.
LanguageChangeEvent
+=
Crc_LanguageChangeEvent
;
crc
.
LanguageChangeEvent
+=
Crc_LanguageChangeEvent
;
...
...
DeviceLibrary/theMachine/MoveStep.cs
查看文件 @
c7e7382
...
@@ -124,17 +124,17 @@ namespace DeviceLibrary
...
@@ -124,17 +124,17 @@ namespace DeviceLibrary
//放料:放料全部结束
//放料:放料全部结束
PutReel05_End
,
PutReel05_End
,
A01_WaitReel
,
StoreIn01
,
//入库
A01_Ready
,
//入库
StoreIn02
,
A02_StartPutOne
,
StoreIn03
,
A03_WaitRee2
,
StoreIn04
,
A04_WaitOneComplate
,
StoreIn05
,
A05_StartPutTwo
,
StoreIn06
,
A06_WaitTwoEnd
,
StoreIn07
,
A07_NextPos
,
StoreIn08
,
StoreIn08
,
StoreIn09
,
StoreIn09
,
StoreOut10
,
//出库
A10_LastPos
,
//出库
StoreOut_NGPre
,
StoreOut_NGPre
,
StoreOut11
,
StoreOut11
,
StoreOut12
,
StoreOut12
,
...
...
DeviceLibrary/theMachine/OutShelfBean.cs
查看文件 @
c7e7382
...
@@ -12,24 +12,17 @@ namespace DeviceLibrary
...
@@ -12,24 +12,17 @@ namespace DeviceLibrary
{
{
public
class
OutShelfBean
public
class
OutShelfBean
{
{
public
string
Name
;
public
static
PuYueRFID_C2S
RFID
=
null
;
public
string
Name
;
MoveInfo
MoveInfo
;
MoveInfo
MoveInfo
;
public
string
WarnMsg
=
""
;
public
string
WarnMsg
=
""
;
/// <summary>
/// <summary>
/// 出料口定位气缸,high=up,low=down
/// 出料口定位气缸,high=up,low=down
/// </summary>
/// </summary>
private
CylinderManger
locationCylinder
;
private
CylinderManger
locationCylinder
;
public
ShelfInfo
CurrShelf
;
//public string currShelfRfid;
public
ShelfInfo
CurrShelf
;
public
string
rfidIp
;
public
string
rfidIp
;
public
OutShelfBean
(
string
name
)
public
OutShelfBean
(
string
name
)
{
{
this
.
Name
=
name
;
this
.
Name
=
name
;
...
@@ -46,6 +39,12 @@ namespace DeviceLibrary
...
@@ -46,6 +39,12 @@ namespace DeviceLibrary
Moto_Rwd
=
ioStr
+
Moto_Rwd
;
Moto_Rwd
=
ioStr
+
Moto_Rwd
;
locationCylinder
=
new
CylinderManger
(
name
+
"出料口定位"
,
Location_Up
,
Location_Down
);
locationCylinder
=
new
CylinderManger
(
name
+
"出料口定位"
,
Location_Up
,
Location_Down
);
RFID
=
new
PuYueRFID_C2S
(
rfidIp
);
if
(!
RFID
.
Open
())
{
LogUtil
.
info
(
name
+
" RFID 打开失败:"
+
rfidIp
);
}
#
endregion
#
endregion
}
}
public
void
Reset
()
public
void
Reset
()
...
@@ -250,22 +249,14 @@ namespace DeviceLibrary
...
@@ -250,22 +249,14 @@ namespace DeviceLibrary
locationCylinder
.
ToHigh
(
MoveInfo
);
locationCylinder
.
ToHigh
(
MoveInfo
);
}
}
break
;
break
;
case
MoveStep
.
S05_LocationUp
:
case
MoveStep
.
S05_LocationUp
:
MoveInfo
.
NextMoveStep
(
MoveStep
.
S06_ReadRFID
);
S06_ReadRFID
();
MoveInfo
.
log
(
"读取RFID"
);
ReadShelfId
();
if
(
CurrShelf
.
rfid
==
""
)
{
S21_ShelfNeedLeave
(
"未读取到RFID"
);
}
else
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
S10_ShelfReady
);
MoveInfo
.
log
(
"料架已准备完成"
);
}
break
;
break
;
case
MoveStep
.
S06_ReadRFID
:
S06_ReadRFID
();
break
;
case
MoveStep
.
S10_ShelfReady
:
case
MoveStep
.
S10_ShelfReady
:
if
(
CurrShelf
.
IsNeedLeave
)
if
(
CurrShelf
.
IsNeedLeave
)
{
{
...
@@ -343,18 +334,58 @@ namespace DeviceLibrary
...
@@ -343,18 +334,58 @@ namespace DeviceLibrary
return
false
;
return
false
;
}
}
private
void
S06_ReadRFID
()
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
S06_ReadRFID
);
MoveInfo
.
log
(
"读取RFID"
);
if
(
ReadShelfId
())
{
if
(
CurrShelf
.
rfid
==
""
)
{
S21_ShelfNeedLeave
(
"未读取到RFID"
);
}
else
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
S10_ShelfReady
);
MoveInfo
.
log
(
"料架已准备完成"
);
}
}
else
{
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
}
}
private
void
S21_ShelfNeedLeave
(
string
leaveMsg
)
private
void
S21_ShelfNeedLeave
(
string
leaveMsg
)
{
{
MoveInfo
.
NewMove
(
MoveStep
.
S21_ShelfNeedLeave
);
MoveInfo
.
NewMove
(
MoveStep
.
S21_ShelfNeedLeave
);
locationCylinder
.
ToLow
(
MoveInfo
);
locationCylinder
.
ToLow
(
MoveInfo
);
MoveInfo
.
log
(
"料架["
+
CurrShelf
.
ToStr
()
+
"]需要离开:"
+
leaveMsg
+
",定位气缸下降"
);
MoveInfo
.
log
(
"料架["
+
CurrShelf
.
ToStr
()
+
"]需要离开:"
+
leaveMsg
+
",定位气缸下降"
);
}
}
private
string
ReadShelfId
()
private
bool
ReadShelfId
()
{
{
string
rfid
=
RFIDManager
.
ReadRFID
(
rfidIp
).
NumStr
();
if
(
RFID
.
Open
())
CurrShelf
=
new
ShelfInfo
(
rfid
);
{
LogUtil
.
info
(
Name
+
"读取料架号:"
+
CurrShelf
.
ToStr
());
if
(
RFID
.
ReadByte
(
0x20
,
16
,
out
byte
[]
data
))
return
CurrShelf
.
realRFID
;
{
string
rfid
=
Encoding
.
ASCII
.
GetString
(
data
).
Trim
();
CurrShelf
=
new
ShelfInfo
(
rfid
);
LogUtil
.
info
(
Name
+
"RFID["
+
rfidIp
+
"]读取到料架号:"
+
CurrShelf
.
ToStr
());
return
true
;
}
else
{
//读取失败,重试之类
WarnMsg
=
"RFID["
+
rfidIp
+
"]读取失败"
;
LogUtil
.
error
(
WarnMsg
);
}
}
else
{
WarnMsg
=
"RFID["
+
rfidIp
+
"]打开失败"
;
LogUtil
.
error
(
WarnMsg
);
}
return
false
;
}
}
#
region
IO
操作
#
region
IO
操作
...
...
DeviceLibrary/theMachine/RobotManage.cs
查看文件 @
c7e7382
...
@@ -43,6 +43,19 @@ namespace DeviceLibrary
...
@@ -43,6 +43,19 @@ namespace DeviceLibrary
return
_positionNumList
;
return
_positionNumList
;
}
}
}
}
static
List
<
string
>
_allPosList
=
null
;
public
static
List
<
string
>
AllPosList
{
get
{
if
(
_allPosList
==
null
)
{
_allPosList
=
new
List
<
string
>(
CSVPositionReader
<
ACStorePosition
>.
allPositionMap
.
Keys
);
}
return
_allPosList
;
}
}
static
string
baseDir
=
Application
.
StartupPath
;
static
string
baseDir
=
Application
.
StartupPath
;
static
Thread
mainThread
;
static
Thread
mainThread
;
public
static
bool
haveFixpos
=
false
;
public
static
bool
haveFixpos
=
false
;
...
@@ -82,6 +95,9 @@ namespace DeviceLibrary
...
@@ -82,6 +95,9 @@ namespace DeviceLibrary
msg
+=
crc
.
GetString
(
L
.
iocard_init_fail
,
"IO板卡初始化失败"
)+
"\n"
;
msg
+=
crc
.
GetString
(
L
.
iocard_init_fail
,
"IO板卡初始化失败"
)+
"\n"
;
}
}
IOManager
.
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
HIGH
);
}
}
...
...
SharedDLL/Asa.RFID.PuYue.dll
0 → 100644
查看文件 @
c7e7382
此文件类型无法预览
SharedDLL/Asa.RFID.PuYue.xml
0 → 100644
查看文件 @
c7e7382
<?xml version="1.0"?>
<doc>
<assembly>
<name>
Asa.RFID.PuYue
</name>
</assembly>
<members>
<member
name=
"T:Asa.RFID.PuYue_FR540SP"
>
<summary>
HiStation RFID
</summary>
</member>
<member
name=
"E:Asa.RFID.PuYue_FR540SP.Connected"
>
<summary>
已连接时触发
</summary>
</member>
<member
name=
"E:Asa.RFID.PuYue_FR540SP.Received"
>
<summary>
接收到数据事件
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue_FR540SP.#ctor(System.String)"
>
<summary>
HiStation RFID
</summary>
<param
name=
"logName"
>
日志名称
</param>
</member>
<member
name=
"P:Asa.RFID.PuYue_FR540SP.IP"
>
<summary>
IP地址
</summary>
</member>
<member
name=
"P:Asa.RFID.PuYue_FR540SP.IsConn"
>
<summary>
是否连接
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue_FR540SP.Open"
>
<summary>
打开设备
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue_FR540SP.Close"
>
<summary>
关闭设备
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue_FR540SP.Init"
>
<summary>
初始化(用于修改硬件参数,不用每次调用)
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue_FR540SP.TriggerMode(System.Boolean)"
>
<summary>
触发模式
</summary>
<param
name=
"auto"
></param>
</member>
<member
name=
"M:Asa.RFID.PuYue_FR540SP.Listen"
>
<summary>
监听网络
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue_FR540SP.DataProcess"
>
<summary>
数据处理
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue_FR540SP.CmdProcess"
>
<summary>
命令处理
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue_FR540SP.Reconn"
>
<summary>
重连
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue_FR540SP.Connect"
>
<summary>
建立Socket连接
</summary>
<returns></returns>
</member>
<member
name=
"M:Asa.RFID.PuYue_FR540SP.CheckIP(System.String)"
>
<summary>
检查IP
</summary>
<param
name=
"ip"
></param>
<returns></returns>
</member>
<member
name=
"M:Asa.RFID.PuYue_FR540SP.HexBuff(System.Byte[])"
>
<summary>
16进制转换
</summary>
<param
name=
"buff"
></param>
<returns></returns>
</member>
<member
name=
"M:Asa.RFID.PuYue_FR540SP.Read(System.Int16,System.Int16)"
>
<summary>
读取保持寄存器,0x03功能码
</summary>
<param
name=
"address"
></param>
<param
name=
"count"
></param>
</member>
<member
name=
"M:Asa.RFID.PuYue_FR540SP.Write(System.Int16,System.Int16)"
>
<summary>
写入保持寄存器,0x10功能码
</summary>
<param
name=
"address"
></param>
<param
name=
"value"
></param>
</member>
<member
name=
"T:Asa.RFID.PuYue"
>
<summary>
HiStation RFID
</summary>
</member>
<member
name=
"T:Asa.RFID.PuYue.Connected_Event"
>
<summary>
连接事件
</summary>
</member>
<member
name=
"E:Asa.RFID.PuYue.Connected"
>
<summary>
已连接时触发
</summary>
</member>
<member
name=
"T:Asa.RFID.PuYue.Received_Event"
>
<summary>
接收事件
</summary>
<param
name=
"ip"
></param>
<param
name=
"uid"
></param>
<param
name=
"data"
></param>
</member>
<member
name=
"E:Asa.RFID.PuYue.Received"
>
<summary>
接收到数据事件
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue.#ctor(System.String)"
>
<summary>
HiStation RFID
</summary>
<param
name=
"logName"
>
日志名称
</param>
</member>
<member
name=
"P:Asa.RFID.PuYue.IP"
>
<summary>
IP地址
</summary>
</member>
<member
name=
"P:Asa.RFID.PuYue.IsConn"
>
<summary>
是否连接
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue.Open"
>
<summary>
打开设备
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue.Close"
>
<summary>
关闭设备
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue.Init"
>
<summary>
初始化(用于修改硬件参数,不用每次调用)
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue.TriggerMode(System.Boolean)"
>
<summary>
触发模式
</summary>
<param
name=
"auto"
></param>
</member>
<member
name=
"M:Asa.RFID.PuYue.Listen"
>
<summary>
监听网络
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue.DataProcess"
>
<summary>
数据处理
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue.CmdProcess"
>
<summary>
命令处理
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue.Reconn"
>
<summary>
重连
</summary>
</member>
<member
name=
"M:Asa.RFID.PuYue.Connect"
>
<summary>
建立Socket连接
</summary>
<returns></returns>
</member>
<member
name=
"M:Asa.RFID.PuYue.CheckIP(System.String)"
>
<summary>
检查IP
</summary>
<param
name=
"ip"
></param>
<returns></returns>
</member>
<member
name=
"M:Asa.RFID.PuYue.HexBuff(System.Byte[])"
>
<summary>
16进制转换
</summary>
<param
name=
"buff"
></param>
<returns></returns>
</member>
<member
name=
"M:Asa.RFID.PuYue.Read(System.Int16,System.Int16)"
>
<summary>
读取保持寄存器,0x03功能码
</summary>
<param
name=
"address"
></param>
<param
name=
"count"
></param>
</member>
<member
name=
"M:Asa.RFID.PuYue.Write(System.Int16,System.Int16)"
>
<summary>
写入保持寄存器,0x10功能码
</summary>
<param
name=
"address"
></param>
<param
name=
"value"
></param>
</member>
<member
name=
"E:PuYueRFID_FR540SP_C2S.ConnectionState_Event"
>
<summary>
连接状态变化, 手动连接不触发
</summary>
</member>
<member
name=
"M:PuYueRFID_FR540SP_C2S.Finalize"
>
<summary>
销毁
</summary>
</member>
<member
name=
"M:PuYueRFID_FR540SP_C2S.Open(System.String,System.Boolean)"
>
<summary>
打开IO
</summary>
<returns></returns>
</member>
<member
name=
"P:PuYueRFID_FR540SP_C2S.AntennaPower"
>
<summary>
设置天线功率dBm
</summary>
</member>
<member
name=
"M:PuYueRFID_FR540SP_C2S.Close"
>
<summary>
关闭IO
</summary>
</member>
<member
name=
"P:PuYueRFID_FR540SP_C2S.IsConn"
>
<summary>
连接状态
</summary>
</member>
<member
name=
"M:PuYueRFID_FR540SP_C2S.iomonitor"
>
<summary>
循环读全部IO
</summary>
</member>
<member
name=
"M:PuYueRFID_FR540SP_C2S.WriteDO(System.Int16,System.Int16)"
>
<summary>
写寄存器
</summary>
<param
name=
"address"
></param>
<param
name=
"value"
></param>
<returns></returns>
</member>
<member
name=
"M:PuYueRFID_FR540SP_C2S.ReadDO"
>
<summary>
读全部IO
</summary>
</member>
<member
name=
"M:PuYueRFID_FR540SP_C2S.TryRead(System.String@,System.Double@)"
>
<summary>
读取rfid
</summary>
<param
name=
"id"
>
读取到的id
</param>
<param
name=
"ms"
>
最后读到的时间ms
</param>
<returns>
读取成功状态-1读取失败,0没有读到,1读取成功
</returns>
</member>
<member
name=
"M:PuYueRFID_FR540SP_C2S.WriteByte(System.Int16,System.Byte[])"
>
<summary>
写入字节最大 64字
</summary>
<param
name=
"address"
></param>
<param
name=
"data"
></param>
<returns></returns>
</member>
<member
name=
"M:PuYueRFID_FR540SP_C2S.HexBuff(System.Byte[])"
>
<summary>
16进制转换
</summary>
<param
name=
"buff"
></param>
<returns></returns>
</member>
<member
name=
"E:PuYueRFID_C2S.ConnectionState_Event"
>
<summary>
连接状态变化, 手动连接不触发
</summary>
</member>
<member
name=
"M:PuYueRFID_C2S.Finalize"
>
<summary>
销毁
</summary>
</member>
<member
name=
"M:PuYueRFID_C2S.Open"
>
<summary>
打开IO
</summary>
<returns></returns>
</member>
<member
name=
"P:PuYueRFID_C2S.AntennaPower"
>
<summary>
设置天线功率dBm
</summary>
</member>
<member
name=
"M:PuYueRFID_C2S.Close"
>
<summary>
关闭IO
</summary>
</member>
<member
name=
"P:PuYueRFID_C2S.IsConn"
>
<summary>
连接状态
</summary>
</member>
<member
name=
"M:PuYueRFID_C2S.iomonitor"
>
<summary>
循环读全部IO
</summary>
</member>
<member
name=
"M:PuYueRFID_C2S.WriteDO(System.Int16,System.Int16)"
>
<summary>
写寄存器
</summary>
<param
name=
"address"
></param>
<param
name=
"value"
></param>
<returns></returns>
</member>
<member
name=
"M:PuYueRFID_C2S.ReadDO"
>
<summary>
读全部IO
</summary>
</member>
<member
name=
"M:PuYueRFID_C2S.TryRead(System.String@,System.Double@)"
>
<summary>
读取rfid
</summary>
<param
name=
"id"
>
读取到的id
</param>
<param
name=
"ms"
>
最后读到的时间ms
</param>
<returns>
读取成功状态-1读取失败,0没有读到,1读取成功
</returns>
</member>
<member
name=
"M:PuYueRFID_C2S.WriteByte(System.Int16,System.Byte[])"
>
<summary>
写入字节最大 64字
</summary>
<param
name=
"address"
></param>
<param
name=
"data"
></param>
<returns></returns>
</member>
</members>
</doc>
TheMachine/FormMain.cs
查看文件 @
c7e7382
...
@@ -92,7 +92,7 @@ namespace TheMachine
...
@@ -92,7 +92,7 @@ namespace TheMachine
listReelInfo
.
View
=
View
.
Details
;
listReelInfo
.
View
=
View
.
Details
;
AddHeader
(
listReelInfo
,
""
,
0
);
AddHeader
(
listReelInfo
,
""
,
0
);
AddHeader
(
listReelInfo
,
"位置"
,
200
);
AddHeader
(
listReelInfo
,
"位置"
,
200
);
AddHeader
(
listReelInfo
,
"料盘信息"
,
listReelInfo
.
Width
-
200
);
AddHeader
(
listReelInfo
,
"料盘信息"
,
listReelInfo
.
Width
-
200
-
3
);
listReelInfo
.
ColumnWidthChanging
+=
listView_ColumnWidthChanging
;
listReelInfo
.
ColumnWidthChanging
+=
listView_ColumnWidthChanging
;
#
endregion
#
endregion
...
...
TheMachine/IOControls.Designer.cs
查看文件 @
c7e7382
...
@@ -110,7 +110,7 @@ namespace TheMachine
...
@@ -110,7 +110,7 @@ namespace TheMachine
this
.
ioControl1
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
ioControl1
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
ioControl1
.
Location
=
new
System
.
Drawing
.
Point
(
0
,
0
);
this
.
ioControl1
.
Location
=
new
System
.
Drawing
.
Point
(
0
,
0
);
this
.
ioControl1
.
Name
=
"ioControl1"
;
this
.
ioControl1
.
Name
=
"ioControl1"
;
this
.
ioControl1
.
Size
=
new
System
.
Drawing
.
Size
(
9
75
,
539
);
this
.
ioControl1
.
Size
=
new
System
.
Drawing
.
Size
(
9
04
,
522
);
this
.
ioControl1
.
TabIndex
=
0
;
this
.
ioControl1
.
TabIndex
=
0
;
this
.
ioControl1
.
Tag
=
"not"
;
this
.
ioControl1
.
Tag
=
"not"
;
this
.
ioControl1
.
Load
+=
new
System
.
EventHandler
(
this
.
ioControl1_Load
);
this
.
ioControl1
.
Load
+=
new
System
.
EventHandler
(
this
.
ioControl1_Load
);
...
@@ -168,7 +168,7 @@ namespace TheMachine
...
@@ -168,7 +168,7 @@ namespace TheMachine
this
.
Controls
.
Add
(
this
.
ioControl1
);
this
.
Controls
.
Add
(
this
.
ioControl1
);
this
.
Font
=
new
System
.
Drawing
.
Font
(
"新宋体"
,
9F
);
this
.
Font
=
new
System
.
Drawing
.
Font
(
"新宋体"
,
9F
);
this
.
Name
=
"IOControls"
;
this
.
Name
=
"IOControls"
;
this
.
Size
=
new
System
.
Drawing
.
Size
(
9
75
,
539
);
this
.
Size
=
new
System
.
Drawing
.
Size
(
9
04
,
522
);
this
.
ResumeLayout
(
false
);
this
.
ResumeLayout
(
false
);
}
}
...
...
TheMachine/UC/uc_boxdebug.cs
查看文件 @
c7e7382
...
@@ -108,9 +108,9 @@ namespace TheMachine
...
@@ -108,9 +108,9 @@ namespace TheMachine
void
checkVerify
()
void
checkVerify
()
{
{
int
finish
=
0
;
int
finish
=
0
;
for
(
int
i
=
0
;
i
<
RobotManage
.
PositionNum
List
.
Count
;
i
++)
for
(
int
i
=
0
;
i
<
RobotManage
.
AllPos
List
.
Count
;
i
++)
{
{
var
posid
=
RobotManage
.
PositionNum
List
[
i
];
var
posid
=
RobotManage
.
AllPos
List
[
i
];
if
(
htpp
.
ContainsKey
(
posid
)
&&
posState
.
ContainsKey
(
posid
))
if
(
htpp
.
ContainsKey
(
posid
)
&&
posState
.
ContainsKey
(
posid
))
{
{
var
pps
=
(
PosState
)
posState
[
posid
];
var
pps
=
(
PosState
)
posState
[
posid
];
...
@@ -120,7 +120,7 @@ namespace TheMachine
...
@@ -120,7 +120,7 @@ namespace TheMachine
}
}
}
}
}
}
double
s
=
(
double
)
finish
*
100
/
RobotManage
.
PositionNum
List
.
Count
;
double
s
=
(
double
)
finish
*
100
/
RobotManage
.
AllPos
List
.
Count
;
label_verify
.
Text
=
s
.
ToString
(
"0.0"
)
+
"%"
;
label_verify
.
Text
=
s
.
ToString
(
"0.0"
)
+
"%"
;
}
}
Hashtable
htpp
=
new
Hashtable
();
Hashtable
htpp
=
new
Hashtable
();
...
@@ -193,9 +193,9 @@ namespace TheMachine
...
@@ -193,9 +193,9 @@ namespace TheMachine
int
currentRowIndex
=
0
;
int
currentRowIndex
=
0
;
int
currentColIndex
=
-
1
;
int
currentColIndex
=
-
1
;
string
lastAB
=
""
;
string
lastAB
=
""
;
for
(
int
i
=
0
;
i
<
RobotManage
.
PositionNum
List
.
Count
;
i
++)
for
(
int
i
=
0
;
i
<
RobotManage
.
AllPos
List
.
Count
;
i
++)
{
{
string
posname
=
RobotManage
.
PositionNum
List
[
i
];
string
posname
=
RobotManage
.
AllPos
List
[
i
];
string
ab
=
posname
.
Substring
(
0
,
3
);
string
ab
=
posname
.
Substring
(
0
,
3
);
if
(
posname
.
StartsWith
(
"Sca"
)
||
posname
.
StartsWith
(
"Doo"
))
if
(
posname
.
StartsWith
(
"Sca"
)
||
posname
.
StartsWith
(
"Doo"
))
...
@@ -285,16 +285,16 @@ namespace TheMachine
...
@@ -285,16 +285,16 @@ namespace TheMachine
if
(
RobotManage
.
mainMachine
.
runStatus
==
RunStatus
.
Running
)
if
(
RobotManage
.
mainMachine
.
runStatus
==
RunStatus
.
Running
)
{
{
int
posindex
=
RobotManage
.
PositionNumList
.
IndexOf
(
cmbPosition
.
Text
);
string
posName
=
cmbPosition
.
Text
;
LogUtil
.
info
(
$
"入库位:{cmbPosition.Text},
index:{posindex
}"
);
LogUtil
.
info
(
$
"入库位:{cmbPosition.Text},
posName:{posName
}"
);
string
startPosname
=
"IN_1"
;
string
startPosname
=
"IN_1"
;
if
(
radioButton2
.
Checked
)
if
(
radioButton2
.
Checked
)
{
{
startPosname
=
"IN_2"
;
startPosname
=
"IN_2"
;
}
}
if
(
RobotManage
.
mainMachine
.
Manual
In
(
startPosname
,
posindex
,
out
string
errmsg
))
if
(
RobotManage
.
mainMachine
.
Manual
Test
(
startPosname
,
posName
,
out
string
errmsg
))
{
{
LogUtil
.
info
(
$
"手动入库:{pos
index
}"
);
LogUtil
.
info
(
$
"手动入库:{pos
Name
}"
);
}
}
else
else
{
{
...
@@ -309,22 +309,22 @@ namespace TheMachine
...
@@ -309,22 +309,22 @@ namespace TheMachine
private
void
btnOutStore_Click
(
object
sender
,
EventArgs
e
)
private
void
btnOutStore_Click
(
object
sender
,
EventArgs
e
)
{
{
if
(
RobotManage
.
mainMachine
.
runStatus
==
RunStatus
.
Running
)
//
if (RobotManage.mainMachine.runStatus == RunStatus.Running)
{
//
{
int
posindex
=
RobotManage
.
PositionNum
List
.
IndexOf
(
cmbPosition
.
Text
);
// int posindex = RobotManage.AllPos
List.IndexOf(cmbPosition.Text);
LogUtil
.
info
(
$
"出库位:{cmbPosition.Text},index:{posindex}"
);
//
LogUtil.info($"出库位:{cmbPosition.Text},index:{posindex}");
if
(
RobotManage
.
mainMachine
.
ManualOut
(
posindex
,
out
string
errmsg
))
{
//
if (RobotManage.mainMachine.ManualOut(posindex,out string errmsg)) {
LogUtil
.
info
(
$
"手动出库:{posindex}"
);
//
LogUtil.info($"手动出库:{posindex}");
}
//
}
else
//
else
{
//
{
MessageBox
.
Show
(
errmsg
);
//
MessageBox.Show(errmsg);
}
//
}
}
//
}
else
//
else
{
//
{
MessageBox
.
Show
(
crc
.
GetString
(
"Res0213"
,
"请先启动料仓!"
));
//
MessageBox.Show(crc.GetString("Res0213","请先启动料仓!"));
}
//
}
}
}
bool
preOpen
=
false
;
bool
preOpen
=
false
;
...
@@ -386,20 +386,21 @@ namespace TheMachine
...
@@ -386,20 +386,21 @@ namespace TheMachine
}
}
if
(
RobotManage
.
mainMachine
.
runStatus
==
RunStatus
.
Running
)
if
(
RobotManage
.
mainMachine
.
runStatus
==
RunStatus
.
Running
)
{
{
if
(
RobotManage
.
mainMachine
.
IOValue
(
IO_Type
.
IN_1_Reel_Check
).
Equals
(
IO_VALUE
.
LOW
)||
RobotManage
.
mainMachine
.
IOValue
(
IO_Type
.
IN_2_Reel_Check
).
Equals
(
IO_VALUE
.
LOW
))
if
(
RobotManage
.
mainMachine
.
IOValue
(
IO_Type
.
IN_1_Reel_Check
).
Equals
(
IO_VALUE
.
LOW
)||
RobotManage
.
mainMachine
.
IOValue
(
IO_Type
.
IN_2_Reel_Check
).
Equals
(
IO_VALUE
.
LOW
))
{
{
MessageBox
.
Show
(
crc
.
GetString
(
"Res0217"
,
"料盘没有准备好,请先点击[上料准备],无法启动"
));
MessageBox
.
Show
(
crc
.
GetString
(
"Res0217"
,
"料盘没有准备好,请先点击[上料准备],无法启动"
));
return
;
return
;
}
}
DialogResult
res
=
MessageBox
.
Show
(
crc
.
GetString
(
"Res0218"
,
"确定开始自动库位测试?\n请确保料架库位全部为空."
),
crc
.
GetString
(
"Res0167"
,
"提示"
),
MessageBoxButtons
.
YesNo
);
DialogResult
res
=
MessageBox
.
Show
(
crc
.
GetString
(
"Res0218"
,
"确定开始自动库位测试?\n请确保料架库位全部为空."
),
crc
.
GetString
(
"Res0167"
,
"提示"
),
MessageBoxButtons
.
YesNo
);
if
(
res
==
DialogResult
.
No
)
if
(
res
==
DialogResult
.
No
)
{
return
;
return
;
int
posindex
=
RobotManage
.
PositionNumList
.
IndexOf
(
cmbPosition
.
Text
);
}
LogUtil
.
info
(
$
"库位:{cmbPosition.Text},index:{posindex}"
);
string
posName
=
cmbPosition
.
Text
;
if
(!
RobotManage
.
mainMachine
.
StartAutoInOutTest
(
posindex
,
out
string
errmsg
))
//int posindex = RobotManage.AllPosList.IndexOf(cmbPosition.Text);
LogUtil
.
info
(
$
"库位:{cmbPosition.Text},index:{posName}"
);
if
(!
RobotManage
.
mainMachine
.
StartAutoTest
(
posName
,
out
string
errmsg
))
{
{
MessageBox
.
Show
(
errmsg
);
MessageBox
.
Show
(
errmsg
);
return
;
return
;
...
...
TheMachine/UC/uc_boxdebug.designer.cs
查看文件 @
c7e7382
...
@@ -31,6 +31,9 @@ namespace TheMachine
...
@@ -31,6 +31,9 @@ namespace TheMachine
{
{
this
.
components
=
new
System
.
ComponentModel
.
Container
();
this
.
components
=
new
System
.
ComponentModel
.
Container
();
this
.
groupInout
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
groupInout
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
groupBox1
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
radioButton2
=
new
System
.
Windows
.
Forms
.
RadioButton
();
this
.
radioButton1
=
new
System
.
Windows
.
Forms
.
RadioButton
();
this
.
cb_inoutdebugmode
=
new
System
.
Windows
.
Forms
.
CheckBox
();
this
.
cb_inoutdebugmode
=
new
System
.
Windows
.
Forms
.
CheckBox
();
this
.
btn_autoinout
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btn_autoinout
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnInStore
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnInStore
=
new
System
.
Windows
.
Forms
.
Button
();
...
@@ -42,12 +45,9 @@ namespace TheMachine
...
@@ -42,12 +45,9 @@ namespace TheMachine
this
.
label_verify
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label_verify
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
cb_fixpos
=
new
System
.
Windows
.
Forms
.
ComboBox
();
this
.
cb_fixpos
=
new
System
.
Windows
.
Forms
.
ComboBox
();
this
.
storePosControl1
=
new
TheMachine
.
StorePosControl
();
this
.
storePosControl1
=
new
TheMachine
.
StorePosControl
();
this
.
groupBox1
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
radioButton1
=
new
System
.
Windows
.
Forms
.
RadioButton
();
this
.
radioButton2
=
new
System
.
Windows
.
Forms
.
RadioButton
();
this
.
groupInout
.
SuspendLayout
();
this
.
groupInout
.
SuspendLayout
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
dataGridView1
)).
BeginInit
();
this
.
groupBox1
.
SuspendLayout
();
this
.
groupBox1
.
SuspendLayout
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
dataGridView1
)).
BeginInit
();
this
.
SuspendLayout
();
this
.
SuspendLayout
();
//
//
// groupInout
// groupInout
...
@@ -64,6 +64,40 @@ namespace TheMachine
...
@@ -64,6 +64,40 @@ namespace TheMachine
this
.
groupInout
.
TabStop
=
false
;
this
.
groupInout
.
TabStop
=
false
;
this
.
groupInout
.
Text
=
"料仓操作"
;
this
.
groupInout
.
Text
=
"料仓操作"
;
//
//
// groupBox1
//
this
.
groupBox1
.
Controls
.
Add
(
this
.
radioButton2
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
radioButton1
);
this
.
groupBox1
.
Location
=
new
System
.
Drawing
.
Point
(
15
,
55
);
this
.
groupBox1
.
Name
=
"groupBox1"
;
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
216
,
52
);
this
.
groupBox1
.
TabIndex
=
104
;
this
.
groupBox1
.
TabStop
=
false
;
this
.
groupBox1
.
Text
=
"料盘位置"
;
//
// radioButton2
//
this
.
radioButton2
.
AutoSize
=
true
;
this
.
radioButton2
.
Location
=
new
System
.
Drawing
.
Point
(
125
,
22
);
this
.
radioButton2
.
Name
=
"radioButton2"
;
this
.
radioButton2
.
Size
=
new
System
.
Drawing
.
Size
(
71
,
16
);
this
.
radioButton2
.
TabIndex
=
1
;
this
.
radioButton2
.
TabStop
=
true
;
this
.
radioButton2
.
Text
=
"下层料盘"
;
this
.
radioButton2
.
UseVisualStyleBackColor
=
true
;
//
// radioButton1
//
this
.
radioButton1
.
AutoSize
=
true
;
this
.
radioButton1
.
Checked
=
true
;
this
.
radioButton1
.
Location
=
new
System
.
Drawing
.
Point
(
7
,
22
);
this
.
radioButton1
.
Name
=
"radioButton1"
;
this
.
radioButton1
.
Size
=
new
System
.
Drawing
.
Size
(
71
,
16
);
this
.
radioButton1
.
TabIndex
=
0
;
this
.
radioButton1
.
TabStop
=
true
;
this
.
radioButton1
.
Text
=
"上层料盘"
;
this
.
radioButton1
.
UseVisualStyleBackColor
=
true
;
//
// cb_inoutdebugmode
// cb_inoutdebugmode
//
//
this
.
cb_inoutdebugmode
.
AutoSize
=
true
;
this
.
cb_inoutdebugmode
.
AutoSize
=
true
;
...
@@ -78,7 +112,6 @@ namespace TheMachine
...
@@ -78,7 +112,6 @@ namespace TheMachine
// btn_autoinout
// btn_autoinout
//
//
this
.
btn_autoinout
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btn_autoinout
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btn_autoinout
.
Enabled
=
false
;
this
.
btn_autoinout
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btn_autoinout
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btn_autoinout
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btn_autoinout
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btn_autoinout
.
Location
=
new
System
.
Drawing
.
Point
(
15
,
161
);
this
.
btn_autoinout
.
Location
=
new
System
.
Drawing
.
Point
(
15
,
161
);
...
@@ -92,7 +125,6 @@ namespace TheMachine
...
@@ -92,7 +125,6 @@ namespace TheMachine
// btnInStore
// btnInStore
//
//
this
.
btnInStore
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnInStore
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnInStore
.
Enabled
=
false
;
this
.
btnInStore
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnInStore
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnInStore
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnInStore
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnInStore
.
Location
=
new
System
.
Drawing
.
Point
(
15
,
118
);
this
.
btnInStore
.
Location
=
new
System
.
Drawing
.
Point
(
15
,
118
);
...
@@ -198,40 +230,6 @@ namespace TheMachine
...
@@ -198,40 +230,6 @@ namespace TheMachine
this
.
storePosControl1
.
TabIndex
=
227
;
this
.
storePosControl1
.
TabIndex
=
227
;
this
.
storePosControl1
.
Tag
=
"not"
;
this
.
storePosControl1
.
Tag
=
"not"
;
//
//
// groupBox1
//
this
.
groupBox1
.
Controls
.
Add
(
this
.
radioButton2
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
radioButton1
);
this
.
groupBox1
.
Location
=
new
System
.
Drawing
.
Point
(
15
,
55
);
this
.
groupBox1
.
Name
=
"groupBox1"
;
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
216
,
52
);
this
.
groupBox1
.
TabIndex
=
104
;
this
.
groupBox1
.
TabStop
=
false
;
this
.
groupBox1
.
Text
=
"料盘位置"
;
//
// radioButton1
//
this
.
radioButton1
.
AutoSize
=
true
;
this
.
radioButton1
.
Checked
=
true
;
this
.
radioButton1
.
Location
=
new
System
.
Drawing
.
Point
(
7
,
22
);
this
.
radioButton1
.
Name
=
"radioButton1"
;
this
.
radioButton1
.
Size
=
new
System
.
Drawing
.
Size
(
71
,
16
);
this
.
radioButton1
.
TabIndex
=
0
;
this
.
radioButton1
.
TabStop
=
true
;
this
.
radioButton1
.
Text
=
"上层料盘"
;
this
.
radioButton1
.
UseVisualStyleBackColor
=
true
;
//
// radioButton2
//
this
.
radioButton2
.
AutoSize
=
true
;
this
.
radioButton2
.
Location
=
new
System
.
Drawing
.
Point
(
125
,
22
);
this
.
radioButton2
.
Name
=
"radioButton2"
;
this
.
radioButton2
.
Size
=
new
System
.
Drawing
.
Size
(
71
,
16
);
this
.
radioButton2
.
TabIndex
=
1
;
this
.
radioButton2
.
TabStop
=
true
;
this
.
radioButton2
.
Text
=
"下层料盘"
;
this
.
radioButton2
.
UseVisualStyleBackColor
=
true
;
//
// uc_boxdebug
// uc_boxdebug
//
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
6F
,
12F
);
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
6F
,
12F
);
...
@@ -248,9 +246,9 @@ namespace TheMachine
...
@@ -248,9 +246,9 @@ namespace TheMachine
this
.
Size
=
new
System
.
Drawing
.
Size
(
981
,
785
);
this
.
Size
=
new
System
.
Drawing
.
Size
(
981
,
785
);
this
.
groupInout
.
ResumeLayout
(
false
);
this
.
groupInout
.
ResumeLayout
(
false
);
this
.
groupInout
.
PerformLayout
();
this
.
groupInout
.
PerformLayout
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
dataGridView1
)).
EndInit
();
this
.
groupBox1
.
ResumeLayout
(
false
);
this
.
groupBox1
.
ResumeLayout
(
false
);
this
.
groupBox1
.
PerformLayout
();
this
.
groupBox1
.
PerformLayout
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
dataGridView1
)).
EndInit
();
this
.
ResumeLayout
(
false
);
this
.
ResumeLayout
(
false
);
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论