Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-ACPackingStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 810fa969
由
LN
编写于
2020-02-17 14:01:46 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
agv命令修改
1 个父辈
ccb39bb3
隐藏空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
83 行增加
和
96 行删除
dll/Client.dll
source/ACPackingStore/FrmRFIPEdit.cs
source/ACPackingStore/FrmStore.cs
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean.cs
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Partial.cs
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Shelf.cs
source/DeviceLibrary/ACPackingStore/PackingStoreBean.cs
source/DeviceLibrary/agvClient/AgvClient.cs
source/DeviceLibrary/device/RFID/RFIDManager.cs
source/DeviceLibrary/store/StoreStep.cs
dll/Client.dll
查看文件 @
810fa96
此文件类型无法预览
source/ACPackingStore/FrmRFIPEdit.cs
查看文件 @
810fa96
...
...
@@ -87,7 +87,7 @@ namespace OnlineStore.ACPackingStore
{
if
(
StoreManager
.
Store
.
storeRunStatus
<=
StoreRunStatus
.
Wait
)
{
RFIDManager
.
Close
();
//
RFIDManager.Close();
}
}
}
...
...
source/ACPackingStore/FrmStore.cs
查看文件 @
810fa96
...
...
@@ -321,6 +321,8 @@ namespace OnlineStore.ACPackingStore
{
停止所有料仓
TToolStripMenuItem_Click
(
null
,
null
);
}
RFIDManager
.
Close
();
}
private
void
btnClearLog_Click
(
object
sender
,
EventArgs
e
)
{
...
...
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean.cs
查看文件 @
810fa96
...
...
@@ -680,21 +680,20 @@ namespace OnlineStore.DeviceLibrary
ShowTimeLog
(
"IOTimeOutProcess"
);
//如果入口有料架需要入库
if
(
StoreManager
.
Store
.
AutoShelfInstore
&&
if
(
StoreManager
.
Store
.
AutoShelfInstore
&&
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
None
)
&&
(
IOValue
(
IO_Type
.
LineIn_Check
).
Equals
(
IO_VALUE
.
HIGH
)
||
IOValue
(
IO_Type
.
LineTake_Check
).
Equals
(
IO_VALUE
.
HIGH
)))
{
StartShelfInStore
();
}
//判断是否要更新状态为None
ClientAction
action
=
AgvClient
.
GetAction
(
Config
.
AgvNodeName
);
if
(
action
.
Equals
(
ClientAction
.
FinishEnter
)
||
action
.
Equals
(
ClientAction
.
FinishLeave
))
if
(
IOValue
(
IO_Type
.
LineIn_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
LineTake_Check
).
Equals
(
IO_VALUE
.
LOW
))
{
AgvClient
.
SetStatus
(
Config
.
AgvNodeName
);
AgvClient
.
NeedEnter
(
Config
.
AgvNodeName
);
}
else
if
(
IOValue
(
IO_Type
.
LineIn_Check
).
Equals
(
IO_VALUE
.
LOW
)&&
IOValue
(
IO_Type
.
LineTake_Check
).
Equals
(
IO_VALUE
.
LOW
))
else
{
AgvClient
.
NeedEnter
(
Config
.
AgvNodeName
);
AgvClient
.
SetToNone
(
Config
.
AgvNodeName
);
}
}
}
...
...
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Partial.cs
查看文件 @
810fa96
...
...
@@ -282,13 +282,8 @@ namespace OnlineStore.DeviceLibrary
{
//读取RFID
RFIDData
data
=
RFIDManager
.
ReadRFID
(
Config
.
RFID_IP
,
true
);
LogUtil
.
info
(
Name
+
"更新当前料架号【"
+
data
.
NumStr
()
+
"】"
);
//TODO 判断料架是否正确
// if (data.RFType.Equals('A'))
{
CurrShelfID
=
data
.
NumStr
();
AgvClient
.
SetStatus
(
Config
.
AgvNodeName
,
""
,
CurrShelfID
,
ClientAction
.
FinishEnter
);
}
LogUtil
.
info
(
Name
+
"更新当前料架号【"
+
data
.
NumStr
()
+
"】"
);
CurrShelfID
=
data
.
NumStr
();
}
private
void
StartMoveToBag
()
...
...
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Shelf.cs
查看文件 @
810fa96
...
...
@@ -45,7 +45,7 @@ namespace OnlineStore.DeviceLibrary
else
{
// MoveInfo.ShelfPositionList = new List<string>(ShelfPosList);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"
调用AgvClient.MayEnter,
agv已到达,打开入料口移门"
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"
agv已到达,打开入料口移门"
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_02_DoorOpen
);
DoorBean
.
StartOpen
(
MoveInfo
);
}
...
...
@@ -95,9 +95,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BI_05_LineStop
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_06_DoorClose
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"入料口移门关闭 ,发送 FinishEnter"
);
AgvClient
.
SetStatus
(
Config
.
AgvNodeName
,
""
,
""
,
ClientAction
.
FinishEnter
,
ClientLevel
.
High
);
// CylinderMove(MoveInfo, IO_Type.EntranceDoor_Open, IO_Type.EntranceDoor_Close);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"入料口移门关闭 "
);
DoorBean
.
StartClose
(
MoveInfo
);
if
(!
instoreShelf
)
{
...
...
@@ -118,7 +116,8 @@ namespace OnlineStore.DeviceLibrary
{
LineStop
();
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BI_08_LocationUp
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"线体停止转动,定位装置上升,读取料架编号"
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
"线体停止转动,定位装置上升,读取料架编号,设置状态为None"
);
AgvClient
.
SetStatus
(
Config
.
AgvNodeName
);
// CylinderMove(MoveInfo, IO_Type.LocationCylinder_Down, IO_Type.LocationCylinder_Up);
UpdateShelfId
();
if
(!
instoreShelf
)
...
...
@@ -167,22 +166,23 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_01_TopDown
);
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
InOutStoreLog
(
"送出出库料架:顶升气缸下降,清空料架clearPutInRfid["
+
CurrShelfID
+
"]"
);
InOutStoreLog
(
"送出出库料架:顶升气缸下降
,调用 NeedLeave["
+
CurrShelfID
+
"]
,清空料架clearPutInRfid["
+
CurrShelfID
+
"]"
);
}
else
{
InOutStoreLog
(
"送出空料架:顶升气缸下降,清空料架clearPutInRfid["
+
CurrShelfID
+
"]"
);
InOutStoreLog
(
"送出空料架:顶升气缸下降
,调用 NeedLeave["
+
CurrShelfID
+
"]
,清空料架clearPutInRfid["
+
CurrShelfID
+
"]"
);
}
CylinderMove
(
MoveInfo
,
IO_Type
.
TopCylinder_Up
,
IO_Type
.
TopCylinder_Down
);
StoreManager
.
clearPutInRfid
(
Name
,
CurrShelfID
);
AgvClient
.
NeedLeave
(
Config
.
AgvNodeName
,
CurrShelfID
);
}
private
void
ShelfOutProcess
()
{
string
moveName
=
"送出空料架"
;
bool
instoreShelf
=
true
;
//
bool instoreShelf = true;
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
instoreShelf
=
false
;
//
instoreShelf = false;
moveName
=
"送出出库料架"
;
}
...
...
@@ -193,50 +193,49 @@ namespace OnlineStore.DeviceLibrary
// CylinderMove(MoveInfo, IO_Type.LocationCylinder_Up, IO_Type.LocationCylinder_Down);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_02_LocatinDown
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_03_DoorOpen
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":打开入料口移门"
);
DoorBean
.
StartOpen
(
MoveInfo
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_03_DoorOpen
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_04_ReadyEmpty
);
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_03_WaitArrive
);
MoveInfo
.
OneWaitCanEndStep
=
true
;
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
6
0000
));
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":
调用AgvClient.ReadyEmpty,等待Agv到达 ,最多等待6
0000"
);
AgvClient
.
NeedLeave
(
Config
.
AgvNodeName
,
CurrShelfID
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
18
0000
));
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":
再次调用 NeedLeave["
+
CurrShelfID
+
"],等待Agv到达 ,最多等待18
0000"
);
AgvClient
.
SetStatus
(
Config
.
AgvNodeName
,
""
,
CurrShelfID
,
ClientAction
.
NeedLeave
,
ClientLevel
.
Low
);
//等待agv到达
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitAgvAction
((
int
)
ClientAction
.
Arrive
));
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_0
4_ReadyEmpty
))
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_0
3_WaitArrive
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_05_LineBackRun
);
//agv到达
if
(
AgvClient
.
GetAction
(
Config
.
AgvNodeName
).
Equals
(
ClientAction
.
Arrive
))
{
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
if
(
instoreShelf
)
{
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":agv到达,调用AgvClient.SendRFID【"
+
CurrShelfID
+
"】,调用AgvClient.MayOut,线体开始反转"
);
//TODO AGV到达,发送料架信息,是否需要重新读取?
AgvClient
.
SetStatus
(
Config
.
AgvNodeName
,
""
,
CurrShelfID
,
ClientAction
.
MayLeave
);
}
else
{
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":agv到达, 调用AgvClient.MayOut,线体开始反转"
);
}
AgvClient
.
SetStatus
(
Config
.
AgvNodeName
,
""
,
CurrShelfID
,
ClientAction
.
MayLeave
,
ClientLevel
.
High
);
LineBackRun
();
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_04_DoorOpen
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":agv到达,打开入料口移门"
);
DoorBean
.
StartOpen
(
MoveInfo
);
//MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(500));
//InOutStoreLog(moveName + MoveInfo.SLog + ":agv到达,rfid【" + CurrShelfID + "】,调用AgvClient.MayOut,线体开始反转");
////TODO AGV到达,发送料架信息,是否需要重新读取?
//AgvClient.SetStatus(Config.AgvNodeName, "", CurrShelfID, ClientAction.MayLeave, ClientLevel.High);
//LineBackRun();
}
else
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_05_LineBackRun
);
//如果agv未到达,直接结束
MoveEndToRuningStatus
();
EmprtShelfList
=
new
ConcurrentQueue
<
string
>();
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":等待agv超时,直接结束"
);
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_04_DoorOpen
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_05_LineBackRun
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":移门已打开,调用MayLeave["
+
CurrShelfID
+
"] ,线体开始反转"
);
//TODO AGV到达,发送料架信息,是否需要重新读取?
AgvClient
.
SetStatus
(
Config
.
AgvNodeName
,
""
,
CurrShelfID
,
ClientAction
.
MayLeave
,
ClientLevel
.
High
);
LineBackRun
();
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_05_LineBackRun
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_06_WaitInLineSingle
);
...
...
@@ -247,9 +246,8 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_06_WaitInLineSingle
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_07_WaitTime
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":再转动3000时间,同时等待收到FinishOut,等待入料口无信号"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":再转动3000时间, 等待入料口无信号"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LineIn_Check
,
IO_VALUE
.
LOW
));
//等到agv离开
//MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction(AGVAction.FinishOut));
...
...
@@ -257,7 +255,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_07_WaitTime
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_08_WaitAGVLeave
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":
,
同时等待 AGV离开,最多等待5000 "
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":同时等待 AGV离开,最多等待5000 "
);
MoveInfo
.
OneWaitCanEndStep
=
true
;
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
5000
));
//MoveInfo.WaitList.Add(WaitResultInfo.WaitAgvAction(action.FinishOut));
...
...
@@ -267,10 +265,10 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_09_CloseDoor
);
InOutStoreLog
(
moveName
+
MoveInfo
.
SLog
+
":停止线体转动,关闭仓门 ,发送FinishLeave ,等待最少5000"
);
AgvClient
.
SetStatus
(
Config
.
AgvNodeName
,
""
,
CurrShelfID
,
ClientAction
.
FinishLeave
,
ClientLevel
.
High
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
5000
));
LineStop
();
DoorBean
.
StartClose
(
MoveInfo
);
AgvClient
.
SetStatus
(
Config
.
AgvNodeName
,
""
,
CurrShelfID
,
ClientAction
.
FinishLeave
,
ClientLevel
.
High
);
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_09_CloseDoor
))
{
...
...
source/DeviceLibrary/ACPackingStore/PackingStoreBean.cs
查看文件 @
810fa96
...
...
@@ -205,7 +205,7 @@ namespace OnlineStore.DeviceLibrary
equip
.
StopRun
();
}
storeRunStatus
=
StoreRunStatus
.
Wait
;
RFIDManager
.
Close
();
//
RFIDManager.Close();
TimeSpan
span
=
DateTime
.
Now
-
StartTime
;
LogUtil
.
info
(
Name
+
",停止运行,关闭rfid,总运行时间:"
+
span
.
ToString
());
}
...
...
source/DeviceLibrary/agvClient/AgvClient.cs
查看文件 @
810fa96
...
...
@@ -111,29 +111,13 @@ namespace OnlineStore.DeviceLibrary
public
static
bool
NeedLeave
(
string
id
,
string
shelfId
=
""
)
{
ClientAction
currA
=
GetAction
(
id
);
if
(
currA
.
Equals
(
ClientAction
.
None
)
||
currA
.
Equals
(
ClientAction
.
NeedLeave
)
||
currA
.
Equals
(
ClientAction
.
NeedEnter
))
if
(
currA
.
Equals
(
ClientAction
.
None
)
||
currA
.
Equals
(
ClientAction
.
NeedLeave
)
||
currA
.
Equals
(
ClientAction
.
NeedEnter
)
||
currA
.
Equals
(
ClientAction
.
FinishEnter
)||
currA
.
Equals
(
ClientAction
.
FinishLeave
)
)
{
SetStatus
(
id
,
shelfId
,
shelfId
,
ClientAction
.
NeedLeave
);
return
true
;
}
return
false
;
}
//internal static void MayEnter(string NodeName, string shelfId = "")
//{
// SetStatus(NodeName, shelfId, shelfId, ClientAction.MayEnter);
// //agvClient.MayEnter(NodeName);
//}
//internal static void FinishEnter(string NodeName, string shelfId = "")
//{
// SetStatus(NodeName, shelfId, shelfId, ClientAction.FinishEnter);
// // agvClient.FinishEnter(NodeName);
//}
//internal static void MayLeave(string NodeName, string shelfId = "")
//{
// SetStatus(NodeName, shelfId, shelfId, ClientAction.MayLeave);
// // agvClient.MayLeave(NodeName);
//}
}
private
static
void
AgvClient_Log
(
string
s
)
{
try
...
...
source/DeviceLibrary/device/RFID/RFIDManager.cs
查看文件 @
810fa96
...
...
@@ -12,12 +12,19 @@ using System.Windows.Forms;
namespace
OnlineStore.DeviceLibrary
{
public
class
RFIDManager
{
{
private
static
bool
IsOpen
=
false
;
public
static
void
Open
(
string
[]
iparray
)
{
if
(
IsOpen
)
{
LogUtil
.
info
(
"RFIDManager.Open , IsOpen = true , return "
);
return
;
}
Task
.
Factory
.
StartNew
(
delegate
{
LogUtil
.
info
(
"RFIDManager.Open"
);
LogUtil
.
info
(
"RFIDManager.Open , set IsOpen = true"
);
IsOpen
=
true
;
try
{
RFIDAutoReader
.
Open
(
null
,
iparray
);
...
...
@@ -66,7 +73,8 @@ namespace OnlineStore.DeviceLibrary
{
Task
.
Factory
.
StartNew
(
delegate
{
LogUtil
.
info
(
"RFIDManager.Close"
);
IsOpen
=
false
;
LogUtil
.
info
(
"RFIDManager.Close ,set IsOpen= false"
);
try
{
RFIDAutoReader
.
CloseAll
();
...
...
source/DeviceLibrary/store/StoreStep.cs
查看文件 @
810fa96
...
...
@@ -144,7 +144,7 @@ namespace OnlineStore.DeviceLibrary
///BOX复位: 旋转轴返回P1
/// </summary>
BOX_H06_MiddleAxisToP1
=
016
,
/// <summary>
/// BOX回待机点:叉子走到P1
/// </summary>
...
...
@@ -161,12 +161,12 @@ namespace OnlineStore.DeviceLibrary
#
region
料架进入料仓步骤
1000
开始
/// <summary>
/// 通知agv准备带料架agv
/// </summary>
BI_01_ReadyShelf
=
1001
,
BI_01_ReadyShelf
=
1001
,
/// <summary>
/// 料架入库:入料口移门打开
/// </summary>
...
...
@@ -179,7 +179,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// 等待取料位检测到信号
/// </summary>
BI_04_WaitTakeSingle
=
1004
,
BI_04_WaitTakeSingle
=
1004
,
/// <summary>
/// 料架入库:取料位检测到信号,停止线体正转
/// </summary>
...
...
@@ -191,7 +191,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// 线体再正转1秒
/// </summary>
BI_07_LineRun
=
1007
,
BI_07_LineRun
=
1007
,
/// <summary>
/// 料架入库:定位装置上升
/// </summary>
...
...
@@ -272,10 +272,10 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
SO_14_GoBack
=
2044
,
#
endregion
#
region
料架入库步骤,
3000
开始
/// <summary>
/// 料架入库:开始循环从第一个空位逐个取料盘,扫码入库
...
...
@@ -359,11 +359,11 @@ namespace OnlineStore.DeviceLibrary
/// 料架取料: 获取库位号完成,设置位置参数, 准备入库
/// </summary>
BI_30_SetInstoreParam
=
3030
,
/// <summary>
/// 入库。。移动到库位点,旋转轴至P2( 库位点)轴2(上下) 至P3(库位入库前点)
/// </summary>
BI_51_MoveToBag
=
3051
,
BI_51_MoveToBag
=
3051
,
/// <summary>
/// 入库。。叉子进入库位中,进出轴到库位P3
/// </summary>
...
...
@@ -384,7 +384,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// 送出料盘:扫码或获取库位失败,升降轴移动到NG料门口上端,旋转轴移动到NG料门口
/// </summary>
BI_71_ToNGDoor
=
3071
,
BI_71_ToNGDoor
=
3071
,
/// <summary>
/// 送出料盘:NG料口升降门上升
/// </summary>
...
...
@@ -396,7 +396,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// 送出料盘:升降轴缓慢下降,放下料盘
/// </summary>
BI_74_UpdownDown
=
3074
,
BI_74_UpdownDown
=
3074
,
/// <summary>
/// 送出料盘:叉子后退到P1
/// </summary>
...
...
@@ -408,7 +408,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// NG流水线转动指定的时间3000
/// </summary>
BI_77_NGLineRun
=
3078
,
BI_77_NGLineRun
=
3078
,
#
endregion
#
region
把料架送出步骤
4000
开始
...
...
@@ -416,23 +416,24 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// 送出空料架:顶升气缸下降
/// </summary>
BS_01_TopDown
=
4001
,
BS_01_TopDown
=
4001
,
/// <summary>
/// 送出空料架:定位气缸下降
/// </summary>
BS_02_LocatinDown
=
4002
,
BS_02_LocatinDown
=
4002
,
/// <summary>
///
送出空料架:打开仓门
///
通知AGV准备空车
/// </summary>
BS_03_
DoorOpen
=
4003
,
BS_03_
WaitArrive
=
4003
,
/// <summary>
///
通知AGV准备空车
///
送出空料架:打开仓门
/// </summary>
BS_04_
ReadyEmpty
=
4004
,
BS_04_
DoorOpen
=
4004
,
/// <summary>
/// 送出空料架:线体反转
/// </summary>
BS_05_LineBackRun
=
4005
,
BS_05_LineBackRun
=
4005
,
/// <summary>
/// 送出空料架:等待取料工位无信号,入料口有信号
/// </summary>
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论