Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
刘韬
/
SO815-AutoInOutStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
图表
网络
创建新的问题
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 0c4b4886
由
几米阳光
编写于
2019-05-16 10:25:49 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
修改AIO
1 个父辈
8e192785
隐藏空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
1651 行增加
和
250 行删除
dll/AIOBOX.xml → dll/AIO/AIOBOX.xml
dll/AIO/Asa.IOModule.AIOBOX.dll
dll/Asa.IOModule.AIOBOX.dll → dll/AIO/Asa.IOModule.AIOBOX.dll.20190515
dll/Asa.IOModule.AIOBOX.xml → dll/AIO/Asa.IOModule.AIOBOX.xml
dll/AIOBOX.dll
source/DeviceLibrary/DeviceLibrary.csproj
source/DeviceLibrary/DeviceLibrary/IO/AIOBOX/AIOBOXManager.cs
source/DeviceLibrary/DeviceLibrary/IO/AIOBOX/BLL.cs
source/DeviceLibrary/DeviceLibrary/IO/AIOBOX/Common.cs
source/DeviceLibrary/StoreConfig/AC/StoreConfig.csv
source/DeviceLibrary/StoreConfig/AC/linePositions.csv
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
source/DeviceLibrary/acSingleStore/AutomaticBaiting.cs
source/DeviceLibrary/acSingleStore/AutomaticBaiting_Partial.cs
source/DeviceLibrary/store/AC_Store.cs
dll/AIOBOX.xml
→
dll/AIO
/AIO
BOX.xml
查看文件 @
0c4b488
文件被删除
dll/AIO/Asa.IOModule.AIOBOX.dll
0 → 100644
查看文件 @
0c4b488
此文件类型无法预览
dll/A
sa.IOModule.AIOBOX.dll
→
dll/A
IO/Asa.IOModule.AIOBOX.dll.20190515
查看文件 @
0c4b488
此文件类型无法预览
dll/Asa.IOModule.AIOBOX.xml
→
dll/A
IO/A
sa.IOModule.AIOBOX.xml
查看文件 @
0c4b488
文件被删除
dll/AIOBOX.dll
deleted
100644 → 0
查看文件 @
8e19278
此文件类型无法预览
source/DeviceLibrary/DeviceLibrary.csproj
查看文件 @
0c4b488
...
...
@@ -36,9 +36,6 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="Asa.IOModule.AIOBOX">
<HintPath>..\..\dll\Asa.IOModule.AIOBOX.dll</HintPath>
</Reference>
<Reference Include="CodeLibrary">
<HintPath>..\..\dll\CodeLibrary.dll</HintPath>
</Reference>
...
...
@@ -66,6 +63,8 @@
<Compile Include="acSingleStore\AutomaticBaiting.cs" />
<Compile Include="DeviceLibrary\halcon\CodeManager.cs" />
<Compile Include="DeviceLibrary\IO\AIOBOX\AIOBOXManager.cs" />
<Compile Include="DeviceLibrary\IO\AIOBOX\BLL.cs" />
<Compile Include="DeviceLibrary\IO\AIOBOX\Common.cs" />
<Compile Include="DeviceLibrary\IO\IOManager.cs" />
<Compile Include="DeviceLibrary\IO\KangNaiDe\KNDManager.cs" />
<Compile Include="DeviceLibrary\IO\KangNaiDe\MasterTcpClient.cs" />
...
...
source/DeviceLibrary/DeviceLibrary/IO/AIOBOX/AIOBOXManager.cs
查看文件 @
0c4b488
...
...
@@ -69,6 +69,7 @@ namespace OnlineStore.DeviceLibrary
aioBox
.
AutoReadDO
(
true
,
DOMS
);
aioBox
.
LogOut
=
true
;
aioBox
.
Reconnect_Event
+=
AioBox_Reconnect_Event
;
if
(
StoreManager
.
Config
.
GetDILength
(
ioIp
).
Equals
(
8
))
{
aioBox
.
Type
=
Box_Type
.
DIO_16
;
...
...
@@ -82,7 +83,7 @@ namespace OnlineStore.DeviceLibrary
aioBox
.
Log_Out_Event
+=
AioBox_Log_Out_Event
;
aioBox
.
Log_RxTx_Event
+=
AioBox_Log_RxTx_Event
;
AIOMap
.
Add
(
ioIp
,
aioBox
);
LogUtil
.
info
(
"开始连接IO模块["
+
ioIp
+
"["
+
DIMS
+
"]["
+
DOMS
+
"],尝试重连三次"
);
LogUtil
.
info
(
"开始连接IO模块["
+
ioIp
+
"
]
["
+
DIMS
+
"]["
+
DOMS
+
"],尝试重连三次"
);
for
(
int
i
=
1
;
i
<=
3
;
i
++)
{
bool
result
=
aioBox
.
Connect
();
...
...
@@ -115,10 +116,16 @@ namespace OnlineStore.DeviceLibrary
}
}
private
void
AioBox_Reconnect_Event
(
AIOBOX
box
,
int
times
,
ref
bool
conn
)
private
void
AioBox_Reconnect_Event
(
AIOBOX
box
,
int
times
,
ref
bool
conn
,
Dictionary
<
string
,
string
>
dict
)
{
conn
=
true
;
LogUtil
.
error
(
"重连AIO模块【"
+
box
.
IP
+
"】次数:"
+
times
+
"【"
+
box
.
ErrInfo
+
"】"
);
string
msg
=
"重连AIO块【"
+
box
.
IP
+
"】次数:"
+
times
+
"【"
+
box
.
ErrInfo
+
"】,连接信息如下\r\n"
;
foreach
(
string
key
in
dict
.
Keys
)
{
msg
=
msg
+
"\t"
+
"["
+
key
+
"]=["
+
dict
[
key
]
+
"],"
;
}
LogUtil
.
error
(
msg
);
}
private
DateTime
lastLogTime
=
DateTime
.
Now
;
...
...
source/DeviceLibrary/DeviceLibrary/IO/AIOBOX/BLL.cs
0 → 100644
查看文件 @
0c4b488
/*
* @Description: 用于AIOBOX-32系列一体化IO模块
* @CreateDate: 2019-02-28
* @UpdateDate: 2019-05-13
* @Author: Asa
* @Version: 1.8
*
*/
using
System
;
using
System.Net
;
using
System.Net.Sockets
;
using
System.Threading
;
using
System.Collections.Generic
;
using
OnlineStore.Common
;
namespace
Asa.IOModule
{
/// <summary>
/// AIOBOX操作类
/// </summary>
public
class
AIOBOX
{
private
ushort
_flag
;
//ModBusTCP标识
private
Socket
_client
;
//客户端
private
Box_Type
_type
;
//类型
private
byte
[]
_addr
;
//地址
private
Box_Sta
[]
_sta
;
//状态
private
int
_unrevd
;
//没有收到数据的时间
private
int
_unrevdRemote
;
//本地还是远程没有收到数据
private
bool
_readDI
;
//自动读取DI
private
bool
_readDO
;
//自动读取DO
private
int
_readDISleep
;
//自动读取DI间隔
private
int
_readDOSleep
;
//自动读取DO间隔
private
List
<
string
>
_log
;
//日志
private
List
<
string
>
_logRxTx
;
//日志
private
List
<
byte
[
]>
_send
;
//发送的命令
private
List
<
byte
[
]>
_receive
;
//接收的数据
private
Thread
tSend
;
//发送命令处理
private
Thread
tReceive
;
//接收信息处理
private
Thread
tListen
;
//监听网络
private
Thread
tTrigger
;
//触发DI、DO改变事件
private
Thread
tReadDI
;
//自动读取DI线程
private
Thread
tReadDO
;
//自动读取DO线程
private
Thread
tLogOut
;
//日志输出
private
Thread
tReconn
;
//断开重连
private
const
int
SEND_SLEEP
=
10
;
//发送命令间隔
private
const
int
NET_SLEEP
=
10
;
//接收网络间隔
private
const
int
TRIG_SLEEP
=
20
;
//触发事件间隔
/// <summary>
/// 自动读取DI委托
/// </summary>
/// <param name="box">AIOBOX</param>
/// <param name="sta">所有DI状态</param>
public
delegate
void
DI_Changed
(
AIOBOX
box
,
Box_Sta
[]
sta
);
/// <summary>
/// 自动读取DI事件触发
/// </summary>
public
event
DI_Changed
DI_Changed_Event
;
/// <summary>
/// 自动读取DO委托
/// </summary>
/// <param name="box">AIOBOX</param>
/// <param name="sta">所有DO状态</param>
public
delegate
void
DO_Changed
(
AIOBOX
box
,
Box_Sta
[]
sta
);
/// <summary>
/// 自动读取DO事件触发
/// </summary>
public
event
DO_Changed
DO_Changed_Event
;
/// <summary>
/// 日志输出
/// </summary>
/// <param name="box"></param>
/// <param name="s"></param>
public
delegate
void
Log_Out
(
AIOBOX
box
,
string
[]
s
);
/// <summary>
/// 日志输出事件
/// </summary>
public
event
Log_Out
Log_Out_Event
;
/// <summary>
/// 日志输出
/// </summary>
/// <param name="box"></param>
/// <param name="s"></param>
public
delegate
void
Log_RxTx
(
AIOBOX
box
,
string
[]
s
);
/// <summary>
/// 日志输出事件,发送命令的标识减去接收命令的标识
/// </summary>
public
event
Log_RxTx
Log_RxTx_Event
;
/// <summary>
/// 断开重连
/// </summary>
/// <param name="box"></param>
/// <param name="times">断开次数</param>
/// <param name="conn"></param>
public
delegate
void
Reconnect
(
AIOBOX
box
,
int
times
,
ref
bool
conn
,
Dictionary
<
string
,
string
>
dict
);
/// <summary>
/// 断开重连事件
/// </summary>
public
event
Reconnect
Reconnect_Event
;
/// <summary>
/// AIOBOX
/// </summary>
public
AIOBOX
()
{
_unrevd
=
0
;
_unrevdRemote
=
0
;
_readDI
=
false
;
_readDO
=
false
;
_readDISleep
=
100
;
_readDOSleep
=
100
;
_addr
=
new
byte
[
32
];
_sta
=
new
Box_Sta
[
32
];
_log
=
new
List
<
string
>();
_logRxTx
=
new
List
<
string
>();
_send
=
new
List
<
byte
[
]>
();
_receive
=
new
List
<
byte
[
]>
();
Type
=
Box_Type
.
DIO_32
;
tReconn
=
new
Thread
(
new
ThreadStart
(
Reconn
));
tReconn
.
Start
();
}
/// <summary>
/// IP地址
/// </summary>
public
string
IP
{
set
;
get
;
}
=
"192.168.1.100"
;
/// <summary>
/// ModBus端口
/// </summary>
public
int
Port
{
set
;
get
;
}
=
502
;
/// <summary>
/// 是否连接
/// </summary>
public
bool
IsConn
{
get
;
private
set
;
}
=
false
;
/// <summary>
/// 错误信息
/// </summary>
public
string
ErrInfo
{
get
;
private
set
;
}
=
""
;
/// <summary>
/// 日志输出
/// </summary>
public
bool
LogOut
{
set
;
get
;
}
=
false
;
/// <summary>
/// 模块的类型
/// </summary>
public
Box_Type
Type
{
set
{
_type
=
value
;
if
(
value
==
Box_Type
.
DIO_16
)
{
_addr
[(
int
)
Box_Addr
.
DI_1
]
=
0
;
_addr
[(
int
)
Box_Addr
.
DI_2
]
=
1
;
_addr
[(
int
)
Box_Addr
.
DI_3
]
=
2
;
_addr
[(
int
)
Box_Addr
.
DI_4
]
=
3
;
_addr
[(
int
)
Box_Addr
.
DI_5
]
=
4
;
_addr
[(
int
)
Box_Addr
.
DI_6
]
=
5
;
_addr
[(
int
)
Box_Addr
.
DI_7
]
=
6
;
_addr
[(
int
)
Box_Addr
.
DI_8
]
=
7
;
_addr
[(
int
)
Box_Addr
.
DI_9
]
=
255
;
_addr
[(
int
)
Box_Addr
.
DI_10
]
=
255
;
_addr
[(
int
)
Box_Addr
.
DI_11
]
=
255
;
_addr
[(
int
)
Box_Addr
.
DI_12
]
=
255
;
_addr
[(
int
)
Box_Addr
.
DI_13
]
=
255
;
_addr
[(
int
)
Box_Addr
.
DI_14
]
=
255
;
_addr
[(
int
)
Box_Addr
.
DI_15
]
=
255
;
_addr
[(
int
)
Box_Addr
.
DI_16
]
=
255
;
_addr
[(
int
)
Box_Addr
.
DO_1
]
=
8
;
_addr
[(
int
)
Box_Addr
.
DO_2
]
=
9
;
_addr
[(
int
)
Box_Addr
.
DO_3
]
=
10
;
_addr
[(
int
)
Box_Addr
.
DO_4
]
=
11
;
_addr
[(
int
)
Box_Addr
.
DO_5
]
=
12
;
_addr
[(
int
)
Box_Addr
.
DO_6
]
=
13
;
_addr
[(
int
)
Box_Addr
.
DO_7
]
=
14
;
_addr
[(
int
)
Box_Addr
.
DO_8
]
=
15
;
_addr
[(
int
)
Box_Addr
.
DO_9
]
=
255
;
_addr
[(
int
)
Box_Addr
.
DO_10
]
=
255
;
_addr
[(
int
)
Box_Addr
.
DO_11
]
=
255
;
_addr
[(
int
)
Box_Addr
.
DO_12
]
=
255
;
_addr
[(
int
)
Box_Addr
.
DO_13
]
=
255
;
_addr
[(
int
)
Box_Addr
.
DO_14
]
=
255
;
_addr
[(
int
)
Box_Addr
.
DO_15
]
=
255
;
_addr
[(
int
)
Box_Addr
.
DO_16
]
=
255
;
}
else
if
(
value
==
Box_Type
.
DIO_32
)
{
_addr
[(
int
)
Box_Addr
.
DI_1
]
=
0
;
_addr
[(
int
)
Box_Addr
.
DI_2
]
=
1
;
_addr
[(
int
)
Box_Addr
.
DI_3
]
=
2
;
_addr
[(
int
)
Box_Addr
.
DI_4
]
=
3
;
_addr
[(
int
)
Box_Addr
.
DI_5
]
=
4
;
_addr
[(
int
)
Box_Addr
.
DI_6
]
=
5
;
_addr
[(
int
)
Box_Addr
.
DI_7
]
=
6
;
_addr
[(
int
)
Box_Addr
.
DI_8
]
=
7
;
_addr
[(
int
)
Box_Addr
.
DI_9
]
=
8
;
_addr
[(
int
)
Box_Addr
.
DI_10
]
=
9
;
_addr
[(
int
)
Box_Addr
.
DI_11
]
=
10
;
_addr
[(
int
)
Box_Addr
.
DI_12
]
=
11
;
_addr
[(
int
)
Box_Addr
.
DI_13
]
=
12
;
_addr
[(
int
)
Box_Addr
.
DI_14
]
=
13
;
_addr
[(
int
)
Box_Addr
.
DI_15
]
=
14
;
_addr
[(
int
)
Box_Addr
.
DI_16
]
=
15
;
_addr
[(
int
)
Box_Addr
.
DO_1
]
=
16
;
_addr
[(
int
)
Box_Addr
.
DO_2
]
=
17
;
_addr
[(
int
)
Box_Addr
.
DO_3
]
=
18
;
_addr
[(
int
)
Box_Addr
.
DO_4
]
=
19
;
_addr
[(
int
)
Box_Addr
.
DO_5
]
=
20
;
_addr
[(
int
)
Box_Addr
.
DO_6
]
=
21
;
_addr
[(
int
)
Box_Addr
.
DO_7
]
=
22
;
_addr
[(
int
)
Box_Addr
.
DO_8
]
=
23
;
_addr
[(
int
)
Box_Addr
.
DO_9
]
=
24
;
_addr
[(
int
)
Box_Addr
.
DO_10
]
=
25
;
_addr
[(
int
)
Box_Addr
.
DO_11
]
=
26
;
_addr
[(
int
)
Box_Addr
.
DO_12
]
=
27
;
_addr
[(
int
)
Box_Addr
.
DO_13
]
=
28
;
_addr
[(
int
)
Box_Addr
.
DO_14
]
=
29
;
_addr
[(
int
)
Box_Addr
.
DO_15
]
=
30
;
_addr
[(
int
)
Box_Addr
.
DO_16
]
=
31
;
}
else
if
(
value
==
Box_Type
.
DO_16
)
{
_addr
[(
int
)
Box_Addr
.
DO_1
]
=
0
;
_addr
[(
int
)
Box_Addr
.
DO_2
]
=
1
;
_addr
[(
int
)
Box_Addr
.
DO_3
]
=
2
;
_addr
[(
int
)
Box_Addr
.
DO_4
]
=
3
;
_addr
[(
int
)
Box_Addr
.
DO_5
]
=
4
;
_addr
[(
int
)
Box_Addr
.
DO_6
]
=
5
;
_addr
[(
int
)
Box_Addr
.
DO_7
]
=
6
;
_addr
[(
int
)
Box_Addr
.
DO_8
]
=
7
;
_addr
[(
int
)
Box_Addr
.
DO_9
]
=
8
;
_addr
[(
int
)
Box_Addr
.
DO_10
]
=
9
;
_addr
[(
int
)
Box_Addr
.
DO_11
]
=
10
;
_addr
[(
int
)
Box_Addr
.
DO_12
]
=
11
;
_addr
[(
int
)
Box_Addr
.
DO_13
]
=
12
;
_addr
[(
int
)
Box_Addr
.
DO_14
]
=
13
;
_addr
[(
int
)
Box_Addr
.
DO_15
]
=
14
;
_addr
[(
int
)
Box_Addr
.
DO_16
]
=
15
;
}
}
get
{
return
_type
;
}
}
/// <summary>
/// 连接
/// </summary>
/// <returns></returns>
public
bool
Connect
()
{
IsConn
=
false
;
try
{
//IP合法
string
pattern
=
@"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$"
;
bool
rtn
=
System
.
Text
.
RegularExpressions
.
Regex
.
IsMatch
(
IP
,
pattern
);
if
(!
rtn
)
{
ErrInfo
=
"非法的IP地址 "
+
IP
;
return
false
;
}
//Ping服务端
System
.
Net
.
NetworkInformation
.
Ping
ping
=
new
System
.
Net
.
NetworkInformation
.
Ping
();
System
.
Net
.
NetworkInformation
.
PingReply
result
=
ping
.
Send
(
IP
,
5000
);
if
(
result
.
Status
!=
System
.
Net
.
NetworkInformation
.
IPStatus
.
Success
)
{
ErrInfo
=
"Ping "
+
IP
+
" 请求没有回应"
;
return
false
;
}
_unrevd
=
0
;
_unrevdRemote
=
0
;
_flag
=
0
;
_send
.
Clear
();
_receive
.
Clear
();
_log
.
Clear
();
_logRxTx
.
Clear
();
//建立连接
//_client.Blocking = true;
_client
=
new
Socket
(
IPAddress
.
Parse
(
IP
).
AddressFamily
,
SocketType
.
Stream
,
ProtocolType
.
Tcp
);
_client
.
SetSocketOption
(
SocketOptionLevel
.
Socket
,
SocketOptionName
.
SendTimeout
,
500
);
_client
.
SetSocketOption
(
SocketOptionLevel
.
Socket
,
SocketOptionName
.
ReceiveTimeout
,
500
);
_client
.
SetSocketOption
(
SocketOptionLevel
.
Socket
,
SocketOptionName
.
NoDelay
,
1
);
_client
.
BeginConnect
(
IP
,
Port
,
new
AsyncCallback
(
Target
),
null
);
Thread
.
Sleep
(
100
);
//需要等待一会才能获取连接状态
tReadDI
=
new
Thread
(
new
ThreadStart
(
AutoReadDI
));
tReadDO
=
new
Thread
(
new
ThreadStart
(
AutoReadDO
));
tSend
=
new
Thread
(
new
ThreadStart
(
Send
));
tReceive
=
new
Thread
(
new
ThreadStart
(
Receive
));
tLogOut
=
new
Thread
(
new
ThreadStart
(
LogPrint
));
tSend
.
Start
();
tReceive
.
Start
();
tLogOut
.
Start
();
tReadDI
.
Start
();
tReadDO
.
Start
();
ErrInfo
=
"OK"
;
IsConn
=
true
;
return
true
;
}
catch
(
Exception
ex
)
{
ErrInfo
=
ex
.
Message
;
LogUtil
.
error
(
ex
.
ToString
());
return
false
;
}
}
/// <summary>
/// 关闭连接
/// </summary>
public
void
Close
()
{
if
(
tReconn
!=
null
)
tReconn
.
Abort
();
tReconn
=
null
;
CloseConn
();
}
/// <summary>
/// 自动读取DI状态,触发DI_Changed_Event
/// </summary>
/// <param name="read">是否自动读取</param>
/// <param name="sleep">间隔,必须大于10ms</param>
public
void
AutoReadDI
(
bool
read
,
int
sleep
)
{
if
(
_type
==
Box_Type
.
DO_16
)
{
_readDI
=
false
;
_readDISleep
=
10000
;
}
else
{
if
(
sleep
<
10
)
{
_readDI
=
false
;
_readDISleep
=
100
;
}
else
{
if
(
read
)
{
_readDI
=
true
;
_readDISleep
=
sleep
;
}
else
{
_readDI
=
false
;
_readDISleep
=
100
;
}
}
}
}
/// <summary>
/// 自动读取DO状态,触发DO_Changed_Event
/// </summary>
/// <param name="read">是否自动读取</param>
/// <param name="sleep">间隔,必须大于10ms</param>
public
void
AutoReadDO
(
bool
read
,
int
sleep
)
{
if
(
sleep
<
10
)
{
_readDO
=
false
;
_readDOSleep
=
100
;
}
else
{
if
(
read
)
{
_readDO
=
true
;
_readDOSleep
=
sleep
;
}
else
{
_readDO
=
false
;
_readDOSleep
=
100
;
}
}
}
/// <summary>
/// 相反状态
/// </summary>
/// <param name="sta"></param>
/// <returns></returns>
public
Box_Sta
ReverseStatus
(
Box_Sta
sta
)
{
return
sta
==
Box_Sta
.
On
?
Box_Sta
.
Off
:
Box_Sta
.
On
;
}
/// <summary>
/// 读取单个DI
/// </summary>
/// <param name="add"></param>
/// <returns></returns>
public
Box_Sta
ReadDI
(
Box_Addr
add
)
{
return
_sta
[(
int
)
add
];
}
/// <summary>
/// 读取多个DI
/// </summary>
/// <param name="add"></param>
/// <param name="count"></param>
/// <returns></returns>
public
Box_Sta
[]
ReadDI
(
Box_Addr
add
,
int
count
)
{
Box_Sta
[]
sta
=
new
Box_Sta
[
count
];
Array
.
Copy
(
_sta
,
(
int
)
add
,
sta
,
0
,
count
);
return
sta
;
}
/// <summary>
/// 读取单个DO
/// </summary>
/// <param name="add"></param>
/// <returns></returns>
public
Box_Sta
ReadDO
(
Box_Addr
add
)
{
return
_sta
[(
int
)
add
];
}
/// <summary>
/// 读取多个DO
/// </summary>
/// <param name="add"></param>
/// <param name="count"></param>
/// <returns></returns>
public
Box_Sta
[]
ReadDO
(
Box_Addr
add
,
int
count
)
{
Box_Sta
[]
sta
=
new
Box_Sta
[
count
];
Array
.
Copy
(
_sta
,
(
int
)
add
,
sta
,
0
,
count
);
return
sta
;
}
/// <summary>
/// 写入单个DO
/// </summary>
/// <param name="add"></param>
/// <param name="sta"></param>
/// <returns></returns>
public
bool
WriteDO
(
Box_Addr
add
,
Box_Sta
sta
)
{
try
{
byte
[]
data
=
Command
();
byte
[]
buff
=
new
byte
[
12
];
Array
.
Copy
(
data
,
0
,
buff
,
0
,
data
.
Length
);
buff
[
7
]
=
5
;
//功能码
buff
[
9
]
=
_addr
[(
int
)
add
];
//地址
buff
[
10
]
=
(
byte
)
sta
;
//写入值
if
(
LogOut
)
{
byte
[]
bb
=
new
byte
[
2
];
bb
[
0
]
=
buff
[
1
];
bb
[
1
]
=
buff
[
0
];
ushort
flag
=
BitConverter
.
ToUInt16
(
bb
,
0
);
string
s
=
string
.
Format
(
"{0:HH:mm:ss:fff} WriteDO {1} ({2},{3})"
,
DateTime
.
Now
,
flag
,
add
.
ToString
(),
sta
.
ToString
());
_log
.
Add
(
s
);
}
_send
.
Add
(
buff
);
if
(
_unrevdRemote
==
0
)
ErrInfo
=
"OK"
;
return
true
;
}
catch
(
Exception
ex
)
{
ErrInfo
=
ex
.
Message
;
LogUtil
.
error
(
ex
.
ToString
());
return
false
;
}
}
/// <summary>
/// 获取本地IPv4地址
/// </summary>
/// <returns></returns>
public
string
[]
GetLocalIP
()
{
List
<
string
>
str
=
new
List
<
string
>();
IPAddress
[]
add
=
Dns
.
GetHostEntry
(
Dns
.
GetHostName
()).
AddressList
;
foreach
(
IPAddress
ip
in
add
)
{
if
(
ip
.
AddressFamily
.
ToString
()
==
"InterNetwork"
)
str
.
Add
(
ip
.
ToString
());
}
return
str
.
ToArray
();
}
/// <summary>
/// 发送命令
/// </summary>
private
void
Send
()
{
string
s
;
ushort
flag
;
while
(
true
)
{
if
(
_send
.
Count
>
0
)
{
if
(
_send
[
0
]
!=
null
)
{
try
{
_client
.
Send
(
_send
[
0
]);
if
(
LogOut
)
{
byte
[]
bb
=
new
byte
[
2
];
bb
[
0
]
=
_send
[
0
][
1
];
bb
[
1
]
=
_send
[
0
][
0
];
flag
=
BitConverter
.
ToUInt16
(
bb
,
0
);
s
=
string
.
Format
(
"{0:HH:mm:ss:fff} Send {1}"
,
DateTime
.
Now
,
flag
);
_log
.
Add
(
s
);
_logRxTx
.
Add
(
flag
+
","
+
_send
[
0
][
7
]);
}
_send
.
RemoveAt
(
0
);
}
catch
(
Exception
ex
)
{
ErrInfo
=
ex
.
Message
;
LogUtil
.
error
(
ex
.
ToString
());
_unrevdRemote
=
1
;
break
;
}
}
}
Thread
.
Sleep
(
SEND_SLEEP
);
}
}
/// <summary>
/// 接收命令
/// </summary>
private
void
Receive
()
{
while
(
true
)
{
if
(
_receive
.
Count
>
0
)
{
if
(
_receive
[
0
]
!=
null
)
{
if
(
_receive
[
0
][
7
]
==
1
)
ReadDO
(
_receive
[
0
]);
else
if
(
_receive
[
0
][
7
]
==
2
)
ReadDI
(
_receive
[
0
]);
else
if
(
_receive
[
0
][
7
]
==
5
)
ReadSingle
(
_receive
[
0
]);
if
(
LogOut
)
{
byte
[]
bb
=
new
byte
[
2
];
bb
[
0
]
=
_receive
[
0
][
1
];
bb
[
1
]
=
_receive
[
0
][
0
];
ushort
flag
=
BitConverter
.
ToUInt16
(
bb
,
0
);
_logRxTx
.
Remove
(
flag
+
","
+
_receive
[
0
][
7
]);
}
_receive
.
RemoveAt
(
0
);
}
}
Thread
.
Sleep
(
10
);
}
}
/// <summary>
/// 读取单个DO
/// </summary>
/// <param name="buff"></param>
private
void
ReadSingle
(
byte
[]
buff
)
{
//try
//{
string
s
;
if
(
LogOut
)
{
byte
[]
bb
=
new
byte
[
2
];
bb
[
0
]
=
buff
[
1
];
bb
[
1
]
=
buff
[
0
];
ushort
flag
=
BitConverter
.
ToUInt16
(
bb
,
0
);
s
=
string
.
Format
(
"{0:HH:mm:ss:fff} WriteDO Receive {1}"
,
DateTime
.
Now
,
flag
);
_log
.
Add
(
s
);
}
// int n = 0;
// int move = 0;
// byte val = _receive[0][9];
// for (int i = 0; i < 8; i++)
// {
// n = (val & Convert.ToInt32(Math.Pow(2, move))) >> move;
// _sta[i + 16] = n == 1 ? Box_Sta.On : Box_Sta.Off;
// move++;
// }
// if (_receive[0][8] == 2)
// {
// move = 0;
// val = _receive[0][10];
// for (int i = 8; i < 16; i++)
// {
// n = (val & Convert.ToInt32(Math.Pow(2, move))) >> move;
// _sta[i + 16] = n == 1 ? Box_Sta.On : Box_Sta.Off;
// move++;
// }
// }
// ErrInfo = "OK";
//}
//catch (Exception ex)
//{
// ErrInfo = ex.Message;
//}
}
/// <summary>
/// 读取所有DO状态
/// </summary>
/// <param name="buff"></param>
/// <returns></returns>
private
bool
ReadDO
(
byte
[]
buff
)
{
try
{
string
s
;
if
(
LogOut
)
{
byte
[]
bb
=
new
byte
[
2
];
bb
[
0
]
=
buff
[
1
];
bb
[
1
]
=
buff
[
0
];
ushort
flag
=
BitConverter
.
ToUInt16
(
bb
,
0
);
s
=
string
.
Format
(
"{0:HH:mm:ss:fff} ReadDO {1} "
,
DateTime
.
Now
,
flag
);
s
+=
Convert
.
ToString
(
buff
[
9
],
2
);
if
(
buff
[
8
]
==
2
)
s
+=
","
+
Convert
.
ToString
(
buff
[
10
],
2
);
_log
.
Add
(
s
);
}
int
n
=
0
;
int
move
=
0
;
byte
val
=
buff
[
9
];
for
(
int
i
=
0
;
i
<
8
;
i
++)
{
n
=
(
val
&
Convert
.
ToInt32
(
Math
.
Pow
(
2
,
move
)))
>>
move
;
_sta
[
i
+
16
]
=
n
==
1
?
Box_Sta
.
On
:
Box_Sta
.
Off
;
move
++;
}
if
(
buff
[
8
]
==
2
)
{
move
=
0
;
val
=
buff
[
10
];
for
(
int
i
=
8
;
i
<
16
;
i
++)
{
n
=
(
val
&
Convert
.
ToInt32
(
Math
.
Pow
(
2
,
move
)))
>>
move
;
_sta
[
i
+
16
]
=
n
==
1
?
Box_Sta
.
On
:
Box_Sta
.
Off
;
move
++;
}
}
if
(
_unrevdRemote
==
0
)
ErrInfo
=
"OK"
;
return
true
;
}
catch
(
Exception
ex
)
{
ErrInfo
=
ex
.
Message
;
LogUtil
.
error
(
ex
.
ToString
());
return
false
;
}
}
/// <summary>
/// 读取所有DI状态
/// </summary>
/// <returns></returns>
private
bool
ReadDI
(
byte
[]
buff
)
{
try
{
string
s
;
if
(
LogOut
)
{
byte
[]
bb
=
new
byte
[
2
];
bb
[
0
]
=
buff
[
1
];
bb
[
1
]
=
buff
[
0
];
ushort
flag
=
BitConverter
.
ToUInt16
(
bb
,
0
);
s
=
string
.
Format
(
"{0:HH:mm:ss:fff} ReadDI {1} "
,
DateTime
.
Now
,
flag
);
s
+=
Convert
.
ToString
(
buff
[
9
],
2
);
if
(
buff
[
8
]
==
2
)
s
+=
","
+
Convert
.
ToString
(
buff
[
10
],
2
);
_log
.
Add
(
s
);
}
int
n
=
0
;
int
move
=
0
;
byte
val
=
buff
[
9
];
for
(
int
i
=
0
;
i
<
8
;
i
++)
{
n
=
(
val
&
Convert
.
ToInt32
(
Math
.
Pow
(
2
,
move
)))
>>
move
;
_sta
[
i
]
=
n
==
1
?
Box_Sta
.
On
:
Box_Sta
.
Off
;
move
++;
}
if
(
buff
[
8
]
==
2
)
{
move
=
0
;
val
=
buff
[
10
];
for
(
int
i
=
8
;
i
<
16
;
i
++)
{
n
=
(
val
&
Convert
.
ToInt32
(
Math
.
Pow
(
2
,
move
)))
>>
move
;
_sta
[
i
]
=
n
==
1
?
Box_Sta
.
On
:
Box_Sta
.
Off
;
move
++;
}
}
if
(
_unrevdRemote
==
0
)
ErrInfo
=
"OK"
;
return
true
;
}
catch
(
Exception
ex
)
{
ErrInfo
=
ex
.
Message
;
LogUtil
.
error
(
ex
.
ToString
());
return
false
;
}
}
/// <summary>
/// 命令,前7个字节
/// </summary>
/// <returns></returns>
private
byte
[]
Command
()
{
byte
[]
add
=
BitConverter
.
GetBytes
(++
_flag
);
byte
[]
data
=
new
byte
[
7
];
data
[
0
]
=
add
[
1
];
data
[
1
]
=
add
[
0
];
data
[
2
]
=
0
;
data
[
3
]
=
0
;
data
[
4
]
=
0
;
data
[
5
]
=
0
;
data
[
6
]
=
1
;
if
(
_flag
==
ushort
.
MaxValue
)
_flag
=
0
;
return
data
;
}
/// <summary>
/// 触发DIO改变事件
/// </summary>
private
void
TriggerDIO
()
{
int
n
;
Box_Sta
[]
sta
=
null
;
while
(
true
)
{
n
=
0
;
if
(
_readDI
&&
DI_Changed_Event
!=
null
)
{
if
(
_type
==
Box_Type
.
DIO_16
)
sta
=
new
Box_Sta
[
8
];
else
if
(
_type
==
Box_Type
.
DIO_32
)
sta
=
new
Box_Sta
[
16
];
Array
.
Copy
(
_sta
,
0
,
sta
,
0
,
sta
.
Length
);
DI_Changed_Event
.
Invoke
(
this
,
sta
);
Thread
.
Sleep
(
TRIG_SLEEP
);
n
++;
}
if
(
_readDO
&&
DO_Changed_Event
!=
null
)
{
if
(
_type
==
Box_Type
.
DIO_16
)
sta
=
new
Box_Sta
[
8
];
else
if
(
_type
==
Box_Type
.
DIO_32
)
sta
=
new
Box_Sta
[
16
];
else
if
(
_type
==
Box_Type
.
DO_16
)
sta
=
new
Box_Sta
[
16
];
Array
.
Copy
(
_sta
,
16
,
sta
,
0
,
sta
.
Length
);
DO_Changed_Event
.
Invoke
(
this
,
sta
);
Thread
.
Sleep
(
TRIG_SLEEP
);
n
++;
}
if
(
n
==
0
)
Thread
.
Sleep
(
TRIG_SLEEP
);
}
}
/// <summary>
/// 日志输出线程
/// </summary>
private
void
LogPrint
()
{
int
len
=
0
;
while
(
true
)
{
if
(
LogOut
&&
_log
.
Count
>
len
)
{
len
=
_log
.
Count
;
string
[]
ss
=
new
string
[
len
+
1
];
_log
.
CopyTo
(
0
,
ss
,
0
,
len
);
Log_Out_Event
?.
Invoke
(
this
,
ss
);
_log
.
RemoveRange
(
0
,
len
);
len
=
0
;
}
if
(
LogOut
)
{
Log_RxTx_Event
?.
Invoke
(
this
,
_logRxTx
.
ToArray
());
}
Thread
.
Sleep
(
1000
);
}
}
/// <summary>
/// 自动读取DI线程
/// </summary>
private
void
AutoReadDI
()
{
while
(
true
)
{
if
(
IsConn
&&
_readDI
)
{
byte
[]
data
=
Command
();
byte
[]
buff
=
new
byte
[
12
];
Array
.
Copy
(
data
,
0
,
buff
,
0
,
data
.
Length
);
buff
[
7
]
=
2
;
//功能码
buff
[
9
]
=
_addr
[(
int
)
Box_Addr
.
DI_1
];
//地址
if
(
_type
==
Box_Type
.
DIO_16
)
buff
[
11
]
=
8
;
//个数
else
if
(
_type
==
Box_Type
.
DIO_32
)
buff
[
11
]
=
16
;
//个数
_send
.
Add
(
buff
);
}
Thread
.
Sleep
(
_readDISleep
);
}
}
/// <summary>
/// 自动读取DO线程
/// </summary>
private
void
AutoReadDO
()
{
while
(
true
)
{
if
(
IsConn
&&
_readDO
)
{
byte
[]
data
=
Command
();
byte
[]
buff
=
new
byte
[
12
];
Array
.
Copy
(
data
,
0
,
buff
,
0
,
data
.
Length
);
buff
[
7
]
=
1
;
//功能码
buff
[
9
]
=
_addr
[(
int
)
Box_Addr
.
DO_1
];
//地址
if
(
_type
==
Box_Type
.
DIO_16
)
buff
[
11
]
=
8
;
//个数
else
if
(
_type
==
Box_Type
.
DIO_32
)
buff
[
11
]
=
16
;
//个数
else
if
(
_type
==
Box_Type
.
DO_16
)
buff
[
11
]
=
16
;
//个数
_send
.
Add
(
buff
);
}
Thread
.
Sleep
(
_readDOSleep
);
}
}
/// <summary>
/// 监听结果线程
/// </summary>
private
void
Listen
()
{
byte
[]
bb
=
new
byte
[
100
];
while
(
true
)
{
if
(
_client
.
Available
>
0
)
{
Thread
.
Sleep
(
2
);
int
len
=
_client
.
Receive
(
bb
);
byte
[]
buff
=
new
byte
[
len
];
Array
.
Copy
(
bb
,
buff
,
len
);
_receive
.
Add
(
buff
);
_unrevd
=
0
;
}
_unrevd
+=
NET_SLEEP
;
Thread
.
Sleep
(
NET_SLEEP
);
}
}
/// <summary>
/// 回调函数,开启监听线程
/// </summary>
/// <param name="args"></param>
private
void
Target
(
IAsyncResult
args
)
{
if
(!
args
.
IsCompleted
)
return
;
if
(
_client
==
null
||
!
_client
.
Connected
)
return
;
tListen
=
new
Thread
(
new
ThreadStart
(
Listen
))
{
IsBackground
=
true
};
tTrigger
=
new
Thread
(
new
ThreadStart
(
TriggerDIO
))
{
IsBackground
=
true
};
tListen
.
Start
();
tTrigger
.
Start
();
}
/// <summary>
/// 断开重连
/// </summary>
private
void
Reconn
()
{
bool
rtn
=
false
;
bool
loop
=
false
;
bool
conn
=
false
;
int
times
=
0
;
while
(
true
)
{
try
{
if
(
IsConn
)
{
if
(
_unrevd
>
10000
||
_unrevdRemote
>
0
)
//断开10s后重连
{
//临时
Dictionary
<
string
,
string
>
dic
=
new
Dictionary
<
string
,
string
>();
foreach
(
System
.
Reflection
.
PropertyInfo
info
in
_client
.
GetType
().
GetProperties
())
try
{
dic
.
Add
(
info
.
Name
,
info
.
GetValue
(
_client
)
==
null
?
"null"
:
info
.
GetValue
(
_client
).
ToString
());
}
catch
(
Exception
ex
)
{
dic
.
Add
(
"错误"
+
info
.
Name
,
ex
.
Message
);
}
CloseConn
();
Thread
.
Sleep
(
100
);
if
(
Reconnect_Event
!=
null
)
{
loop
=
false
;
conn
=
false
;
do
{
if
(!
loop
)
{
if
(
_unrevdRemote
==
0
)
ErrInfo
=
"本地缓存连续10s未收到数据"
;
}
times
++;
Reconnect_Event
.
Invoke
(
this
,
times
,
ref
conn
,
dic
);
if
(
conn
)
{
rtn
=
Connect
();
if
(
rtn
)
{
loop
=
false
;
times
=
0
;
}
else
{
conn
=
false
;
loop
=
true
;
}
}
else
{
loop
=
false
;
}
}
while
(
loop
);
}
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"Reconn出错:"
+
ex
.
ToString
());
}
Thread
.
Sleep
(
1000
);
}
}
/// <summary>
/// 关闭连接
/// </summary>
private
void
CloseConn
()
{
IsConn
=
false
;
if
(
tListen
!=
null
)
tListen
.
Abort
();
tListen
=
null
;
if
(
tReadDI
!=
null
)
tReadDI
.
Abort
();
tReadDI
=
null
;
if
(
tReadDO
!=
null
)
tReadDO
.
Abort
();
tReadDO
=
null
;
if
(
tTrigger
!=
null
)
tTrigger
.
Abort
();
tTrigger
=
null
;
if
(
tLogOut
!=
null
)
tLogOut
.
Abort
();
tLogOut
=
null
;
if
(
tSend
!=
null
)
tSend
.
Abort
();
tSend
=
null
;
if
(
tReceive
!=
null
)
tReceive
.
Abort
();
tReceive
=
null
;
if
(
_client
!=
null
)
{
_client
.
Shutdown
(
SocketShutdown
.
Both
);
_client
.
Close
();
}
_client
=
null
;
}
}
}
\ No newline at end of file
source/DeviceLibrary/DeviceLibrary/IO/AIOBOX/Common.cs
0 → 100644
查看文件 @
0c4b488
namespace
Asa.IOModule
{
/// <summary>
/// IO模块寄存器
/// </summary>
public
class
Reg
{
/// <summary>
/// 标识
/// </summary>
public
int
ID
;
/// <summary>
/// 文本,仅用于显示
/// </summary>
public
string
Text
;
/// <summary>
/// 寄存器地址
/// </summary>
public
Box_Addr
Address
;
/// <summary>
/// 当前的状态
/// </summary>
public
Box_Sta
Status
;
/// <summary>
/// 寄存器,文本空,状态OFF
/// </summary>
/// <param name="address">地址</param>
public
Reg
(
Box_Addr
address
)
:
this
(
0
,
""
,
address
,
Box_Sta
.
Off
)
{
}
/// <summary>
/// 寄存器,状态OFF
/// </summary>
/// <param name="text">文本</param>
/// <param name="addr">地址</param>
public
Reg
(
string
text
,
Box_Addr
addr
)
:
this
(
0
,
text
,
addr
,
Box_Sta
.
Off
)
{
}
/// <summary>
/// 寄存器,状态OFF
/// </summary>
/// <param name="id">标志</param>
/// <param name="text">文本</param>
/// <param name="addr">地址</param>
public
Reg
(
int
id
,
string
text
,
Box_Addr
addr
)
:
this
(
id
,
text
,
addr
,
Box_Sta
.
Off
)
{
}
/// <summary>
/// 寄存器
/// </summary>
/// <param name="text">文本</param>
/// <param name="addr">地址</param>
/// <param name="status">状态</param>
public
Reg
(
string
text
,
Box_Addr
addr
,
Box_Sta
status
)
:
this
(
0
,
text
,
addr
,
status
)
{
}
/// <summary>
/// 寄存器
/// </summary>
/// <param name="id">标志</param>
/// <param name="text">文本</param>
/// <param name="address">地址</param>
/// <param name="status">状态</param>
public
Reg
(
int
id
,
string
text
,
Box_Addr
address
,
Box_Sta
status
)
{
ID
=
id
;
Text
=
text
;
Address
=
address
;
Status
=
status
;
}
}
/// <summary>
/// IO模块寄存器地址
/// </summary>
public
enum
Box_Addr
:
int
{
/// <summary>
/// 输入点,DI01
/// </summary>
DI_1
,
/// <summary>
/// 输入点,DI02
/// </summary>
DI_2
,
/// <summary>
/// 输入点,DI03
/// </summary>
DI_3
,
/// <summary>
/// 输入点,DI04
/// </summary>
DI_4
,
/// <summary>
/// 输入点,DI05
/// </summary>
DI_5
,
/// <summary>
/// 输入点,DI06
/// </summary>
DI_6
,
/// <summary>
/// 输入点,DI07
/// </summary>
DI_7
,
/// <summary>
/// 输入点,DI08
/// </summary>
DI_8
,
/// <summary>
/// 输入点,DI09
/// </summary>
DI_9
,
/// <summary>
/// 输入点,DI10
/// </summary>
DI_10
,
/// <summary>
/// 输入点,DI11
/// </summary>
DI_11
,
/// <summary>
/// 输入点,DI12
/// </summary>
DI_12
,
/// <summary>
/// 输入点,DI13
/// </summary>
DI_13
,
/// <summary>
/// 输入点,DI14
/// </summary>
DI_14
,
/// <summary>
/// 输入点,DI15
/// </summary>
DI_15
,
/// <summary>
/// 输入点,DI16
/// </summary>
DI_16
,
/// <summary>
/// 输出点,DO01
/// </summary>
DO_1
,
/// <summary>
/// 输出点,DO02
/// </summary>
DO_2
,
/// <summary>
/// 输出点,DO03
/// </summary>
DO_3
,
/// <summary>
/// 输出点,DO04
/// </summary>
DO_4
,
/// <summary>
/// 输出点,DO05
/// </summary>
DO_5
,
/// <summary>
/// 输出点,DO06
/// </summary>
DO_6
,
/// <summary>
/// 输出点,DO07
/// </summary>
DO_7
,
/// <summary>
/// 输出点,DO08
/// </summary>
DO_8
,
/// <summary>
/// 输出点,DO09
/// </summary>
DO_9
,
/// <summary>
/// 输出点,DO10
/// </summary>
DO_10
,
/// <summary>
/// 输出点,DO11
/// </summary>
DO_11
,
/// <summary>
/// 输出点,DO12
/// </summary>
DO_12
,
/// <summary>
/// 输出点,DO13
/// </summary>
DO_13
,
/// <summary>
/// 输出点,DO14
/// </summary>
DO_14
,
/// <summary>
/// 输出点,DO15
/// </summary>
DO_15
,
/// <summary>
/// 输出点,DO16
/// </summary>
DO_16
,
/// <summary>
/// 无
/// </summary>
NONE
=
255
}
/// <summary>
/// IO模块类型
/// </summary>
public
enum
Box_Type
:
int
{
/// <summary>
/// 16位,8DI + 8DO
/// </summary>
DIO_16
,
/// <summary>
/// 32位,16DI + 16DO
/// </summary>
DIO_32
,
/// <summary>
/// 16位DO
/// </summary>
DO_16
}
/// <summary>
/// IO模块寄存器状态
/// </summary>
public
enum
Box_Sta
:
int
{
/// <summary>
/// 断开,关闭,低电平
/// </summary>
Off
=
0
,
/// <summary>
/// 闭合,打开,高电平
/// </summary>
On
=
255
}
}
\ No newline at end of file
source/DeviceLibrary/StoreConfig/AC/StoreConfig.csv
查看文件 @
0c4b488
...
...
@@ -49,15 +49,15 @@ AXIS,(轴三)进出轴,InOut_Axis,3,COM1,0,,,,,
AXIS,(轴五)批量上下料轴,Batch_Axis,4,COM1,0,,,,,
,,,,,,,,,,
,,,,,,,,,,
PRO,升降轴 仓门位置P7(人工拿走盘的位置),UpDownAxis_Door_P7,34
755
0,,,,,,,
PRO,升降轴 仓门位置P7(人工拿走盘的位置),UpDownAxis_Door_P7,34
500
0,,,,,,,
PRO,升降轴 出库高点P2,UpDownAxis_OutHigh_P2,247000,,,,,,,
PRO,升降轴 出库低点P8,UpDownAxis_OutLow_P8,230000,,,,,,,
PRO,升降轴从吸盘下方接料后下降的高度,UpDownAxis_DownValue,10000,,,,,,,
PRO,升降轴 入库P1点集合,UpDownAxis_P1_List,8#398000;12#398000;16#393000;20#393000;24#390500;28#390500;32#390500;36#390500;40#390500;52#390500;,,,,,,,
PRO,旋转轴(轴一)P1 待机原位点,MiddleAxis_P1_Position,21
74
00,,,,,,,
PRO,旋转轴(轴一)P1 待机原位点,MiddleAxis_P1_Position,21
89
00,,,,,,,
PRO,进出轴(轴三)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,,
PRO,压紧轴(轴4)P1待机原位点,CompressAxis_P1_Position,-25000,,,,,,,
PRO,压紧轴(轴4)P2压紧点集合,CompressAxis_P2_List,8#-1
10000;12#-110000;16#-90000;20#-90000;24#-110000;28#-70000;32#-7
0000;36#-70000;40#-70000;44#-70000;48#-70000;52#-70000;,,,,,,,
PRO,压紧轴(轴4)P2压紧点集合,CompressAxis_P2_List,8#-1
35000;12#-135000;16#-125000;20#-120000;24#-115000;28#-90000;32#-8
0000;36#-70000;40#-70000;44#-70000;48#-70000;52#-70000;,,,,,,,
PRO,是否使用定位气缸,IsHasLocationCylinder,0,,,,,,,
PRO,是否有左右侧门,IsHasDoorLimit,1,,,,,,,
PRO,是否使用压紧轴(1=使用),IsHasCompress_Axis,1,,,,,,,
...
...
@@ -74,8 +74,8 @@ PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,1000,,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,1000,,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,1000,,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,200,,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,
20
0,,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,
20
0,,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,
15
0,,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,
15
0,,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,200,,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,200,,,,,,,
...
...
@@ -85,20 +85,20 @@ PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,200,,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,200,,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,200,,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,200,,,,,,,
PRO,升降轴(轴二)到仓门速度,UpDownAxis_Door_Speed,
25
0,,,,,,,
PRO,升降轴(轴二)P1速度,UpDownAxis_P1_Speed,
10
00,,,,,,,
PRO,升降轴(轴二)P2速度,UpDownAxis_P2_Speed,
10
00,,,,,,,
PRO,升降轴(轴二)P3速度,UpDownAxis_P3_Speed,
10
00,,,,,,,
PRO,升降轴(轴二)P4速度,UpDownAxis_P4_Speed,
5
00,,,,,,,
PRO,升降轴(轴二)P5速度,UpDownAxis_P5_Speed,
10
00,,,,,,,
PRO,升降轴(轴二)P6速度,UpDownAxis_P6_Speed,
5
00,,,,,,,
PRO,升降轴(轴二)到仓门P7速度,UpDownAxis_P7_Speed,
1
000,,,,,,,
PRO,升降轴(轴二)P8速度,UpDownAxis_P8_Speed,
5
00,,,,,,,
PRO,旋转轴(轴一)P1速度,MiddleAxis_P1_Speed,
5
00,,,,,,,
PRO,旋转轴(轴一)P2速度,MiddleAxis_P2_Speed,
5
00,,,,,,,
PRO,进出轴(轴三)P1速度,InOutAxis_P1_Speed,
5
00,,,,,,,
PRO,进出轴(轴三)P2速度,InOutAxis_P2_Speed,
5
00,,,,,,,
PRO,进出轴(轴三)P3速度,InOutAxis_P3_Speed,
5
00,,,,,,,
PRO,升降轴(轴二)到仓门速度,UpDownAxis_Door_Speed,
30
0,,,,,,,
PRO,升降轴(轴二)P1速度,UpDownAxis_P1_Speed,
22
00,,,,,,,
PRO,升降轴(轴二)P2速度,UpDownAxis_P2_Speed,
22
00,,,,,,,
PRO,升降轴(轴二)P3速度,UpDownAxis_P3_Speed,
22
00,,,,,,,
PRO,升降轴(轴二)P4速度,UpDownAxis_P4_Speed,
4
00,,,,,,,
PRO,升降轴(轴二)P5速度,UpDownAxis_P5_Speed,
22
00,,,,,,,
PRO,升降轴(轴二)P6速度,UpDownAxis_P6_Speed,
4
00,,,,,,,
PRO,升降轴(轴二)到仓门P7速度,UpDownAxis_P7_Speed,
2
000,,,,,,,
PRO,升降轴(轴二)P8速度,UpDownAxis_P8_Speed,
4
00,,,,,,,
PRO,旋转轴(轴一)P1速度,MiddleAxis_P1_Speed,
8
00,,,,,,,
PRO,旋转轴(轴一)P2速度,MiddleAxis_P2_Speed,
8
00,,,,,,,
PRO,进出轴(轴三)P1速度,InOutAxis_P1_Speed,
8
00,,,,,,,
PRO,进出轴(轴三)P2速度,InOutAxis_P2_Speed,
8
00,,,,,,,
PRO,进出轴(轴三)P3速度,InOutAxis_P3_Speed,
8
00,,,,,,,
PRO,(轴一)旋转轴最小误差脉冲值,MiddleAxis_ErrorCountMin,10,,,,,, ,
PRO,(轴二)升降轴轴最小误差脉冲值,UpdownAxis_ErrorCountMin,10,,,,,,,
PRO,(轴三)进出轴最小误差脉冲值,InoutAxis_ErrorCountMin,10,,,,,,,
...
...
@@ -125,12 +125,12 @@ PRO,硕科步进电机(压紧轴)控制端口号,CompressAxis_PortName,COM6,,,,,,,
PRO,硕科步进电机(压紧轴)控制波特率,CompressAxis_PortBaudrate,9600,,,,,,,
PRO,硕科步进电机(压紧轴)控制奇偶校验,CompressAxis_PortParity,0,,,,,,,
PRO,硕科步进电机(压紧轴)控制停止位,CompressAxis_StopBits,1,,,,,,,
PRO,硕科步进电机(压紧轴)控制初速度,CompressAxis_StartSpeed,
3
0000,,,,,,,
PRO,硕科步进电机(压紧轴)控制最大速度,CompressAxis_MaxSpeed,
4
0000,,,,,,,
PRO,硕科步进电机(压紧轴)控制末速度,CompressAxis_EndSpeed,
4
0000,,,,,,,
PRO,硕科步进电机(压紧轴)控制加速度,CompressAxis_AddSpeed,4000,,,,,,,
PRO,硕科步进电机(压紧轴)控制减速度,CompressAxis_DelSpeed,4000,,,,,,,
PRO,硕科步进电机(压紧轴)原点返回速度,CompressAxis_HomeSpeed,
4
000,,,,,,,
PRO,硕科步进电机(压紧轴)控制初速度,CompressAxis_StartSpeed,
6
0000,,,,,,,
PRO,硕科步进电机(压紧轴)控制最大速度,CompressAxis_MaxSpeed,
10
0000,,,,,,,
PRO,硕科步进电机(压紧轴)控制末速度,CompressAxis_EndSpeed,
10
0000,,,,,,,
PRO,硕科步进电机(压紧轴)控制加速度,CompressAxis_AddSpeed,4000
0
,,,,,,,
PRO,硕科步进电机(压紧轴)控制减速度,CompressAxis_DelSpeed,4000
0
,,,,,,,
PRO,硕科步进电机(压紧轴)原点返回速度,CompressAxis_HomeSpeed,
10
000,,,,,,,
PRO,硕科步进电机轴地址(压紧轴),CompressAxis_Slv,1,,,,,, ,
,,,,,,,,,,
PRO,(轴五)上料轴目标速度,BatchAxis_TargetSpeed,800,,,,,,,
...
...
@@ -142,16 +142,16 @@ PRO,(轴五)上料轴原点高速,BatchAxis_HomeHighSpeed,60,,,,,,,
PRO,(轴五)上料轴原点加速度,BatchAxis_HomeAddSpeed,200,,,,,,,
PRO,(轴五)上料轴P1点(出库时接料盘的位置),BatchAxis_P1,1750000,,,,,, ,
PRO,(轴五)上料轴P2点(待机点),BatchAxis_P2,30000,,,,,, ,
PRO,(轴五)上料轴P2速度,BatchAxis_P2_Speed,2
5
00,,,,,,,
PRO,(轴五)上料轴P2速度,BatchAxis_P2_Speed,2
8
00,,,,,,,
PRO,(轴五)上料轴最小误差脉冲值,BatchAxis_ErrorCountMin,10,,,,,,,
PRO,(轴五)上料轴最大误差脉冲值,BatchAxis_ErrorCountMax,1000,,,,,,,
PRO,(轴五)上料轴最小限位,BatchAxis_PositionMin,0,,,,,,,
PRO,(轴五)上料轴最大限位,BatchAxis_PositionMax,0,,,,,,,
PRO,(轴五)上料轴P1速度,BatchAxis_P1_Speed,2
0
00,,,,,,,
PRO,(轴五)上料轴出料时距离检测信号需要下降的高度,BatchAxis_OutDownPosition,
8
0000,,,,,,,
PRO,(轴五)上料轴最最大料盘高度,到达后无法批量出库,BatchAxis_MaxHeight,
36
0,,,,,,,
PRO,最后一盘料需要补充的高度,LastTrayAddHeight,
12
,,,,,,,
PRO,(轴五)上料轴P1速度,BatchAxis_P1_Speed,2
8
00,,,,,,,
PRO,(轴五)上料轴出料时距离检测信号需要下降的高度,BatchAxis_OutDownPosition,
10
0000,,,,,,,
PRO,(轴五)上料轴最最大料盘高度,到达后无法批量出库,BatchAxis_MaxHeight,
25
0,,,,,,,
PRO,最后一盘料需要补充的高度,LastTrayAddHeight,
4
,,,,,,,
,,,,,,,,,,
,,,,,,,,,,
PRO,IO模块对应的DI数量,IO_DILength,192.168.200.
11#16;192.168.200.1
2#4,,,,,, ,
PRO,模块对应的DO数量,IO_DOLength,192.168.200.
11#16;192.168.200.1
2#4,,,,,,,
PRO,IO模块对应的DI数量,IO_DILength,192.168.200.
21#16;192.168.200.2
2#4,,,,,, ,
PRO,模块对应的DO数量,IO_DOLength,192.168.200.
21#16;192.168.200.2
2#4,,,,,,,
source/DeviceLibrary/StoreConfig/AC/linePositions.csv
查看文件 @
0c4b488
位置,优先级,高度,宽度,料仓ID,中轴位置P2,升降轴库位出料前点P5,升降轴库位出料缓冲点P6,升降轴库位入料前点P3,升降轴库位入料缓冲点P4,进出轴库位点取料点P3,压紧轴压紧点P2,压紧轴压紧前点P3,进出轴仓门出料点P4,进出轴吸盘取料点P2
1#AC2_2_1_1,208,24,13,1,73490,0,6500,6500,0,86000,-110000,-25000,88750,88750
1#AC2_2_1_2,207,24,13,1,73490,30250,36750,36750,30250,86000,-110000,-25000,88750,88750
1#AC2_2_1_3,206,24,13,1,73490,60500,67000,67000,60500,86000,-110000,-25000,88750,88750
1#AC2_2_1_4,205,24,13,1,73490,90750,97250,97250,90750,86000,-110000,-25000,88750,88750
1#AC2_2_1_5,204,24,13,1,73490,121000,127500,127500,121000,86000,-110000,-25000,88750,88750
1#AC2_2_1_6,203,24,13,1,73490,151250,157750,157750,151250,86000,-110000,-25000,88750,88750
1#AC2_2_1_7,202,24,13,1,73490,181500,188000,188000,181500,86000,-110000,-25000,88750,88750
1#AC2_2_1_8,201,24,13,1,73490,211750,218250,218250,211750,86000,-110000,-25000,88750,88750
1#AC2_2_1_9,200,24,13,1,73490,242000,248500,248500,242000,86000,-110000,-25000,88750,88750
1#AC2_2_1_10,199,24,13,1,73490,272250,278750,278750,272250,86000,-110000,-25000,88750,88750
1#AC2_2_1_11,198,24,13,1,73490,302500,309000,309000,302500,86000,-110000,-25000,88750,88750
1#AC2_2_1_12,197,24,13,1,73490,331250,339250,339250,331250,86000,-110000,-25000,88750,88750
1#AC2_2_1_13,196,24,13,1,73490,362000,369500,369500,362000,86000,-110000,-25000,88750,88750
1#AC2_2_2_1,195,24,13,1,73490,393250,399750,399750,393250,86000,-110000,-25000,88750,88750
1#AC2_2_2_2,194,24,13,1,73530,423350,429850,429850,423350,86000,-110000,-25000,88750,88750
1#AC2_2_2_3,193,24,13,1,73570,453450,459950,459950,453450,86000,-110000,-25000,88750,88750
1#AC2_2_2_4,192,24,13,1,73610,483550,490050,490050,483550,86000,-110000,-25000,88750,88750
1#AC2_2_2_5,191,24,13,1,73650,513650,520150,520150,513650,86000,-110000,-25000,88750,88750
1#AC2_2_2_6,190,24,13,1,73690,543750,550250,550250,543750,86000,-110000,-25000,88750,88750
1#AC2_2_2_7,189,24,13,1,73730,573850,580350,580350,573850,86000,-110000,-25000,88750,88750
1#AC2_2_2_8,188,24,13,1,73770,603950,610450,610450,603950,86000,-110000,-25000,88750,88750
1#AC2_2_2_9,187,24,13,1,73810,634050,640550,640550,634050,86000,-110000,-25000,88750,88750
1#AC2_2_2_10,186,24,13,1,73850,664150,670650,670650,664150,86000,-110000,-25000,88750,88750
1#AC2_2_2_11,185,24,13,1,73890,694250,700750,700750,694250,86000,-110000,-25000,88750,88750
1#AC2_2_2_12,184,24,13,1,73930,724350,730850,730850,724350,86000,-110000,-25000,88750,88750
1#AC2_2_2_13,183,24,13,1,73970,754450,760950,760950,754450,86000,-110000,-25000,88750,88750
1#AC2_2_3_1,182,24,13,1,74000,784500,791500,791500,784500,86000,-110000,-25000,88750,88750
1#AC2_2_3_2,181,24,13,1,74020,814750,821750,821750,814750,86000,-110000,-25000,88750,88750
1#AC2_2_3_3,180,24,13,1,74040,845000,852000,852000,845000,86000,-110000,-25000,88750,88750
1#AC2_2_3_4,179,24,13,1,74060,875250,882250,882250,875250,86000,-110000,-25000,88750,88750
1#AC2_2_3_5,178,24,13,1,74080,905500,912500,912500,905500,86000,-110000,-25000,88750,88750
1#AC2_2_3_6,177,24,13,1,74100,935750,942750,942750,935750,86000,-110000,-25000,88750,88750
1#AC2_2_3_7,176,24,13,1,74120,966000,973000,973000,966000,86000,-110000,-25000,88750,88750
1#AC2_2_3_8,175,24,13,1,74140,996250,1003250,1003250,996250,86000,-110000,-25000,88750,88750
1#AC2_2_3_9,174,24,13,1,74160,1026500,1033500,1033500,1026500,86000,-110000,-25000,88750,88750
1#AC2_2_3_10,173,24,13,1,74180,1056750,1063750,1063750,1056750,86000,-110000,-25000,88750,88750
1#AC2_2_3_11,172,24,13,1,74200,1087000,1094000,1094000,1087000,86000,-110000,-25000,88750,88750
1#AC2_2_3_12,171,24,13,1,74220,1117250,1124250,1124250,1117250,86000,-110000,-25000,88750,88750
1#AC2_2_3_13,170,24,13,1,74240,1147500,1154500,1154500,1147500,86000,-110000,-25000,88750,88750
1#AC2_3_1_1,169,24,13,1,1200,0,6500,6500,0,86000,-110000,-25000,88750,88750
1#AC2_3_1_2,168,24,13,1,1200,30250,36750,36750,30250,86000,-110000,-25000,88750,88750
1#AC2_3_1_3,167,24,13,1,1200,60500,67000,67000,60500,86000,-110000,-25000,88750,88750
1#AC2_3_1_4,166,24,13,1,1200,90750,97250,97250,90750,86000,-110000,-25000,88750,88750
1#AC2_3_1_5,165,24,13,1,1200,121000,127500,127500,121000,86000,-110000,-25000,88750,88750
1#AC2_3_1_6,164,24,13,1,1200,151250,157750,157750,151250,86000,-110000,-25000,88750,88750
1#AC2_3_1_7,163,24,13,1,1200,181500,188000,188000,181500,86000,-110000,-25000,88750,88750
1#AC2_3_1_8,162,24,13,1,1200,211750,218250,218250,211750,86000,-110000,-25000,88750,88750
1#AC2_3_1_9,161,24,13,1,1200,242000,248500,248500,242000,86000,-110000,-25000,88750,88750
1#AC2_3_1_10,160,24,13,1,1200,272250,278750,278750,272250,86000,-110000,-25000,88750,88750
1#AC2_3_1_11,159,24,13,1,1200,302500,309000,309000,302500,86000,-110000,-25000,88750,88750
1#AC2_3_1_12,158,24,13,1,1200,332750,339250,339250,332750,86000,-110000,-25000,88750,88750
1#AC2_3_1_13,157,24,13,1,1200,363000,369500,369500,363000,86000,-110000,-25000,88750,88750
1#AC2_3_2_1,156,24,13,1,1200,393250,399750,399750,393250,86000,-110000,-25000,88750,88750
1#AC2_3_2_2,155,24,13,1,1250,423350,429850,429850,423350,86000,-110000,-25000,88750,88750
1#AC2_3_2_3,154,24,13,1,1300,453450,459950,459950,453450,86000,-110000,-25000,88750,88750
1#AC2_3_2_4,153,24,13,1,1350,483550,490050,490050,483550,86000,-110000,-25000,88750,88750
1#AC2_3_2_5,152,24,13,1,1400,513650,520150,520150,513650,86000,-110000,-25000,88750,88750
1#AC2_3_2_6,151,24,13,1,1450,543750,550250,550250,543750,86000,-110000,-25000,88750,88750
1#AC2_3_2_7,150,24,13,1,1500,573850,580350,580350,573850,86000,-110000,-25000,88750,88750
1#AC2_3_2_8,149,24,13,1,1550,603950,610450,610450,603950,86000,-110000,-25000,88750,88750
1#AC2_3_2_9,148,24,13,1,1600,634050,640550,640550,634050,86000,-110000,-25000,88750,88750
1#AC2_3_2_10,147,24,13,1,1650,664150,670650,670650,664150,86000,-110000,-25000,88750,88750
1#AC2_3_2_11,146,24,13,1,1700,694250,700750,700750,694250,86000,-110000,-25000,88750,88750
1#AC2_3_2_12,145,24,13,1,1750,724350,730850,730850,724350,86000,-110000,-25000,88750,88750
1#AC2_3_2_13,144,24,13,1,1800,754450,760950,760950,754450,86000,-110000,-25000,88750,88750
1#AC2_3_3_1,143,24,13,1,2000,784500,791500,791500,784500,86000,-110000,-25000,88750,88750
1#AC2_3_3_2,142,24,13,1,2050,814750,821750,821750,814750,86000,-110000,-25000,88750,88750
1#AC2_3_3_3,141,24,13,1,2100,845000,852000,852000,845000,86000,-110000,-25000,88750,88750
1#AC2_3_3_4,140,24,13,1,2150,875250,882250,882250,875250,86000,-110000,-25000,88750,88750
1#AC2_3_3_5,139,24,13,1,2200,905500,912500,912500,905500,86000,-110000,-25000,88750,88750
1#AC2_3_3_6,138,24,13,1,2250,935750,942750,942750,935750,86000,-110000,-25000,88750,88750
1#AC2_3_3_7,137,24,13,1,2300,966000,973000,973000,966000,86000,-110000,-25000,88750,88750
1#AC2_3_3_8,136,24,13,1,2350,996250,1003250,1003250,996250,86000,-110000,-25000,88750,88750
1#AC2_3_3_9,135,24,13,1,2400,1026500,1033500,1033500,1026500,86000,-110000,-25000,88750,88750
1#AC2_3_3_10,134,24,13,1,2450,1056750,1063750,1063750,1056750,86000,-110000,-25000,88750,88750
1#AC2_3_3_11,133,24,13,1,2500,1087000,1094000,1094000,1087000,86000,-110000,-25000,88750,88750
1#AC2_3_3_12,132,24,13,1,2550,1117250,1124250,1124250,1117250,86000,-110000,-25000,88750,88750
1#AC2_3_3_13,131,24,13,1,2600,1147500,1154500,1154500,1147500,86000,-110000,-25000,88750,88750
1#AC2_4_1_1,130,24,13,1,505500,0,6500,6500,0,86000,-110000,-25000,88750,88750
1#AC2_4_1_2,129,24,13,1,505500,30250,36750,36750,30250,86000,-110000,-25000,88750,88750
1#AC2_4_1_3,128,24,13,1,505500,60500,67000,67000,60500,86000,-110000,-25000,88750,88750
1#AC2_4_1_4,127,24,13,1,505500,90750,97250,97250,90750,86000,-110000,-25000,88750,88750
1#AC2_4_1_5,126,24,13,1,505500,121000,127500,127500,121000,86000,-110000,-25000,88750,88750
1#AC2_4_1_6,125,24,13,1,505500,151250,157750,157750,151250,86000,-110000,-25000,88750,88750
1#AC2_4_1_7,124,24,13,1,505500,181500,188000,188000,181500,86000,-110000,-25000,88750,88750
1#AC2_4_1_8,123,24,13,1,505500,211750,218250,218250,211750,86000,-110000,-25000,88750,88750
1#AC2_4_1_9,122,24,13,1,505500,242000,248500,248500,242000,86000,-110000,-25000,88750,88750
1#AC2_4_1_10,121,24,13,1,505500,272250,278750,278750,272250,86000,-110000,-25000,88750,88750
1#AC2_4_1_11,120,24,13,1,505500,302500,309000,309000,302500,86000,-110000,-25000,88750,88750
1#AC2_4_1_12,119,24,13,1,505500,332750,339250,339250,332750,86000,-110000,-25000,88750,88750
1#AC2_4_1_13,118,24,13,1,505500,363000,369500,369500,363000,86000,-110000,-25000,88750,88750
1#AC2_4_2_1,117,24,13,1,505500,393250,399750,399750,393250,86000,-110000,-25000,88750,88750
1#AC2_4_2_2,116,24,13,1,505550,423350,429850,429850,423350,86000,-110000,-25000,88750,88750
1#AC2_4_2_3,115,24,13,1,505600,453450,459950,459950,453450,86000,-110000,-25000,88750,88750
1#AC2_4_2_4,114,24,13,1,505650,483550,490050,490050,483550,86000,-110000,-25000,88750,88750
1#AC2_4_2_5,113,24,13,1,505700,513650,520150,520150,513650,86000,-110000,-25000,88750,88750
1#AC2_4_2_6,112,24,13,1,505750,543750,550250,550250,543750,86000,-110000,-25000,88750,88750
1#AC2_4_2_7,111,24,13,1,505800,573850,580350,580350,573850,86000,-110000,-25000,88750,88750
1#AC2_4_2_8,110,24,13,1,505850,603950,610450,610450,603950,86000,-110000,-25000,88750,88750
1#AC2_4_2_9,109,24,13,1,505900,634050,640550,640550,634050,86000,-110000,-25000,88750,88750
1#AC2_4_2_10,108,24,13,1,505950,664150,670650,670650,664150,86000,-110000,-25000,88750,88750
1#AC2_4_2_11,107,24,13,1,506000,694250,700750,700750,694250,86000,-110000,-25000,88750,88750
1#AC2_4_2_12,106,24,13,1,506050,724350,730850,730850,724350,86000,-110000,-25000,88750,88750
1#AC2_4_2_13,105,24,13,1,506100,754450,760950,760950,754450,86000,-110000,-25000,88750,88750
1#AC2_4_3_1,104,24,13,1,506300,784500,791500,791500,784500,86000,-110000,-25000,88750,88750
1#AC2_4_3_2,103,24,13,1,506350,814750,821750,821750,814750,86000,-110000,-25000,88750,88750
1#AC2_4_3_3,102,24,13,1,506400,845000,852000,852000,845000,86000,-110000,-25000,88750,88750
1#AC2_4_3_4,101,24,13,1,506450,875250,882250,882250,875250,86000,-110000,-25000,88750,88750
1#AC2_4_3_5,100,24,13,1,506500,905500,912500,912500,905500,86000,-110000,-25000,88750,88750
1#AC2_4_3_6,99,24,13,1,506550,935750,942750,942750,935750,86000,-110000,-25000,88750,88750
1#AC2_4_3_7,98,24,13,1,506600,966000,973000,973000,966000,86000,-110000,-25000,88750,88750
1#AC2_4_3_8,97,24,13,1,506650,996250,1003250,1003250,996250,86000,-110000,-25000,88750,88750
1#AC2_4_3_9,96,24,13,1,506700,1026500,1033500,1033500,1026500,86000,-110000,-25000,88750,88750
1#AC2_4_3_10,95,24,13,1,506750,1056750,1063750,1063750,1056750,86000,-110000,-25000,88750,88750
1#AC2_4_3_11,94,24,13,1,506800,1087000,1094000,1094000,1087000,86000,-110000,-25000,88750,88750
1#AC2_4_3_12,93,24,13,1,506850,1117250,1124250,1124250,1117250,86000,-110000,-25000,88750,88750
1#AC2_4_3_13,92,24,13,1,506900,1147500,1154500,1154500,1147500,86000,-110000,-25000,88750,88750
1#AC2_5_1_1,91,24,13,1,433700,0,6500,6500,0,86000,-110000,-25000,88750,88750
1#AC2_5_1_2,90,24,13,1,433700,30250,36750,36750,30250,86000,-110000,-25000,88750,88750
1#AC2_5_1_3,89,24,13,1,433700,60500,67000,67000,60500,86000,-110000,-25000,88750,88750
1#AC2_5_1_4,88,24,13,1,433700,90750,97250,97250,90750,86000,-110000,-25000,88750,88750
1#AC2_5_1_5,87,24,13,1,433700,121000,127500,127500,121000,86000,-110000,-25000,88750,88750
1#AC2_5_1_6,86,24,13,1,433700,151250,157750,157750,151250,86000,-110000,-25000,88750,88750
1#AC2_5_1_7,85,24,13,1,433700,181500,188000,188000,181500,86000,-110000,-25000,88750,88750
1#AC2_5_1_8,84,24,13,1,433700,211750,218250,218250,211750,86000,-110000,-25000,88750,88750
1#AC2_5_1_9,83,24,13,1,433700,242000,248500,248500,242000,86000,-110000,-25000,88750,88750
1#AC2_5_1_10,82,24,13,1,433700,272250,278750,278750,272250,86000,-110000,-25000,88750,88750
1#AC2_5_1_11,81,24,13,1,433700,302500,309000,309000,302500,86000,-110000,-25000,88750,88750
1#AC2_5_1_12,80,24,13,1,433700,332750,339250,339250,332750,86000,-110000,-25000,88750,88750
1#AC2_5_1_13,79,24,13,1,433700,363000,369500,369500,363000,86000,-110000,-25000,88750,88750
1#AC2_5_2_1,78,24,13,1,433700,393250,399750,399750,393250,86000,-110000,-25000,88750,88750
1#AC2_5_2_2,77,24,13,1,433700,423350,429850,429850,423350,86000,-110000,-25000,88750,88750
1#AC2_5_2_3,76,24,13,1,433700,453450,459950,459950,453450,86000,-110000,-25000,88750,88750
1#AC2_5_2_4,75,24,13,1,433700,483550,490050,490050,483550,86000,-110000,-25000,88750,88750
1#AC2_5_2_5,74,24,13,1,433700,513650,520150,520150,513650,86000,-110000,-25000,88750,88750
1#AC2_5_2_6,73,24,13,1,433700,543750,550250,550250,543750,86000,-110000,-25000,88750,88750
1#AC2_5_2_7,72,24,13,1,433700,573850,580350,580350,573850,86000,-110000,-25000,88750,88750
1#AC2_5_2_8,71,24,13,1,433700,603950,610450,610450,603950,86000,-110000,-25000,88750,88750
1#AC2_5_2_9,70,24,13,1,433700,634050,640550,640550,634050,86000,-110000,-25000,88750,88750
1#AC2_5_2_10,69,24,13,1,433700,664150,670650,670650,664150,86000,-110000,-25000,88750,88750
1#AC2_5_2_11,68,24,13,1,433700,694250,700750,700750,694250,86000,-110000,-25000,88750,88750
1#AC2_5_2_12,67,24,13,1,433700,724350,730850,730850,724350,86000,-110000,-25000,88750,88750
1#AC2_5_2_13,66,24,13,1,433700,754450,760950,760950,754450,86000,-110000,-25000,88750,88750
1#AC2_5_3_1,65,24,13,1,433900,784500,791500,791500,784500,86000,-110000,-25000,88750,88750
1#AC2_5_3_2,64,24,13,1,433950,814750,821750,821750,814750,86000,-110000,-25000,88750,88750
1#AC2_5_3_3,63,24,13,1,434000,845000,852000,852000,845000,86000,-110000,-25000,88750,88750
1#AC2_5_3_4,62,24,13,1,434050,875250,882250,882250,875250,86000,-110000,-25000,88750,88750
1#AC2_5_3_5,61,24,13,1,434100,905500,912500,912500,905500,86000,-110000,-25000,88750,88750
1#AC2_5_3_6,60,24,13,1,434150,935750,942750,942750,935750,86000,-110000,-25000,88750,88750
1#AC2_5_3_7,59,24,13,1,434200,966000,973000,973000,966000,86000,-110000,-25000,88750,88750
1#AC2_5_3_8,58,24,13,1,434250,996250,1003250,1003250,996250,86000,-110000,-25000,88750,88750
1#AC2_5_3_9,57,24,13,1,434300,1026500,1033500,1033500,1026500,86000,-110000,-25000,88750,88750
1#AC2_5_3_10,56,24,13,1,434350,1056750,1063750,1063750,1056750,86000,-110000,-25000,88750,88750
1#AC2_5_3_11,55,24,13,1,434400,1087000,1094000,1094000,1087000,86000,-110000,-25000,88750,88750
1#AC2_5_3_12,54,24,13,1,434450,1117250,1124250,1124250,1117250,86000,-110000,-25000,88750,88750
1#AC2_5_3_13,53,24,13,1,434500,1147500,1154500,1154500,1147500,86000,-110000,-25000,88750,88750
1#AC2_6_1_1,52,24,13,1,362000,0,6500,6500,0,86000,-110000,-25000,88750,88750
1#AC2_6_1_2,51,24,13,1,361970,30250,36750,36750,30250,86000,-110000,-25000,88750,88750
1#AC2_6_1_3,50,24,13,1,361940,60500,67000,67000,60500,86000,-110000,-25000,88750,88750
1#AC2_6_1_4,49,24,13,1,361910,90750,97250,97250,90750,86000,-110000,-25000,88750,88750
1#AC2_6_1_5,48,24,13,1,361880,121000,127500,127500,121000,86000,-110000,-25000,88750,88750
1#AC2_6_1_6,47,24,13,1,361850,151250,157750,157750,151250,86000,-110000,-25000,88750,88750
1#AC2_6_1_7,46,24,13,1,361820,181500,188000,188000,181500,86000,-110000,-25000,88750,88750
1#AC2_6_1_8,45,24,13,1,361790,211750,218250,218250,211750,86000,-110000,-25000,88750,88750
1#AC2_6_1_9,44,24,13,1,361760,242000,248500,248500,242000,86000,-110000,-25000,88750,88750
1#AC2_6_1_10,43,24,13,1,361730,272250,278750,278750,272250,86000,-110000,-25000,88750,88750
1#AC2_6_1_11,42,24,13,1,361700,302500,309000,309000,302500,86000,-110000,-25000,88750,88750
1#AC2_6_1_12,41,24,13,1,361670,332750,339250,339250,332750,86000,-110000,-25000,88750,88750
1#AC2_6_1_13,40,24,13,1,361640,363000,369500,369500,363000,86000,-110000,-25000,88750,88750
1#AC2_6_2_1,39,24,13,1,362000,393250,399750,399750,393250,86000,-110000,-25000,88750,88750
1#AC2_6_2_2,38,24,13,1,362000,423350,429850,429850,423350,86000,-110000,-25000,88750,88750
1#AC2_6_2_3,37,24,13,1,362000,453450,459950,459950,453450,86000,-110000,-25000,88750,88750
1#AC2_6_2_4,36,24,13,1,362000,483550,490050,490050,483550,86000,-110000,-25000,88750,88750
1#AC2_6_2_5,35,24,13,1,362000,513650,520150,520150,513650,86000,-110000,-25000,88750,88750
1#AC2_6_2_6,34,24,13,1,362000,543750,550250,550250,543750,86000,-110000,-25000,88750,88750
1#AC2_6_2_7,33,24,13,1,362000,573850,580350,580350,573850,86000,-110000,-25000,88750,88750
1#AC2_6_2_8,32,24,13,1,362000,603950,610450,610450,603950,86000,-110000,-25000,88750,88750
1#AC2_6_2_9,31,24,13,1,362000,634050,640550,640550,634050,86000,-110000,-25000,88750,88750
1#AC2_6_2_10,30,24,13,1,362000,664150,670650,670650,664150,86000,-110000,-25000,88750,88750
1#AC2_6_2_11,29,24,13,1,362000,694250,700750,700750,694250,86000,-110000,-25000,88750,88750
1#AC2_6_2_12,28,24,13,1,362000,724350,730850,730850,724350,86000,-110000,-25000,88750,88750
1#AC2_6_2_13,27,24,13,1,362000,754450,760950,760950,754450,86000,-110000,-25000,88750,88750
1#AC2_6_3_1,26,24,13,1,362000,784500,791500,791500,784500,86000,-110000,-25000,88750,88750
1#AC2_6_3_2,25,24,13,1,362050,814750,821750,821750,814750,86000,-110000,-25000,88750,88750
1#AC2_6_3_3,24,24,13,1,362100,845000,852000,852000,845000,86000,-110000,-25000,88750,88750
1#AC2_6_3_4,23,24,13,1,362150,875250,882250,882250,875250,86000,-110000,-25000,88750,88750
1#AC2_6_3_5,22,24,13,1,362200,905500,912500,912500,905500,86000,-110000,-25000,88750,88750
1#AC2_6_3_6,21,24,13,1,362250,935750,942750,942750,935750,86000,-110000,-25000,88750,88750
1#AC2_6_3_7,20,24,13,1,362300,966000,973000,973000,966000,86000,-110000,-25000,88750,88750
1#AC2_6_3_8,19,24,13,1,362350,996250,1003250,1003250,996250,86000,-110000,-25000,88750,88750
1#AC2_6_3_9,18,24,13,1,362400,1026500,1033500,1033500,1026500,86000,-110000,-25000,88750,88750
1#AC2_6_3_10,17,24,13,1,362450,1056750,1063750,1063750,1056750,86000,-110000,-25000,88750,88750
1#AC2_6_3_11,16,24,13,1,362500,1087000,1094000,1094000,1087000,86000,-110000,-25000,88750,88750
1#AC2_6_3_12,15,24,13,1,362550,1117250,1124250,1124250,1117250,86000,-110000,-25000,88750,88750
1#AC2_6_3_13,14,24,13,1,362600,1147500,1154500,1154500,1147500,86000,-110000,-25000,88750,88750
1#AC2_0_1_1,1,24,13,1,218800,781000,793000,793000,781000,86000,-125000,-30000,90000,88000
1#AC2_0_1_2,2,24,13,1,218800,810000,822000,822000,810000,86000,-125000,-30000,90000,88000
1#AC2_0_1_3,3,24,13,1,218800,840500,852500,852500,840500,86000,-125000,-30000,90000,88000
1#AC2_0_1_4,4,24,13,1,218800,871000,883000,883000,871000,86000,-125000,-30000,90000,88000
1#AC2_0_1_5,5,24,13,1,218800,900000,912000,912000,900000,86000,-125000,-30000,90000,88000
1#AC2_0_1_6,6,24,13,1,218800,931000,943000,943000,931000,86000,-125000,-30000,90000,88000
1#AC2_0_1_7,7,24,13,1,218800,960000,972000,972000,960000,86000,-125000,-30000,90000,88000
1#AC2_0_1_8,8,24,13,1,218800,990000,1002000,1002000,990000,86000,-125000,-30000,90000,88000
1#AC2_0_1_9,9,24,13,1,218800,1020000,1032000,1032000,1020000,86000,-125000,-30000,90000,88000
1#AC2_0_1_10,10,24,13,1,218800,1051000,1063000,1063000,1051000,86000,-125000,-30000,90000,88000
1#AC2_0_1_11,11,24,13,1,218800,1081000,1093000,1093000,1081000,86000,-125000,-30000,90000,88000
1#AC2_0_1_12,12,24,13,1,218800,1110000,1122000,1122000,1110000,86000,-125000,-30000,90000,88000
1#AC2_0_1_13,13,24,13,1,218800,1141000,1153000,1153000,1141000,86000,-125000,-30000,90000,88000
1#AC2_1_1_1,,24,13,1,146700,0,12000,12000,0,86000,-125000,-30000,90000,88000
1#AC2_1_1_2,,24,13,1,146700,30000,42000,42000,30000,86000,-125000,-30000,90000,88000
1#AC2_1_1_3,,24,13,1,146700,59000,71000,71000,59000,86000,-125000,-30000,90000,88000
1#AC2_1_1_4,,24,13,1,146700,89000,101000,101000,89000,86000,-125000,-30000,90000,88000
1#AC2_1_1_5,,24,13,1,146700,120000,132000,132000,120000,86000,-125000,-30000,90000,88000
1#AC2_1_1_6,,24,13,1,146700,150000,162000,162000,150000,86000,-125000,-30000,90000,88000
1#AC2_1_1_7,,24,13,1,146700,180000,192000,192000,180000,86000,-125000,-30000,90000,88000
1#AC2_1_1_8,,24,13,1,146700,210000,222000,222000,210000,86000,-125000,-30000,90000,88000
1#AC2_1_1_9,,24,13,1,146700,240000,252000,252000,240000,86000,-125000,-30000,90000,88000
1#AC2_1_1_10,,24,13,1,146700,270000,282000,282000,270000,86000,-125000,-30000,90000,88000
1#AC2_1_1_11,,24,13,1,146700,299000,311000,311000,299000,86000,-125000,-30000,90000,88000
1#AC2_1_1_12,,24,13,1,146700,329000,341000,341000,329000,86000,-125000,-30000,90000,88000
1#AC2_1_1_13,,24,13,1,146700,360000,372000,372000,360000,86000,-125000,-30000,90000,88000
1#AC2_1_2_1,,24,13,1,146700,392000,404000,404000,392000,86000,-125000,-30000,90000,88000
1#AC2_1_2_2,,24,13,1,146700,420000,432000,432000,420000,86000,-125000,-30000,90000,88000
1#AC2_1_2_3,,24,13,1,146700,451500,463500,463500,451500,86000,-125000,-30000,90000,88000
1#AC2_1_2_4,,24,13,1,146700,482000,494000,494000,482000,86000,-125000,-30000,90000,88000
1#AC2_1_2_5,,24,13,1,146700,511000,523000,523000,511000,86000,-125000,-30000,90000,88000
1#AC2_1_2_6,,24,13,1,146700,542000,554000,554000,542000,86000,-125000,-30000,90000,88000
1#AC2_1_2_7,,24,13,1,146700,571000,583000,583000,571000,86000,-125000,-30000,90000,88000
1#AC2_1_2_8,,24,13,1,146700,601000,613000,613000,601000,86000,-125000,-30000,90000,88000
1#AC2_1_2_9,,24,13,1,146700,631000,643000,643000,631000,86000,-125000,-30000,90000,88000
1#AC2_1_2_10,,24,13,1,146700,662000,674000,674000,662000,86000,-125000,-30000,90000,88000
1#AC2_1_2_11,,24,13,1,146700,692000,704000,704000,692000,86000,-125000,-30000,90000,88000
1#AC2_1_2_12,,24,13,1,146700,721000,733000,733000,721000,86000,-125000,-30000,90000,88000
1#AC2_1_2_13,,24,13,1,146700,752000,764000,764000,752000,86000,-125000,-30000,90000,88000
1#AC2_1_3_1,,24,13,1,146700,781000,793000,793000,781000,86000,-125000,-30000,90000,88000
1#AC2_1_3_2,,24,13,1,146700,810000,822000,822000,810000,86000,-125000,-30000,90000,88000
1#AC2_1_3_3,,24,13,1,146700,840500,852500,852500,840500,86000,-125000,-30000,90000,88000
1#AC2_1_3_4,,24,13,1,146700,871000,883000,883000,871000,86000,-125000,-30000,90000,88000
1#AC2_1_3_5,,24,13,1,146700,900000,912000,912000,900000,86000,-125000,-30000,90000,88000
1#AC2_1_3_6,,24,13,1,146700,931000,943000,943000,931000,86000,-125000,-30000,90000,88000
1#AC2_1_3_7,,24,13,1,146700,960000,972000,972000,960000,86000,-125000,-30000,90000,88000
1#AC2_1_3_8,,24,13,1,146700,990000,1002000,1002000,990000,86000,-125000,-30000,90000,88000
1#AC2_1_3_9,,24,13,1,146700,1020000,1032000,1032000,1020000,86000,-125000,-30000,90000,88000
1#AC2_1_3_10,,24,13,1,146700,1051000,1063000,1063000,1051000,86000,-125000,-30000,90000,88000
1#AC2_1_3_11,,24,13,1,146700,1081000,1093000,1093000,1081000,86000,-125000,-30000,90000,88000
1#AC2_1_3_12,,24,13,1,146700,1110000,1122000,1122000,1110000,86000,-125000,-30000,90000,88000
1#AC2_1_3_13,,24,13,1,146700,1141000,1153000,1153000,1141000,86000,-125000,-30000,90000,88000
1#AC2_2_1_1,14,24,13,1,75400,0,12000,12000,0,86000,-125000,-30000,90000,88000
1#AC2_2_1_2,15,24,13,1,75400,30000,42000,42000,30000,86000,-125000,-30000,90000,88000
1#AC2_2_1_3,16,24,13,1,75400,59000,71000,71000,59000,86000,-125000,-30000,90000,88000
1#AC2_2_1_4,17,24,13,1,75400,89000,101000,101000,89000,86000,-125000,-30000,90000,88000
1#AC2_2_1_5,18,24,13,1,75400,120000,132000,132000,120000,86000,-125000,-30000,90000,88000
1#AC2_2_1_6,19,24,13,1,75400,150000,162000,162000,150000,86000,-125000,-30000,90000,88000
1#AC2_2_1_7,20,24,13,1,75300,180000,192000,192000,180000,86000,-125000,-30000,90000,88000
1#AC2_2_1_8,21,24,13,1,75300,210000,222000,222000,210000,86000,-125000,-30000,90000,88000
1#AC2_2_1_9,22,24,13,1,75200,240000,252000,252000,240000,86000,-125000,-30000,90000,88000
1#AC2_2_1_10,23,24,13,1,75200,270000,282000,282000,270000,86000,-125000,-30000,90000,88000
1#AC2_2_1_11,24,24,13,1,75000,299000,311000,311000,299000,86000,-125000,-30000,90000,88000
1#AC2_2_1_12,25,24,13,1,75000,329000,341000,341000,329000,86000,-125000,-30000,90000,88000
1#AC2_2_1_13,26,24,13,1,75000,360000,372000,372000,360000,86000,-125000,-30000,90000,88000
1#AC2_2_2_1,27,24,13,1,74700,392000,404000,404000,392000,86000,-125000,-30000,90000,88000
1#AC2_2_2_2,28,24,13,1,74700,420000,432000,432000,420000,86000,-125000,-30000,90000,88000
1#AC2_2_2_3,29,24,13,1,74700,451500,463500,463500,451500,86000,-125000,-30000,90000,88000
1#AC2_2_2_4,30,24,13,1,74700,482000,494000,494000,482000,86000,-125000,-30000,90000,88000
1#AC2_2_2_5,31,24,13,1,74700,511000,523000,523000,511000,86000,-125000,-30000,90000,88000
1#AC2_2_2_6,32,24,13,1,74700,542000,554000,554000,542000,86000,-125000,-30000,90000,88000
1#AC2_2_2_7,33,24,13,1,74700,571000,583000,583000,571000,86000,-125000,-30000,90000,88000
1#AC2_2_2_8,34,24,13,1,74700,601000,613000,613000,601000,86000,-125000,-30000,90000,88000
1#AC2_2_2_9,35,24,13,1,74500,631000,643000,643000,631000,86000,-125000,-30000,90000,88000
1#AC2_2_2_10,36,24,13,1,74500,662000,674000,674000,662000,86000,-125000,-30000,90000,88000
1#AC2_2_2_11,37,24,13,1,74500,692000,704000,704000,692000,86000,-125000,-30000,90000,88000
1#AC2_2_2_12,38,24,13,1,74500,721000,733000,733000,721000,86000,-125000,-30000,90000,88000
1#AC2_2_2_13,39,24,13,1,74500,752000,764000,764000,752000,86000,-125000,-30000,90000,88000
1#AC2_2_3_1,40,24,13,1,74700,781000,793000,793000,781000,86000,-125000,-30000,90000,88000
1#AC2_2_3_2,41,24,13,1,74700,810000,822000,822000,810000,86000,-125000,-30000,90000,88000
1#AC2_2_3_3,42,24,13,1,74700,840500,852500,852500,840500,86000,-125000,-30000,90000,88000
1#AC2_2_3_4,43,24,13,1,74700,871000,883000,883000,871000,86000,-125000,-30000,90000,88000
1#AC2_2_3_5,44,24,13,1,74700,900000,912000,912000,900000,86000,-125000,-30000,90000,88000
1#AC2_2_3_6,45,24,13,1,74700,931000,943000,943000,931000,86000,-125000,-30000,90000,88000
1#AC2_2_3_7,46,24,13,1,74700,960000,972000,972000,960000,86000,-125000,-30000,90000,88000
1#AC2_2_3_8,47,24,13,1,74700,990000,1002000,1002000,990000,86000,-125000,-30000,90000,88000
1#AC2_2_3_9,48,24,13,1,74700,1020000,1032000,1032000,1020000,86000,-125000,-30000,90000,88000
1#AC2_2_3_10,49,24,13,1,74700,1051000,1063000,1063000,1051000,86000,-125000,-30000,90000,88000
1#AC2_2_3_11,50,24,13,1,74700,1081000,1093000,1093000,1081000,86000,-125000,-30000,90000,88000
1#AC2_2_3_12,51,24,13,1,74700,1110000,1122000,1122000,1110000,86000,-125000,-30000,90000,88000
1#AC2_2_3_13,52,24,13,1,74700,1141000,1153000,1153000,1141000,86000,-125000,-30000,90000,88000
1#AC2_3_1_1,53,24,13,1,3600,0,12000,12000,0,86000,-125000,-30000,90000,88000
1#AC2_3_1_2,54,24,13,1,3600,30000,42000,42000,30000,86000,-125000,-30000,90000,88000
1#AC2_3_1_3,55,24,13,1,3600,59000,71000,71000,59000,86000,-125000,-30000,90000,88000
1#AC2_3_1_4,56,24,13,1,3600,89000,101000,101000,89000,86000,-125000,-30000,90000,88000
1#AC2_3_1_5,57,24,13,1,3500,120000,132000,132000,120000,86000,-125000,-30000,90000,88000
1#AC2_3_1_6,58,24,13,1,3500,150000,162000,162000,150000,86000,-125000,-30000,90000,88000
1#AC2_3_1_7,59,24,13,1,3500,180000,192000,192000,180000,86000,-125000,-30000,90000,88000
1#AC2_3_1_8,60,24,13,1,3500,210000,222000,222000,210000,86000,-125000,-30000,90000,88000
1#AC2_3_1_9,61,24,13,1,3500,240000,252000,252000,240000,86000,-125000,-30000,90000,88000
1#AC2_3_1_10,62,24,13,1,3500,270000,282000,282000,270000,86000,-125000,-30000,90000,88000
1#AC2_3_1_11,63,24,13,1,3500,299000,311000,311000,299000,86000,-125000,-30000,90000,88000
1#AC2_3_1_12,64,24,13,1,3500,329000,341000,341000,329000,86000,-125000,-30000,90000,88000
1#AC2_3_1_13,65,24,13,1,3500,360000,372000,372000,360000,86000,-125000,-30000,90000,88000
1#AC2_3_2_1,66,24,13,1,3200,392000,404000,404000,392000,86000,-125000,-30000,90000,88000
1#AC2_3_2_2,67,24,13,1,3200,420000,432000,432000,420000,86000,-125000,-30000,90000,88000
1#AC2_3_2_3,68,24,13,1,3200,451500,463500,463500,451500,86000,-125000,-30000,90000,88000
1#AC2_3_2_4,69,24,13,1,3200,482000,494000,494000,482000,86000,-125000,-30000,90000,88000
1#AC2_3_2_5,70,24,13,1,3200,511000,523000,523000,511000,86000,-125000,-30000,90000,88000
1#AC2_3_2_6,71,24,13,1,3200,542000,554000,554000,542000,86000,-125000,-30000,90000,88000
1#AC2_3_2_7,72,24,13,1,3200,571000,583000,583000,571000,86000,-125000,-30000,90000,88000
1#AC2_3_2_8,73,24,13,1,3200,601000,613000,613000,601000,86000,-125000,-30000,90000,88000
1#AC2_3_2_9,74,24,13,1,3200,631000,643000,643000,631000,86000,-125000,-30000,90000,88000
1#AC2_3_2_10,75,24,13,1,3200,662000,674000,674000,662000,86000,-125000,-30000,90000,88000
1#AC2_3_2_11,76,24,13,1,3200,692000,704000,704000,692000,86000,-125000,-30000,90000,88000
1#AC2_3_2_12,77,24,13,1,3200,721000,733000,733000,721000,86000,-125000,-30000,90000,88000
1#AC2_3_2_13,78,24,13,1,3200,752000,764000,764000,752000,86000,-125000,-30000,90000,88000
1#AC2_3_3_1,79,24,13,1,2800,781000,793000,793000,781000,86000,-125000,-30000,90000,88000
1#AC2_3_3_2,80,24,13,1,2800,810000,822000,822000,810000,86000,-125000,-30000,90000,88000
1#AC2_3_3_3,81,24,13,1,2800,840500,852500,852500,840500,86000,-125000,-30000,90000,88000
1#AC2_3_3_4,82,24,13,1,2800,871000,883000,883000,871000,86000,-125000,-30000,90000,88000
1#AC2_3_3_5,83,24,13,1,2800,900000,912000,912000,900000,86000,-125000,-30000,90000,88000
1#AC2_3_3_6,84,24,13,1,2800,931000,943000,943000,931000,86000,-125000,-30000,90000,88000
1#AC2_3_3_7,85,24,13,1,2800,960000,972000,972000,960000,86000,-125000,-30000,90000,88000
1#AC2_3_3_8,86,24,13,1,2800,990000,1002000,1002000,990000,86000,-125000,-30000,90000,88000
1#AC2_3_3_9,87,24,13,1,2800,1020000,1032000,1032000,1020000,86000,-125000,-30000,90000,88000
1#AC2_3_3_10,88,24,13,1,2800,1051000,1063000,1063000,1051000,86000,-125000,-30000,90000,88000
1#AC2_3_3_11,89,24,13,1,2800,1081000,1093000,1093000,1081000,86000,-125000,-30000,90000,88000
1#AC2_3_3_12,90,24,13,1,2800,1110000,1122000,1122000,1110000,86000,-125000,-30000,90000,88000
1#AC2_3_3_13,,24,13,1,2800,1141000,1153000,1153000,1141000,86000,-125000,-30000,90000,88000
1#AC2_4_1_1,92,24,13,1,507800,0,12000,12000,0,86000,-125000,-30000,90000,88000
1#AC2_4_1_2,93,24,13,1,507800,30000,42000,42000,30000,86000,-125000,-30000,90000,88000
1#AC2_4_1_3,94,24,13,1,507700,59000,71000,71000,59000,86000,-125000,-30000,90000,88000
1#AC2_4_1_4,95,24,13,1,507600,89000,101000,101000,89000,86000,-125000,-30000,90000,88000
1#AC2_4_1_5,96,24,13,1,507500,120000,132000,132000,120000,86000,-125000,-30000,90000,88000
1#AC2_4_1_6,97,24,13,1,507500,150000,162000,162000,150000,86000,-125000,-30000,90000,88000
1#AC2_4_1_7,98,24,13,1,507500,180000,192000,192000,180000,86000,-125000,-30000,90000,88000
1#AC2_4_1_8,99,24,13,1,507500,210000,222000,222000,210000,86000,-125000,-30000,90000,88000
1#AC2_4_1_9,100,24,13,1,507500,240000,252000,252000,240000,86000,-125000,-30000,90000,88000
1#AC2_4_1_10,101,24,13,1,507300,270000,282000,282000,270000,86000,-125000,-30000,90000,88000
1#AC2_4_1_11,102,24,13,1,507300,299000,311000,311000,299000,86000,-125000,-30000,90000,88000
1#AC2_4_1_12,103,24,13,1,507300,329000,341000,341000,329000,86000,-125000,-30000,90000,88000
1#AC2_4_1_13,104,24,13,1,507300,360000,372000,372000,360000,86000,-125000,-30000,90000,88000
1#AC2_4_2_1,,24,13,1,507300,392000,404000,404000,392000,86000,-125000,-30000,90000,88000
1#AC2_4_2_2,,24,13,1,507300,420000,432000,432000,420000,86000,-125000,-30000,90000,88000
1#AC2_4_2_3,,24,13,1,507300,451500,463500,463500,451500,86000,-125000,-30000,90000,88000
1#AC2_4_2_4,,24,13,1,507300,482000,494000,494000,482000,86000,-125000,-30000,90000,88000
1#AC2_4_2_5,,24,13,1,507300,511000,523000,523000,511000,86000,-125000,-30000,90000,88000
1#AC2_4_2_6,,24,13,1,507300,542000,554000,554000,542000,86000,-125000,-30000,90000,88000
1#AC2_4_2_7,,24,13,1,507300,571000,583000,583000,571000,86000,-125000,-30000,90000,88000
1#AC2_4_2_8,,24,13,1,507300,601000,613000,613000,601000,86000,-125000,-30000,90000,88000
1#AC2_4_2_9,,24,13,1,507300,631000,643000,643000,631000,86000,-125000,-30000,90000,88000
1#AC2_4_2_10,,24,13,1,507300,662000,674000,674000,662000,86000,-125000,-30000,90000,88000
1#AC2_4_2_11,,24,13,1,507300,692000,704000,704000,692000,86000,-125000,-30000,90000,88000
1#AC2_4_2_12,,24,13,1,507300,721000,733000,733000,721000,86000,-125000,-30000,90000,88000
1#AC2_4_2_13,,24,13,1,507300,752000,764000,764000,752000,86000,-125000,-30000,90000,88000
1#AC2_4_3_1,105,24,13,1,507100,781000,793000,793000,781000,86000,-125000,-30000,90000,88000
1#AC2_4_3_2,106,24,13,1,507100,810000,822000,822000,810000,86000,-125000,-30000,90000,88000
1#AC2_4_3_3,107,24,13,1,507100,840500,852500,852500,840500,86000,-125000,-30000,90000,88000
1#AC2_4_3_4,108,24,13,1,507100,871000,883000,883000,871000,86000,-125000,-30000,90000,88000
1#AC2_4_3_5,109,24,13,1,506900,900000,912000,912000,900000,86000,-125000,-30000,90000,88000
1#AC2_4_3_6,110,24,13,1,506900,931000,943000,943000,931000,86000,-125000,-30000,90000,88000
1#AC2_4_3_7,111,24,13,1,506900,960000,972000,972000,960000,86000,-125000,-30000,90000,88000
1#AC2_4_3_8,112,24,13,1,506800,990000,1002000,1002000,990000,86000,-125000,-30000,90000,88000
1#AC2_4_3_9,113,24,13,1,506800,1020000,1032000,1032000,1020000,86000,-125000,-30000,90000,88000
1#AC2_4_3_10,114,24,13,1,506800,1051000,1063000,1063000,1051000,86000,-125000,-30000,90000,88000
1#AC2_4_3_11,115,24,13,1,506800,1081000,1093000,1093000,1081000,86000,-125000,-30000,90000,88000
1#AC2_4_3_12,116,24,13,1,506800,1110000,1122000,1122000,1110000,86000,-125000,-30000,90000,88000
1#AC2_4_3_13,117,24,13,1,506800,1141000,1153000,1153000,1141000,86000,-125000,-30000,90000,88000
1#AC2_5_1_1,,24,13,1,435500,0,12000,12000,0,86000,-125000,-30000,90000,88000
1#AC2_5_1_2,,24,13,1,435500,30000,42000,42000,30000,86000,-125000,-30000,90000,88000
1#AC2_5_1_3,,24,13,1,435500,59000,71000,71000,59000,86000,-125000,-30000,90000,88000
1#AC2_5_1_4,,24,13,1,435500,89000,101000,101000,89000,86000,-125000,-30000,90000,88000
1#AC2_5_1_5,,24,13,1,435500,120000,132000,132000,120000,86000,-125000,-30000,90000,88000
1#AC2_5_1_6,,24,13,1,435500,150000,162000,162000,150000,86000,-125000,-30000,90000,88000
1#AC2_5_1_7,,24,13,1,435500,180000,192000,192000,180000,86000,-125000,-30000,90000,88000
1#AC2_5_1_8,,24,13,1,435500,210000,222000,222000,210000,86000,-125000,-30000,90000,88000
1#AC2_5_1_9,,24,13,1,435500,240000,252000,252000,240000,86000,-125000,-30000,90000,88000
1#AC2_5_1_10,,24,13,1,435500,270000,282000,282000,270000,86000,-125000,-30000,90000,88000
1#AC2_5_1_11,,24,13,1,435500,299000,311000,311000,299000,86000,-125000,-30000,90000,88000
1#AC2_5_1_12,,24,13,1,435500,329000,341000,341000,329000,86000,-125000,-30000,90000,88000
1#AC2_5_1_13,,24,13,1,435500,360000,372000,372000,360000,86000,-125000,-30000,90000,88000
1#AC2_5_2_1,118,24,13,1,435400,389000,401000,401000,389000,86000,-125000,-30000,90000,88000
1#AC2_5_2_2,119,24,13,1,435400,420000,432000,432000,420000,86000,-125000,-30000,90000,88000
1#AC2_5_2_3,120,24,13,1,435200,451500,463500,463500,451500,86000,-125000,-30000,90000,88000
1#AC2_5_2_4,121,24,13,1,435200,482000,494000,494000,482000,86000,-125000,-30000,90000,88000
1#AC2_5_2_5,122,24,13,1,435000,511000,523000,523000,511000,86000,-125000,-30000,90000,88000
1#AC2_5_2_6,123,24,13,1,435000,542000,554000,554000,542000,86000,-125000,-30000,90000,88000
1#AC2_5_2_7,124,24,13,1,434900,571000,583000,583000,571000,86000,-125000,-30000,90000,88000
1#AC2_5_2_8,125,24,13,1,434900,601000,613000,613000,601000,86000,-125000,-30000,90000,88000
1#AC2_5_2_9,126,24,13,1,434900,631000,643000,643000,631000,86000,-125000,-30000,90000,88000
1#AC2_5_2_10,127,24,13,1,434900,662000,674000,674000,662000,86000,-125000,-30000,90000,88000
1#AC2_5_2_11,128,24,13,1,434900,692000,704000,704000,692000,86000,-125000,-30000,90000,88000
1#AC2_5_2_12,129,24,13,1,434900,721000,733000,733000,721000,86000,-125000,-30000,90000,88000
1#AC2_5_2_13,130,24,13,1,434900,752000,764000,764000,752000,86000,-125000,-30000,90000,88000
1#AC2_5_3_1,131,24,13,1,434900,781000,793000,793000,781000,86000,-125000,-30000,90000,88000
1#AC2_5_3_2,132,24,13,1,434900,810000,822000,822000,810000,86000,-125000,-30000,90000,88000
1#AC2_5_3_3,133,24,13,1,434900,840500,852500,852500,840500,86000,-125000,-30000,90000,88000
1#AC2_5_3_4,134,24,13,1,434900,871000,883000,883000,871000,86000,-125000,-30000,90000,88000
1#AC2_5_3_5,135,24,13,1,434700,900000,912000,912000,900000,86000,-125000,-30000,90000,88000
1#AC2_5_3_6,136,24,13,1,434700,931000,943000,943000,931000,86000,-125000,-30000,90000,88000
1#AC2_5_3_7,137,24,13,1,434700,960000,972000,972000,960000,86000,-125000,-30000,90000,88000
1#AC2_5_3_8,138,24,13,1,434700,990000,1002000,1002000,990000,86000,-125000,-30000,90000,88000
1#AC2_5_3_9,139,24,13,1,434700,1020000,1032000,1032000,1020000,86000,-125000,-30000,90000,88000
1#AC2_5_3_10,140,24,13,1,434600,1051000,1063000,1063000,1051000,86000,-125000,-30000,90000,88000
1#AC2_5_3_11,141,24,13,1,434600,1081000,1093000,1093000,1081000,86000,-125000,-30000,90000,88000
1#AC2_5_3_12,142,24,13,1,434600,1110000,1122000,1122000,1110000,86000,-125000,-30000,90000,88000
1#AC2_5_3_13,143,24,13,1,434600,1141000,1153000,1153000,1141000,86000,-125000,-30000,90000,88000
1#AC2_6_1_1,144,24,13,1,363600,0,12000,12000,0,86000,-125000,-30000,90000,88000
1#AC2_6_1_2,145,24,13,1,363700,30000,42000,42000,30000,86000,-125000,-30000,90000,88000
1#AC2_6_1_3,146,24,13,1,363800,59000,71000,71000,59000,86000,-125000,-30000,90000,88000
1#AC2_6_1_4,147,24,13,1,363800,89000,101000,101000,89000,86000,-125000,-30000,90000,88000
1#AC2_6_1_5,148,24,13,1,363300,120000,132000,132000,120000,86000,-125000,-30000,90000,88000
1#AC2_6_1_6,149,24,13,1,363300,150000,162000,162000,150000,86000,-125000,-30000,90000,88000
1#AC2_6_1_7,150,24,13,1,363300,180000,192000,192000,180000,86000,-125000,-30000,90000,88000
1#AC2_6_1_8,151,24,13,1,363300,210000,222000,222000,210000,86000,-125000,-30000,90000,88000
1#AC2_6_1_9,152,24,13,1,363300,240000,252000,252000,240000,86000,-125000,-30000,90000,88000
1#AC2_6_1_10,153,24,13,1,363300,270000,282000,282000,270000,86000,-125000,-30000,90000,88000
1#AC2_6_1_11,154,24,13,1,363300,299000,311000,311000,299000,86000,-125000,-30000,90000,88000
1#AC2_6_1_12,155,24,13,1,363300,329000,341000,341000,329000,86000,-125000,-30000,90000,88000
1#AC2_6_1_13,156,24,13,1,363300,360000,372000,372000,360000,86000,-125000,-30000,90000,88000
1#AC2_6_2_1,157,24,13,1,363000,392000,404000,404000,392000,86000,-125000,-30000,90000,88000
1#AC2_6_2_2,158,24,13,1,363000,420000,432000,432000,420000,86000,-125000,-30000,90000,88000
1#AC2_6_2_3,159,24,13,1,363000,451500,463500,463500,451500,86000,-125000,-30000,90000,88000
1#AC2_6_2_4,160,24,13,1,363000,482000,494000,494000,482000,86000,-125000,-30000,90000,88000
1#AC2_6_2_5,161,24,13,1,363000,511000,523000,523000,511000,86000,-125000,-30000,90000,88000
1#AC2_6_2_6,162,24,13,1,363000,542000,554000,554000,542000,86000,-125000,-30000,90000,88000
1#AC2_6_2_7,163,24,13,1,363000,571000,583000,583000,571000,86000,-125000,-30000,90000,88000
1#AC2_6_2_8,164,24,13,1,363000,601000,613000,613000,601000,86000,-125000,-30000,90000,88000
1#AC2_6_2_9,165,24,13,1,363000,631000,643000,643000,631000,86000,-125000,-30000,90000,88000
1#AC2_6_2_10,166,24,13,1,363000,662000,674000,674000,662000,86000,-125000,-30000,90000,88000
1#AC2_6_2_11,167,24,13,1,363000,692000,704000,704000,692000,86000,-125000,-30000,90000,88000
1#AC2_6_2_12,168,24,13,1,363000,721000,733000,733000,721000,86000,-125000,-30000,90000,88000
1#AC2_6_2_13,169,24,13,1,363000,752000,764000,764000,752000,86000,-125000,-30000,90000,88000
1#AC2_6_3_1,170,24,13,1,362700,781000,793000,793000,781000,86000,-125000,-30000,90000,88000
1#AC2_6_3_2,171,24,13,1,362700,810000,822000,822000,810000,86000,-125000,-30000,90000,88000
1#AC2_6_3_3,172,24,13,1,362700,840500,852500,852500,840500,86000,-125000,-30000,90000,88000
1#AC2_6_3_4,173,24,13,1,362700,871000,883000,883000,871000,86000,-125000,-30000,90000,88000
1#AC2_6_3_5,174,24,13,1,362700,900000,912000,912000,900000,86000,-125000,-30000,90000,88000
1#AC2_6_3_6,175,24,13,1,362700,931000,943000,943000,931000,86000,-125000,-30000,90000,88000
1#AC2_6_3_7,176,24,13,1,362700,960000,972000,972000,960000,86000,-125000,-30000,90000,88000
1#AC2_6_3_8,177,24,13,1,362700,990000,1002000,1002000,990000,86000,-125000,-30000,90000,88000
1#AC2_6_3_9,178,24,13,1,362700,1020000,1032000,1032000,1020000,86000,-125000,-30000,90000,88000
1#AC2_6_3_10,179,24,13,1,362700,1051000,1063000,1063000,1051000,86000,-125000,-30000,90000,88000
1#AC2_6_3_11,180,24,13,1,362700,1081000,1093000,1093000,1081000,86000,-125000,-30000,90000,88000
1#AC2_6_3_12,181,24,13,1,362800,1110000,1122000,1122000,1110000,86000,-125000,-30000,90000,88000
1#AC2_6_3_13,180,24,13,1,362800,1141000,1153000,1153000,1141000,86000,-125000,-30000,90000,88000
1#AC2_7_1_1,183,24,13,1,290900,781000,793000,793000,781000,86000,-125000,-30000,90000,88000
1#AC2_7_1_2,184,24,13,1,290900,810000,822000,822000,810000,86000,-125000,-30000,90000,88000
1#AC2_7_1_3,185,24,13,1,290900,840500,852500,852500,840500,86000,-125000,-30000,90000,88000
1#AC2_7_1_4,186,24,13,1,290900,871000,883000,883000,871000,86000,-125000,-30000,90000,88000
1#AC2_7_1_5,187,24,13,1,290900,900000,912000,912000,900000,86000,-125000,-30000,90000,88000
1#AC2_7_1_6,188,24,13,1,290900,931000,943000,943000,931000,86000,-125000,-30000,90000,88000
1#AC2_7_1_7,189,24,13,1,290900,960000,972000,972000,960000,86000,-125000,-30000,90000,88000
1#AC2_7_1_8,190,24,13,1,290900,990000,1002000,1002000,990000,86000,-125000,-30000,90000,88000
1#AC2_7_1_9,191,24,13,1,290900,1020000,1032000,1032000,1020000,86000,-125000,-30000,90000,88000
1#AC2_7_1_10,192,24,13,1,290900,1051000,1063000,1063000,1051000,86000,-125000,-30000,90000,88000
1#AC2_7_1_11,193,24,13,1,290900,1081000,1093000,1093000,1081000,86000,-125000,-30000,90000,88000
1#AC2_7_1_12,194,24,13,1,290900,1110000,1122000,1122000,1110000,86000,-125000,-30000,90000,88000
1#AC2_7_1_13,195,24,13,1,290900,1141000,1153000,1153000,1141000,86000,-125000,-30000,90000,88000
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
查看文件 @
0c4b488
...
...
@@ -866,7 +866,7 @@ namespace OnlineStore.DeviceLibrary
//如果批量能未检测到料盘,需要把批量轴走到能检测到料盘的位置
if
(
IOManager
.
IOValue
(
IO_Type
.
TrayCheck_LoadMaterial
).
Equals
(
IO_VALUE
.
LOW
))
{
StoreMove
.
TimeOutSeconds
=
120
;
StoreMove
.
TimeOutSeconds
=
120
;
//ACAxisMove(Config.Batch_Axis, Config.BatchAxis_P1, Config.BatchAxis_P1_Speed);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitBatchAxisStop
(
Config
.
Batch_Axis
,
Config
.
BatchAxis_P1
,
IO_Type
.
TrayCheck_LoadMaterial
));
BatchAxisController
.
StartCheck
(
IO_Type
.
TrayCheck_LoadMaterial
);
...
...
@@ -874,10 +874,10 @@ namespace OnlineStore.DeviceLibrary
int
speed
=
Config
.
BatchAxis_P1_Speed
;
if
(
AutomaticBaiting
.
BatchOutStoreHeight
>
0
)
{
speed
=
Config
.
BatchAxis_
P1_Speed
/
2
;
speed
=
Config
.
BatchAxis_
SlowSpeed
*
2
;
}
ACServerManager
.
AbsMove
(
Config
.
Batch_Axis
.
DeviceName
,
Config
.
Batch_Axis
.
GetAxisValue
(),
Config
.
BatchAxis_P1
,
speed
);
OutStoreLog
(
"出库:SO_02 批量上下料轴到P1点【"
+
Config
.
BatchAxis_P1
+
"】 "
);
ACServerManager
.
AbsMove
(
Config
.
Batch_Axis
.
DeviceName
,
Config
.
Batch_Axis
.
GetAxisValue
(),
Config
.
BatchAxis_P1
,
speed
);
OutStoreLog
(
"出库:SO_02 批量上下料轴到P1点【"
+
Config
.
BatchAxis_P1
+
"】速度【"
+
speed
+
"】 "
);
}
}
}
...
...
source/DeviceLibrary/acSingleStore/AutomaticBaiting.cs
查看文件 @
0c4b488
...
...
@@ -255,8 +255,9 @@ namespace OnlineStore.DeviceLibrary
if
(
IsNeedStartInout
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
AUTO_R03_AutoAxisHome
);
LogUtil
.
info
(
Name
+
"复位中:检测是否有料盘,批量轴匀速上升【"
+
StoreManager
.
Config
.
Batch_Axis
.
TargetSpeed
+
"】"
);
ACAxisSpeedMove
(
StoreManager
.
Config
.
Batch_Axis
,
StoreManager
.
Config
.
Batch_Axis
.
TargetSpeed
,
IO_Type
.
TrayCheck_LoadMaterial
);
int
speed
=
StoreManager
.
Config
.
BatchAxis_SlowSpeed
*
2
;
LogUtil
.
info
(
Name
+
"复位中:检测是否有料盘,批量轴匀速上升【"
+
speed
+
"】"
);
ACAxisSpeedMove
(
StoreManager
.
Config
.
Batch_Axis
,
speed
,
IO_Type
.
TrayCheck_LoadMaterial
);
}
else
{
...
...
source/DeviceLibrary/acSingleStore/AutomaticBaiting_Partial.cs
查看文件 @
0c4b488
...
...
@@ -91,7 +91,7 @@ namespace OnlineStore.DeviceLibrary
if
(
wait
.
WaitType
==
(
int
)
Wait_Type
.
AxisMove_1
)
{
bool
isAlarm
=
false
;
wait
.
IsEnd
=
AxisMoveISEnd
(
wait
,
ref
isAlarm
);
wait
.
IsEnd
=
AxisMoveISEnd
(
wait
,
ref
isAlarm
);
if
(
isAlarm
)
{
return
;
...
...
@@ -112,14 +112,14 @@ namespace OnlineStore.DeviceLibrary
// break;
//}
//如果是气缸动作,若Do未输出,重新写一遍
if
(!
wait
.
IsEnd
&&
span
.
TotalSeconds
>
1
&&
(
wait
.
IoType
.
Equals
(
IO_Type
.
SuckingDisc_Down
)
||
wait
.
IoType
.
Equals
(
IO_Type
.
SuckingDisc_Up
)))
{
if
(!
wait
.
IsEnd
&&
span
.
TotalSeconds
>
1
&&
(
wait
.
IoType
.
Equals
(
IO_Type
.
SuckingDisc_Down
)
||
wait
.
IoType
.
Equals
(
IO_Type
.
SuckingDisc_Up
)))
{
IO_VALUE
doValue
=
IOManager
.
DOValue
(
wait
.
IoType
);
if
(!
doValue
.
Equals
(
wait
.
IoValue
))
{
LogUtil
.
error
(
"等待["
+
NotOkMsg
+
"],重写DO("
+
wait
.
IoType
+
"="
+
wait
.
IoValue
+
")"
);
IOManager
.
IOMove
(
wait
.
IoType
,
wait
.
IoValue
);
}
}
}
}
else
if
(
wait
.
WaitType
==
(
int
)
Wait_Type
.
Time_3
)
...
...
@@ -134,7 +134,7 @@ namespace OnlineStore.DeviceLibrary
IO_VALUE
value
=
(
IO_VALUE
)
ACServerManager
.
GetHomeSingle
(
wait
.
AxisInfo
.
DeviceName
,
wait
.
AxisInfo
.
GetAxisValue
());
wait
.
IsEnd
=
wait
.
IoValue
.
Equals
(
value
);
}
else
if
(
wait
.
WaitType
==
(
int
)
Wait_Type
.
BatchAxisMove_10
)
{
wait
.
IsEnd
=
BatchAxisIsEnd
(
wait
);
...
...
@@ -146,7 +146,8 @@ namespace OnlineStore.DeviceLibrary
else
if
(
wait
.
WaitType
==
(
int
)
Wait_Type
.
ScanCode_11
)
{
wait
.
IsEnd
=
(
LastCode
.
Equals
(
""
).
Equals
(
false
));
}
else
if
(
wait
.
WaitType
==
(
int
)
Wait_Type
.
StoreRuning_13
)
}
else
if
(
wait
.
WaitType
==
(
int
)
Wait_Type
.
StoreRuning_13
)
{
wait
.
IsEnd
=
(
StoreManager
.
Store
.
storeRunStatus
.
Equals
(
StoreRunStatus
.
Runing
)
&&
StoreManager
.
Store
.
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
None
));
}
...
...
@@ -171,12 +172,39 @@ namespace OnlineStore.DeviceLibrary
{
StoreMove
.
EndStepWait
();
}
else
if
(
span
.
TotalSeconds
>
StoreMove
.
TimeOutSeconds
)
else
if
(
span
.
TotalSeconds
>
StoreMove
.
TimeOutSeconds
)
{
WarnMsg
=
"["
+
StoreMove
.
MoveStep
+
"]"
+
ResourceControl
.
GetString
(
ResourceControl
.
TimeOut
,
"超时"
)
+
" ["
+
NotOkMsg
+
"]["
+
Math
.
Round
(
span
.
TotalSeconds
,
0
)
+
"秒]"
;
LogUtil
.
error
(
WarnMsg
,
102
);
LogUtil
.
error
(
WarnMsg
,
102
);
StoreManager
.
Store
.
Alarm
(
StoreAlarmType
.
BatchIoTimeOut
,
""
,
WarnMsg
,
StoreMove
.
MoveType
);
}
if
(!
isOk
)
{
//重写气缸
foreach
(
WaitResultInfo
wait
in
list
)
{
if
(
wait
.
IsEnd
.
Equals
(
false
)
&&
(
wait
.
WaitType
==
(
int
)
Wait_Type
.
IOMove_2
))
{
if
(!
wait
.
IsEnd
&&
span
.
TotalSeconds
>
1
&&
(
wait
.
IoType
.
Equals
(
IO_Type
.
SuckingDisc_Down
)
||
wait
.
IoType
.
Equals
(
IO_Type
.
SuckingDisc_Up
)))
{
IO_VALUE
doValue
=
IOManager
.
DOValue
(
wait
.
IoType
);
if
(!
doValue
.
Equals
(
wait
.
IoValue
))
{
LogUtil
.
error
(
"等待["
+
wait
.
ToStr
()
+
"],重写DO("
+
wait
.
IoType
+
"="
+
wait
.
IoValue
+
")"
);
IOManager
.
IOMove
(
wait
.
IoType
,
wait
.
IoValue
);
string
ioType
=
wait
.
IoType
.
Equals
(
IO_Type
.
SuckingDisc_Down
)
?
IO_Type
.
SuckingDisc_Up
:
IO_Type
.
SuckingDisc_Down
;
IO_VALUE
ioValue
=
wait
.
IoValue
.
Equals
(
IO_VALUE
.
LOW
)
?
IO_VALUE
.
HIGH
:
IO_VALUE
.
LOW
;
LogUtil
.
error
(
"等待["
+
wait
.
ToStr
()
+
"],重写DO("
+
ioType
+
"="
+
ioValue
+
")"
);
IOManager
.
IOMove
(
ioType
,
ioValue
);
}
}
}
}
}
}
catch
(
Exception
ex
)
{
...
...
@@ -261,20 +289,26 @@ namespace OnlineStore.DeviceLibrary
}
else
{
if
(
AutoBaitingStatus
.
Equals
(
StoreRunStatus
.
Busy
)
&&
StoreMove
.
CanWhileCount
>
0
)
TimeSpan
span
=
DateTime
.
Now
-
AxisResetMoveTime
;
if
(
AutoBaitingStatus
.
Equals
(
StoreRunStatus
.
Busy
)
&&
span
.
TotalSeconds
>
3
)
//if (AutoBaitingStatus.Equals(StoreRunStatus.Busy) && StoreMove.CanWhileCount > 0)
{
AxisResetMoveTime
=
DateTime
.
Now
;
//如果批量轴已经停止运动,重新开始
bool
isEnd
=
ACServerManager
.
GetBusyStatus
(
wait
.
AxisInfo
.
DeviceName
,
wait
.
AxisInfo
.
GetAxisValue
()).
Equals
(
0
);
if
(
isEnd
)
{
//判断是否需要重新运动
StoreMove
.
CanWhileCount
--;
LogUtil
.
error
(
wait
.
ToStr
()
+
"未收到信号且停止运动,重新匀速"
+
StoreManager
.
Config
.
BatchAxis_SlowSpeed
+
"运动,剩余["
+
StoreMove
.
CanWhileCount
+
"]次"
);
StoreMove
.
CanWhileCount
--;
LogUtil
.
error
(
wait
.
ToStr
()
+
"未收到信号且停止运动,重新匀速"
+
StoreManager
.
Config
.
BatchAxis_SlowSpeed
+
"运动,剩余["
+
StoreMove
.
CanWhileCount
+
"]次"
);
ACServerManager
.
SuddenStop
(
wait
.
AxisInfo
);
Thread
.
Sleep
(
300
);
ACServerManager
.
SpeedMove
(
wait
.
AxisInfo
.
DeviceName
,
wait
.
AxisInfo
.
GetAxisValue
(),
StoreManager
.
Config
.
BatchAxis_SlowSpeed
);
}
}
}
return
result
;
}
private
static
DateTime
AxisResetMoveTime
=
DateTime
.
Now
;
#
region
Halcon
扫码枪代码
public
bool
IsTestCamera
=
false
;
...
...
source/DeviceLibrary/store/AC_Store.cs
查看文件 @
0c4b488
...
...
@@ -375,6 +375,8 @@ namespace OnlineStore.DeviceLibrary
{
LogUtil
.
error
(
LOGGER
,
moveAxis
.
DisplayStr
+
"目标位置["
+
targetPosition
+
"]当前位置["
+
outCount
+
"],误差过大,重新开始运动,剩余["
+
StoreMove
.
CanWhileCount
+
"]次"
);
ACServerManager
.
SuddenStop
(
moveAxis
);
Thread
.
Sleep
(
300
);
ACServerManager
.
AbsMove
(
moveAxis
.
DeviceName
,
moveAxis
.
GetAxisValue
(),
targetPosition
,
targetSpeed
);
StoreMove
.
CanWhileCount
--;
return
false
;
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论