Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-ACPackingStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 4c2365c5
由
LN
编写于
2020-03-05 15:20:25 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
httpPost方法增加验证,若ping不同则不再发送。logbug修改
1 个父辈
91901d83
显示空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
96 行增加
和
49 行删除
dll/Client.dll
source/ACPackingStore/App.config
source/ACPackingStore/记录.txt
source/Common/util/HttpHelper.cs
source/Common/util/LogUtil.cs
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean.cs
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Partial.cs
dll/Client.dll
查看文件 @
4c2365c
此文件类型无法预览
source/ACPackingStore/App.config
查看文件 @
4c2365c
<?
xml
version
=
"1.0"
?>
<
configuration
>
<
configSections
>
<
section
name
=
"log4net"
type
=
"log4net.Config.Log4NetConfigurationSectionHandler,log4net"
/>
<
section
name
=
"log4net"
type
=
"log4net.Config.Log4NetConfigurationSectionHandler,log4net"
/>
</
configSections
>
<
appSettings
>
<!--是否开机自动启动料仓-->
<
add
key
=
"App_AutoRun"
value
=
"1"
/>
<
add
key
=
"App_Title"
value
=
"包装料料仓"
/>
<
add
key
=
"App_AutoRun"
value
=
"1"
/>
<
add
key
=
"App_Title"
value
=
"包装料料仓"
/>
<!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)-->
<
add
key
=
"StartBlowValue"
value
=
"4"
/>
<
add
key
=
"StartBlowValue"
value
=
"4"
/>
<!-- 停止吹气的判断值(配置值=服务器发送的湿度值-停止吹气值)-->
<
add
key
=
"StopBlowValue"
value
=
"4"
/>
<
add
key
=
"StopBlowValue"
value
=
"4"
/>
<!--
Server
address
-->
<
add
key
=
"http.server"
value
=
"http://10.85.160.25/myproject/"
/>
<!--
storeType
-->
<
add
key
=
"store_count"
value
=
"2"
/>
<
add
key
=
"Store_ConfigPath"
value
=
"\StoreConfig\StoreConfig.csv"
/>
<
add
key
=
"store_count"
value
=
"2"
/>
<
add
key
=
"Store_ConfigPath"
value
=
"\StoreConfig\StoreConfig.csv"
/>
<!--
start
one
store
config
-->
<
add
key
=
"Shelf_Position_Config"
value
=
"\StoreConfig\shelfPosition.csv"
/>
<
add
key
=
"Store_Position_Config"
value
=
"\StoreConfig\linePositions.csv"
/>
<
add
key
=
"BOX_ConfigPath"
value
=
"\StoreConfig\BoxConfig.csv"
/>
<
add
key
=
"Store_Type"
value
=
"RC_AC_PA"
/>
<
add
key
=
"Store_CID"
value
=
"packing-store"
/>
<
add
key
=
"Store_CID_1"
value
=
"packing-
21"
/>
<
add
key
=
"Store_CID_2"
value
=
"packing-2
2"
/>
<
add
key
=
"Shelf_Position_Config"
value
=
"\StoreConfig\shelfPosition.csv"
/>
<
add
key
=
"Store_Position_Config"
value
=
"\StoreConfig\linePositions.csv"
/>
<
add
key
=
"BOX_ConfigPath"
value
=
"\StoreConfig\BoxConfig.csv"
/>
<
add
key
=
"Store_Type"
value
=
"RC_AC_PA"
/>
<
add
key
=
"Store_CID"
value
=
"packing-store"
/>
<
add
key
=
"Store_CID_1"
value
=
"packing-
19"
/>
<
add
key
=
"Store_CID_2"
value
=
"packing-2
0"
/>
<!--
end
one
store
config
-->
<
add
key
=
"ACBaudRate"
value
=
"115200"
/>
<
add
key
=
"InOutDefaultPosition"
value
=
"
8000"
/>
<
add
key
=
"Config_Pwd"
value
=
"123456"
/>
<
add
key
=
"InOutDefaultPosition"
value
=
"
52000"
/>
<
add
key
=
"Config_Pwd"
value
=
"123456"
/>
<!--二维码类型列表配置,用
#分割,一维码=Barcode 二维码: QR Code#Data Matrix ECC 200#Micro QR Code-->
<
add
key
=
"CodeType"
value
=
"QR Code#Data Matrix ECC 200"
/>
<!--二维码参数文件所在路径,文件名与二维码类型名一样-->
<
add
key
=
"CodeParamPath"
value
=
"\CodeParam\"
/>
<!--出库等待料盘拿走的时间,秒-->
<
add
key
=
"OutStoreWaitSeconds"
value
=
"1
0"
/>
<
add
key
=
"OutStoreWaitSeconds"
value
=
"1
"
/>
<!--温控器类型,
0
=壁挂王字壳温湿度变送器,
1
=妙昕温湿度记录仪-->
<
add
key
=
"HumitureControllerType"
value
=
"0"
/>
<
add
key
=
"UseAIOBOX"
value
=
"1"
/>
<
add
key
=
"DIMS"
value
=
"60"
/>
<
add
key
=
"DOMS"
value
=
"300"
/>
<
add
key
=
"HumitureControllerType"
value
=
"0"
/>
<
add
key
=
"UseAIOBOX"
value
=
"1"
/>
<
add
key
=
"DIMS"
value
=
"60"
/>
<
add
key
=
"DOMS"
value
=
"300"
/>
<!--流水线地址和端口配置-->
<
add
key
=
"LineServerIp"
value
=
"192.168.101.11"
/>
<
add
key
=
"LineServerPort"
value
=
"5246"
/>
<
add
key
=
"LineServerIp"
value
=
"192.168.101.11"
/>
<
add
key
=
"LineServerPort"
value
=
"5246"
/>
<!--是否调试状态-->
<
add
key
=
"IsInDebug"
value
=
"1"
/>
<
add
key
=
"UseBuzzer"
value
=
"1"
/>
<
add
key
=
"IsInDebug"
value
=
"1"
/>
<
add
key
=
"UseBuzzer"
value
=
"0"
/>
<!--
IO
模块是否主动上传-->
<
add
key
=
"AIOAutoUpload"
value
=
"0"
/>
<
add
key
=
"AIOAutoUpload"
value
=
"0"
/>
<!--
AGV
调度服务器地址-->
<
add
key
=
"AgvServerIp"
value
=
"1
92.168.103.22
"
/>
<
add
key
=
"CodeCount"
value
=
"2"
/>
<
add
key
=
"AgvServerIp"
value
=
"1
0.85.160.20
"
/>
<
add
key
=
"CodeCount"
value
=
"2"
/>
<
add
key
=
"Tool_P3_Offset"
value
=
"7000"
/>
<
add
key
=
"Tool_P4_Offset"
value
=
"-2000"
/>
<
add
key
=
"Tool_P5_Offset"
value
=
"-2000"
/>
<
add
key
=
"Tool_P6_Offset"
value
=
"7000"
/>
<
add
key
=
"Tool_TargetSpeed"
value
=
"20"
/>
<
add
key
=
"Tool_TargetPosition"
value
=
"1835000"
/>
<!--检测到料架后自动开始入库-->
<
add
key
=
"AutoShelfInstore"
value
=
"1"
/>
<!--是否启用入料口移门,
1
=启用,
0
=禁用-->
<
add
key
=
"UseDoor"
value
=
"1"
/>
<
add
key
=
"Agv_Log_Open"
value
=
"1"
/>
<
add
key
=
"UseDoor"
value
=
"0"
/>
<
add
key
=
"Agv_Log_Open"
value
=
"1"
/>
<
add
key
=
"AutoShelfInstore"
value
=
"1"
/>
</
appSettings
>
<
log4net
>
<
appender
name
=
"RollingLogFileAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/Packing-store-1
-2.log"
/>
<
file
value
=
"logs/Packing-store-1
9-20.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
</
layout
>
</
appender
>
<
appender
name
=
"TheRFID"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/TheRFID
-p-1-2.log"
/>
<
file
value
=
"logs/TheRFID
.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
datePattern
value
=
"yyyy-MM-dd"
/>
<
layout
type
=
"log4net.Layout.PatternLayout"
>
<
conversionPattern
value
=
"[%date][%t]%-5p %m%n"
/>
</
layout
>
</
appender
>
<
logger
name
=
"RollingLogFileAppender"
>
<
level
value
=
"Info"
/>
<
appender
-
ref
ref
=
"RollingLogFileAppender"
/>
...
...
@@ -93,11 +91,11 @@
<
appender
-
ref
ref
=
"TheRFID"
/>
</
logger
>
<
root
>
<
level
value
=
"Info"
/>
<
appender
-
ref
ref
=
"RollingLogFileAppender"
/>
<
level
value
=
"Info"
/>
<
appender
-
ref
ref
=
"RollingLogFileAppender"
/>
</
root
>
</
log4net
>
<
startup
>
<
supportedRuntime
version
=
"v4.0"
sku
=
".NETFramework,Version=v4.6.1"
/>
<
supportedRuntime
version
=
"v4.0"
sku
=
".NETFramework,Version=v4.6.1"
/>
</
startup
>
</
configuration
>
\ No newline at end of file
source/ACPackingStore/记录.txt
查看文件 @
4c2365c
...
...
@@ -83,6 +83,9 @@ agv客户端启动时需要设置状态为none。
20200228
出料料架修改,增加 realRfid ,表示真实的料架号
20200303
httpPost方法增加验证,若ping不同则不再发送。
...
...
source/Common/util/HttpHelper.cs
查看文件 @
4c2365c
...
...
@@ -12,6 +12,7 @@ using System.Security.Cryptography;
using
System.Security.Cryptography.X509Certificates
;
using
System.Reflection
;
using
log4net
;
using
System.Net.NetworkInformation
;
namespace
OnlineStore.Common
{
...
...
@@ -22,6 +23,28 @@ namespace OnlineStore.Common
{
return
Post
(
url
,
paramData
,
Encoding
.
UTF8
);
}
public
static
bool
PingURLIP
(
string
url
,
int
ms
=
100
)
{
string
[]
urlArray
=
url
.
Split
(
'/'
);
if
(
urlArray
.
Length
>
3
)
{
string
ip
=
urlArray
[
2
];
Ping
pingSender
=
new
Ping
();
PingReply
reply
=
pingSender
.
Send
(
ip
,
ms
);
//第一个参数为ip地址,第二个参数为ping的时间
if
(
reply
.
Status
==
IPStatus
.
Success
)
{
//通
return
true
;
}
else
{
//不通
return
false
;
}
}
return
true
;
}
/// <summary>
///
...
...
@@ -33,7 +56,15 @@ namespace OnlineStore.Common
public
static
Operation
Post
(
string
url
,
Operation
operation
,
bool
simulate
)
{
try
{
//如果Op=0或者Op=5,先拼Ip,不通不发送
if
(
operation
.
op
<
0
||
operation
.
op
.
Equals
(
5
))
{
if
(
PingURLIP
(
url
,
100
).
Equals
(
false
))
{
return
null
;
}
}
if
(
simulate
)
{
//模拟服务器返回
operation
.
status
=
200
;
...
...
@@ -83,6 +114,13 @@ namespace OnlineStore.Common
private
static
int
isLog
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Server_Log_Open
);
public
static
string
Post
(
string
url
,
string
paramData
,
Encoding
encoding
)
{
//如果Op=0或者Op=5,先拼Ip,不通不发送
if
(
PingURLIP
(
url
,
100
).
Equals
(
false
))
{
return
null
;
}
if
(
isLog
==
1
)
{
LOGGER
.
Info
(
"给服务器发送数据【"
+
paramData
+
"】 "
);
...
...
@@ -111,7 +149,7 @@ namespace OnlineStore.Common
}
catch
(
Exception
e
)
{
LogUtil
.
error
(
"POST ERROR:"
+
e
.
ToString
(),
1
);
LogUtil
.
error
(
"POST ERROR:"
+
e
.
ToString
(),
1
);
}
if
(!
result
.
Contains
(
"null"
)
&&
result
.
Length
!=
0
)
{
...
...
source/Common/util/LogUtil.cs
查看文件 @
4c2365c
...
...
@@ -54,6 +54,8 @@ namespace OnlineStore.Common
private
static
List
<
string
>
lasErrorLogList
=
new
List
<
string
>();
public
static
void
error
(
string
errorMsg
,
int
type
,
int
spanSeconds
=
10
)
{
try
{
if
(
lastErrorLogTime
.
ContainsKey
(
type
))
{
TimeSpan
span
=
DateTime
.
Now
-
lastErrorLogTime
[
type
];
...
...
@@ -74,6 +76,11 @@ namespace OnlineStore.Common
error
(
LOGGER
,
errorMsg
);
}
}
catch
(
Exception
ex
)
{
LOGGER
.
Error
(
" 打印日志【"
+
type
+
"-"
+
errorMsg
+
"】出错:"
+
ex
.
ToString
());
}
}
public
static
void
error
(
ILog
log
,
string
errorMsg
)
{
log
.
Error
(
" - "
+
errorMsg
);
...
...
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean.cs
查看文件 @
4c2365c
...
...
@@ -47,6 +47,7 @@ namespace OnlineStore.DeviceLibrary
/// 是否有料架在来的路上
/// </summary>
public
bool
WaitShelfEnter
=
false
;
private
int
logType
=
1000
;
public
AC_BOX_Bean
(
AC_BOX_Config
config
)
{
Init
();
...
...
@@ -63,6 +64,7 @@ namespace OnlineStore.DeviceLibrary
IoCheckTimer
.
Enabled
=
false
;
IoCheckTimer
.
Elapsed
+=
IoCheckTimer_Elapsed
;
logType
=
config
.
DeviceID
*
1000
;
//添加调试
IsDebug
=
config
.
IsInDebug
.
Equals
(
1
);
Name
=
(
" BOX_"
+
config
.
DeviceID
+
" "
).
ToUpper
();
...
...
@@ -132,7 +134,6 @@ namespace OnlineStore.DeviceLibrary
moveAxisList
.
Add
(
Config
.
InOut_Axis
);
moveAxisList
.
Add
(
Config
.
Comp_Axis
);
}
/// <summary>
/// 开始运行
/// </summary>
...
...
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Partial.cs
查看文件 @
4c2365c
...
...
@@ -75,7 +75,7 @@ namespace OnlineStore.DeviceLibrary
ConfigIO
io
=
Config
.
getWaitIO
(
wait
.
IoType
);
WarnMsg
=
Name
+
" 等待信号"
+
io
.
DisplayStr
+
"="
+
wait
.
IoValue
+
"超时!"
;
Alarm
(
StoreAlarmType
.
IoSingleTimeOut
,
io
.
ElectricalDefinition
,
WarnMsg
,
MoveInfo
.
MoveType
);
LogUtil
.
error
(
Name
+
wait
.
IoType
+
"等待信号("
+
io
.
DisplayStr
+
"="
+
wait
.
IoValue
+
") 超时"
,
14
);
LogUtil
.
error
(
Name
+
wait
.
IoType
+
"等待信号("
+
io
.
DisplayStr
+
"="
+
wait
.
IoValue
+
") 超时"
,
logType
+
14
);
isOk
=
false
;
break
;
}
...
...
@@ -178,7 +178,7 @@ namespace OnlineStore.DeviceLibrary
{
WarnMsg
=
Name
+
"【"
+
MoveInfo
.
MoveType
+
"】【"
+
MoveInfo
.
MoveStep
+
"】等待超时 ["
+
NotOkMsg
+
"]已等待["
+
Math
.
Round
(
span
.
TotalSeconds
,
1
)
+
"]秒"
;
LogUtil
.
error
(
WarnMsg
,
100
);
LogUtil
.
error
(
WarnMsg
,
logType
+
100
);
Alarm
(
StoreAlarmType
.
IoSingleTimeOut
,
""
,
WarnMsg
,
MoveInfo
.
MoveType
);
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论