Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
AutoCountMachine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit f50be7f3
由
顾剑亮
编写于
2020-05-29 10:56:37 +0800
浏览文件
选项
浏览文件
标签
下载
差异文件
Merge branch 'master' of
http://106.15.194.121:8083/lina/AutoCountMachine
2 个父辈
2afe1e0f
7e0a1634
全部展开
显示空白字符变更
内嵌
并排
正在显示
44 个修改的文件
包含
615 行增加
和
540 行删除
RC1266-AutoCountMachine/dll/Asa.IOModule.AIOBOX.dll
RC1266-AutoCountMachine/dll/Asa.IOModule.AIOBOX.xml
RC1266-AutoCountMachine/dll/DeviceLib.dll
RC1266-AutoCountMachine/source/AutoCountClient/App.config
RC1266-AutoCountMachine/source/AutoCountClient/FrmInputEquip.Designer.cs
RC1266-AutoCountMachine/source/AutoCountClient/FrmInputEquip.cs
RC1266-AutoCountMachine/source/AutoCountClient/FrmOutputEquip.Designer.cs
RC1266-AutoCountMachine/source/AutoCountClient/FrmOutputEquip.cs
RC1266-AutoCountMachine/source/AutoCountClient/FrmRobotMain.cs
RC1266-AutoCountMachine/source/AutoCountClient/useControl/AxisMoveControl.Designer.cs
RC1266-AutoCountMachine/source/AutoCountClient/useControl/AxisMoveControl.cs
RC1266-AutoCountMachine/source/AutoCountClient/记录.txt
RC1266-AutoCountMachine/source/Common/Setting_Init.cs
RC1266-AutoCountMachine/source/Common/bean/Bean.cs
RC1266-AutoCountMachine/source/Common/util/MyWebClient.cs
RC1266-AutoCountMachine/source/DeviceLibrary/DeviceLibrary.csproj
RC1266-AutoCountMachine/source/DeviceLibrary/RobotConfig/Config_InputEquip.csv
RC1266-AutoCountMachine/source/DeviceLibrary/RobotConfig/Config_OutputEquip.csv
RC1266-AutoCountMachine/source/DeviceLibrary/RobotConfig/Config_Xray.csv
RC1266-AutoCountMachine/source/DeviceLibrary/agvClient/AgvClient.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/BatchMoveBean.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/BatchMoveBean_Partial.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/EquipBase.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/InputEquip.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/InputEquip_InStore.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/OutputEquip.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/OutputEquip_Partial.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/OutputEquip_Shelf.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/RobotBean.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/RobotBean_Partial.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/X_RAY_Equip.cs
RC1266-AutoCountMachine/source/DeviceLibrary/bean/X_RAY_Equip_Partial.cs
RC1266-AutoCountMachine/source/DeviceLibrary/deviceLibrary/IO/AIOBOX/AIOBOXManager.cs
RC1266-AutoCountMachine/source/DeviceLibrary/deviceLibrary/halcon/CodeManager.cs
RC1266-AutoCountMachine/source/DeviceLibrary/manager/RFIDManagercs.cs
RC1266-AutoCountMachine/source/DeviceLibrary/manager/RobotManager.cs
RC1266-AutoCountMachine/source/DeviceLibrary/manager/SServerManager.cs
RC1266-AutoCountMachine/source/DeviceLibrary/model/AxisBean.cs
RC1266-AutoCountMachine/source/DeviceLibrary/model/MoveStep.cs
RC1266-AutoCountMachine/source/DeviceLibrary/model/RobotBase.cs
RC1266-AutoCountMachine/source/DeviceLibrary/model/RobotMoveInfo.cs
RC1266-AutoCountMachine/source/DeviceLibrary/model/WorkParam.cs
RC1266-AutoCountMachine/source/LoadCVSLibrary/storeConfig/config/InputEquip_Config.cs
RC1266-AutoCountMachine/source/LoadCVSLibrary/storeConfig/config/OutputEquip_Config.cs
RC1266-AutoCountMachine/dll/Asa.IOModule.AIOBOX.dll
查看文件 @
f50be7f
此文件类型无法预览
RC1266-AutoCountMachine/dll/Asa.IOModule.AIOBOX.xml
查看文件 @
f50be7f
此文件的差异被折叠,
点击展开。
RC1266-AutoCountMachine/dll/DeviceLib.dll
查看文件 @
f50be7f
此文件类型无法预览
RC1266-AutoCountMachine/source/AutoCountClient/App.config
查看文件 @
f50be7f
...
@@ -10,7 +10,6 @@
...
@@ -10,7 +10,6 @@
<!--<
add
key
=
"ServerAddr"
value
=
"http://10.85.17.233"
/>-->
<!--<
add
key
=
"ServerAddr"
value
=
"http://10.85.17.233"
/>-->
<
add
key
=
"ConfigPath_Robot"
value
=
"\RobotConfig\Config_Robot.csv"
/>
<
add
key
=
"ConfigPath_Robot"
value
=
"\RobotConfig\Config_Robot.csv"
/>
<
add
key
=
"ConfigPath_XRay"
value
=
"\RobotConfig\Config_XRay.csv"
/>
<
add
key
=
"ConfigPath_XRay"
value
=
"\RobotConfig\Config_XRay.csv"
/>
<
add
key
=
"ConfigPath_InputEquip"
value
=
"\RobotConfig\Config_InputEquip.csv"
/>
<
add
key
=
"ConfigPath_InputEquip"
value
=
"\RobotConfig\Config_InputEquip.csv"
/>
...
@@ -28,7 +27,7 @@
...
@@ -28,7 +27,7 @@
<!--流水线监听端口-->
<!--流水线监听端口-->
<
add
key
=
"TCPServerPort"
value
=
"5246"
/>
<
add
key
=
"TCPServerPort"
value
=
"5246"
/>
<!--
AGV
调度服务器地址-->
<!--
AGV
调度服务器地址-->
<
add
key
=
"AgvServerIp"
value
=
"10.85.1
60
.20"
/>
<
add
key
=
"AgvServerIp"
value
=
"10.85.1
99
.20"
/>
<!--
IO
配置-->
<!--
IO
配置-->
<
add
key
=
"DIMS"
value
=
"60"
/>
<
add
key
=
"DIMS"
value
=
"60"
/>
<
add
key
=
"DOMS"
value
=
"300"
/>
<
add
key
=
"DOMS"
value
=
"300"
/>
...
@@ -46,6 +45,8 @@
...
@@ -46,6 +45,8 @@
<
add
key
=
"LabelName"
value
=
"test2"
/>
<
add
key
=
"LabelName"
value
=
"test2"
/>
<!--打印机名称-->
<!--打印机名称-->
<
add
key
=
"PrinterName"
value
=
"ZDesigner GT800-300dpi EPL"
/>
<
add
key
=
"PrinterName"
value
=
"ZDesigner GT800-300dpi EPL"
/>
<!--是否启用打印标签-->
<
add
key
=
"NeedPrintLabel"
value
=
"0"
/>
</
appSettings
>
</
appSettings
>
<
log4net
>
<
log4net
>
...
...
RC1266-AutoCountMachine/source/AutoCountClient/FrmInputEquip.Designer.cs
查看文件 @
f50be7f
...
@@ -312,7 +312,7 @@
...
@@ -312,7 +312,7 @@
this
.
chbAutoIn
.
Name
=
"chbAutoIn"
;
this
.
chbAutoIn
.
Name
=
"chbAutoIn"
;
this
.
chbAutoIn
.
Size
=
new
System
.
Drawing
.
Size
(
154
,
24
);
this
.
chbAutoIn
.
Size
=
new
System
.
Drawing
.
Size
(
154
,
24
);
this
.
chbAutoIn
.
TabIndex
=
289
;
this
.
chbAutoIn
.
TabIndex
=
289
;
this
.
chbAutoIn
.
Text
=
"检测到料
架
自动取料"
;
this
.
chbAutoIn
.
Text
=
"检测到料
串
自动取料"
;
this
.
chbAutoIn
.
UseVisualStyleBackColor
=
true
;
this
.
chbAutoIn
.
UseVisualStyleBackColor
=
true
;
this
.
chbAutoIn
.
CheckedChanged
+=
new
System
.
EventHandler
(
this
.
chbAutoIn_CheckedChanged
);
this
.
chbAutoIn
.
CheckedChanged
+=
new
System
.
EventHandler
(
this
.
chbAutoIn_CheckedChanged
);
//
//
...
@@ -364,8 +364,8 @@
...
@@ -364,8 +364,8 @@
this
.
comTP
.
FormattingEnabled
=
true
;
this
.
comTP
.
FormattingEnabled
=
true
;
this
.
comTP
.
Items
.
AddRange
(
new
object
[]
{
this
.
comTP
.
Items
.
AddRange
(
new
object
[]
{
"XRay入口"
,
"XRay入口"
,
"
工位高层
"
,
"
电容测值工位
"
,
"
工位低层
"
});
"
电阻测值工位
"
});
this
.
comTP
.
Location
=
new
System
.
Drawing
.
Point
(
752
,
66
);
this
.
comTP
.
Location
=
new
System
.
Drawing
.
Point
(
752
,
66
);
this
.
comTP
.
Name
=
"comTP"
;
this
.
comTP
.
Name
=
"comTP"
;
this
.
comTP
.
Size
=
new
System
.
Drawing
.
Size
(
108
,
28
);
this
.
comTP
.
Size
=
new
System
.
Drawing
.
Size
(
108
,
28
);
...
@@ -423,7 +423,7 @@
...
@@ -423,7 +423,7 @@
this
.
btnUpdateShelf
.
Name
=
"btnUpdateShelf"
;
this
.
btnUpdateShelf
.
Name
=
"btnUpdateShelf"
;
this
.
btnUpdateShelf
.
Size
=
new
System
.
Drawing
.
Size
(
110
,
40
);
this
.
btnUpdateShelf
.
Size
=
new
System
.
Drawing
.
Size
(
110
,
40
);
this
.
btnUpdateShelf
.
TabIndex
=
281
;
this
.
btnUpdateShelf
.
TabIndex
=
281
;
this
.
btnUpdateShelf
.
Text
=
"更改料
架
号"
;
this
.
btnUpdateShelf
.
Text
=
"更改料
串
号"
;
this
.
btnUpdateShelf
.
UseVisualStyleBackColor
=
false
;
this
.
btnUpdateShelf
.
UseVisualStyleBackColor
=
false
;
this
.
btnUpdateShelf
.
Visible
=
false
;
this
.
btnUpdateShelf
.
Visible
=
false
;
this
.
btnUpdateShelf
.
Click
+=
new
System
.
EventHandler
(
this
.
btnUpdateShelf_Click
);
this
.
btnUpdateShelf
.
Click
+=
new
System
.
EventHandler
(
this
.
btnUpdateShelf_Click
);
...
@@ -1018,7 +1018,7 @@
...
@@ -1018,7 +1018,7 @@
this
.
btnip4
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
btnip4
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
btnip4
.
Size
=
new
System
.
Drawing
.
Size
(
163
,
34
);
this
.
btnip4
.
Size
=
new
System
.
Drawing
.
Size
(
163
,
34
);
this
.
btnip4
.
TabIndex
=
319
;
this
.
btnip4
.
TabIndex
=
319
;
this
.
btnip4
.
Text
=
"进出轴
人工
工位放料点P4:"
;
this
.
btnip4
.
Text
=
"进出轴
测值
工位放料点P4:"
;
this
.
btnip4
.
UseVisualStyleBackColor
=
false
;
this
.
btnip4
.
UseVisualStyleBackColor
=
false
;
this
.
btnip4
.
Click
+=
new
System
.
EventHandler
(
this
.
btnip4_Click
);
this
.
btnip4
.
Click
+=
new
System
.
EventHandler
(
this
.
btnip4_Click
);
//
//
...
@@ -1048,7 +1048,7 @@
...
@@ -1048,7 +1048,7 @@
this
.
btnMP4
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
btnMP4
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
btnMP4
.
Size
=
new
System
.
Drawing
.
Size
(
163
,
34
);
this
.
btnMP4
.
Size
=
new
System
.
Drawing
.
Size
(
163
,
34
);
this
.
btnMP4
.
TabIndex
=
320
;
this
.
btnMP4
.
TabIndex
=
320
;
this
.
btnMP4
.
Text
=
"旋转轴
人工
工位放料点P4:"
;
this
.
btnMP4
.
Text
=
"旋转轴
测值
工位放料点P4:"
;
this
.
btnMP4
.
UseVisualStyleBackColor
=
false
;
this
.
btnMP4
.
UseVisualStyleBackColor
=
false
;
this
.
btnMP4
.
Click
+=
new
System
.
EventHandler
(
this
.
btnMP4_Click
);
this
.
btnMP4
.
Click
+=
new
System
.
EventHandler
(
this
.
btnMP4_Click
);
//
//
...
...
RC1266-AutoCountMachine/source/AutoCountClient/FrmInputEquip.cs
查看文件 @
f50be7f
...
@@ -508,8 +508,10 @@ namespace OnlineStore.AutoCountClient
...
@@ -508,8 +508,10 @@ namespace OnlineStore.AutoCountClient
private
void
btnScan_Click
(
object
sender
,
EventArgs
e
)
private
void
btnScan_Click
(
object
sender
,
EventArgs
e
)
{
{
List
<
string
>
LastCodeList
=
CodeManager
.
CameraScan
(
equipBean
.
Config
.
LeftCamera
,
equipBean
.
Name
);
equipBean
.
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
HIGH
);
string
msg
=
CodeManager
.
ProcessCode
(
LastCodeList
);
List
<
string
>
LastCodeList
=
CodeManager
.
CameraScan
(
equipBean
.
Name
,
equipBean
.
Config
.
LeftCamera
);
string
msg
=
CodeManager
.
GetValidCode
(
LastCodeList
);
equipBean
.
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
LOW
);
LogUtil
.
info
(
equipBean
.
Name
+
"["
+
equipBean
.
Config
.
LeftCamera
+
"]扫码测试结果:\r\n"
+
msg
);
LogUtil
.
info
(
equipBean
.
Name
+
"["
+
equipBean
.
Config
.
LeftCamera
+
"]扫码测试结果:\r\n"
+
msg
);
MessageBox
.
Show
(
equipBean
.
Name
+
"["
+
equipBean
.
Config
.
LeftCamera
+
"]扫码测试结果:"
+
msg
);
MessageBox
.
Show
(
equipBean
.
Name
+
"["
+
equipBean
.
Config
.
LeftCamera
+
"]扫码测试结果:"
+
msg
);
}
}
...
@@ -526,10 +528,10 @@ namespace OnlineStore.AutoCountClient
...
@@ -526,10 +528,10 @@ namespace OnlineStore.AutoCountClient
private
void
btnUpdateShelf_Click
(
object
sender
,
EventArgs
e
)
private
void
btnUpdateShelf_Click
(
object
sender
,
EventArgs
e
)
{
{
//string shel = txtShelfID.Text.Trim();
//string shel = txtShelfID.Text.Trim();
//DialogResult result = MessageBox.Show("确定更改当前料
架
号为:" + shel + "?", "", MessageBoxButtons.YesNo);
//DialogResult result = MessageBox.Show("确定更改当前料
串
号为:" + shel + "?", "", MessageBoxButtons.YesNo);
//if (result.Equals(DialogResult.Yes))
//if (result.Equals(DialogResult.Yes))
//{
//{
// LogUtil.info(equipBean.Name + "旧料
架号【" + equipBean.CurrShelfId + "】手动更改料架
号为【" + shel + "】");
// LogUtil.info(equipBean.Name + "旧料
串号【" + equipBean.CurrShelfId + "】手动更改料串
号为【" + shel + "】");
// equipBean.CurrShelfId = shel;
// equipBean.CurrShelfId = shel;
//}
//}
}
}
...
@@ -641,8 +643,10 @@ namespace OnlineStore.AutoCountClient
...
@@ -641,8 +643,10 @@ namespace OnlineStore.AutoCountClient
private
void
btnRScan_Click
(
object
sender
,
EventArgs
e
)
private
void
btnRScan_Click
(
object
sender
,
EventArgs
e
)
{
{
List
<
string
>
LastCodeList
=
CodeManager
.
CameraScan
(
equipBean
.
Config
.
RightCamera
,
equipBean
.
Name
);
equipBean
.
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
HIGH
);
string
msg
=
CodeManager
.
ProcessCode
(
LastCodeList
);
List
<
string
>
LastCodeList
=
CodeManager
.
CameraScan
(
equipBean
.
Name
,
equipBean
.
Config
.
RightCamera
);
string
msg
=
CodeManager
.
GetValidCode
(
LastCodeList
);
equipBean
.
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
LOW
);
LogUtil
.
info
(
equipBean
.
Name
+
"["
+
equipBean
.
Config
.
RightCamera
+
"]扫码测试结果:\r\n"
+
msg
);
LogUtil
.
info
(
equipBean
.
Name
+
"["
+
equipBean
.
Config
.
RightCamera
+
"]扫码测试结果:\r\n"
+
msg
);
MessageBox
.
Show
(
equipBean
.
Name
+
"["
+
equipBean
.
Config
.
RightCamera
+
"]扫码测试结果:"
+
msg
);
MessageBox
.
Show
(
equipBean
.
Name
+
"["
+
equipBean
.
Config
.
RightCamera
+
"]扫码测试结果:"
+
msg
);
}
}
...
@@ -689,6 +693,7 @@ namespace OnlineStore.AutoCountClient
...
@@ -689,6 +693,7 @@ namespace OnlineStore.AutoCountClient
private
void
btnPutTray_Click
(
object
sender
,
EventArgs
e
)
private
void
btnPutTray_Click
(
object
sender
,
EventArgs
e
)
{
{
LogUtil
.
info
(
equipBean
.
Name
+
"点击 取料测试"
);
if
(
equipBean
.
runStatus
.
Equals
(
RobotRunStatus
.
Runing
)
&&
equipBean
.
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
None
))
if
(
equipBean
.
runStatus
.
Equals
(
RobotRunStatus
.
Runing
)
&&
equipBean
.
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
None
))
{
{
int
inp
=
comInP
.
SelectedIndex
+
1
;
int
inp
=
comInP
.
SelectedIndex
+
1
;
...
@@ -735,7 +740,7 @@ namespace OnlineStore.AutoCountClient
...
@@ -735,7 +740,7 @@ namespace OnlineStore.AutoCountClient
bool
isCheck
=
chbAutoIn
.
Checked
;
bool
isCheck
=
chbAutoIn
.
Checked
;
equipBean
.
AutoInput
=
isCheck
;
equipBean
.
AutoInput
=
isCheck
;
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
AutoInput
,
(
isCheck
?
1
:
0
));
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
AutoInput
,
(
isCheck
?
1
:
0
));
LogUtil
.
info
(
equipBean
.
Name
+
"用户切换 检测到料
架
自动取料 ="
+
isCheck
);
LogUtil
.
info
(
equipBean
.
Name
+
"用户切换 检测到料
串
自动取料 ="
+
isCheck
);
}
}
}
}
...
...
RC1266-AutoCountMachine/source/AutoCountClient/FrmOutputEquip.Designer.cs
查看文件 @
f50be7f
...
@@ -900,7 +900,7 @@
...
@@ -900,7 +900,7 @@
this
.
chbAutoSend
.
Name
=
"chbAutoSend"
;
this
.
chbAutoSend
.
Name
=
"chbAutoSend"
;
this
.
chbAutoSend
.
Size
=
new
System
.
Drawing
.
Size
(
140
,
24
);
this
.
chbAutoSend
.
Size
=
new
System
.
Drawing
.
Size
(
140
,
24
);
this
.
chbAutoSend
.
TabIndex
=
290
;
this
.
chbAutoSend
.
TabIndex
=
290
;
this
.
chbAutoSend
.
Text
=
"放料完成送出料
架
"
;
this
.
chbAutoSend
.
Text
=
"放料完成送出料
串
"
;
this
.
chbAutoSend
.
UseVisualStyleBackColor
=
true
;
this
.
chbAutoSend
.
UseVisualStyleBackColor
=
true
;
this
.
chbAutoSend
.
CheckedChanged
+=
new
System
.
EventHandler
(
this
.
chbAutoSend_CheckedChanged
);
this
.
chbAutoSend
.
CheckedChanged
+=
new
System
.
EventHandler
(
this
.
chbAutoSend_CheckedChanged
);
//
//
...
@@ -1432,7 +1432,7 @@
...
@@ -1432,7 +1432,7 @@
this
.
groupBox9
.
Controls
.
Add
(
this
.
btnBP1
);
this
.
groupBox9
.
Controls
.
Add
(
this
.
btnBP1
);
this
.
groupBox9
.
Controls
.
Add
(
this
.
btnBP2
);
this
.
groupBox9
.
Controls
.
Add
(
this
.
btnBP2
);
this
.
groupBox9
.
Controls
.
Add
(
this
.
txtBP2
);
this
.
groupBox9
.
Controls
.
Add
(
this
.
txtBP2
);
this
.
groupBox9
.
Location
=
new
System
.
Drawing
.
Point
(
451
,
3
13
);
this
.
groupBox9
.
Location
=
new
System
.
Drawing
.
Point
(
451
,
3
25
);
this
.
groupBox9
.
Name
=
"groupBox9"
;
this
.
groupBox9
.
Name
=
"groupBox9"
;
this
.
groupBox9
.
Size
=
new
System
.
Drawing
.
Size
(
268
,
152
);
this
.
groupBox9
.
Size
=
new
System
.
Drawing
.
Size
(
268
,
152
);
this
.
groupBox9
.
TabIndex
=
321
;
this
.
groupBox9
.
TabIndex
=
321
;
...
@@ -1534,7 +1534,7 @@
...
@@ -1534,7 +1534,7 @@
this
.
btnOpenAllAxis
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btnOpenAllAxis
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btnOpenAllAxis
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnOpenAllAxis
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnOpenAllAxis
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnOpenAllAxis
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnOpenAllAxis
.
Location
=
new
System
.
Drawing
.
Point
(
12
,
3
20
);
this
.
btnOpenAllAxis
.
Location
=
new
System
.
Drawing
.
Point
(
12
,
3
32
);
this
.
btnOpenAllAxis
.
Name
=
"btnOpenAllAxis"
;
this
.
btnOpenAllAxis
.
Name
=
"btnOpenAllAxis"
;
this
.
btnOpenAllAxis
.
Size
=
new
System
.
Drawing
.
Size
(
166
,
40
);
this
.
btnOpenAllAxis
.
Size
=
new
System
.
Drawing
.
Size
(
166
,
40
);
this
.
btnOpenAllAxis
.
TabIndex
=
319
;
this
.
btnOpenAllAxis
.
TabIndex
=
319
;
...
@@ -1547,7 +1547,7 @@
...
@@ -1547,7 +1547,7 @@
this
.
btnBSave
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btnBSave
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btnBSave
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnBSave
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnBSave
.
ForeColor
=
System
.
Drawing
.
Color
.
Black
;
this
.
btnBSave
.
ForeColor
=
System
.
Drawing
.
Color
.
Black
;
this
.
btnBSave
.
Location
=
new
System
.
Drawing
.
Point
(
260
,
3
51
);
this
.
btnBSave
.
Location
=
new
System
.
Drawing
.
Point
(
260
,
3
63
);
this
.
btnBSave
.
Name
=
"btnBSave"
;
this
.
btnBSave
.
Name
=
"btnBSave"
;
this
.
btnBSave
.
Size
=
new
System
.
Drawing
.
Size
(
166
,
40
);
this
.
btnBSave
.
Size
=
new
System
.
Drawing
.
Size
(
166
,
40
);
this
.
btnBSave
.
TabIndex
=
310
;
this
.
btnBSave
.
TabIndex
=
310
;
...
@@ -1560,7 +1560,7 @@
...
@@ -1560,7 +1560,7 @@
this
.
btnCloseAxis
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btnCloseAxis
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btnCloseAxis
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnCloseAxis
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnCloseAxis
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnCloseAxis
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnCloseAxis
.
Location
=
new
System
.
Drawing
.
Point
(
12
,
3
62
);
this
.
btnCloseAxis
.
Location
=
new
System
.
Drawing
.
Point
(
12
,
3
74
);
this
.
btnCloseAxis
.
Name
=
"btnCloseAxis"
;
this
.
btnCloseAxis
.
Name
=
"btnCloseAxis"
;
this
.
btnCloseAxis
.
Size
=
new
System
.
Drawing
.
Size
(
166
,
40
);
this
.
btnCloseAxis
.
Size
=
new
System
.
Drawing
.
Size
(
166
,
40
);
this
.
btnCloseAxis
.
TabIndex
=
320
;
this
.
btnCloseAxis
.
TabIndex
=
320
;
...
@@ -1827,10 +1827,10 @@
...
@@ -1827,10 +1827,10 @@
//
//
// axisMoveControl1
// axisMoveControl1
//
//
this
.
axisMoveControl1
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
4
);
this
.
axisMoveControl1
.
Location
=
new
System
.
Drawing
.
Point
(
3
,
5
);
this
.
axisMoveControl1
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
3
,
4
,
3
,
4
);
this
.
axisMoveControl1
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
3
,
4
,
3
,
4
);
this
.
axisMoveControl1
.
Name
=
"axisMoveControl1"
;
this
.
axisMoveControl1
.
Name
=
"axisMoveControl1"
;
this
.
axisMoveControl1
.
Size
=
new
System
.
Drawing
.
Size
(
728
,
3
05
);
this
.
axisMoveControl1
.
Size
=
new
System
.
Drawing
.
Size
(
728
,
3
10
);
this
.
axisMoveControl1
.
TabIndex
=
0
;
this
.
axisMoveControl1
.
TabIndex
=
0
;
//
//
// btnStop
// btnStop
...
...
RC1266-AutoCountMachine/source/AutoCountClient/FrmOutputEquip.cs
查看文件 @
f50be7f
...
@@ -727,7 +727,7 @@ namespace OnlineStore.AutoCountClient
...
@@ -727,7 +727,7 @@ namespace OnlineStore.AutoCountClient
{
{
bool
isCheck
=
chbAutoSend
.
Checked
;
bool
isCheck
=
chbAutoSend
.
Checked
;
equipBean
.
AutoSendShelfOut
=
isCheck
;
equipBean
.
AutoSendShelfOut
=
isCheck
;
LogUtil
.
info
(
equipBean
.
Name
+
"用户切换 放料完成送出料
架
="
+
isCheck
);
LogUtil
.
info
(
equipBean
.
Name
+
"用户切换 放料完成送出料
串
="
+
isCheck
);
}
}
}
}
...
...
RC1266-AutoCountMachine/source/AutoCountClient/FrmRobotMain.cs
查看文件 @
f50be7f
...
@@ -105,9 +105,9 @@ namespace OnlineStore.AutoCountClient
...
@@ -105,9 +105,9 @@ namespace OnlineStore.AutoCountClient
this
.
listView1
.
Columns
.
Clear
();
this
.
listView1
.
Columns
.
Clear
();
AddHealder
(
"设备名称"
,
90
);
AddHealder
(
"设备名称"
,
90
);
AddHealder
(
"启用"
,
50
);
AddHealder
(
"启用"
,
50
);
AddHealder
(
"报警"
,
1
1
0
);
AddHealder
(
"报警"
,
1
3
0
);
AddHealder
(
"状态"
,
110
);
AddHealder
(
"状态"
,
110
);
AddHealder
(
"料盘信息"
,
listView1
.
Size
.
Width
-
110
-
1
1
0
-
50
-
90
-
10
);
AddHealder
(
"料盘信息"
,
listView1
.
Size
.
Width
-
110
-
1
3
0
-
50
-
90
-
10
);
//AddHealder("BOX状态", listView1.Size.Width - 100 - 80 - 80 - 100 - 100 - 100 -40- 8);
//AddHealder("BOX状态", listView1.Size.Width - 100 - 80 - 80 - 100 - 100 - 100 -40- 8);
AddRow
(
robot
.
inputEquip
,
robot
.
inputEquip
.
IsDebug
);
AddRow
(
robot
.
inputEquip
,
robot
.
inputEquip
.
IsDebug
);
...
@@ -454,6 +454,17 @@ namespace OnlineStore.AutoCountClient
...
@@ -454,6 +454,17 @@ namespace OnlineStore.AutoCountClient
SetItemText
(
i
,
item_debug_index
,
equip
.
IsDebug
?
"✘"
:
"✔"
);
SetItemText
(
i
,
item_debug_index
,
equip
.
IsDebug
?
"✘"
:
"✔"
);
SetItemText
(
i
,
item_alarm_index
,
equip
.
alarmType
.
ToString
());
SetItemText
(
i
,
item_alarm_index
,
equip
.
alarmType
.
ToString
());
SetItemText
(
i
,
item_runStr_index
,
equip
.
GetRunStr
());
SetItemText
(
i
,
item_runStr_index
,
equip
.
GetRunStr
());
string
trayInfo
=
""
;
if
(
equip
.
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Working
)
||
equip
.
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Labelling
))
{
trayInfo
=
equip
.
MoveInfo
.
MoveParam
.
OutStr
();
}
else
if
(
equip
.
SecMoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Working
)
||
equip
.
SecMoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Labelling
))
{
trayInfo
=
equip
.
SecMoveInfo
.
MoveParam
.
OutStr
();
}
SetItemText
(
i
,
item_move_info_index
,
trayInfo
);
SetItemColor
(
i
,
equip
.
runStatus
,
equip
.
alarmType
);
SetItemColor
(
i
,
equip
.
runStatus
,
equip
.
alarmType
);
i
++;
i
++;
}
}
...
@@ -564,6 +575,7 @@ namespace OnlineStore.AutoCountClient
...
@@ -564,6 +575,7 @@ namespace OnlineStore.AutoCountClient
private
void
二维码学习
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
private
void
二维码学习
ToolStripMenuItem_Click
(
object
sender
,
EventArgs
e
)
{
{
IOManager
.
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
HIGH
);
if
(
Camera
.
_cam
!=
null
)
if
(
Camera
.
_cam
!=
null
)
{
{
Camera
.
_cam
.
CloseAll
();
Camera
.
_cam
.
CloseAll
();
...
@@ -571,6 +583,7 @@ namespace OnlineStore.AutoCountClient
...
@@ -571,6 +583,7 @@ namespace OnlineStore.AutoCountClient
CodeLibrary
.
FrmCodeDecode
frm
=
new
CodeLibrary
.
FrmCodeDecode
();
CodeLibrary
.
FrmCodeDecode
frm
=
new
CodeLibrary
.
FrmCodeDecode
();
frm
.
ShowDialog
();
frm
.
ShowDialog
();
frm
.
Dispose
();
frm
.
Dispose
();
IOManager
.
IOMove
(
IO_Type
.
Camera_Led
,
IO_VALUE
.
LOW
);
}
}
...
...
RC1266-AutoCountMachine/source/AutoCountClient/useControl/AxisMoveControl.Designer.cs
查看文件 @
f50be7f
...
@@ -74,6 +74,8 @@
...
@@ -74,6 +74,8 @@
this
.
txtAxisValue
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtAxisValue
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtAxisDeviceName
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtAxisDeviceName
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
lblServerOn
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
lblServerOn
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtStb
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label2
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
groupAxis
.
SuspendLayout
();
this
.
groupAxis
.
SuspendLayout
();
this
.
groupBox1
.
SuspendLayout
();
this
.
groupBox1
.
SuspendLayout
();
this
.
panel1
.
SuspendLayout
();
this
.
panel1
.
SuspendLayout
();
...
@@ -89,15 +91,17 @@
...
@@ -89,15 +91,17 @@
this
.
groupAxis
.
Controls
.
Add
(
this
.
panel1
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
panel1
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
lblServerOn
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
lblServerOn
);
this
.
groupAxis
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
groupAxis
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
groupAxis
.
Location
=
new
System
.
Drawing
.
Point
(
9
,
4
);
this
.
groupAxis
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
3
);
this
.
groupAxis
.
Name
=
"groupAxis"
;
this
.
groupAxis
.
Name
=
"groupAxis"
;
this
.
groupAxis
.
Size
=
new
System
.
Drawing
.
Size
(
7
16
,
297
);
this
.
groupAxis
.
Size
=
new
System
.
Drawing
.
Size
(
7
24
,
302
);
this
.
groupAxis
.
TabIndex
=
218
;
this
.
groupAxis
.
TabIndex
=
218
;
this
.
groupAxis
.
TabStop
=
false
;
this
.
groupAxis
.
TabStop
=
false
;
this
.
groupAxis
.
Text
=
"伺服运动"
;
this
.
groupAxis
.
Text
=
"伺服运动"
;
//
//
// groupBox1
// groupBox1
//
//
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtStb
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label2
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtBusyStatus
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtBusyStatus
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label11
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label11
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtHomeStatus
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtHomeStatus
);
...
@@ -113,9 +117,9 @@
...
@@ -113,9 +117,9 @@
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtLimit1
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtLimit1
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label6
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label6
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtHomeSingle
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtHomeSingle
);
this
.
groupBox1
.
Location
=
new
System
.
Drawing
.
Point
(
553
,
1
1
);
this
.
groupBox1
.
Location
=
new
System
.
Drawing
.
Point
(
553
,
1
2
);
this
.
groupBox1
.
Name
=
"groupBox1"
;
this
.
groupBox1
.
Name
=
"groupBox1"
;
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
154
,
2
77
);
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
154
,
2
82
);
this
.
groupBox1
.
TabIndex
=
302
;
this
.
groupBox1
.
TabIndex
=
302
;
this
.
groupBox1
.
TabStop
=
false
;
this
.
groupBox1
.
TabStop
=
false
;
this
.
groupBox1
.
Text
=
"状态"
;
this
.
groupBox1
.
Text
=
"状态"
;
...
@@ -123,7 +127,7 @@
...
@@ -123,7 +127,7 @@
// txtBusyStatus
// txtBusyStatus
//
//
this
.
txtBusyStatus
.
Enabled
=
false
;
this
.
txtBusyStatus
.
Enabled
=
false
;
this
.
txtBusyStatus
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
80
);
this
.
txtBusyStatus
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
104
);
this
.
txtBusyStatus
.
Name
=
"txtBusyStatus"
;
this
.
txtBusyStatus
.
Name
=
"txtBusyStatus"
;
this
.
txtBusyStatus
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtBusyStatus
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtBusyStatus
.
TabIndex
=
288
;
this
.
txtBusyStatus
.
TabIndex
=
288
;
...
@@ -131,7 +135,7 @@
...
@@ -131,7 +135,7 @@
// label11
// label11
//
//
this
.
label11
.
AutoSize
=
true
;
this
.
label11
.
AutoSize
=
true
;
this
.
label11
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
1
13
);
this
.
label11
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
1
35
);
this
.
label11
.
Name
=
"label11"
;
this
.
label11
.
Name
=
"label11"
;
this
.
label11
.
Size
=
new
System
.
Drawing
.
Size
(
105
,
17
);
this
.
label11
.
Size
=
new
System
.
Drawing
.
Size
(
105
,
17
);
this
.
label11
.
TabIndex
=
292
;
this
.
label11
.
TabIndex
=
292
;
...
@@ -140,7 +144,7 @@
...
@@ -140,7 +144,7 @@
// txtHomeStatus
// txtHomeStatus
//
//
this
.
txtHomeStatus
.
Enabled
=
false
;
this
.
txtHomeStatus
.
Enabled
=
false
;
this
.
txtHomeStatus
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
1
10
);
this
.
txtHomeStatus
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
1
32
);
this
.
txtHomeStatus
.
Name
=
"txtHomeStatus"
;
this
.
txtHomeStatus
.
Name
=
"txtHomeStatus"
;
this
.
txtHomeStatus
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtHomeStatus
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtHomeStatus
.
TabIndex
=
291
;
this
.
txtHomeStatus
.
TabIndex
=
291
;
...
@@ -148,7 +152,7 @@
...
@@ -148,7 +152,7 @@
// label10
// label10
//
//
this
.
label10
.
AutoSize
=
true
;
this
.
label10
.
AutoSize
=
true
;
this
.
label10
.
Location
=
new
System
.
Drawing
.
Point
(
45
,
83
);
this
.
label10
.
Location
=
new
System
.
Drawing
.
Point
(
45
,
107
);
this
.
label10
.
Name
=
"label10"
;
this
.
label10
.
Name
=
"label10"
;
this
.
label10
.
Size
=
new
System
.
Drawing
.
Size
(
66
,
17
);
this
.
label10
.
Size
=
new
System
.
Drawing
.
Size
(
66
,
17
);
this
.
label10
.
TabIndex
=
289
;
this
.
label10
.
TabIndex
=
289
;
...
@@ -157,7 +161,7 @@
...
@@ -157,7 +161,7 @@
// label3
// label3
//
//
this
.
label3
.
AutoSize
=
true
;
this
.
label3
.
AutoSize
=
true
;
this
.
label3
.
Location
=
new
System
.
Drawing
.
Point
(
52
,
5
3
);
this
.
label3
.
Location
=
new
System
.
Drawing
.
Point
(
52
,
5
1
);
this
.
label3
.
Name
=
"label3"
;
this
.
label3
.
Name
=
"label3"
;
this
.
label3
.
Size
=
new
System
.
Drawing
.
Size
(
59
,
17
);
this
.
label3
.
Size
=
new
System
.
Drawing
.
Size
(
59
,
17
);
this
.
label3
.
TabIndex
=
286
;
this
.
label3
.
TabIndex
=
286
;
...
@@ -166,7 +170,7 @@
...
@@ -166,7 +170,7 @@
// label24
// label24
//
//
this
.
label24
.
AutoSize
=
true
;
this
.
label24
.
AutoSize
=
true
;
this
.
label24
.
Location
=
new
System
.
Drawing
.
Point
(
40
,
2
03
);
this
.
label24
.
Location
=
new
System
.
Drawing
.
Point
(
40
,
2
19
);
this
.
label24
.
Name
=
"label24"
;
this
.
label24
.
Name
=
"label24"
;
this
.
label24
.
Size
=
new
System
.
Drawing
.
Size
(
71
,
17
);
this
.
label24
.
Size
=
new
System
.
Drawing
.
Size
(
71
,
17
);
this
.
label24
.
TabIndex
=
316
;
this
.
label24
.
TabIndex
=
316
;
...
@@ -176,7 +180,7 @@
...
@@ -176,7 +180,7 @@
// label5
// label5
//
//
this
.
label5
.
AutoSize
=
true
;
this
.
label5
.
AutoSize
=
true
;
this
.
label5
.
Location
=
new
System
.
Drawing
.
Point
(
5
4
,
23
);
this
.
label5
.
Location
=
new
System
.
Drawing
.
Point
(
5
2
,
23
);
this
.
label5
.
Name
=
"label5"
;
this
.
label5
.
Name
=
"label5"
;
this
.
label5
.
Size
=
new
System
.
Drawing
.
Size
(
59
,
17
);
this
.
label5
.
Size
=
new
System
.
Drawing
.
Size
(
59
,
17
);
this
.
label5
.
TabIndex
=
328
;
this
.
label5
.
TabIndex
=
328
;
...
@@ -186,7 +190,7 @@
...
@@ -186,7 +190,7 @@
//
//
this
.
btnGetAlarm
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btnGetAlarm
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btnGetAlarm
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnGetAlarm
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnGetAlarm
.
Location
=
new
System
.
Drawing
.
Point
(
35
,
2
33
);
this
.
btnGetAlarm
.
Location
=
new
System
.
Drawing
.
Point
(
35
,
2
45
);
this
.
btnGetAlarm
.
Name
=
"btnGetAlarm"
;
this
.
btnGetAlarm
.
Name
=
"btnGetAlarm"
;
this
.
btnGetAlarm
.
Size
=
new
System
.
Drawing
.
Size
(
110
,
34
);
this
.
btnGetAlarm
.
Size
=
new
System
.
Drawing
.
Size
(
110
,
34
);
this
.
btnGetAlarm
.
TabIndex
=
284
;
this
.
btnGetAlarm
.
TabIndex
=
284
;
...
@@ -197,7 +201,7 @@
...
@@ -197,7 +201,7 @@
// txtAlarmStatus
// txtAlarmStatus
//
//
this
.
txtAlarmStatus
.
Enabled
=
false
;
this
.
txtAlarmStatus
.
Enabled
=
false
;
this
.
txtAlarmStatus
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
50
);
this
.
txtAlarmStatus
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
48
);
this
.
txtAlarmStatus
.
Name
=
"txtAlarmStatus"
;
this
.
txtAlarmStatus
.
Name
=
"txtAlarmStatus"
;
this
.
txtAlarmStatus
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtAlarmStatus
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtAlarmStatus
.
TabIndex
=
285
;
this
.
txtAlarmStatus
.
TabIndex
=
285
;
...
@@ -205,7 +209,7 @@
...
@@ -205,7 +209,7 @@
// txtLimit2
// txtLimit2
//
//
this
.
txtLimit2
.
Enabled
=
false
;
this
.
txtLimit2
.
Enabled
=
false
;
this
.
txtLimit2
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
2
00
);
this
.
txtLimit2
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
2
16
);
this
.
txtLimit2
.
Name
=
"txtLimit2"
;
this
.
txtLimit2
.
Name
=
"txtLimit2"
;
this
.
txtLimit2
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtLimit2
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtLimit2
.
TabIndex
=
313
;
this
.
txtLimit2
.
TabIndex
=
313
;
...
@@ -221,7 +225,7 @@
...
@@ -221,7 +225,7 @@
// label22
// label22
//
//
this
.
label22
.
AutoSize
=
true
;
this
.
label22
.
AutoSize
=
true
;
this
.
label22
.
Location
=
new
System
.
Drawing
.
Point
(
40
,
1
73
);
this
.
label22
.
Location
=
new
System
.
Drawing
.
Point
(
40
,
1
91
);
this
.
label22
.
Name
=
"label22"
;
this
.
label22
.
Name
=
"label22"
;
this
.
label22
.
Size
=
new
System
.
Drawing
.
Size
(
71
,
17
);
this
.
label22
.
Size
=
new
System
.
Drawing
.
Size
(
71
,
17
);
this
.
label22
.
TabIndex
=
312
;
this
.
label22
.
TabIndex
=
312
;
...
@@ -231,7 +235,7 @@
...
@@ -231,7 +235,7 @@
// txtLimit1
// txtLimit1
//
//
this
.
txtLimit1
.
Enabled
=
false
;
this
.
txtLimit1
.
Enabled
=
false
;
this
.
txtLimit1
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
1
70
);
this
.
txtLimit1
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
1
88
);
this
.
txtLimit1
.
Name
=
"txtLimit1"
;
this
.
txtLimit1
.
Name
=
"txtLimit1"
;
this
.
txtLimit1
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtLimit1
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtLimit1
.
TabIndex
=
309
;
this
.
txtLimit1
.
TabIndex
=
309
;
...
@@ -239,7 +243,7 @@
...
@@ -239,7 +243,7 @@
// label6
// label6
//
//
this
.
label6
.
AutoSize
=
true
;
this
.
label6
.
AutoSize
=
true
;
this
.
label6
.
Location
=
new
System
.
Drawing
.
Point
(
52
,
1
4
3
);
this
.
label6
.
Location
=
new
System
.
Drawing
.
Point
(
52
,
1
6
3
);
this
.
label6
.
Name
=
"label6"
;
this
.
label6
.
Name
=
"label6"
;
this
.
label6
.
Size
=
new
System
.
Drawing
.
Size
(
59
,
17
);
this
.
label6
.
Size
=
new
System
.
Drawing
.
Size
(
59
,
17
);
this
.
label6
.
TabIndex
=
300
;
this
.
label6
.
TabIndex
=
300
;
...
@@ -248,7 +252,7 @@
...
@@ -248,7 +252,7 @@
// txtHomeSingle
// txtHomeSingle
//
//
this
.
txtHomeSingle
.
Enabled
=
false
;
this
.
txtHomeSingle
.
Enabled
=
false
;
this
.
txtHomeSingle
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
1
4
0
);
this
.
txtHomeSingle
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
1
6
0
);
this
.
txtHomeSingle
.
Name
=
"txtHomeSingle"
;
this
.
txtHomeSingle
.
Name
=
"txtHomeSingle"
;
this
.
txtHomeSingle
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtHomeSingle
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtHomeSingle
.
TabIndex
=
297
;
this
.
txtHomeSingle
.
TabIndex
=
297
;
...
@@ -654,12 +658,29 @@
...
@@ -654,12 +658,29 @@
this
.
lblServerOn
.
Size
=
new
System
.
Drawing
.
Size
(
0
,
19
);
this
.
lblServerOn
.
Size
=
new
System
.
Drawing
.
Size
(
0
,
19
);
this
.
lblServerOn
.
TabIndex
=
268
;
this
.
lblServerOn
.
TabIndex
=
268
;
//
//
// txtStb
//
this
.
txtStb
.
Enabled
=
false
;
this
.
txtStb
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
76
);
this
.
txtStb
.
Name
=
"txtStb"
;
this
.
txtStb
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtStb
.
TabIndex
=
329
;
//
// label2
//
this
.
label2
.
AutoSize
=
true
;
this
.
label2
.
Location
=
new
System
.
Drawing
.
Point
(
54
,
79
);
this
.
label2
.
Name
=
"label2"
;
this
.
label2
.
Size
=
new
System
.
Drawing
.
Size
(
57
,
17
);
this
.
label2
.
TabIndex
=
330
;
this
.
label2
.
Text
=
"STB状态:"
;
//
// AxisMoveControl
// AxisMoveControl
//
//
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
None
;
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
None
;
this
.
Controls
.
Add
(
this
.
groupAxis
);
this
.
Controls
.
Add
(
this
.
groupAxis
);
this
.
Name
=
"AxisMoveControl"
;
this
.
Name
=
"AxisMoveControl"
;
this
.
Size
=
new
System
.
Drawing
.
Size
(
731
,
3
05
);
this
.
Size
=
new
System
.
Drawing
.
Size
(
731
,
3
10
);
this
.
groupAxis
.
ResumeLayout
(
false
);
this
.
groupAxis
.
ResumeLayout
(
false
);
this
.
groupAxis
.
PerformLayout
();
this
.
groupAxis
.
PerformLayout
();
this
.
groupBox1
.
ResumeLayout
(
false
);
this
.
groupBox1
.
ResumeLayout
(
false
);
...
@@ -718,5 +739,7 @@
...
@@ -718,5 +739,7 @@
private
System
.
Windows
.
Forms
.
GroupBox
groupBox1
;
private
System
.
Windows
.
Forms
.
GroupBox
groupBox1
;
private
System
.
Windows
.
Forms
.
ComboBox
comjSpeed
;
private
System
.
Windows
.
Forms
.
ComboBox
comjSpeed
;
private
System
.
Windows
.
Forms
.
LinkLabel
linkLabel1
;
private
System
.
Windows
.
Forms
.
LinkLabel
linkLabel1
;
private
System
.
Windows
.
Forms
.
TextBox
txtStb
;
private
System
.
Windows
.
Forms
.
Label
label2
;
}
}
}
}
RC1266-AutoCountMachine/source/AutoCountClient/useControl/AxisMoveControl.cs
查看文件 @
f50be7f
...
@@ -158,6 +158,7 @@ namespace OnlineStore.AutoCountClient
...
@@ -158,6 +158,7 @@ namespace OnlineStore.AutoCountClient
{
{
this
.
txtAlarmStatus
.
Text
=
ACServerManager
.
GetAlarmStatus
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtAlarmStatus
.
Text
=
ACServerManager
.
GetAlarmStatus
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtBusyStatus
.
Text
=
ACServerManager
.
GetBusyStatus
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtBusyStatus
.
Text
=
ACServerManager
.
GetBusyStatus
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtStb
.
Text
=
ACServerManager
.
GetSTBState
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtHomeStatus
.
Text
=
ACServerManager
.
GetHomeEndStatus
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtHomeStatus
.
Text
=
ACServerManager
.
GetHomeEndStatus
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtHomeSingle
.
Text
=
ACServerManager
.
GetHomeSingle
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtHomeSingle
.
Text
=
ACServerManager
.
GetHomeSingle
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtLimit1
.
Text
=
ACServerManager
.
GetLimitPositiveSingle
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtLimit1
.
Text
=
ACServerManager
.
GetLimitPositiveSingle
(
PortName
,
SlvAddr
).
ToString
();
...
...
RC1266-AutoCountMachine/source/AutoCountClient/记录.txt
查看文件 @
f50be7f
...
@@ -6,9 +6,24 @@
...
@@ -6,9 +6,24 @@
2.入料模块上料BUG:批量轴上料功能完善。
2.入料模块上料BUG:批量轴上料功能完善。
1.检测到料
架
自动入库时,取料测试按钮不可用。
1.检测到料
串
自动入库时,取料测试按钮不可用。
2.自动入库时,目标位置在界面上可选。
2.自动入库时,目标位置在界面上可选。
3.X光机互锁信号增加验证。
3.X光机互锁信号增加验证。
4.入料模块复位时,需要先下降顶升气缸,防止伺服报警。
4.入料模块复位时,需要先下降顶升气缸,防止伺服报警。
去掉X56
去掉X56
20200526
增加入料照明
增加条码解析
增加接口代码
IO模块更新。
复位时Z轴报94.0
尺寸信息传到出口
复位是Xray入口若有料,入口皮带线不转。
出料料串最后一个料盘,没有贴标就把料串送出了。
RC1266-AutoCountMachine/source/Common/Setting_Init.cs
查看文件 @
f50be7f
...
@@ -68,7 +68,7 @@ namespace OnlineStore.Common
...
@@ -68,7 +68,7 @@ namespace OnlineStore.Common
public
static
string
ServerAddr
=
"ServerAddr"
;
public
static
string
ServerAddr
=
"ServerAddr"
;
/// <summary>
/// <summary>
/// 检测到料
架
自动入料
/// 检测到料
串
自动入料
/// </summary>
/// </summary>
public
static
string
AutoInput
=
"AutoInput"
;
public
static
string
AutoInput
=
"AutoInput"
;
/// <summary>
/// <summary>
...
@@ -78,5 +78,6 @@ namespace OnlineStore.Common
...
@@ -78,5 +78,6 @@ namespace OnlineStore.Common
public
static
string
LabelName
=
"LabelName"
;
public
static
string
LabelName
=
"LabelName"
;
public
static
string
PrinterName
=
"PrinterName"
;
public
static
string
PrinterName
=
"PrinterName"
;
public
static
string
NeedPrintLabel
=
"NeedPrintLabel"
;
}
}
}
}
RC1266-AutoCountMachine/source/Common/bean/Bean.cs
查看文件 @
f50be7f
...
@@ -236,15 +236,15 @@ namespace OnlineStore.Common
...
@@ -236,15 +236,15 @@ namespace OnlineStore.Common
/// </summary>
/// </summary>
public
static
string
cutReel
=
"cutReel"
;
public
static
string
cutReel
=
"cutReel"
;
/// <summary>
/// <summary>
/// smallReel: true 小料(7x8),放置到小料
架
上
/// smallReel: true 小料(7x8),放置到小料
串
上
/// </summary>
/// </summary>
public
static
string
smallReel
=
"smallReel"
;
public
static
string
smallReel
=
"smallReel"
;
/// <summary>
/// <summary>
/// rfid: 分配的料
架
RFID
/// rfid: 分配的料
串
RFID
/// </summary>
/// </summary>
public
static
string
rfid
=
"rfid"
;
public
static
string
rfid
=
"rfid"
;
/// <summary>
/// <summary>
/// rfidLoc: 料
架
的架位,值为 - 1时,可以自由分配皮带线, 小料时,架位为1 - 46优先走1 / 2号皮带线,47 - 92优先走3 / 4号皮带线,
/// rfidLoc: 料
串
的架位,值为 - 1时,可以自由分配皮带线, 小料时,架位为1 - 46优先走1 / 2号皮带线,47 - 92优先走3 / 4号皮带线,
/// 70,71,72时只能分配到3 / 4号皮带线; 大料时,架位1 - 6优先走1 / 2号皮带线, 7 - 12优先走3 / 4号皮带线
/// 70,71,72时只能分配到3 / 4号皮带线; 大料时,架位1 - 6优先走1 / 2号皮带线, 7 - 12优先走3 / 4号皮带线
/// </summary>
/// </summary>
public
static
string
rfidLoc
=
"rfidLoc"
;
public
static
string
rfidLoc
=
"rfidLoc"
;
...
...
RC1266-AutoCountMachine/source/Common/util/MyWebClient.cs
查看文件 @
f50be7f
...
@@ -72,18 +72,13 @@ namespace OnlineStore.Common
...
@@ -72,18 +72,13 @@ namespace OnlineStore.Common
}
}
return
true
;
return
true
;
}
}
//public static readonly ILog LOGGER = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public
static
string
Post
(
string
url
,
string
paramData
,
int
timeOut
=
10000
)
public
static
string
Post
(
string
url
,
string
paramData
,
int
timeOut
=
2000
)
{
{
return
Post
(
url
,
paramData
,
Encoding
.
UTF8
,
timeOut
);
return
Post
(
url
,
paramData
,
Encoding
.
UTF8
,
timeOut
);
}
}
private
static
int
isLog
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Server_Log_Open
);
private
static
int
isLog
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Server_Log_Open
);
public
static
string
Post
(
string
url
,
string
paramData
,
Encoding
encoding
,
int
timeOut
=
2
000
)
public
static
string
Post
(
string
url
,
string
paramData
,
Encoding
encoding
,
int
timeOut
=
10
000
)
{
{
//if (PingURLIP(url, 100).Equals(false))
//{
// return "";
//}
if
(
isLog
==
1
)
if
(
isLog
==
1
)
{
{
LogUtil
.
info
(
"给服务器发送数据【"
+
paramData
+
"】 "
);
LogUtil
.
info
(
"给服务器发送数据【"
+
paramData
+
"】 "
);
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/DeviceLibrary.csproj
查看文件 @
f50be7f
...
@@ -96,7 +96,6 @@
...
@@ -96,7 +96,6 @@
<Compile Include="deviceLibrary\IO\AIOBOX\AIOBOXManager.cs" />
<Compile Include="deviceLibrary\IO\AIOBOX\AIOBOXManager.cs" />
<Compile Include="deviceLibrary\IO\IOManager.cs" />
<Compile Include="deviceLibrary\IO\IOManager.cs" />
<Compile Include="bean\RobotBean.cs" />
<Compile Include="bean\RobotBean.cs" />
<Compile Include="bean\RobotBean_Partial.cs" />
<Compile Include="bean\X_RAY_Equip.cs" />
<Compile Include="bean\X_RAY_Equip.cs" />
<Compile Include="bean\X_RAY_Equip_Partial.cs" />
<Compile Include="bean\X_RAY_Equip_Partial.cs" />
<Compile Include="bean\EquipBase.cs" />
<Compile Include="bean\EquipBase.cs" />
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/RobotConfig/Config_InputEquip.csv
查看文件 @
f50be7f
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,
1
,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,
0
,,,,,
PRO,0,左入料线体相机名称,LeftCamera,GigE:MV-CE200-10GC (00E02588201),,,,,
PRO,0,左入料线体相机名称,LeftCamera,GigE:MV-CE200-10GC (00E02588201),,,,,
PRO,0,右入料线体相机名称,RightCamera,GigE:MV-CE200-10GC (00E02588199),,,,,
PRO,0,右入料线体相机名称,RightCamera,GigE:MV-CE200-10GC (00E02588199),,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
PRO,0,移栽上下运动是否使用伺服,UpDownUseAxis,1,,,,,
,,,,,,,,,
,,,,,,,,,
PRO,0,左侧上料口AGV站号名称,LeftAgvName,
F1
,,,,,
PRO,0,左侧上料口AGV站号名称,LeftAgvName,
D4
,,,,,
PRO,0,右侧上料口AGV站号名称,RightAgvName,
F2
,,,,,
PRO,0,右侧上料口AGV站号名称,RightAgvName,
D3
,,,,,
,,,,,,,,,
,,,,,,,,,
PRO,0,左侧提升轴待机点 P1,L_BatchAxisP1,100,,,,,
PRO,0,左侧提升轴待机点 P1,L_BatchAxisP1,100,,,,,
,0,左侧提升轴下降位置P2,L_BatchAxisP2,-48000,,,,,
,0,左侧提升轴下降位置P2,L_BatchAxisP2,-48000,,,,,
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/RobotConfig/Config_OutputEquip.csv
查看文件 @
f50be7f
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,
1
,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,
0
,,,,,
,,,,,,,,,
,,,,,,,,,
PRO,0,空料
架入口AGV站号名称,AgvInName,F3
,,,,,
PRO,0,空料
串入口AGV站号名称,AgvInName,D1
,,,,,
PRO,0,料
架出口AGV站号名称,AgvOutName,F4
,,,,,
PRO,0,料
串出口AGV站号名称,AgvOutName,D2
,,,,,
,,,,,,,,,
,,,,,,,,,
PRO,0,相机名称,CameraName,GigE:MV-CE200-10GC (00E02588177),,,,,
PRO,0,相机名称,CameraName,GigE:MV-CE200-10GC (00E02588177),,,,,
,,,,,,,,,
,,,,,,,,,
PRO,0,出料提升轴上升待机点 P1,BatchAxisP1,6332000,,,,,
PRO,0,出料提升轴上升待机点 P1,BatchAxisP1,6332000,,,,,
PRO,0,出料提升轴下降位置P2,BatchAxisP2,-
65841
,,,,,
PRO,0,出料提升轴下降位置P2,BatchAxisP2,-
80000
,,,,,
PRO,0,出料提升轴缓慢上升目标位置P3,BatchAxisP3,5610528,,,,,
PRO,0,出料提升轴缓慢上升目标位置P3,BatchAxisP3,5610528,,,,,
,,,,,,,,,
,,,,,,,,,
PRO,0,出料提升轴P1速度,BatchAxis_P1Speed,
4
000,,,,,
PRO,0,出料提升轴P1速度,BatchAxis_P1Speed,
3
000,,,,,
PRO,0,出料提升轴P2速度,BatchAxis_P2Speed,
4
000,,,,,
PRO,0,出料提升轴P2速度,BatchAxis_P2Speed,
3
000,,,,,
PRO,0,出料提升轴P3速度,BatchAxis_P3Speed,1
0
00,,,,,
PRO,0,出料提升轴P3速度,BatchAxis_P3Speed,1
5
00,,,,,
PRO,0,出料提升轴高度转换系数(1mm对应的脉冲),Height_ChangeValue,10446,,,,,
PRO,0,出料提升轴高度转换系数(1mm对应的脉冲),Height_ChangeValue,10446,,,,,
,,,,,,,,,
,,,,,,,,,
PRO,0,取料X轴待机点-P1,MoveX_P1,2001,,,,,
PRO,0,取料X轴待机点-P1,MoveX_P1,2001,,,,,
PRO,0,取料X轴-取料点-P2集合,MoveX_P2List,0=15
00
00;8=150000;12=150000;16=150000;24=150000;32=140000;44=120000;56=100000;13=4710;15=1350;11=10120;7=15900,,,,,
PRO,0,取料X轴-取料点-P2集合,MoveX_P2List,0=15
9
00;8=150000;12=150000;16=150000;24=150000;32=140000;44=120000;56=100000;13=4710;15=1350;11=10120;7=15900,,,,,
PRO,0,取料X轴-放料点-P3,MoveX_P3,77100,,,,,
PRO,0,取料X轴-放料点-P3,MoveX_P3,77100,,,,,
PRO,0,取料X轴P1速度,MoveX_P1Speed,500,,,,,
PRO,0,取料X轴P1速度,MoveX_P1Speed,500,,,,,
PRO,0,取料X轴P2速度,MoveX_P2Speed,500,,,,,
PRO,0,取料X轴P2速度,MoveX_P2Speed,500,,,,,
PRO,0,取料X轴P3速度,MoveX_P3Speed,500,,,,,
PRO,0,取料X轴P3速度,MoveX_P3Speed,500,,,,,
,,,,,,,,,
,,,,,,,,,
PRO,0,取料Z轴待机点-P1,MoveZ_P1,2000,,,,,
PRO,0,取料Z轴待机点-P1,MoveZ_P1,2000,,,,,
PRO,0,取料Z轴-取料点-P2集合,MoveZ_P2List,0=
1200
00;8=448700;12=443900;16=440000;24=429900;32=420100;44=409000;56=398620,,,,,
PRO,0,取料Z轴-取料点-P2集合,MoveZ_P2List,0=
4487
00;8=448700;12=443900;16=440000;24=429900;32=420100;44=409000;56=398620,,,,,
PRO,0,取料Z轴-放料点-P3集合,MoveZ_P3List,0=108750;8=109700;12=100000;16=99000;24=93000;32=89000;44=74000;56=63500,,,,,
PRO,0,取料Z轴-放料点-P3集合,MoveZ_P3List,0=108750;8=109700;12=100000;16=99000;24=93000;32=89000;44=74000;56=63500,,,,,
PRO,0,取料Z轴P1速度,MoveZ_P1Speed,500,,,,,
PRO,0,取料Z轴P1速度,MoveZ_P1Speed,
1
500,,,,,
PRO,0,取料Z轴P2速度,MoveZ_P2Speed,500,,,,,
PRO,0,取料Z轴P2速度,MoveZ_P2Speed,
1
500,,,,,
PRO,0,取料Z轴P3速度,MoveZ_P3Speed,500,,,,,
PRO,0,取料Z轴P3速度,MoveZ_P3Speed,
1
500,,,,,
,,,,,,,,,
,,,,,,,,,
PRO,0,贴标机构X轴待机点-P1,LabelX_P1,2000,,,,,
PRO,0,贴标机构X轴待机点-P1,LabelX_P1,2000,,,,,
PRO,0,贴标机构X轴取标签点P2,LabelX_P2,5751,,,,,
PRO,0,贴标机构X轴取标签点P2,LabelX_P2,5751,,,,,
PRO,0,贴标机构X轴贴标点P3,LabelX_P3,533032,,,,,
PRO,0,贴标机构X轴贴标点P3,LabelX_P3,533032,,,,,
PRO,0,贴标机构X轴P1速度,LabelX_P1Speed,500,,,,,
PRO,0,贴标机构X轴P1速度,LabelX_P1Speed,
1
500,,,,,
PRO,0,贴标机构X轴P2速度,LabelX_P2Speed,500,,,,,
PRO,0,贴标机构X轴P2速度,LabelX_P2Speed,
1
500,,,,,
PRO,0,贴标机构X轴P3速度,LabelX_P3Speed,500,,,,,
PRO,0,贴标机构X轴P3速度,LabelX_P3Speed,
1
500,,,,,
,,,,,,,,,
,,,,,,,,,
PRO,0,贴标机构Y轴待机点-P1,LabelY_P1,2000,,,,,
PRO,0,贴标机构Y轴待机点-P1,LabelY_P1,2000,,,,,
PRO,0,贴标机构Y轴取标签点P2,LabelY_P2,123731,,,,,
PRO,0,贴标机构Y轴取标签点P2,LabelY_P2,123731,,,,,
PRO,0,贴标机构Y轴贴标点P3,LabelY_P3,4253,,,,,
PRO,0,贴标机构Y轴贴标点P3,LabelY_P3,4253,,,,,
PRO,0,贴标机构Y轴P1速度,LabelY_P1Speed,500,,,,,
PRO,0,贴标机构Y轴P1速度,LabelY_P1Speed,
1
500,,,,,
PRO,0,贴标机构Y轴P2速度,LabelY_P2Speed,500,,,,,
PRO,0,贴标机构Y轴P2速度,LabelY_P2Speed,
1
500,,,,,
PRO,0,贴标机构Y轴P3速度,LabelY_P3Speed,500,,,,,
PRO,0,贴标机构Y轴P3速度,LabelY_P3Speed,
1
500,,,,,
,,,,,,,,,
,,,,,,,,,
PRO,0,贴标机构Z轴待机点-P1,LabelZ_P1,2000,,,,,
PRO,0,贴标机构Z轴待机点-P1,LabelZ_P1,2000,,,,,
PRO,0,贴标机构Z轴取标签点P2,LabelZ_P2,35935,,,,,
PRO,0,贴标机构Z轴取标签点P2,LabelZ_P2,35935,,,,,
PRO,0,贴标机构Z轴贴标点P3,LabelZ_P3,174174,,,,,
PRO,0,贴标机构Z轴贴标点P3,LabelZ_P3,174174,,,,,
PRO,0,贴标机构Z轴P1速度,LabelZ_P1Speed,500,,,,,
PRO,0,贴标机构Z轴P1速度,LabelZ_P1Speed,
1
500,,,,,
PRO,0,贴标机构Z轴P2速度,LabelZ_P2Speed,500,,,,,
PRO,0,贴标机构Z轴P2速度,LabelZ_P2Speed,
1
500,,,,,
PRO,0,贴标机构Z轴P3速度,LabelZ_P3Speed,500,,,,,
PRO,0,贴标机构Z轴P3速度,LabelZ_P3Speed,
1
500,,,,,
,,,,,,,,,
,,,,,,,,,
PRO,0,贴标机构R轴待机点-P1,LabelR_P1,0,,,,,
PRO,0,贴标机构R轴待机点-P1,LabelR_P1,0,,,,,
PRO,0,贴标机构R轴取标签点P2,LabelR_P2,0,,,,,
PRO,0,贴标机构R轴取标签点P2,LabelR_P2,0,,,,,
...
@@ -56,4 +56,3 @@ PRO,0,贴标机构R轴贴标点P3,LabelR_P3,500,,,,,
...
@@ -56,4 +56,3 @@ PRO,0,贴标机构R轴贴标点P3,LabelR_P3,500,,,,,
PRO,0,贴标机构R轴P1速度,LabelR_P1Speed,20,,,,,
PRO,0,贴标机构R轴P1速度,LabelR_P1Speed,20,,,,,
PRO,0,贴标机构R轴P2速度,LabelR_P2Speed,20,,,,,
PRO,0,贴标机构R轴P2速度,LabelR_P2Speed,20,,,,,
PRO,0,贴标机构R轴P3速度,LabelR_P3Speed,20,,,,,
PRO,0,贴标机构R轴P3速度,LabelR_P3Speed,20,,,,,
RC1266-AutoCountMachine/source/DeviceLibrary/RobotConfig/Config_Xray.csv
查看文件 @
f50be7f
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
类型,分类编号,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,
1
,,,,,
PRO,0,设备是否处于调试状态(1=调试,0=正常),IsDebug,
0
,,,,,
RC1266-AutoCountMachine/source/DeviceLibrary/agvClient/AgvClient.cs
查看文件 @
f50be7f
...
@@ -35,7 +35,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -35,7 +35,6 @@ namespace OnlineStore.DeviceLibrary
actionMap
=
new
Dictionary
<
string
,
Asa
.
ClientAction
>();
actionMap
=
new
Dictionary
<
string
,
Asa
.
ClientAction
>();
LogUtil
.
info
(
" 开始 agvClient.Connect"
);
LogUtil
.
info
(
" 开始 agvClient.Connect"
);
//}
agvClient
.
Connect
();
agvClient
.
Connect
();
foreach
(
string
str
in
NodeList
)
foreach
(
string
str
in
NodeList
)
{
{
...
@@ -73,7 +72,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -73,7 +72,7 @@ namespace OnlineStore.DeviceLibrary
int
index
=
shelfId
.
IndexOf
(
','
);
int
index
=
shelfId
.
IndexOf
(
','
);
if
(
index
>
0
)
if
(
index
>
0
)
{
{
//紧急出料模块,料
架离开时,mark=紧急料或者分配料,rfid=料架
号
//紧急出料模块,料
串离开时,mark=紧急料或者分配料,rfid=料串
号
mark
=
shelfId
.
Substring
(
index
+
1
,
shelfId
.
Length
-
index
-
1
);
mark
=
shelfId
.
Substring
(
index
+
1
,
shelfId
.
Length
-
index
-
1
);
shelfId
=
shelfId
.
Substring
(
0
,
index
);
shelfId
=
shelfId
.
Substring
(
0
,
index
);
}
}
...
@@ -81,12 +80,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -81,12 +80,11 @@ namespace OnlineStore.DeviceLibrary
agvClient
.
SetStatus
(
id
,
mark
,
shelfId
,
action
,
level
);
agvClient
.
SetStatus
(
id
,
mark
,
shelfId
,
action
,
level
);
UpdateAction
(
id
,
action
);
UpdateAction
(
id
,
action
);
}
}
private
static
void
AgvClient_CloseDoor
(
string
id
,
string
rfid
)
{
LogUtil
.
info
(
"收到 AgvClient_CloseDoor ["
+
id
+
"] ["
+
rfid
+
"] "
);
}
private
static
void
AgvClient_Ready
(
string
id
,
string
rfid
)
private
static
void
AgvClient_Ready
(
string
id
,
string
rfid
)
{
{
try
{
UpdateAction
(
id
,
ClientAction
.
Ready
);
UpdateAction
(
id
,
ClientAction
.
Ready
);
LogUtil
.
info
(
"收到 AgvClient_Ready ["
+
id
+
"] ["
+
rfid
+
"] "
);
LogUtil
.
info
(
"收到 AgvClient_Ready ["
+
id
+
"] ["
+
rfid
+
"] "
);
...
@@ -98,29 +96,28 @@ namespace OnlineStore.DeviceLibrary
...
@@ -98,29 +96,28 @@ namespace OnlineStore.DeviceLibrary
{
{
RobotManager
.
robot
.
inputEquip
.
LeftBatchMove
.
AgvReady
(
id
,
rfid
);
RobotManager
.
robot
.
inputEquip
.
LeftBatchMove
.
AgvReady
(
id
,
rfid
);
}
}
else
if
(
RobotManager
.
robot
.
outputEquip
.
Config
.
AgvInName
.
Equals
(
id
)
||
RobotManager
.
robot
.
outputEquip
.
Config
.
AgvOutName
.
Equals
(
id
))
{
RobotManager
.
robot
.
outputEquip
.
AgvReady
(
id
,
rfid
);
}
else
else
{
{
LogUtil
.
error
(
"收到 AgvClient_Arrive ["
+
id
+
"] ["
+
rfid
+
"] 未找到对应的设备 ,暂不处理"
);
LogUtil
.
error
(
"收到 AgvClient_Arrive ["
+
id
+
"] ["
+
rfid
+
"] 未找到对应的设备 ,暂不处理"
);
}
}
}
}
catch
(
Exception
ex
)
private
static
void
AgvClient_Arrive
(
string
id
,
string
rfid
)
{
UpdateAction
(
id
,
ClientAction
.
Arrive
);
// RFIDData data = new RFIDData(content);
LogUtil
.
info
(
"收到 AgvClient_Arrive ["
+
id
+
"] ["
+
rfid
+
"] "
);
if
(
RobotManager
.
robot
.
inputEquip
.
Config
.
LeftAgvName
.
Equals
(
id
))
{
{
RobotManager
.
robot
.
inputEquip
.
LeftBatchMove
.
AgvArrive
(
id
,
rfid
);
LogUtil
.
error
(
"AgvClient_Ready ["
+
id
+
"] ["
+
rfid
+
"] 处理出错:"
+
ex
.
ToString
()
);
}
}
else
if
(
RobotManager
.
robot
.
inputEquip
.
Config
.
RightAgvName
.
Equals
(
id
))
{
RobotManager
.
robot
.
inputEquip
.
RightBatchMove
.
AgvArrive
(
id
,
rfid
);
}
}
else
private
static
void
AgvClient_CloseDoor
(
string
id
,
string
rfid
)
{
{
LogUtil
.
error
(
"收到 AgvClient_Arrive ["
+
id
+
"] ["
+
rfid
+
"] 未找到对应的设备 ,暂不处理
"
);
LogUtil
.
info
(
"收到 AgvClient_CloseDoor ["
+
id
+
"] ["
+
rfid
+
"] 暂无需处理
"
);
}
}
private
static
void
AgvClient_Arrive
(
string
id
,
string
rfid
)
{
// UpdateAction(id, ClientAction.Arrive);
LogUtil
.
info
(
"收到 AgvClient_Arrive ["
+
id
+
"] ["
+
rfid
+
"]暂无需处理 "
);
}
}
internal
static
bool
ISConnected
()
internal
static
bool
ISConnected
()
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/bean/BatchMoveBean.cs
查看文件 @
f50be7f
...
@@ -3,6 +3,7 @@ using OnlineStore.Common;
...
@@ -3,6 +3,7 @@ using OnlineStore.Common;
using
OnlineStore.LoadCSVLibrary
;
using
OnlineStore.LoadCSVLibrary
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Diagnostics
;
using
System.Linq
;
using
System.Linq
;
using
System.Text
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Threading.Tasks
;
...
@@ -78,7 +79,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -78,7 +79,7 @@ namespace OnlineStore.DeviceLibrary
}
}
else
else
{
{
if
(
Robot
.
AutoInput
&&
Robot
.
IOValue
(
IO_LineIn_Check
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
Robot
.
AutoInput
&&
Robot
.
IOValue
(
IO_LineIn_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
StartWorking
(
new
WorkParam
());
StartWorking
(
new
WorkParam
());
}
}
...
@@ -92,8 +93,26 @@ namespace OnlineStore.DeviceLibrary
...
@@ -92,8 +93,26 @@ namespace OnlineStore.DeviceLibrary
{
{
WorkingProcess
();
WorkingProcess
();
}
}
//判断是否无料串
if
(
Robot
.
IOValue
(
IO_LineIn_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
Robot
.
IOValue
(
IO_LineEnd_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
Robot
.
CylinderIsOk
(
IO_LocationUp_1
,
IO_LocationDown_1
)
&&
Robot
.
CylinderIsOk
(
IO_LocationUp_2
,
IO_LocationDown_2
))
{
if
(
RobotManager
.
checkWatch
(
shelfWatch
,
3000
,
true
))
{
AgvClient
.
NeedEnter
(
AgvName
,
""
,
Asa
.
ClientLevel
.
High
);
}
}
else
{
shelfWatch
.
Stop
();
AgvClient
.
SetToNone
(
AgvName
);
}
}
}
private
Stopwatch
shelfWatch
=
new
Stopwatch
();
public
bool
Reset
(
bool
needStop
=
false
)
public
bool
Reset
(
bool
needStop
=
false
)
{
{
if
(
Robot
.
CanStartRun
())
if
(
Robot
.
CanStartRun
())
...
@@ -132,7 +151,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -132,7 +151,7 @@ namespace OnlineStore.DeviceLibrary
if
(
Robot
.
IOValue
(
IO_LineIn_Check
).
Equals
(
Robot
.
IOValue
(
IO_LineEnd_Check
)))
if
(
Robot
.
IOValue
(
IO_LineIn_Check
).
Equals
(
Robot
.
IOValue
(
IO_LineEnd_Check
)))
{
{
LineStop
();
LineStop
();
MoveInfo
.
NextMoveStep
(
StepEnum
.
IBR03_BatchHome
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IBR03_BatchHome
);
WorkLog
(
"复位:批量轴开始回原点"
);
WorkLog
(
"复位:批量轴开始回原点"
);
BatchAxis
.
HomeMove
(
MoveInfo
);
BatchAxis
.
HomeMove
(
MoveInfo
);
}
}
...
@@ -352,15 +371,15 @@ namespace OnlineStore.DeviceLibrary
...
@@ -352,15 +371,15 @@ namespace OnlineStore.DeviceLibrary
isOk
=
false
;
isOk
=
false
;
WarnMsg
=
Name
+
msg
;
WarnMsg
=
Name
+
msg
;
Alarm
(
AlarmType
.
AxisMoveError
);
Alarm
(
AlarmType
.
AxisMoveError
);
LogUtil
.
error
(
WarnMsg
,
DeviceID
*
1000
+
14
);
LogUtil
.
error
(
WarnMsg
,
moveInfo
.
ErrorLogType
);
break
;
break
;
}
}
}
}
}
}
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W002_IOValue
))
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W002_IOValue
))
{
{
NotOkMsg
=
" ["
+
IOManager
.
Get
DI
(
wait
.
IoType
,
Robot
.
DeviceID
).
DisplayStr
+
"="
+
wait
.
IoValue
+
"]"
;
NotOkMsg
=
" ["
+
IOManager
.
Get
IO
(
wait
.
IoType
,
Robot
.
DeviceID
).
DisplayStr
+
"="
+
wait
.
IoValue
+
"]"
;
wait
.
IsEnd
=
Robot
.
IOValue
(
wait
.
IoType
).
Equals
(
wait
.
IoValue
);
wait
.
IsEnd
=
Robot
.
IOValue
(
wait
.
IoType
).
Equals
(
wait
.
IoValue
);
if
(!
wait
.
IsEnd
)
if
(!
wait
.
IsEnd
)
{
{
...
@@ -371,7 +390,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -371,7 +390,7 @@ namespace OnlineStore.DeviceLibrary
ConfigIO
io
=
Robot
.
Config
.
getWaitIO
(
wait
.
IoType
);
ConfigIO
io
=
Robot
.
Config
.
getWaitIO
(
wait
.
IoType
);
WarnMsg
=
moveInfo
.
Name
+
"["
+
moveInfo
.
MoveType
+
"]["
+
moveInfo
.
MoveStep
+
"] 等待"
+
NotOkMsg
+
" 超时 "
+
Math
.
Round
(
span
.
TotalSeconds
,
1
)
+
"秒"
;
WarnMsg
=
moveInfo
.
Name
+
"["
+
moveInfo
.
MoveType
+
"]["
+
moveInfo
.
MoveStep
+
"] 等待"
+
NotOkMsg
+
" 超时 "
+
Math
.
Round
(
span
.
TotalSeconds
,
1
)
+
"秒"
;
LogUtil
.
error
(
MoveInfo
.
Name
+
WarnMsg
,
DeviceID
*
1000
+
13
);
LogUtil
.
error
(
WarnMsg
,
moveInfo
.
ErrorLogType
);
if
(
alarmType
.
Equals
(
AlarmType
.
None
))
if
(
alarmType
.
Equals
(
AlarmType
.
None
))
{
{
Alarm
(
AlarmType
.
IoSingleTimeOut
);
Alarm
(
AlarmType
.
IoSingleTimeOut
);
...
@@ -404,7 +423,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -404,7 +423,8 @@ namespace OnlineStore.DeviceLibrary
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W003_Time
))
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W003_Time
))
{
{
wait
.
IsEnd
=
(
span
.
TotalMilliseconds
>=
wait
.
TimeMSeconds
);
wait
.
IsEnd
=
(
span
.
TotalMilliseconds
>=
wait
.
TimeMSeconds
);
}
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W101_BatchAxisMove
))
}
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W101_BatchAxisMove
))
{
{
//等待信号亮或者走到绝对位置才停止
//等待信号亮或者走到绝对位置才停止
if
(
Robot
.
IOValue
(
BatchAxis
.
TargetIoType
).
Equals
(
BatchAxis
.
TargetIoValue
))
if
(
Robot
.
IOValue
(
BatchAxis
.
TargetIoType
).
Equals
(
BatchAxis
.
TargetIoValue
))
...
@@ -425,7 +445,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -425,7 +445,8 @@ namespace OnlineStore.DeviceLibrary
wait
.
IsEnd
=
true
;
wait
.
IsEnd
=
true
;
}
}
}
}
}
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W102_FeedScanCode
))
}
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W102_FeedScanCode
))
{
{
if
(
LastCodeList
.
Count
>
0
)
if
(
LastCodeList
.
Count
>
0
)
{
{
...
@@ -471,7 +492,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -471,7 +492,7 @@ namespace OnlineStore.DeviceLibrary
{
{
second
=
10
;
second
=
10
;
}
}
LogUtil
.
error
(
WarnMsg
,
DeviceID
*
1000
+
15
,
second
);
LogUtil
.
error
(
WarnMsg
,
moveInfo
.
ErrorLogType
,
second
);
Alarm
(
AlarmType
.
IoSingleTimeOut
);
Alarm
(
AlarmType
.
IoSingleTimeOut
);
}
}
}
}
...
@@ -482,5 +503,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -482,5 +503,11 @@ namespace OnlineStore.DeviceLibrary
}
}
public
string
GetMoveStr
()
{
string
code
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
WareCode
:
""
;
return
MoveInfo
.
MoveType
+
" "
+
MoveInfo
.
MoveStep
+
" "
+
code
+
"\n"
;
}
}
}
}
}
RC1266-AutoCountMachine/source/DeviceLibrary/bean/BatchMoveBean_Partial.cs
查看文件 @
f50be7f
此文件的差异被折叠,
点击展开。
RC1266-AutoCountMachine/source/DeviceLibrary/bean/EquipBase.cs
查看文件 @
f50be7f
...
@@ -329,7 +329,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -329,7 +329,7 @@ namespace OnlineStore.DeviceLibrary
WarnMsg
=
Name
+
msg
;
WarnMsg
=
Name
+
msg
;
Alarm
(
AlarmType
.
AxisMoveError
);
Alarm
(
AlarmType
.
AxisMoveError
);
LogUtil
.
error
(
WarnMsg
,
DeviceID
*
1000
+
14
);
LogUtil
.
error
(
WarnMsg
,
moveInfo
.
ErrorLogType
);
break
;
break
;
}
}
}
}
...
@@ -348,7 +348,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -348,7 +348,7 @@ namespace OnlineStore.DeviceLibrary
ConfigIO
io
=
baseConfig
.
getWaitIO
(
wait
.
IoType
);
ConfigIO
io
=
baseConfig
.
getWaitIO
(
wait
.
IoType
);
WarnMsg
=
moveInfo
.
Name
+
"["
+
moveInfo
.
MoveType
+
"]["
+
moveInfo
.
MoveStep
+
"] 等待"
+
NotOkMsg
+
" 超时 "
+
Math
.
Round
(
span
.
TotalSeconds
,
1
)
+
"秒"
;
WarnMsg
=
moveInfo
.
Name
+
"["
+
moveInfo
.
MoveType
+
"]["
+
moveInfo
.
MoveStep
+
"] 等待"
+
NotOkMsg
+
" 超时 "
+
Math
.
Round
(
span
.
TotalSeconds
,
1
)
+
"秒"
;
LogUtil
.
error
(
MoveInfo
.
Name
+
WarnMsg
,
DeviceID
*
1000
+
13
);
LogUtil
.
error
(
WarnMsg
,
moveInfo
.
ErrorLogType
);
if
(
NoAlarm
())
if
(
NoAlarm
())
{
{
Alarm
(
AlarmType
.
IoSingleTimeOut
);
Alarm
(
AlarmType
.
IoSingleTimeOut
);
...
@@ -424,7 +424,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -424,7 +424,7 @@ namespace OnlineStore.DeviceLibrary
{
{
second
=
10
;
second
=
10
;
}
}
LogUtil
.
error
(
WarnMsg
,
DeviceID
*
1000
+
15
,
second
);
LogUtil
.
error
(
WarnMsg
,
moveInfo
.
ErrorLogType
,
second
);
Alarm
(
AlarmType
.
IoSingleTimeOut
);
Alarm
(
AlarmType
.
IoSingleTimeOut
);
}
}
}
}
...
@@ -452,13 +452,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -452,13 +452,13 @@ namespace OnlineStore.DeviceLibrary
code
=
"["
+
MoveInfo
.
MoveParam
.
WareCode
+
"]"
;
code
=
"["
+
MoveInfo
.
MoveParam
.
WareCode
+
"]"
;
}
}
}
}
LogUtil
.
info
(
MoveInfo
.
Name
+
"
["
+
MoveInfo
.
MoveType
+
"]
["
+
MoveInfo
.
MoveStep
+
"] "
+
msg
);
LogUtil
.
info
(
MoveInfo
.
Name
+
"["
+
MoveInfo
.
MoveStep
+
"] "
+
msg
);
}
}
protected
void
SecWorkLog
(
string
msg
)
protected
void
SecWorkLog
(
string
msg
)
{
{
LogUtil
.
info
(
SecMoveInfo
.
Name
+
"
["
+
SecMoveInfo
.
MoveType
+
"]
["
+
SecMoveInfo
.
MoveStep
+
"] "
+
msg
);
LogUtil
.
info
(
SecMoveInfo
.
Name
+
"["
+
SecMoveInfo
.
MoveStep
+
"] "
+
msg
);
}
}
public
virtual
string
GetMoveStr
()
public
virtual
string
GetMoveStr
()
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/bean/InputEquip.cs
查看文件 @
f50be7f
...
@@ -105,7 +105,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -105,7 +105,7 @@ namespace OnlineStore.DeviceLibrary
AgvClient
.
SetStatus
(
Config
.
LeftAgvName
);
AgvClient
.
SetStatus
(
Config
.
LeftAgvName
);
AgvClient
.
SetStatus
(
Config
.
RightAgvName
);
AgvClient
.
SetStatus
(
Config
.
RightAgvName
);
TimerMaxSeconds
=
10
;
//
TimerMaxSeconds = 10;
SetWarnMsg
(
""
);
SetWarnMsg
(
""
);
alarmType
=
AlarmType
.
None
;
alarmType
=
AlarmType
.
None
;
isInSuddenDown
=
false
;
isInSuddenDown
=
false
;
...
@@ -139,6 +139,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -139,6 +139,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IR03_InoutToP1
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IR03_InoutToP1
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IR04_UpdownAxisHome
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IR04_UpdownAxisHome
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
WorkLog
(
"复位:升降轴原点返回,左右批量轴开始回原点"
);
WorkLog
(
"复位:升降轴原点返回,左右批量轴开始回原点"
);
UpdownAxis
.
HomeMove
(
MoveInfo
);
UpdownAxis
.
HomeMove
(
MoveInfo
);
LeftBatchMove
.
Reset
();
LeftBatchMove
.
Reset
();
...
@@ -187,7 +188,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -187,7 +188,7 @@ namespace OnlineStore.DeviceLibrary
if
(!
LeftBatchMove
.
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
None
))
if
(!
LeftBatchMove
.
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
None
))
{
{
WarnMsg
=
Name
+
"等待"
+
LeftBatchMove
.
Name
+
"复位完成超时["
+
MoveInfo
.
TimeOutSeconds
+
"]秒"
;
WarnMsg
=
Name
+
"等待"
+
LeftBatchMove
.
Name
+
"复位完成超时["
+
MoveInfo
.
TimeOutSeconds
+
"]秒"
;
LogUtil
.
error
(
WarnMsg
);
LogUtil
.
error
(
WarnMsg
,
MoveInfo
.
ErrorLogType
);
Alarm
(
AlarmType
.
IoSingleTimeOut
);
Alarm
(
AlarmType
.
IoSingleTimeOut
);
}
}
else
else
...
@@ -241,11 +242,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -241,11 +242,13 @@ namespace OnlineStore.DeviceLibrary
//若左侧或右侧在等待扫码结束的状态,需要开始去取料
//若左侧或右侧在等待扫码结束的状态,需要开始去取料
if
(
LeftBatchMove
.
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Working
)
&&
LeftBatchMove
.
MoveInfo
.
IsStep
(
StepEnum
.
IB10_ScanOK
))
if
(
LeftBatchMove
.
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Working
)
&&
LeftBatchMove
.
MoveInfo
.
IsStep
(
StepEnum
.
IB10_ScanOK
))
{
{
StartWorking
(
new
WorkParam
(
1
,
0
,
LeftBatchMove
.
GetCurrCode
()));
string
code
=
LeftBatchMove
.
MoveInfo
.
MoveParam
.
WareCode
;
StartWorking
(
new
WorkParam
(
1
,
0
,
code
));
}
}
else
if
(
RightBatchMove
.
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Working
)
&&
RightBatchMove
.
MoveInfo
.
IsStep
(
StepEnum
.
IB10_ScanOK
))
else
if
(
RightBatchMove
.
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Working
)
&&
RightBatchMove
.
MoveInfo
.
IsStep
(
StepEnum
.
IB10_ScanOK
))
{
{
StartWorking
(
new
WorkParam
(
2
,
0
,
RightBatchMove
.
GetCurrCode
()));
string
code
=
RightBatchMove
.
MoveInfo
.
MoveParam
.
WareCode
;
StartWorking
(
new
WorkParam
(
2
,
0
,
code
));
}
}
}
}
if
(
SecMoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
None
)
&&
NoErrorAlarm
())
if
(
SecMoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
None
)
&&
NoErrorAlarm
())
...
@@ -360,7 +363,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -360,7 +363,7 @@ namespace OnlineStore.DeviceLibrary
string
msg
=
""
;
string
msg
=
""
;
int
tLength
=
15
;
int
tLength
=
15
;
msg
+=
"左侧料
架:"
+
LeftBatchMove
.
CurrShelfId
+
" 右侧料架
:"
+
RightBatchMove
.
CurrShelfId
+
" \r\n"
;
msg
+=
"左侧料
串:"
+
LeftBatchMove
.
CurrShelfId
+
" 右侧料串
:"
+
RightBatchMove
.
CurrShelfId
+
" \r\n"
;
msg
+=
"runS: "
+
runStatus
+
"\n"
;
msg
+=
"runS: "
+
runStatus
+
"\n"
;
msg
+=
"alarm: "
+
alarmType
+
" "
+
LeftBatchMove
.
alarmType
+
" "
+
RightBatchMove
.
alarmType
+
"\n"
;
msg
+=
"alarm: "
+
alarmType
+
" "
+
LeftBatchMove
.
alarmType
+
" "
+
RightBatchMove
.
alarmType
+
"\n"
;
...
@@ -373,8 +376,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -373,8 +376,8 @@ namespace OnlineStore.DeviceLibrary
{
{
msg
+=
"\n"
;
msg
+=
"\n"
;
}
}
msg
+=
"左侧上料 :"
+
LeftBatchMove
.
MoveInfo
.
MoveType
+
" "
+
LeftBatchMove
.
MoveInfo
.
MoveStep
+
"\n"
;
msg
+=
"左侧上料 :"
+
LeftBatchMove
.
GetMoveStr
()+
"\n"
;
msg
+=
"右侧上料:"
+
RightBatchMove
.
MoveInfo
.
MoveType
+
" "
+
RightBatchMove
.
MoveInfo
.
MoveStep
+
"\n"
;
msg
+=
"右侧上料:"
+
RightBatchMove
.
GetMoveStr
()
+
"\n"
;
return
msg
;
return
msg
;
}
}
}
}
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/bean/InputEquip_InStore.cs
查看文件 @
f50be7f
...
@@ -175,20 +175,53 @@ namespace OnlineStore.DeviceLibrary
...
@@ -175,20 +175,53 @@ namespace OnlineStore.DeviceLibrary
if
(
moveBean
.
LastHeight
>
0
||
isOk
)
if
(
moveBean
.
LastHeight
>
0
||
isOk
)
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW10_SaveSize
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW10_SaveSize
);
WorkLog
(
" 测宽度,记录条码高度宽度,开始下一盘预扫码"
);
MoveInfo
.
MoveParam
.
PlateH
=
moveBean
.
LastHeight
;
MoveInfo
.
MoveParam
.
PlateH
=
moveBean
.
LastHeight
;
MoveInfo
.
MoveParam
.
PlateW
=
GetWidth
();
MoveInfo
.
MoveParam
.
PlateW
=
GetWidth
();
WorkLog
(
"测高结束, 记录尺寸【"
+
MoveInfo
.
MoveParam
.
PlateW
+
"X"
+
MoveInfo
.
MoveParam
.
PlateH
+
"】,开始下一盘预扫码"
);
}
}
else
if
(
MoveInfo
.
IsTimeOut
(
60
))
else
if
(
MoveInfo
.
IsTimeOut
(
60
))
{
{
WarnMsg
=
Name
+
"等待"
+
moveBean
.
Name
+
"测高结束超时["
+
MoveInfo
.
TimeOutSeconds
+
"]秒"
;
WarnMsg
=
Name
+
"等待"
+
moveBean
.
Name
+
"测高结束超时["
+
MoveInfo
.
TimeOutSeconds
+
"]秒"
;
LogUtil
.
error
(
Name
+
WarnMsg
);
LogUtil
.
error
(
WarnMsg
,
MoveInfo
.
ErrorLogType
);
Alarm
(
AlarmType
.
IoSingleTimeOut
);
Alarm
(
AlarmType
.
IoSingleTimeOut
);
}
}
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW10_SaveSize
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW10_SaveSize
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW11_GetTargetPosition
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW11_GetTargetPosition
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
if
(
String
.
IsNullOrEmpty
(
MoveInfo
.
MoveParam
.
WareCode
))
{
MoveInfo
.
MoveParam
.
IsNgReel
=
true
;
MoveInfo
.
MoveParam
.
NgMsg
=
"无有效条码"
;
MoveInfo
.
MoveParam
.
TargetPosType
=
1
;
WorkLog
(
" 无有效条码,从XRay放到NG箱:"
+
MoveInfo
.
MoveParam
.
ToStr
());
}
else
if
(
SServerManager
.
CanConnect
())
{
Task
task
=
Task
.
Factory
.
StartNew
(
delegate
{
int
needPosition
=
0
;
string
msg
=
SServerManager
.
Get_VMICheckRLC
(
Name
,
MoveInfo
.
MoveParam
.
WareCode
,
out
needPosition
);
if
(
needPosition
>=
1
&&
needPosition
<=
3
)
{
MoveInfo
.
MoveParam
.
TargetPosType
=
needPosition
;
WorkLog
(
" 【"
+
MoveInfo
.
MoveParam
.
WareCode
+
"】通过接口获取目标位置:"
+
needPosition
);
}
// else if (!msg.Equals("") || needPosition.Equals(0))
else
{
WorkLog
(
" 【"
+
MoveInfo
.
MoveParam
.
WareCode
+
"】获取是否测值失败:"
+
msg
);
MoveInfo
.
MoveParam
.
TargetPosType
=
1
;
MoveInfo
.
MoveParam
.
IsNgReel
=
true
;
MoveInfo
.
MoveParam
.
NgMsg
=
msg
;
}
});
}
else
{
if
(
MoveInfo
.
MoveParam
.
TargetPosType
.
Equals
(
0
))
if
(
MoveInfo
.
MoveParam
.
TargetPosType
.
Equals
(
0
))
{
{
if
(
DefautTargetP
>
0
)
if
(
DefautTargetP
>
0
)
...
@@ -198,28 +231,43 @@ namespace OnlineStore.DeviceLibrary
...
@@ -198,28 +231,43 @@ namespace OnlineStore.DeviceLibrary
}
}
WorkLog
(
" 根据条码获取目标位置:"
+
MoveInfo
.
MoveParam
.
ToStr
());
WorkLog
(
" 根据条码获取目标位置:"
+
MoveInfo
.
MoveParam
.
ToStr
());
}
}
}
#
endregion
#
endregion
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW11_GetTargetPosition
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW11_GetTargetPosition
))
{
{
if
(
MoveInfo
.
MoveParam
.
TargetPosType
.
Equals
(
0
))
if
(
MoveInfo
.
MoveParam
.
TargetPosType
.
Equals
(
0
))
{
{
if
(
SServerManager
.
CanConnect
())
{
if
(
MoveInfo
.
IsTimeOut
(
120
))
{
WarnMsg
=
Name
+
"等待"
+
MoveInfo
.
MoveParam
.
WareCode
+
"验证是否测值 超时["
+
MoveInfo
.
TimeOutSeconds
+
"]秒"
;
LogUtil
.
error
(
WarnMsg
,
MoveInfo
.
ErrorLogType
);
Alarm
(
AlarmType
.
IoSingleTimeOut
);
}
return
;
}
else
{
//随机目标地址
//随机目标地址
Random
r
=
new
Random
();
Random
r
=
new
Random
();
int
targetP
=
r
.
Next
(
1
,
100
)
%
3
+
1
;
int
targetP
=
r
.
Next
(
1
,
100
)
%
3
+
1
;
MoveInfo
.
MoveParam
.
TargetPosType
=
targetP
;
MoveInfo
.
MoveParam
.
TargetPosType
=
targetP
;
WorkLog
(
" 随机放料目标:"
+
targetP
);
WorkLog
(
" 随机放料目标:"
+
targetP
);
}
}
}
if
(
MoveInfo
.
MoveParam
.
TargetPosType
.
Equals
(
1
))
if
(
MoveInfo
.
MoveParam
.
TargetPosType
.
Equals
(
1
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW21_MiddleToP3
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW21_MiddleToP3
);
WorkLog
(
" 开始放料到XRay
皮带线
,旋转轴到P3"
);
WorkLog
(
" 开始放料到XRay
入口
,旋转轴到P3"
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
MiddleAxis_P3
,
Config
.
MiddleAxis_P3Speed
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
MiddleAxis_P3
,
Config
.
MiddleAxis_P3Speed
);
}
}
else
else
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW31_MIddleToP4
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW31_MIddleToP4
);
WorkLog
(
" 开始放料到
人工
工位,旋转轴到P4"
);
WorkLog
(
" 开始放料到
测值
工位,旋转轴到P4"
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
MiddleAxis_P4
,
Config
.
MiddleAxis_P4Speed
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
MiddleAxis_P4
,
Config
.
MiddleAxis_P4Speed
);
}
}
}
}
...
@@ -227,20 +275,20 @@ namespace OnlineStore.DeviceLibrary
...
@@ -227,20 +275,20 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW21_MiddleToP3
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW21_MiddleToP3
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW22_UpdownToP3
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW22_UpdownToP3
);
WorkLog
(
"
放料到
XRay: 升降轴到P3"
);
WorkLog
(
"
->
XRay: 升降轴到P3"
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpdownAxis_P3
,
Config
.
UpdownAxis_P3Speed
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpdownAxis_P3
,
Config
.
UpdownAxis_P3Speed
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW22_UpdownToP3
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW22_UpdownToP3
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW23_InoutToP3
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW23_InoutToP3
);
WorkLog
(
"
放料到
XRay:进出轴到P3"
);
WorkLog
(
"
->
XRay:进出轴到P3"
);
InOutAxis
.
AbsMove
(
MoveInfo
,
Config
.
InoutAxis_P3
,
Config
.
InoutAxis_P3Speed
);
InOutAxis
.
AbsMove
(
MoveInfo
,
Config
.
InoutAxis_P3
,
Config
.
InoutAxis_P3Speed
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW23_InoutToP3
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW23_InoutToP3
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW24_WaitCanPut
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW24_WaitCanPut
);
WorkLog
(
"
放料到
XRay:等待XRay可放料"
);
WorkLog
(
"
->
XRay:等待XRay可放料"
);
MoveInfo
.
TimeOutSeconds
=
120
;
//TODO
//TODO
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_InLine_Check
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_InLine_Check
,
IO_VALUE
.
LOW
));
...
@@ -249,52 +297,51 @@ namespace OnlineStore.DeviceLibrary
...
@@ -249,52 +297,51 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW24_WaitCanPut
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW24_WaitCanPut
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW41_Clamping_Relax
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW41_Clamping_Relax
);
RobotManager
.
robot
.
XrayBean
.
In_ReelInfo
=
new
ReelInfo
(
MoveInfo
.
MoveParam
.
WareCode
,
MoveInfo
.
MoveParam
.
PlateW
,
MoveInfo
.
MoveParam
.
PlateH
);
RobotManager
.
robot
.
XrayBean
.
In_ReelInfo
=
MoveInfo
.
MoveParam
.
GetReelInfo
(
);
WorkLog
(
"
放料到XRay:夹料气缸放松,更新XRay入口料盘信息
:"
+
RobotManager
.
robot
.
XrayBean
.
In_ReelInfo
.
ToStr
());
WorkLog
(
"
->XRay:夹料气缸放松,更新XRay入口料盘
:"
+
RobotManager
.
robot
.
XrayBean
.
In_ReelInfo
.
ToStr
());
CylinderMove
(
MoveInfo
,
IO_Type
.
Clamping_Work
,
IO_Type
.
Clamping_Relax
);
CylinderMove
(
MoveInfo
,
IO_Type
.
Clamping_Work
,
IO_Type
.
Clamping_Relax
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW31_MIddleToP4
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW31_MIddleToP4
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW32_UpdownToP4
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW32_UpdownToP4
);
WorkLog
(
"
放料到
工位:升降轴到P4"
);
WorkLog
(
"
->测值
工位:升降轴到P4"
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
MoveInfo
.
MoveParam
.
Get_Updown_PutP
(
Config
),
Config
.
UpdownAxis_P4Speed
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
MoveInfo
.
MoveParam
.
Get_Updown_PutP
(
Config
),
Config
.
UpdownAxis_P4Speed
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW32_UpdownToP4
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW32_UpdownToP4
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW33_InoutToP4
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW33_InoutToP4
);
WorkLog
(
"
放料到
工位:进出轴到P4"
);
WorkLog
(
"
->测值
工位:进出轴到P4"
);
InOutAxis
.
AbsMove
(
MoveInfo
,
Config
.
InoutAxis_P4
,
Config
.
InoutAxis_P4Speed
);
InOutAxis
.
AbsMove
(
MoveInfo
,
Config
.
InoutAxis_P4
,
Config
.
InoutAxis_P4Speed
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW33_InoutToP4
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW33_InoutToP4
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW41_Clamping_Relax
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW41_Clamping_Relax
);
WorkLog
(
"
放料到
工位:夹料气缸放松"
);
WorkLog
(
"
->测值
工位:夹料气缸放松"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
Clamping_Work
,
IO_Type
.
Clamping_Relax
);
CylinderMove
(
MoveInfo
,
IO_Type
.
Clamping_Work
,
IO_Type
.
Clamping_Relax
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW41_Clamping_Relax
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW41_Clamping_Relax
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW42_InoutToP1
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW42_InoutToP1
);
WorkLog
(
"
放料完成:进出轴返回P1"
);
WorkLog
(
"放料完成:进出轴返回P1"
);
InOutAxis
.
AbsMove
(
MoveInfo
,
Config
.
InoutAxis_P1
,
Config
.
InoutAxis_P1Speed
);
InOutAxis
.
AbsMove
(
MoveInfo
,
Config
.
InoutAxis_P1
,
Config
.
InoutAxis_P1Speed
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW42_InoutToP1
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW42_InoutToP1
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW43_UpdownToP1
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW43_UpdownToP1
);
WorkLog
(
"
放料完成:升降轴旋转
轴返回P1"
);
WorkLog
(
"
放料完成:升降
轴返回P1"
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpdownAxis_P1
,
Config
.
UpdownAxis_P1Speed
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
UpdownAxis_P1
,
Config
.
UpdownAxis_P1Speed
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW43_UpdownToP1
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW43_UpdownToP1
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW44_MiddleToP2
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IW44_MiddleToP2
);
WorkLog
(
"
放料完成:旋转轴返回P2"
);
WorkLog
(
"放料完成:旋转轴返回P2"
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
MoveInfo
.
MoveParam
.
Get_Middle_P2
(
Config
),
Config
.
MiddleAxis_P2Speed
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
MoveInfo
.
MoveParam
.
Get_Middle_P2
(
Config
),
Config
.
MiddleAxis_P2Speed
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW44_MiddleToP2
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IW44_MiddleToP2
))
{
{
MoveInfo
.
EndMove
();
MoveInfo
.
EndMove
();
WorkLog
(
"
放料完成"
);
WorkLog
(
"放料完成"
);
}
}
}
}
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/bean/OutputEquip.cs
查看文件 @
f50be7f
...
@@ -3,6 +3,7 @@ using OnlineStore.LoadCSVLibrary;
...
@@ -3,6 +3,7 @@ using OnlineStore.LoadCSVLibrary;
using
System
;
using
System
;
using
System.Collections.Concurrent
;
using
System.Collections.Concurrent
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Diagnostics
;
using
System.Linq
;
using
System.Linq
;
using
System.Text
;
using
System.Text
;
using
System.Threading
;
using
System.Threading
;
...
@@ -36,9 +37,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -36,9 +37,10 @@ namespace OnlineStore.DeviceLibrary
this
.
DeviceID
=
config
.
Id
;
this
.
DeviceID
=
config
.
Id
;
this
.
Config
=
config
;
this
.
Config
=
config
;
IsDebug
=
config
.
IsDebug
.
Equals
(
1
);
IsDebug
=
config
.
IsDebug
.
Equals
(
1
);
baseConfig
=
config
;
Name
=
(
" "
+
"出料模块"
+
" "
).
ToUpper
();
Name
=
(
" "
+
"出料模块"
+
" "
).
ToUpper
();
Init
();
Init
();
ledProcessTimer
.
Elapsed
+=
LedProcess
;
IoCheckTimer
.
Elapsed
+=
IoCheckTimerProcess
;
MoveInfo
=
new
RobotMoveInfo
(
" 取放料 "
);
MoveInfo
=
new
RobotMoveInfo
(
" 取放料 "
);
SecMoveInfo
=
new
RobotMoveInfo
(
" 贴标 "
);
SecMoveInfo
=
new
RobotMoveInfo
(
" 贴标 "
);
ShelfMoveInfo
=
new
RobotMoveInfo
(
" ShelfMove "
);
ShelfMoveInfo
=
new
RobotMoveInfo
(
" ShelfMove "
);
...
@@ -110,17 +112,19 @@ namespace OnlineStore.DeviceLibrary
...
@@ -110,17 +112,19 @@ namespace OnlineStore.DeviceLibrary
AgvClient
.
SetStatus
(
Config
.
AgvInName
);
AgvClient
.
SetStatus
(
Config
.
AgvInName
);
AgvClient
.
SetStatus
(
Config
.
AgvOutName
);
AgvClient
.
SetStatus
(
Config
.
AgvOutName
);
TimerMaxSeconds
=
10
;
//
TimerMaxSeconds = 10;
SetWarnMsg
(
""
);
SetWarnMsg
(
""
);
alarmType
=
AlarmType
.
None
;
alarmType
=
AlarmType
.
None
;
isInSuddenDown
=
false
;
isInSuddenDown
=
false
;
isNoAirCheck
=
false
;
isNoAirCheck
=
false
;
MoveInfo
.
NextMoveStep
(
StepEnum
.
OMR01_MoveZHome
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
OMR01_MoveZHome
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
WorkLog
(
"取料Z轴原点返回"
);
WorkLog
(
"取料Z轴原点返回"
);
MoveZAxis
.
HomeMove
(
MoveInfo
);
MoveZAxis
.
HomeMove
(
MoveInfo
);
SecMoveInfo
.
NextMoveStep
(
StepEnum
.
OLR01_LabelZHome
);
SecMoveInfo
.
NextMoveStep
(
StepEnum
.
OLR01_LabelZHome
);
SecMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
SecWorkLog
(
"贴标Z轴原点返回,标签吸码停止输出,贴标气缸后退"
);
SecWorkLog
(
"贴标Z轴原点返回,标签吸码停止输出,贴标气缸后退"
);
LabelZAxis
.
HomeMove
(
SecMoveInfo
);
LabelZAxis
.
HomeMove
(
SecMoveInfo
);
IOMove
(
IO_Type
.
Nozzle_Work
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
Nozzle_Work
,
IO_VALUE
.
LOW
);
...
@@ -136,6 +140,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -136,6 +140,8 @@ namespace OnlineStore.DeviceLibrary
ShelfMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
O_WLine_WorkStop
,
IO_VALUE
.
LOW
));
ShelfMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
O_WLine_WorkStop
,
IO_VALUE
.
LOW
));
isInPro
=
false
;
isInPro
=
false
;
}
}
protected
override
void
ResetProcess
()
protected
override
void
ResetProcess
()
{
{
if
(
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Reset
)
||
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
RHome
))
if
(
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Reset
)
||
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
RHome
))
...
@@ -279,7 +285,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -279,7 +285,7 @@ namespace OnlineStore.DeviceLibrary
protected
void
ShelfWorkLog
(
string
msg
)
protected
void
ShelfWorkLog
(
string
msg
)
{
{
LogUtil
.
info
(
ShelfMoveInfo
.
Name
+
"
["
+
ShelfMoveInfo
.
MoveType
+
"]
["
+
ShelfMoveInfo
.
MoveStep
+
"] "
+
msg
);
LogUtil
.
info
(
ShelfMoveInfo
.
Name
+
"["
+
ShelfMoveInfo
.
MoveStep
+
"] "
+
msg
);
}
}
private
void
BatchResetMovePro
()
private
void
BatchResetMovePro
()
...
@@ -303,16 +309,17 @@ namespace OnlineStore.DeviceLibrary
...
@@ -303,16 +309,17 @@ namespace OnlineStore.DeviceLibrary
else
if
(
ShelfMoveInfo
.
IsStep
(
StepEnum
.
OBR02_CylinderBack
))
else
if
(
ShelfMoveInfo
.
IsStep
(
StepEnum
.
OBR02_CylinderBack
))
{
{
ShelfMoveInfo
.
NextMoveStep
(
StepEnum
.
OBR03_LineRun
);
;
ShelfMoveInfo
.
NextMoveStep
(
StepEnum
.
OBR03_LineRun
);
;
ShelfWorkLog
(
" :链条先转动
3
秒钟,横移电机停止"
);
ShelfWorkLog
(
" :链条先转动
8
秒钟,横移电机停止"
);
IOMove
(
IO_Type
.
O_WLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
O_WLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
O_ELine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
O_ELine_Run
,
IO_VALUE
.
HIGH
);
ShelfMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3
000
));
ShelfMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
8
000
));
IOMove
(
IO_Type
.
O_SWLine_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
O_SWLine_Run
,
IO_VALUE
.
LOW
);
}
}
else
if
(
ShelfMoveInfo
.
IsStep
(
StepEnum
.
OBR03_LineRun
))
else
if
(
ShelfMoveInfo
.
IsStep
(
StepEnum
.
OBR03_LineRun
))
{
{
ShelfMoveInfo
.
NextMoveStep
(
StepEnum
.
OBR04_BatchAxisHome
);
;
ShelfMoveInfo
.
NextMoveStep
(
StepEnum
.
OBR04_BatchAxisHome
);
;
ShelfWorkLog
(
" :链条停止转动,批量轴原点返回"
);
ShelfWorkLog
(
" :链条停止转动,批量轴原点返回"
);
ShelfMoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
IOMove
(
IO_Type
.
O_WLine_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
O_WLine_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
O_ELine_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
O_ELine_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
O_SWLine_Run
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
O_SWLine_Run
,
IO_VALUE
.
LOW
);
...
@@ -374,21 +381,24 @@ namespace OnlineStore.DeviceLibrary
...
@@ -374,21 +381,24 @@ namespace OnlineStore.DeviceLibrary
}
}
else
else
{
{
if
(
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Working
))
{
WorkingProcess
();
}
if
(
SecMoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Labelling
))
if
(
SecMoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Labelling
))
{
{
LabellingProcess
();
LabellingProcess
();
}
}
if
(
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Working
))
{
WorkingProcess
();
}
if
(
ShelfMoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
ShelfPro
))
if
(
ShelfMoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
ShelfPro
))
{
{
ShelfMoveProcess
();
ShelfMoveProcess
();
}
}
}
}
}
}
private
Stopwatch
needEnterWatch
=
new
Stopwatch
();
private
Stopwatch
needLeaveWatch
=
new
Stopwatch
();
protected
override
void
BaseTimerProcess
()
protected
override
void
BaseTimerProcess
()
{
{
if
(
isInSuddenDown
||
isNoAirCheck
)
if
(
isInSuddenDown
||
isNoAirCheck
)
...
@@ -414,14 +424,46 @@ namespace OnlineStore.DeviceLibrary
...
@@ -414,14 +424,46 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
NoErrorAlarm
()
&&
IOValue
(
IO_Type
.
Out_TrayCheck
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOValue
(
IO_Type
.
X_OLine_Run
).
Equals
(
IO_VALUE
.
LOW
))
if
(
NoErrorAlarm
()
&&
IOValue
(
IO_Type
.
Out_TrayCheck
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOValue
(
IO_Type
.
X_OLine_Run
).
Equals
(
IO_VALUE
.
LOW
))
{
{
//料架准备好才能取料
//料串准备好才能取料
if
(
OutReelCount
>=
0
&&
SecMoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
None
))
if
(
OutReelCount
>=
0
)
//if (OutReelCount >= 0 && SecMoveInfo.MoveType.Equals(RobotMoveType.None))
{
{
StartWorking
(
new
WorkParam
());
StartWorking
(
new
WorkParam
());
}
}
}
}
}
}
//入口无信号NeedEnter
if
(
IOValue
(
IO_Type
.
O_ELine_InCheck
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
O_WLine_InCheck
).
Equals
(
IO_VALUE
.
LOW
)
&&
CylinderIsOk
(
IO_Type
.
O_ELine_TopUp
,
IO_Type
.
O_ELine_TopDown
))
{
if
(
RobotManager
.
checkWatch
(
needEnterWatch
,
3000
))
{
AgvClient
.
NeedEnter
(
Config
.
AgvInName
,
""
,
Asa
.
ClientLevel
.
High
);
}
}
else
{
needEnterWatch
.
Stop
();
AgvClient
.
SetToNone
(
Config
.
AgvInName
);
}
//出口有信号NeedLeave
if
(
IOValue
(
IO_Type
.
O_WLine_OutCheck
).
Equals
(
IO_VALUE
.
HIGH
))
{
if
(
RobotManager
.
checkWatch
(
needLeaveWatch
,
3000
))
{
AgvClient
.
NeedEnter
(
Config
.
AgvOutName
,
""
,
Asa
.
ClientLevel
.
High
);
}
}
else
{
needLeaveWatch
.
Stop
();
AgvClient
.
SetToNone
(
Config
.
AgvOutName
);
}
if
(
NoErrorAlarm
())
if
(
NoErrorAlarm
())
{
{
CheckAxisAlarm
();
CheckAxisAlarm
();
...
@@ -473,14 +515,20 @@ namespace OnlineStore.DeviceLibrary
...
@@ -473,14 +515,20 @@ namespace OnlineStore.DeviceLibrary
msg
+=
"alarm: "
+
alarmType
+
"\n"
;
msg
+=
"alarm: "
+
alarmType
+
"\n"
;
msg
+=
"取料状态:"
+
MoveInfo
.
MoveType
+
" "
+
MoveInfo
.
MoveStep
+
"\n"
;
msg
+=
"取料状态:"
+
MoveInfo
.
MoveType
+
" "
+
MoveInfo
.
MoveStep
+
"\n"
;
msg
+=
"贴标状态:"
+
SecMoveInfo
.
MoveType
+
" "
+
SecMoveInfo
.
MoveStep
+
"\n"
;
msg
+=
"贴标状态:"
+
SecMoveInfo
.
MoveType
+
" "
+
SecMoveInfo
.
MoveStep
+
"\n"
;
msg
+=
"料
架
状态:"
+
ShelfMoveInfo
.
MoveType
+
" "
+
ShelfMoveInfo
.
MoveStep
+
"\n"
;
msg
+=
"料
串
状态:"
+
ShelfMoveInfo
.
MoveType
+
" "
+
ShelfMoveInfo
.
MoveStep
+
"\n"
;
//msg += "料盘信息:" + MoveInfo.MoveParam.ToStr() + " \r\n";
// msg += "标签信息:" + Out_ReelInfo.ToStr() + " \r\n";
// msg += "标签信息:" + Out_ReelInfo.ToStr() + " \r\n";
msg
+=
"当前料架:"
+
WorkShelfId
+
",累积出料 "
+
OutReelCount
+
" 盘共 "
+
OutReelHeight
+
" mm \r\n"
;
msg
+=
"当前料串:"
+
WorkShelfId
+
",累积出料 "
+
OutReelCount
+
" 盘共 "
+
OutReelHeight
+
" mm \r\n"
;
msg
+=
"打印机["
+
RobotManager
.
PrintName
+
"]:"
+
RobotManager
.
LastPrintStatus
+
"\n"
;
msg
+=
"打印机["
+
RobotManager
.
PrintName
+
"]:"
+
RobotManager
.
LastPrintStatus
+
"\n"
;
if
(
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Working
))
{
msg
+=
"取放料盘:"
+
MoveInfo
.
MoveParam
.
OutStr
()
+
" \r\n"
;
}
else
if
(
SecMoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Labelling
))
{
msg
+=
"贴标料盘:"
+
SecMoveInfo
.
MoveParam
.
OutStr
()
+
" \r\n"
;
}
return
msg
;
return
msg
;
}
}
...
@@ -647,5 +695,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -647,5 +695,8 @@ namespace OnlineStore.DeviceLibrary
#
endregion
#
endregion
}
}
}
}
RC1266-AutoCountMachine/source/DeviceLibrary/bean/OutputEquip_Partial.cs
查看文件 @
f50be7f
此文件的差异被折叠,
点击展开。
RC1266-AutoCountMachine/source/DeviceLibrary/bean/OutputEquip_Shelf.cs
查看文件 @
f50be7f
此文件的差异被折叠,
点击展开。
RC1266-AutoCountMachine/source/DeviceLibrary/bean/RobotBean.cs
查看文件 @
f50be7f
此文件的差异被折叠,
点击展开。
RC1266-AutoCountMachine/source/DeviceLibrary/bean/RobotBean_Partial.cs
deleted
100644 → 0
查看文件 @
2afe1e0
using
OnlineStore.Common
;
using
OnlineStore.LoadCSVLibrary
;
using
System
;
using
System.Collections.Generic
;
using
System.Diagnostics
;
using
System.Linq
;
using
System.Text
;
using
System.Threading
;
using
System.Threading.Tasks
;
namespace
OnlineStore.DeviceLibrary
{
partial
class
RobotBean
{
#
region
定时处理方法
private
DateTime
preIoTimerOutTime
=
DateTime
.
Now
;
private
void
IOTimeOutProcess
()
{
try
{
TimeSpan
span
=
DateTime
.
Now
-
preIoTimerOutTime
;
if
(
span
.
TotalSeconds
>
1
&&
alarmType
.
Equals
(
AlarmType
.
IoSingleTimeOut
))
{
preIoTimerOutTime
=
DateTime
.
Now
;
if
(
runStatus
<
RobotRunStatus
.
Runing
||
isInSuddenDown
||
isNoAirCheck
)
{
return
;
}
//若BOX和移栽都没有在等待Io的过程中则此Io超时异常可能已经处理过
// if (MoveInfo.IsInWait.Equals(false) && SW41_MoveInfo.IsInWait.Equals(false) && SW23_MoveInfo.IsInWait.Equals(false))
{
LogUtil
.
info
(
Name
+
"清理信号超时报警【"
+
WarnMsg
+
"】 "
);
alarmType
=
AlarmType
.
None
;
SetWarnMsg
(
""
);
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"IOTimeOutProcess出错:"
,
ex
);
}
}
private
DateTime
preRWTime
=
DateTime
.
Now
;
private
void
CheckWait
(
RobotMoveInfo
checkWaitInfo
)
{
try
{
List
<
WaitResultInfo
>
list
=
checkWaitInfo
.
WaitList
;
if
(
list
.
Count
<=
0
)
{
checkWaitInfo
.
EndStepWait
();
return
;
}
//当等待超过一分钟时,需要打印提示
TimeSpan
span
=
DateTime
.
Now
-
checkWaitInfo
.
LastSetpTime
;
string
NotOkMsg
=
""
;
bool
isOk
=
true
;
if
(
checkWaitInfo
.
OneWaitCanEndStep
)
{
isOk
=
false
;
}
foreach
(
WaitResultInfo
wait
in
list
)
{
if
(
wait
==
null
||
wait
.
IsEnd
)
{
continue
;
}
NotOkMsg
=
" ["
+
wait
.
ToStr
()
+
"] "
;
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W002_IOValue
))
{
NotOkMsg
=
" ["
+
IOManager
.
GetDI
(
wait
.
IoType
,
DeviceID
).
DisplayStr
+
"="
+
wait
.
IoValue
+
"] "
;
wait
.
IsEnd
=
IOValue
(
wait
.
IoType
).
Equals
(
wait
.
IoValue
);
if
(!
wait
.
IsEnd
)
{
TimeSpan
rwSpan
=
DateTime
.
Now
-
preRWTime
;
//一分钟还未检测到
if
(
span
.
TotalSeconds
>
RobotManager
.
Config
.
IOSingle_TimerOut
&&
NoAlarm
())
{
ConfigIO
io
=
baseConfig
.
getWaitIO
(
wait
.
IoType
);
WarnMsg
=
Name
+
"["
+
checkWaitInfo
.
MoveStep
+
"]等待"
+
NotOkMsg
+
" 超时"
;
Alarm
(
AlarmType
.
IoSingleTimeOut
);
LogUtil
.
error
(
MoveInfo
.
Name
+
WarnMsg
,
901
);
}
//超过报警时长
else
if
(
rwSpan
.
TotalSeconds
>
5
&&
span
.
TotalSeconds
>
6
&&
span
.
TotalSeconds
<
RobotManager
.
Config
.
IOSingle_TimerOut
*
2
)
{
preRWTime
=
DateTime
.
Now
;
string
msg
=
checkWaitInfo
.
Name
+
" "
+
NotOkMsg
+
"已等待 "
+
Math
.
Round
(
span
.
TotalSeconds
,
1
)
+
"秒,重写DO:"
;
bool
isLog
=
false
;
foreach
(
WaitResultInfo
ww
in
list
)
{
if
(
ww
!=
null
&&
ww
.
WaitType
.
Equals
(
2
)
&&
baseConfig
.
DOList
.
ContainsKey
(
ww
.
IoType
))
{
if
(
IOManager
.
DOValue
(
ww
.
IoType
,
baseConfig
.
Id
).
Equals
(
ww
.
IoValue
).
Equals
(
false
))
{
isLog
=
true
;
IOMove
(
ww
.
IoType
,
ww
.
IoValue
);
msg
+=
ww
.
ToStr
()
+
","
;
}
}
}
if
(
isLog
)
{
LogUtil
.
error
(
msg
);
}
}
if
(!
checkWaitInfo
.
OneWaitCanEndStep
)
{
isOk
=
false
;
break
;
}
}
}
else
if
(
wait
.
WaitType
.
Equals
(
WaitEnum
.
W003_Time
))
{
wait
.
IsEnd
=
(
span
.
TotalMilliseconds
>=
wait
.
TimeMSeconds
);
}
if
(
wait
.
IsEnd
)
{
if
(
checkWaitInfo
.
OneWaitCanEndStep
)
{
isOk
=
true
;
break
;
}
}
else
{
if
(!
checkWaitInfo
.
OneWaitCanEndStep
)
{
isOk
=
false
;
break
;
}
}
}
if
(
isOk
)
{
checkWaitInfo
.
EndStepWait
();
}
else
if
(
span
.
TotalSeconds
>
checkWaitInfo
.
TimeOutSeconds
)
{
WarnMsg
=
checkWaitInfo
.
Name
+
"["
+
checkWaitInfo
.
MoveStep
+
"]["
+
NotOkMsg
+
"]已等待["
+
Math
.
Round
(
span
.
TotalSeconds
,
1
)
+
"]秒"
;
LogUtil
.
error
(
WarnMsg
,
900
);
Alarm
(
AlarmType
.
IoSingleTimeOut
);
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
checkWaitInfo
.
Name
+
" ["
+
checkWaitInfo
.
MoveStep
+
"] CheckWait 出错:"
,
ex
);
}
}
#
endregion
public
override
bool
StartLabelling
(
WorkParam
param
)
{
return
true
;
}
protected
override
void
LabellingProcess
()
{
}
public
override
bool
StartWorking
(
WorkParam
param
)
{
return
true
;
}
protected
override
void
WorkingProcess
()
{
}
private
void
InOutLog
(
string
msg
)
{
LogUtil
.
debug
(
Name
+
msg
);
}
public
override
void
Alarm
(
AlarmType
alarmType
)
{
}
}
}
RC1266-AutoCountMachine/source/DeviceLibrary/bean/X_RAY_Equip.cs
查看文件 @
f50be7f
...
@@ -27,6 +27,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -27,6 +27,8 @@ namespace OnlineStore.DeviceLibrary
Name
=
(
" "
+
"XRay"
+
" "
).
ToUpper
();
Name
=
(
" "
+
"XRay"
+
" "
).
ToUpper
();
Init
();
Init
();
ledProcessTimer
.
Elapsed
+=
LedProcess
;
IoCheckTimer
.
Elapsed
+=
IoCheckTimerProcess
;
MoveInfo
=
new
RobotMoveInfo
(
Name
);
MoveInfo
=
new
RobotMoveInfo
(
Name
);
SecMoveInfo
=
new
RobotMoveInfo
(
Name
.
Trim
()
+
"-SMove"
);
SecMoveInfo
=
new
RobotMoveInfo
(
Name
.
Trim
()
+
"-SMove"
);
}
}
...
@@ -63,7 +65,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -63,7 +65,7 @@ namespace OnlineStore.DeviceLibrary
private
void
StartReset
()
private
void
StartReset
()
{
{
TimerMaxSeconds
=
10
;
//
TimerMaxSeconds = 10;
SetWarnMsg
(
""
);
SetWarnMsg
(
""
);
alarmType
=
AlarmType
.
None
;
alarmType
=
AlarmType
.
None
;
isInSuddenDown
=
false
;
isInSuddenDown
=
false
;
...
@@ -88,9 +90,18 @@ namespace OnlineStore.DeviceLibrary
...
@@ -88,9 +90,18 @@ namespace OnlineStore.DeviceLibrary
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XR01_CloseXLock
))
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XR01_CloseXLock
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XR02_DoorOpen
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XR02_DoorOpen
);
WorkLog
(
"XRay复位 :左侧们打开,右侧门打开,挡停不动作"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_InDoor_Up
,
IO_Type
.
X_InDoor_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_InDoor_Up
,
IO_Type
.
X_InDoor_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_OutDoor_Up
,
IO_Type
.
X_OutDoor_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_OutDoor_Up
,
IO_Type
.
X_OutDoor_Down
);
if
(
IOValue
(
IO_Type
.
X_ReelCheck
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOValue
(
IO_Type
.
Out_TrayCheck
).
Equals
(
IO_VALUE
.
HIGH
))
{
WorkLog
(
"XRay复位 :左侧们打开,右侧门打开,挡停下降"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_StopCylinder_Up
,
IO_Type
.
X_StopCylinder_Down
);
}
else
{
WorkLog
(
"XRay复位 :左侧们打开,右侧门打开,挡停不动作"
);
}
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XR02_DoorOpen
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XR02_DoorOpen
))
{
{
...
@@ -121,8 +132,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -121,8 +132,8 @@ namespace OnlineStore.DeviceLibrary
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XR05_DoorClose
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XR05_DoorClose
);
WorkLog
(
" XRay复位: 左右门关闭,挡停下降 "
);
WorkLog
(
" XRay复位: 左右门关闭,挡停下降 "
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_InDoor_
Up
,
IO_Type
.
X_InDoor_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_InDoor_
Down
,
IO_Type
.
X_InDoor_Up
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_OutDoor_
Up
,
IO_Type
.
X_OutDoor_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_OutDoor_
Down
,
IO_Type
.
X_OutDoor_Up
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_StopCylinder_Up
,
IO_Type
.
X_StopCylinder_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_StopCylinder_Up
,
IO_Type
.
X_StopCylinder_Down
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XR05_DoorClose
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XR05_DoorClose
))
...
@@ -166,20 +177,38 @@ namespace OnlineStore.DeviceLibrary
...
@@ -166,20 +177,38 @@ namespace OnlineStore.DeviceLibrary
}
}
BusyMoveProcess
();
BusyMoveProcess
();
IOTimeOutProcess
();
IOTimeOutProcess
();
//判断流水线打开了才可以运行
if
(
SecMoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
None
))
if
(
NoAlarm
()
&&
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
None
))
{
if
(
IOValue
(
IO_Type
.
X_ReelCheck
).
Equals
(
IO_VALUE
.
HIGH
)
||
IOValue
(
IO_Type
.
X_InLine_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
StartWorking
(
new
WorkParam
());
}
}
LockOnProcess
();
}
}
if
(
NoAlarm
()&&
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
None
)
)
private
void
LockOnProcess
(
)
{
{
if
(
IOValue
(
IO_Type
.
X_ReelCheck
).
Equals
(
IO_VALUE
.
HIGH
)||
IOValue
(
IO_Type
.
X_InLine_Check
).
Equals
(
IO_VALUE
.
HIGH
))
//不在复位,可以验证是否打开互锁信号
if
(
IOValue
(
IO_Type
.
X_Lock_On
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
StartWorking
(
new
WorkParam
());
if
(!
LockOnCanMove
())
{
IOMove
(
IO_Type
.
X_Lock_On
,
IO_VALUE
.
LOW
);
}
}
else
{
if
((!
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
Reset
))
&&
(!
MoveInfo
.
MoveType
.
Equals
(
RobotMoveType
.
RHome
)))
{
if
(
LockOnCanMove
()
&&
(!
isInSuddenDown
)
&&
(!
isNoAirCheck
))
{
IOMove
(
IO_Type
.
X_Lock_On
,
IO_VALUE
.
HIGH
);
}
}
}
}
}
}
}
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/bean/X_RAY_Equip_Partial.cs
查看文件 @
f50be7f
...
@@ -49,7 +49,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -49,7 +49,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
MoveParam
.
SetReelInfo
(
Work_ReelInfo
);
MoveInfo
.
MoveParam
.
SetReelInfo
(
Work_ReelInfo
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW06_WaitTime
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW06_WaitTime
);
WorkLog
(
"扫描区有料["
+
Work_ReelInfo
.
ToStr
()+
"],还未进行点料,开始处理"
);
WorkLog
(
"扫描区有料["
+
Work_ReelInfo
.
ToStr
()+
"],还未进行点料,开始处理"
);
IOMove
(
IO_Type
.
X_InLine_Run
,
IO_VALUE
.
HIGH
);
//
IOMove(IO_Type.X_InLine_Run, IO_VALUE.HIGH);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_ReelCheck
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_ReelCheck
,
IO_VALUE
.
HIGH
));
...
@@ -69,7 +69,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -69,7 +69,7 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NewMove
(
RobotMoveType
.
Working
);
MoveInfo
.
NewMove
(
RobotMoveType
.
Working
);
MoveInfo
.
MoveParam
.
SetReelInfo
(
In_ReelInfo
);
MoveInfo
.
MoveParam
.
SetReelInfo
(
In_ReelInfo
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW01_WaitInReel
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW01_WaitInReel
);
WorkLog
(
"入口皮带线有料["
+
In_ReelInfo
.
ToStr
()
+
"],开始
准备点料
"
);
WorkLog
(
"入口皮带线有料["
+
In_ReelInfo
.
ToStr
()
+
"],开始
处理
"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_InLine_Check
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_InLine_Check
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_ReelCheck
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_ReelCheck
,
IO_VALUE
.
LOW
));
...
@@ -90,17 +90,18 @@ namespace OnlineStore.DeviceLibrary
...
@@ -90,17 +90,18 @@ namespace OnlineStore.DeviceLibrary
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW01_WaitInReel
))
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW01_WaitInReel
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW02_InDoorOpen
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW02_InDoorOpen
);
WorkLog
(
"料盘处理:左侧门打开"
);
WorkLog
(
"料盘处理:左侧门打开
,挡停下降
"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_InDoor_Up
,
IO_Type
.
X_InDoor_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_InDoor_Up
,
IO_Type
.
X_InDoor_Down
);
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW02_InDoorOpen
))
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW03_StopCylinderDown
);
WorkLog
(
"料盘处理:挡停下降"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_StopCylinder_Up
,
IO_Type
.
X_StopCylinder_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_StopCylinder_Up
,
IO_Type
.
X_StopCylinder_Down
);
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW0
3_StopCylinderDow
n
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW0
2_InDoorOpe
n
))
{
{
// MoveInfo.NextMoveStep(StepEnum.XW03_StopCylinderDown);
// WorkLog("料盘处理:挡停下降");
// CylinderMove(MoveInfo, IO_Type.X_StopCylinder_Up, IO_Type.X_StopCylinder_Down);
//}
//else if (MoveInfo.IsStep(StepEnum.XW03_StopCylinderDown))
//{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW04_InLineRun
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW04_InLineRun
);
WorkLog
(
"料盘处理:入口和中间皮带线转动,"
);
WorkLog
(
"料盘处理:入口和中间皮带线转动,"
);
IOMove
(
IO_Type
.
X_InLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_InLine_Run
,
IO_VALUE
.
HIGH
);
...
@@ -117,12 +118,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -117,12 +118,13 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW05_WaitMCheck
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW05_WaitMCheck
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW06_WaitTime
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW06_WaitTime
);
WorkLog
(
"料盘处理:更新Work_ReelInfo,清空 In_ReelInfo,再转动3秒钟"
);
Work_ReelInfo
=
In_ReelInfo
.
GetReelInfo
();
Work_ReelInfo
=
new
ReelInfo
(
In_ReelInfo
.
WareCode
,
In_ReelInfo
.
PlateW
,
In_ReelInfo
.
PlateH
);
In_ReelInfo
=
new
ReelInfo
();
In_ReelInfo
=
new
ReelInfo
();
WorkLog
(
"料盘处理:更新Work_ReelInfo【"
+
Work_ReelInfo
.
ToStr
()
+
"】,清空 In_ReelInfo,再转动2秒钟"
);
IOMove
(
IO_Type
.
X_InLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_InLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3
000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
2
000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_ReelCheck
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
X_ReelCheck
,
IO_VALUE
.
HIGH
));
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW06_WaitTime
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW06_WaitTime
))
...
@@ -136,8 +138,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -136,8 +138,8 @@ namespace OnlineStore.DeviceLibrary
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW08_DoorClose
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW08_DoorClose
);
WorkLog
(
"料盘处理:左侧门关闭,右侧门关闭,准备开始点料"
);
WorkLog
(
"料盘处理:左侧门关闭,右侧门关闭,准备开始点料"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_InDoor_
Up
,
IO_Type
.
X_InDoor_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_InDoor_
Down
,
IO_Type
.
X_InDoor_Up
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_OutDoor_
Up
,
IO_Type
.
X_OutDoor_Down
);
CylinderMove
(
MoveInfo
,
IO_Type
.
X_OutDoor_
Down
,
IO_Type
.
X_OutDoor_Up
);
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_DoorLimit_Down, IO_VALUE.HIGH));
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_DoorLimit_Down, IO_VALUE.HIGH));
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_DoorLimit_Up, IO_VALUE.HIGH));
// MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.X_DoorLimit_Up, IO_VALUE.HIGH));
...
@@ -157,16 +159,22 @@ namespace OnlineStore.DeviceLibrary
...
@@ -157,16 +159,22 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW12_EndCount
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW12_EndCount
);
if
(
Work_ReelInfo
.
WareCount
<=
0
)
if
(
Work_ReelInfo
.
WareCount
<=
0
)
{
{
MoveInfo
.
MoveParam
.
WareCount
=
99999
;
Work_ReelInfo
.
WareCount
=
99999
;
Work_ReelInfo
.
WareCount
=
99999
;
}
}
WorkLog
(
"料盘处理:点料结束,关闭X关机互锁信号"
);
WorkLog
(
"料盘处理:点料结束,关闭X关机互锁信号
,上传点料结果
"
);
IOMove
(
IO_Type
.
X_Lock_On
,
IO_VALUE
.
LOW
);
IOMove
(
IO_Type
.
X_Lock_On
,
IO_VALUE
.
LOW
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
Task
.
Factory
.
StartNew
(
delegate
{
string
msg
=
SServerManager
.
Return_Material
(
Name
,
MoveInfo
.
MoveParam
.
WareCode
,
Work_ReelInfo
.
WareCount
);
LogUtil
.
error
(
Name
+
"上传【"
+
MoveInfo
.
MoveParam
.
OutStr
()+
"】点料结果失败:"
+
msg
);
});
}
}
#
endregion
#
endregion
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW12_EndCount
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW12_EndCount
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW21_WaitOutNoReel
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW21_WaitOutNoReel
);
MoveInfo
.
TimeOutSeconds
=
120
;
WorkLog
(
"料盘处理:等待出口无料盘"
);
WorkLog
(
"料盘处理:等待出口无料盘"
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Out_TrayCheck
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Out_TrayCheck
,
IO_VALUE
.
LOW
));
}
}
...
@@ -195,9 +203,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -195,9 +203,10 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW24_WaitOutCheck
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
XW24_WaitOutCheck
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW25_WaitTime
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
XW25_WaitTime
);
WorkLog
(
"料盘处理:清空 Work_ReelInfo,更新 再转动3秒"
);
Out_ReelInfo
=
Work_ReelInfo
.
GetReelInfo
();
Out_ReelInfo
=
new
ReelInfo
(
Work_ReelInfo
.
WareCode
,
Work_ReelInfo
.
PlateW
,
Work_ReelInfo
.
PlateH
,
Work_ReelInfo
.
WareCount
);
Work_ReelInfo
=
new
ReelInfo
();
Work_ReelInfo
=
new
ReelInfo
();
WorkLog
(
"料盘处理:清空 Work_ReelInfo,更新Out_ReelInfo【"
+
Out_ReelInfo
.
ToStr
()+
"】 再转动3秒"
);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_MLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_OLine_Run
,
IO_VALUE
.
HIGH
);
IOMove
(
IO_Type
.
X_OLine_Run
,
IO_VALUE
.
HIGH
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3000
));
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/deviceLibrary/IO/AIOBOX/AIOBOXManager.cs
查看文件 @
f50be7f
...
@@ -65,37 +65,29 @@ namespace OnlineStore.DeviceLibrary
...
@@ -65,37 +65,29 @@ namespace OnlineStore.DeviceLibrary
{
{
DOValueMap
.
Remove
(
ioIp
);
DOValueMap
.
Remove
(
ioIp
);
}
}
int
DIMS
=
ConfigAppSettings
.
GetIntValue
(
"DIMS"
);
if
(
DIMS
<
20
)
{
DIMS
=
20
;
}
int
DOMS
=
ConfigAppSettings
.
GetIntValue
(
"DOMS"
);
if
(
DOMS
<
200
)
{
DOMS
=
200
;
}
int
DILength
=
RobotManager
.
Config
.
GetDILength
(
ioIp
);
int
DILength
=
RobotManager
.
Config
.
GetDILength
(
ioIp
);
int
DOLength
=
RobotManager
.
Config
.
GetDOLength
(
ioIp
);
int
DOLength
=
RobotManager
.
Config
.
GetDOLength
(
ioIp
);
string
logName
=
"IO模块["
+
ioIp
+
"] DI["
+
DILength
+
"] DO["
+
DOLength
+
"]
,["
+
DIMS
+
"] ["
+
DOMS
+
"]
"
;
string
logName
=
"IO模块["
+
ioIp
+
"] DI["
+
DILength
+
"] DO["
+
DOLength
+
"]
"
;
try
try
{
{
aioBox
=
new
AIOBOX
();
//aioBox = new AIOBOX();
//aioBox.LogPath(Application.StartupPath + @"\logs\aio\", LogType.OnlyError);
aioBox
.
LogPath
(
Application
.
StartupPath
+
@"\logs\aio\"
,
LogType
.
OnlyError
);
//aioBox.IP = ioIp;
//aioBox.SetInput(Asa.IOModule.Box_Type.DI, DILength);
//aioBox.SetOutput(Asa.IOModule.Box_Type.DO, DOLength);
////DI主动上传
//aioBox.AutoReadInput(true);
//aioBox.AutoReadOutput(false, DOMS);
aioBox
=
new
AIOBOX
(
Asa
.
IOModule
.
Box_Type
.
DI
,
DILength
,
Asa
.
IOModule
.
Box_Type
.
DO
,
DOLength
);
aioBox
.
IP
=
ioIp
;
aioBox
.
IP
=
ioIp
;
aioBox
.
Upload
=
true
;
aioBox
.
SetInput
(
Asa
.
IOModule
.
Box_Type
.
DI
,
DILength
);
aioBox
.
SetOutput
(
Asa
.
IOModule
.
Box_Type
.
DO
,
DOLength
);
//DI主动上传
aioBox
.
AutoReadInput
(
true
);
aioBox
.
AutoReadOutput
(
false
,
DOMS
);
aioBox
.
DI_Changed_Event
+=
AioBox_DI_Changed_Event
;
;
aioBox
.
DI_Changed_Event
+=
AioBox_DI_Changed_Event
;
;
aioBox
.
DO_Changed_Event
+=
AioBox_DO_Changed_Event
;
aioBox
.
DO_Changed_Event
+=
AioBox_DO_Changed_Event
;
LogUtil
.
info
(
"开始连接:"
+
logName
+
":"
+
aioBox
.
ErrInfo
);
LogUtil
.
info
(
"开始连接:"
+
logName
+
":"
);
aioBox
.
Connect
();
aioBox
.
Connect
();
AIOMap
.
Add
(
ioIp
,
aioBox
);
AIOMap
.
Add
(
ioIp
,
aioBox
);
...
@@ -263,7 +255,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -263,7 +255,7 @@ namespace OnlineStore.DeviceLibrary
bool
result
=
aioBox
.
WriteDO
(
StartAddress
,
GetBox_Sta
(
onOff
));
bool
result
=
aioBox
.
WriteDO
(
StartAddress
,
GetBox_Sta
(
onOff
));
if
(!
result
)
if
(!
result
)
{
{
LogUtil
.
error
(
"AIO WriteSingleDO ["
+
ioIp
+
"] ["
+
StartAddress
+
"] 失败:"
+
aioBox
.
ErrInfo
);
LogUtil
.
error
(
"AIO WriteSingleDO ["
+
ioIp
+
"] ["
+
StartAddress
+
"] 失败:"
);
}
}
}
}
else
else
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/deviceLibrary/halcon/CodeManager.cs
查看文件 @
f50be7f
...
@@ -51,7 +51,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -51,7 +51,7 @@ namespace OnlineStore.DeviceLibrary
}
}
private
static
void
LoadCamera
(
bool
isReLoad
)
private
static
void
LoadCamera
(
bool
isReLoad
)
{
{
if
(
isReLoad
||
Camera
.
_cam
==
null
)
if
(
isReLoad
||
Camera
.
_cam
==
null
)
{
{
try
try
{
{
...
@@ -95,19 +95,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -95,19 +95,14 @@ namespace OnlineStore.DeviceLibrary
{
{
Camera
.
_cam
.
CloseAll
();
Camera
.
_cam
.
CloseAll
();
}
}
public
static
List
<
string
>
CameraScan
(
string
camera
,
string
deviceName
,
bool
findRightCodeBreak
=
false
)
{
List
<
string
>
cameraList
=
new
List
<
string
>();
cameraList
.
Add
(
camera
);
return
CameraScan
(
cameraList
,
deviceName
,
findRightCodeBreak
);
}
private
static
int
ScanCount
=
0
;
private
static
int
ScanCount
=
0
;
private
static
int
codeCount
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
CodeCount
);
private
static
int
codeCount
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
CodeCount
);
[
HandleProcessCorruptedStateExceptions
]
[
HandleProcessCorruptedStateExceptions
]
public
static
List
<
string
>
CameraScan
(
List
<
string
>
cameraList
,
string
deviceName
,
bool
findRightCodeBreak
=
false
)
public
static
List
<
string
>
CameraScan
(
string
deviceName
,
params
string
[]
cameraList
)
{
{
List
<
string
>
codeList
=
new
List
<
string
>();
List
<
string
>
codeList
=
new
List
<
string
>();
if
(
cameraList
==
null
||
cameraList
.
Count
<=
0
)
if
(
cameraList
==
null
||
cameraList
.
Length
<=
0
)
{
{
return
codeList
;
return
codeList
;
}
}
...
@@ -123,10 +118,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -123,10 +118,10 @@ namespace OnlineStore.DeviceLibrary
DateTime
startTime
=
DateTime
.
Now
;
DateTime
startTime
=
DateTime
.
Now
;
if
(
deviceName
!=
""
)
if
(
deviceName
!=
""
)
{
{
LogUtil
.
info
(
deviceName
+
" 【"
+
cameraName
+
"】开始取图片"
);
LogUtil
.
debug
(
deviceName
+
" 【"
+
cameraName
+
"】开始取图片"
);
}
}
HalconDotNet
.
HObject
ho_Image
=
null
;
HalconDotNet
.
HObject
ho_Image
=
null
;
bool
findRightCode
=
false
;
try
try
{
{
ho_Image
=
Camera
.
_cam
.
CaptureOnImage
(
cameraName
);
ho_Image
=
Camera
.
_cam
.
CaptureOnImage
(
cameraName
);
...
@@ -158,17 +153,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -158,17 +153,9 @@ namespace OnlineStore.DeviceLibrary
{
{
codeList
.
Add
(
str
);
codeList
.
Add
(
str
);
r
=
r
+
"##"
+
str
;
r
=
r
+
"##"
+
str
;
if
(!
findRightCode
)
{
findRightCode
=
IsRightCode
(
str
);
}
}
}
}
}
if
(
findRightCodeBreak
&&
findRightCode
)
{
break
;
}
}
}
if
(
String
.
IsNullOrEmpty
(
r
))
if
(
String
.
IsNullOrEmpty
(
r
))
{
{
...
@@ -176,7 +163,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -176,7 +163,7 @@ namespace OnlineStore.DeviceLibrary
}
}
if
(
deviceName
!=
""
||
r
!=
""
)
if
(
deviceName
!=
""
||
r
!=
""
)
{
{
LogUtil
.
info
(
deviceName
+
" 【"
+
cameraName
+
"】扫码完成【"
+
FormUtil
.
GetSpanStr
(
DateTime
.
Now
-
startTime
)
+
"】
["
+
findRightCode
+
"]
"
+
ScanCount
+
" :"
+
r
);
LogUtil
.
info
(
deviceName
+
" 【"
+
cameraName
+
"】扫码完成【"
+
FormUtil
.
GetSpanStr
(
DateTime
.
Now
-
startTime
)
+
"】"
+
ScanCount
+
" :"
+
r
);
}
}
}
}
catch
(
AccessViolationException
e
)
catch
(
AccessViolationException
e
)
...
@@ -232,28 +219,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -232,28 +219,7 @@ namespace OnlineStore.DeviceLibrary
}
}
}
}
private
static
bool
IsRightCode
(
string
code
)
{
//分号分割后长度=4,L,E,B,R
try
{
string
[]
strarray
=
code
.
Split
(
';'
);
if
(
strarray
.
Length
==
4
)
{
if
(
strarray
[
0
].
StartsWith
(
"L"
)
&&
strarray
[
1
].
StartsWith
(
"E"
)
&&
strarray
[
2
].
StartsWith
(
"B"
)
&&
strarray
[
3
].
StartsWith
(
"R"
))
{
return
true
;
}
}
}
catch
(
Exception
ex
)
{
}
return
false
;
}
public
static
string
GetCodeParamFilePath
(
string
codePath
)
public
static
string
GetCodeParamFilePath
(
string
codePath
)
{
{
string
appPath
=
Application
.
StartupPath
;
string
appPath
=
Application
.
StartupPath
;
...
@@ -299,9 +265,32 @@ namespace OnlineStore.DeviceLibrary
...
@@ -299,9 +265,32 @@ namespace OnlineStore.DeviceLibrary
message
=
asciiEncoding
.
GetString
(
newBytes
.
ToArray
());
message
=
asciiEncoding
.
GetString
(
newBytes
.
ToArray
());
return
message
;
return
message
;
}
}
public
static
string
ProcessCode
(
List
<
string
>
codeList
)
private
static
bool
IsRightCode
(
string
code
)
{
//分号分割后长度=4,L,E,B,R
try
{
string
[]
strarray
=
code
.
Split
(
';'
);
if
(
strarray
.
Length
==
4
)
{
if
(
strarray
[
0
].
StartsWith
(
"L"
)
&&
strarray
[
1
].
StartsWith
(
"E"
)
&&
strarray
[
2
].
StartsWith
(
"B"
)
&&
strarray
[
3
].
StartsWith
(
"R"
))
{
return
true
;
}
}
}
catch
(
Exception
ex
)
{
}
return
false
;
}
public
static
string
GetValidCode
(
List
<
string
>
codeList
)
{
{
string
code
=
""
;
string
code
=
""
;
List
<
string
>
targetCode
=
new
List
<
string
>();
foreach
(
string
cc
in
codeList
)
foreach
(
string
cc
in
codeList
)
{
{
if
(
string
.
IsNullOrEmpty
(
cc
))
if
(
string
.
IsNullOrEmpty
(
cc
))
...
@@ -310,7 +299,48 @@ namespace OnlineStore.DeviceLibrary
...
@@ -310,7 +299,48 @@ namespace OnlineStore.DeviceLibrary
}
}
code
+=
cc
+
"##"
;
code
+=
cc
+
"##"
;
}
}
return
ReplaceCode
(
code
);
code
=
ReplaceCode
(
code
);
if
(
String
.
IsNullOrEmpty
(
code
))
{
return
""
;
}
foreach
(
string
cc
in
codeList
)
{
if
(
string
.
IsNullOrEmpty
(
cc
))
{
continue
;
}
//L0000000000360K003732; E20200311 0365; B6D.49925.551014212020031105000; R014212020031103159##B29
string
[]
codearray
=
ReplaceCode
(
cc
).
Split
(
';'
);
if
(
codearray
.
Length
>=
4
)
{
if
(
codearray
[
2
].
StartsWith
(
"B"
)
&&
codearray
[
2
].
Length
>=
13
&&
codearray
[
3
].
StartsWith
(
"R"
))
{
string
tc
=
codearray
[
2
].
Substring
(
1
,
12
)
+
";"
+
codearray
[
3
];
if
(!
targetCode
.
Contains
(
tc
))
{
targetCode
.
Add
(
tc
);
}
}
}
}
if
(
targetCode
.
Count
==
1
)
{
LogUtil
.
info
(
"解析条码【"
+
code
+
"】结果【"
+
targetCode
[
0
]
+
"】"
);
return
targetCode
[
0
];
}
else
if
(
targetCode
.
Count
<=
0
)
{
LogUtil
.
info
(
"解析条码【"
+
code
+
"】失败:未找到有效条码"
);
}
else
{
LogUtil
.
info
(
"解析条码【"
+
code
+
"】失败:有多个("
+
targetCode
.
Count
+
")有效条码"
);
}
return
""
;
}
}
}
}
}
}
RC1266-AutoCountMachine/source/DeviceLibrary/manager/RFIDManagercs.cs
查看文件 @
f50be7f
...
@@ -92,7 +92,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -92,7 +92,7 @@ namespace OnlineStore.DeviceLibrary
}
}
internal
static
bool
IsRealRfid
(
string
shelfRfid
)
internal
static
bool
IsRealRfid
(
string
shelfRfid
)
{
{
//判断料
架号是否是真实的料架
号
//判断料
串号是否是真实的料串
号
if
(
shelfRfid
.
StartsWith
(
"C"
)
||
shelfRfid
.
StartsWith
(
"D"
))
if
(
shelfRfid
.
StartsWith
(
"C"
)
||
shelfRfid
.
StartsWith
(
"D"
))
{
{
int
num
=
-
1
;
int
num
=
-
1
;
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/manager/RobotManager.cs
查看文件 @
f50be7f
...
@@ -4,6 +4,7 @@ using OnlineStore.Common;
...
@@ -4,6 +4,7 @@ using OnlineStore.Common;
using
OnlineStore.LoadCSVLibrary
;
using
OnlineStore.LoadCSVLibrary
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Diagnostics
;
using
System.IO
;
using
System.IO
;
using
System.Linq
;
using
System.Linq
;
using
System.Text
;
using
System.Text
;
...
@@ -176,6 +177,24 @@ namespace OnlineStore.DeviceLibrary
...
@@ -176,6 +177,24 @@ namespace OnlineStore.DeviceLibrary
}
}
public
static
bool
checkWatch
(
Stopwatch
watch
,
int
targetMs
,
bool
isStop
=
true
)
{
if
(!
watch
.
IsRunning
)
{
watch
.
Restart
();
return
false
;
}
else
if
(
watch
.
ElapsedMilliseconds
>=
targetMs
)
{
if
(
isStop
)
{
watch
.
Stop
();
}
return
true
;
}
return
false
;
}
private
static
List
<
int
>
trayHeightList
=
new
List
<
int
>()
{
8
,
12
,
16
,
24
,
32
,
44
,
56
};
private
static
List
<
int
>
trayHeightList
=
new
List
<
int
>()
{
8
,
12
,
16
,
24
,
32
,
44
,
56
};
public
static
List
<
int
>
GetTrayList
()
public
static
List
<
int
>
GetTrayList
()
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/manager/SServerManager.cs
查看文件 @
f50be7f
此文件的差异被折叠,
点击展开。
RC1266-AutoCountMachine/source/DeviceLibrary/model/AxisBean.cs
查看文件 @
f50be7f
...
@@ -145,7 +145,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -145,7 +145,7 @@ namespace OnlineStore.DeviceLibrary
{
{
msg
=
" "
+
MoveInfo
.
MoveStep
+
MoveInfo
.
Name
+
axis
.
DisplayStr
+
",目标位置["
+
targetPosition
+
"]当前位置["
+
outCount
msg
=
" "
+
MoveInfo
.
MoveStep
+
MoveInfo
.
Name
+
axis
.
DisplayStr
+
",目标位置["
+
targetPosition
+
"]当前位置["
+
outCount
+
"],误差过大,需要报警"
;
+
"],误差过大,需要报警"
;
LogUtil
.
error
(
msg
,
600
);
LogUtil
.
error
(
msg
,
MoveInfo
.
ErrorLogType
);
}
}
}
}
return
false
;
return
false
;
...
@@ -274,9 +274,9 @@ namespace OnlineStore.DeviceLibrary
...
@@ -274,9 +274,9 @@ namespace OnlineStore.DeviceLibrary
lastOkTime
=
DateTime
.
Now
;
lastOkTime
=
DateTime
.
Now
;
if
(
IOManager
.
IOValue
(
TargetIoType
,
0
).
Equals
(
TargetIoValue
))
if
(
IOManager
.
IOValue
(
TargetIoType
,
0
).
Equals
(
TargetIoValue
))
{
{
AxisStopCheckMove
();
LogUtil
.
info
(
AxisName
+
"上料轴,检测到 "
+
TargetIoType
+
"="
+
TargetIoValue
+
",停止运动"
);
LogUtil
.
info
(
AxisName
+
"上料轴,检测到 "
+
TargetIoType
+
"="
+
TargetIoValue
+
",停止运动"
);
SuddenStop
();
SuddenStop
();
AxisStopCheckMove
();
}
}
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/model/MoveStep.cs
查看文件 @
f50be7f
...
@@ -243,7 +243,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -243,7 +243,7 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
IB04_LineStart
,
IB04_LineStart
,
/// <summary>
/// <summary>
/// 料串入料:等待料
架
稳定
/// 料串入料:等待料
串
稳定
/// </summary>
/// </summary>
IB05_WaitTime
,
IB05_WaitTime
,
/// <summary>
/// <summary>
...
@@ -291,7 +291,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -291,7 +291,7 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
IB22_LocationDown
,
IB22_LocationDown
,
/// <summary>
/// <summary>
/// 入料结束:通知agv来拉料
架
/// 入料结束:通知agv来拉料
串
/// </summary>
/// </summary>
IB23_ShelfOut
,
IB23_ShelfOut
,
#
endregion
#
endregion
...
@@ -331,10 +331,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -331,10 +331,10 @@ namespace OnlineStore.DeviceLibrary
/// XRay点料:左侧门打开,
/// XRay点料:左侧门打开,
/// </summary>
/// </summary>
XW02_InDoorOpen
,
XW02_InDoorOpen
,
/// <summary>
///
//
<summary>
/// XRay点料:挡停下降
///
//
XRay点料:挡停下降
/// </summary>
///
//
</summary>
XW03_StopCylinderDown
,
//
XW03_StopCylinderDown,
/// <summary>
/// <summary>
/// XRay点料:入口和中间皮带线转动
/// XRay点料:入口和中间皮带线转动
/// </summary>
/// </summary>
...
@@ -421,7 +421,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -421,7 +421,7 @@ namespace OnlineStore.DeviceLibrary
//取料Z,贴标Z回原点,批量轴开始回原点
//取料Z,贴标Z回原点,批量轴开始回原点
//
//
#
region
取料模块复位
#
region
取料模块复位
3000
开始
/// <summary>
/// <summary>
/// 取料模块复位: 取料Z轴回原点
/// 取料模块复位: 取料Z轴回原点
...
@@ -446,7 +446,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -446,7 +446,7 @@ namespace OnlineStore.DeviceLibrary
#
endregion
#
endregion
#
region
贴标模块复位
#
region
贴标模块复位
3100
开始
/// <summary>
/// <summary>
/// 贴标模块复位: 贴标Z轴回原点
/// 贴标模块复位: 贴标Z轴回原点
/// </summary>
/// </summary>
...
@@ -481,7 +481,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -481,7 +481,7 @@ namespace OnlineStore.DeviceLibrary
OLR08_LabelRToP1
,
OLR08_LabelRToP1
,
#
endregion
#
endregion
#
region
料
架批量轴模块复位
#
region
料
串批量轴模块复位
3200
开始
/// <summary>
/// <summary>
/// 出料模块复位: 阻挡气缸上升
/// 出料模块复位: 阻挡气缸上升
...
@@ -536,10 +536,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -536,10 +536,10 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
OT03_MoveXToP2
,
OT03_MoveXToP2
,
/// <summary>
///
//
<summary>
/// 取料: 判断是否需要拍照,
///
//
取料: 判断是否需要拍照,
/// </summary>
///
//
</summary>
OT04_CheckNeedImage
,
//
OT04_CheckNeedImage,
/// <summary>
/// <summary>
/// 取料: 拍照并开始识别
/// 取料: 拍照并开始识别
...
@@ -565,11 +565,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -565,11 +565,11 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// <summary>
/// 取料: 取料完成,等待料
架
可放料
/// 取料: 取料完成,等待料
串
可放料
/// </summary>
/// </summary>
OT11_WaitShelfOk
,
OT11_WaitShelfOk
,
/// <summary>
/// <summary>
/// 取料: 料
架
可放料,取料X轴移动到P3,提升轴下降指定高度
/// 取料: 料
串
可放料,取料X轴移动到P3,提升轴下降指定高度
/// </summary>
/// </summary>
OT12_MoveXToP3
,
OT12_MoveXToP3
,
/// <summary>
/// <summary>
...
@@ -587,7 +587,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -587,7 +587,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// <summary>
/// 取料: 取料X轴回到P1
/// 取料: 取料X轴回到P1
/// </summary>
/// </summary>
OT16_MoveXToP
1
,
OT16_MoveXToP
2
,
/// <summary>
/// <summary>
/// 取料: NG料,取料X轴到P1
/// 取料: NG料,取料X轴到P1
...
@@ -642,29 +642,29 @@ namespace OnlineStore.DeviceLibrary
...
@@ -642,29 +642,29 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// <summary>
/// 贴标: 贴标气缸后退,吸盘停止输出,贴标Z轴到待机点P1
/// 贴标: 贴标气缸后退,吸盘停止输出,贴标Z轴到待机点P1
,取码气缸前进
/// </summary>
/// </summary>
OL01_Paste_Back
=
3601
,
OL01_Paste_Back
=
3601
,
/// <summary>
///
//
<summary>
/// 贴标: 取码气缸前进,贴标XYR都到待机点P2
///
//
贴标: 取码气缸前进,贴标XYR都到待机点P2
/// </summary>
///
//
</summary>
OL02_TakeForward
,
//
OL02_TakeForward,
/// <summary>
/// <summary>
/// 贴标: 打印标签,
/// 贴标: 打印标签,
/// </summary>
/// </summary>
OL03_PrintLabel
,
OL03_PrintLabel
,
/// <summary>
///
//
<summary>
/// 贴标: 等待 贴标机打码OK信号
///
//
贴标: 等待 贴标机打码OK信号
/// </summary>
///
//
</summary>
OL04_PrintOk
,
//
OL04_PrintOk,
/// <summary>
/// <summary>
/// 贴标: 取码气缸后退
/// 贴标: 取码气缸后退
/// </summary>
/// </summary>
OL05_TakeBack
,
OL05_TakeBack
,
/// <summary>
///
//
<summary>
/// 贴标: 贴标XYR都到待机点P2
///
//
贴标: 贴标XYR都到待机点P2
/// </summary>
///
//
</summary>
OL06_XYRToP2
,
//
OL06_XYRToP2,
/// <summary>
/// <summary>
/// 贴标: Z轴到取标签点P2
/// 贴标: Z轴到取标签点P2
/// </summary>
/// </summary>
...
@@ -673,10 +673,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -673,10 +673,10 @@ namespace OnlineStore.DeviceLibrary
/// 贴标: 标签吸盘取码
/// 贴标: 标签吸盘取码
/// </summary>
/// </summary>
OL08_Nozzle_Work
,
OL08_Nozzle_Work
,
/// <summary>
///
//
<summary>
/// 贴标: 等待吸盘信号到位
///
//
贴标: 等待吸盘信号到位
/// </summary>
///
//
</summary>
OL09_WaitGetLabel
,
//
OL09_WaitGetLabel,
/// <summary>
/// <summary>
/// 贴标: Z轴到P1点
/// 贴标: Z轴到P1点
/// </summary>
/// </summary>
...
@@ -717,84 +717,85 @@ namespace OnlineStore.DeviceLibrary
...
@@ -717,84 +717,85 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// <summary>
/// 贴标: XYR返回待机点P1
/// 贴标: XYR返回待机点P1
/// </summary>
/// </summary>
OL19_XYRBackToP
1
,
OL19_XYRBackToP
2
,
#
endregion
#
endregion
#
region
出料模块料架处理
3701
开始
#
region
出料模块料串处理
3701
开始
/// <summary>
/// <summary>
/// 出料料
架
:升降盘不在后退端,提升伺服到P2
/// 出料料
串
:升降盘不在后退端,提升伺服到P2
/// </summary>
/// </summary>
OS_01_BatchAxisToP2
=
3701
,
OS_01_BatchAxisToP2
=
3701
,
/// <summary>
/// <summary>
/// 出料料
架
:升降盘定位气缸后退
/// 出料料
串
:升降盘定位气缸后退
/// </summary>
/// </summary>
OS_02_TrayL_After
,
OS_02_TrayL_After
,
/// <summary>
/// <summary>
/// 出料料
架
:定位气缸下降
/// 出料料
串
:定位气缸下降
/// </summary>
/// </summary>
OS_03_LocationDown
,
OS_03_LocationDown
,
/// <summary>
/// <summary>
/// 出料料
架
:提升轴移动到高处待机点P1
/// 出料料
串
:提升轴移动到高处待机点P1
/// </summary>
/// </summary>
OS_04_BatchAxisToP1
,
OS_04_BatchAxisToP1
,
/// <summary>
/// <summary>
/// 出料料
架
,等待空料串入料口有信号
/// 出料料
串
,等待空料串入料口有信号
/// </summary>
/// </summary>
OS_05_WaitECheck
,
OS_05_WaitECheck
,
/// <summary>
/// <summary>
/// 出料料
架
:空料串,接料线体,入口顶升上升
/// 出料料
串
:空料串,接料线体,入口顶升上升
/// </summary>
/// </summary>
OS_06_TopUp
,
OS_06_TopUp
,
/// <summary>
/// <summary>
/// 出料料
架
:空料串阻挡下降,横移电机运转
/// 出料料
串
:空料串阻挡下降,横移电机运转
/// </summary>
/// </summary>
OS_07_SWLineRun
,
OS_07_SWLineRun
,
/// <summary>
/// <summary>
/// 出料料
架
:等待入料线进口信号亮
/// 出料料
串
:等待入料线进口信号亮
/// </summary>
/// </summary>
OS_08_WLineInCheck
,
OS_08_WLineInCheck
,
/// <summary>
/// <summary>
/// 出料料
架:空料串阻挡上升,等待1000毫秒料架
到达接料线体
/// 出料料
串:空料串阻挡上升,等待1000毫秒料串
到达接料线体
/// </summary>
/// </summary>
OS_09_WaitInWLine
,
OS_09_WaitInWLine
,
/// <summary>
/// <summary>
/// 出料料
架
:空料串阻挡上升,顶升下降,线体停止转动,
/// 出料料
串
:空料串阻挡上升,顶升下降,线体停止转动,
/// </summary>
/// </summary>
OS_10_TopDown
,
OS_10_TopDown
,
/// <summary>
/// <summary>
/// 出料料
架
:接料线体工位阻挡上升,接料线体转动,等待工位检测信号,
/// 出料料
串
:接料线体工位阻挡上升,接料线体转动,等待工位检测信号,
/// </summary>
/// </summary>
OS_11_WLineRun
,
OS_11_WLineRun
,
/// <summary>
/// <summary>
/// 出料料
架
:工位检测信号亮,,在转动3000ms,
/// 出料料
串
:工位检测信号亮,,在转动3000ms,
/// </summary>
/// </summary>
OS_12_WorkCheck
,
OS_12_WorkCheck
,
/// <summary>
/// <summary>
/// 出料料
架
:接料线体停止转动,
/// 出料料
串
:接料线体停止转动,
/// </summary>
/// </summary>
OS_13_StopLineRun
,
OS_13_StopLineRun
,
/// <summary>
/// <summary>
/// 出料料
架
:工位定位气缸上升,
/// 出料料
串
:工位定位气缸上升,
/// </summary>
/// </summary>
OS_14_WLocationUp
,
OS_14_WLocationUp
,
/// <summary>
/// <summary>
/// 出料料
架
:提升轴下降到P2,
/// 出料料
串
:提升轴下降到P2,
/// </summary>
/// </summary>
OS_15_BatchAxisToP2
,
OS_15_BatchAxisToP2
,
/// <summary>
/// <summary>
/// 出料料
架
:托盘定位前进,
/// 出料料
串
:托盘定位前进,
/// </summary>
/// </summary>
OS_16_WTrayLForward
,
OS_16_WTrayLForward
,
/// <summary>
/// <summary>
/// 出料料
架
:批量轴匀速到P3点,
/// 出料料
串
:批量轴匀速到P3点,
/// </summary>
/// </summary>
OS_17_BatchAxisToP3
,
OS_17_BatchAxisToP3
,
/// <summary>
/// <summary>
/// 出料料
架:料架
准备完成,
/// 出料料
串:料串
准备完成,
/// </summary>
/// </summary>
OS_18_ShelfReady
,
OS_18_ShelfReady
,
...
@@ -804,11 +805,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -804,11 +805,11 @@ namespace OnlineStore.DeviceLibrary
OS_21_BatchDownH
,
OS_21_BatchDownH
,
/// <summary>
/// <summary>
/// 放料:等待料盘放入料
架
,
/// 放料:等待料盘放入料
串
,
/// </summary>
/// </summary>
OS_22_WaitTray
,
OS_22_WaitTray
,
/// <summary>
/// <summary>
/// 放料:等待料盘放入料
架
,
/// 放料:等待料盘放入料
串
,
/// </summary>
/// </summary>
OS_23_TrayOK
,
OS_23_TrayOK
,
/// <summary>
/// <summary>
...
@@ -828,43 +829,43 @@ namespace OnlineStore.DeviceLibrary
...
@@ -828,43 +829,43 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// <summary>
/// 送出料
架:开始送出料架
,
/// 送出料
串:开始送出料串
,
/// </summary>
/// </summary>
OS_31_ShendShelfOut
,
OS_31_ShendShelfOut
,
/// <summary>
/// <summary>
/// 送出料
架
:批量轴下降到P2,
/// 送出料
串
:批量轴下降到P2,
/// </summary>
/// </summary>
OS_32_BatchToP2
,
OS_32_BatchToP2
,
/// <summary>
/// <summary>
/// 送出料
架
:托盘定位气缸后退,
/// 送出料
串
:托盘定位气缸后退,
/// </summary>
/// </summary>
OS_33_TrayFixedBack
,
OS_33_TrayFixedBack
,
/// <summary>
/// <summary>
/// 送出料
架
:定位气缸下降,
/// 送出料
串
:定位气缸下降,
/// </summary>
/// </summary>
OS_34_LocationDown
,
OS_34_LocationDown
,
/// <summary>
/// <summary>
/// 送出料
架
:批量轴到P1,
/// 送出料
串
:批量轴到P1,
/// </summary>
/// </summary>
OS_35_BatchAxisToP1
,
OS_35_BatchAxisToP1
,
/// <summary>
/// <summary>
/// 送出料
架:等待出口无料架
/// 送出料
串:等待出口无料串
/// </summary>
/// </summary>
OS_36_WaitOutNoShelf
,
OS_36_WaitOutNoShelf
,
/// <summary>
/// <summary>
/// 送出料
架
:出口阻挡上升
/// 送出料
串
:出口阻挡上升
/// </summary>
/// </summary>
OS_37_OutStopUp
,
OS_37_OutStopUp
,
/// <summary>
/// <summary>
/// 送出料
架
:链条正转到出口有检测信号
/// 送出料
串
:链条正转到出口有检测信号
/// </summary>
/// </summary>
OS_38_LineRun
,
OS_38_LineRun
,
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/model/RobotBase.cs
查看文件 @
f50be7f
...
@@ -230,7 +230,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -230,7 +230,7 @@ namespace OnlineStore.DeviceLibrary
ledProcessTimer
.
Enabled
=
false
;
ledProcessTimer
.
Enabled
=
false
;
IoCheckTimer
=
new
System
.
Timers
.
Timer
();
IoCheckTimer
=
new
System
.
Timers
.
Timer
();
IoCheckTimer
.
Interval
=
2
00
;
IoCheckTimer
.
Interval
=
3
00
;
// IoCheckTimer.Elapsed += IoCheckTimerProcess;
// IoCheckTimer.Elapsed += IoCheckTimerProcess;
IoCheckTimer
.
AutoReset
=
true
;
IoCheckTimer
.
AutoReset
=
true
;
IoCheckTimer
.
Enabled
=
false
;
IoCheckTimer
.
Enabled
=
false
;
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/model/RobotMoveInfo.cs
查看文件 @
f50be7f
...
@@ -11,13 +11,15 @@ namespace OnlineStore.DeviceLibrary
...
@@ -11,13 +11,15 @@ namespace OnlineStore.DeviceLibrary
{
{
public
class
RobotMoveInfo
public
class
RobotMoveInfo
{
{
private
static
int
MaxMoveId
=
1
;
/// <summary>
/// <summary>
/// 超时时间
/// 超时时间
/// </summary>
/// </summary>
public
int
TimeOutSeconds
=
60
;
public
int
TimeOutSeconds
=
60
;
public
string
Name
=
""
;
public
string
Name
=
""
;
public
bool
ShelfNoTray
=
false
;
public
bool
ShelfNoTray
=
false
;
public
RobotMoveInfo
(
string
name
)
public
int
MoveID
=
0
;
public
RobotMoveInfo
(
string
name
)
{
{
this
.
Name
=
name
;
this
.
Name
=
name
;
moveType
=
RobotMoveType
.
None
;
moveType
=
RobotMoveType
.
None
;
...
@@ -25,8 +27,12 @@ namespace OnlineStore.DeviceLibrary
...
@@ -25,8 +27,12 @@ namespace OnlineStore.DeviceLibrary
this
.
moveStep
=
StepEnum
.
Wait
;
this
.
moveStep
=
StepEnum
.
Wait
;
IsInWait
=
false
;
IsInWait
=
false
;
MoveNum
=
0
;
MoveNum
=
0
;
MoveID
=
MaxMoveId
++;
}
public
int
ErrorLogType
{
get
{
return
MaxMoveId
*
100000
+
(
int
)
MoveStep
;
}
}
}
public
int
MoveNum
{
get
;
set
;
}
public
int
MoveNum
{
get
;
set
;
}
public
DateTime
LastSetpTime
{
get
;
set
;
}
public
DateTime
LastSetpTime
{
get
;
set
;
}
...
@@ -465,7 +471,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -465,7 +471,7 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
Labelling
=
4
,
Labelling
=
4
,
/// <summary>
/// <summary>
/// 料
架
处理
/// 料
串
处理
/// </summary>
/// </summary>
ShelfPro
=
5
,
ShelfPro
=
5
,
}
}
...
...
RC1266-AutoCountMachine/source/DeviceLibrary/model/WorkParam.cs
查看文件 @
f50be7f
...
@@ -27,9 +27,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -27,9 +27,6 @@ namespace OnlineStore.DeviceLibrary
this
.
IsTest
=
test
;
this
.
IsTest
=
test
;
}
}
/// <summary>
/// 物品二维码信息
/// </summary>
public
string
WareCode
=
""
;
public
string
WareCode
=
""
;
/// <summary>
/// <summary>
...
@@ -37,13 +34,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -37,13 +34,8 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
public
int
TrayStatus
=
-
1
;
public
int
TrayStatus
=
-
1
;
/// <summary>
/// 料盘高度
/// </summary>
public
int
PlateH
=
0
;
public
int
PlateH
=
0
;
/// <summary>
/// 料盘宽度
/// </summary>
public
int
PlateW
=
0
;
public
int
PlateW
=
0
;
/// <summary>
/// <summary>
...
@@ -57,14 +49,12 @@ namespace OnlineStore.DeviceLibrary
...
@@ -57,14 +49,12 @@ namespace OnlineStore.DeviceLibrary
public
int
InPosType
=
0
;
public
int
InPosType
=
0
;
/// <summary>
/// <summary>
/// 目标位置:1=XRay入口,2=
人工工位上层,3=人工工位下层
/// 目标位置:1=XRay入口,2=
测值工位上层 电容,3=测值工位下层 电阻
/// </summary>
/// </summary>
public
int
TargetPosType
=
0
;
public
int
TargetPosType
=
0
;
/// <summary>
/// 取料时判断是否是NG料
/// </summary>
public
bool
IsNgReel
=
false
;
public
bool
IsNgReel
=
false
;
public
string
NgMsg
=
""
;
/// <summary>
/// <summary>
/// 是否是测试步骤
/// 是否是测试步骤
/// </summary>
/// </summary>
...
@@ -75,21 +65,21 @@ namespace OnlineStore.DeviceLibrary
...
@@ -75,21 +65,21 @@ namespace OnlineStore.DeviceLibrary
string
tP
=
""
;
string
tP
=
""
;
if
(
TargetPosType
.
Equals
(
1
))
if
(
TargetPosType
.
Equals
(
1
))
{
{
tP
=
"
[XRay入口]
"
;
tP
=
"
XRay入口
"
;
}
}
else
if
(
TargetPosType
.
Equals
(
2
))
else
if
(
TargetPosType
.
Equals
(
2
))
{
{
tP
=
"
[工位上层]
"
;
tP
=
"
电容测值
"
;
}
}
else
if
(
TargetPosType
.
Equals
(
3
))
else
if
(
TargetPosType
.
Equals
(
3
))
{
{
tP
=
"
[工位下层]
"
;
tP
=
"
电阻测值
"
;
}
}
return
" ["
+
WareCode
+
"] "
+
"["
+
PlateW
+
" X "
+
PlateH
+
"] "
+
"["
+
(
InPosType
.
Equals
(
1
)
?
"左侧入口"
:
"右侧入口"
)
+
"
]-->"
+
tP
;
return
" ["
+
WareCode
+
"] "
+
"["
+
PlateW
+
" X "
+
PlateH
+
"] "
+
"["
+
(
InPosType
.
Equals
(
1
)
?
"左侧入口"
:
"右侧入口"
)
+
"
-->"
+
tP
+
"]"
;
}
}
public
string
OutStr
()
public
string
OutStr
()
{
{
return
"["
+
WareCode
+
"]
:["
+
PlateW
+
"]X["
+
PlateH
+
"]["
+
WareCount
+
"]
"
;
return
"["
+
WareCode
+
"]
[ "
+
PlateW
+
"X"
+
PlateH
+
" ] ["
+
WareCount
+
"]"
+
(
IsNgReel
?
"[NG料:"
+
NgMsg
+
"]"
:
""
)
+
"
"
;
}
}
public
int
Get_Inout_P2
(
InputEquip_Config
config
)
public
int
Get_Inout_P2
(
InputEquip_Config
config
)
{
{
...
@@ -146,6 +136,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -146,6 +136,13 @@ namespace OnlineStore.DeviceLibrary
this
.
PlateW
=
reel
.
PlateW
;
this
.
PlateW
=
reel
.
PlateW
;
this
.
WareCode
=
reel
.
WareCode
;
this
.
WareCode
=
reel
.
WareCode
;
this
.
WareCount
=
reel
.
WareCount
;
this
.
WareCount
=
reel
.
WareCount
;
this
.
IsNgReel
=
reel
.
IsNgReel
;
this
.
NgMsg
=
reel
.
NgMsg
;
}
public
ReelInfo
GetReelInfo
()
{
ReelInfo
reel
=
new
ReelInfo
(
WareCode
,
PlateW
,
PlateH
,
WareCount
,
IsNgReel
,
NgMsg
);
return
reel
;
}
}
}
}
...
@@ -153,12 +150,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -153,12 +150,14 @@ namespace OnlineStore.DeviceLibrary
public
class
ReelInfo
public
class
ReelInfo
{
{
public
ReelInfo
(
string
code
=
""
,
int
plateW
=
7
,
int
plateH
=
8
,
int
count
=
0
)
public
ReelInfo
(
string
code
=
""
,
int
plateW
=
0
,
int
plateH
=
0
,
int
count
=
0
,
bool
IsNg
=
false
,
string
msg
=
""
)
{
{
this
.
WareCode
=
code
;
this
.
WareCode
=
code
;
this
.
PlateH
=
plateH
;
this
.
PlateH
=
plateH
;
this
.
PlateW
=
plateW
;
this
.
PlateW
=
plateW
;
this
.
WareCount
=
count
;
this
.
WareCount
=
count
;
this
.
IsNgReel
=
IsNg
;
this
.
NgMsg
=
msg
;
}
}
/// <summary>
/// <summary>
/// 物品二维码信息
/// 物品二维码信息
...
@@ -178,10 +177,19 @@ namespace OnlineStore.DeviceLibrary
...
@@ -178,10 +177,19 @@ namespace OnlineStore.DeviceLibrary
public
int
WareCount
=
0
;
public
int
WareCount
=
0
;
public
bool
IsNgReel
=
false
;
public
string
NgMsg
=
""
;
public
string
ToStr
()
public
string
ToStr
()
{
{
return
"["
+
WareCode
+
"] [
"
+
PlateW
+
"X"
+
PlateH
+
" ] ["
+
WareCount
+
"]
"
;
return
"["
+
WareCode
+
"] [
"
+
PlateW
+
"X"
+
PlateH
+
"] ["
+
WareCount
+
"]"
+(
IsNgReel
?
"[NG料:"
+
NgMsg
+
"]"
:
""
)+
"
"
;
}
}
public
ReelInfo
GetReelInfo
()
{
ReelInfo
reel
=
new
ReelInfo
(
WareCode
,
PlateW
,
PlateH
,
WareCount
,
IsNgReel
,
NgMsg
);
return
reel
;
}
}
}
}
}
RC1266-AutoCountMachine/source/LoadCVSLibrary/storeConfig/config/InputEquip_Config.cs
查看文件 @
f50be7f
...
@@ -132,7 +132,7 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -132,7 +132,7 @@ namespace OnlineStore.LoadCSVLibrary
[
ConfigProAttribute
(
"UpdownAxis_P2_R"
)]
[
ConfigProAttribute
(
"UpdownAxis_P2_R"
)]
public
int
UpdownAxis_P2_R
{
get
;
set
;
}
public
int
UpdownAxis_P2_R
{
get
;
set
;
}
/// <summary>
/// <summary>
/// PRO,0,取料升降轴料
架
上方P3取料/放料位置,UpdownAxis_P3,20000,,,,,
/// PRO,0,取料升降轴料
串
上方P3取料/放料位置,UpdownAxis_P3,20000,,,,,
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_P3"
,
true
)]
[
ConfigProAttribute
(
"UpdownAxis_P3"
,
true
)]
public
int
UpdownAxis_P3
{
get
;
set
;
}
public
int
UpdownAxis_P3
{
get
;
set
;
}
...
...
RC1266-AutoCountMachine/source/LoadCVSLibrary/storeConfig/config/OutputEquip_Config.cs
查看文件 @
f50be7f
...
@@ -29,12 +29,12 @@ namespace OnlineStore.LoadCSVLibrary
...
@@ -29,12 +29,12 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary>
/// <summary>
/// PRO,0,空料
架
入口AGV站号名称,AgvInName,F3,,,,,
/// PRO,0,空料
串
入口AGV站号名称,AgvInName,F3,,,,,
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"AgvInName"
)]
[
ConfigProAttribute
(
"AgvInName"
)]
public
string
AgvInName
{
get
;
set
;
}
public
string
AgvInName
{
get
;
set
;
}
/// <summary>
/// <summary>
/// PRO,0,料
架
出口AGV站号名称,AgvOutName,F4,,,,,
/// PRO,0,料
串
出口AGV站号名称,AgvOutName,F4,,,,,
/// </summary>
/// </summary>
[
ConfigProAttribute
(
"AgvOutName"
)]
[
ConfigProAttribute
(
"AgvOutName"
)]
public
string
AgvOutName
{
get
;
set
;
}
public
string
AgvOutName
{
get
;
set
;
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论