Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
G
GC_Branch
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
周磊
GC_Branch
Commits
6daccc87
Commit
6daccc87
authored
Jul 03, 2018
by
wangjunqiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修正信号值bug
parent
d47f0f7d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
45 additions
and
65 deletions
+45
-65
GCModbusSlave.cs
GcDevicePc/Common/GCModbusSlave.cs
+45
-65
No files found.
GcDevicePc/Common/GCModbusSlave.cs
View file @
6daccc87
...
...
@@ -35,7 +35,15 @@ namespace GcDevicePc.Common
public
GCModbusSlave
()
{
this
.
hModbusHandle
=
fnLibModbusSlaveInit
();
try
{
this
.
hModbusHandle
=
fnLibModbusSlaveInit
();
}
catch
{
}
}
~
GCModbusSlave
()
...
...
@@ -82,37 +90,45 @@ namespace GcDevicePc.Common
}
static
ushort
slavereadhreg
(
ushort
address
)
{
{
ushort
value
=
0
;
ushort
baseaddress
=
20
;
address
=
(
ushort
)(
address
-
1
);
ushort
signalddress
=
17
;
ushort
baseaddress
=
23
;
address
=
(
ushort
)
(
address
-
1
);
int
listnum
=
SharedSpace
.
Data
.
listValue
.
Count
;
int
readnum
=
(
address
-
baseaddress
)/
2
;
if
(
readnum
<=
listnum
-
1
&&
listnum
>
0
&&
address
>=
20
)
if
(
address
>=
17
)
{
// lock(CKVocAnalyzer.GlobalCKV.valueparamlist){
try
{
ushort
[]
s
=
new
ushort
[
2
];
float
[]
f
=
new
float
[
2
];
{
f
[
0
]
=
float
.
Parse
(
SharedSpace
.
Data
.
listValue
[
readnum
].
vale
.
ToString
());
Buffer
.
BlockCopy
(
f
,
2
,
s
,
0
,
2
);
Buffer
.
BlockCopy
(
f
,
0
,
s
,
2
,
2
);
}
value
=
s
[(
address
-
baseaddress
)%
2
];
}
catch
{
}
//}
ushort
[]
s
=
new
ushort
[
2
];
float
[]
f
=
new
float
[
2
];
if
(
address
>=
17
&&
address
<=
22
)
{
if
(
address
==
17
||
address
==
18
)
f
[
0
]
=
float
.
Parse
(
globaldata
.
m_dpbuffer
.
ShowList
.
showDet
.
fDetValue
.
ToString
(
"0.000"
));
if
(
address
==
19
||
address
==
20
)
f
[
0
]
=
float
.
Parse
(
globaldata
.
m_dpbuffer
.
ShowList
.
showDet
.
iDetValue
.
ToString
(
"0.000"
));
if
(
address
==
21
||
address
==
22
)
f
[
0
]
=
float
.
Parse
(
globaldata
.
m_dpbuffer
.
ShowList
.
showDet
.
bDetValue
.
ToString
(
"0.000"
));
Buffer
.
BlockCopy
(
f
,
2
,
s
,
0
,
2
);
Buffer
.
BlockCopy
(
f
,
0
,
s
,
2
,
2
);
value
=
s
[(
address
-
signalddress
)
%
2
];
}
else
if
(
address
>=
23
&&
listnum
>
0
)
{
int
readnum
=
(
address
-
baseaddress
)
/
2
;
f
[
0
]
=
float
.
Parse
(
SharedSpace
.
Data
.
listValue
[
readnum
].
vale
.
ToString
());
Buffer
.
BlockCopy
(
f
,
2
,
s
,
0
,
2
);
Buffer
.
BlockCopy
(
f
,
0
,
s
,
2
,
2
);
value
=
s
[(
address
-
baseaddress
)
%
2
];
}
else
{
value
=
0
;
}
}
if
(
address
>=
2
&&
address
<
20
)
if
(
address
>=
2
&&
address
<
20
)
{
switch
(
address
)
switch
(
address
)
{
case
2
:
{
...
...
@@ -286,47 +302,11 @@ namespace GcDevicePc.Common
}
}
break
;
case
17
:
//前检测器值
{
if
(
CProfileDevice
.
m_DevParam
.
syspara
.
u16DetFront
==
1
)
{
value
=
(
ushort
)
(
globaldata
.
m_dpbuffer
.
ShowList
.
showDet
.
fDetValue
*
1000
);
}
else
{
value
=
0
;
}
}
break
;
case
18
:
//中检测器值
{
if
(
CProfileDevice
.
m_DevParam
.
syspara
.
u16DetInter
==
1
)
{
value
=
(
ushort
)
(
globaldata
.
m_dpbuffer
.
ShowList
.
showDet
.
iDetValue
*
1000
);
}
else
{
value
=
0
;
}
}
break
;
case
19
:
//后检测器值
{
if
(
CProfileDevice
.
m_DevParam
.
syspara
.
u16DetBehind
==
1
)
{
value
=
(
ushort
)
(
globaldata
.
m_dpbuffer
.
ShowList
.
showDet
.
bDetValue
*
1000
);
}
else
{
value
=
0
;
}
}
break
;
}
}
return
value
;
}
return
value
;
}
static
void
slavewirtehreg
(
ushort
address
,
ushort
value
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment