Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-VMILineClient
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit acb7d13f
由
张东亮
编写于
2021-09-07 15:38:39 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
新增第三条线体
1 个父辈
7b34e538
全部展开
显示空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
164 行增加
和
151 行删除
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/App.config
source/VMILineClient/FrmVMIClient.Designer.cs
source/VMILineClient/FrmVMIClient.cs
source/DeviceLibrary/LineConfig/VMILineConfig.csv
查看文件 @
acb7d13
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
PRO,IO模块对应的DI数量,IO_DILength,192.168.103.25#16,,,,,,,
PRO,
模块对应的DO数量,IO_DOLength,192.168.103.25#16
,,,,,,,
PRO,IO模块对应的DI数量,IO_DILength,192.168.103.25#16
;192.168.103.30#8
,,,,,,,
PRO,
IO模块对应的DO数量,IO_DOLength,192.168.103.25#16;192.168.103.30#8
,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_1,192.168.103.25,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_2,192.168.103.30,,,,,,,
,,,,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,L1空入料线AGV节点名称,L1_AgvName,A2,,,,,,,
PRO,L2料串出料线AGV节点名称,L2_AgvName,A1,,,,,,,
PRO,L3包装料架出料线AGV节点名称,L3_AgvName,A11,,,,,,,
PRO,L2料串出料线入口RFIDIP,L2_In_RFIDIP,192.168.103.108,,,,,, ,
PRO,L2料串出料线出口RFIDIP,L2_Out_RFIDIP,192.168.103.107,,,,,, ,
PRO,休眠秒数(秒),SleepSeconds,40,,,,,,,
,,,,,,,,,,
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,
出料线入口检测,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,
料串出料线入口检测,L2_InCheck,2,PRO_AOI_IP_1,0,料串
出料线入口检测,X723,DI-03,0,
DI,
料串出料线阻挡检测,L2_StopCheck1,3,PRO_AOI_IP_1,0,料串出料线阻挡检测
,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,进料线驱动电机运转,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,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,40,,,,,,,
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,DI-09,0,
DI,空入料线出口检测,L1_OutCheck,9,PRO_AOI_IP_1,0,空入料线出口检测,X730,DI-10,0,
DI,料串出料线脚踏信号,L2_ManualRecSig,10,PRO_AOI_IP_1,0,料串出料线脚踏信号,X731,DI-11,0,
DI,空入料线体横移上升端,L1_UpDown_Up_Sig,11,PRO_AOI_IP_1,0,空入料线体横移上升端,X732,DI-12,0,
DI,空入料线体横移下降端,L1_UpDown_Down_Sig,12,PRO_AOI_IP_1,0,空入料线体横移下降端,X733,DI-13,0,
DI,料串出料线体横移上升端,L2_UpDown_Up_Sig,13,PRO_AOI_IP_1,0,料串出料线体横移上升端,X734,DI-14,0,
DI,料串出料线体横移下降端,L2_UpDown_Down_Sig,14,PRO_AOI_IP_1,0,料串出料线体横移下降端,X735,DI-15,0,
DI,包装料架检测信号(空入料线体出口),PackingShelf_Sig,15,PRO_AOI_IP_1,0,包装料架检测信号(空入料线体出口),X736,DI-16,0,
,,,,,,,,,,
DO,运行状态(指示灯),AutoRun_HddLed,0,PRO_AOI_IP_1,0,运行状态(指示灯),Y721,DO-01,0,
DO,故障状态(指示灯),Alarm_HddLed,1,PRO_AOI_IP_1,0,故障状态(指示灯),Y722,DO-02,0,
DO,空入料线驱动电机运转,L1_Run,2,PRO_AOI_IP_1,0,空入料线驱动电机运转,Y723,DO-03,0,
DO,料串出料线驱动电机运转,L2_Run,3,PRO_AOI_IP_1,0,料串出料线驱动电机运转,Y724,DO-04,0,
DO,空入料线阻挡下降,L1_StopDown,4,PRO_AOI_IP_1,0,空入料线阻挡下降,Y725,DO-05,0,
DO,料串出料线横移机构上升SOL,L2_Traverse_Up_SOL,5,PRO_AOI_IP_1,0,料串出料线横移机构上升SOL,Y726,DO-06,0,
DO,空入料线出口阻挡下降,L1_OutStopDown,6,PRO_AOI_IP_1,0,空入料线出口阻挡下降,Y727,DO-07,0,
DO,料串出料线出口阻挡下降,L2_OutStopDown,7,PRO_AOI_IP_1,0,料串出料线出口阻挡下降,Y728,DO-08,0,
DO,料串出料线横移机构下降SOL,L2_Traverse_Down_SOL,8,PRO_AOI_IP_1,0,料串出料线横移机构下降SOL,Y729,DO-09,0,
DO,料串出料线阻挡下降,L2_StopDown,9,PRO_AOI_IP_1,0,料串出料线阻挡下降,Y730,DO-10,0,
DO,空入料线横移机构上升SOL,L1_Traverse_Up_SOL,10,PRO_AOI_IP_1,0,空入料线横移机构上升SOL,Y731,DO-11,0,
DO,空入料线横移机构下降SOL,L1_Traverse_Down_SOL,11,PRO_AOI_IP_1,0,空入料线横移机构下降SOL,Y732,DO-12,0,
DO,空入料线横移电机正转,L1_Traverse_Run,12,PRO_AOI_IP_1,0,空入料线横移电机正转,Y733,DO-13,0,
DO,空入料线横移电机反转,L1_Traverse_BackRun,13,PRO_AOI_IP_1,0,空入料线横移电机反转,Y734,DO-14,0,
DO,料串切换气缸前进,Switch_Forward,14,PRO_AOI_IP_1,0,料串切换气缸前进,Y735,DO-15,0,
DO,料串切换气缸后退,Switch_Back,15,PRO_AOI_IP_1,0,料串切换气缸后退,Y736,DO-16,0,
,,,,,,,,,,
,,,,,,,,,,
DI,包装料架检测信号(料串出料线体出口),L2Out_PkgTypeDetect_Sig,0,PRO_AOI_IP_2,0,包装料架检测信号(料串出料线体出口),X781,DI-01,0,
DI,包装料架检测信号(包装料架出料线体出口),L3Out_PkgTypeDetect_Sig,1,PRO_AOI_IP_2,0,包装料架检测信号(包装料架出料线体出口),X782,DI-02,0,
DI,包装料架出料线脚踏信号,L3_ManualRecSig,2,PRO_AOI_IP_2,0,包装料架出料线脚踏信号,X783,DI-03,0,
DI,包装料架出料线体横移上升端,L3_UpDown_Up_Sig,3,PRO_AOI_IP_2,0,包装料架出料线体横移上升端,X784,DI-04,0,
DI,包装料架出料线体横移下降端,L3_UpDown_Down_Sig,4,PRO_AOI_IP_2,0,包装料架出料线体横移下降端,X785,DI-05,0,
DI,包装料架出料线入口检测,L3_InCheck,5,PRO_AOI_IP_2,0,包装料架出料线入口检测,X786,DI-06,0,
DI,包装料架出料线阻挡检测,L3_StopCheck,6,PRO_AOI_IP_2,0,包装料架出料线阻挡检测,X787,DI-07,0,
DI,包装料架出料线出口检测,L3_OutCheck,7,PRO_AOI_IP_2,0,包装料架出料线出口检测,X788,DI-08,0,
,,,,,,,,,,
DO,包装料架出料线驱动电机运转,L3_Run,0,PRO_AOI_IP_2,0,包装料架出料线驱动电机运转,Y781,DO-01,0,
DO,包装料架出料线过渡滚筒电机运转,L3_RollerRun,1,PRO_AOI_IP_2,0,包装料架出料线过渡滚筒电机运转,Y782,DO-02,0,
DO,料串出料线横移电机运转,L2_Traverse_Run,2,PRO_AOI_IP_2,0,料串出料线横移电机运转,Y783,DO-03,0,
DO,包装料架出料线横移电机运转,L3_Traverse_Run,3,PRO_AOI_IP_2,0,包装料架出料线横移电机运转,Y784,DO-04,0,
DO,包装料架出料线横移机构上升SOL,L3_Traverse_Up_SOL,4,PRO_AOI_IP_2,0,包装料架出料线横移机构上升SOL,Y785,DO-05,0,
DO,包装料架出料线横移机构下降SOL,L3_Traverse_Down_SOL,5,PRO_AOI_IP_2,0,包装料架出料线横移机构下降SOL,Y786,DO-06,0,
DO,包装料架出料线阻挡下降,L3_StopDown,6,PRO_AOI_IP_2,0,包装料架出料线阻挡下降,Y787,DO-07,0,
DO,包装料架出料线出口阻挡下降,L3_OutStopDown,7,PRO_AOI_IP_2,0,包装料架出料线出口阻挡下降,Y788,DO-08,0,
\ No newline at end of file
source/DeviceLibrary/acVmiLine/VMILineBean.cs
查看文件 @
acb7d13
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/acVmiLine/VMILineBean_Partial.cs
查看文件 @
acb7d13
...
...
@@ -126,8 +126,9 @@ namespace OnlineStore.DeviceLibrary
public
string
GetRunInfo
()
{
return
"进料线入口"
+
Config
.
L1_AgvName
+
":"
+
AgvClient
.
GetAction
(
Config
.
L1_AgvName
)
+
",料架: "
+
LastInShelfId
+
"\r\n"
+
"出料线出口"
+
Config
.
L2_AgvName
+
":"
+
AgvClient
.
GetAction
(
Config
.
L2_AgvName
)
+
",料架: "
+
LastOutShelfId
+
"\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"
+
"包装出料线出口"
+
Config
.
L3_AgvName
+
":"
+
AgvClient
.
GetAction
(
Config
.
L3_AgvName
);
}
#
endregion
...
...
@@ -158,9 +159,12 @@ namespace OnlineStore.DeviceLibrary
needCheckList
.
Add
(
IO_Type
.
L2_InCheck
);
needCheckList
.
Add
(
IO_Type
.
L2_StopCheck1
);
needCheckList
.
Add
(
IO_Type
.
L2_OutCheck
);
needCheckList
.
Add
(
IO_Type
.
L3_InCheck
);
needCheckList
.
Add
(
IO_Type
.
L3_StopCheck
);
needCheckList
.
Add
(
IO_Type
.
L3_OutCheck
);
needCheckList
.
Add
(
IO_Type
.
L2_StopDown
);
needCheckList
.
Add
(
IO_Type
.
L1_StopDown
);
needCheckList
.
Add
(
IO_Type
.
L3_StopDown
);
}
bool
agvBusy
=
false
;
ClientAction
currA
=
AgvClient
.
GetAction
(
Config
.
L1_AgvName
);
...
...
@@ -231,6 +235,7 @@ namespace OnlineStore.DeviceLibrary
IsSleep
=
true
;
IOManager
.
IOMove
(
IO_Type
.
L1_Run
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
L2_Run
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
L3_Run
,
IO_VALUE
.
LOW
);
}
else
{
...
...
@@ -238,6 +243,7 @@ namespace OnlineStore.DeviceLibrary
LastBusyTime
=
DateTime
.
Now
;
IOManager
.
IOMove
(
IO_Type
.
L1_Run
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
L2_Run
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
L3_Run
,
IO_VALUE
.
HIGH
);
};
}
#
endregion
...
...
source/DeviceLibrary/agvClient/AgvClient.cs
查看文件 @
acb7d13
...
...
@@ -156,6 +156,36 @@ namespace OnlineStore.DeviceLibrary
SetStatus
(
id
,
""
,
ClientAction
.
None
,
ClientLevel
.
High
);
}
}
else
if
(
id
.
Equals
(
LineManager
.
Config
.
L3_AgvName
))
{
if
(
IOManager
.
IOValue
(
IO_Type
.
L3_OutCheck
).
Equals
(
IO_VALUE
.
HIGH
))
{
SetStatus
(
id
,
"Pkg"
,
ClientAction
.
MayLeave
);
LineManager
.
VMILine
.
UpdateSleep
(
false
);
LineManager
.
VMILine
.
StopIOMove
(
IO_Type
.
L3_OutStopDown
,
1500
);
//agvClient.MayLeave(id);
LogUtil
.
info
(
logName
+
"下降 L3_OutStopDown "
);
Task
.
Factory
.
StartNew
(
delegate
{
//两秒后改为离开状态
Thread
.
Sleep
(
5000
);
LogUtil
.
info
(
logName
+
" ,调用 FinishLeave "
);
SetStatus
(
id
,
"Pkg"
,
ClientAction
.
FinishLeave
);
Thread
.
Sleep
(
5000
);
LogUtil
.
info
(
logName
+
" ,处理结束 更新状态为None "
);
SetStatus
(
id
,
"Pkg"
,
ClientAction
.
None
);
});
}
else
{
LogUtil
.
error
(
logName
+
" L3_OutCheck 未检测到料架,无法将料架进入AGV"
);
SetStatus
(
id
,
""
,
ClientAction
.
None
,
ClientLevel
.
High
);
}
}
}
private
static
void
AgvClient_Arrive
(
string
id
,
string
rfid
)
{
...
...
source/LoadCVSLibrary/Config/bean/IO_Type.cs
查看文件 @
acb7d13
此文件的差异被折叠,
点击展开。
source/LoadCVSLibrary/Config/bean/VMLLineConfig.cs
查看文件 @
acb7d13
...
...
@@ -50,7 +50,11 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary>
[
ConfigProAttribute
(
"L2_AgvName"
)]
public
string
L2_AgvName
{
get
;
set
;
}
/// <summary>
/// PRO,L3包装料架出料线AGV节点名称,L3_AgvName,A11,,,,,,,
/// </summary>
[
ConfigProAttribute
(
"L3_AgvName"
)]
public
string
L3_AgvName
{
get
;
set
;
}
public
double
AirCheckSeconds
=
60
;
/// <summary>
...
...
source/VMILineClient/App.config
查看文件 @
acb7d13
...
...
@@ -8,7 +8,7 @@
<
add
key
=
"App_AutoRun"
value
=
"1"
/>
<
add
key
=
"App_Title"
value
=
"VMI总仓进出料架缓存线"
/>
<!--
Server
address
-->
<
add
key
=
"http.server"
value
=
"http://10.85.1
60
.25/myproject/"
/>
<
add
key
=
"http.server"
value
=
"http://10.85.1
99
.25/myproject/"
/>
<!--
storeType
-->
<
add
key
=
"store_count"
value
=
"1"
/>
<!--
start
one
store
config
-->
...
...
@@ -22,7 +22,9 @@
<
add
key
=
"AgvServerIp"
value
=
"192.168.103.12"
/>
<!--是否调试状态-->
<
add
key
=
"IsInDebug"
value
=
"1"
/>
<
add
key
=
"Agv_Log_Open"
value
=
"1"
/>
<
add
key
=
"Agv_Log_Open"
value
=
"1"
/>
<
add
key
=
"RfidServer_Port"
value
=
"13005"
/>
<
add
key
=
"ClientSettingsProvider.ServiceUri"
value
=
""
/>
</
appSettings
>
<
log4net
>
<
appender
name
=
"RollingLogFileAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
...
...
@@ -36,16 +38,15 @@
</
layout
>
</
appender
>
<
appender
name
=
"TheRFID"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/TheRFID-vmi.log"
/>
<
file
value
=
"logs/TheRFID-vmi.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
</
layout
>
</
appender
>
<
logger
name
=
"RollingLogFileAppender"
>
<
level
value
=
"Info"
/>
<
appender
-
ref
ref
=
"RollingLogFileAppender"
/>
...
...
source/VMILineClient/FrmVMIClient.Designer.cs
查看文件 @
acb7d13
此文件的差异被折叠,
点击展开。
source/VMILineClient/FrmVMIClient.cs
查看文件 @
acb7d13
...
...
@@ -38,8 +38,11 @@ namespace OnlineStore.VMILineClient
private
void
FrmTest_Load
(
object
sender
,
EventArgs
e
)
{
LogUtil
.
logBox
=
this
.
richTextBox1
;
cmbStopList
.
SelectedIndex
=
0
;
this
.
vmiLine
=
LineManager
.
InitStore
();
LoadIOList
();
cmbWriteIO
.
DataSource
=
new
List
<
ConfigIO
>(
LineManager
.
Config
.
StoreDOList
.
Values
);
cmbWriteIO
.
ValueMember
=
"ProName"
;
cmbWriteIO
.
DisplayMember
=
"DisplayStr"
;
if
(
vmiLine
==
null
)
{
LogUtil
.
error
(
LOGGER
,
"加载设备失败"
);
...
...
@@ -47,10 +50,9 @@ namespace OnlineStore.VMILineClient
return
;
}
timer1
.
Enabled
=
true
;
groupBox5
.
Text
=
"AGV调度通信,
入料线体 ["
+
vmiLine
.
Config
.
L1_AgvName
+
"] ,出料线体 ["
+
vmiLine
.
Config
.
L2_AgvName
+
"]
"
;
chbDebug
.
Checked
=
vmiLine
.
IsDebug
;
groupBox5
.
Text
=
"AGV调度通信,
空入料线体 ["
+
vmiLine
.
Config
.
L1_AgvName
+
"] ,料串出料线体 ["
+
vmiLine
.
Config
.
L2_AgvName
+
"],包装出料线体["
+
vmiLine
.
Config
.
L3_AgvName
+
"]
"
;
DebugMode
(
vmiLine
.
IsDebug
)
;
this
.
ShowInTaskbar
=
true
;
LoadIOList
();
txtname
.
Text
=
vmiLine
.
Config
.
L1_AgvName
;
notifyIcon1
.
Text
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
App_Title
);
HideForm
();
...
...
@@ -298,8 +300,14 @@ namespace OnlineStore.VMILineClient
}
}
}
DebugMode
(
vmiLine
.
IsDebug
);
}
private
void
DebugMode
(
bool
isdebug
)
{
groupBox6
.
Enabled
=
isdebug
;
chbDebug
.
Checked
=
isdebug
;
groupBox5
.
Enabled
=
isdebug
;
}
private
void
richTextBox1_VisibleChanged
(
object
sender
,
EventArgs
e
)
{
...
...
@@ -331,35 +339,6 @@ namespace OnlineStore.VMILineClient
btn
.
BackColor
=
Color
.
White
;
}
}
private
void
btnInLineRun_Click
(
object
sender
,
EventArgs
e
)
{
BtnMove
(
btnInLineRun
,
"进料线体运转"
,
"进料线体停止"
,
IO_Type
.
L1_Run
);
}
private
void
btnInLInStopDown_Click
(
object
sender
,
EventArgs
e
)
{
BtnMove
(
btnInLInStopDown
,
"进料线入口阻挡下降"
,
"进料线入口阻挡上升"
,
IO_Type
.
L1_StopDown
);
}
private
void
btnInLOutStopDown_Click
(
object
sender
,
EventArgs
e
)
{
BtnMove
(
btnInLOutStopDown
,
"进料线出口阻挡下降"
,
"进料线出口阻挡上升"
,
IO_Type
.
L1_OutStopDown
);
}
private
void
btnOLInStopDown_Click
(
object
sender
,
EventArgs
e
)
{
BtnMove
(
btnOLInStopDown
,
"出料线入口阻挡下降"
,
"出料线入口阻挡上升"
,
IO_Type
.
L2_StopDown
);
}
private
void
btnOutL_Click
(
object
sender
,
EventArgs
e
)
{
BtnMove
(
btnOutL
,
"出料线体运转"
,
"出料线体停止"
,
IO_Type
.
L2_Run
);
}
private
void
btnOLOutStopDown_Click
(
object
sender
,
EventArgs
e
)
{
BtnMove
(
btnOLOutStopDown
,
"出料线出口阻挡下降"
,
"出料线出口阻挡上升"
,
IO_Type
.
L2_OutStopDown
);
}
private
void
btnCloseA_Click
(
object
sender
,
EventArgs
e
)
{
...
...
@@ -393,95 +372,65 @@ namespace OnlineStore.VMILineClient
AgvClient
.
Dispose
();
}
private
void
btnStopTDown_Click
(
object
sender
,
EventArgs
e
)
{
int
value
=
(
int
)
numericUpDown1
.
Value
;
///进料线_入口阻挡
//进料线_出口阻挡
//出料线_入口阻挡
string
iotype
=
IO_Type
.
L1_StopDown
;
if
(
cmbStopList
.
SelectedIndex
.
Equals
(
1
))
{
iotype
=
IO_Type
.
L1_OutStopDown
;
}
else
if
(
cmbStopList
.
SelectedIndex
.
Equals
(
2
))
{
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
)
IOTextControl
selectControl
=
null
;
private
void
cmbWriteIO_SelectedIndexChanged
(
object
sender
,
EventArgs
e
)
{
BtnMove
(
btnTranverse
,
"横移运转"
,
"横移停止"
,
IO_Type
.
Traverse1_Run
);
//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
)
if
(
cmbWriteIO
.
SelectedIndex
>=
0
)
{
Button
btn
=
(
Button
)
sender
;
LogUtil
.
info
(
vmiLine
.
Name
+
"点击【"
+
btn
.
Text
+
"】 "
);
if
(
btn
.
Text
.
Equals
(
"横移机构上升"
))
ConfigIO
io
=
GetSelectDO
();
if
(
io
!=
null
)
{
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
;
// txtIp.Text = io.DeviceName;
txtDOIndex
.
Text
=
io
.
GetIOAddr
().
ToString
();
txtDoName
.
Text
=
io
.
IO_IP
;
IOTextControl
newControl
=
DOControlList
[
io
.
ProName
];
if
(
selectControl
!=
null
)
{
selectControl
.
BackColor
=
Color
.
White
;
}
newControl
.
BackColor
=
Color
.
SkyBlue
;
selectControl
=
newControl
;
}
else
}
}
private
ConfigIO
GetSelectDO
()
{
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
;
string
text
=
cmbWriteIO
.
SelectedValue
.
ToString
(
);
if
(
LineManager
.
Config
.
StoreDOList
.
ContainsKey
(
text
))
{
ConfigIO
io
=
LineManager
.
Config
.
StoreDOList
[
text
]
;
return
io
;
}
return
null
;
}
private
void
btn
Switch
_Click
(
object
sender
,
EventArgs
e
)
private
void
btn
WriteSingleDO
_Click
(
object
sender
,
EventArgs
e
)
{
Button
btn
=
(
Button
)
sender
;
LogUtil
.
info
(
vmiLine
.
Name
+
"点击【"
+
btn
.
Text
+
"】 "
);
if
(
btn
.
Text
.
Equals
(
"料串切换气缸前进"
)
)
WriteDO
(
IO_VALUE
.
HIGH
)
;
}
private
void
WriteDO
(
IO_VALUE
value
)
{
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
;
string
deviceName
=
txtDoName
.
Text
;
int
index
=
FormUtil
.
GetIntValue
(
txtDOIndex
);
int
time
=
FormUtil
.
GetIntValue
(
txtWriteTime
);
if
(
time
>
0
)
{
IOManager
.
instance
.
WriteSingleDO
(
deviceName
,
(
byte
)
0
,
(
ushort
)
index
,
value
,
time
);
}
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
;
IOManager
.
instance
.
WriteSingleDO
(
deviceName
,
(
byte
)
0
,
(
ushort
)
index
,
value
);
}
}
private
void
button2_Click
(
object
sender
,
EventArgs
e
)
{
WriteDO
(
IO_VALUE
.
LOW
);
}
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论