Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-VMILineClient
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 75a7ebc3
由
张东亮
编写于
2020-11-17 16:57:43 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
VMI横移
1 个父辈
8bde1d13
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
267 行增加
和
130 行删除
source/DeviceLibrary/LineConfig/VMILineConfig.csv
source/DeviceLibrary/acVmiLine/VMILineBean.cs
source/DeviceLibrary/acVmiLine/VMILineBean_Partial.cs
source/DeviceLibrary/agvClient/AgvClient.cs
source/LoadCVSLibrary/Config/bean/IO_Type.cs
source/LoadCVSLibrary/Config/bean/VMLLineConfig.cs
source/VMILineClient/FrmVMIClient.Designer.cs
source/VMILineClient/FrmVMIClient.cs
source/DeviceLibrary/LineConfig/VMILineConfig.csv
查看文件 @
75a7ebc
...
...
@@ -5,39 +5,39 @@ PRO,IO模块IP,PRO_AOI_IP_1,192.168.103.25,,,,,,,
,,,,,,,,,,
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X721,DI-01,0,
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X722,DI-02,0,
DI,
进料线入口阻挡检测,InL_InStopCheck,2,PRO_AOI_IP_1,0,进料线入口阻挡
检测,X723,DI-03,0,
DI,
进料线中间位检测,InL_MIddleCheck,3,PRO_AOI_IP_1,0,进料线出口阻挡检测
,X724,DI-04,0,
,,,4,PRO_AOI_IP_1,0,
,X725,DI-05,0,
DI,
进料线出口阻挡检测,InL_OutStopCheck,5,PRO_AOI_IP_1,0,进
料线出口检测,X726,DI-06,0,
DI,
出料线入口检测,OutL_InCheck,6,PRO_AOI_IP_1,0,出
料线入口检测,X727,DI-07,0,
DI,
出料线入口阻挡检测,OutL_InStopCheck,7,PRO_AOI_IP_1,0,出料线入口
阻挡检测,X728,DI-08,0,
,,,8,PRO_AOI_IP_1,0,
,X729,DO-01,0,
DI,
出料线出口阻挡检测,OutL_OutStopCheck,9,PRO_AOI_IP_1,0,出料线出口阻挡
检测,X730,DO-02,0,
,出料线人工取料信号,
,10,PRO_AOI_IP_1,0,出料线人工取料信号,X731,DO-03,0,
,,,11,PRO_AOI_IP_1,0,
,X732,DO-04,0,
,,,12,PRO_AOI_IP_1,0,
,X733,DO-05,0,
,,,13,PRO_AOI_IP_1,0,
,X734,DO-06,0,
,,,14,PRO_AOI_IP_1,0,
,X735,DO-07,0,
,,,15,PRO_AOI_IP_1,0,
,X736,DO-08,0,
DI,
出料线入口检测,L2_InCheck,2,PRO_AOI_IP_1,0,出料线入口
检测,X723,DI-03,0,
DI,
出料线检测1,L2_StopCheck1,3,PRO_AOI_IP_1,0,出料线检测1
,X724,DI-04,0,
DI,料串切换气缸前进端,Switch_Forward_Sig,4,PRO_AOI_IP_1,0,料串切换气缸前进端
,X725,DI-05,0,
DI,
出料线出口检测,L2_OutCheck,5,PRO_AOI_IP_1,0,出
料线出口检测,X726,DI-06,0,
DI,
入料线入口检测,L1_InCheck,6,PRO_AOI_IP_1,0,入
料线入口检测,X727,DI-07,0,
DI,
入料线阻挡检测,L1_StopCheck,7,PRO_AOI_IP_1,0,入料线
阻挡检测,X728,DI-08,0,
DI,料串切换气缸后退端,Switch_Back_Sig,8,PRO_AOI_IP_1,0,料串切换气缸后退端
,X729,DO-01,0,
DI,
入料线出口检测,L1_OutCheck,9,PRO_AOI_IP_1,0,入料线出口
检测,X730,DO-02,0,
DI,出料线人工取料信号,L1_ManualRecSig
,10,PRO_AOI_IP_1,0,出料线人工取料信号,X731,DO-03,0,
DI,进料线体横移上升端,L1_UpDown_Up_Sig,11,PRO_AOI_IP_1,0,进料线体横移上升端
,X732,DO-04,0,
DI,进料线体横移下降端,L1_UpDown_Down_Sig,12,PRO_AOI_IP_1,0,进料线体横移下降端
,X733,DO-05,0,
DI,出料线体横移上升端,L2_UpDown_Up_Sig,13,PRO_AOI_IP_1,0,出料线体横移上升端
,X734,DO-06,0,
DI,出料线体横移下降端,L2_UpDown_Down_Sig,14,PRO_AOI_IP_1,0,出料线体横移下降端
,X735,DO-07,0,
DI,包装料架检测信号,PackingShelf_Sig,15,PRO_AOI_IP_1,0,包装料架检测信号
,X736,DO-08,0,
DO,运行状态(指示灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,运行状态(指示灯),Y721,DI-01,0,
DO,故障状态(指示灯),Alarm_HddLed,1,PRO_AOI_IP_1,0,故障状态(指示灯),Y722,DI-02,0,
DO,进料线驱动电机运转,
InL
_Run,2,PRO_AOI_IP_1,0,进料线驱动电机运转,Y723,DI-03,0,
DO,出料线驱动电机运转,
OutL
_Run,3,PRO_AOI_IP_1,0,出料线驱动电机运转,Y724,DI-04,0,
DO,
出料线入口阻挡,OutL_InStopDown,4,PRO_AOI_IP_1,0,出料线入口阻挡
,Y725,DI-05,0,
,
,,5,PRO_AOI_IP_1,0,
,Y726,DI-06,0,
DO,
出料线出口阻挡,OutL_OutStopDown,6,PRO_AOI_IP_1,0,出料线出口阻挡
,Y727,DI-07,0,
DO,
进料线出口阻挡,InL_OutStopDown,7,PRO_AOI_IP_1,0,进料线出口阻挡
,Y728,DI-08,0,
,
,,8,PRO_AOI_IP_1,0,
,Y729,DO-01,0,
DO,
进料线入口阻挡,InL_InStopDown,9,PRO_AOI_IP_1,0,进料线入口阻挡
,Y730,DO-02,0,
,,,10,PRO_AOI_IP_1,0,
,Y731,DO-03,0,
,,,11,PRO_AOI_IP_1,0,
,Y732,DO-04,0,
,,,12,PRO_AOI_IP_1,0,
,Y733,DO-05,0,
,,,13,PRO_AOI_IP_1,0,
,Y734,DO-06,0,
,,,14,PRO_AOI_IP_1,0,
,Y735,DO-07,0,
,,,15,PRO_AOI_IP_1,0,
,Y736,DO-08,0,
DO,进料线驱动电机运转,
L1
_Run,2,PRO_AOI_IP_1,0,进料线驱动电机运转,Y723,DI-03,0,
DO,出料线驱动电机运转,
L2
_Run,3,PRO_AOI_IP_1,0,出料线驱动电机运转,Y724,DI-04,0,
DO,
进料线阻挡下降,L1_StopDown,4,PRO_AOI_IP_1,0,进料线阻挡下降
,Y725,DI-05,0,
,
进料线阻挡2下降,L1_StopDown2,5,PRO_AOI_IP_1,0,进料线阻挡2下降
,Y726,DI-06,0,
DO,
进料线出口阻挡下降,L1_OutStopDown,6,PRO_AOI_IP_1,0,进料线出口阻挡下降
,Y727,DI-07,0,
DO,
出料线出口阻挡下降,L2_OutStopDown,7,PRO_AOI_IP_1,0,出料线阻挡1下降
,Y728,DI-08,0,
,
出料线阻挡2下降,L2_StopDown2,8,PRO_AOI_IP_1,0,出料线阻挡2下降
,Y729,DO-01,0,
DO,
出料线阻挡下降,L2_StopDown,9,PRO_AOI_IP_1,0,出料线阻挡下降
,Y730,DO-02,0,
DO,横移机构上升SOL,Traverse_Up_SOL,10,PRO_AOI_IP_1,0,横移机构上升SOL
,Y731,DO-03,0,
DO,横移机构下降SOL,Traverse_Down_SOL,11,PRO_AOI_IP_1,0,横移机构下降SOL
,Y732,DO-04,0,
DO,横移电机1运转,Traverse1_Run,12,PRO_AOI_IP_1,0,横移电机1运转
,Y733,DO-05,0,
DO,横移电机2运转,Traverse2_Run,13,PRO_AOI_IP_1,0,横移电机2运转
,Y734,DO-06,0,
DO,料串切换气缸前进,Switch_Forward,14,PRO_AOI_IP_1,0,料串切换气缸前进
,Y735,DO-07,0,
DO,料串切换气缸后退,Switch_Back,15,PRO_AOI_IP_1,0,料串切换气缸后退
,Y736,DO-08,0,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,
出空料架流水线AGV节点名称,OutL
_AgvName,A2,,,,,,,
PRO,
入料架流水线AGV节点名称,InL
_AgvName,A1,,,,,,,
PRO,
入料架流水线入口RFIDIP,InL
_In_RFIDIP,192.168.103.108,,,,,, ,
PRO,
入料架流水线出口RFIDIP,InL
_Out_RFIDIP,192.168.103.107,,,,,, ,
PRO,休眠秒数(秒),SleepSeconds,
6
0,,,,,,,
PRO,
L1线AGV节点名称,L1
_AgvName,A2,,,,,,,
PRO,
L2线AGV节点名称,L2
_AgvName,A1,,,,,,,
PRO,
L2线入口RFIDIP,L2
_In_RFIDIP,192.168.103.108,,,,,, ,
PRO,
L2线出口RFIDIP,L2
_Out_RFIDIP,192.168.103.107,,,,,, ,
PRO,休眠秒数(秒),SleepSeconds,
4
0,,,,,,,
source/DeviceLibrary/acVmiLine/VMILineBean.cs
查看文件 @
75a7ebc
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/acVmiLine/VMILineBean_Partial.cs
查看文件 @
75a7ebc
...
...
@@ -126,9 +126,8 @@ namespace OnlineStore.DeviceLibrary
public
string
GetRunInfo
()
{
return
"进料线出口"
+
Config
.
InL_AgvName
+
":"
+
AgvClient
.
GetAction
(
Config
.
InL_AgvName
)
+
",料架: "
+
LastInShelfId
+
"\r\n"
+
"出料线进口"
+
Config
.
OutL_AgvName
+
":"
+
AgvClient
.
GetAction
(
Config
.
OutL_AgvName
)
+
",料架: "
+
LastOutShelfId
+
"\r\n"
;
// "进料出口" + Config.InL_AgvName + ":" + AgvClient.GetAction(Config.InL_AgvName) + " 出料进口" + Config.OutL_AgvName + ":" + AgvClient.GetAction(Config.OutL_AgvName) + "\r\n"+
return
"进料线入口"
+
Config
.
L1_AgvName
+
":"
+
AgvClient
.
GetAction
(
Config
.
L1_AgvName
)
+
",料架: "
+
LastInShelfId
+
"\r\n"
+
"出料线出口"
+
Config
.
L2_AgvName
+
":"
+
AgvClient
.
GetAction
(
Config
.
L2_AgvName
)
+
",料架: "
+
LastOutShelfId
+
"\r\n"
;
}
#
endregion
...
...
@@ -153,20 +152,21 @@ namespace OnlineStore.DeviceLibrary
if
(
needCheckList
.
Count
<=
0
)
{
needCheckList
.
Add
(
IO_Type
.
InL_InStopCheck
);
needCheckList
.
Add
(
IO_Type
.
InL_MIddleCheck
);
needCheckList
.
Add
(
IO_Type
.
InL_OutStopCheck
);
needCheckList
.
Add
(
IO_Type
.
OutL_InCheck
);
needCheckList
.
Add
(
IO_Type
.
OutL_InStopCheck
);
needCheckList
.
Add
(
IO_Type
.
OutL_InStopDown
);
needCheckList
.
Add
(
IO_Type
.
InL_InStopDown
);
needCheckList
.
Add
(
IO_Type
.
L1_InCheck
);
needCheckList
.
Add
(
IO_Type
.
L1_StopCheck
);
needCheckList
.
Add
(
IO_Type
.
L1_OutCheck
);
needCheckList
.
Add
(
IO_Type
.
L2_InCheck
);
needCheckList
.
Add
(
IO_Type
.
L2_StopCheck1
);
needCheckList
.
Add
(
IO_Type
.
L2_OutCheck
);
needCheckList
.
Add
(
IO_Type
.
L2_StopDown
);
needCheckList
.
Add
(
IO_Type
.
L1_StopDown
);
}
bool
agvBusy
=
false
;
ClientAction
currA
=
AgvClient
.
GetAction
(
Config
.
InL
_AgvName
);
ClientAction
currA
=
AgvClient
.
GetAction
(
Config
.
L1
_AgvName
);
if
(
currA
.
Equals
(
ClientAction
.
None
)
||
currA
.
Equals
(
ClientAction
.
NeedLeave
)
||
currA
.
Equals
(
ClientAction
.
NeedEnter
)
)
{
ClientAction
currB
=
AgvClient
.
GetAction
(
Config
.
OutL
_AgvName
);
ClientAction
currB
=
AgvClient
.
GetAction
(
Config
.
L2
_AgvName
);
if
(
currB
.
Equals
(
ClientAction
.
None
)
||
currB
.
Equals
(
ClientAction
.
NeedLeave
)
||
currB
.
Equals
(
ClientAction
.
NeedEnter
))
{
agvBusy
=
false
;
...
...
@@ -229,15 +229,15 @@ namespace OnlineStore.DeviceLibrary
if
(
needSleep
)
{
IsSleep
=
true
;
IOManager
.
IOMove
(
IO_Type
.
InL
_Run
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
OutL
_Run
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
L1
_Run
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
L2
_Run
,
IO_VALUE
.
LOW
);
}
else
{
IsSleep
=
false
;
LastBusyTime
=
DateTime
.
Now
;
IOManager
.
IOMove
(
IO_Type
.
InL
_Run
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
OutL
_Run
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
L1
_Run
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
L2
_Run
,
IO_VALUE
.
HIGH
);
};
}
#
endregion
...
...
source/DeviceLibrary/agvClient/AgvClient.cs
查看文件 @
75a7ebc
...
...
@@ -86,21 +86,21 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
logName
);
UpdateAction
(
id
,
Asa
.
ClientAction
.
Ready
);
if
(
id
.
Equals
(
LineManager
.
Config
.
OutL
_AgvName
))
if
(
id
.
Equals
(
LineManager
.
Config
.
L1
_AgvName
))
{
LineManager
.
VMILine
.
UpdateSleep
(
false
);
if
(
IOManager
.
IOValue
(
IO_Type
.
OutL
_InCheck
).
Equals
(
IO_VALUE
.
LOW
))
if
(
IOManager
.
IOValue
(
IO_Type
.
L1
_InCheck
).
Equals
(
IO_VALUE
.
LOW
))
{
Task
.
Factory
.
StartNew
(
delegate
{
SetStatus
(
id
,
""
,
ClientAction
.
MayEnter
);
LogUtil
.
info
(
logName
+
" ,等待
OutL
_InCheck"
);
LogUtil
.
info
(
logName
+
" ,等待
L1
_InCheck"
);
try
{
WaitUtil
.
Wait
(
60000
,
delegate
{
return
IOManager
.
IOValue
(
IO_Type
.
OutL
_InCheck
).
Equals
(
IO_VALUE
.
HIGH
);
},
"等待
OutL
_InCheck=HIGH"
);
return
IOManager
.
IOValue
(
IO_Type
.
L1
_InCheck
).
Equals
(
IO_VALUE
.
HIGH
);
},
"等待
L1
_InCheck=HIGH"
);
}
catch
(
Exception
ex
)
{
...
...
@@ -120,21 +120,22 @@ namespace OnlineStore.DeviceLibrary
}
else
{
LogUtil
.
error
(
logName
+
"
OutL
_InCheck 检测到有料架,AGV的料架无法进入"
);
LogUtil
.
error
(
logName
+
"
L1
_InCheck 检测到有料架,AGV的料架无法进入"
);
SetStatus
(
id
,
""
,
ClientAction
.
None
,
ClientLevel
.
High
);
}
}
else
if
(
id
.
Equals
(
LineManager
.
Config
.
InL
_AgvName
))
else
if
(
id
.
Equals
(
LineManager
.
Config
.
L2
_AgvName
))
{
string
shefId
=
LineManager
.
VMILine
.
LastOutShelfId
;
if
(
IOManager
.
IOValue
(
IO_Type
.
InL_OutStop
Check
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
IOManager
.
IOValue
(
IO_Type
.
L2_Out
Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
SetStatus
(
id
,
shefId
,
ClientAction
.
MayLeave
);
LineManager
.
VMILine
.
UpdateSleep
(
false
);
LineManager
.
VMILine
.
StopIOMove
(
IO_Type
.
InL
_OutStopDown
,
1500
);
LineManager
.
VMILine
.
StopIOMove
(
IO_Type
.
L2
_OutStopDown
,
1500
);
//agvClient.MayLeave(id);
SetStatus
(
id
,
shefId
,
ClientAction
.
MayLeave
);
LogUtil
.
info
(
logName
+
"下降
InL
_OutStopDown , "
+
shefId
);
LogUtil
.
info
(
logName
+
"下降
L2
_OutStopDown , "
+
shefId
);
Task
.
Factory
.
StartNew
(
delegate
{
...
...
@@ -151,7 +152,7 @@ namespace OnlineStore.DeviceLibrary
}
else
{
LogUtil
.
error
(
logName
+
"
InL_OutStop
Check 未检测到料架,无法将料架进入AGV"
);
LogUtil
.
error
(
logName
+
"
L2_Out
Check 未检测到料架,无法将料架进入AGV"
);
SetStatus
(
id
,
""
,
ClientAction
.
None
,
ClientLevel
.
High
);
}
}
...
...
source/LoadCVSLibrary/Config/bean/IO_Type.cs
查看文件 @
75a7ebc
...
...
@@ -25,77 +25,144 @@ namespace OnlineStore.LoadCSVLibrary
}
/// <summary>
///
VMI流水线,DI 急停 SuddenStop_BTN X01 DI-01
///
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X721,DI-01,0,
/// </summary>
public
static
string
SuddenStop_BTN
=
"SuddenStop_BTN"
;
/// <summary>
///
VMI流水线 DI 复位 Reset_BTN X02 DI-02
///
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X722,DI-02,0,
/// </summary>
public
static
string
Reset_BTN
=
"Reset_BTN"
;
/// <summary>
/// DI,出料线入口检测,L2_InCheck,2,PRO_AOI_IP_1,0,出料线入口检测,X723,DI-03,0,
/// </summary>
public
static
string
L2_InCheck
=
"L2_InCheck"
;
/// <summary>
/// DI
进料线中间料架检测 InL_MIddleCheck
/// DI
,出料线检测1,L2_StopCheck1,3,PRO_AOI_IP_1,0,出料线检测1,X724,DI-04,0,
/// </summary>
public
static
string
InL_MIddleCheck
=
"InL_MIddleCheck
"
;
public
static
string
L2_StopCheck1
=
"L2_StopCheck1
"
;
/// <summary>
/// DI
进料线阻挡检测1 InL_InStopCheck
/// DI
,料串切换气缸前进端,Switch_Forward_Sig,4,PRO_AOI_IP_1,0,料串切换气缸前进端,X725,DI-05,0,
/// </summary>
public
static
string
InL_InStopCheck
=
"InL_InStopCheck
"
;
public
static
string
Switch_Forward_Sig
=
"Switch_Forward_Sig
"
;
/// <summary>
/// DI 进料线阻挡检测2 InL_OutStopCheck
///DI,出料线出口检测,L2_OutCheck,5,PRO_AOI_IP_1,0,出料线出口检测,X726,DI-06,0,
/// </summary>
public
static
string
L2_OutCheck
=
"L2_OutCheck"
;
/// <summary>
/// DI,入料线入口检测,L1_InCheck,6,PRO_AOI_IP_1,0,入料线入口检测,X727,DI-07,0,
/// </summary>
public
static
string
InL_OutStopCheck
=
"InL_OutStop
Check"
;
public
static
string
L1_InCheck
=
"L1_In
Check"
;
/// <summary>
///
DI 出料线入口检测 OutL_InCheck
///
DI,入料线阻挡检测,L1_StopCheck,7,PRO_AOI_IP_1,0,入料线阻挡检测,X728,DI-08,0,
/// </summary>
public
static
string
OutL_InCheck
=
"OutL_InCheck"
;
public
static
string
L1_StopCheck
=
"L1_StopCheck"
;
/// <summary>
/// DI
出料线阻挡检测1 OutL_InStopCheck
/// DI
,料串切换气缸后退端,Switch_Back_Sig,8,PRO_AOI_IP_1,0,料串切换气缸后退端,X729,DO-01,0,
/// </summary>
public
static
string
OutL_InStopCheck
=
"OutL_InStopCheck
"
;
public
static
string
Switch_Back_Sig
=
"Switch_Back_Sig
"
;
/// <summary>
/// DI 出料线阻挡检测2 OutL_OutStopCheck
/// </summary>
public
static
string
OutL_OutStopCheck
=
"OutL_OutStopCheck"
;
///DI,入料线出口检测,L1_OutCheck,9,PRO_AOI_IP_1,0,入料线出口检测,X730,DO-02,0,
/// </summary>
public
static
string
L1_OutCheck
=
"L1_OutCheck"
;
/// <summary>
/// D
O 自动指示灯 AutoRun_HddLed
/// D
I,出料线人工取料信号,L1_ManualRecSig,10,PRO_AOI_IP_1,0,出料线人工取料信号,X731,DO-03,0,
/// </summary>
public
static
string
AutoRun_HddLed
=
"AutoRun_HddLed"
;
public
static
string
L1_ManualRecSig
=
"L1_ManualRecSig"
;
/// <summary>
///
DO 故障指示灯 Alarm_HddLed
///
DI,进料线体横移上升端,L1_UpDown_Up_Sig,11,PRO_AOI_IP_1,0,进料线体横移上升端,X732,DO-04,0,
/// </summary>
public
static
string
Alarm_HddLed
=
"Alarm_HddLed"
;
public
static
string
L1_UpDown_Up_Sig
=
"L1_UpDown_Up_Sig"
;
/// <summary>
/// D
O 进料线驱动电机运转 InL_Run
/// D
I,进料线体横移下降端,L1_UpDown_Down_Sig,12,PRO_AOI_IP_1,0,进料线体横移下降端,X733,DO-05,0,
/// </summary>
public
static
string
InL_Run
=
"InL_Run"
;
public
static
string
L1_UpDown_Down_Sig
=
"L1_UpDown_Down_Sig"
;
/// <summary>
///
DO 出料线驱动电机运转 OutL_Run
///
DI,出料线体横移上升端,L2_UpDown_Up_Sig,13,PRO_AOI_IP_1,0,出料线体横移上升端,X734,DO-06,0,
/// </summary>
public
static
string
OutL_Run
=
"OutL_Run"
;
public
static
string
L2_UpDown_Up_Sig
=
"L2_UpDown_Up_Sig"
;
/// <summary>
/// D
O 进料线阻挡1下降 InL_InStopDown
/// D
I,出料线体横移下降端,L2_UpDown_Down_Sig,14,PRO_AOI_IP_1,0,出料线体横移下降端,X735,DO-07,0,
/// </summary>
public
static
string
InL_InStopDown
=
"InL_InStopDown
"
;
public
static
string
L2_UpDown_Down_Sig
=
"L2_UpDown_Down_Sig
"
;
/// <summary>
/// D
O 进料线阻挡2下降 InL_OutStopDown
/// D
I,包装料架检测信号,PackingShelf_Sig,15,PRO_AOI_IP_1,0,包装料架检测信号,X736,DO-08,0,
/// </summary>
public
static
string
InL_OutStopDown
=
"InL_OutStopDown
"
;
public
static
string
PackingShelf_Sig
=
"PackingShelf_Sig
"
;
/// <summary>
/// DO,运行状态(指示灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,运行状态(指示灯),Y721,DI-01,0,
/// </summary>
public
static
string
AutoRun_HddLed
=
"AutoRun_HddLed"
;
/// <summary>
///
DO 出料线阻挡1下降 OutL_InStopDown
///
DO,故障状态(指示灯),Alarm_HddLed,1,PRO_AOI_IP_1,0,故障状态(指示灯),Y722,DI-02,0,
/// </summary>
public
static
string
OutL_InStopDown
=
"OutL_InStopDown
"
;
public
static
string
Alarm_HddLed
=
"Alarm_HddLed
"
;
/// <summary>
///
DO 出料线阻挡2下降 OutL_OutStopDown
///
DO,进料线驱动电机运转,L1_Run,2,PRO_AOI_IP_1,0,进料线驱动电机运转,Y723,DI-03,0,
/// </summary>
public
static
string
OutL_OutStopDown
=
"OutL_OutStopDown"
;
public
static
string
L1_Run
=
"L1_Run"
;
/// <summary>
/// DO,出料线驱动电机运转,L2_Run,3,PRO_AOI_IP_1,0,出料线驱动电机运转,Y724,DI-04,0,
/// </summary>
public
static
string
L2_Run
=
"L2_Run"
;
/// <summary>
/// DO,进料线阻挡1下降,L1_StopDown,4,PRO_AOI_IP_1,0,进料线阻挡1下降,Y725,DI-05,0,
/// </summary>
public
static
string
L1_StopDown
=
"L1_StopDown"
;
/// <summary>
/// DO,进料线阻挡2下降,L1_StopDown2,5,PRO_AOI_IP_1,0,进料线阻挡2下降,Y726,DI-06,0,
/// </summary>
//public static string L1_StopDown2 = "L1_StopDown2";
/// <summary>
/// DO,进料线出口阻挡下降,L1_OutStopDown,6,PRO_AOI_IP_1,0,进料线出口阻挡下降,Y727,DI-07,0,
/// </summary>
public
static
string
L1_OutStopDown
=
"L1_OutStopDown"
;
/// <summary>
/// DO,出料线出口阻挡下降,L2_OutStopDown,7,PRO_AOI_IP_1,0,出料线阻挡1下降,Y728,DI-08,0,
/// </summary>
public
static
string
L2_OutStopDown
=
"L2_OutStopDown"
;
/// <summary>
/// DO,出料线阻挡2下降,L2_OutStopDown2,8,PRO_AOI_IP_1,0,出料线阻挡2下降,Y729,DO-01,0,
/// </summary>
//public static string L2_StopDown2 = "L2_StopDown2";
/// <summary>
/// DO,出料线出口阻挡下降,L2_StopDown,9,PRO_AOI_IP_1,0,出料线出口阻挡下降,Y730,DO-02,0,
/// </summary>
public
static
string
L2_StopDown
=
"L2_StopDown"
;
/// <summary>
/// DO,横移机构上升SOL,Traverse_Up_SOL,10,PRO_AOI_IP_1,0,横移机构上升SOL,Y731,DO-03,0,
/// </summary>
public
static
string
Traverse_Up_SOL
=
"Traverse_Up_SOL"
;
/// <summary>
/// DO,横移机构下降SOL,Traverse_Down_SOL,11,PRO_AOI_IP_1,0,横移机构下降SOL,Y732,DO-04,0,
/// </summary>
public
static
string
Traverse_Down_SOL
=
"Traverse_Down_SOL"
;
/// <summary>
/// DO,横移电机1运转,Traverse1_Run,12,PRO_AOI_IP_1,0,横移电机1运转,Y733,DO-05,0,
/// </summary>
public
static
string
Traverse1_Run
=
"Traverse1_Run"
;
/// <summary>
/// DO,横移电机2运转,Traverse2_Run,13,PRO_AOI_IP_1,0,横移电机2运转,Y734,DO-06,0,
/// </summary>
public
static
string
Traverse2_Run
=
"Traverse2_Run"
;
/// <summary>
/// DO,料串切换气缸前进,Switch_Forward,14,PRO_AOI_IP_1,0,料串切换气缸前进,Y735,DO-07,0,
/// </summary>
public
static
string
Switch_Forward
=
"Switch_Forward"
;
/// <summary>
/// DO,料串切换气缸后退,Switch_Back,15,PRO_AOI_IP_1,0,料串切换气缸后退,Y736,DO-08,0,
/// </summary>
public
static
string
Switch_Back
=
"Switch_Back"
;
}
public
enum
IO_VALUE
{
...
...
source/LoadCVSLibrary/Config/bean/VMLLineConfig.cs
查看文件 @
75a7ebc
...
...
@@ -41,29 +41,28 @@ namespace OnlineStore.LoadCSVLibrary
[
ConfigProAttribute
(
"IO_DOLength"
)]
public
string
IO_DOLength
{
get
;
set
;
}
/// <summary>
///
PRO,出空料架流水线AGV节点名称,OutL
_AgvName,A2,,,,,,,
///
PRO,L1线AGV节点名称,L1
_AgvName,A2,,,,,,,
/// </summary>
[
ConfigProAttribute
(
"
OutL_AgvName"
)]
public
string
OutL
_AgvName
{
get
;
set
;
}
[
ConfigProAttribute
(
"
L1_AgvName"
)]
public
string
L1
_AgvName
{
get
;
set
;
}
/// <summary>
///
PRO,入料架流水线AGV节点名称,InL
_AgvName,A1,,,,,,,
///
PRO,L2线AGV节点名称,L2
_AgvName,A1,,,,,,,
/// </summary>
[
ConfigProAttribute
(
"
InL
_AgvName"
)]
public
string
InL
_AgvName
{
get
;
set
;
}
[
ConfigProAttribute
(
"
L2
_AgvName"
)]
public
string
L2
_AgvName
{
get
;
set
;
}
public
double
AirCheckSeconds
=
60
;
/// <summary>
///
PRO 入料架流水线入口RFIDIP InL_In_RFIDIP 192.168.120.25
///
PRO,L2线入口RFIDIP,L2_In_RFIDIP,192.168.103.108,,,,,, ,
/// </summary>
[
ConfigProAttribute
(
"
InL
_In_RFIDIP"
,
false
)]
public
string
InL
_In_RFIDIP
{
get
;
set
;
}
[
ConfigProAttribute
(
"
L2
_In_RFIDIP"
,
false
)]
public
string
L2
_In_RFIDIP
{
get
;
set
;
}
/// <summary>
///
PRO 入料架流水线出口RFIDIP InL_Out_RFIDIP 192.168.120.26
///
PRO,L2线出口RFIDIP,L2_Out_RFIDIP,192.168.103.107,,,,,, ,
/// </summary>
[
ConfigProAttribute
(
"
InL
_Out_RFIDIP"
,
false
)]
public
string
InL
_Out_RFIDIP
{
get
;
set
;
}
[
ConfigProAttribute
(
"
L2
_Out_RFIDIP"
,
false
)]
public
string
L2
_Out_RFIDIP
{
get
;
set
;
}
protected
override
void
initMustHavePro
()
{
MustHaveDIList
=
new
List
<
string
>();
...
...
source/VMILineClient/FrmVMIClient.Designer.cs
查看文件 @
75a7ebc
此文件的差异被折叠,
点击展开。
source/VMILineClient/FrmVMIClient.cs
查看文件 @
75a7ebc
...
...
@@ -11,7 +11,7 @@ using System.Threading;
using
System.IO
;
using
System.Runtime.InteropServices
;
using
System.Reflection
;
using
log4net
;
using
log4net
;
using
UserFromControl
;
using
OnlineStore.DeviceLibrary
;
using
OnlineStore.Common
;
...
...
@@ -47,11 +47,11 @@ namespace OnlineStore.VMILineClient
return
;
}
timer1
.
Enabled
=
true
;
groupBox5
.
Text
=
"AGV调度通信,入料线体 ["
+
vmiLine
.
Config
.
InL_AgvName
+
"] ,出料线体 ["
+
vmiLine
.
Config
.
OutL
_AgvName
+
"] "
;
groupBox5
.
Text
=
"AGV调度通信,入料线体 ["
+
vmiLine
.
Config
.
L1_AgvName
+
"] ,出料线体 ["
+
vmiLine
.
Config
.
L2
_AgvName
+
"] "
;
chbDebug
.
Checked
=
vmiLine
.
IsDebug
;
this
.
ShowInTaskbar
=
true
;
LoadIOList
();
txtname
.
Text
=
vmiLine
.
Config
.
InL
_AgvName
;
txtname
.
Text
=
vmiLine
.
Config
.
L1
_AgvName
;
notifyIcon1
.
Text
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
App_Title
);
HideForm
();
this
.
Opacity
=
1
;
...
...
@@ -120,11 +120,11 @@ namespace OnlineStore.VMILineClient
if
(!
this
.
Visible
)
{
return
;
}
}
ReadIOList
();
lblThisSta
.
Text
=
LineManager
.
GetRunStr
(
vmiLine
.
runStatus
)
+
" "
+(
vmiLine
.
IsSleep
?
"休眠中"
:
""
);
lblThisSta
.
Text
=
LineManager
.
GetRunStr
(
vmiLine
.
runStatus
)
+
" "
+
(
vmiLine
.
IsSleep
?
"休眠中"
:
""
);
lblWarnMsg
.
Text
=
vmiLine
.
WarnMsg
;
lblInfo
.
Text
=
vmiLine
.
GetRunInfo
();
lblInfo
.
Text
=
vmiLine
.
GetRunInfo
();
}
private
void
FrmTest_FormClosing
(
object
sender
,
FormClosingEventArgs
e
)
...
...
@@ -146,8 +146,9 @@ namespace OnlineStore.VMILineClient
else
if
(
vmiLine
.
StartRun
())
{
btnVmiStart
.
Text
=
"复位"
;
}
else
{
}
else
{
btnVmiStart
.
Text
=
"启动"
;
}
}
...
...
@@ -332,32 +333,32 @@ namespace OnlineStore.VMILineClient
}
private
void
btnInLineRun_Click
(
object
sender
,
EventArgs
e
)
{
BtnMove
(
btnInLineRun
,
"进料线体运转"
,
"进料线体停止"
,
IO_Type
.
InL
_Run
);
BtnMove
(
btnInLineRun
,
"进料线体运转"
,
"进料线体停止"
,
IO_Type
.
L1
_Run
);
}
private
void
btnInLInStopDown_Click
(
object
sender
,
EventArgs
e
)
{
BtnMove
(
btnInLInStopDown
,
"进料线入口阻挡下降"
,
"进料线入口阻挡上升"
,
IO_Type
.
InL_In
StopDown
);
BtnMove
(
btnInLInStopDown
,
"进料线入口阻挡下降"
,
"进料线入口阻挡上升"
,
IO_Type
.
L1_
StopDown
);
}
private
void
btnInLOutStopDown_Click
(
object
sender
,
EventArgs
e
)
{
BtnMove
(
btnInLOutStopDown
,
"进料线出口阻挡下降"
,
"进料线出口阻挡上升"
,
IO_Type
.
InL
_OutStopDown
);
BtnMove
(
btnInLOutStopDown
,
"进料线出口阻挡下降"
,
"进料线出口阻挡上升"
,
IO_Type
.
L1
_OutStopDown
);
}
private
void
btnOLInStopDown_Click
(
object
sender
,
EventArgs
e
)
{
BtnMove
(
btnOLInStopDown
,
"出料线入口阻挡下降"
,
"出料线入口阻挡上升"
,
IO_Type
.
OutL_In
StopDown
);
BtnMove
(
btnOLInStopDown
,
"出料线入口阻挡下降"
,
"出料线入口阻挡上升"
,
IO_Type
.
L2_
StopDown
);
}
private
void
btnOutL_Click
(
object
sender
,
EventArgs
e
)
{
BtnMove
(
btnOutL
,
"出料线体运转"
,
"出料线体停止"
,
IO_Type
.
OutL
_Run
);
BtnMove
(
btnOutL
,
"出料线体运转"
,
"出料线体停止"
,
IO_Type
.
L2
_Run
);
}
private
void
btnOLOutStopDown_Click
(
object
sender
,
EventArgs
e
)
{
BtnMove
(
btnOLOutStopDown
,
"出料线出口阻挡下降"
,
"出料线出口阻挡上升"
,
IO_Type
.
OutL
_OutStopDown
);
BtnMove
(
btnOLOutStopDown
,
"出料线出口阻挡下降"
,
"出料线出口阻挡上升"
,
IO_Type
.
L2
_OutStopDown
);
}
private
void
btnCloseA_Click
(
object
sender
,
EventArgs
e
)
...
...
@@ -368,13 +369,13 @@ namespace OnlineStore.VMILineClient
private
void
btnNeedLeave_Click
(
object
sender
,
EventArgs
e
)
{
AgvClient
.
NeedLeave
(
txtname
.
Text
,
txtShelfId
.
Text
);
// AgvClient.SetStatus(txtname.Text, txtShelfId.Text,Asa.ClientAction.NeedLeave);
// AgvClient.SetStatus(txtname.Text, txtShelfId.Text,Asa.ClientAction.NeedLeave);
}
private
void
btnNeedEntry_Click
(
object
sender
,
EventArgs
e
)
{
AgvClient
.
NeedEnter
(
txtname
.
Text
,
txtShelfId
.
Text
);
// AgvClient.SetStatus(txtname.Text, txtShelfId.Text,Asa.ClientAction.NeedEnter);
// AgvClient.SetStatus(txtname.Text, txtShelfId.Text,Asa.ClientAction.NeedEnter);
}
private
void
btnInit_Click
(
object
sender
,
EventArgs
e
)
...
...
@@ -395,22 +396,91 @@ namespace OnlineStore.VMILineClient
private
void
btnStopTDown_Click
(
object
sender
,
EventArgs
e
)
{
int
value
=
(
int
)
numericUpDown1
.
Value
;
string
iotype
=
IO_Type
.
InL_InStopDown
;
///进料线_入口阻挡
//进料线_出口阻挡
//出料线_入口阻挡
string
iotype
=
IO_Type
.
L1_StopDown
;
if
(
cmbStopList
.
SelectedIndex
.
Equals
(
1
))
{
iotype
=
IO_Type
.
InL
_OutStopDown
;
iotype
=
IO_Type
.
L1
_OutStopDown
;
}
else
if
(
cmbStopList
.
SelectedIndex
.
Equals
(
2
))
{
iotype
=
IO_Type
.
OutL_In
StopDown
;
iotype
=
IO_Type
.
L2_
StopDown
;
}
vmiLine
.
StopIOMove
(
iotype
,
value
);
}
private
void
chbMoveStop_CheckedChanged
(
object
sender
,
EventArgs
e
)
{
{
vmiLine
.
MoveStop
=
chbMoveStop
.
Checked
;
LogUtil
.
info
(
vmiLine
.
Name
+
"用户切换是否暂停: "
+
vmiLine
.
MoveStop
);
}
private
void
btnTranverse_Click
(
object
sender
,
EventArgs
e
)
{
Button
btn
=
(
Button
)
sender
;
LogUtil
.
info
(
vmiLine
.
Name
+
"点击【"
+
btn
.
Text
+
"】 "
);
if
(
btn
.
Text
.
Equals
(
"横移运转"
))
{
IOManager
.
IOMove
(
IO_Type
.
Traverse1_Run
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
Traverse2_Run
,
IO_VALUE
.
HIGH
);
btn
.
Text
=
"横移停止"
;
btn
.
BackColor
=
Color
.
Aqua
;
}
else
{
IOManager
.
IOMove
(
IO_Type
.
Traverse1_Run
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
Traverse2_Run
,
IO_VALUE
.
LOW
);
btn
.
Text
=
"横移运转"
;
btn
.
BackColor
=
Color
.
White
;
}
}
private
void
btnUpdown_Click
(
object
sender
,
EventArgs
e
)
{
Button
btn
=
(
Button
)
sender
;
LogUtil
.
info
(
vmiLine
.
Name
+
"点击【"
+
btn
.
Text
+
"】 "
);
if
(
btn
.
Text
.
Equals
(
"横移机构上升"
))
{
IOManager
.
IOMove
(
IO_Type
.
Traverse_Down_SOL
,
IO_VALUE
.
LOW
);
Thread
.
Sleep
(
500
);
IOManager
.
IOMove
(
IO_Type
.
Traverse_Up_SOL
,
IO_VALUE
.
HIGH
);
btn
.
Text
=
"横移机构下降"
;
btn
.
BackColor
=
Color
.
Aqua
;
}
else
{
IOManager
.
IOMove
(
IO_Type
.
Traverse_Up_SOL
,
IO_VALUE
.
LOW
);
Thread
.
Sleep
(
500
);
IOManager
.
IOMove
(
IO_Type
.
Traverse_Down_SOL
,
IO_VALUE
.
HIGH
);
btn
.
Text
=
"横移机构上升"
;
btn
.
BackColor
=
Color
.
White
;
}
}
private
void
btnSwitch_Click
(
object
sender
,
EventArgs
e
)
{
Button
btn
=
(
Button
)
sender
;
LogUtil
.
info
(
vmiLine
.
Name
+
"点击【"
+
btn
.
Text
+
"】 "
);
if
(
btn
.
Text
.
Equals
(
"料串切换气缸前进"
))
{
IOManager
.
IOMove
(
IO_Type
.
Switch_Back
,
IO_VALUE
.
LOW
);
Thread
.
Sleep
(
500
);
IOManager
.
IOMove
(
IO_Type
.
Switch_Forward
,
IO_VALUE
.
HIGH
);
btn
.
Text
=
"料串切换气缸后退"
;
btn
.
BackColor
=
Color
.
Aqua
;
}
else
{
IOManager
.
IOMove
(
IO_Type
.
Switch_Forward
,
IO_VALUE
.
LOW
);
Thread
.
Sleep
(
500
);
IOManager
.
IOMove
(
IO_Type
.
Switch_Back
,
IO_VALUE
.
HIGH
);
btn
.
Text
=
"料串切换气缸前进"
;
btn
.
BackColor
=
Color
.
White
;
}
}
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论