Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
ACSingleStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 8def8f29
由
刘韬
编写于
2021-12-10 16:48:40 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
出库过程不检测料叉,以门口信号为准, 无论是否有盘都提交出库, 没有检测到盘则警告提示
1 个父辈
404f41fe
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
21 个修改的文件
包含
302 行增加
和
277 行删除
source/ACSingleStore/FrmIOStatus.Designer.cs
source/ACSingleStore/FrmStoreBox.Designer.cs
source/ACSingleStore/FrmStoreBox.cs
source/ACSingleStore/Properties/AssemblyInfo.cs
source/ACSingleStore/resources/language.resource
source/ACSingleStore/useControl/uc_boxdebug.cs
source/DeviceLibrary/DeviceLibrary.csproj
source/DeviceLibrary/PanasonicServo/ACServerManager.cs
source/DeviceLibrary/PanasonicServo/HC/HCAxisManager.cs
source/DeviceLibrary/ResourceControl.cs
source/DeviceLibrary/StoreConfig/AC/Data Matrix ECC 200.dcm
source/DeviceLibrary/StoreConfig/AC/StoreConfig - 复制.csv
source/DeviceLibrary/StoreConfig/AC/StoreConfig.csv
source/DeviceLibrary/StoreConfig/AC/linePositions.csv
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
source/DeviceLibrary/acSingleStore/DoorControl.cs
source/DeviceLibrary/store/Camera.cs
source/DeviceLibrary/store/StoreStep.cs
source/LoadCVSLibrary/storeConfig/config/AC_SA_Config.cs
source/LoadCVSLibrary/storeConfig/config/StoreConfig.cs
source/ACSingleStore/FrmIOStatus.Designer.cs
查看文件 @
8def8f2
此文件的差异被折叠,
点击展开。
source/ACSingleStore/FrmStoreBox.Designer.cs
查看文件 @
8def8f2
...
...
@@ -59,6 +59,7 @@ namespace OnlineStore.ACSingleStore
this
.
pictureBox1
=
new
System
.
Windows
.
Forms
.
PictureBox
();
this
.
btnHul
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
groupBox3
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
chbTH
=
new
System
.
Windows
.
Forms
.
CheckBox
();
this
.
lblWarnMsg
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
lblThisSta
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
btnOpenDoor
=
new
System
.
Windows
.
Forms
.
Button
();
...
...
@@ -149,7 +150,6 @@ namespace OnlineStore.ACSingleStore
this
.
开启
DEBUGToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
toolStripSeparator12
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
清理日志
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
chbTH
=
new
System
.
Windows
.
Forms
.
CheckBox
();
this
.
contextMenuStrip1
.
SuspendLayout
();
this
.
tabControl2
.
SuspendLayout
();
this
.
tabPage4
.
SuspendLayout
();
...
...
@@ -214,7 +214,7 @@ namespace OnlineStore.ACSingleStore
this
.
tabControl2
.
Controls
.
Add
(
this
.
tabPage4
);
this
.
tabControl2
.
Controls
.
Add
(
this
.
tabPage5
);
this
.
tabControl2
.
Controls
.
Add
(
this
.
tabPage6
);
this
.
tabControl2
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
1
0.5
F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
tabControl2
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
1
2
F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
tabControl2
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
4
);
this
.
tabControl2
.
Name
=
"tabControl2"
;
this
.
tabControl2
.
SelectedIndex
=
0
;
...
...
@@ -228,10 +228,10 @@ namespace OnlineStore.ACSingleStore
this
.
tabPage4
.
Controls
.
Add
(
this
.
btnSotreReset
);
this
.
tabPage4
.
Controls
.
Add
(
this
.
btnStoreStop
);
this
.
tabPage4
.
Controls
.
Add
(
this
.
btnStoreStart
);
this
.
tabPage4
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
29
);
this
.
tabPage4
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
30
);
this
.
tabPage4
.
Name
=
"tabPage4"
;
this
.
tabPage4
.
Padding
=
new
System
.
Windows
.
Forms
.
Padding
(
3
);
this
.
tabPage4
.
Size
=
new
System
.
Drawing
.
Size
(
946
,
4
7
);
this
.
tabPage4
.
Size
=
new
System
.
Drawing
.
Size
(
946
,
4
6
);
this
.
tabPage4
.
TabIndex
=
0
;
this
.
tabPage4
.
Text
=
" 料仓操作 "
;
this
.
tabPage4
.
UseVisualStyleBackColor
=
true
;
...
...
@@ -573,6 +573,18 @@ namespace OnlineStore.ACSingleStore
this
.
groupBox3
.
TabStop
=
false
;
this
.
groupBox3
.
Text
=
"设备状态"
;
//
// chbTH
//
this
.
chbTH
.
AutoSize
=
true
;
this
.
chbTH
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
chbTH
.
Location
=
new
System
.
Drawing
.
Point
(
715
,
61
);
this
.
chbTH
.
Name
=
"chbTH"
;
this
.
chbTH
.
Size
=
new
System
.
Drawing
.
Size
(
112
,
24
);
this
.
chbTH
.
TabIndex
=
270
;
this
.
chbTH
.
Text
=
"启用气压报警"
;
this
.
chbTH
.
UseVisualStyleBackColor
=
true
;
this
.
chbTH
.
CheckedChanged
+=
new
System
.
EventHandler
(
this
.
chbTH_CheckedChanged
);
//
// lblWarnMsg
//
this
.
lblWarnMsg
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)(((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)
...
...
@@ -1586,18 +1598,6 @@ namespace OnlineStore.ACSingleStore
this
.
清理日志
ToolStripMenuItem
.
Text
=
"清理日志"
;
this
.
清理日志
ToolStripMenuItem
.
Click
+=
new
System
.
EventHandler
(
this
.
清理日志
ToolStripMenuItem_Click
);
//
// chbTH
//
this
.
chbTH
.
AutoSize
=
true
;
this
.
chbTH
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
chbTH
.
Location
=
new
System
.
Drawing
.
Point
(
715
,
61
);
this
.
chbTH
.
Name
=
"chbTH"
;
this
.
chbTH
.
Size
=
new
System
.
Drawing
.
Size
(
112
,
24
);
this
.
chbTH
.
TabIndex
=
270
;
this
.
chbTH
.
Text
=
"启用气压报警"
;
this
.
chbTH
.
UseVisualStyleBackColor
=
true
;
this
.
chbTH
.
CheckedChanged
+=
new
System
.
EventHandler
(
this
.
chbTH_CheckedChanged
);
//
// FrmStoreBox
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
96F
,
96F
);
...
...
source/ACSingleStore/FrmStoreBox.cs
查看文件 @
8def8f2
...
...
@@ -26,7 +26,7 @@ namespace OnlineStore.ACSingleStore
private
AC_SA_BoxBean
store
;
public
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
HIKCamera
camera
=
new
HIKCamera
()
;
HIKCamera
camera
=
HIKCamera
.
Current
;
public
FrmStoreBox
()
{
Control
.
CheckForIllegalCrossThreadCalls
=
false
;
...
...
source/ACSingleStore/Properties/AssemblyInfo.cs
查看文件 @
8def8f2
...
...
@@ -9,7 +9,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SO951-HC-ACSingleStore
de14ca3c0b9efddc8beead183e4c06c73936ef8b
")]
[assembly: AssemblyProduct("SO951-HC-ACSingleStore
404f41fe38d402c5725ea11cb443fd9d6d99c0c3
")]
[assembly: AssemblyCopyright("Copyright ? 2017")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
...
...
source/ACSingleStore/resources/language.resource
查看文件 @
8def8f2
...
...
@@ -226,6 +226,7 @@ OpenAxisFail,打开轴{0}失败,Failed to open axis {0},軸を開けることが
NoAIr,未检测到气压信号,Pressure signal undetected,気圧信号はまだ検出していません。
AutoReset,收到复位信号,自动复位,Receive reset signal& automatical reset,リセット信号を受け、自動初期化に戻す
AxisAlarm,运动轴{0}报警,Motion axis {0} alarm,運転軸がアラームする{0}
CustAlarm,{0},{0},{0}
startFail,启动失败:急停未开,Startup failure: emergency stop not opened,設備が立ち上がらなく、急に止まる
WaitSingleTimeOut,等待信号{0}={1}超时,Wait signal {0}={1} timeout,信号を待つ、タイムオーバーする{0}={1}
startFailAir,启动失败:没有气压信号,Startup failure: no air pressure signal,起動失敗し、気圧信号がない
...
...
source/ACSingleStore/useControl/uc_boxdebug.cs
查看文件 @
8def8f2
...
...
@@ -30,6 +30,9 @@ namespace OnlineStore.ACSingleStore.useControl
//如果总配置文件存在,保存到总的配置文件
static
string
appPath
=
Application
.
StartupPath
;
static
string
positionConfigFile
=
appPath
+
ConfigAppSettings
.
GetValue
(
Setting_Init
.
Store_Position_Config
);
static
string
CheckfilePath
=
Path
.
Combine
(
Environment
.
GetFolderPath
(
Environment
.
SpecialFolder
.
CommonApplicationData
),
"ACSingleStore"
);
static
string
positionCheckfile
=
CheckfilePath
+
ConfigAppSettings
.
GetValue
(
Setting_Init
.
Store_Position_Config
);
class
PosState
{
public
int
InStoreCheck
=
0
;
public
int
OutStoreCheck
=
0
;
...
...
@@ -134,7 +137,7 @@ namespace OnlineStore.ACSingleStore.useControl
}
void
LoadPosCheck
()
{
var
poscheckfile
=
positionC
onfigF
ile
+
".check"
;
var
poscheckfile
=
positionC
heckf
ile
+
".check"
;
if
(
File
.
Exists
(
poscheckfile
))
{
try
...
...
@@ -153,6 +156,7 @@ namespace OnlineStore.ACSingleStore.useControl
}
else
{
Directory
.
CreateDirectory
(
Path
.
GetDirectoryName
(
poscheckfile
));
File
.
WriteAllText
(
poscheckfile
,
JsonHelper
.
SerializeObject
(
posState
));
}
}
...
...
@@ -164,7 +168,9 @@ namespace OnlineStore.ACSingleStore.useControl
posState
[
posid
].
InStoreCheck
=
inStoreCheck
;
if
(
outStoreCheck
>
0
)
posState
[
posid
].
OutStoreCheck
=
outStoreCheck
;
var
poscheckfile
=
positionConfigFile
+
".check"
;
var
poscheckfile
=
positionCheckfile
+
".check"
;
Directory
.
CreateDirectory
(
Path
.
GetDirectoryName
(
poscheckfile
));
File
.
WriteAllText
(
poscheckfile
,
JsonHelper
.
SerializeObject
(
posState
));
return
posState
[
posid
];
}
...
...
source/DeviceLibrary/DeviceLibrary.csproj
查看文件 @
8def8f2
...
...
@@ -123,9 +123,6 @@
<None Include="StoreConfig\AC\linePositions.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="StoreConfig\AC\StoreConfig - 复制.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="StoreConfig\AC\StoreConfig.csv">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
...
...
source/DeviceLibrary/PanasonicServo/ACServerManager.cs
查看文件 @
8def8f2
...
...
@@ -119,9 +119,9 @@ namespace OnlineStore.DeviceLibrary
}
HCAxis
.
HomeMove
(
portName
,
slvAddr
,
highVel
,
lowVel
,
acc
);
}
public
static
void
SpeedMove
(
string
portName
,
short
slvAddr
,
int
speed
)
public
static
void
SpeedMove
(
string
portName
,
short
slvAddr
,
int
speed
,
int
acc
=
0
,
int
dec
=
0
)
{
HCAxis
.
SpeedMove
(
portName
,
slvAddr
,
speed
);
HCAxis
.
SpeedMove
(
portName
,
slvAddr
,
speed
,
acc
,
dec
);
}
public
static
bool
isInPosition
(
ConfigMoveAxis
Axis
,
int
PPosition
)
...
...
source/DeviceLibrary/PanasonicServo/HC/HCAxisManager.cs
查看文件 @
8def8f2
...
...
@@ -129,9 +129,9 @@ namespace OnlineStore.DeviceLibrary
HCBoardManager
.
ServoOn
(
slvAddr
);
}
public
void
SpeedMove
(
string
portName
,
short
slvAddr
,
int
speed
)
public
void
SpeedMove
(
string
portName
,
short
slvAddr
,
int
speed
,
int
acc
=
0
,
int
dec
=
0
)
{
HCBoardManager
.
SpeedMove
(
slvAddr
,
speed
);
HCBoardManager
.
SpeedMove
(
slvAddr
,
speed
,
acc
,
dec
);
}
public
void
SuddenStop
(
string
portName
,
short
slvAddr
)
{
...
...
source/DeviceLibrary/ResourceControl.cs
查看文件 @
8def8f2
...
...
@@ -349,6 +349,7 @@ namespace OnlineStore.DeviceLibrary
/// 运动轴{0}报警
/// </summary>
public
static
string
AxisAlarm
=
"AxisAlarm"
;
public
static
string
CustAlarm
=
"CustAlarm"
;
/// <summary>
/// 等待信号{0}={1}超时
...
...
source/DeviceLibrary/StoreConfig/AC/Data Matrix ECC 200.dcm
deleted
100644 → 0
查看文件 @
404f41f
此文件类型无法预览
source/DeviceLibrary/StoreConfig/AC/StoreConfig - 复制.csv
deleted
100644 → 0
查看文件 @
404f41f
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
,,,,,,,,,,
PRO,IO模块对应的DI数量,IO_DILength,192.168.200.21#16,,,,,,,
PRO,模块对应的DO数量,IO_DOLength,192.168.200.21#16,,,,,,,
,,,,,,,,,,
DI,急停,SuddenStop_BTN,0,192.168.200.21,0,急停,X01,X01,0,
DI,复位,Reset_BTN,1,192.168.200.21,0,复位,X02,X02,0,
DI,启动,AutoRun_Signal,2,192.168.200.21,0,启动,X03,X03,0,
DI,气压检测,Airpressure_Check,3,192.168.200.21,0,气压检测,X04,X04,0,
DI,料盘检测1(进料口),TrayCheck_Door,4,192.168.200.21,0,料盘检测1(进料口),X05,X05,0,
DI,料盘检测2(料叉),TrayCheck_Fixture,5,192.168.200.21,0,料盘检测2(料叉),X06,X06,0,
DI,进料口门上升端,Door_Up,6,192.168.200.21,0,进料口门上升端,X07,X07,0,
DI,进料口门下降端,Door_Down,7,192.168.200.21,0,进料口门下降端,X08,X08,0,
DI,安全光栅,SafetyLightCurtains,8,192.168.200.21,0,安全光栅,X09,X09,0,
DI,前门限位,Door_Limit,9,192.168.200.21,0,前门限位,X10,X10,0,
DI,左侧门限位,Door_LeftLimit,10,192.168.200.21,0,左侧门限位,X11,X11,0,
DI,右侧门限位,Door_RightLimit,11,192.168.200.21,0,右侧门限位,X12,X12,0,
,,,12,192.168.200.21,0,,X13,X13,0,
,,,13,192.168.200.21,0,,X14,X14,0,
,,,14,192.168.200.21,0,,X15,X15,0,
,,,15,192.168.200.21,0,,X16,X16,0,
DO,自动指示灯,AutoRun_HddLed,0,192.168.200.21,0,自动指示灯,Y01,Y01,0,
DO,故障指示灯,Alarm_HddLed,1,192.168.200.21,0,故障指示灯,Y02,Y02,0,
DO,待机指示灯,RunSign_HddLed,2,192.168.200.21,0,待机指示灯,Y03,Y03,0,
DO,故障蜂鸣器,Alarm_Buzzer,3,192.168.200.21,0,故障蜂鸣器,Y04,Y04,0,
DO,吹气SOL ON,StartOrStopBlow,4,192.168.200.21,0,吹气SOL ON,Y05,Y05,0,
DO,料仓运转ON,Run_Signal,5,192.168.200.21,0,料仓运转ON,Y06,Y06,0,
DO,轴2刹车电源ON,Axis_Brake,6,192.168.200.21,0,轴2刹车电源ON,Y07,Y07,0,
DO,进料口门上升SOL,Door_Up,7,192.168.200.21,0,进料口门上升SOL,Y08,Y08,0,
DO,进料口门下降SOL,Door_Down,8,192.168.200.21,0,进料口门下降SOL,Y09,Y09,0,
DO,相机照明开,Camera_Led,9,192.168.200.21,0,相机照明开,Y10,Y10,0,
DO,设备照明开,Device_Led,10,192.168.200.21,0,设备照明开,Y11,Y11,0,
,,,11,192.168.200.21,0,,Y12,Y12,0,
,,,12,192.168.200.21,0,,Y13,Y13,0,
,,,13,192.168.200.21,0,,Y14,Y14,0,
,,,14,192.168.200.21,0,,Y15,Y15,0,
,,,15,192.168.200.21,0,,Y16,Y16,0,
AXIS,(轴一)旋转轴,Middle_Axis,1,COM2,0,,,,,
AXIS,(轴二)升降轴轴,UpDown_Axis,2,COM2,0,,,,,
AXIS,(轴三)进出轴,InOut_Axis,3,COM2,0,,,,,
AXIS,(轴四)压紧轴,Comp_Axis,4,COM2,0,,,,,
PRO,升降轴 进料口取料点 P1,UpDownAxis_DoorOPosition_P1,380000,,,,,,,
PRO,升降轴 进料口出料前点 P2,UpDownAxis_DoorIPosition_P2,394000,,,,,,,
PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,394000,,,,,,,
PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,380000,,,,,,,
PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,266793,,,,,,,
PRO,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,0,,,,,,,
PRO,压紧轴(轴4)P1待机原位点,CompressAxis_P1_Position,2000,,,,,,,
PRO,是否使用定位气缸,IsHasLocationCylinder,0,,,,,,,
PRO,是否有左右侧门,IsHasDoorLimit,1,,,,,,,
PRO,是否使用压紧轴(1=使用),IsHasCompress_Axis,1,,,,, ,,
PRO,设备是否处于调试状态(1=调试,0=正常),IsInDebug,1,,,,,,,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,,
,温湿度传感器地址,TemperateServer_Port,9001,,,,,,,
PRO,预警温度,WarnTemperate,80,,,,,,,
PRO,预警湿度,WarnHumidity,80,,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,250,,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,2000,,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,2000,,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,80,,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,50,,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,2000,,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,400,,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,400,,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,100,,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,200,,,,,,,
PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,100,,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,300,,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,300,,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,200,,,,,,,
PRO,(轴四)压紧轴目标速度,CompAxis_TargetSpeed,100,,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,300,,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,300,,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,20,,,,,,,
PRO,(轴四)压紧轴原点高速,CompAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,200,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,800,,,,,,,
PRO,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,800,,,,,,,
PRO,升降轴(轴2)P3速度,UpDownAxis_P3_Speed,800,,,,,,,
PRO,升降轴(轴2)P4速度,UpDownAxis_P4_Speed,300,,,,,,,
PRO,升降轴(轴2)P5速度,UpDownAxis_P5_Speed,800,,,,,,,
PRO,升降轴(轴2)P6速度,UpDownAxis_P6_Speed,300,,,,,,,
PRO,升降轴(轴2)P7速度,UpDownAxis_P7_Speed,300,,,,,, ,
PRO,升降轴(轴2)P8速度,UpDownAxis_P8_Speed,300,,,,,,,
PRO,旋转轴(轴1)P1速度,MiddleAxis_P1_Speed,300,,,,,,,
PRO,旋转轴(轴1)P2速度,MiddleAxis_P2_Speed,300,,,,,,,
PRO,进出轴(轴3)P1速度,InOutAxis_P1_Speed,300,,,,,,,
PRO,进出轴(轴3)P2速度,InOutAxis_P2_Speed,300,,,,,,,
PRO,进出轴(轴3)P3速度,InOutAxis_P3_Speed,300,,,,,,,
PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,800,,,,,,,
PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,800,,,,,,,
PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,800,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最小值,UpdownAxis_ErrorCountMin,10,,,,,, ,
PRO,(轴三)进出轴停止时可误差的脉冲数的最小值,InoutAxis_ErrorCountMin,100,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最大值,MiddleAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最大值,UpdownAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴三)进出轴停止时可误差的脉冲数的最大值,InoutAxis_ErrorCountMax,1000,,,,,,,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,1000,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,是否使用料盘检测信号,IsUse_Tray_Check,0,,,,,, ,
PRO,(轴一)旋转轴最小限位,MiddleAxis_PositionMin,0,,,,,,,
PRO,(轴二)升降轴最小限位,UpdownAxis_PositionMin,0,,,,,,,
PRO,(轴三)进出轴最小限位,InoutAxis_PositionMin,0,,,,,,,
PRO,(轴一)旋转轴最大限位,MiddleAxis_PositionMax,0,,,,,,,
PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,,,
PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM1,,,,,,,
,,,,,,,,, ,
PRO,模拟量IO模块的IP地址,AIDevice_IP,192.168.200.22,,,,,,,
PRO,模拟信号1默认高度,AIDI1_DefaultPosition,18031,,,,,,,
PRO,模拟信号2默认高度,AIDI2_DefaultPosition,18064,,,,,,,
PRO,模拟信号3默认高度,AIDI3_DefaultPosition,2500,,,,,,,
PRO,模拟信号4默认高度,AIDI4_DefaultPosition,2500,,,,,,,
,,,,,,,,, ,
PRO,模拟信号1的地址,AIDI1_Addr,0,,,,,,,
PRO,模拟信号2的地址,AIDI2_Addr,1,,,,,,,
PRO,模拟信号3的地址(13寸高度),AIDI3_Addr,2,,,,,,,
PRO,模拟信号4的地址(15寸高度),AIDI4_Addr,3,,,,,,,
,,,,,,,,, ,
PRO,模拟转换系数,AI_ConvertPosition,150,,,,,,,
,,,,,,,,, ,
PRO,默认的料盘宽度(多种尺寸为0),Default_TrayWidth,0,,,,,,,
PRO,特殊二维码尺寸配置,CodeSizeConfig,XA=13x48#XB=13x32,,,,,,,
,,,,,,,,, ,
PRO,扫码枪IP,Scanner_Ip,192.168.201.21,,,,,,,
PRO,扫码枪端口号,Scanner_Port,51236,,,,,,,
,,,,,,,,, ,
PRO,大盘宽度(13寸或15寸),Big_TrayWidth,13,,,,,,,
source/DeviceLibrary/StoreConfig/AC/StoreConfig.csv
查看文件 @
8def8f2
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID
AXIS,(轴一)旋转轴,Middle_Axis,0,HC,0,,,,
AXIS,(轴二)升降轴
轴
,UpDown_Axis,1,HC,0,,,,
AXIS,(轴二)升降轴,UpDown_Axis,1,HC,0,,,,
AXIS,(轴三)进出轴,InOut_Axis,2,HC,0,,,,
AXIS,(轴四)压紧轴,Comp_Axis,3,HC,0,,,,
AXIS,(轴五)出料门,Door_Axis,4,HC,0,,,,
,,,,,,,,,
DI,急停,SuddenStop_BTN,0,HC,0,急停,X00,X00,0
DI,复位,Reset_BTN,1,HC,0,复位,X01,X01,0
...
...
@@ -29,14 +30,14 @@ DO,氮气阀门开启,StartOrStopBlow,6,HC,0,氮气阀门开启,Y06,Y07,0
DO,进料口门运转,Door_Moto_Run,7,HC,0,进料口门运转,Y07,Y08,0
DO,进料口门反转关门,Door_Moto_Rev,8,HC,0,进料口门反转,Y08,Y09,0
,,,,,,,,,
PRO,升降轴 进料口取料点 P1,UpDownAxis_DoorOPosition_P1,
700
000,,,,,,
PRO,升降轴 进料口出料前点 P2,UpDownAxis_DoorIPosition_P2,7
18
000,,,,,,
PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,7
18
000,,,,,,
PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,
700
000,,,,,,
PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,151
5
00,,,,,,
PRO,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,0,,,,,,
PRO,升降轴 进料口取料点 P1,UpDownAxis_DoorOPosition_P1,
698
000,,,,,,
PRO,升降轴 进料口出料前点 P2,UpDownAxis_DoorIPosition_P2,7
20
000,,,,,,
PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,7
20
000,,,,,,
PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,
698
000,,,,,,
PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,151
3
00,,,,,,
PRO,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,
-100
0,,,,,,
PRO,压紧轴(轴4)P1待机原位点,CompressAxis_P1_Position,2000,,,,,,
PRO,L4_压紧轴_P2压紧点范围对应值,
_CompAxis_P2_List,8=49928;12=45455;16=42495
;,,,,,,
PRO,L4_压紧轴_P2压紧点范围对应值,
CompAxis_P2_List,8=34000;12=32000;32=11400;24=19400;16=28400
;,,,,,,
PRO,是否使用定位气缸,IsHasLocationCylinder,0,,,,,,
PRO,是否有左右侧门,IsHasDoorLimit,1,,,,,,
PRO,是否使用压紧轴(1=使用),IsHasCompress_Axis,1,,,,,,
...
...
@@ -47,29 +48,29 @@ PRO,预警温度,WarnTemperate,80,,,,,,
PRO,预警湿度,WarnHumidity,80,,,,,,
,,,,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,60000,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,
15000
0,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,
15000
0,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,
100
0,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,0,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,0,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,0,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,10000,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,
5000
0,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,30000
0
,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,
80000
0,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,
80000
0,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,
300
0,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,0,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,30000,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,0,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,0,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,0,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,45000,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,
15000
0,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,0,,,,,,
PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,200000,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,
60000
0,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,
60000
0,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,
100
0,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,0,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,0,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,0,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,40000,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,
20000
0,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,0,,,,,,
PRO,(轴四)压紧轴目标速度,CompAxis_TargetSpeed,50000,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,
2000
0,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,
2000
0,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,
80
0,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,0,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,0,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,0,,,,,,
PRO,(轴四)压紧轴原点高速,CompAxis_HomeHighSpeed,8000,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,
2500
0,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,0,,,,,,
,,,,,,,,,
PRO,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,500000,,,,,,
PRO,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,500000,,,,,,
...
...
@@ -87,6 +88,7 @@ PRO,进出轴(轴3)P3速度,InOutAxis_P3_Speed,250000,,,,,,
PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,200000,,,,,,
PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,200000,,,,,,
PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,200000,,,,,,
PRO,出料门(轴5)开关门速度,DoorAxis_Run_Speed,180000,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最小值,UpdownAxis_ErrorCountMin,10,,,,,,
PRO,(轴三)进出轴停止时可误差的脉冲数的最小值,InoutAxis_ErrorCountMin,100,,,,,,
...
...
@@ -95,8 +97,8 @@ PRO,(轴二)升降轴轴停止时可误差的脉冲数的最大值,UpdownAxis_ErrorCountMax,1000,,
PRO,(轴三)进出轴停止时可误差的脉冲数的最大值,InoutAxis_ErrorCountMax,1000,,,,,,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,1000,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,1
0
000,,,,,,
PRO,是否使用料盘检测信号,IsUse_Tray_Check,
0
,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,1
5
000,,,,,,
PRO,是否使用料盘检测信号,IsUse_Tray_Check,
1
,,,,,,
,,,,,,,,,
PRO,(轴一)旋转轴最小限位,MiddleAxis_PositionMin,0,,,,,,
PRO,(轴二)升降轴最小限位,UpdownAxis_PositionMin,0,,,,,,
...
...
@@ -110,10 +112,10 @@ PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,
PRO,温湿度端口号,Humiture_Port,COM5,,,,,,
,,,,,,,,,
PRO,模拟信号1默认高度,AIDI1_DefaultPosition,5
619
,,,,,,
PRO,模拟信号2默认高度,AIDI2_DefaultPosition,5
619
,,,,,,
PRO,模拟信号3默认高度,AIDI3_DefaultPosition,0,,,,,,
PRO,模拟信号4默认高度,AIDI4_DefaultPosition,0,,,,,,
PRO,模拟信号1默认高度,AIDI1_DefaultPosition,5
456
,,,,,,
PRO,模拟信号2默认高度,AIDI2_DefaultPosition,5
456
,,,,,,
PRO,模拟信号3默认高度,AIDI3_DefaultPosition,
565
0,,,,,,
PRO,模拟信号4默认高度,AIDI4_DefaultPosition,
565
0,,,,,,
,,,,,,,,,
PRO,模拟信号1的地址,AIDI1_Addr,0,,,,,,
PRO,模拟信号2的地址,AIDI2_Addr,1,,,,,,
...
...
@@ -122,8 +124,8 @@ PRO,模拟信号4的地址(15寸高度),AIDI4_Addr,3,,,,,,
,,,,,,,,,
PRO,模拟转换系数,AI_ConvertPosition,62,,,,,,
,,,,,,,,,
PRO,默认的料盘宽度(多种尺寸为0),Default_TrayWidth,
7
,,,,,,
PRO,默认的料盘宽度(多种尺寸为0),Default_TrayWidth,
0
,,,,,,
PRO,特殊二维码尺寸配置,CodeSizeConfig,XA=13x48#XB=13x32,,,,,,
PRO,扫码枪IP,Scanner_Ip,
192.168.105.21
,,,,,,
PRO,扫码枪IP,Scanner_Ip,
0
,,,,,,
PRO,扫码枪端口号,Scanner_Port,51236,,,,,,
PRO,旋转轴反转点位补偿,MiddleAxis_Reverse_Offset,0,,,,,,
source/DeviceLibrary/StoreConfig/AC/linePositions.csv
查看文件 @
8def8f2
此文件的差异太大,无法显示。
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
查看文件 @
8def8f2
...
...
@@ -406,13 +406,14 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
LOGGER
,
StoreName
+
"复位中:压紧轴,旋转轴运动到P1,上下轴走到P1,压紧轴到P1!"
);
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1_Position
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorOPosition_P1
,
Config
.
UpDownAxis_P1_Speed
);
if
(
IsHasCompress_Axis
)
{
ACAxisHomeMove
(
Config
.
Comp_Axis
);
}
break
;
case
StoreMoveStep
.
BOX_H_OtherAxisBack_wait2
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_MiddleAxisToP1
);
if
(
IsHasCompress_Axis
)
{
ACAxisHomeMove
(
Config
.
Comp_Axis
);
}
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
break
;
case
StoreMoveStep
.
BOX_H_MiddleAxisToP1
:
...
...
@@ -427,12 +428,11 @@ namespace OnlineStore.DeviceLibrary
SetWarnMsg
();
}
break
;
case
StoreMoveStep
.
BOX_M_H_TOP1_InOutToP1
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_M_H_TOP1_CompressHome
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"到待机状态,压紧轴回原点,关闭仓门"
);
if
(
IsHasCompress_Axis
)
{
{
ACAxisHomeMove
(
Config
.
Comp_Axis
);
}
//关闭仓门
...
...
@@ -518,10 +518,7 @@ namespace OnlineStore.DeviceLibrary
//复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
LogUtil
.
info
(
LOGGER
,
StoreName
+
"原点返回中 :压紧轴,旋转轴,上下轴开始原点返回"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack_wait
);
if
(
IsHasCompress_Axis
)
{
ACAxisHomeMove
(
Config
.
Comp_Axis
);
}
ACAxisHomeMove
(
Config
.
Middle_Axis
);
ACAxisHomeMove
(
Config
.
UpDown_Axis
);
break
;
...
...
@@ -530,15 +527,65 @@ namespace OnlineStore.DeviceLibrary
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
500
));
break
;
case
StoreMoveStep
.
BOX_H_OtherAxisBack
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_
MiddleAxisToP
1
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"回原点:旋转轴运动到P1,上下轴到P1
,压紧轴到P1!
"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_
OtherAxisBack_0
1
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"回原点:旋转轴运动到P1,上下轴到P1"
);
ACAxisMove
(
Config
.
Middle_Axis
,
Config
.
MiddleAxis_P1_Position
,
Config
.
MiddleAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorOPosition_P1
,
Config
.
UpDownAxis_P1_Speed
);
ComMoveToPosition
(
Config
.
CompressAxis_P1_Position
,
Config
.
CompAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorOPosition_P1
,
Config
.
UpDownAxis_P1_Speed
);
break
;
case
StoreMoveStep
.
BOX_H_MiddleAxisToP1
:
case
StoreMoveStep
.
BOX_H_OtherAxisBack_01
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack_02
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"回原点:压紧轴回源点!"
);
if
(
IsHasCompress_Axis
)
{
ACAxisHomeMove
(
Config
.
Comp_Axis
);
}
break
;
case
StoreMoveStep
.
BOX_H_OtherAxisBack_02
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack_03
);
HuichuanLibrary
.
HCBoardManager
.
SetAxBacklash
(
Config
.
Middle_Axis
.
GetAxisValue
(),
Config
.
MiddleAxis_Reverse_Offset
,
Config
.
Middle_Axis
.
HomeLowSpeed
,
-
1
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"回原点完成,设置旋转轴反向间隙:"
+
Config
.
MiddleAxis_Reverse_Offset
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
"回原点:压紧轴到P1!"
);
ComMoveToPosition
(
Config
.
CompressAxis_P1_Position
,
Config
.
CompAxis_P1_Speed
);
break
;
case
StoreMoveStep
.
BOX_H_OtherAxisBack_03
:
if
(
IOManager
.
IOValue
(
IO_Type
.
TrayCheck_Door
).
Equals
(
IO_VALUE
.
LOW
))
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack_04
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
" 舱门口无盘, 执行往舱门口放盘"
);
}
else
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_MiddleAxisToP1
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
" 舱门口有盘, 回原结束"
);
}
break
;
case
StoreMoveStep
.
BOX_H_OtherAxisBack_04
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack_05
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
" 打开舱门, 升降轴到p2"
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorIPosition_P2
,
Config
.
UpDownAxis_P2_Speed
);
OpenDoor
();
break
;
case
StoreMoveStep
.
BOX_H_OtherAxisBack_05
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack_06
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
" 进出轴到p2"
);
var
InOutAxis_DoorPosition_P2
=
CSVPositionReader
<
ACStorePosition
>.
allPositionMap
.
First
().
Value
.
InOutAxis_DoorPosition_P2
;
ACAxisMove
(
Config
.
InOut_Axis
,
InOutAxis_DoorPosition_P2
,
Config
.
InOutAxis_P2_Speed
);
break
;
case
StoreMoveStep
.
BOX_H_OtherAxisBack_06
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack_07
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
" 上下周到p8"
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_DoorIBPosition_P8
,
Config
.
UpDownAxis_P8_Speed
);
break
;
case
StoreMoveStep
.
BOX_H_OtherAxisBack_07
:
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_MiddleAxisToP1
);
LogUtil
.
info
(
LOGGER
,
StoreName
+
" 进出轴到p1"
);
ACAxisMove
(
Config
.
InOut_Axis
,
Config
.
InOutAxis_P1_Position
,
Config
.
InOutAxis_P1_Speed
);
break
;
case
StoreMoveStep
.
BOX_H_MiddleAxisToP1
:
CloseDoor
(
false
);
storeRunStatus
=
StoreRunStatus
.
Runing
;
StoreMove
.
EndMove
();
storeStatus
=
StoreStatus
.
StoreOnline
;
...
...
@@ -1356,6 +1403,7 @@ namespace OnlineStore.DeviceLibrary
ACServerManager
.
SuddenStop
(
Config
.
Middle_Axis
.
DeviceName
,
Config
.
Middle_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
UpDown_Axis
.
DeviceName
,
Config
.
UpDown_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
());
DoorStop
();
if
(
IsHasCompress_Axis
)
{
ACServerManager
.
SuddenStop
(
Config
.
Comp_Axis
.
DeviceName
,
Config
.
Comp_Axis
.
GetAxisValue
());
...
...
@@ -1375,8 +1423,7 @@ namespace OnlineStore.DeviceLibrary
CloseAllAxis
();
}
LogUtil
.
info
(
LOGGER
,
StoreName
+
"StopMove"
);
IOManager
.
IOMove
(
IO_Type
.
Door_Moto_Run
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
Door_Moto_Rev
,
IO_VALUE
.
LOW
);
isInPro
=
false
;
}
...
...
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
查看文件 @
8def8f2
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/acSingleStore/DoorControl.cs
查看文件 @
8def8f2
...
...
@@ -12,26 +12,35 @@ namespace OnlineStore.DeviceLibrary
partial
class
AC_SA_BoxBean
{
Thread
DoorRunMonitorThread
;
int
DoorAccSpeed
=
0
;
void
InitDoorRunMonitor
()
{
DoorRunMonitorThread
=
new
Thread
(
new
ThreadStart
(
DoorRunMonitor
));
DoorRunMonitorThread
.
Start
();
GC
.
KeepAlive
(
DoorRunMonitorThread
);
LogUtil
.
info
(
StoreName
+
"出料门运行监控开始"
);
if
(
Config
.
Door_Axis
!=
null
)
{
DoorAccSpeed
=
(
int
)(
Config
.
DoorAxis_Run_Speed
*
3
);
}
}
bool
DoorRunMonitorEnable
=
false
;
public
void
OpenDoor
(
bool
needwait
=
true
)
{
if
(
DoorIsOpen
())
return
;
if
(
Config
.
Door_Axis
!=
null
)
{
CheckDoorState
();
ACServerManager
.
RelMove
(
Config
.
Door_Axis
.
DeviceName
,
Config
.
Door_Axis
.
GetAxisValue
(),
500000
,
Config
.
DoorAxis_Run_Speed
,
DoorAccSpeed
,
DoorAccSpeed
);
LogUtil
.
info
(
StoreName
+
"出料门开门,速度: "
+
Config
.
DoorAxis_Run_Speed
.
ToString
());
_doorRunState
=
1
;
}
else
{
IOManager
.
IOMove
(
IO_Type
.
Door_Moto_Rev
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
Door_Moto_Run
,
IO_VALUE
.
HIGH
);
}
IOManager
.
IOMove
(
IO_Type
.
Door_Moto_Rev
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
Door_Moto_Run
,
IO_VALUE
.
HIGH
);
//if (IOManager.DOValue(IO_Type.StartOrStopBlow).Equals(IO_VALUE.LOW))
//{
// IOManager.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.HIGH);
// openBlow = true;
//}
DoorRunMonitorEnable
=
true
;
if
(
needwait
)
...
...
@@ -48,13 +57,20 @@ namespace OnlineStore.DeviceLibrary
{
if
(
DoorIsClose
())
return
;
IOManager
.
IOMove
(
IO_Type
.
Door_Moto_Rev
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
Door_Moto_Run
,
IO_VALUE
.
HIGH
);
if
(
Config
.
Door_Axis
!=
null
)
{
CheckDoorState
();
//ACServerManager.SpeedMove(Config.Door_Axis.DeviceName,Config.Door_Axis.GetAxisValue(),-Config.DoorAxis_Run_Speed, DoorAccSpeed, DoorAccSpeed);
ACServerManager
.
RelMove
(
Config
.
Door_Axis
.
DeviceName
,
Config
.
Door_Axis
.
GetAxisValue
(),
-
500000
,
Config
.
DoorAxis_Run_Speed
,
DoorAccSpeed
,
DoorAccSpeed
);
LogUtil
.
info
(
StoreName
+
"出料门关门,速度: -"
+
Config
.
DoorAxis_Run_Speed
.
ToString
());
_doorRunState
=
-
1
;
}
else
{
IOManager
.
IOMove
(
IO_Type
.
Door_Moto_Rev
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
Door_Moto_Run
,
IO_VALUE
.
HIGH
);
}
//if (openBlow) {
// IOManager.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW);
// openBlow = false;
//}
DoorRunMonitorEnable
=
true
;
if
(
needwait
)
{
...
...
@@ -62,25 +78,71 @@ namespace OnlineStore.DeviceLibrary
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
));
}
}
private
bool
DoorIsClose
()
{
//&& IOManager.IOValue(IO_Type.Door_Up).Equals(IO_VALUE.LOW)
if
(
IOManager
.
IOValue
(
IO_Type
.
Door_Down
).
Equals
(
IO_VALUE
.
HIGH
))
void
CheckDoorState
()
{
if
(!
ACServerManager
.
ServerOnStatus
(
Config
.
Door_Axis
.
DeviceName
,
Config
.
Door_Axis
.
GetAxisValue
()))
{
//IOManager.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW);
return
true
;
ACServerManager
.
AlarmClear
(
Config
.
Door_Axis
.
DeviceName
,
Config
.
Door_Axis
.
GetAxisValue
());
Thread
.
Sleep
(
100
);
ACServerManager
.
ServoOn
(
Config
.
Door_Axis
.
DeviceName
,
Config
.
Door_Axis
.
GetAxisValue
());
}
return
false
;
var
isAlarm
=
HuichuanLibrary
.
HCBoardManager
.
GetAxisSts
(
Config
.
Door_Axis
.
GetAxisValue
()).
ALM
==
1
;
if
(
isAlarm
)
{
ACServerManager
.
ServoOff
(
Config
.
Door_Axis
.
DeviceName
,
Config
.
Door_Axis
.
GetAxisValue
());
Thread
.
Sleep
(
100
);
ACServerManager
.
AlarmClear
(
Config
.
Door_Axis
.
DeviceName
,
Config
.
Door_Axis
.
GetAxisValue
());
Thread
.
Sleep
(
100
);
ACServerManager
.
ServoOn
(
Config
.
Door_Axis
.
DeviceName
,
Config
.
Door_Axis
.
GetAxisValue
());
}
}
private
bool
DoorIsClose
()
{
return
IOManager
.
IOValue
(
IO_Type
.
Door_Down
).
Equals
(
IO_VALUE
.
HIGH
);
}
private
bool
DoorIsOpen
()
{
//IOManager.IOValue(IO_Type.Door_Down).Equals(IO_VALUE.LOW) &&
if
(
IOManager
.
IOValue
(
IO_Type
.
Door_Up
).
Equals
(
IO_VALUE
.
HIGH
))
return
IOManager
.
IOValue
(
IO_Type
.
Door_Up
).
Equals
(
IO_VALUE
.
HIGH
);
}
void
DoorStop
(
bool
ResetState
=
true
)
{
if
(
Config
.
Door_Axis
!=
null
)
{
return
true
;
ACServerManager
.
SuddenStop
(
Config
.
Door_Axis
);
LogUtil
.
info
(
StoreName
+
"出料门停止"
);
DoorRunMonitorEnable
=
false
;
if
(
ResetState
)
_doorRunState
=
0
;
}
else
{
IOManager
.
IOMove
(
IO_Type
.
Door_Moto_Run
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
Door_Moto_Rev
,
IO_VALUE
.
LOW
);
}
return
false
;
}
int
_doorRunState
=
0
;
/// <summary>
///
/// </summary>
/// <returns>1:开门,-1:关门,0:不在运动</returns>
int
DoorRunState
()
{
if
(
Config
.
Door_Axis
!=
null
)
{
return
_doorRunState
;
var
b
=
HuichuanLibrary
.
HCBoardManager
.
GetAxisSts
(
Config
.
Door_Axis
.
GetAxisValue
()).
BUSY
==
0
;
if
(
b
)
return
0
;
var
s
=
HuichuanLibrary
.
HCBoardManager
.
GetAxisPrfVel
(
Config
.
Door_Axis
.
GetAxisValue
());
return
s
>
0
?
1
:
-
1
;
}
else
{
if
(
IOManager
.
DOValue
(
IO_Type
.
Door_Moto_Run
).
Equals
(
IO_VALUE
.
LOW
))
return
0
;
return
IOManager
.
DOValue
(
IO_Type
.
Door_Moto_Rev
).
Equals
(
IO_VALUE
.
LOW
)
?
1
:
-
1
;
}
}
bool
SafetyLightCurtains
=
false
;
void
DoorRunMonitor
()
{
while
(
true
)
{
...
...
@@ -90,32 +152,46 @@ namespace OnlineStore.DeviceLibrary
}
else
{
//检测到门在运行立刻开始监控
if
(
IOManager
.
DOValue
(
IO_Type
.
Door_Moto_Run
).
Equals
(
IO_VALUE
.
HIGH
)
)
{
if
(
DoorRunState
()!=
0
)
{
DoorRunMonitorEnable
=
true
;
continue
;
}
Thread
.
Sleep
(
200
);
continue
;
}
if
(
IOManager
.
IOValue
(
IO_Type
.
Motor_Error
).
Equals
(
IO_VALUE
.
HIGH
))
{
SetWarnMsg
(
ResourceControl
.
WaitSingleTimeOut
);
if
(
Config
.
Door_Axis
==
null
&&
IOManager
.
IOValue
(
IO_Type
.
Motor_Error
).
Equals
(
IO_VALUE
.
HIGH
))
{
SetWarnMsg
(
ResourceControl
.
WaitSingleTimeOut
,
"Motor_Error"
,
"Low"
);
continue
;
}
if
(!!
SafetyLightCurtains
&&
IOManager
.
IOValue
(
IO_Type
.
SafetyLightCurtains
).
Equals
(
IO_VALUE
.
LOW
))
{
DoorStop
(
false
);
SafetyLightCurtains
=
true
;
}
else
if
(
SafetyLightCurtains
&&
IOManager
.
IOValue
(
IO_Type
.
SafetyLightCurtains
).
Equals
(
IO_VALUE
.
HIGH
))
{
SafetyLightCurtains
=
false
;
if
(
DoorRunState
()
==
1
)
{
OpenDoor
();
}
else
if
(
DoorRunState
()
==
-
1
)
{
CloseDoor
();
}
}
//开门检测
if
(
IOManager
.
DOValue
(
IO_Type
.
Door_Moto_Run
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOManager
.
DOValue
(
IO_Type
.
Door_Moto_Rev
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOManager
.
IOValue
(
IO_Type
.
Door_Up
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
DoorRunState
()==
1
&&
IOManager
.
IOValue
(
IO_Type
.
Door_Up
).
Equals
(
IO_VALUE
.
HIGH
))
{
IOManager
.
IOMove
(
IO_Type
.
Door_Moto_Run
,
IO_VALUE
.
LOW
);
DoorStop
(
);
DoorRunMonitorEnable
=
false
;
continue
;
}
//关门检测
if
(
IOManager
.
DOValue
(
IO_Type
.
Door_Moto_Run
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOManager
.
DOValue
(
IO_Type
.
Door_Moto_Rev
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOManager
.
IOValue
(
IO_Type
.
Door_Down
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
DoorRunState
()
==
-
1
&&
IOManager
.
IOValue
(
IO_Type
.
Door_Down
).
Equals
(
IO_VALUE
.
HIGH
))
{
IOManager
.
IOMove
(
IO_Type
.
Door_Moto_Run
,
IO_VALUE
.
LOW
);
DoorStop
(
);
DoorRunMonitorEnable
=
false
;
continue
;
}
...
...
source/DeviceLibrary/store/Camera.cs
查看文件 @
8def8f2
...
...
@@ -17,7 +17,13 @@ namespace OnlineStore
public
class
HIKCamera
{
Thread
camerathread
;
static
HIKCamera
_camera
;
Asa
.
Camera
.
VisionLib
camera
;
public
static
HIKCamera
Current
{
get
{
if
(
_camera
==
null
)
_camera
=
new
HIKCamera
();
return
_camera
;
}
}
public
string
Name
=
""
;
public
event
EventHandler
<
Bitmap
>
camera_event
;
...
...
@@ -95,7 +101,7 @@ namespace OnlineStore
camera
.
Close
();
camera
.
Dispose
();
}
void
CameraGrabOne
(
string
filename
)
public
void
CameraGrabOne
(
string
filename
)
{
try
{
...
...
@@ -115,7 +121,7 @@ namespace OnlineStore
LogUtil
.
error
(
Name
+
e
.
ToString
());
}
}
string
GetFixtureStateFilename
(
InOutStoreParam
inOutParam
,
StoreMoveType
storeMoveType
,
FixtureState
fixtureState
)
public
string
GetFixtureStateFilename
(
InOutStoreParam
inOutParam
,
StoreMoveType
storeMoveType
,
FixtureState
fixtureState
)
{
string
dir
=
$
"\\image\\Fixture\\{storeMoveType}\\{inOutParam.PositionNum}\\"
;
Directory
.
CreateDirectory
(
dir
);
...
...
@@ -126,12 +132,15 @@ namespace OnlineStore
}
return
dir
+
filename
;
}
enum
FixtureState
{
In
,
Up
,
Down
,
Out
}
}
public
enum
FixtureState
{
In
,
Up
,
Down
,
Out
,
DoorIn
,
DoorOut
,
}
}
source/DeviceLibrary/store/StoreStep.cs
查看文件 @
8def8f2
...
...
@@ -142,7 +142,15 @@ namespace OnlineStore.DeviceLibrary
/// 料仓原点返回和重置步骤,,升降轴,旋转轴,压紧轴原点返回
/// </summary>
BOX_H_OtherAxisBack
=
014
,
BOX_H_OtherAxisBack_wait2
=
015
,
BOX_H_OtherAxisBack_01
,
BOX_H_OtherAxisBack_02
,
BOX_H_OtherAxisBack_03
,
BOX_H_OtherAxisBack_04
,
BOX_H_OtherAxisBack_05
,
BOX_H_OtherAxisBack_06
,
BOX_H_OtherAxisBack_07
,
BOX_H_OtherAxisBack_wait2
,
///// <summary>
///// 清理轴位置
///// </summary>
...
...
@@ -150,35 +158,35 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// 旋转轴返回P1
/// </summary>
BOX_H_MiddleAxisToP1
=
016
,
BOX_H_MiddleAxisToP1
,
/// <summary>
/// 叉子先退回P1
/// </summary>
BOX_M_H_InOutToP1
=
018
,
BOX_M_H_InOutToP1
,
/// <summary>
/// 旋转轴回原点
/// </summary>
BOX_M_H_MiddleAxisHome
=
019
,
BOX_M_H_MiddleAxisHome
,
/// <summary>
/// 旋转轴等待清理位置
/// </summary>
BOX_M_H_MiddleWait
=
020
,
BOX_M_H_MiddleWait
,
/// <summary>
/// 叉子走到P1
/// </summary>
BOX_M_H_TOP1_InOutToP1
=
030
,
BOX_M_H_TOP1_InOutToP1
,
/// <summary>
/// 压紧轴回原点
/// </summary>
BOX_M_H_TOP1_CompressHome
=
031
,
BOX_M_H_TOP1_CompressHome
,
/// <summary>
/// 关闭门,旋转轴到P1,升降轴到P1
/// </summary>
BOX_M_H_TOP1_OtherAxisToP1
=
032
,
BOX_H_InOutBack_wait
=
033
,
BOX_H_OtherAxisBack_wait
=
034
,
BOX_M_H_TOP1_OtherAxisToP1
,
BOX_H_InOutBack_wait
,
BOX_H_OtherAxisBack_wait
,
#
endregion
...
...
@@ -260,6 +268,7 @@ namespace OnlineStore.DeviceLibrary
/// 料仓出库。。。等待200毫秒再次验证料盘是否拿走
/// </summary>
SO_16_CheckIsTake
=
116
,
SO_TakeReelFaile
,
#
endregion
...
...
@@ -267,7 +276,7 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// 入库检测
/// </summary>
SI_00_TrayCheck
=
200
,
SI_00_TrayCheck
=
200
,
/// <summary>
/// 入库,。定位气缸下降
/// </summary>
...
...
source/LoadCVSLibrary/storeConfig/config/AC_SA_Config.cs
查看文件 @
8def8f2
...
...
@@ -488,7 +488,7 @@ namespace OnlineStore.LoadCSVLibrary
[
ConfigProAttribute
(
"Default_TrayWidth"
,
false
)]
public
int
Default_TrayWidth
{
get
;
set
;
}
/// <summary>
/// 轴
3
压紧轴
/// 轴
4
压紧轴
/// </summary>
[
ConfigProAttribute
(
"Comp_Axis"
)]
public
ConfigMoveAxis
Comp_Axis
{
get
;
set
;
}
...
...
@@ -540,7 +540,11 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary>
[
ConfigProAttribute
(
"CompAxis_P3_Speed"
)]
public
int
CompAxis_P3_Speed
{
get
;
set
;
}
/// <summary>
///出料门(轴5)开关门速度
/// </summary>
[
ConfigProAttribute
(
"DoorAxis_Run_Speed"
,
false
)]
public
int
DoorAxis_Run_Speed
{
get
;
set
;
}
/// <summary>
...
...
@@ -555,6 +559,13 @@ namespace OnlineStore.LoadCSVLibrary
public
int
MiddleAxis_Reverse_Offset
{
get
;
set
;
}
/// <summary>
/// 轴5出料门
/// </summary>
[
ConfigProAttribute
(
"Door_Axis"
,
false
)]
public
ConfigMoveAxis
Door_Axis
{
get
;
set
;
}
private
Dictionary
<
string
,
string
>
CodeSizeMap
=
null
;
...
...
@@ -624,8 +635,9 @@ namespace OnlineStore.LoadCSVLibrary
MustHaveDOList
.
Add
(
IO_Type
.
RunSign_HddLed
);
MustHaveDOList
.
Add
(
IO_Type
.
Alarm_Buzzer
);
MustHaveDOList
.
Add
(
IO_Type
.
StartOrStopBlow
);
MustHaveDOList
.
Add
(
IO_Type
.
Door_Moto_Run
);
MustHaveDOList
.
Add
(
IO_Type
.
Door_Moto_Rev
);
//MustHaveDOList.Add(IO_Type.Door_Moto_Run);
//MustHaveDOList.Add(IO_Type.Door_Moto_Rev);
MustHaveDOList
.
Add
(
IO_Type
.
Camera_Led
);
}
public
static
void
ConfigAxis
(
AC_SA_Config
Config
)
...
...
source/LoadCVSLibrary/storeConfig/config/StoreConfig.cs
查看文件 @
8def8f2
...
...
@@ -175,10 +175,14 @@ namespace OnlineStore.LoadCSVLibrary
{
prop
.
SetValue
(
this
,
Convert
.
ChangeType
(
0
,
prop
.
PropertyType
),
null
);
//赋值****在这里需要考虑类型问题
}
else
else
if
(
prop
.
PropertyType
.
Equals
(
typeof
(
string
)))
{
prop
.
SetValue
(
this
,
Convert
.
ChangeType
(
""
,
prop
.
PropertyType
),
null
);
//赋值****在这里需要考虑类型问题
}
else
{
prop
.
SetValue
(
this
,
Convert
.
ChangeType
(
null
,
prop
.
PropertyType
),
null
);
//赋值****在这里需要考虑类型问题
}
}
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论