Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
VerticalStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 59dbda57
由
LN
编写于
2020-06-18 11:39:10 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
io模块更新,复位功能编写
1 个父辈
e178b7d4
全部展开
显示空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
135 行增加
和
292 行删除
dll/Asa.IOModule.AIOBOX.dll
dll/Asa.IOModule.AIOBOX.xml
source/DeviceLibrary/acVerticalStore/DoorBean.cs
source/DeviceLibrary/acVerticalStore/VerticalStoreBean.cs
source/DeviceLibrary/device/IO/AIOBOX/AIOBOXManager.cs
source/DeviceLibrary/store/InOutParam.cs
source/DeviceLibrary/store/StoreStep.cs
source/LoadCVSLibrary/position/VerticalPosition.cs
source/LoadCVSLibrary/storeConfig/config/IO_Type.cs
source/VerticalStoreClinet/FrmIOStatus.cs
source/VerticalStoreClinet/FrmStoreBox.cs
dll/Asa.IOModule.AIOBOX.dll
查看文件 @
59dbda5
此文件类型无法预览
dll/Asa.IOModule.AIOBOX.xml
查看文件 @
59dbda5
...
...
@@ -6,7 +6,7 @@
<members>
<member
name=
"T:Asa.IOModule.AIOBOX"
>
<summary>
IO
操作类
零点IO模块
操作类
</summary>
</member>
<member
name=
"T:Asa.IOModule.AIOBOX.DIO_Changed"
>
...
...
@@ -26,14 +26,11 @@
自动读取DO事件触发
</summary>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.#ctor(
Asa.IOModule.Box_Type,System.Int32,Asa.IOModule.Box_Type,System.Int32
)"
>
<member
name=
"M:Asa.IOModule.AIOBOX.#ctor(
System.String
)"
>
<summary>
IO
操作类
零点IO模块
操作类
</summary>
<param
name=
"input"
>
输入类型
</param>
<param
name=
"inputCount"
>
输入数量
</param>
<param
name=
"output"
>
输出类型
</param>
<param
name=
"outputCount"
>
输出数量
</param>
<param
name=
"logName"
></param>
</member>
<member
name=
"P:Asa.IOModule.AIOBOX.IP"
>
<summary>
...
...
@@ -50,15 +47,30 @@
是否连接
</summary>
</member>
<member
name=
"P:Asa.IOModule.AIOBOX.
ErrInfo
"
>
<member
name=
"P:Asa.IOModule.AIOBOX.
InputCount
"
>
<summary>
错误信息
DI总数
</summary>
</member>
<member
name=
"P:Asa.IOModule.AIOBOX.OutputCount"
>
<summary>
DO总数
</summary>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.SetType(Asa.IOModule.Box_Type,System.Int32,Asa.IOModule.Box_Type,System.Int32)"
>
<summary>
设置输入输出的类型
</summary>
<param
name=
"input"
></param>
<param
name=
"inputCount"
></param>
<param
name=
"output"
></param>
<param
name=
"outputCount"
></param>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.Connect"
>
<summary>
连接
</summary>
<returns></returns>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.Close"
>
<summary>
...
...
@@ -146,6 +158,12 @@
<param
name=
"sta"
></param>
<returns></returns>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.GetLocalIP"
>
<summary>
获取本地IPv4地址
</summary>
<returns></returns>
</member>
<member
name=
"M:Asa.IOModule.AIOBOX.Send"
>
<summary>
发送命令线程
...
...
@@ -249,47 +267,5 @@
闭合,打开,高电平
</summary>
</member>
<member
name=
"T:Asa.IOModule.LogFile"
>
<summary>
日志操作类
</summary>
</member>
<member
name=
"M:Asa.IOModule.LogFile.#ctor(System.String,System.String)"
>
<summary>
日志
</summary>
<param
name=
"path"
>
文件夹路径
</param>
<param
name=
"ip"
></param>
</member>
<member
name=
"M:Asa.IOModule.LogFile.Close"
>
<summary>
关闭文件
</summary>
</member>
<member
name=
"M:Asa.IOModule.LogFile.OutError(System.String)"
>
<summary>
输出错误
</summary>
<param
name=
"s"
></param>
</member>
<member
name=
"M:Asa.IOModule.LogFile.OutInfo(System.String)"
>
<summary>
输出信息
</summary>
<param
name=
"s"
></param>
</member>
<member
name=
"M:Asa.IOModule.LogFile.OutData(System.String,System.Byte[])"
>
<summary>
输出数据
</summary>
<param
name=
"tr"
></param>
<param
name=
"buff"
></param>
</member>
<member
name=
"M:Asa.IOModule.LogFile.OutData(System.String)"
>
<summary>
输出数据
</summary>
<param
name=
"s"
></param>
</member>
</members>
</doc>
source/DeviceLibrary/acVerticalStore/DoorBean.cs
查看文件 @
59dbda5
...
...
@@ -22,6 +22,14 @@ namespace OnlineStore.DeviceLibrary
{
IsRun
=
false
;
}
if
(
IOManager
.
DOValue
(
IO_Type
.
Door_Down
).
Equals
(
IO_VALUE
.
HIGH
))
{
IOManager
.
IOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
);
}
if
(
IOManager
.
DOValue
(
IO_Type
.
Door_Up
).
Equals
(
IO_VALUE
.
HIGH
))
{
IOManager
.
IOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
}
}
private
static
bool
Start
(
string
moveDO
,
string
checkDI
,
int
timeOutMS
=
30000
)
{
...
...
@@ -40,6 +48,7 @@ namespace OnlineStore.DeviceLibrary
private
static
string
WriteAndWait
(
string
moveDO
,
string
checkDI
,
int
timeOutMS
=
30000
)
{
IOManager
.
IOMove
(
IO_Type
.
Door_Break
,
IO_VALUE
.
HIGH
);
LastMoveDO
=
moveDO
;
LastCheckDI
=
checkDI
;
LogUtil
.
debug
(
"写入信号:"
+
moveDO
+
",等待信号:"
+
checkDI
+
""
);
...
...
@@ -89,7 +98,7 @@ namespace OnlineStore.DeviceLibrary
}
LastEndTime
=
DateTime
.
Now
;
IOManager
.
IOMove
(
moveDO
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
Door_Break
,
IO_VALUE
.
LOW
);
IsRun
=
false
;
return
result
;
}
...
...
source/DeviceLibrary/acVerticalStore/VerticalStoreBean.cs
查看文件 @
59dbda5
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/device/IO/AIOBOX/AIOBOXManager.cs
查看文件 @
59dbda5
...
...
@@ -15,8 +15,6 @@ namespace OnlineStore.DeviceLibrary
{
public
class
AIOBOXManager
:
IOManager
{
public
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
Dictionary
<
string
,
AIOBOX
>
AIOMap
=
new
Dictionary
<
string
,
AIOBOX
>();
public
Dictionary
<
string
,
List
<
Box_Sta
>>
DIValueMap
=
new
Dictionary
<
string
,
List
<
Box_Sta
>>();
...
...
@@ -27,8 +25,6 @@ namespace OnlineStore.DeviceLibrary
private
object
DILock
=
""
;
private
object
DOLock
=
""
;
private
List
<
string
>
IoIPLIst
=
new
List
<
string
>();
private
System
.
Timers
.
Timer
conTimer
=
null
;
public
override
void
ConnectionIOList
(
List
<
string
>
DIONameList
)
{
...
...
@@ -69,37 +65,22 @@ namespace OnlineStore.DeviceLibrary
{
DOValueMap
.
Remove
(
ioIp
);
}
int
DIMS
=
ConfigAppSettings
.
GetIntValue
(
"DIMS"
);
if
(
DIMS
<
20
)
{
DIMS
=
20
;
}
int
DOMS
=
ConfigAppSettings
.
GetIntValue
(
"DOMS"
);
if
(
DOMS
<
200
)
{
DOMS
=
200
;
}
int
DILength
=
StoreManager
.
Config
.
GetDILength
(
ioIp
);
int
DOLength
=
StoreManager
.
Config
.
GetDOLength
(
ioIp
);
string
logName
=
"IO模块["
+
ioIp
+
"] DI["
+
DILength
+
"] DO["
+
DOLength
+
"]
,["
+
DIMS
+
"] ["
+
DOMS
+
"]
"
;
string
logName
=
"IO模块["
+
ioIp
+
"] DI["
+
DILength
+
"] DO["
+
DOLength
+
"]
"
;
try
{
aioBox
=
new
AIOBOX
();
aioBox
.
LogPath
(
Application
.
StartupPath
+
@"\logs\aio\"
,
LogType
.
OnlyError
);
aioBox
=
new
AIOBOX
(
"AIOBOX"
);
aioBox
.
SetType
(
Asa
.
IOModule
.
Box_Type
.
DI
,
DILength
,
Asa
.
IOModule
.
Box_Type
.
DO
,
DOLength
);
aioBox
.
IP
=
ioIp
;
aioBox
.
SetInput
(
Asa
.
IOModule
.
Box_Type
.
DI
,
DILength
);
aioBox
.
SetOutput
(
Asa
.
IOModule
.
Box_Type
.
DO
,
DOLength
);
//DI主动上传
aioBox
.
AutoReadInput
(
true
);
aioBox
.
AutoReadOutput
(
false
,
DOMS
);
aioBox
.
Upload
=
false
;
aioBox
.
DI_Changed_Event
+=
AioBox_DI_Changed_Event
;
;
aioBox
.
DO_Changed_Event
+=
AioBox_DO_Changed_Event
;
LogUtil
.
info
(
"开始连接:"
+
logName
+
":"
+
aioBox
.
ErrInfo
);
LogUtil
.
info
(
"开始连接:"
+
logName
+
":"
);
aioBox
.
Connect
();
AIOMap
.
Add
(
ioIp
,
aioBox
);
...
...
@@ -117,25 +98,7 @@ namespace OnlineStore.DeviceLibrary
private
DateTime
lastLogTime
=
DateTime
.
Now
;
private
void
AioBox_Log_Out_Event
(
AIOBOX
box
,
string
[]
s
)
{
foreach
(
string
str
in
s
)
{
LogUtil
.
debug
(
"["
+
box
.
IP
+
"]"
+
str
);
}
}
private
void
AioBox_Reconnect_Event
(
AIOBOX
box
,
int
times
,
ref
bool
conn
,
Dictionary
<
string
,
string
>
dict
)
{
conn
=
true
;
string
msg
=
"重连AIO块【"
+
box
.
IP
+
"】次数:"
+
times
+
"【"
+
box
.
ErrInfo
+
"】,连接信息如下\r\n"
;
foreach
(
string
key
in
dict
.
Keys
)
{
msg
=
msg
+
"\t"
+
"["
+
key
+
"]=["
+
dict
[
key
]
+
"],"
;
}
LogUtil
.
error
(
msg
);
}
private
void
AioBox_DI_Changed_Event
(
AIOBOX
box
,
Box_Sta
[]
sta
)
{
...
...
@@ -145,7 +108,7 @@ namespace OnlineStore.DeviceLibrary
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"AioBox_DI_Changed_Event出错:"
+
ex
.
ToString
());
LogUtil
.
error
(
"AioBox_DI_Changed_Event出错:"
+
ex
.
ToString
());
}
}
private
void
AioBox_DO_Changed_Event
(
AIOBOX
box
,
Box_Sta
[]
sta
)
...
...
@@ -279,7 +242,7 @@ namespace OnlineStore.DeviceLibrary
bool
result
=
aioBox
.
WriteDO
(
StartAddress
,
GetBox_Sta
(
onOff
));
if
(!
result
)
{
LogUtil
.
error
(
"AIO WriteSingleDO ["
+
ioIp
+
"] ["
+
StartAddress
+
"] 失败:"
+
aioBox
.
ErrInfo
);
LogUtil
.
error
(
"AIO WriteSingleDO ["
+
ioIp
+
"] ["
+
StartAddress
+
"] 失败:"
);
}
}
else
...
...
@@ -289,7 +252,7 @@ namespace OnlineStore.DeviceLibrary
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"AIO WriteSingleDO ["
+
ioIp
+
"] ["
+
StartAddress
+
"] 出错啦:"
+
ex
.
ToString
());
LogUtil
.
error
(
"AIO WriteSingleDO ["
+
ioIp
+
"] ["
+
StartAddress
+
"] 出错啦:"
+
ex
.
ToString
());
}
}
public
override
void
WriteSingleDO
(
string
ioIp
,
byte
slaveId
,
ushort
StartAddress
,
IO_VALUE
onOff
,
int
mSeconds
)
...
...
@@ -365,7 +328,7 @@ namespace OnlineStore.DeviceLibrary
}
public
override
IO_VALUE
GetDOValue
(
string
ioIP
,
byte
slaveId
,
ushort
StartAddress
)
{
IO_VALUE
value
=
IO_VALUE
.
LOW
;
IO_VALUE
value
=
IO_VALUE
.
None
;
try
{
AIOBOX
aioBox
=
getAIO
(
ioIP
);
...
...
@@ -397,7 +360,7 @@ namespace OnlineStore.DeviceLibrary
public
override
IO_VALUE
GetDIValue
(
string
ioIP
,
byte
slaveId
,
ushort
StartAddress
)
{
IO_VALUE
value
=
IO_VALUE
.
LOW
;
IO_VALUE
value
=
IO_VALUE
.
None
;
for
(
int
i
=
1
;
i
<=
3
;
i
++)
{
try
...
...
@@ -436,7 +399,7 @@ namespace OnlineStore.DeviceLibrary
}
public
override
IO_VALUE
GetIOValue
(
ConfigIO
configIO
)
{
IO_VALUE
value
=
IO_VALUE
.
LOW
;
IO_VALUE
value
=
IO_VALUE
.
None
;
try
{
if
(
configIO
.
ProType
.
Equals
(
ConfigItemType
.
DI
))
...
...
@@ -477,17 +440,5 @@ namespace OnlineStore.DeviceLibrary
return
aioBox
;
}
public
bool
IsConnect
(
string
ip
)
{
if
(
AIOMap
.
ContainsKey
(
ip
))
{
if
(
AIOMap
[
ip
].
IsConn
)
{
return
true
;
}
return
false
;
}
return
false
;
}
}
}
}
source/DeviceLibrary/store/InOutParam.cs
查看文件 @
59dbda5
...
...
@@ -18,6 +18,15 @@ namespace OnlineStore.DeviceLibrary
this
.
PlateH
=
plateH
;
this
.
paramType
=
type
;
}
public
InOutParam
(
MoveType
type
,
string
posId
,
VerticalPosition
position
)
{
this
.
position
=
position
;
PosCode
=
""
;
PosId
=
posId
;
this
.
PlateW
=
position
.
BagWidth
;
this
.
PlateH
=
position
.
BagHigh
;
this
.
paramType
=
type
;
}
public
string
ToStr
()
{
...
...
source/DeviceLibrary/store/StoreStep.cs
查看文件 @
59dbda5
...
...
@@ -105,24 +105,6 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
ResetMove
=
13
,
/// <summary>
///14= 回温移库中
/// </summary>
MovementExecute
=
14
,
/// <summary>
///15= 回温移库完成
/// </summary>
MovementEnd
=
15
,
/// <summary>
///16= 搅拌执行中
/// </summary>
StirringExecute
=
16
,
/// <summary>
///17= 搅拌完成
/// </summary>
StirringEnd
=
17
,
}
/// <summary>
...
...
@@ -136,17 +118,21 @@ namespace OnlineStore.DeviceLibrary
Wait
=
0
,
#
region
料仓
重置
101
开始
/// <summary>
/// 等待可以关门
/// </summary>
R01_WaitCloseDoor
=
101
,
/// <summary>
/// 复位:升降门关闭,关闭所有灯
/// </summary>
R0
1_DoorClose
=
101
,
R0
2_DoorClose
,
/// <summary>
/// 复位:料斗旋转轴返回原点
/// </summary>
R0
2
_MiddleHome
,
R0
3
_MiddleHome
,
/// <summary>
/// 复位:旋转轴到待机点
/// </summary>
R0
3
_MiddleToP1
,
R0
4
_MiddleToP1
,
#
endregion
...
...
@@ -154,165 +140,66 @@ namespace OnlineStore.DeviceLibrary
#
region
出库步骤
1001
开始
/// <summary>
///出库:
进出轴到P1,旋转轴停止匀速旋转
///出库:
等待光栅未被遮挡
/// </summary>
SO_01_
InoutToP1
=
1001
,
SO_01_
Wait
=
1001
,
/// <summary>
///出库:
旋转轴回原点
///出库:
关闭升降门
/// </summary>
SO_02_AxisHome
,
SO_02_CloseDoor
,
/// <summary>
/// 出库: 旋转轴
至P2( 库位点),升降轴至P5(库位出库前点) ,旋转轴到P2
/// 出库: 旋转轴
到P1点
/// </summary>
SO_03_
ToBag
,
SO_03_
MiddleToP1
,
/// <summary>
/// 出库:
开冷藏门
/// 出库:
打开升降门,打开库位灯
/// </summary>
SO_04_Open
Cold
,
SO_04_Open
Door
,
/// <summary>
/// 出库:
进出轴 至P3(库位取放料点)
/// 出库:
等待关门
/// </summary>
SO_05_InoutToP3
,
SO_05_WaitCloseDoor
,
/// <summary>
///出库:
夹爪夹紧
///出库:
开始关门
/// </summary>
SO_06_Clamping_Work
,
SO_06_CloseDoor
,
/// <summary>
///出库:
升降轴到缓冲点P6
///出库:
关灯结束
/// </summary>
SO_07_
UpdownToP6
,
SO_07_
CloseLed
,
/// <summary>
///出库:进出轴返回P1
/// </summary>
SO_08_InoutToP1
,
/// <summary>
/// 出库:关闭冷藏区门
/// </summary>
SO_09_CloseCold
,
/// <summary>
/// 出库: 轴1旋转轴至P1,升降轴到P2进料口出料前点
/// </summary>
SO_10_ToDoorPosition
,
/// <summary>
/// 出库: 打开仓门,,旋转轴开始匀速运转,
/// </summary>
SO_11_OpenDoor
,
/// <summary>
/// 出库:等待门口无料盘
/// </summary>
SO_12_WaitNoTray
,
/// <summary>
/// 出库:进出轴到P2
/// </summary>
SO_13_InoutToP2
,
/// <summary>
/// 出库:升降轴至P8( 进料口出料缓冲点 )
/// </summary>
SO_14_UpdownToP8
,
/// <summary>
/// 出库:夹爪放松
/// </summary>
SO_15_Clamping_Relax
,
/// <summary>
/// 出库:进出轴到P1
/// </summary>
SO_16_InoutToP1
,
/// <summary>
/// 出库:关闭仓门
/// </summary>
SO_17_CloseDoor
,
/// <summary>
///出库: 等待拿走物品
/// </summary>
SO_18_WaitTake
,
#
endregion
#
region
入库步骤
2001
开始
/// <summary>
/// 入库信号检测
/// </summary>
SI_01_TrayCheck
=
2001
,
/// <summary>
/// 入库:进出轴到P1,打开仓门
/// </summary>
SI_02_InOutToP1
,
/// <summary>
/// 入库:夹爪放松
/// </summary>
SI_03_Clamping_Relax
,
/// <summary>
/// 入库:所有轴先回到待机点,轴2、轴1 动作到P1,
/// </summary>
SI_04_AxisToP1
,
/// <summary>
/// 入库: 进出轴至P2( 进料口取料点)
/// </summary>
SI_05_InoutToP2
,
/// <summary>
/// 入库:夹爪夹紧
///入库:等待光栅未被遮挡
/// </summary>
SI_0
6_Clamping_Work
,
SI_0
1_Wait
=
1001
,
/// <summary>
///
入库: 升降轴至P7( 进料口取料缓冲点)
///
入库:关闭升降门
/// </summary>
SI_07_UpdownToP7
,
SI_02_CloseDoor
,
/// <summary>
///
入库:进出轴到P1,目标轴停止匀速运转
///
入库: 旋转轴到P1点
/// </summary>
SI_08_InOutToP1
,
SI_03_MiddleToP1
,
/// <summary>
/// 入库:
移动到库位点,旋转轴 至P2( 库位点)升降轴至P3(库位入库前点),目标轴回原点
/// 入库:
打开升降门,打开库位灯
/// </summary>
SI_09_MoveToBag
,
/// <summary>
/// 入库:冷藏轴或回温轴到P2点
/// </summary>
SI_10_TargetAxisToP2
,
SI_04_OpenDoor
,
/// <summary>
///
入库:打开冷藏
门
///
入库:等待关
门
/// </summary>
SI_11_OpenColddoor
,
/// <summary>
/// 入库:叉子进入库位中,进出轴至P3(库位取放料点)
/// </summary>
SI_12_InoutToP3
,
/// <summary>
/// 入库:放下物品,升降轴至P4( 库位入料缓冲点)
/// </summary>
SI_13_UpdownToP4
,
/// <summary>
/// 入库:夹爪放松
/// </summary>
SI_14_Clamping_Relax
,
/// <summary>
/// 入库。。叉子从库位中返回,进出轴动作至P1
/// </summary>
SI_15_InOutToP1
,
SI_05_WaitCloseDoor
,
/// <summary>
///
入库:关闭冷藏
门
///
入库: 开始关
门
/// </summary>
SI_
16_CloseColdd
oor
,
SI_
06_CloseD
oor
,
/// <summary>
///
入库:返回待机点,轴2/轴1动作至P1)开始
///
入库:关灯结束
/// </summary>
SI_
17_GoBack
,
SI_
07_CloseLed
,
#
endregion
...
...
source/LoadCVSLibrary/position/VerticalPosition.cs
查看文件 @
59dbda5
...
...
@@ -37,9 +37,9 @@ namespace OnlineStore.LoadCSVLibrary
private
List
<
int
>
LedList
=
null
;
public
List
<
int
>
GetLedList
()
public
List
<
int
>
GetLedList
(
bool
isReload
)
{
if
(
LedList
==
null
)
if
(
LedList
==
null
||
isReload
)
{
LedList
=
new
List
<
int
>();
string
[]
arrays
=
LedIndex
.
Split
(
';'
);
...
...
source/LoadCVSLibrary/storeConfig/config/IO_Type.cs
查看文件 @
59dbda5
...
...
@@ -85,6 +85,7 @@ namespace OnlineStore.LoadCSVLibrary
}
public
enum
IO_VALUE
{
None
=-
1
,
/// <summary>
/// 低位
/// </summary>
...
...
source/VerticalStoreClinet/FrmIOStatus.cs
查看文件 @
59dbda5
...
...
@@ -246,15 +246,29 @@ namespace OnlineStore.TinPasteStore
private
void
btnOpenDoor_Click
(
object
sender
,
EventArgs
e
)
{
if
(
IOManager
.
IOValue
(
IO_Type
.
SafetyLightCurtains
).
Equals
(
IO_VALUE
.
HIGH
))
{
LogUtil
.
info
(
"用户点击:打开升降门"
);
DoorBean
.
StartOpen
(
null
);
}
else
{
MessageBox
.
Show
(
"光栅被遮挡,无法开门"
);
}
}
private
void
btnCloseDoor_Click
(
object
sender
,
EventArgs
e
)
{
if
(
IOManager
.
IOValue
(
IO_Type
.
SafetyLightCurtains
).
Equals
(
IO_VALUE
.
HIGH
))
{
LogUtil
.
info
(
"用户点击:关闭升降门"
);
DoorBean
.
StartClose
(
null
);
}
else
{
MessageBox
.
Show
(
"光栅被遮挡,无法关门"
);
}
}
private
void
btnStopDoor_Click
(
object
sender
,
EventArgs
e
)
{
...
...
source/VerticalStoreClinet/FrmStoreBox.cs
查看文件 @
59dbda5
...
...
@@ -183,27 +183,6 @@ namespace OnlineStore.TinPasteStore
}
lblWarnMsg
.
Text
=
store
.
WarnMsg
;
//if (store.Config.IsHasDoorLimit.Equals(1))
//{
// if (IOManager.IOValue(IO_Type.Door_Limit).Equals(IO_VALUE.LOW))
// {
// lblWarnMsg.Text = lblWarnMsg.Text + " 前门未关";
// }
// else if (store.Config.StoreDIList.ContainsKey(IO_Type.Door_LeftLimit) && IOManager.IOValue(IO_Type.Door_LeftLimit).Equals(IO_VALUE.LOW))
// {
// lblWarnMsg.Text = lblWarnMsg.Text + " 左侧门未关";
// }
// else if (store.Config.StoreDIList.ContainsKey(IO_Type.Door_RightLimit) && IOManager.IOValue(IO_Type.Door_RightLimit).Equals(IO_VALUE.LOW))
// {
// lblWarnMsg.Text = lblWarnMsg.Text + " 右侧门未关";
// }
//}
////如果不在出入库中,且叉子上有信号,需要提示检查叉子
//if (store.runStatus.Equals(StoreRunStatus.Runing) && IOManager.IOValue(IO_Type.TinCheck_Fixture).Equals(IO_VALUE.HIGH))
//{
// lblWarnMsg.Text = lblWarnMsg.Text + " 叉子料盘检测有料,请检查";
//}
if
(
store
.
autoNext
)
{
string
msg
=
store
.
autoMsg
;
...
...
@@ -255,23 +234,40 @@ namespace OnlineStore.TinPasteStore
{
if
(
store
.
runStatus
>=
StoreRunStatus
.
HomeMoving
)
{
string
selectPositionNum
=
cmbPosition
.
Text
;
//StoreMoveP ktk = GetMoveP();
// store.StartOutStore(new InOutParam(MoveType.OutStore, selectPositionNum, ktk));
string
PosID
=
cmbPosition
.
Text
;
VerticalPosition
p
=
CSVPositionReader
<
VerticalPosition
>.
GetPositon
(
PosID
);
if
(
p
!=
null
)
{
p
.
LedIndex
=
txtLedIndex
.
Text
.
Trim
();
p
.
MiddleAxis_P2
=
FormUtil
.
GetIntValue
(
txtMP2
);
store
.
StartOutStore
(
new
InOutParam
(
MoveType
.
OutStore
,
PosID
,
p
));
}
else
{
MessageBox
.
Show
(
"请选择有效库位"
);
}
}
else
{
MessageBox
.
Show
(
"请先启动料仓!"
);
}
}
private
void
btnInStore_Click
(
object
sender
,
EventArgs
e
)
{
if
(
store
.
runStatus
>=
StoreRunStatus
.
HomeMoving
)
{
string
selectPositionNum
=
cmbPosition
.
Text
;
// StoreMoveP ktk = GetMoveP();
// store.StartInStore(new InOutParam(MoveType.InStore, selectPositionNum, ktk));
string
PosID
=
cmbPosition
.
Text
;
VerticalPosition
p
=
CSVPositionReader
<
VerticalPosition
>.
GetPositon
(
PosID
);
if
(
p
!=
null
)
{
p
.
LedIndex
=
txtLedIndex
.
Text
.
Trim
();
p
.
MiddleAxis_P2
=
FormUtil
.
GetIntValue
(
txtMP2
);
store
.
StartInStore
(
new
InOutParam
(
MoveType
.
OutStore
,
PosID
,
p
));
}
else
{
MessageBox
.
Show
(
"请选择有效库位"
);
}
}
else
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论