Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
ACSingleStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 80c67da1
由
LN
编写于
2019-11-06 11:32:18 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
IO模块增加重连
1 个父辈
7bdb0072
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
286 行增加
和
38 行删除
source/ACSingleStore/App.config
source/DeviceLibrary/IO/AIManager.cs
source/DeviceLibrary/IO/AIOBOX/AIOAIManager.cs
source/DeviceLibrary/IO/AIOBOX/AIOBOXManager.cs
source/DeviceLibrary/IO/KangNaiDe/KNDAIManager.cs
source/ACSingleStore/App.config
查看文件 @
80c67da
...
@@ -6,22 +6,21 @@
...
@@ -6,22 +6,21 @@
<
appSettings
>
<
appSettings
>
<!--是否开机自动启动料仓-->
<!--是否开机自动启动料仓-->
<
add
key
=
"App_AutoRun"
value
=
"1"
/>
<
add
key
=
"App_AutoRun"
value
=
"1"
/>
<
add
key
=
"App_Title"
value
=
"AC_SA_料仓_1"
/>
<
add
key
=
"App_Title"
value
=
"AC_SA_料仓_1"
/>
<!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)-->
<!-- 开始吹气的判断值(配置值=服务器发送的湿度值-开始吹气值)-->
<
add
key
=
"StartBlowValue"
value
=
"4"
/>
<
add
key
=
"StartBlowValue"
value
=
"4"
/>
<!-- 停止吹气的判断值(配置值=服务器发送的湿度值-停止吹气值)-->
<!-- 停止吹气的判断值(配置值=服务器发送的湿度值-停止吹气值)-->
<
add
key
=
"StopBlowValue"
value
=
"4"
/>
<
add
key
=
"StopBlowValue"
value
=
"4"
/>
<!--
Server
address
-->
<!--
Server
address
-->
<
add
key
=
"http.server"
value
=
"http://192.168.
201.68
/myproject/"
/>
<
add
key
=
"http.server"
value
=
"http://192.168.
101.11
/myproject/"
/>
<!--
storeType
-->
<!--
storeType
-->
<
add
key
=
"store_count"
value
=
"1"
/>
<
add
key
=
"store_count"
value
=
"1"
/>
<!--
start
one
store
config
-->
<!--
start
one
store
config
-->
<
add
key
=
"Store_Position_Config"
value
=
"\StoreConfig\AC\linePositions.csv"
/>
<
add
key
=
"Store_Position_Config"
value
=
"\StoreConfig\AC\linePositions.csv"
/>
<
add
key
=
"Store_ConfigPath"
value
=
"\StoreConfig\AC\StoreConfig.csv"
/>
<
add
key
=
"Store_ConfigPath"
value
=
"\StoreConfig\AC\StoreConfig.csv"
/>
<
add
key
=
"Store_Type"
value
=
"RC_AC_SA"
/>
<
add
key
=
"Store_Type"
value
=
"RC_AC_SA"
/>
<
add
key
=
"Store_CID"
value
=
"
rc1250ac-4
"
/>
<
add
key
=
"Store_CID"
value
=
"
line-ac1
"
/>
<
add
key
=
"Store_ID"
value
=
"
4
"
/>
<
add
key
=
"Store_ID"
value
=
"
1
"
/>
<!--
end
one
store
config
-->
<!--
end
one
store
config
-->
<
add
key
=
"ACBaudRate"
value
=
"115200"
/>
<
add
key
=
"ACBaudRate"
value
=
"115200"
/>
<
add
key
=
"InOutDefaultPosition"
value
=
"8000"
/>
<
add
key
=
"InOutDefaultPosition"
value
=
"8000"
/>
...
@@ -32,7 +31,7 @@
...
@@ -32,7 +31,7 @@
<
add
key
=
"HumitureControllerType"
value
=
"0"
/>
<
add
key
=
"HumitureControllerType"
value
=
"0"
/>
<
add
key
=
"UseAIOBOX"
value
=
"1"
/>
<
add
key
=
"UseAIOBOX"
value
=
"1"
/>
<!--流水线地址和端口配置-->
<!--流水线地址和端口配置-->
<
add
key
=
"LineServerIp"
value
=
"192.168.1
.114
"
/>
<
add
key
=
"LineServerIp"
value
=
"192.168.1
01.11
"
/>
<
add
key
=
"LineServerPort"
value
=
"5246"
/>
<
add
key
=
"LineServerPort"
value
=
"5246"
/>
<!--是否调试状态-->
<!--是否调试状态-->
<
add
key
=
"IsInDebug"
value
=
"1"
/>
<
add
key
=
"IsInDebug"
value
=
"1"
/>
...
@@ -40,7 +39,7 @@
...
@@ -40,7 +39,7 @@
</
appSettings
>
</
appSettings
>
<
log4net
>
<
log4net
>
<
appender
name
=
"RollingLogFileAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
<
appender
name
=
"RollingLogFileAppender"
type
=
"log4net.Appender.RollingFileAppender"
>
<
file
value
=
"logs/ACStore-
RC1250-
1.log"
/>
<
file
value
=
"logs/ACStore-
line-ac
1.log"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
param
name
=
"Encoding"
value
=
"UTF-8"
/>
<
appendToFile
value
=
"true"
/>
<
appendToFile
value
=
"true"
/>
<
rollingStyle
value
=
"Date"
/>
<
rollingStyle
value
=
"Date"
/>
...
...
source/DeviceLibrary/IO/AIManager.cs
0 → 100644
查看文件 @
80c67da
using
Asa.IOModule
;
using
OnlineStore.Common
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading
;
namespace
OnlineStore.DeviceLibrary
{
public
abstract
class
AIManager
{
public
bool
NeedShow
=
false
;
public
static
AIManager
Instance
=
null
;
public
static
void
Init
()
{
bool
isAIOBox
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
UseAIOBOX
).
Equals
(
1
);
if
(
isAIOBox
)
{
Instance
=
new
AIOAIManager
();
}
else
{
Instance
=
new
KNDAIManager
();
}
}
public
static
double
ConvertAI
(
double
aiValue
,
double
defaultValue
)
{
double
xishu
=
(
double
)
StoreManager
.
Config
.
AI_ConvertPosition
;
double
result
=
Math
.
Round
((
aiValue
-
defaultValue
)
/
xishu
,
2
);
return
result
;
}
public
abstract
void
StartConnect
(
params
string
[]
ioIp
);
public
abstract
void
CloseConnect
();
public
abstract
double
GetAIValue
(
string
ioiP
,
int
index
);
}
}
source/DeviceLibrary/IO/AIOBOX/AIOAIManager.cs
0 → 100644
查看文件 @
80c67da
using
Asa.IOModule
;
using
OnlineStore.Common
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading
;
using
System.Threading.Tasks
;
namespace
OnlineStore.DeviceLibrary
{
public
class
AIOAIManager
:
AIManager
{
private
object
AILock
=
""
;
private
List
<
int
>
AIValList
=
null
;
private
int
AILength
=
4
;
private
Asa
.
IOModule
.
AIOBOX
AIBox
=
null
;
private
System
.
Timers
.
Timer
conTimer
=
null
;
private
List
<
string
>
needConIp
=
new
List
<
string
>();
public
override
void
StartConnect
(
params
string
[]
ipList
)
{
if
(
conTimer
==
null
)
{
conTimer
=
new
System
.
Timers
.
Timer
();
conTimer
.
AutoReset
=
true
;
conTimer
.
Interval
=
60000
;
conTimer
.
Elapsed
+=
ConTimer_Elapsed
;
}
conTimer
.
Enabled
=
false
;
needConIp
=
new
List
<
string
>(
ipList
);
foreach
(
string
ip
in
ipList
)
{
bool
result
=
ConnectionIP
(
ip
);
}
if
(
needConIp
.
Count
>
0
)
{
//启动定时器,1一分钟重连一次
conTimer
.
Start
();
}
}
private
bool
ConnectionIP
(
string
ioIp
)
{
int
autoMS
=
150
;
try
{
AIValList
=
new
List
<
int
>();
AIBox
=
new
Asa
.
IOModule
.
AIOBOX
();
AIBox
.
IP
=
ioIp
;
// bool rtn = AIBox.AutoIP(ioIp);
AIBox
.
SetInput
(
Asa
.
IOModule
.
Box_Type
.
AI
,
AILength
);
AIBox
.
SetOutput
(
Asa
.
IOModule
.
Box_Type
.
DO
,
0
);
AIBox
.
AutoReadInput
(
true
,
autoMS
);
AIBox
.
AI_Changed_Event
+=
Box_AI_Changed_Event
;
LogUtil
.
debug
(
"开始连接AI模块["
+
ioIp
+
"]["
+
autoMS
+
"],尝试重连三次"
);
for
(
int
i
=
1
;
i
<=
3
;
i
++)
{
bool
result
=
AIBox
.
Connect
();
if
(
result
)
{
if
(
needConIp
.
Contains
(
ioIp
))
{
needConIp
.
Remove
(
ioIp
);
}
LogUtil
.
info
(
"第【"
+
i
+
"】次连接IO模块["
+
ioIp
+
"]["
+
autoMS
+
"]成功:"
+
AIBox
.
ErrInfo
);
return
true
;
}
else
{
LogUtil
.
error
(
"第【"
+
i
+
"】次连接IO模块["
+
ioIp
+
"]["
+
autoMS
+
"]失败:"
+
AIBox
.
ErrInfo
+
""
);
}
Thread
.
Sleep
(
10
);
}
}
catch
(
Exception
error
)
{
LogUtil
.
error
(
"连接IO模块["
+
ioIp
+
"]["
+
autoMS
+
"]出错:"
+
error
.
ToString
());
}
return
false
;
}
private
void
ConTimer_Elapsed
(
object
sender
,
System
.
Timers
.
ElapsedEventArgs
e
)
{
try
{
List
<
string
>
list
=
new
List
<
string
>(
needConIp
);
if
(
list
.
Count
>
0
)
{
foreach
(
string
ip
in
list
)
{
LogUtil
.
info
(
"重连AOI AI 模块 :"
+
ip
);
ConnectionIP
(
ip
);
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"AOI AI ConTimer_Elapsed 出错: "
+
ex
.
ToString
());
}
}
public
override
void
CloseConnect
()
{
try
{
if
(
AIBox
!=
null
)
{
AIBox
.
Close
();
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"断开AI连接出错:"
+
ex
.
ToString
());
}
}
private
void
Box_AI_Changed_Event
(
AIOBOX
box
,
int
[]
val
)
{
try
{
if
(
val
!=
null
&&
val
.
Length
>=
AILength
)
{
lock
(
AILock
)
{
AIValList
=
new
List
<
int
>();
AIValList
.
AddRange
(
val
);
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"Box_AI_Changed_Event出错:"
+
ex
.
ToString
());
}
}
public
override
double
GetAIValue
(
string
ioiP
,
int
index
)
{
if
(
AIValList
!=
null
&&
AIValList
.
Count
>
index
)
{
return
AIValList
[
index
];
}
return
-
1
;
}
//public override double ConvertAI(double aiValue, double defaultValue)
//{
// double xishu = (double)ConfigAppSettings.GetNumValue(Setting_Init.AI_ConvertPosition);
// double result = Math.Round((aiValue - defaultValue) / xishu, 2);
// return result;
//}
}
}
source/DeviceLibrary/IO/AIOBOX/AIOBOXManager.cs
查看文件 @
80c67da
...
@@ -27,6 +27,52 @@ namespace OnlineStore.DeviceLibrary
...
@@ -27,6 +27,52 @@ namespace OnlineStore.DeviceLibrary
private
object
DILock
=
""
;
private
object
DILock
=
""
;
private
object
DOLock
=
""
;
private
object
DOLock
=
""
;
private
List
<
string
>
IoIPLIst
=
new
List
<
string
>();
private
System
.
Timers
.
Timer
conTimer
=
null
;
public
override
void
ConnectionIOList
(
List
<
string
>
DIONameList
)
{
if
(
conTimer
==
null
)
{
conTimer
=
new
System
.
Timers
.
Timer
();
conTimer
.
AutoReset
=
true
;
conTimer
.
Interval
=
60000
;
conTimer
.
Elapsed
+=
ConTimer_Elapsed
;
}
conTimer
.
Enabled
=
false
;
IoIPLIst
=
new
List
<
string
>(
DIONameList
);
foreach
(
string
ip
in
DIONameList
)
{
ConnectionIP
(
ip
);
}
if
(
IoIPLIst
.
Count
>
0
)
{
//启动定时器,1一分钟重连一次
conTimer
.
Start
();
}
}
private
void
ConTimer_Elapsed
(
object
sender
,
System
.
Timers
.
ElapsedEventArgs
e
)
{
try
{
List
<
string
>
list
=
new
List
<
string
>(
IoIPLIst
);
if
(
list
.
Count
>
0
)
{
foreach
(
string
ip
in
list
)
{
LogUtil
.
info
(
"重连AOI :"
+
ip
);
ConnectionIP
(
ip
);
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"AOI ConTimer_Elapsed 出错: "
+
ex
.
ToString
());
}
}
public
void
ConnectionIP
(
string
ioIp
)
public
void
ConnectionIP
(
string
ioIp
)
{
{
AIOBOX
aioBox
=
null
;
AIOBOX
aioBox
=
null
;
...
@@ -49,24 +95,27 @@ namespace OnlineStore.DeviceLibrary
...
@@ -49,24 +95,27 @@ namespace OnlineStore.DeviceLibrary
{
{
DOValueMap
.
Remove
(
ioIp
);
DOValueMap
.
Remove
(
ioIp
);
}
}
int
DIMS
=
ConfigAppSettings
.
GetIntValue
(
"DIMS"
);
if
(
DIMS
<
20
)
{
DIMS
=
20
;
}
int
DOMS
=
ConfigAppSettings
.
GetIntValue
(
"DOMS"
);
if
(
DOMS
<
200
)
{
DOMS
=
200
;
}
int
DILength
=
StoreManager
.
Config
.
GetDILength
(
ioIp
);
int
DOLength
=
StoreManager
.
Config
.
GetDOLength
(
ioIp
);
string
logName
=
"IO模块["
+
ioIp
+
"] DI["
+
DILength
+
"] DO["
+
DOLength
+
"],["
+
DIMS
+
"] ["
+
DOMS
+
"]"
;
try
try
{
{
// Create new modbus master and add event functions
// Create new modbus master and add event functions
aioBox
=
new
AIOBOX
();
aioBox
=
new
AIOBOX
();
aioBox
.
IP
=
ioIp
;
aioBox
.
IP
=
ioIp
;
int
DIMS
=
ConfigAppSettings
.
GetIntValue
(
"DIMS"
);
if
(
DIMS
<
20
)
{
DIMS
=
20
;
}
int
DOMS
=
ConfigAppSettings
.
GetIntValue
(
"DOMS"
);
if
(
DOMS
<
200
)
{
DOMS
=
200
;
}
// bool rtn = aioBox.AutoIP(ioIp);
// bool rtn = aioBox.AutoIP(ioIp);
int
DILength
=
StoreManager
.
Config
.
GetDILength
(
ioIp
);
int
DOLength
=
StoreManager
.
Config
.
GetDOLength
(
ioIp
);
aioBox
.
SetInput
(
Asa
.
IOModule
.
Box_Type
.
DI
,
DILength
);
aioBox
.
SetInput
(
Asa
.
IOModule
.
Box_Type
.
DI
,
DILength
);
aioBox
.
SetOutput
(
Asa
.
IOModule
.
Box_Type
.
DO
,
DOLength
);
aioBox
.
SetOutput
(
Asa
.
IOModule
.
Box_Type
.
DO
,
DOLength
);
aioBox
.
AutoReadInput
(
true
,
DIMS
);
aioBox
.
AutoReadInput
(
true
,
DIMS
);
...
@@ -75,32 +124,37 @@ namespace OnlineStore.DeviceLibrary
...
@@ -75,32 +124,37 @@ namespace OnlineStore.DeviceLibrary
aioBox
.
DI_Changed_Event
+=
AioBox_DI_Changed_Event
;
;
aioBox
.
DI_Changed_Event
+=
AioBox_DI_Changed_Event
;
;
aioBox
.
DO_Changed_Event
+=
AioBox_DO_Changed_Event
;
aioBox
.
DO_Changed_Event
+=
AioBox_DO_Changed_Event
;
// aioBox.Log_Out_Event += AioBox_Log_Out_Event;
// aioBox.Log_Out_Event += AioBox_Log_Out_Event;
//aioBox.Log_RxTx_Event += AioBox_Log_RxTx_Event;
//aioBox.Log_RxTx_Event += AioBox_Log_RxTx_Event;
AIOMap
.
Add
(
ioIp
,
aioBox
);
AIOMap
.
Add
(
ioIp
,
aioBox
);
LogUtil
.
info
(
"开始连接IO模块["
+
ioIp
+
"]["
+
DIMS
+
"]["
+
DOMS
+
"],尝试重连三次"
);
LogUtil
.
debug
(
"开始连接"
+
logName
+
",尝试重连5次"
);
for
(
int
i
=
1
;
i
<=
3
;
i
++)
for
(
int
i
=
1
;
i
<=
3
;
i
++)
{
{
bool
result
=
aioBox
.
Connect
();
bool
result
=
aioBox
.
Connect
();
if
(
result
)
if
(
result
)
{
{
LogUtil
.
info
(
"第【"
+
i
+
"】次连接
IO模块【"
+
ioIp
+
"】
成功:"
+
aioBox
.
ErrInfo
);
LogUtil
.
info
(
"第【"
+
i
+
"】次连接
"
+
logName
+
"
成功:"
+
aioBox
.
ErrInfo
);
Thread
.
Sleep
(
10
);
Thread
.
Sleep
(
10
);
//读取所有的DO
//读取所有的DO
ReadAllDI
(
ioIp
,
0
);
ReadAllDI
(
ioIp
,
0
);
if
(
IoIPLIst
.
Contains
(
ioIp
))
{
IoIPLIst
.
Remove
(
ioIp
);
}
break
;
break
;
}
}
else
else
{
{
LogUtil
.
error
(
"第【"
+
i
+
"】次连接
IO模块【"
+
ioIp
+
"】
失败:"
+
aioBox
.
ErrInfo
+
""
);
LogUtil
.
error
(
"第【"
+
i
+
"】次连接
"
+
logName
+
"
失败:"
+
aioBox
.
ErrInfo
+
""
);
}
}
Thread
.
Sleep
(
10
);
Thread
.
Sleep
(
2
);
}
}
}
}
catch
(
Exception
error
)
catch
(
Exception
error
)
{
{
LogUtil
.
error
(
LOGGER
,
"连接IO模块
["
+
ioIp
+
"]
出错:"
+
error
.
ToString
());
LogUtil
.
error
(
LOGGER
,
"连接IO模块
"
+
logName
+
"
出错:"
+
error
.
ToString
());
}
}
}
}
...
@@ -123,7 +177,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -123,7 +177,7 @@ namespace OnlineStore.DeviceLibrary
{
{
foreach
(
string
str
in
s
)
foreach
(
string
str
in
s
)
{
{
LogUtil
.
AIOLog
.
Debug
(
"["
+
box
.
IP
+
"]"
+
str
);
//
LogUtil.AIOLog.Debug("[" + box.IP + "]" + str);
}
}
}
}
...
@@ -155,6 +209,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -155,6 +209,7 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
sta
!=
null
&&
sta
.
Length
>=
StoreManager
.
Config
.
GetDILength
(
ip
))
if
(
sta
!=
null
&&
sta
.
Length
>=
StoreManager
.
Config
.
GetDILength
(
ip
))
{
{
string
updateDi
=
"["
+
ip
+
"]:"
;
bool
needUpdate
=
false
;
bool
needUpdate
=
false
;
List
<
Box_Sta
>
newList
=
new
List
<
Box_Sta
>();
List
<
Box_Sta
>
newList
=
new
List
<
Box_Sta
>();
newList
.
AddRange
(
sta
);
newList
.
AddRange
(
sta
);
...
@@ -166,6 +221,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -166,6 +221,14 @@ namespace OnlineStore.DeviceLibrary
}
}
else
else
{
{
//foreach(Box_Sta s in sta)
//{
// updateDi += s.ToString() + ",";
//}
//if (ip.Equals("192.168.201.61"))
//{
// LogUtil.info(updateDi);
//}
for
(
int
i
=
0
;
i
<
newList
.
Count
;
i
++)
for
(
int
i
=
0
;
i
<
newList
.
Count
;
i
++)
{
{
if
(!(
oldList
[
i
].
Equals
(
newList
[
i
])))
if
(!(
oldList
[
i
].
Equals
(
newList
[
i
])))
...
@@ -245,13 +308,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -245,13 +308,6 @@ namespace OnlineStore.DeviceLibrary
}
}
public
override
void
ConnectionIOList
(
List
<
string
>
DIONameList
)
{
foreach
(
string
ip
in
DIONameList
)
{
ConnectionIP
(
ip
);
}
}
//关闭所有的DO
//关闭所有的DO
public
override
void
CloseAllDO
()
public
override
void
CloseAllDO
()
...
@@ -372,7 +428,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -372,7 +428,7 @@ namespace OnlineStore.DeviceLibrary
AIOBOX
aioBox
=
getAIO
(
ioIp
);
AIOBOX
aioBox
=
getAIO
(
ioIp
);
if
(
aioBox
!=
null
)
if
(
aioBox
!=
null
)
{
{
// int startIndex = StoreManager.Config.GetDILength(ioIp);
// int startIndex = StoreManager.Config.GetDILength(ioIp);
Box_Sta
[]
allDO
=
aioBox
.
ReadDO
(
0
,
StoreManager
.
Config
.
GetDOLength
(
ioIp
));
Box_Sta
[]
allDO
=
aioBox
.
ReadDO
(
0
,
StoreManager
.
Config
.
GetDOLength
(
ioIp
));
UpdateAllDO
(
ioIp
,
allDO
);
UpdateAllDO
(
ioIp
,
allDO
);
}
}
...
@@ -392,8 +448,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -392,8 +448,8 @@ namespace OnlineStore.DeviceLibrary
{
{
Box_Sta
sta
=
Box_Sta
.
Off
;
Box_Sta
sta
=
Box_Sta
.
Off
;
// Box_Addr addr = GetAddr(StartAddress);
// Box_Addr addr = GetAddr(StartAddress);
// int index = (int)StartAddress - (int)StoreManager.Config.GetDILength(ioIP);
// int index = (int)StartAddress - (int)StoreManager.Config.GetDILength(ioIP);
if
(
DOValueMap
.
ContainsKey
(
ioIP
)
&&
DOValueMap
[
ioIP
].
Count
>
StartAddress
)
if
(
DOValueMap
.
ContainsKey
(
ioIP
)
&&
DOValueMap
[
ioIP
].
Count
>
StartAddress
)
{
{
sta
=
DOValueMap
[
ioIP
][
StartAddress
];
sta
=
DOValueMap
[
ioIP
][
StartAddress
];
...
@@ -451,11 +507,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -451,11 +507,11 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
configIO
.
ProType
.
Equals
(
ConfigItemType
.
DI
))
if
(
configIO
.
ProType
.
Equals
(
ConfigItemType
.
DI
))
{
{
return
GetDIValue
(
configIO
.
IO_IP
,
configIO
.
SlaveID
,
configIO
.
GetIOAddr
());
return
GetDIValue
(
configIO
.
DeviceName
,
configIO
.
SlaveID
,
configIO
.
GetIOAddr
());
}
}
else
if
(
configIO
.
ProType
.
Equals
(
ConfigItemType
.
DO
))
else
if
(
configIO
.
ProType
.
Equals
(
ConfigItemType
.
DO
))
{
{
return
GetDOValue
(
configIO
.
IO_IP
,
configIO
.
SlaveID
,
configIO
.
GetIOAddr
());
return
GetDOValue
(
configIO
.
DeviceName
,
configIO
.
SlaveID
,
configIO
.
GetIOAddr
());
}
}
}
}
catch
(
Exception
ex
)
catch
(
Exception
ex
)
...
...
source/DeviceLibrary/IO/KangNaiDe/KNDAIManager.cs
查看文件 @
80c67da
此文件的差异被折叠,
点击展开。
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论