Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC30-AutoInOutStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit de4786e7
由
LN
编写于
2020-12-29 15:45:50 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.DO增加重写功能,状态发送完成再获取库位号。2.升降气缸到位后批量轴再运动。3.报警文字bug修改。4.入库失败时调用取消任务
1 个父辈
007d9f74
全部展开
显示空白字符变更
内嵌
并排
正在显示
17 个修改的文件
包含
259 行增加
和
136 行删除
RC1252-AutoInOutStore.sln
doc/MIMO本地端软件界面文本-V1.0.xls
source/ACSingleStore/App.config
source/ACSingleStore/FrmAxisDebug.Designer.cs
source/ACSingleStore/FrmIOStatus.Designer.cs
source/ACSingleStore/FrmStoreBox.Designer.cs
source/ACSingleStore/FrmStoreBox.cs
source/ACSingleStore/ResourceCulture.cs
source/ACSingleStore/positionTool/FrmPositionTool.Designer.cs
source/Common/util/HttpHelper.cs
source/DeviceLibrary/DeviceLibrary.csproj
source/DeviceLibrary/DeviceLibrary/halcon/CodeManager.cs
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
source/DeviceLibrary/acSingleStore/AutomaticBaiting.cs
source/DeviceLibrary/acSingleStore/AutomaticBaiting_Partial.cs
source/DeviceLibrary/acSingleStore/StoreManager.cs
RC1252-AutoInOutStore.sln
查看文件 @
de4786e
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio
15
VisualStudioVersion = 1
5.0.27130.2024
# Visual Studio
Version 16
VisualStudioVersion = 1
6.0.30804.86
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ACServoDriveTest", "source\ACServoDriveTest\ACServoDriveTest.csproj", "{7FA84E1E-BCDE-49F6-BE42-0BC397AF65B8}"
EndProject
...
...
doc/MIMO本地端软件界面文本-V1.0.xls
查看文件 @
de4786e
此文件类型无法预览
source/ACSingleStore/App.config
查看文件 @
de4786e
...
...
@@ -41,7 +41,7 @@
<!--是否有门禁屏蔽功能,=
1
表示有此功能-->
<
add
key
=
"HasDisableDoorControl"
value
=
"1"
/>
<
add
key
=
"ACBaudRate"
value
=
"115200"
/>
<
add
key
=
"Default_Language"
value
=
"
ja-JP
"
/>
<
add
key
=
"Default_Language"
value
=
"
zh-CN
"
/>
<
add
key
=
"UseAIOBOX"
value
=
"1"
/>
<
add
key
=
"DIMS"
value
=
"20"
/>
<
add
key
=
"DOMS"
value
=
"200"
/>
...
...
source/ACSingleStore/FrmAxisDebug.Designer.cs
查看文件 @
de4786e
...
...
@@ -70,7 +70,7 @@
this
.
label1
.
Name
=
"label1"
;
this
.
label1
.
Size
=
new
System
.
Drawing
.
Size
(
141
,
17
);
this
.
label1
.
TabIndex
=
0
;
this
.
label1
.
Text
=
"(轴
一
)旋转轴"
;
this
.
label1
.
Text
=
"(轴
1
)旋转轴"
;
this
.
label1
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// label2
...
...
@@ -79,7 +79,7 @@
this
.
label2
.
Name
=
"label2"
;
this
.
label2
.
Size
=
new
System
.
Drawing
.
Size
(
141
,
17
);
this
.
label2
.
TabIndex
=
1
;
this
.
label2
.
Text
=
"(轴
二
)升降轴"
;
this
.
label2
.
Text
=
"(轴
2
)升降轴"
;
this
.
label2
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// label3
...
...
@@ -88,7 +88,7 @@
this
.
label3
.
Name
=
"label3"
;
this
.
label3
.
Size
=
new
System
.
Drawing
.
Size
(
141
,
17
);
this
.
label3
.
TabIndex
=
2
;
this
.
label3
.
Text
=
"(轴
三
)进出轴"
;
this
.
label3
.
Text
=
"(轴
3
)进出轴"
;
this
.
label3
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// btnMiddleMove
...
...
@@ -292,7 +292,7 @@
this
.
label4
.
Name
=
"label4"
;
this
.
label4
.
Size
=
new
System
.
Drawing
.
Size
(
141
,
17
);
this
.
label4
.
TabIndex
=
22
;
this
.
label4
.
Text
=
"(轴
四
)压紧轴"
;
this
.
label4
.
Text
=
"(轴
4
)压紧轴"
;
this
.
label4
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// txtAutoPosition
...
...
@@ -404,7 +404,7 @@
this
.
MaximizeBox
=
false
;
this
.
MinimizeBox
=
false
;
this
.
Name
=
"FrmAxisDebug"
;
this
.
Text
=
"
轴点动
调试"
;
this
.
Text
=
"
运动轴
调试"
;
this
.
Load
+=
new
System
.
EventHandler
(
this
.
FrmAxisDebug_Load
);
this
.
Shown
+=
new
System
.
EventHandler
(
this
.
FrmAxisDebug_Shown
);
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
picAxis
)).
EndInit
();
...
...
source/ACSingleStore/FrmIOStatus.Designer.cs
查看文件 @
de4786e
...
...
@@ -102,7 +102,7 @@
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
456
,
608
);
this
.
groupBox1
.
TabIndex
=
105
;
this
.
groupBox1
.
TabStop
=
false
;
this
.
groupBox1
.
Text
=
"
DO写入
"
;
this
.
groupBox1
.
Text
=
"
IO状态修改
"
;
//
// btnCloseDeviceLed
//
...
...
@@ -155,7 +155,7 @@
this
.
btnDisDoorClose
.
Name
=
"btnDisDoorClose"
;
this
.
btnDisDoorClose
.
Size
=
new
System
.
Drawing
.
Size
(
135
,
52
);
this
.
btnDisDoorClose
.
TabIndex
=
268
;
this
.
btnDisDoorClose
.
Text
=
"激活
电气
维护门警报"
;
this
.
btnDisDoorClose
.
Text
=
"激活维护门警报"
;
this
.
btnDisDoorClose
.
UseVisualStyleBackColor
=
true
;
this
.
btnDisDoorClose
.
Click
+=
new
System
.
EventHandler
(
this
.
btnDisDoorClose_Click
);
//
...
...
@@ -166,7 +166,7 @@
this
.
btnDisDoorOpen
.
Name
=
"btnDisDoorOpen"
;
this
.
btnDisDoorOpen
.
Size
=
new
System
.
Drawing
.
Size
(
135
,
52
);
this
.
btnDisDoorOpen
.
TabIndex
=
267
;
this
.
btnDisDoorOpen
.
Text
=
"关闭
电气
维护门警报"
;
this
.
btnDisDoorOpen
.
Text
=
"关闭维护门警报"
;
this
.
btnDisDoorOpen
.
UseVisualStyleBackColor
=
true
;
this
.
btnDisDoorOpen
.
Click
+=
new
System
.
EventHandler
(
this
.
btnDisDoorOpen_Click
);
//
...
...
@@ -188,7 +188,7 @@
this
.
button5
.
Name
=
"button5"
;
this
.
button5
.
Size
=
new
System
.
Drawing
.
Size
(
135
,
52
);
this
.
button5
.
TabIndex
=
265
;
this
.
button5
.
Text
=
"
打开
进气口"
;
this
.
button5
.
Text
=
"
开启
进气口"
;
this
.
button5
.
UseVisualStyleBackColor
=
true
;
this
.
button5
.
Click
+=
new
System
.
EventHandler
(
this
.
button5_Click
);
//
...
...
@@ -277,7 +277,7 @@
this
.
label3
.
Name
=
"label3"
;
this
.
label3
.
Size
=
new
System
.
Drawing
.
Size
(
104
,
32
);
this
.
label3
.
TabIndex
=
247
;
this
.
label3
.
Text
=
"
选择
:"
;
this
.
label3
.
Text
=
"
端口
:"
;
this
.
label3
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// btnOpenLed
...
...
@@ -384,7 +384,7 @@
this
.
label5
.
Name
=
"label5"
;
this
.
label5
.
Size
=
new
System
.
Drawing
.
Size
(
103
,
30
);
this
.
label5
.
TabIndex
=
237
;
this
.
label5
.
Text
=
"保持(ms):"
;
this
.
label5
.
Text
=
"保持
时间
(ms):"
;
this
.
label5
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// cmbWriteIO
...
...
source/ACSingleStore/FrmStoreBox.Designer.cs
查看文件 @
de4786e
此文件的差异被折叠,
点击展开。
source/ACSingleStore/FrmStoreBox.cs
查看文件 @
de4786e
...
...
@@ -255,6 +255,7 @@ namespace OnlineStore.AutoInOutStore
LanguageProcess
();
SetImage
();
}
private
void
SetImage
()
{
...
...
@@ -1557,10 +1558,13 @@ namespace OnlineStore.AutoInOutStore
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
DebugPosId
,
poText
);
store
.
autoMsg
=
ResourceCulture
.
GetString
(
"自动出入库"
,
"自动出入库"
)+
":"
+
poText
;
store
.
autoNext
=
true
;
LogUtil
.
info
(
LOGGER
,
store
.
StoreName
+
"开启自动出入库模式,开始位置【"
+
poText
+
"】(索引="
+
currIndex
+
"),间隔="
+
jiange
+
""
);
btnStart
.
Text
=
StopAuto
;
DebugStatus
(
false
);
string
msg
=
AutomaticBaiting
.
doStartBatchIn
();
LogUtil
.
info
(
"自动出入库: 开始自动入库:库位号【"
+
poText
+
"】,开始入库,结果:"
+
msg
);
}
}
}
...
...
source/ACSingleStore/ResourceCulture.cs
查看文件 @
de4786e
...
...
@@ -19,7 +19,7 @@ namespace OnlineStore.AutoInOutStore
{
public
class
ResourceCulture
{
public
static
bool
ShowLog
=
true
;
public
static
bool
ShowLog
=
false
;
public
static
string
China
=
"zh-CN"
;
public
static
string
English
=
"en-US"
;
public
static
string
German
=
"ge-DE"
;
...
...
source/ACSingleStore/positionTool/FrmPositionTool.Designer.cs
查看文件 @
de4786e
...
...
@@ -92,6 +92,7 @@
this
.
groupBox6
.
Size
=
new
System
.
Drawing
.
Size
(
962
,
464
);
this
.
groupBox6
.
TabIndex
=
250
;
this
.
groupBox6
.
TabStop
=
false
;
this
.
groupBox6
.
Text
=
"伺服运动测试"
;
//
// groupBox2
//
...
...
@@ -258,7 +259,7 @@
this
.
label3
.
Name
=
"label3"
;
this
.
label3
.
Size
=
new
System
.
Drawing
.
Size
(
171
,
33
);
this
.
label3
.
TabIndex
=
277
;
this
.
label3
.
Text
=
"
保存
文件名称:"
;
this
.
label3
.
Text
=
"
位置
文件名称:"
;
this
.
label3
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// txtPosition
...
...
@@ -350,7 +351,7 @@
this
.
btnHomeMove
.
Name
=
"btnHomeMove"
;
this
.
btnHomeMove
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnHomeMove
.
TabIndex
=
110
;
this
.
btnHomeMove
.
Text
=
"
原点返回
"
;
this
.
btnHomeMove
.
Text
=
"
返回原点
"
;
this
.
btnHomeMove
.
UseVisualStyleBackColor
=
true
;
this
.
btnHomeMove
.
Click
+=
new
System
.
EventHandler
(
this
.
btnHomeMove_Click
);
//
...
...
@@ -361,7 +362,7 @@
this
.
btnServoOn
.
Name
=
"btnServoOn"
;
this
.
btnServoOn
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnServoOn
.
TabIndex
=
258
;
this
.
btnServoOn
.
Text
=
"打开
伺服
"
;
this
.
btnServoOn
.
Text
=
"打开"
;
this
.
btnServoOn
.
UseVisualStyleBackColor
=
true
;
this
.
btnServoOn
.
Click
+=
new
System
.
EventHandler
(
this
.
btnServoOn_Click
);
//
...
...
@@ -383,7 +384,7 @@
this
.
btnServoOff
.
Name
=
"btnServoOff"
;
this
.
btnServoOff
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnServoOff
.
TabIndex
=
259
;
this
.
btnServoOff
.
Text
=
"关闭
伺服
"
;
this
.
btnServoOff
.
Text
=
"关闭"
;
this
.
btnServoOff
.
UseVisualStyleBackColor
=
true
;
this
.
btnServoOff
.
Click
+=
new
System
.
EventHandler
(
this
.
btnServoOff_Click
);
//
...
...
@@ -537,7 +538,7 @@
this
.
Controls
.
Add
(
this
.
groupBox6
);
this
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
Name
=
"FrmPositionTool"
;
this
.
Text
=
"
升降轴位置
测试"
;
this
.
Text
=
"
轴2
测试"
;
this
.
FormClosing
+=
new
System
.
Windows
.
Forms
.
FormClosingEventHandler
(
this
.
FrmPositionTool_FormClosing
);
this
.
Load
+=
new
System
.
EventHandler
(
this
.
Form1_Load
);
this
.
Shown
+=
new
System
.
EventHandler
(
this
.
FrmPositionTool_Shown
);
...
...
source/Common/util/HttpHelper.cs
查看文件 @
de4786e
...
...
@@ -17,20 +17,9 @@ namespace OnlineStore.Common
{
public
class
HttpHelper
{
public
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
static
string
Post
(
string
url
,
string
paramData
)
{
return
Post
(
url
,
paramData
,
Encoding
.
UTF8
);
}
public
static
int
isLog
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Server_Log_Open
);
/// <summary>
///
/// </summary>
/// <param name="url"></param>
/// <param name="operation"></param>
/// <param name="simulate">是否模拟服务器返回结果</param>
/// <returns></returns>
public
static
Operation
Post
(
string
url
,
Operation
operation
,
bool
simulate
)
public
static
Operation
PostOP
(
string
url
,
Operation
operation
,
bool
simulate
)
{
try
{
...
...
@@ -45,7 +34,7 @@ namespace OnlineStore.Common
{
//入库或出库
string
json
=
JsonHelper
.
SerializeObject
(
operation
);
LogUtil
.
error
(
LOGGER
,
"模拟HTTP服务器返回出库入库信息:"
+
json
);
LogUtil
.
error
(
"模拟HTTP服务器返回出库入库信息:"
+
json
);
return
operation
;
}
}
...
...
@@ -58,9 +47,13 @@ namespace OnlineStore.Common
}
catch
(
Exception
ex
)
{
LOGGER
.
Error
(
"JsonHelper.SerializeObject(operation) 出错【operation.op="
+
operation
.
op
+
"】"
+
ex
);
LogUtil
.
error
(
"PostOP JsonHelper.SerializeObject(operation) 出错【operation.op="
+
operation
.
op
+
"】"
+
ex
);
}
string
result
=
PostJson
(
url
,
json
,
Encoding
.
UTF8
);
if
(
operation
.
op
>
0
)
{
LogUtil
.
info
(
"send 【"
+
url
+
"】【"
+
json
+
"】 "
+
",receive 【 "
+
result
+
"】"
);
}
string
result
=
Post
(
url
,
json
);
if
(!
string
.
IsNullOrEmpty
(
result
))
{
try
...
...
@@ -69,19 +62,18 @@ namespace OnlineStore.Common
}
catch
(
Exception
ex
)
{
L
OGGER
.
Error
(
"
JsonHelper.DeserializeJsonToObject 出错【result="
+
result
+
"】"
+
ex
);
L
ogUtil
.
error
(
"PostOP
JsonHelper.DeserializeJsonToObject 出错【result="
+
result
+
"】"
+
ex
);
}
}
}
}
catch
(
Exception
ex
)
{
L
OGGER
.
Error
(
"Post
出错【operation.op="
+
operation
.
op
+
"】:"
+
ex
);
L
ogUtil
.
error
(
"PostOP
出错【operation.op="
+
operation
.
op
+
"】:"
+
ex
);
}
return
null
;
}
public
static
int
isLog
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Server_Log_Open
);
public
static
string
Post
(
string
url
,
string
paramData
=
""
,
Encoding
encoding
=
null
)
public
static
string
PostJson
(
string
url
,
string
paramData
=
""
,
Encoding
encoding
=
null
)
{
if
(
encoding
==
null
)
{
...
...
@@ -89,12 +81,9 @@ namespace OnlineStore.Common
}
if
(
isLog
==
1
)
{
LOGGER
.
Info
(
"给服务器发送数据【"
+
paramData
+
"】 "
);
}
if
(
paramData
!=
"null"
&&
paramData
!=
null
)
{
// LogUtil.debug(LOGGER, "HTTP POST to " + url + " \n\t >> " + paramData);
LogUtil
.
info
(
"PostJson Send【"
+
paramData
+
"】 "
);
}
string
result
=
""
;
if
(
url
.
ToLower
().
IndexOf
(
"https"
,
System
.
StringComparison
.
Ordinal
)
>
-
1
)
...
...
@@ -112,19 +101,15 @@ namespace OnlineStore.Common
//paramData = Uri.EscapeDataString(paramData);
result
=
wc
.
UploadString
(
url
,
"POST"
,
paramData
);
//LogUtil.info(result);
}
catch
(
Exception
e
)
{
LogUtil
.
error
(
"POST【"
+
paramData
+
"】 ERROR:"
+
e
.
StackTrace
,
1
);
}
if
(!
result
.
Contains
(
"null"
)
&&
result
.
Length
!=
0
)
{
//LogUtil.debug(LOGGER,"receive << " + result);
LogUtil
.
error
(
"PostJson【"
+
paramData
+
"】 ERROR:"
+
e
.
StackTrace
,
1
);
}
if
(
isLog
==
1
)
{
L
OGGER
.
Info
(
"收到服务器数据
【"
+
result
+
"】"
);
L
ogUtil
.
info
(
"PostJson Revice
【"
+
result
+
"】"
);
}
return
result
;
}
...
...
@@ -138,13 +123,13 @@ namespace OnlineStore.Common
{
try
{
LogUtil
.
debug
(
LOGGER
,
"HTTP GET FROM: "
+
url
);
LogUtil
.
debug
(
"HTTP GET FROM: "
+
url
);
var
wc
=
new
WebClient
{
Encoding
=
encoding
};
var
readStream
=
wc
.
OpenRead
(
url
);
using
(
var
sr
=
new
StreamReader
(
readStream
,
encoding
))
{
var
result
=
sr
.
ReadToEnd
();
LogUtil
.
debug
(
LOGGER
,
"receive << "
+
result
);
LogUtil
.
debug
(
"receive << "
+
result
);
return
result
;
}
}
...
...
@@ -154,5 +139,65 @@ namespace OnlineStore.Common
}
return
""
;
}
public
static
string
Post
(
string
url
,
string
paramData
=
""
,
int
timeOut
=
5000
)
{
bool
IsTimeOut
=
false
;
return
Post
(
url
,
paramData
,
Encoding
.
UTF8
,
timeOut
,
out
IsTimeOut
);
}
public
static
string
Post
(
string
url
,
string
paramData
,
Encoding
encoding
,
int
timeOut
,
out
bool
IsTimeOut
)
{
if
(
paramData
.
Equals
(
""
))
{
int
index
=
url
.
IndexOf
(
"?"
);
if
(
index
>
0
)
{
paramData
=
url
.
Substring
(
index
+
1
,
url
.
Length
-
index
-
1
);
url
=
url
.
Substring
(
0
,
index
);
}
}
IsTimeOut
=
false
;
if
(
isLog
==
1
)
{
LogUtil
.
info
(
"Send【"
+
url
+
"】【"
+
paramData
+
"】 "
);
}
string
result
=
""
;
if
(
url
.
ToLower
().
IndexOf
(
"https"
,
System
.
StringComparison
.
Ordinal
)
>
-
1
)
{
ServicePointManager
.
ServerCertificateValidationCallback
=
new
RemoteCertificateValidationCallback
((
sender
,
certificate
,
chain
,
errors
)
=>
{
return
true
;
});
}
try
{
var
wc
=
new
MyWebClient
(
timeOut
);
if
(
string
.
IsNullOrEmpty
(
wc
.
Headers
[
"Content-Type"
]))
wc
.
Headers
.
Add
(
"Content-Type"
,
"application/x-www-form-urlencoded;charset=UTF-8"
);
wc
.
Encoding
=
encoding
;
result
=
wc
.
UploadString
(
url
,
"POST"
,
paramData
);
//LogUtil.info(result);
}
catch
(
WebException
ex
)
{
IsTimeOut
=
true
;
LogUtil
.
error
(
"POST ["
+
url
+
"] WebException :"
+
ex
.
ToString
());
}
catch
(
Exception
e
)
{
LogUtil
.
error
(
"POST ["
+
url
+
"] ERROR:"
+
e
.
ToString
());
}
if
(
isLog
==
1
)
{
LogUtil
.
info
(
"Revice【"
+
result
+
"】"
);
}
return
result
;
}
}
}
\ No newline at end of file
source/DeviceLibrary/DeviceLibrary.csproj
查看文件 @
de4786e
...
...
@@ -53,6 +53,7 @@
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
...
...
source/DeviceLibrary/DeviceLibrary/halcon/CodeManager.cs
查看文件 @
de4786e
...
...
@@ -294,18 +294,5 @@ namespace OnlineStore.DeviceLibrary
{
return
Regex
.
IsMatch
(
str
,
@"[\u4e00-\u9fa5]"
);
}
public
static
string
ProcessCode
(
List
<
string
>
codeList
)
{
string
code
=
""
;
foreach
(
string
cc
in
codeList
)
{
if
(
string
.
IsNullOrEmpty
(
cc
))
{
continue
;
}
code
+=
cc
+
"##"
;
}
return
ReplaceCode
(
code
);
}
}
}
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean.cs
查看文件 @
de4786e
...
...
@@ -980,8 +980,6 @@ namespace OnlineStore.DeviceLibrary
//机器未启动 灭 灭 灭
//机器设备故障(非温湿度)报警 亮 灭 闪
//报警时只需要亮红灯
if
(
storeRunStatus
<=
StoreRunStatus
.
Wait
)
{
if
(
IOManager
.
IOValue
(
IO_Type
.
Alarm_HddLed
).
Equals
(
IO_VALUE
.
HIGH
))
...
...
@@ -1022,10 +1020,10 @@ namespace OnlineStore.DeviceLibrary
}
else
{
if
(
IOManager
.
IOValue
(
IO_Type
.
Alarm_HddLed
).
Equals
(
IO_VALUE
.
HIGH
))
{
//
if (IOManager.IOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.HIGH))
//
{
IOManager
.
IOMove
(
IO_Type
.
Alarm_HddLed
,
IO_VALUE
.
LOW
);
}
//
}
}
bool
isBusy
=
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
)
||
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
)
||
...
...
@@ -1059,10 +1057,10 @@ namespace OnlineStore.DeviceLibrary
}
else
{
if
(
IOManager
.
IOValue
(
IO_Type
.
RunSign_HddLed
).
Equals
(
IO_VALUE
.
HIGH
))
{
//
if (IOManager.IOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
//
{
IOManager
.
IOMove
(
IO_Type
.
RunSign_HddLed
,
IO_VALUE
.
LOW
);
}
//
}
}
}
//仓门打开,打开照明
...
...
@@ -1346,7 +1344,7 @@ namespace OnlineStore.DeviceLibrary
{
LOC
=
1
;
}
string
result
=
HttpHelper
.
Get
(
StoreManager
.
GetAPI
(
""
,
StoreManager
.
api_inventory
)
+
"?LOC="
+
LOC
);
string
result
=
HttpHelper
.
Get
(
StoreManager
.
GetAPI
(
StoreManager
.
api_inventory
)
+
"?LOC="
+
LOC
);
if
(!
String
.
IsNullOrEmpty
(
result
))
{
List
<
APIInfo
>
apilist
=
JsonHelper
.
DeserializeJsonToList
<
APIInfo
>(
result
);
...
...
@@ -1378,7 +1376,7 @@ namespace OnlineStore.DeviceLibrary
else
{
autoMsg
=
ResourceControl
.
GetString
(
"自动出库"
,
"自动出库"
)
+
":RI:"
+
readId
;
result
=
HttpHelper
.
Post
(
StoreManager
.
GetAPI
(
""
,
StoreManager
.
api_stackOut
)
+
"?RIS="
+
readId
);
result
=
HttpHelper
.
Post
(
StoreManager
.
GetAPI
(
StoreManager
.
api_stackOut
)
+
"?RIS="
+
readId
);
LogUtil
.
info
(
"自动出入库:自动出库:RI: "
+
readId
+
" ,"
+
result
);
}
}
...
...
@@ -1502,8 +1500,11 @@ namespace OnlineStore.DeviceLibrary
if
((
isInSuddenDown
.
Equals
(
false
))
&&
(
isNoAirCheck
.
Equals
(
false
))
&&
(
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
None
))
&&
(
storeRunStatus
.
Equals
(
StoreRunStatus
.
Runing
)))
{
if
(
lastPosId
.
Equals
(
""
))
{
return
true
;
}
}
return
false
;
}
public
void
LoguStatus
()
...
...
@@ -1866,7 +1867,7 @@ namespace OnlineStore.DeviceLibrary
Operation
lineOperation
=
getLineBoxStatus
();
string
server
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
http_server
);
Operation
resultOperation
=
HttpHelper
.
Post
(
StoreManager
.
GetPostApi
(
server
),
lineOperation
,
false
);
Operation
resultOperation
=
HttpHelper
.
Post
OP
(
StoreManager
.
GetPostApi
(
server
),
lineOperation
,
false
);
//发送状态信息到服务器
if
(
resultOperation
==
null
)
{
...
...
source/DeviceLibrary/acSingleStore/AC_SA_BoxBean_Partial.cs
查看文件 @
de4786e
...
...
@@ -112,7 +112,7 @@ namespace OnlineStore.DeviceLibrary
return
true
;
}
}
private
DateTime
preRWTime
=
DateTime
.
Now
;
private
void
CheckWait
()
{
List
<
WaitResultInfo
>
list
=
StoreMove
.
WaitList
;
...
...
@@ -168,16 +168,30 @@ namespace OnlineStore.DeviceLibrary
{
timeOutMs
=
650000
;
}
//if (!wait.IsEnd && span.TotalSeconds > 2 && wait.IoType.Equals(IO_Type.SuckingDisc_Air))
//{
// string ioType = IO_Type.SuckingDisc_Work;
// IO_VALUE doValue = IOManager.DOValue(ioType);
// if (!doValue.Equals(wait.IoValue))
// {
// LogUtil.error("等待[" + NotOkMsg + "],重写DO(" + ioType + "=" + wait.IoValue + ")");
// IOManager.IOMove(ioType, wait.IoValue);
// }
//}
TimeSpan
rwSpan
=
DateTime
.
Now
-
preRWTime
;
if
(
wait
.
IsEnd
.
Equals
(
false
)
&&
rwSpan
.
TotalSeconds
>
5
&&
span
.
TotalSeconds
>
6
&&
span
.
TotalSeconds
<
30
&&
Config
.
DOList
.
ContainsKey
(
wait
.
IoType
))
{
preRWTime
=
DateTime
.
Now
;
string
msg
=
" ["
+
StoreMove
.
MoveType
+
"]["
+
StoreMove
.
MoveStep
+
"] "
+
NotOkMsg
+
"已等待 "
+
Math
.
Round
(
span
.
TotalSeconds
,
1
)
+
"秒,重写DO:"
;
bool
isLog
=
false
;
foreach
(
WaitResultInfo
ww
in
list
)
{
if
(
ww
!=
null
&&
ww
.
WaitType
.
Equals
(
2
)
&&
Config
.
DOList
.
ContainsKey
(
ww
.
IoType
))
{
if
(
IOManager
.
DOValue
(
ww
.
IoType
).
Equals
(
ww
.
IoValue
).
Equals
(
false
))
{
isLog
=
true
;
IOManager
.
IOMove
(
ww
.
IoType
,
ww
.
IoValue
);
msg
+=
ww
.
ToStr
()
+
","
;
}
}
}
if
(
isLog
)
{
LogUtil
.
error
(
StoreName
+
msg
);
}
}
if
((!
wait
.
IsEnd
)
&&
span
.
TotalMilliseconds
>
timeOutMs
)
{
ConfigIO
io
=
Config
.
getWaitIO
(
wait
.
IoType
);
...
...
@@ -252,10 +266,12 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
span
.
TotalSeconds
>
StoreMove
.
TimeOutSeconds
)
{
string
msg
=
ResourceControl
.
GetString
(
ResourceControl
.
MoveTimeOut
,
"["
+
StoreMove
.
MoveStep
+
"]"
+
ResourceControl
.
GetString
(
ResourceControl
.
TimeOut
,
"超时"
)
+
"["
+
NotOkMsg
+
"]["
+
Math
.
Round
(
span
.
TotalSeconds
,
1
)
+
"]"
);
string
p1
=
"["
+
StoreMove
.
MoveStep
+
"]"
;
string
p2
=
"["
+
NotOkMsg
+
"]"
;
string
p3
=
"["
+
Math
.
Round
(
span
.
TotalSeconds
,
1
)
+
"]"
;
string
msg
=
ResourceControl
.
GetString
(
ResourceControl
.
MoveTimeOut
,
p1
+
ResourceControl
.
GetString
(
ResourceControl
.
TimeOut
,
"超时"
)
+
p2
+
p3
,
p1
,
p2
,
p3
);
string
newType
=
ResourceControl
.
MoveTimeOut
+
"_"
+
waitType
.
ToString
().
PadLeft
(
2
,
'0'
);
SetWaitWarnMsg
(
msg
,
newType
,
StoreMove
.
MoveStep
+
""
,
Math
.
Round
(
span
.
TotalSeconds
,
1
)
+
""
);
SetWaitWarnMsg
(
msg
,
newType
,
p1
,
p2
,
p3
);
LogUtil
.
error
(
WarnObj
.
WarnMsg
,
15
);
Alarm
(
StoreAlarmType
.
IoSingleTimeOut
,
""
,
WarnObj
.
WarnMsg
,
StoreMove
.
MoveType
);
}
...
...
@@ -554,7 +570,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_14_GoBack
)
{
preProTime
=
DateTime
.
Now
.
AddSeconds
(-
5
);
string
posId
=
StoreMove
.
MoveParam
!=
null
?
StoreMove
.
MoveParam
.
PositionNum
:
""
;
LogUtil
.
info
(
LOGGER
,
" 【"
+
posId
+
"】 入库结束,耗时【"
+
FormUtil
.
GetSpanStr
(
InOutWatch
.
Elapsed
)
+
"】!"
);
StoreMove
.
EndMove
();
...
...
source/DeviceLibrary/acSingleStore/AutomaticBaiting.cs
查看文件 @
de4786e
...
...
@@ -376,8 +376,8 @@ namespace OnlineStore.DeviceLibrary
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
AUTO_I06_SuckingDisc_Up
);
InStoreLog
(
" 吸盘上升"
);
CylinderMove
(
IO_Type
.
ClampingDisc_Up
,
IO_Type
.
ClampingDisc_Down
,
fals
e
);
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
ClampingDisc_Down
,
IO_VALUE
.
LOW
));
CylinderMove
(
IO_Type
.
ClampingDisc_Up
,
IO_Type
.
ClampingDisc_Down
,
tru
e
);
//
StoreMove.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.ClampingDisc_Down, IO_VALUE.LOW));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1500
));
}
...
...
@@ -479,7 +479,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
debug
(
Name
+
StoreMove
.
MoveStep
+
"入料: 从服务器获取入库PosId,尺寸:【"
+
LastWidth
+
"*"
+
LastHeight
+
"】二维码【"
+
LastCode
+
"】"
);
GetInStorePosId
(
ProcessMsg
());
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
3
000
));
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
5
000
));
}
}
else
if
(
span
.
TotalSeconds
>
60
)
...
...
@@ -514,6 +514,7 @@ namespace OnlineStore.DeviceLibrary
else
{
InStoreLog
(
" 入库失败,尺寸:【"
+
LastWidth
+
"*"
+
LastHeight
+
"】将料盘送出,等待料盘拿走"
);
StoreManager
.
cancelPutInTask
(
LastSendCode
);
SendTrayOut
();
}
}
...
...
source/DeviceLibrary/acSingleStore/AutomaticBaiting_Partial.cs
查看文件 @
de4786e
...
...
@@ -75,6 +75,9 @@ namespace OnlineStore.DeviceLibrary
}
return
false
;
}
protected
static
DateTime
preRWTime
=
DateTime
.
Now
;
private
static
void
CheckWait
()
{
List
<
WaitResultInfo
>
list
=
StoreMove
.
WaitList
;
...
...
@@ -110,43 +113,46 @@ namespace OnlineStore.DeviceLibrary
else
if
(
wait
.
WaitType
==
(
int
)
Wait_Type
.
IOMove_2
)
{
wait
.
IsEnd
=
IOManager
.
IOValue
(
wait
.
IoType
).
Equals
(
wait
.
IoValue
);
//int timeOutMs = StoreManager.Config.IOSingle_TimerOut;
//
timeOutMs = 20;
//if ((!wait.IsEnd
) && span.TotalMilliseconds > timeOutMs
)
//
如果是气缸动作,若Do未输出,重新写一遍
//if ((!wait.IsEnd
)&& span.TotalSeconds > 2
)
//{
// ConfigIO io = StoreManager.Config.getWaitIO(wait.IoType);
// WarnMsg = "[" + StoreMove.MoveStep + "] 等待[" + io.ElectricalDefinition + "_" + io.Explain + "=" + wait.IoValue + "]超时";
// StoreManager.Store.Alarm(StoreAlarmType.BatchIoTimeOut, io.ElectricalDefinition, WarnMsg, StoreMove.MoveType);
// LogUtil.error(WarnMsg, 101);
// isOk = false;
// break;
// if (wait.IoType.Equals(IO_Type.ClampingDisc_Down) || wait.IoType.Equals(IO_Type.ClampingDisc_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);
// string ioType = wait.IoType.Equals(IO_Type.ClampingDisc_Down) ? IO_Type.ClampingDisc_Up : IO_Type.ClampingDisc_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);
// }
// }
//}
//如果是气缸动作,若Do未输出,重新写一遍
if
(
!
wait
.
IsEnd
&&
span
.
TotalSeconds
>
2
)
TimeSpan
rwSpan
=
DateTime
.
Now
-
preRWTime
;
if
(
wait
.
IsEnd
.
Equals
(
false
)
&&
rwSpan
.
TotalSeconds
>
5
&&
span
.
TotalSeconds
>
6
&&
span
.
TotalSeconds
<
30
&&
StoreManager
.
Store
.
Config
.
DOList
.
ContainsKey
(
wait
.
IoType
)
)
{
if
(
wait
.
IoType
.
Equals
(
IO_Type
.
ClampingDisc_Down
)
||
wait
.
IoType
.
Equals
(
IO_Type
.
ClampingDisc_Up
))
preRWTime
=
DateTime
.
Now
;
string
msg
=
" ["
+
StoreMove
.
MoveType
+
"]["
+
StoreMove
.
MoveStep
+
"] "
+
NotOkMsg
+
"已等待 "
+
Math
.
Round
(
span
.
TotalSeconds
,
1
)
+
"秒,重写DO:"
;
bool
isLog
=
false
;
foreach
(
WaitResultInfo
ww
in
list
)
{
IO_VALUE
doValue
=
IOManager
.
DOValue
(
wait
.
IoType
);
if
(!
doValue
.
Equals
(
wait
.
IoValue
))
if
(
ww
!=
null
&&
ww
.
WaitType
.
Equals
(
2
)
&&
StoreManager
.
Store
.
Config
.
DOList
.
ContainsKey
(
ww
.
IoType
))
{
LogUtil
.
error
(
"等待["
+
NotOkMsg
+
"],重写DO("
+
wait
.
IoType
+
"="
+
wait
.
IoValue
+
")"
);
IOManager
.
IOMove
(
wait
.
IoType
,
wait
.
IoValue
);
string
ioType
=
wait
.
IoType
.
Equals
(
IO_Type
.
ClampingDisc_Down
)
?
IO_Type
.
ClampingDisc_Up
:
IO_Type
.
ClampingDisc_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
);
if
(
IOManager
.
DOValue
(
ww
.
IoType
).
Equals
(
ww
.
IoValue
).
Equals
(
false
))
{
isLog
=
true
;
IOManager
.
IOMove
(
ww
.
IoType
,
ww
.
IoValue
);
msg
+=
ww
.
ToStr
()
+
","
;
}
}
//else if (wait.IoType.Equals(IO_Type.SuckingDisc_Air))
//{
// string ioType = IO_Type.SuckingDisc_Work;
// IO_VALUE doValue = IOManager.DOValue(ioType);
// if (!doValue.Equals(wait.IoValue))
// {
// LogUtil.error("等待[" + NotOkMsg + "],重写DO(" + ioType + "=" + wait.IoValue + ")");
// IOManager.IOMove(ioType, wait.IoValue);
// }
//}
}
if
(
isLog
)
{
LogUtil
.
error
(
Name
+
msg
);
}
}
}
else
if
(
wait
.
WaitType
==
(
int
)
Wait_Type
.
Time_3
)
...
...
@@ -164,7 +170,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
wait
.
WaitType
==
(
int
)
Wait_Type
.
BatchAxisMove_10
)
{
wait
.
IsEnd
=
BatchAxisIsEnd
(
wait
,
span
);
wait
.
IsEnd
=
BatchAxisIsEnd
(
wait
,
span
);
if
(
wait
.
IsEnd
)
{
BatchAxisController
.
StopCheck
();
...
...
@@ -393,7 +399,7 @@ namespace OnlineStore.DeviceLibrary
IOManager
.
IOMove
(
lowType
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
highType
,
IO_VALUE
.
HIGH
);
}
private
static
string
LastSendCode
=
""
;
public
static
string
ProcessMsg
()
{
string
msg
=
""
;
...
...
@@ -421,6 +427,8 @@ namespace OnlineStore.DeviceLibrary
{
msg
=
msg
+
"=1+0x0-"
+
LastWidth
+
"x"
+
LastHeight
+
"="
+
LastCode
+
spiltStr
;
}
msg
=
CodeManager
.
ReplaceCode
(
msg
);
LastSendCode
=
msg
;
return
msg
;
}
//=1+0x0-13x24=201810220856;025;5N02018101;121;700012865;92498;1800;##
...
...
@@ -484,7 +492,7 @@ namespace OnlineStore.DeviceLibrary
public
static
InOutStoreParam
GetInStoreParam
(
string
LogName
,
string
message
)
{
message
=
CodeManager
.
ReplaceCode
(
message
);
//
message = CodeManager.ReplaceCode(message);
if
(
message
.
Equals
(
""
)
||
string
.
IsNullOrEmpty
(
message
))
{
CodeMsg
=
ResourceControl
.
GetString
(
ResourceControl
.
NoCodeMsg
,
"没有收到二维码信息,请重新放入料盘"
);
...
...
@@ -520,7 +528,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
debug
(
"添加自动入库库位号:"
+
autoposId
);
}
string
server
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
http_server
);
Operation
resultOperation
=
HttpHelper
.
Post
(
StoreManager
.
GetPostApi
(
server
),
operation
,
false
);
Operation
resultOperation
=
HttpHelper
.
Post
OP
(
StoreManager
.
GetPostApi
(
server
),
operation
,
false
);
if
(
resultOperation
==
null
)
{
...
...
source/DeviceLibrary/acSingleStore/StoreManager.cs
查看文件 @
de4786e
...
...
@@ -21,6 +21,8 @@ namespace OnlineStore.DeviceLibrary
public
static
string
api_inventory
=
"rest/api/v2/mes/inventory"
;
//获取单个或全总SMD-BOX 中的实时库存信息
public
static
string
api_stackOut
=
"rest/api/v2/mes/stackOut"
;
//本接⼜提供物料出库功能,可⼀次性出单/多盘物料
// 取消任务地址: /cancelPutInTask //参数: barcode
private
static
string
Addr_cancelPutInTask
=
"service/store/cancelPutInTask"
;
public
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
System
.
Reflection
.
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
static
AC_SA_BoxBean
Store
=
null
;
...
...
@@ -99,10 +101,6 @@ namespace OnlineStore.DeviceLibrary
}
return
Store
;
}
/// <summary>
/// 修改了料仓配置,更新缓存,更新配置文件(只能更新PRO的配置)
/// </summary>
/// <param name="kTK_LA_Store_Config"></param>
public
static
void
UpdateBoxConfig
(
AUTO_SA_Config
storeConfig
)
{
try
...
...
@@ -130,11 +128,22 @@ namespace OnlineStore.DeviceLibrary
return
host
+
api_communication
;
}
public
static
string
GetAPI
(
string
host
,
string
api
)
public
static
string
GetAPI
(
string
api
,
Dictionary
<
string
,
string
>
paramsMap
=
null
)
{
string
host
=
GetHostUrl
(
""
);
if
(
paramsMap
==
null
||
paramsMap
.
Count
<=
0
)
{
host
=
GetHostUrl
(
host
);
return
host
+
api
;
}
string
path
=
host
+
api
.
Trim
()
+
"?"
;
foreach
(
string
paramName
in
paramsMap
.
Keys
)
{
string
par
=
System
.
Web
.
HttpUtility
.
UrlEncode
(
paramsMap
[
paramName
],
System
.
Text
.
Encoding
.
UTF8
);
path
+=
paramName
+
"="
+
par
+
"&"
;
}
path
=
path
.
Substring
(
0
,
path
.
Length
-
1
);
return
path
;
}
private
static
string
GetHostUrl
(
string
host
)
{
...
...
@@ -154,6 +163,56 @@ namespace OnlineStore.DeviceLibrary
}
public
static
string
cancelPutInTask
(
string
barcode
)
{
string
msg
=
""
;
try
{
string
serverAddr
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
http_server
);
if
(
string
.
IsNullOrEmpty
(
serverAddr
))
{
LogUtil
.
error
(
"cancelPutInTask ["
+
barcode
+
"] :未找到服务器地址"
);
return
msg
;
}
Dictionary
<
string
,
string
>
paramMap
=
new
Dictionary
<
string
,
string
>();
paramMap
.
Add
(
"barcode"
,
barcode
);
string
server
=
GetAPI
(
Addr_cancelPutInTask
,
paramMap
);
DateTime
startTime
=
DateTime
.
Now
;
string
resultStr
=
HttpHelper
.
Post
(
server
,
""
);
LogUtil
.
info
(
"cancelPutInTask "
+
FormUtil
.
GetSpanStr
(
DateTime
.
Now
-
startTime
)
+
" 【"
+
server
+
"】【"
+
resultStr
+
"】"
);
ReviceData
data
=
JsonHelper
.
DeserializeJsonToObject
<
ReviceData
>(
resultStr
);
if
(
data
==
null
)
{
return
msg
=
" cancelPutInTask【 "
+
barcode
+
"】 没有收到服务器反馈"
;
}
else
if
(
data
.
code
.
Equals
(
0
).
Equals
(
false
))
{
return
msg
=
" cancelPutInTask【 "
+
barcode
+
"】 :"
+
data
.
msg
;
}
return
""
;
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
" "
+
ex
.
ToString
());
}
return
msg
;
}
}
public
class
ReviceData
{
//{"code":0,"msg":"ok","data":"7"}
public
int
code
{
get
;
set
;
}
public
string
msg
{
get
;
set
;
}
public
Dictionary
<
string
,
string
>
data
{
get
;
set
;
}
}
public
class
APIInfo
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论