Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
SO664-HCSingleStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 034757b4
由
LN
编写于
2021-03-11 14:02:23 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
出入库过程中进出轴报警,调用disablePos库位
1 个父辈
447c419f
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
71 行增加
和
72 行删除
source/DeviceLibrary/acSingleStore/BoxBean.cs
source/DeviceLibrary/acSingleStore/StoreManager.cs
source/HCSingleStore/记录.txt
source/DeviceLibrary/acSingleStore/BoxBean.cs
查看文件 @
034757b
...
@@ -475,29 +475,40 @@ namespace OnlineStore.DeviceLibrary
...
@@ -475,29 +475,40 @@ namespace OnlineStore.DeviceLibrary
LogInfo
(
",停止运行,总运行时间:"
+
span
.
ToString
());
LogInfo
(
",停止运行,总运行时间:"
+
span
.
ToString
());
}
}
private
DateTime
lastDisTime
=
DateTime
.
Now
;
public
override
void
Alarm
(
StoreAlarmType
alarmType
,
string
alarmDetial
,
string
alarmMsg
,
StoreMoveType
storeMoveType
)
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
;
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
;
return
;
}
}
LogUtil
.
error
(
Name
+
" 报警,报警类型:"
+
alarmType
);
LogUtil
.
error
(
Name
+
" 报警,报警类型:"
+
n
alarmType
);
this
.
alarmType
=
alarmType
;
this
.
alarmType
=
n
alarmType
;
if
(
alarmType
.
Equals
(
StoreAlarmType
.
AxisAlarm
)
||
alarmType
.
Equals
(
StoreAlarmType
.
AxisMoveError
))
if
(
nalarmType
.
Equals
(
StoreAlarmType
.
AxisAlarm
)
||
n
alarmType
.
Equals
(
StoreAlarmType
.
AxisMoveError
))
{
{
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
)
||
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
)
||
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
//只有第一次报警才处理库位号
{
{
if
(
alarmDetial
.
Equals
(
LineAlarm
.
InOutAxisAlarm
.
ToString
())
&&
MoveInfo
.
MoveParam
!=
null
&&
MoveInfo
.
MoveParam
.
PosInfo
!=
null
)
if
(
alarmDetial
.
Equals
(
LineAlarm
.
InOutAxisAlarm
.
ToString
())
&&
MoveInfo
.
MoveParam
!=
null
&&
MoveInfo
.
MoveParam
.
PosInfo
!=
null
)
{
{
string
posId
=
MoveInfo
.
MoveParam
.
PosInfo
.
PosId
;
string
posId
=
MoveInfo
.
MoveParam
.
PosInfo
.
PosId
;
LogUtil
.
info
(
Name
+
" ["
+
MoveInfo
.
MoveType
+
"]["
+
MoveInfo
.
MoveStep
+
"]"
+
MoveInfo
.
MoveParam
.
PosInfo
.
ToStr
()
+
" 过程中进出轴报警,记录库位号["
+
posId
+
"]"
);
TimeSpan
span
=
DateTime
.
Now
-
lastDisTime
;
//TODO
if
(
lastPosId
.
Equals
(
posId
)
&&
span
.
TotalSeconds
<
8
)
{
//同一个库位8秒内不重复发
}
else
{
lastDisTime
=
DateTime
.
Now
;
LastPosId
=
posId
;
LogUtil
.
info
(
Name
+
" ["
+
MoveInfo
.
MoveType
+
"]["
+
MoveInfo
.
MoveStep
+
"]"
+
MoveInfo
.
MoveParam
.
PosInfo
.
ToStr
()
+
" 过程中进出轴报警,记录库位号["
+
posId
+
"],调用disablePos"
);
Task
.
Factory
.
StartNew
(
delegate
()
{
StoreManager
.
disablePos
(
posId
);
});
}
}
}
}
}
...
@@ -505,7 +516,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -505,7 +516,7 @@ namespace OnlineStore.DeviceLibrary
//IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW);
//IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW);
StopMove
();
StopMove
();
}
}
else
if
(
alarmType
==
StoreAlarmType
.
SuddenStop
)
else
if
(
n
alarmType
==
StoreAlarmType
.
SuddenStop
)
{
{
isInSuddenDown
=
true
;
isInSuddenDown
=
true
;
LogUtil
.
error
(
Name
+
"收到急停信号,关闭刹车,停止运动,关闭轴,打开报警灯 "
);
LogUtil
.
error
(
Name
+
"收到急停信号,关闭刹车,停止运动,关闭轴,打开报警灯 "
);
...
@@ -513,7 +524,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -513,7 +524,7 @@ namespace OnlineStore.DeviceLibrary
StopMove
();
StopMove
();
storeStatus
=
StoreStatus
.
SuddenStop
;
storeStatus
=
StoreStatus
.
SuddenStop
;
}
}
else
if
(
alarmType
.
Equals
(
StoreAlarmType
.
NoAirCheck
))
else
if
(
n
alarmType
.
Equals
(
StoreAlarmType
.
NoAirCheck
))
{
{
isNoAirCheck
=
true
;
isNoAirCheck
=
true
;
LogUtil
.
error
(
Name
+
" 未检测到气压信号 ,打开刹车,停止运动,关闭轴,打开报警灯 "
);
LogUtil
.
error
(
Name
+
" 未检测到气压信号 ,打开刹车,停止运动,关闭轴,打开报警灯 "
);
...
...
source/DeviceLibrary/acSingleStore/StoreManager.cs
查看文件 @
034757b
...
@@ -126,59 +126,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -126,59 +126,6 @@ namespace OnlineStore.DeviceLibrary
#
endregion
#
endregion
//public static BoxBean InitStore()
//{
// try
// {
// BaseConfig.ProIOIpMap = new Dictionary<string, string>();
// if (!isInit)
// {
// string server = ConfigAppSettings.GetValue(Setting_Init.http_server);
// if (server.Equals(""))
// {
// IsConnectServer = false;
// }
// else
// {
// //IsConnectServer = true;
// }
// CheckEnum(typeof(StoreMoveStep));
// CheckEnum(typeof(StoreStatus));
// CheckEnum(typeof(StoreRunStatus));
// isInit = true;
// string storeType = ConfigAppSettings.GetValue(Setting_Init.Store_Type);
// LogUtil.info( "配置的料仓 类型=" + storeType + ",开始加载料仓配置");
// if (storeType == StoreType.RC_AC_SA)
// {
// string appPath = Application.StartupPath;
// string CID = ConfigAppSettings.GetValue(Setting_Init.Store_CID);
// string linefilePath = appPath + ConfigAppSettings.GetValue(Setting_Init.Store_ConfigPath);
// int storeID = ConfigAppSettings.GetIntValue(Setting_Init.Store_ID);
// BaseConfig storeConfig = CSVConfigReader.LoadConfig(storeID, CID, StoreType.RC_AC_SA, linefilePath);
// string positionConfigFile = appPath + ConfigAppSettings.GetValue(Setting_Init.Store_Position_Config);
// if (File.Exists(positionConfigFile))
// {
// LogUtil.info( "加载位置文件:" + positionConfigFile);
// CSVPositionReader<ACStorePosition>.ReloadCSVFile(positionConfigFile);
// }
// Config = (BoxConfig)storeConfig;
// Store = new BoxBean(Config);
// Store.CID = CID;
// LogUtil.info( "加载料仓完成!");
// return Store;
// }
// }
// }
// catch (Exception ex)
// {
// LogUtil.error("出错:", ex);
// MessageBox.Show(ex.ToString(), "加载配置错误(请检查配置)");
// Application.Exit();
// }
// return Store;
//}
public
static
string
GetLocationPosId
(
int
deviceID
,
int
width
)
public
static
string
GetLocationPosId
(
int
deviceID
,
int
width
)
{
{
if
(
deviceID
<=
0
)
if
(
deviceID
<=
0
)
...
@@ -367,8 +314,47 @@ namespace OnlineStore.DeviceLibrary
...
@@ -367,8 +314,47 @@ namespace OnlineStore.DeviceLibrary
return
msg
;
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
;
}
}
public
class
ResultData
return
""
;
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
" disablePos error :"
+
ex
.
ToString
());
}
return
msg
;
}
}
public
class
ResultData
{
{
//{"code":0,"msg":"ok","data":"7"}
//{"code":0,"msg":"ok","data":"7"}
public
int
code
{
get
;
set
;
}
public
int
code
{
get
;
set
;
}
...
...
source/HCSingleStore/记录.txt
查看文件 @
034757b
空出时不发送给环形线出库。
日志修改,增加box名称。
空出时不发送给环形线出库。
日志修改,增加box名称。
...
@@ -85,3 +82,8 @@
...
@@ -85,3 +82,8 @@
http://192.168.101.11/myproject/
http://192.168.101.11/myproject/
192.168.101.10
192.168.101.10
已全部更新
已全部更新
20210310
1.轴回原点时,如果原点信号持续亮5秒,报警。
2.出入库过程中,进出轴报警,禁用库位号。
\ No newline at end of file
\ No newline at end of file
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论