Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
刘韬
/
SO775-DUOStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit a2cde732
由
LN
编写于
2020-09-07 16:27:52 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
bug修改
1 个父辈
1b5b1337
显示空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
51 行增加
和
20 行删除
source/DUOStore/Program.cs
source/DUOStore/positionTool/FrmPositionTool.cs
source/DeviceLibrary/StoreConfig/BoxConfig_1.csv
source/DeviceLibrary/device/IO/AIOBOX/AIOBOXManager.cs
source/DeviceLibrary/duoStore/StoreManager.cs
source/LoadCVSLibrary/storeConfig/CSVConfigReader.cs
source/LoadCVSLibrary/storeConfig/config/BaseConfig.cs
source/DUOStore/Program.cs
查看文件 @
a2cde73
...
...
@@ -53,6 +53,9 @@ namespace OnlineStore.DUOStore
[
STAThread
]
static
void
Main
(
string
[]
Args
)
{
//string path = @"http://localhost:4090/rest/api/v1/station/status";
//HttpHelper.PostOperation(path, new Operation());
Application
.
ThreadException
+=
new
System
.
Threading
.
ThreadExceptionEventHandler
(
Application_ThreadException
);
AppDomain
.
CurrentDomain
.
UnhandledException
+=
new
UnhandledExceptionEventHandler
(
CurrentDomain_UnhandledException
);
...
...
source/DUOStore/positionTool/FrmPositionTool.cs
查看文件 @
a2cde73
...
...
@@ -276,6 +276,7 @@ namespace OnlineStore.DUOStore
private
List
<
int
>
PositionList
=
new
List
<
int
>();
private
IO_VALUE
LastValue
=
IO_VALUE
.
LOW
;
private
DateTime
LastGetPTime
=
DateTime
.
Now
;
private
object
timerLock
=
""
;
private
void
ToolTimer_Elapsed
(
object
sender
,
System
.
Timers
.
ElapsedEventArgs
e
)
{
TimeSpan
span
=
DateTime
.
Now
-
LastTime
;
...
...
@@ -283,6 +284,8 @@ namespace OnlineStore.DUOStore
{
return
;
}
if
(
Monitor
.
TryEnter
(
timerLock
,
2
))
{
isInProcesss
=
true
;
try
{
...
...
@@ -291,7 +294,7 @@ namespace OnlineStore.DUOStore
{
IO_VALUE
currValue
=
GetSingleValue
();
TimeSpan
checkSpan
=
DateTime
.
Now
-
LastGetPTime
;
if
(
LastValue
.
Equals
(
IO_VALUE
.
LOW
)
&&
currValue
.
Equals
(
IO_VALUE
.
HIGH
)&&
checkSpan
.
TotalSeconds
>
2
)
if
(
LastValue
.
Equals
(
IO_VALUE
.
LOW
)
&&
currValue
.
Equals
(
IO_VALUE
.
HIGH
)
&&
checkSpan
.
TotalSeconds
>
2
)
{
int
currPos
=
ACServerManager
.
GetActualtPosition
(
PortName
,
SlvAddr
);
txtActualPosition
.
Text
=
currPos
.
ToString
();
...
...
@@ -302,10 +305,10 @@ namespace OnlineStore.DUOStore
{
preValue
=
PositionList
[
num
-
2
];
}
LogUtil
.
info
(
LogName
+
"【"
+
num
+
"】【"
+
currPos
+
"】【"
+
Math
.
Abs
(
currPos
-
preValue
)+
"】"
);
LogUtil
.
info
(
LogName
+
"【"
+
num
+
"】【"
+
currPos
+
"】【"
+
Math
.
Abs
(
currPos
-
preValue
)
+
"】"
);
if
(
LogUtil
.
logBox
==
null
)
{
this
.
richTextBox1
.
AppendText
(
LogName
+
"【"
+
num
+
"】【"
+
currPos
+
"】【"
+
Math
.
Abs
(
currPos
-
preValue
)
+
"】"
+
Environment
.
NewLine
);
this
.
richTextBox1
.
AppendText
(
LogName
+
"【"
+
num
+
"】【"
+
currPos
+
"】【"
+
Math
.
Abs
(
currPos
-
preValue
)
+
"】"
+
Environment
.
NewLine
);
}
LastValue
=
IO_VALUE
.
HIGH
;
LastGetPTime
=
DateTime
.
Now
;
...
...
@@ -314,16 +317,30 @@ namespace OnlineStore.DUOStore
LastValue
=
currValue
;
}
else
else
if
(
moveS
.
Equals
(
0
))
{
StopTimer
();
}
}
catch
(
Exception
ex
)
else
{
LogUtil
.
error
(
LogName
+
"伺服GetBusyStatus="
+
moveS
);
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
LogName
+
"ToolTimer_Elapsed"
+
ex
.
ToString
());
LogUtil
.
error
(
LogName
+
"ToolTimer_Elapsed"
+
ex
.
ToString
());
}
finally
{
Monitor
.
Exit
(
timerLock
);
isInProcesss
=
false
;
}
}
else
{
LogUtil
.
debug
(
"ToolTimer_Elapsed Monitor.TryEnter(timerLock, 2) 失败"
);
}
}
private
void
StopTimer
()
{
...
...
source/DeviceLibrary/StoreConfig/BoxConfig_1.csv
查看文件 @
a2cde73
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速时间,减速时间,原点低速度,原点高速,原点加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
AXIS,,L1_旋转轴,Middle_Axis,1,COM1,,
2
50,1000,1000,80,60,50,10,1000,0,0
AXIS,,L1_旋转轴,Middle_Axis,1,COM1,,
1
50,1000,1000,80,60,50,10,1000,0,0
AXIS,,L2_上下轴,UpDown_Axis,2,COM1,,300,400,400,400,400,400,10,1000,0,0
AXIS,,L3_进出轴,InOut_Axis,3,COM1,,100,300,300,20,60,200,10,1000,0,0
AXIS,,L4_压紧轴,Comp_Axis,4,COM1,,100,300,300,20,60,200,10,1000,0,0
...
...
source/DeviceLibrary/device/IO/AIOBOX/AIOBOXManager.cs
查看文件 @
a2cde73
...
...
@@ -392,9 +392,16 @@ namespace OnlineStore.DeviceLibrary
}
catch
(
Exception
ex
)
{
if
(
i
<=
1
)
{
LogUtil
.
debug
(
" 第【"
+
i
+
"】次 GetDIValue ["
+
ioIP
+
"] ["
+
StartAddress
+
"] 出错:"
+
ex
.
ToString
());
}
else
{
LogUtil
.
error
(
" 第【"
+
i
+
"】次 GetDIValue ["
+
ioIP
+
"] ["
+
StartAddress
+
"] 出错:"
+
ex
.
ToString
());
}
}
}
return
value
;
}
public
override
IO_VALUE
GetIOValue
(
ConfigIO
configIO
)
...
...
source/DeviceLibrary/duoStore/StoreManager.cs
查看文件 @
a2cde73
...
...
@@ -155,7 +155,7 @@ namespace OnlineStore.DeviceLibrary
//位置配置到文件中
string
appPath
=
Application
.
StartupPath
;
string
configFile
=
appPath
+
ConfigAppSettings
.
GetValue
(
Setting_Init
.
Store_ConfigPath
);
if
(!
Directory
.
Exists
(
configFile
))
if
(!
File
.
Exists
(
configFile
))
{
configFile
=
configFile
.
Replace
(
".csv"
,
"_"
+
storeConfig
.
Id
+
".csv"
);
}
...
...
source/LoadCVSLibrary/storeConfig/CSVConfigReader.cs
查看文件 @
a2cde73
...
...
@@ -209,19 +209,23 @@ namespace OnlineStore.LoadCSVLibrary
if
(
array
.
Length
>
0
&&
array
[
0
].
ToString
().
Equals
(
ConfigItemType
.
PRO
))
{
string
[]
newArray
=
array
;
string
proName
=
array
[
2
];
string
proValue
=
array
[
3
];
string
proName
=
array
[
3
];
string
proValue
=
array
[
4
];
if
(
proName
.
ToUpper
().
Contains
(
BaseConfig
.
IOIP_Str
.
ToUpper
()))
{
continue
;
}
try
{
PropertyInfo
prop
=
props
.
First
(
c
=>
c
.
Name
==
proName
);
//获取同名属性
if
(
prop
!=
null
)
{
string
newValue
=
prop
.
GetValue
(
newConfig
,
null
).
ToString
();
newArray
[
3
]
=
newValue
;
newArray
[
4
]
=
newValue
;
}
}
catch
(
Exception
e
)
{
LogUtil
.
error
(
"出错:"
+
e
.
ToString
());
LogUtil
.
error
(
"
SaveBoxPosition["
+
filePath
+
"]
出错:"
+
e
.
ToString
());
}
string
newLine
=
""
;
foreach
(
string
s
in
newArray
)
...
...
source/LoadCVSLibrary/storeConfig/config/BaseConfig.cs
查看文件 @
a2cde73
...
...
@@ -187,14 +187,14 @@ namespace OnlineStore.LoadCSVLibrary
LogUtil
.
error
(
"解析配置【"
+
con
.
ConfigStr
+
"】出错:"
+
ex
.
ToString
());
}
}
if
(
String
.
IsNullOrEmpty
(
proBuilder
.
ToString
()).
Equals
(
false
)
&&
proBuilder
.
ToString
().
Equals
(
"\r\n"
).
Equals
(
false
))
{
LogUtil
.
error
(
proBuilder
.
ToString
());
}
if
(
String
.
IsNullOrEmpty
(
builder
.
ToString
()).
Equals
(
false
)
&&
builder
.
ToString
().
Equals
(
"\r\n"
).
Equals
(
false
))
{
LogUtil
.
error
(
builder
.
ToString
());
}
//
if (String.IsNullOrEmpty(proBuilder.ToString()).Equals(false) && proBuilder.ToString().Equals("\r\n").Equals(false))
//
{
//
LogUtil.error(proBuilder.ToString());
//
}
//
if (String.IsNullOrEmpty(builder.ToString()).Equals(false) && builder.ToString().Equals("\r\n").Equals(false))
//
{
//
LogUtil.error(builder.ToString());
//
}
if
(
checkProList
.
Count
>=
0
)
{
//常规属性检测
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论