Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
3D-FeederLineClient
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 6edd37af
由
张东亮
编写于
2021-03-03 11:05:31 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
0303
1 个父辈
997c6ca3
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
140 行增加
和
141 行删除
source/DeviceLibrary/LineConfig/FeederLineConfig.csv
source/DeviceLibrary/acFeederLine/FeederLineBean.cs
source/LoadCVSLibrary/Config/bean/IO_Type.cs
source/DeviceLibrary/LineConfig/FeederLineConfig.csv
查看文件 @
6edd37a
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
PRO,IO模块对应的DI数量,IO_DILength,10.85.197.12
1
#16,,,,,,,
PRO,模块对应的DO数量,IO_DOLength,10.85.197.12
1
#16,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_1,10.85.197.12
1
,,,,,,,
PRO,IO模块对应的DI数量,IO_DILength,10.85.197.12
7
#16,,,,,,,
PRO,模块对应的DO数量,IO_DOLength,10.85.197.12
7
#16,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_1,10.85.197.12
7
,,,,,,,
,,,,,,,,,,
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X
2
1,DI-01,0,
DI,进料线体入口检测,L1_InCheck,1,PRO_AOI_IP_1,0,进料线体入口检测,X
2
2,DI-02,0,
DI,进料线体阻挡检测,L1_StopCheck,2,PRO_AOI_IP_1,0,进料线体阻挡检测,X
2
3,DI-03,0,
DI,进料线体出口检测,L1_OutCheck,3,PRO_AOI_IP_1,0,进料线体出口检测,X
2
4,DI-04,0,
DI,出料线体入口检测,L2_InCheck,4,PRO_AOI_IP_1,0,出料线体入口检测,X
2
5,DI-05,0,
DI,出料线体阻挡检测,L2_StopCheck,5,PRO_AOI_IP_1,0,出料线体阻挡检测,X
2
6,DI-06,0,
DI,出料线体出口检测,L2_OutCheck,6,PRO_AOI_IP_1,0,出料线体出口检测,X
2
7,DI-07,0,
DI,进料线体人工取料信号,L1_ManualRecSig,7,PRO_AOI_IP_1,0,进料线体人工取料信号,X
2
8,DI-08,0,
DI,进料线体横移上升端,L1_Updown_Up_Sig,8,PRO_AOI_IP_1,0,进料线体横移上升端,X
2
9,DI-09,0,
DI,进料线体横移下降端,L1_Updown_Down_Sig,9,PRO_AOI_IP_1,0,进料线体横移下降端,X
3
0,DI-10,0,
DI,出料线体横移上升端,L2_Updown_Up_Sig,10,PRO_AOI_IP_1,0,出料线体横移上升端,X
3
1,DI-11,0,
DI,出料线体横移下降端,L2_Updown_Down_Sig,11,PRO_AOI_IP_1,0,出料线体横移下降端,X
3
2,DI-12,0,
DI,复位,Reset_BTN,12,PRO_AOI_IP_1,0,复位,X
3
3,DI-13,0,
,,,13,PRO_AOI_IP_1,0,,X
77
4,DI-14,0,
,,,14,PRO_AOI_IP_1,0,,X
77
5,DI-15,0,
,,,15,PRO_AOI_IP_1,0,,X
77
6,DI-16,0,
DO,进料线体驱动电机运转,L1_Run,0,PRO_AOI_IP_1,0,进料线体驱动电机运转,Y
2
1,DO-01,0,
DO,出料线体驱动电机运转,L2_Run,1,PRO_AOI_IP_1,0,出料线体驱动电机运转,Y
2
2,DO-02,0,
DO,进料线体阻挡下降,L1_StopDown,2,PRO_AOI_IP_1,0,进料线体阻挡下降,Y
2
3,DO-03,0,
DO,进料线体出口缓冲器,L1_OutStopDown,3,PRO_AOI_IP_1,0,进料线体出口缓冲器,Y
2
4,DO-04,0,
DO,出料线体阻挡下降,L2_StopDown,4,PRO_AOI_IP_1,0,出料线体阻挡下降,Y
2
5,DO-05,0,
DO,出料线体出口阻挡下降,L2_OutStopDown,5,PRO_AOI_IP_1,0,出料线体出口阻挡下降,Y
2
6,DO-06,0,
DO,横移机构电机运转,Tranverse_Run,6,PRO_AOI_IP_1,0,横移机构电机运转,Y
27,DO-09
,0,
DO,横移机构上升SOL,Tranverse_Up_SOL,7,PRO_AOI_IP_1,0,横移机构上升SOL,Y
28,DO-07
,0,
DO,横移机构下降SOL,Tranverse_Down_SOL,8,PRO_AOI_IP_1,0,横移机构下降SOL,Y
29,DO-08
,0,
DO,线体运行状态灯,Run_Status_Light,9,PRO_AOI_IP_1,0,线体运行状态灯,Y
3
0,DO-10,0,
,,,10,PRO_AOI_IP_1,0,,Y
3
1,DO-11,0,
,,,11,PRO_AOI_IP_1,0,,Y
3
2,DO-12,0,
,,,12,PRO_AOI_IP_1,0,,Y
3
3,DO-13,0,
,,,13,PRO_AOI_IP_1,0,,Y
3
4,DO-14,0,
,,,14,PRO_AOI_IP_1,0,,Y
3
5,DO-15,0,
,,,15,PRO_AOI_IP_1,0,,Y
3
6,DO-16,0,
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X
0
1,DI-01,0,
DI,进料线体入口检测,L1_InCheck,1,PRO_AOI_IP_1,0,进料线体入口检测,X
0
2,DI-02,0,
DI,进料线体阻挡检测,L1_StopCheck,2,PRO_AOI_IP_1,0,进料线体阻挡检测,X
0
3,DI-03,0,
DI,进料线体出口检测,L1_OutCheck,3,PRO_AOI_IP_1,0,进料线体出口检测,X
0
4,DI-04,0,
DI,出料线体入口检测,L2_InCheck,4,PRO_AOI_IP_1,0,出料线体入口检测,X
0
5,DI-05,0,
DI,出料线体阻挡检测,L2_StopCheck,5,PRO_AOI_IP_1,0,出料线体阻挡检测,X
0
6,DI-06,0,
DI,出料线体出口检测,L2_OutCheck,6,PRO_AOI_IP_1,0,出料线体出口检测,X
0
7,DI-07,0,
DI,进料线体人工取料信号,L1_ManualRecSig,7,PRO_AOI_IP_1,0,进料线体人工取料信号,X
0
8,DI-08,0,
DI,进料线体横移上升端,L1_Updown_Up_Sig,8,PRO_AOI_IP_1,0,进料线体横移上升端,X
0
9,DI-09,0,
DI,进料线体横移下降端,L1_Updown_Down_Sig,9,PRO_AOI_IP_1,0,进料线体横移下降端,X
1
0,DI-10,0,
DI,出料线体横移上升端,L2_Updown_Up_Sig,10,PRO_AOI_IP_1,0,出料线体横移上升端,X
1
1,DI-11,0,
DI,出料线体横移下降端,L2_Updown_Down_Sig,11,PRO_AOI_IP_1,0,出料线体横移下降端,X
1
2,DI-12,0,
DI,复位,Reset_BTN,12,PRO_AOI_IP_1,0,复位,X
1
3,DI-13,0,
,,,13,PRO_AOI_IP_1,0,,X
1
4,DI-14,0,
,,,14,PRO_AOI_IP_1,0,,X
1
5,DI-15,0,
,,,15,PRO_AOI_IP_1,0,,X
1
6,DI-16,0,
DO,进料线体驱动电机运转,L1_Run,0,PRO_AOI_IP_1,0,进料线体驱动电机运转,Y
0
1,DO-01,0,
DO,出料线体驱动电机运转,L2_Run,1,PRO_AOI_IP_1,0,出料线体驱动电机运转,Y
0
2,DO-02,0,
DO,进料线体阻挡下降,L1_StopDown,2,PRO_AOI_IP_1,0,进料线体阻挡下降,Y
0
3,DO-03,0,
DO,进料线体出口缓冲器,L1_OutStopDown,3,PRO_AOI_IP_1,0,进料线体出口缓冲器,Y
0
4,DO-04,0,
DO,出料线体阻挡下降,L2_StopDown,4,PRO_AOI_IP_1,0,出料线体阻挡下降,Y
0
5,DO-05,0,
DO,出料线体出口阻挡下降,L2_OutStopDown,5,PRO_AOI_IP_1,0,出料线体出口阻挡下降,Y
0
6,DO-06,0,
DO,横移机构电机运转,Tranverse_Run,6,PRO_AOI_IP_1,0,横移机构电机运转,Y
07,DO-07
,0,
DO,横移机构上升SOL,Tranverse_Up_SOL,7,PRO_AOI_IP_1,0,横移机构上升SOL,Y
08,DO-08
,0,
DO,横移机构下降SOL,Tranverse_Down_SOL,8,PRO_AOI_IP_1,0,横移机构下降SOL,Y
09,DO-09
,0,
DO,线体运行状态灯,Run_Status_Light,9,PRO_AOI_IP_1,0,线体运行状态灯,Y
1
0,DO-10,0,
,,,10,PRO_AOI_IP_1,0,,Y
1
1,DO-11,0,
,,,11,PRO_AOI_IP_1,0,,Y
1
2,DO-12,0,
,,,12,PRO_AOI_IP_1,0,,Y
1
3,DO-13,0,
,,,13,PRO_AOI_IP_1,0,,Y
1
4,DO-14,0,
,,,14,PRO_AOI_IP_1,0,,Y
1
5,DO-15,0,
,,,15,PRO_AOI_IP_1,0,,Y
1
6,DO-16,0,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,进料线体线AGV节点名称,L1_AgvName,D21,,,,,,,
PRO,出料线体线AGV节点名称,L2_AgvName,D22,,,,,,,
PRO,Feeder线出口RFIDIP,L2Out_RFIDIP,10.85.19
55.2
,,,,,, ,
PRO,Feeder线出口RFIDIP,L2Out_RFIDIP,10.85.19
7.129
,,,,,, ,
PRO,休眠秒数(秒),SleepSeconds,30,,,,,,,
source/DeviceLibrary/acFeederLine/FeederLineBean.cs
查看文件 @
6edd37a
...
...
@@ -221,8 +221,8 @@ namespace OnlineStore.DeviceLibrary
{
InProcess
=
true
;
stopwatch
.
Restart
();
//
IoCheckProcess();
IoCheckProcess
();
LedProcess
();
if
(
runStatus
>=
RunStatus
.
HomeMoving
)
{
try
...
...
@@ -436,101 +436,97 @@ 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
void
IoCheckProcess
()
{
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("Feeder流水线启动失败,继续等待下次启动!");
//
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
(
"Feeder流水线启动失败,继续等待下次启动!"
);
mainTimer
.
Enabled
=
true
;
}
}
LastResetValue
=
autoSingle
;
return
;
}
LastResetValue
=
autoSingle
;
}
//判断急停
//
if (runStatus >= RunStatus.HomeMoving)
//
{ //判断急停
// //
if (IOManager.IOValue(IO_Type.SuddenStop_BTN).Equals(IO_VALUE.LOW))
// //
{
// //
if (isInSuddenDown.Equals(false))
// //
{
// //
isInSuddenDown = true;
// //
SetWarnMsg("收到急停信号,报警急停");
// //
//报警时会关闭所有轴
// //
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();
// //
}
// //
}
//
}
if
(
runStatus
>=
RunStatus
.
HomeMoving
)
{
//判断急停
if
(
IOManager
.
IOValue
(
IO_Type
.
SuddenStop_BTN
).
Equals
(
IO_VALUE
.
LOW
))
{
if
(
isInSuddenDown
.
Equals
(
false
))
{
isInSuddenDown
=
true
;
SetWarnMsg
(
"收到急停信号,报警急停"
);
//报警时会关闭所有轴
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
();
}
}
}
}
private
DateTime
preIoTimerOutTime
=
DateTime
.
Now
;
...
...
source/LoadCVSLibrary/Config/bean/IO_Type.cs
查看文件 @
6edd37a
...
...
@@ -80,42 +80,45 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary>
public
static
string
Reset_BTN
=
"Reset_BTN"
;
/// DO,
Feeder1线驱动电机运转,L1_Run,0,PRO_AOI_IP_1,0,Feeder1线驱动电机运转,Y76
1,DO-01,0,
/// DO,
进料线体驱动电机运转,L1_Run,0,PRO_AOI_IP_1,0,进料线体驱动电机运转,Y2
1,DO-01,0,
/// </summary>
public
static
string
L1_Run
=
"L1_Run"
;
/// <summary>
/// DO,
Feeder2线驱动电机运转,L2_Run,1,PRO_AOI_IP_1,0,Feeder2线驱动电机运转,Y762,DI
-02,0,
/// DO,
出料线体驱动电机运转,L2_Run,1,PRO_AOI_IP_1,0,出料线体驱动电机运转,Y22,DO
-02,0,
/// </summary>
public
static
string
L2_Run
=
"L2_Run"
;
/// <summary>
/// DO,
Feeder1线阻挡1下降,L1_StopDown,2,PRO_AOI_IP_1,0,Feeder1线阻挡1下降,Y763,DI
-03,0,
/// DO,
进料线体阻挡下降,L1_StopDown,2,PRO_AOI_IP_1,0,进料线体阻挡下降,Y23,DO
-03,0,
/// </summary>
public
static
string
L1_StopDown
=
"L1_StopDown"
;
/// <summary>
///
DO,Feeder1线出口阻挡下降,L1_OutStopDown,3,PRO_AOI_IP_1,0,Feeder1线出口阻挡下降,Y764,DI
-04,0,
///
DO,进料线体出口缓冲器,L1_OutStopDown,3,PRO_AOI_IP_1,0,进料线体出口缓冲器,Y24,DO
-04,0,
/// </summary>
public
static
string
L1_OutStopDown
=
"L1_OutStopDown"
;
/// <summary>
/// DO,Feeder2线出口阻挡下降,L2_OutStopDown,4,PRO_AOI_IP_1,0,Feeder2线出口阻挡下降,Y765,DO-05,0,
/// DO,出料线体阻挡下降,L2_StopDown,4,PRO_AOI_IP_1,0,出料线体阻挡下降,Y25,DO-05,0,
/// </summary>
public
static
string
L2_StopDown
=
"L2_StopDown"
;
/// <summary>
///DO,出料线体出口阻挡下降,L2_OutStopDown,5,PRO_AOI_IP_1,0,出料线体出口阻挡下降,Y26,DO-06,0,
/// </summary>
public
static
string
L2_OutStopDown
=
"L2_OutStopDown"
;
/// <summary>
/// DO,
Feeder2线阻挡1下降,L2_StopDown,5,PRO_AOI_IP_1,0,Feeder2线阻挡1下降,Y766,DO-06
,0,
/// DO,
横移机构电机运转,Tranverse_Run,6,PRO_AOI_IP_1,0,横移机构电机运转,Y27,DO-07
,0,
/// </summary>
public
static
string
L2_StopDown
=
"L2_StopDown"
;
public
static
string
Tranverse_Run
=
"Tranverse_Run"
;
/// <summary>
/// DO,
Feeder线横移机构上升SOL,Tranverse_Up_SOL,6,PRO_AOI_IP_1,0,Feeder线横移机构上升SOL,Y767,DO-07
,0,
/// DO,
横移机构上升SOL,Tranverse_Up_SOL,7,PRO_AOI_IP_1,0,横移机构上升SOL,Y28,DO-08
,0,
/// </summary>
public
static
string
Tranverse_Up_SOL
=
"Tranverse_Up_SOL"
;
/// <summary>
///
DO,Feeder线横移机构下降SOL,Tranverse_Down_SOL,7,PRO_AOI_IP_1,0,Feeder线横移机构下降SOL,Y768,DO-08
,0,
///
DO,横移机构下降SOL,Tranverse_Down_SOL,8,PRO_AOI_IP_1,0,横移机构下降SOL,Y29,DO-09
,0,
/// </summary>
public
static
string
Tranverse_Down_SOL
=
"Tranverse_Down_SOL"
;
/// <summary>
///
DO,Feeder线横移电机运转,Tranverse_Run,8,PRO_AOI_IP_1,0,Feeder线横移电机运转,Y769,DO-09
,0,
///
DO,线体运行状态灯,Run_Status_Light,9,PRO_AOI_IP_1,0,线体运行状态灯,Y30,DO-10
,0,
/// </summary>
public
static
string
Tranverse_Run
=
"Tranverse_Run
"
;
public
static
string
Run_Status_Light
=
"Run_Status_Light
"
;
}
public
enum
IO_VALUE
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论