Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
3D-DISTLineClient
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit e85583ea
由
张东亮
编写于
2021-02-26 17:30:08 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
0226
1 个父辈
7dc4d387
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
118 行增加
和
89 行删除
source/DISTLineClient/App.config
source/DISTLineClient/FrmDISTClient.Designer.cs
source/DISTLineClient/FrmDISTClient.resx
source/DISTLineClient/dist.ico
source/DeviceLibrary/LineConfig/DISTLineConfig.csv
source/DeviceLibrary/RFIDManager.cs
source/DeviceLibrary/acDISTLine/DISTLineBean.cs
source/DeviceLibrary/agvClient/AgvClient.cs
source/DISTLineClient/App.config
查看文件 @
e85583e
...
...
@@ -8,7 +8,7 @@
<
add
key
=
"App_AutoRun"
value
=
"1"
/>
<
add
key
=
"App_Title"
value
=
"分盘线"
/>
<!--
Server
address
-->
<
add
key
=
"http.server"
value
=
"http://10.85.16
0.25
/myproject/"
/>
<
add
key
=
"http.server"
value
=
"http://10.85.16
2.124
/myproject/"
/>
<!--
storeType
-->
<
add
key
=
"store_count"
value
=
"1"
/>
<!--
start
one
store
config
-->
...
...
@@ -21,7 +21,7 @@
<!--
AGV
调度服务器地址-->
<
add
key
=
"AgvServerIp"
value
=
"10.85.162.40"
/>
<!--是否调试状态-->
<
add
key
=
"IsInDebug"
value
=
"
1
"
/>
<
add
key
=
"IsInDebug"
value
=
"
0
"
/>
<
add
key
=
"Agv_Log_Open"
value
=
"1"
/>
</
appSettings
>
<
log4net
>
...
...
source/DISTLineClient/FrmDISTClient.Designer.cs
查看文件 @
e85583e
...
...
@@ -485,6 +485,7 @@
//
// lblWarnMsg
//
this
.
lblWarnMsg
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)));
this
.
lblWarnMsg
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
lblWarnMsg
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
lblWarnMsg
.
Location
=
new
System
.
Drawing
.
Point
(
267
,
66
);
...
...
@@ -495,7 +496,8 @@
//
// panel1
//
this
.
panel1
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)(((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)
this
.
panel1
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Right
)));
this
.
panel1
.
Controls
.
Add
(
this
.
chbMoveStop
);
this
.
panel1
.
Controls
.
Add
(
this
.
lblInfo
);
...
...
@@ -525,7 +527,7 @@
// lblInfo
//
this
.
lblInfo
.
AutoSize
=
true
;
this
.
lblInfo
.
Location
=
new
System
.
Drawing
.
Point
(
277
,
5
);
this
.
lblInfo
.
Location
=
new
System
.
Drawing
.
Point
(
277
,
3
);
this
.
lblInfo
.
Name
=
"lblInfo"
;
this
.
lblInfo
.
Size
=
new
System
.
Drawing
.
Size
(
56
,
17
);
this
.
lblInfo
.
TabIndex
=
273
;
...
...
source/DISTLineClient/FrmDISTClient.resx
查看文件 @
e85583e
此文件的差异被折叠,
点击展开。
source/DISTLineClient/dist.ico
查看文件 @
e85583e
此文件类型无法预览
source/DeviceLibrary/LineConfig/DISTLineConfig.csv
查看文件 @
e85583e
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
PRO,IO模块对应的DI数量,IO_DILength,10.85.197.
124
#8,,,,,,,
PRO,模块对应的DO数量,IO_DOLength,10.85.197.
124
#8,,,,,,,
PRO,IO模块对应的DI数量,IO_DILength,10.85.197.
5
#8,,,,,,,
PRO,模块对应的DO数量,IO_DOLength,10.85.197.
5
#8,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_1,10.85.197.4,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_2,10.85.197.
124
,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_2,10.85.197.
5
,,,,,,,
,,,,,,,,,,
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,DI-01,0,
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,DI-02,0,
...
...
source/DeviceLibrary/RFIDManager.cs
查看文件 @
e85583e
...
...
@@ -31,7 +31,7 @@ namespace OnlineStore.DeviceLibrary
{
read
=
new
ReadAll
(
"TheRFID"
);
read
.
Received
+=
Read_Received
;
read
.
Start
(
1300
1
);
read
.
Start
(
1300
2
);
IsOpen
=
true
;
}
catch
(
Exception
ex
)
...
...
source/DeviceLibrary/acDISTLine/DISTLineBean.cs
查看文件 @
e85583e
...
...
@@ -113,6 +113,7 @@ namespace OnlineStore.DeviceLibrary
IOManager
.
IOMove
(
IO_Type
.
L3_Traverse_Down_SOL
,
IO_VALUE
.
HIGH
);
AgvClient
.
SetStatus
(
Config
.
L2_AgvName
);
AgvClient
.
SetStatus
(
Config
.
L1_AgvName
);
AgvClient
.
SetStatus
(
Config
.
L3_AgvName
);
mainTimer
.
Enabled
=
true
;
serverConnectTimer
.
Enabled
=
true
;
}
...
...
@@ -244,7 +245,7 @@ namespace OnlineStore.DeviceLibrary
InProcess
=
true
;
stopwatch
.
Restart
();
IoCheckProcess
();
LedProcess
();
if
(
runStatus
>=
RunStatus
.
HomeMoving
)
{
try
...
...
@@ -381,7 +382,7 @@ namespace OnlineStore.DeviceLibrary
//StopIOMove(IO_Type.InL_OutStopDown, StopDownMS);
LogUtil
.
info
(
" 出料线体出口有料架"
+
LastOutShelfId
+
",呼叫agv小车["
+
Config
.
L2_AgvName
+
"] [NeedLeave] "
);
AgvClient
.
NeedLeave
(
Config
.
L2_AgvName
,
LastOutShelfId
);
AgvClient
.
NeedLeave
(
Config
.
L2_AgvName
,
"B#"
);
}
}
}
...
...
@@ -417,7 +418,7 @@ namespace OnlineStore.DeviceLibrary
//StopIOMove(IO_Type.InL_OutStopDown, StopDownMS);
LogUtil
.
info
(
" 空料串线体出口有料架"
+
LastOutShelfId
+
",呼叫agv小车["
+
Config
.
L3_AgvName
+
"] [NeedLeave] "
);
AgvClient
.
NeedLeave
(
Config
.
L3_AgvName
,
LastOutShelfId
);
AgvClient
.
NeedLeave
(
Config
.
L3_AgvName
,
"B#"
);
}
}
}
...
...
@@ -442,41 +443,37 @@ namespace OnlineStore.DeviceLibrary
}
}
//private void LedProcess()
//{
// try
// {
// if (runStatus >= RunStatus.HomeMoving)
// {
// if (alarmType.Equals(AlarmType.None).Equals(false) && IOManager.IOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW))
// {
// IOManager.IOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH);
// }
// else if (IOManager.IOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW))
// {
// IOManager.IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
// }
// if (alarmType.Equals(AlarmType.None))
// {
// if (IOManager.IOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW))
// {
// IOManager.IOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH);
// }
// else
// {
// IOManager.IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
// }
// }
// }
// }
// catch (Exception ex)
// {
// LogUtil.error(Name + "灯处理定时器出错:", ex);
// }
//}
//private IO_VALUE LastResetValue = IO_VALUE.LOW;
private
void
LedProcess
()
{
try
{
if
(
runStatus
>=
RunStatus
.
HomeMoving
)
{
if
(
alarmType
.
Equals
(
AlarmType
.
None
).
Equals
(
false
)
&&
IOManager
.
IOValue
(
IO_Type
.
Run_Status_Light
).
Equals
(
IO_VALUE
.
LOW
))
{
IOManager
.
IOMove
(
IO_Type
.
Run_Status_Light
,
IO_VALUE
.
HIGH
);
}
else
if
(
alarmType
.
Equals
(
AlarmType
.
None
).
Equals
(
false
)
&&
IOManager
.
IOValue
(
IO_Type
.
Run_Status_Light
).
Equals
(
IO_VALUE
.
HIGH
))
{
IOManager
.
IOMove
(
IO_Type
.
Run_Status_Light
,
IO_VALUE
.
LOW
);
}
if
(
alarmType
.
Equals
(
AlarmType
.
None
))
{
if
(
IOManager
.
IOValue
(
IO_Type
.
Run_Status_Light
).
Equals
(
IO_VALUE
.
LOW
))
{
IOManager
.
IOMove
(
IO_Type
.
Run_Status_Light
,
IO_VALUE
.
HIGH
);
}
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
Name
+
"灯处理定时器出错:"
,
ex
);
}
}
private
IO_VALUE
LastResetValue
=
IO_VALUE
.
LOW
;
public
DeviceLibrary
.
bean
.
RunStepInfo
tranverseStep
=
new
bean
.
RunStepInfo
();
public
void
TranverseProcess
()
...
...
@@ -498,28 +495,28 @@ namespace OnlineStore.DeviceLibrary
{
DateTime
time
=
DateTime
.
Now
;
//
if (runStatus.Equals(RunStatus.Wait))
//
{
//
//获取新的Io状态
//
IO_VALUE autoSingle = IOManager.IOValue(IO_Type.Reset_BTN);
//
if (ConfigAppSettings.GetIntValue(Setting_Init.App_AutoRun).Equals(1))
//
{
//
if (autoSingle.Equals(IO_VALUE.HIGH) && LastResetValue.Equals(IO_VALUE.LOW))
//
{
//
//没有启动时收到复位按钮,相当于启动按钮
//
LogUtil.info(Name + "没有启动时收到复位按钮,相当于启动按钮,开始调用启动方法!");
//
bool result = StartRun();
//
if (result.Equals(false))
//
{
//
LogUtil.error("分盘流水线启动失败,继续等待下次启动!");
//
mainTimer.Enabled = true;
//
}
//
}
//
LastResetValue = autoSingle;
//
return;
//
}
//
LastResetValue = autoSingle;
//
}
if
(
runStatus
.
Equals
(
RunStatus
.
Wait
))
{
//获取新的Io状态
IO_VALUE
autoSingle
=
IOManager
.
IOValue
(
IO_Type
.
Reset_BTN
);
if
(
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
App_AutoRun
).
Equals
(
1
))
{
if
(
autoSingle
.
Equals
(
IO_VALUE
.
HIGH
)
&&
LastResetValue
.
Equals
(
IO_VALUE
.
LOW
))
{
//没有启动时收到复位按钮,相当于启动按钮
LogUtil
.
info
(
Name
+
"没有启动时收到复位按钮,相当于启动按钮,开始调用启动方法!"
);
bool
result
=
StartRun
();
if
(
result
.
Equals
(
false
))
{
LogUtil
.
error
(
"分盘流水线启动失败,继续等待下次启动!"
);
mainTimer
.
Enabled
=
true
;
}
}
LastResetValue
=
autoSingle
;
return
;
}
LastResetValue
=
autoSingle
;
}
//判断急停
if
(
runStatus
>=
RunStatus
.
HomeMoving
)
{
//判断急停
...
...
@@ -533,27 +530,27 @@ namespace OnlineStore.DeviceLibrary
Alarm
(
AlarmType
.
SuddenStop
);
}
}
//
else if (IOManager.IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.HIGH) && IOManager.IOValue(IO_Type.Reset_BTN).Equals(IO_VALUE.HIGH))
//
{
//
//收到复位信号,若报警直接复位,若不报警且无操作,回到待机点
//
if (alarmType.Equals(AlarmType.None) && isInSuddenDown.Equals(false))
//
{
//
if (MoveInfo.MoveType.Equals(LineMoveType.None))
//
{
// LogUtil.info("收到复位信号,当前无报警,暂不复位");
//
}
//
else
//
{
//
LogUtil.info("收到复位信号,当前无报警, 在" + MoveInfo.MoveType + "处理中,暂不复位");
//
}
//
}
//
else
//
{
//
//收到复位信号
//
LogUtil.info("收到复位信号,自动复位");
//
Reset();
//
}
//
}
else
if
(
IOManager
.
IOValue
(
IO_Type
.
SuddenStop_BTN
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOManager
.
IOValue
(
IO_Type
.
Reset_BTN
).
Equals
(
IO_VALUE
.
HIGH
))
{
//收到复位信号,若报警直接复位,若不报警且无操作,回到待机点
if
(
alarmType
.
Equals
(
AlarmType
.
None
)
&&
isInSuddenDown
.
Equals
(
false
))
{
if
(
MoveInfo
.
MoveType
.
Equals
(
LineMoveType
.
None
))
{
LogUtil
.
info
(
"收到复位信号,当前无报警,暂不复位"
);
}
else
{
LogUtil
.
info
(
"收到复位信号,当前无报警, 在"
+
MoveInfo
.
MoveType
+
"处理中,暂不复位"
);
}
}
else
{
//收到复位信号
LogUtil
.
info
(
"收到复位信号,自动复位"
);
Reset
();
}
}
}
}
...
...
source/DeviceLibrary/agvClient/AgvClient.cs
查看文件 @
e85583e
...
...
@@ -155,6 +155,36 @@ namespace OnlineStore.DeviceLibrary
SetStatus
(
id
,
""
,
ClientAction
.
None
,
ClientLevel
.
High
);
}
}
else
if
(
id
.
Equals
(
LineManager
.
Config
.
L3_AgvName
))
{
string
shefId
=
LineManager
.
DISTLine
.
LastOutShelfId
;
if
(
IOManager
.
IOValue
(
IO_Type
.
L3_OutCheck
).
Equals
(
IO_VALUE
.
HIGH
))
{
LineManager
.
DISTLine
.
UpdateSleep
(
false
);
LineManager
.
DISTLine
.
StopIOMove
(
IO_Type
.
L3_OutStopDown
,
1500
);
//agvClient.MayLeave(id);
SetStatus
(
id
,
shefId
,
ClientAction
.
MayLeave
);
LogUtil
.
info
(
logName
+
"下降 L3_OutStopDown , "
+
shefId
);
Task
.
Factory
.
StartNew
(
delegate
{
//两秒后改为离开状态
Thread
.
Sleep
(
5000
);
LogUtil
.
info
(
logName
+
" ,调用 FinishLeave "
+
shefId
);
SetStatus
(
id
,
shefId
,
ClientAction
.
FinishLeave
);
Thread
.
Sleep
(
5000
);
LogUtil
.
info
(
logName
+
" ,处理结束 更新状态为None "
);
SetStatus
(
id
,
""
,
ClientAction
.
None
);
});
}
else
{
LogUtil
.
error
(
logName
+
" L3_OutCheck 未检测到料架,无法将料架进入AGV"
);
SetStatus
(
id
,
""
,
ClientAction
.
None
,
ClientLevel
.
High
);
}
}
}
private
static
void
AgvClient_Arrive
(
string
id
,
string
rfid
)
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论