Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
ACSingleStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit a667c512
由
几米阳光
编写于
2019-03-05 15:32:46 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
灯状态修改。每次扫码不需要关闭相机。
1 个父辈
d998b76f
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
179 行增加
和
119 行删除
source/ACSingleStore/FrmStoreBox.cs
source/ACSingleStore/记录.txt
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
source/DeviceLibrary/halcon/CodeManager.cs
source/DeviceLibrary/store/StoreStep.cs
source/LoadCVSLibrary/storeConfig/config/Store_IO_Type.cs
source/ACSingleStore/FrmStoreBox.cs
查看文件 @
a667c51
...
@@ -1236,7 +1236,7 @@ namespace OnlineStore.ACSingleStore
...
@@ -1236,7 +1236,7 @@ namespace OnlineStore.ACSingleStore
{
{
stop_button_Click
(
null
,
null
);
stop_button_Click
(
null
,
null
);
}
}
CodeManager
.
CloseCamera
();
KNDManager
.
CloseAllDO
();
KNDManager
.
CloseAllDO
();
StoreOpenStatus
(
false
);
StoreOpenStatus
(
false
);
KNDManager
.
CloseAllConnection
();
KNDManager
.
CloseAllConnection
();
...
...
source/ACSingleStore/记录.txt
查看文件 @
a667c51
...
@@ -43,8 +43,14 @@
...
@@ -43,8 +43,14 @@
20190227
20190227
出入库取料后,需要检测叉子料盘有料信号,否则报信号超时
出入库取料后,需要检测叉子料盘有料信号,否则报信号超时
20190228
1.出入库取料后,暂不验证叉子是否有料盘。
2.灯状态修改:
红灯:报警故障时常亮
黄灯:待机时闪烁
绿灯:正常运行或待机时常亮
3.扫码不需要每次都关闭相机。
...
...
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
查看文件 @
a667c51
...
@@ -797,90 +797,48 @@ namespace OnlineStore.DeviceLibrary
...
@@ -797,90 +797,48 @@ namespace OnlineStore.DeviceLibrary
{
{
try
try
{
{
// 机器状态 顶灯显示
// 灯状态修改:
// 绿 黄 红
// 红灯:报警故障时常亮
//机器复位中 闪 灭 灭
// 黄灯:待机时闪烁
//机器待机中 亮 灭 灭
// 绿灯:正常运行或待机时常亮
//机器出入库中 闪 闪 灭
if
(
alarmType
.
Equals
(
StoreAlarmType
.
None
))
//温湿度超限报警中 亮 闪 灭
//温湿度超限报警中超过30分钟 亮 闪 闪
//机器未启动 灭 灭 灭
//机器设备故障(非温湿度)报警 亮 灭 闪
//报警时只需要亮红灯
DateTime
time
=
DateTime
.
Now
;
bool
isTemp30M
=
false
;
if
(
TempOrHumidityIsAlarm
)
{
{
TimeSpan
span
=
DateTime
.
Now
-
TempAlarmTime
;
//黄灯常亮
if
(
span
.
Minutes
>
30
)
if
(
KNDIOValue
(
IO_Type
.
AutoRun_HddLed
).
Equals
(
IO_VALUE
.
LOW
)
)
{
{
isTemp30M
=
true
;
KNDIOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
HIGH
)
;
}
}
}
//空闲中黄灯闪
bool
isNeedAlarmLed
=
false
;
if
((
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
None
)))
//报警灯
if
(!
alarmType
.
Equals
(
StoreAlarmType
.
None
)
||
isTemp30M
)
{
isNeedAlarmLed
=
true
;
}
if
(
isNeedAlarmLed
&&
KNDIOValue
(
IO_Type
.
Alarm_HddLed
).
Equals
(
IO_VALUE
.
LOW
))
{
KNDIOMove
(
IO_Type
.
Alarm_HddLed
,
IO_VALUE
.
HIGH
);
}
else
{
if
(
KNDIOValue
(
IO_Type
.
Alarm_HddLed
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
KNDIOMove
(
IO_Type
.
Alarm_HddLed
,
IO_VALUE
.
LOW
);
if
(
KNDIOValue
(
IO_Type
.
RunSign_HddLed
).
Equals
(
IO_VALUE
.
HIGH
))
}
{
}
KNDIOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
LOW
);
}
else
//报警时绿灯和黄灯灭
{
if
(
isNeedAlarmLed
)
KNDIOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
HIGH
);
{
}
if
(
KNDIOValue
(
IO_Type
.
AutoRun_HddLed
).
Equals
(
IO_VALUE
.
HIGH
))
{
KNDIOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
LOW
);
}
}
if
(
KNDIOValue
(
IO_Type
.
RunSign
_HddLed
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
KNDIOValue
(
IO_Type
.
Alarm
_HddLed
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
KNDIOMove
(
IO_Type
.
A
utoRun
_HddLed
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
A
larm
_HddLed
,
IO_VALUE
.
LOW
);
}
}
return
;
}
//绿灯闪
if
((
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
)
||
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
)
||
storeRunStatus
.
Equals
(
StoreRunStatus
.
HomeMoving
)
||
storeRunStatus
.
Equals
(
StoreRunStatus
.
Reset
))
&&
KNDIOValue
(
IO_Type
.
AutoRun_HddLed
).
Equals
(
IO_VALUE
.
HIGH
))
{
KNDIOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
LOW
);
}
}
else
else
{
{
//绿灯亮
//报警 红灯亮,绿灯黄灯灭
KNDIOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
HIGH
);
if
(
KNDIOValue
(
IO_Type
.
Alarm_HddLed
).
Equals
(
IO_VALUE
.
LOW
))
}
//黄灯
if
(
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
)
||
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
)
||
TempOrHumidityIsAlarm
||
isTemp30M
)
{
if
(
KNDIOValue
(
IO_Type
.
RunSign_HddLed
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
KNDIOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
Alarm_HddLed
,
IO_VALUE
.
HIGH
);
}
}
else
if
(
KNDIOValue
(
IO_Type
.
AutoRun_HddLed
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
KNDIOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
HIGH
);
KNDIOMove
(
IO_Type
.
AutoRun_HddLed
,
IO_VALUE
.
LOW
);
}
}
}
else
{
if
(
KNDIOValue
(
IO_Type
.
RunSign_HddLed
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
KNDIOValue
(
IO_Type
.
RunSign_HddLed
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
KNDIOMove
(
IO_Type
.
RunSig
n_HddLed
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
AutoRu
n_HddLed
,
IO_VALUE
.
LOW
);
}
}
}
}
}
}
...
@@ -889,6 +847,101 @@ namespace OnlineStore.DeviceLibrary
...
@@ -889,6 +847,101 @@ namespace OnlineStore.DeviceLibrary
LOGGER
.
Error
(
StoreName
+
"灯处理定时器出错:"
,
ex
);
LOGGER
.
Error
(
StoreName
+
"灯处理定时器出错:"
,
ex
);
}
}
}
}
//private void LedProcess()
//{
// try
// {
// // 机器状态 顶灯显示
// // 绿 黄 红
// //机器复位中 闪 灭 灭
// //机器待机中 亮 灭 灭
// //机器出入库中 闪 闪 灭
// //温湿度超限报警中 亮 闪 灭
// //温湿度超限报警中超过30分钟 亮 闪 闪
// //机器未启动 灭 灭 灭
// //机器设备故障(非温湿度)报警 亮 灭 闪
// //报警时只需要亮红灯
// DateTime time = DateTime.Now;
// bool isTemp30M = false;
// if (TempOrHumidityIsAlarm)
// {
// TimeSpan span = DateTime.Now - TempAlarmTime;
// if (span.Minutes > 30)
// {
// isTemp30M = true;
// }
// }
// bool isNeedAlarmLed = false;
// //报警灯
// if (!alarmType.Equals(StoreAlarmType.None) || isTemp30M)
// {
// isNeedAlarmLed = true;
// }
// if (isNeedAlarmLed && KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW))
// {
// KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH);
// }
// else
// {
// if (KNDIOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
// }
// }
// //报警时绿灯和黄灯灭
// if (isNeedAlarmLed)
// {
// if (KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
// }
// if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
// }
// return;
// }
// //绿灯闪
// if ((StoreMove.MoveType.Equals(StoreMoveType.InStore) || StoreMove.MoveType.Equals(StoreMoveType.OutStore)
// || storeRunStatus.Equals(StoreRunStatus.HomeMoving) || storeRunStatus.Equals(StoreRunStatus.Reset))
// && KNDIOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
// }
// else
// {
// //绿灯亮
// KNDIOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
// }
// //黄灯
// if (StoreMove.MoveType.Equals(StoreMoveType.InStore) || StoreMove.MoveType.Equals(StoreMoveType.OutStore) || TempOrHumidityIsAlarm || isTemp30M)
// {
// if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
// }
// else
// {
// KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH);
// }
// }
// else
// {
// if (KNDIOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
// {
// KNDIOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
// }
// }
// }
// catch (Exception ex)
// {
// LOGGER.Error(StoreName + "灯处理定时器出错:", ex);
// }
//}
private
IO_VALUE
lastAutoRun
=
IO_VALUE
.
LOW
;
private
IO_VALUE
lastAutoRun
=
IO_VALUE
.
LOW
;
private
IO_VALUE
lastAirValue
=
IO_VALUE
.
LOW
;
private
IO_VALUE
lastAirValue
=
IO_VALUE
.
LOW
;
public
void
IoCheckProcess
()
public
void
IoCheckProcess
()
...
@@ -1297,7 +1350,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1297,7 +1350,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
LOGGER
,
StoreName
+
"StopMove"
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"StopMove"
);
KNDIOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
KNDIOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
CodeManager
.
CloseCamera
();
isInPro
=
false
;
isInPro
=
false
;
}
}
...
...
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
查看文件 @
a667c51
...
@@ -407,12 +407,12 @@ namespace OnlineStore.DeviceLibrary
...
@@ -407,12 +407,12 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_07_DeviceBackFromDoor
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_07_DeviceBackFromDoor
)
{
{
InStoreLog
(
"入库:SI_071_CheckTraySignal 等待叉子料盘有料信号"
);
//
InStoreLog("入库:SI_071_CheckTraySignal 等待叉子料盘有料信号");
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_071_CheckTraySignal
);
//
StoreMove.NextMoveStep(StoreMoveStep.SI_071_CheckTraySignal);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_Fixture
,
IO_VALUE
.
HIGH
));
//
StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.HIGH));
}
//
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_071_CheckTraySignal
)
//
else if (StoreMove.MoveStep == StoreMoveStep.SI_071_CheckTraySignal)
{
//
{
if
(
IsHasCompress_Axis
||
Config
.
IsHasLocationCylinder
.
Equals
(
0
))
if
(
IsHasCompress_Axis
||
Config
.
IsHasLocationCylinder
.
Equals
(
0
))
{
{
InStoreLog
(
"入库:SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点) "
);
InStoreLog
(
"入库:SI_09 移动到库位点,旋转轴至P2(库位点),升降轴至P3(库位入库前点) "
);
...
@@ -589,12 +589,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -589,12 +589,7 @@ namespace OnlineStore.DeviceLibrary
{
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_03_ToBagPosition
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_03_ToBagPosition
);
OutStoreLog
(
"出库:SO_03 走到库位,压紧轴至P3(压紧前点) ,旋转轴至P2(库位点),升降轴至P5(库位出库前点)"
);
OutStoreLog
(
"出库:SO_03 走到库位,压紧轴至P3(压紧前点) ,旋转轴至P2(库位点),升降轴至P5(库位出库前点)"
);
ComMoveToPosition
(
moveP
.
ComPress_P3
);
ComMoveToPosition
(
moveP
.
ComPress_P3
);
//if (IsHasCompress_Axis)
//{
// ShuoKeControls.AbsMove(Config.CompressAxis_Slv, moveP.ComPress_P3);
// StoreMove.WaitList.Add(WaitResultInfo.WaitShuoKe(Config.CompressAxis_Slv, moveP.ComPress_P3, false));
//}
ACAxisMove
(
Config
.
Middle_Axis
,
StoreMove
.
MoveParam
.
MoveP
.
Middle_P2
,
Config
.
MiddleAxis_P2_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
StoreMove
.
MoveParam
.
MoveP
.
Middle_P2
,
Config
.
MiddleAxis_P2_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
StoreMove
.
MoveParam
.
MoveP
.
UpDown_P5
,
Config
.
UpDownAxis_P5_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
StoreMove
.
MoveParam
.
MoveP
.
UpDown_P5
,
Config
.
UpDownAxis_P5_Speed
);
}
}
...
@@ -607,13 +602,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -607,13 +602,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_04_DeviceToBag
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_04_DeviceToBag
)
{
{
OutStoreLog
(
"出库:SO_05 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) "
);
OutStoreLog
(
"出库:SO_05 拿起物品,升降轴至P6(库位出料缓冲点),压紧轴至P2(压紧点) "
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_05_BagWareToDevice
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_05_BagWareToDevice
);
//电缸微动至对应料盘的上端位置
//if (IsHasCompress_Axis)
//{
// ShuoKeControls.AbsMove(Config.CompressAxis_Slv, moveP.ComPress_P2);
// StoreMove.WaitList.Add(WaitResultInfo.WaitShuoKe(Config.CompressAxis_Slv, moveP.ComPress_P2, false));
//}
ComMoveToPosition
(
moveP
.
ComPress_P2
,
true
);
ComMoveToPosition
(
moveP
.
ComPress_P2
,
true
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P6
,
Config
.
UpDownAxis_P6_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P6
,
Config
.
UpDownAxis_P6_Speed
);
}
}
...
@@ -632,12 +621,12 @@ namespace OnlineStore.DeviceLibrary
...
@@ -632,12 +621,12 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_06_BagDeviceBack
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_06_BagDeviceBack
)
{
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_061_WaitTraySignal
);
//
StoreMove.NextMoveStep(StoreMoveStep.SO_061_WaitTraySignal);
OutStoreLog
(
"出库:SO_061_WaitTraySignal 等待叉子的料盘有料信号"
);
//
OutStoreLog("出库:SO_061_WaitTraySignal 等待叉子的料盘有料信号");
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_Fixture
,
IO_VALUE
.
HIGH
));
//
StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Fixture, IO_VALUE.HIGH));
}
//
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_061_WaitTraySignal
)
//
else if (StoreMove.MoveStep == StoreMoveStep.SO_061_WaitTraySignal)
{
//
{
if
(
KNDIOValue
(
IO_Type
.
TrayCheck_Fixture
).
Equals
(
IO_VALUE
.
LOW
))
if
(
KNDIOValue
(
IO_Type
.
TrayCheck_Fixture
).
Equals
(
IO_VALUE
.
LOW
))
{
{
string
posId
=
StoreMove
.
MoveParam
!=
null
?
StoreMove
.
MoveParam
.
PositionNum
:
""
;
string
posId
=
StoreMove
.
MoveParam
!=
null
?
StoreMove
.
MoveParam
.
PositionNum
:
""
;
...
@@ -711,12 +700,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -711,12 +700,7 @@ namespace OnlineStore.DeviceLibrary
OutStoreLog
(
"出库:SO_11 放下物品,升降轴至P8(进料口出料缓冲点) "
);
OutStoreLog
(
"出库:SO_11 放下物品,升降轴至P8(进料口出料缓冲点) "
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_11_DevicePutWare
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_11_DevicePutWare
);
NeedCheckSafetyLight
=
0
;
NeedCheckSafetyLight
=
0
;
ComMoveToPosition
(
moveP
.
ComPress_P1
,
true
);
ComMoveToPosition
(
moveP
.
ComPress_P1
,
true
);
//if (IsHasCompress_Axis)
//{
// ShuoKeControls.AbsMove(Config.CompressAxis_Slv, moveP.ComPress_P1);
// StoreMove.WaitList.Add(WaitResultInfo.WaitShuoKe(Config.CompressAxis_Slv, moveP.ComPress_P1, false));
//}
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P8
,
Config
.
UpDownAxis_P8_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P8
,
Config
.
UpDownAxis_P8_Speed
);
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_11_DevicePutWare
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_11_DevicePutWare
)
...
...
source/DeviceLibrary/halcon/CodeManager.cs
查看文件 @
a667c51
...
@@ -68,6 +68,12 @@ namespace OnlineStore.DeviceLibrary
...
@@ -68,6 +68,12 @@ namespace OnlineStore.DeviceLibrary
}
}
}
}
public
static
void
CloseCamera
()
{
BaslerCamera
.
Instance
.
Close
();
HIKCamera
.
Instance
.
Close
();
}
public
static
Bitmap
GetCamerImage
(
string
cameraName
)
public
static
Bitmap
GetCamerImage
(
string
cameraName
)
{
{
Bitmap
bitm
=
null
;
Bitmap
bitm
=
null
;
...
@@ -75,12 +81,17 @@ namespace OnlineStore.DeviceLibrary
...
@@ -75,12 +81,17 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
balserNameList
.
Contains
(
cameraName
))
if
(
balserNameList
.
Contains
(
cameraName
))
{
{
bool
result
=
BaslerCamera
.
Instance
.
Open
(
cameraName
);
bool
result
=
BaslerCamera
.
Instance
.
IsOpen
;
if
(!
result
)
{
result
=
BaslerCamera
.
Instance
.
Open
(
cameraName
);
LogUtil
.
info
(
"打开相机:"
+
cameraName
+
"("
+
result
+
")"
);
}
if
(
result
)
if
(
result
)
{
{
BaslerCamera
.
Instance
.
GrabOne
();
BaslerCamera
.
Instance
.
GrabOne
();
bitm
=
BaslerCamera
.
Instance
.
Image
;
bitm
=
BaslerCamera
.
Instance
.
Image
;
BaslerCamera
.
Instance
.
Close
();
//
BaslerCamera.Instance.Close();
}
}
else
else
{
{
...
@@ -89,12 +100,17 @@ namespace OnlineStore.DeviceLibrary
...
@@ -89,12 +100,17 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
hikNameList
.
Contains
(
cameraName
))
else
if
(
hikNameList
.
Contains
(
cameraName
))
{
{
bool
result
=
HIKCamera
.
Instance
.
Open
(
cameraName
);
bool
result
=
HIKCamera
.
Instance
.
IsOpen
;
if
(!
result
)
{
result
=
HIKCamera
.
Instance
.
Open
(
cameraName
);
LogUtil
.
info
(
"打开相机:"
+
cameraName
+
"("
+
result
+
")"
);
}
if
(
result
)
if
(
result
)
{
{
HIKCamera
.
Instance
.
GrabOne
();
HIKCamera
.
Instance
.
GrabOne
();
bitm
=
HIKCamera
.
Instance
.
Image
;
bitm
=
HIKCamera
.
Instance
.
Image
;
HIKCamera
.
Instance
.
Close
();
//
HIKCamera.Instance.Close();
}
}
else
else
{
{
...
@@ -127,7 +143,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -127,7 +143,8 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
bitmap
==
null
)
if
(
bitmap
==
null
)
{
{
LogUtil
.
info
(
" 摄像机【"
+
cameraName
+
"】获取图片失败"
);
LogUtil
.
info
(
" 摄像机【"
+
cameraName
+
"】获取图片失败,关闭相机"
);
CloseCamera
();
continue
;
continue
;
}
}
...
...
source/DeviceLibrary/store/StoreStep.cs
查看文件 @
a667c51
...
@@ -203,10 +203,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -203,10 +203,10 @@ namespace OnlineStore.DeviceLibrary
///料仓出库,,叉子从 库位返回,轴3( 叉子) 至P1( 待机点)
///料仓出库,,叉子从 库位返回,轴3( 叉子) 至P1( 待机点)
/// </summary>
/// </summary>
SO_06_BagDeviceBack
=
106
,
SO_06_BagDeviceBack
=
106
,
/// <summary>
///
//
<summary>
/// 料仓出库:等待料仓有料盘检测信号
///
//
料仓出库:等待料仓有料盘检测信号
/// </summary>
///
//
</summary>
SO_061_WaitTraySignal
=
116
,
//
SO_061_WaitTraySignal=116,
/// <summary>
/// <summary>
/// 料仓出库,定位气缸伸出(有压紧轴的不需要此步骤),,定位气缸伸出 Y103-1/PCI5O1-83) Y103-2/PCI5O1-90) Y103-3/PCI5O1-95) 伸出到位
/// 料仓出库,定位气缸伸出(有压紧轴的不需要此步骤),,定位气缸伸出 Y103-1/PCI5O1-83) Y103-2/PCI5O1-90) Y103-3/PCI5O1-95) 伸出到位
/// </summary>
/// </summary>
...
@@ -284,10 +284,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -284,10 +284,10 @@ namespace OnlineStore.DeviceLibrary
/// 入库。。叉子 从入料口抽出,轴3( 叉子) 至P1( 待机点)
/// 入库。。叉子 从入料口抽出,轴3( 叉子) 至P1( 待机点)
/// </summary>
/// </summary>
SI_07_DeviceBackFromDoor
=
207
,
SI_07_DeviceBackFromDoor
=
207
,
/// <summary>
///
//
<summary>
/// 入库。。检测叉子是否有料
///
//
入库。。检测叉子是否有料
/// </summary>
///
//
</summary>
SI_071_CheckTraySignal
=
217
,
//
SI_071_CheckTraySignal = 217,
/// <summary>
/// <summary>
/// 入库。。,定位气缸伸出 (有压紧轴的不需要此步骤)
/// 入库。。,定位气缸伸出 (有压紧轴的不需要此步骤)
/// </summary>
/// </summary>
...
...
source/LoadCVSLibrary/storeConfig/config/Store_IO_Type.cs
查看文件 @
a667c51
...
@@ -84,18 +84,18 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -84,18 +84,18 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary>
/// <summary>
/// DO 自动指示灯 AutoRun_HddLed
/// DO
绿灯
自动指示灯 AutoRun_HddLed
/// </summary>
/// </summary>
public
static
string
AutoRun_HddLed
=
"AutoRun_HddLed"
;
public
static
string
AutoRun_HddLed
=
"AutoRun_HddLed"
;
/// <summary>
/// <summary>
/// DO 待机指示灯 RunSign_HddLed
/// DO
黄灯
待机指示灯 RunSign_HddLed
/// </summary>
/// </summary>
public
static
string
RunSign_HddLed
=
"RunSign_HddLed"
;
public
static
string
RunSign_HddLed
=
"RunSign_HddLed"
;
/// <summary>
/// <summary>
///DO 故障指示灯 Alarm_HddLed
///DO
红灯
故障指示灯 Alarm_HddLed
/// </summary>
/// </summary>
public
static
string
Alarm_HddLed
=
"Alarm_HddLed"
;
public
static
string
Alarm_HddLed
=
"Alarm_HddLed"
;
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论