Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
ACSingleStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit a5ff6dbd
由
LN
编写于
2021-03-11 14:10:35 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
出入库过程中进出轴报警,调用disablePos库位
1 个父辈
26b4e537
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
69 行增加
和
9 行删除
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
source/DeviceLibrary/acSingleStore/StoreManager.cs
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
查看文件 @
a5ff6db
...
...
@@ -668,26 +668,48 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
LOGGER
,
StoreName
+
",停止运行,总运行时间:"
+
span
.
ToString
());
}
public
override
void
Alarm
(
StoreAlarmType
alarmType
,
string
alarmDetial
,
string
alarmMsg
,
StoreMoveType
storeMoveType
)
private
DateTime
lastDisTime
=
DateTime
.
Now
;
private
string
LastPosId
=
""
;
public
override
void
Alarm
(
StoreAlarmType
nalarmType
,
string
alarmDetial
,
string
alarmMsg
,
StoreMoveType
storeMoveType
)
{
SaveAlarmInfo
(
alarmType
,
alarmDetial
,
alarmMsg
,
storeMoveType
);
SaveAlarmInfo
(
n
alarmType
,
alarmDetial
,
alarmMsg
,
storeMoveType
);
autoNext
=
false
;
if
(
this
.
alarmType
.
Equals
(
alarmType
)
&&
alarmType
!=
StoreAlarmType
.
SuddenStop
&&
alarmType
!=
StoreAlarmType
.
NoAirCheck
)
if
(
this
.
alarmType
.
Equals
(
nalarmType
)
&&
nalarmType
!=
StoreAlarmType
.
SuddenStop
&&
n
alarmType
!=
StoreAlarmType
.
NoAirCheck
)
{
return
;
}
LogUtil
.
error
(
LOGGER
,
StoreName
+
" 报警,报警类型:"
+
alarmType
);
LogUtil
.
error
(
LOGGER
,
StoreName
+
" 报警,报警类型:"
+
n
alarmType
);
this
.
alarmType
=
alarmType
;
if
(
alarmType
.
Equals
(
StoreAlarmType
.
AxisAlarm
)
|
alarmType
.
Equals
(
StoreAlarmType
.
AxisMoveError
))
this
.
alarmType
=
n
alarmType
;
if
(
nalarmType
.
Equals
(
StoreAlarmType
.
AxisAlarm
)
|
n
alarmType
.
Equals
(
StoreAlarmType
.
AxisMoveError
))
{
if
(
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
)
||
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
//只有第一次报警才处理库位号
{
if
(
alarmDetial
.
Equals
(
LineAlarm
.
InOutAxisAlarm
.
ToString
())
&&
StoreMove
.
MoveParam
!=
null
&&
StoreMove
.
MoveParam
.
PosInfo
!=
null
)
{
string
posId
=
StoreMove
.
MoveParam
.
PosInfo
.
PosId
;
TimeSpan
span
=
DateTime
.
Now
-
lastDisTime
;
if
(
lastPosId
.
Equals
(
posId
)
&&
span
.
TotalSeconds
<
8
)
{
//同一个库位8秒内不重复发
}
else
{
lastDisTime
=
DateTime
.
Now
;
LastPosId
=
posId
;
LogUtil
.
info
(
StoreName
+
" ["
+
StoreMove
.
MoveType
+
"]["
+
StoreMove
.
MoveStep
+
"]"
+
StoreMove
.
MoveParam
.
PosInfo
.
ToStr
()
+
" 过程中进出轴报警,记录库位号["
+
posId
+
"],调用disablePos"
);
Task
.
Factory
.
StartNew
(
delegate
()
{
StoreManager
.
disablePos
(
posId
);
});
}
}
}
LogUtil
.
error
(
LOGGER
,
StoreName
+
"轴报警,关闭刹车,停止运动,关闭轴,打开报警灯"
);
IOManager
.
IOMove
(
IO_Type
.
Axis_Brake
,
IO_VALUE
.
LOW
);
StopMove
(
true
);
}
else
if
(
alarmType
==
StoreAlarmType
.
SuddenStop
)
else
if
(
n
alarmType
==
StoreAlarmType
.
SuddenStop
)
{
isInSuddenDown
=
true
;
LogUtil
.
error
(
LOGGER
,
StoreName
+
"收到急停信号,关闭刹车,停止运动,关闭轴,打开报警灯 "
);
...
...
@@ -696,7 +718,7 @@ namespace OnlineStore.DeviceLibrary
StopMove
(
true
);
storeStatus
=
StoreStatus
.
SuddenStop
;
}
else
if
(
alarmType
.
Equals
(
StoreAlarmType
.
NoAirCheck
))
else
if
(
n
alarmType
.
Equals
(
StoreAlarmType
.
NoAirCheck
))
{
isNoAirCheck
=
true
;
LogUtil
.
error
(
LOGGER
,
StoreName
+
" 未检测到气压信号 ,打开刹车,停止运动,关闭轴,打开报警灯 "
);
...
...
source/DeviceLibrary/acSingleStore/StoreManager.cs
查看文件 @
a5ff6db
...
...
@@ -255,6 +255,44 @@ namespace OnlineStore.DeviceLibrary
return
msg
;
}
// 料仓进出轴报警时,屏蔽正在执行的库位: /rest/api/qisda/device/disablePos //参数: posName: 库位编号
// 返回:{ "code":0,"msg":"ok","data":""} code: 0为正常,其他为异常,msg: 消息,data:
private
static
string
Addr_disablePos
=
"/rest/api/qisda/device/disablePos"
;
public
static
string
disablePos
(
string
posName
)
{
string
msg
=
""
;
try
{
Dictionary
<
string
,
string
>
paramMap
=
new
Dictionary
<
string
,
string
>();
paramMap
.
Add
(
"posName"
,
posName
);
string
server
=
GetAddr
(
Addr_cancelPutInTask
,
paramMap
);
DateTime
startTime
=
DateTime
.
Now
;
string
resultStr
=
HttpHelper
.
Post
(
server
,
""
);
LogUtil
.
info
(
"disablePos "
+
FormUtil
.
GetSpanStr
(
DateTime
.
Now
-
startTime
)
+
" 【"
+
server
+
"】【"
+
resultStr
+
"】"
);
ResultData
data
=
JsonHelper
.
DeserializeJsonToObject
<
ResultData
>(
resultStr
);
if
(
data
==
null
)
{
return
msg
=
" disablePos【 "
+
posName
+
"】 没有收到服务器反馈"
;
}
else
if
(
data
.
code
.
Equals
(
0
).
Equals
(
false
))
{
return
msg
=
" disablePos【 "
+
posName
+
"】 :"
+
data
.
msg
;
}
return
""
;
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
" disablePos error :"
+
ex
.
ToString
());
}
return
msg
;
}
}
public
class
ResultData
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论