Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
U
uniset2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
UniSet project repositories
uniset2
Commits
ddd5f5be
Commit
ddd5f5be
authored
Jan 27, 2014
by
Pavel Vainerman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Различные мелки оптимизационные правки
parent
b80682d0
Show whitespace changes
Inline
Side-by-side
Showing
36 changed files
with
176 additions
and
175 deletions
+176
-175
MBSlave.cc
Utilities/MBTester/MBSlave.cc
+6
-6
MBTCPServer.cc
Utilities/MBTester/MBTCPServer.cc
+3
-3
ctl-cpp-cc-alone-ask.xsl
Utilities/codegen/ctl-cpp-cc-alone-ask.xsl
+1
-1
ctl-cpp-cc-alone.xsl
Utilities/codegen/ctl-cpp-cc-alone.xsl
+1
-1
ctl-cpp-cc-ask.xsl
Utilities/codegen/ctl-cpp-cc-ask.xsl
+1
-1
ctl-cpp-cc.xsl
Utilities/codegen/ctl-cpp-cc.xsl
+1
-1
SQLiteInterface.cc
extensions/DBServer-SQLite/SQLiteInterface.cc
+1
-1
IOControl.cc
extensions/IOControl/IOControl.cc
+2
-2
iotest.cc
extensions/IOControl/iotest.cc
+7
-7
TDelay.cc
extensions/LogicProcessor/TDelay.cc
+1
-1
TOR.cc
extensions/LogicProcessor/TOR.cc
+1
-1
MBExchange.cc
extensions/ModbusMaster/MBExchange.cc
+31
-31
RTUStorage.cc
extensions/ModbusMaster/RTUStorage.cc
+43
-43
rtustate.cc
extensions/ModbusMaster/rtustate.cc
+2
-2
MBSlave.cc
extensions/ModbusSlave/MBSlave.cc
+11
-11
SharedMemory.cc
extensions/SharedMemory/SharedMemory.cc
+1
-1
smemory-plus.cc
extensions/SharedMemoryPlus/smemory-plus.cc
+4
-4
UniExchange.cc
extensions/UniNetwork/UniExchange.cc
+1
-1
DigitalFilter.cc
extensions/lib/DigitalFilter.cc
+1
-1
MTR.cc
extensions/lib/MTR.cc
+1
-1
Mutex.h
include/Mutex.h
+1
-0
ComPort485F.cc
src/Communications/ComPort485F.cc
+2
-2
ModbusHelpers.cc
src/Communications/Modbus/ModbusHelpers.cc
+1
-1
ModbusTCPCore.cc
src/Communications/Modbus/ModbusTCPCore.cc
+1
-1
ModbusTCPMaster.cc
src/Communications/Modbus/ModbusTCPMaster.cc
+2
-2
ModbusTCPTypes.cc
src/Communications/Modbus/ModbusTCPTypes.cc
+19
-19
ModbusTypes.cc
src/Communications/Modbus/ModbusTypes.cc
+17
-17
ObjectIndex_Array.cc
src/ObjectRepository/ObjectIndex_Array.cc
+1
-1
ObjectRepository.cc
src/ObjectRepository/ObjectRepository.cc
+1
-1
ProxyManager.cc
src/ObjectRepository/ProxyManager.cc
+1
-1
UniSetManager.cc
src/ObjectRepository/UniSetManager.cc
+1
-1
UniSetObject.cc
src/ObjectRepository/UniSetObject.cc
+1
-1
IOController.cc
src/Processes/IOController.cc
+3
-3
IONotifyController.cc
src/Processes/IONotifyController.cc
+3
-3
SViewer.cc
src/Various/SViewer.cc
+1
-1
UniXML.cc
src/Various/UniXML.cc
+1
-1
No files found.
Utilities/MBTester/MBSlave.cc
View file @
ddd5f5be
...
@@ -88,7 +88,7 @@ void MBSlave::execute()
...
@@ -88,7 +88,7 @@ void MBSlave::execute()
// с проверкой на переполнение
// с проверкой на переполнение
askCount = askCount>=numeric_limits<long>::max() ? 0 : askCount+1;
askCount = askCount>=numeric_limits<long>::max() ? 0 : askCount+1;
if( res!=ModbusRTU::erNoError )
if( res!=ModbusRTU::erNoError )
errmap[res]++
;
++errmap[res]
;
prev = res;
prev = res;
}
}
...
@@ -116,11 +116,11 @@ ModbusRTU::mbErrCode MBSlave::readCoilStatus( ReadCoilMessage& query,
...
@@ -116,11 +116,11 @@ ModbusRTU::mbErrCode MBSlave::readCoilStatus( ReadCoilMessage& query,
d
.
b
[
6
]
=
1
;
d
.
b
[
6
]
=
1
;
// Фомирование ответа:
// Фомирование ответа:
int
bcnt
=
query
.
count
/
ModbusRTU
::
BitsPerByte
;
unsigned
int
bcnt
=
query
.
count
/
ModbusRTU
::
BitsPerByte
;
if
(
(
query
.
count
%
ModbusRTU
::
BitsPerByte
)
>
0
)
if
(
(
query
.
count
%
ModbusRTU
::
BitsPerByte
)
>
0
)
bcnt
++
;
bcnt
++
;
for
(
int
i
=
0
;
i
<
bcnt
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
bcnt
;
i
++
)
{
{
if
(
replyVal
!=-
1
)
if
(
replyVal
!=-
1
)
reply
.
addData
(
replyVal
);
reply
.
addData
(
replyVal
);
...
@@ -149,18 +149,18 @@ ModbusRTU::mbErrCode MBSlave::readInputStatus( ReadInputStatusMessage& query,
...
@@ -149,18 +149,18 @@ ModbusRTU::mbErrCode MBSlave::readInputStatus( ReadInputStatusMessage& query,
while
(
i
<
query
.
count
)
while
(
i
<
query
.
count
)
{
{
reply
.
addData
(
0
);
reply
.
addData
(
0
);
for
(
int
nbit
=
0
;
nbit
<
BitsPerByte
&&
i
<
query
.
count
;
nbit
++
,
i
++
)
for
(
unsigned
int
nbit
=
0
;
nbit
<
BitsPerByte
&&
i
<
query
.
count
;
nbit
++
,
i
++
)
reply
.
setBit
(
bnum
,
nbit
,
d
.
b
[
nbit
]);
reply
.
setBit
(
bnum
,
nbit
,
d
.
b
[
nbit
]);
bnum
++
;
bnum
++
;
}
}
}
}
else
else
{
{
int
bcnt
=
query
.
count
/
ModbusRTU
::
BitsPerByte
;
unsigned
int
bcnt
=
query
.
count
/
ModbusRTU
::
BitsPerByte
;
if
(
(
query
.
count
%
ModbusRTU
::
BitsPerByte
)
>
0
)
if
(
(
query
.
count
%
ModbusRTU
::
BitsPerByte
)
>
0
)
bcnt
++
;
bcnt
++
;
for
(
int
i
=
0
;
i
<
bcnt
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
bcnt
;
i
++
)
{
{
if
(
i
==
1
)
if
(
i
==
1
)
reply
.
addData
(
replyVal2
);
reply
.
addData
(
replyVal2
);
...
...
Utilities/MBTester/MBTCPServer.cc
View file @
ddd5f5be
...
@@ -85,7 +85,7 @@ void MBTCPServer::execute()
...
@@ -85,7 +85,7 @@ void MBTCPServer::execute()
// с проверкой на переполнение
// с проверкой на переполнение
askCount = askCount>=numeric_limits<long>::max() ? 0 : askCount+1;
askCount = askCount>=numeric_limits<long>::max() ? 0 : askCount+1;
if( res!=ModbusRTU::erNoError )
if( res!=ModbusRTU::erNoError )
errmap[res]++
;
++errmap[res]
;
prev = res;
prev = res;
}
}
...
@@ -161,7 +161,7 @@ ModbusRTU::mbErrCode MBTCPServer::readInputStatus( ReadInputStatusMessage& query
...
@@ -161,7 +161,7 @@ ModbusRTU::mbErrCode MBTCPServer::readInputStatus( ReadInputStatusMessage& query
while
(
i
<
query
.
count
)
while
(
i
<
query
.
count
)
{
{
reply
.
addData
(
0
);
reply
.
addData
(
0
);
for
(
int
nbit
=
0
;
nbit
<
BitsPerByte
&&
i
<
query
.
count
;
nbit
++
,
i
++
)
for
(
unsigned
int
nbit
=
0
;
nbit
<
BitsPerByte
&&
i
<
query
.
count
;
nbit
++
,
i
++
)
reply
.
setBit
(
bnum
,
nbit
,
d
.
b
[
nbit
]);
reply
.
setBit
(
bnum
,
nbit
,
d
.
b
[
nbit
]);
bnum
++
;
bnum
++
;
}
}
...
@@ -172,7 +172,7 @@ ModbusRTU::mbErrCode MBTCPServer::readInputStatus( ReadInputStatusMessage& query
...
@@ -172,7 +172,7 @@ ModbusRTU::mbErrCode MBTCPServer::readInputStatus( ReadInputStatusMessage& query
if
(
(
query
.
count
%
ModbusRTU
::
BitsPerByte
)
>
0
)
if
(
(
query
.
count
%
ModbusRTU
::
BitsPerByte
)
>
0
)
bcnt
++
;
bcnt
++
;
for
(
int
i
=
0
;
i
<
bcnt
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
bcnt
;
i
++
)
reply
.
addData
(
replyVal
);
reply
.
addData
(
replyVal
);
}
}
...
...
Utilities/codegen/ctl-cpp-cc-alone-ask.xsl
View file @
ddd5f5be
...
@@ -62,7 +62,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback()
...
@@ -62,7 +62,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback()
}
}
// обработка сообщений (таймеров и т.п.)
// обработка сообщений (таймеров и т.п.)
for( int i=0; i
<
<xsl:call-template
name=
"settings-alone"
><xsl:with-param
name=
"varname"
select=
"'msg-count'"
/></xsl:call-template>
; i++ )
for(
unsigned
int i=0; i
<
<xsl:call-template
name=
"settings-alone"
><xsl:with-param
name=
"varname"
select=
"'msg-count'"
/></xsl:call-template>
; i++ )
{
{
if( !receiveMessage(msg) )
if( !receiveMessage(msg) )
break;
break;
...
...
Utilities/codegen/ctl-cpp-cc-alone.xsl
View file @
ddd5f5be
...
@@ -66,7 +66,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback()
...
@@ -66,7 +66,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback()
}
}
// обработка сообщений (таймеров и т.п.)
// обработка сообщений (таймеров и т.п.)
for( int i=0; i
<
<xsl:call-template
name=
"settings-alone"
><xsl:with-param
name=
"varname"
select=
"'msg-count'"
/></xsl:call-template>
; i++ )
for(
unsigned
int i=0; i
<
<xsl:call-template
name=
"settings-alone"
><xsl:with-param
name=
"varname"
select=
"'msg-count'"
/></xsl:call-template>
; i++ )
{
{
if( !receiveMessage(msg) )
if( !receiveMessage(msg) )
break;
break;
...
...
Utilities/codegen/ctl-cpp-cc-ask.xsl
View file @
ddd5f5be
...
@@ -63,7 +63,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback()
...
@@ -63,7 +63,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback()
}
}
// обработка сообщений (таймеров и т.п.)
// обработка сообщений (таймеров и т.п.)
for( int i=0; i
<
<xsl:call-template
name=
"settings"
><xsl:with-param
name=
"varname"
select=
"'msg-count'"
/></xsl:call-template>
; i++ )
for(
unsigned
int i=0; i
<
<xsl:call-template
name=
"settings"
><xsl:with-param
name=
"varname"
select=
"'msg-count'"
/></xsl:call-template>
; i++ )
{
{
if( !receiveMessage(msg) )
if( !receiveMessage(msg) )
break;
break;
...
...
Utilities/codegen/ctl-cpp-cc.xsl
View file @
ddd5f5be
...
@@ -69,7 +69,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback()
...
@@ -69,7 +69,7 @@ void <xsl:value-of select="$CLASSNAME"/>_SK::callback()
}
}
// обработка сообщений (таймеров и т.п.)
// обработка сообщений (таймеров и т.п.)
for( int i=0; i
<
<xsl:call-template
name=
"settings"
><xsl:with-param
name=
"varname"
select=
"'msg-count'"
/></xsl:call-template>
; i++ )
for(
unsigned
int i=0; i
<
<xsl:call-template
name=
"settings"
><xsl:with-param
name=
"varname"
select=
"'msg-count'"
/></xsl:call-template>
; i++ )
{
{
if( !receiveMessage(msg) )
if( !receiveMessage(msg) )
break;
break;
...
...
extensions/DBServer-SQLite/SQLiteInterface.cc
View file @
ddd5f5be
...
@@ -254,7 +254,7 @@ SQLiteResult::SQLiteResult( sqlite3_stmt* s, bool finalize )
...
@@ -254,7 +254,7 @@ SQLiteResult::SQLiteResult( sqlite3_stmt* s, bool finalize )
int
n
=
sqlite3_data_count
(
s
);
int
n
=
sqlite3_data_count
(
s
);
COL
c
;
COL
c
;
for
(
int
i
=
0
;
i
<
n
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
n
;
i
++
)
{
{
char
*
p
=
(
char
*
)
sqlite3_column_text
(
s
,
i
);
char
*
p
=
(
char
*
)
sqlite3_column_text
(
s
,
i
);
if
(
p
)
if
(
p
)
...
...
extensions/IOControl/IOControl.cc
View file @
ddd5f5be
...
@@ -98,7 +98,7 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
...
@@ -98,7 +98,7 @@ IOControl::IOControl( UniSetTypes::ObjectId id, UniSetTypes::ObjectId icID,
if
(
cards
[
i
]
!=
NULL
)
if
(
cards
[
i
]
!=
NULL
)
{
{
for
(
int
s
=
1
;
s
<=
4
;
s
++
)
for
(
unsigned
int
s
=
1
;
s
<=
4
;
s
++
)
{
{
stringstream
t1
;
stringstream
t1
;
t1
<<
s1
.
str
()
<<
"-subdev"
<<
s
<<
"-type"
;
t1
<<
s1
.
str
()
<<
"-subdev"
<<
s
<<
"-type"
;
...
@@ -1594,7 +1594,7 @@ void IOControl::buildCardsList()
...
@@ -1594,7 +1594,7 @@ void IOControl::buildCardsList()
k
=
2
;
k
=
2
;
// инициализация subdev-ов
// инициализация subdev-ов
for
(
int
i
=
1
;
i
<=
k
;
i
++
)
for
(
unsigned
int
i
=
1
;
i
<=
k
;
i
++
)
{
{
ostringstream
s
;
ostringstream
s
;
s
<<
"subdev"
<<
i
;
s
<<
"subdev"
<<
i
;
...
...
extensions/IOControl/iotest.cc
View file @
ddd5f5be
...
@@ -215,7 +215,7 @@ int main(int argc, char* argv[])
...
@@ -215,7 +215,7 @@ int main(int argc, char* argv[])
{
{
if
(
autoconf
)
if
(
autoconf
)
{
{
for
(
int
k
=
0
;
chan
[
k
]
!=-
1
;
k
++
)
for
(
unsigned
int
k
=
0
;
chan
[
k
]
!=-
1
;
k
++
)
{
{
if
(
comedi_dio_config
(
card
,
subdev
,
chan
[
k
],
INSN_CONFIG_DIO_INPUT
)
<
0
)
if
(
comedi_dio_config
(
card
,
subdev
,
chan
[
k
],
INSN_CONFIG_DIO_INPUT
)
<
0
)
{
{
...
@@ -225,7 +225,7 @@ int main(int argc, char* argv[])
...
@@ -225,7 +225,7 @@ int main(int argc, char* argv[])
}
}
}
}
for
(
int
k
=
0
;
chan
[
k
]
!=-
1
;
k
++
)
for
(
unsigned
int
k
=
0
;
chan
[
k
]
!=-
1
;
k
++
)
{
{
if
(
comedi_dio_read
(
card
,
subdev
,
chan
[
k
],
&
data
)
<
0
)
if
(
comedi_dio_read
(
card
,
subdev
,
chan
[
k
],
&
data
)
<
0
)
{
{
...
@@ -242,7 +242,7 @@ int main(int argc, char* argv[])
...
@@ -242,7 +242,7 @@ int main(int argc, char* argv[])
{
{
if
(
autoconf
)
if
(
autoconf
)
{
{
for
(
int
k
=
0
;
chan
[
k
]
!=-
1
;
k
++
)
for
(
unsigned
int
k
=
0
;
chan
[
k
]
!=-
1
;
k
++
)
{
{
if
(
comedi_dio_config
(
card
,
subdev
,
chan
[
k
],
INSN_CONFIG_DIO_OUTPUT
)
<
0
)
if
(
comedi_dio_config
(
card
,
subdev
,
chan
[
k
],
INSN_CONFIG_DIO_OUTPUT
)
<
0
)
{
{
...
@@ -254,7 +254,7 @@ int main(int argc, char* argv[])
...
@@ -254,7 +254,7 @@ int main(int argc, char* argv[])
// реализация мигания
// реализация мигания
while
(
1
)
while
(
1
)
{
{
for
(
int
k
=
0
;
chan
[
k
]
!=-
1
;
k
++
)
for
(
unsigned
int
k
=
0
;
chan
[
k
]
!=-
1
;
k
++
)
{
{
if
(
verb
)
if
(
verb
)
printf
(
"write: ch=%d val=%d
\n
"
,
chan
[
k
],
val
);
printf
(
"write: ch=%d val=%d
\n
"
,
chan
[
k
],
val
);
...
@@ -277,7 +277,7 @@ int main(int argc, char* argv[])
...
@@ -277,7 +277,7 @@ int main(int argc, char* argv[])
case
cmdARead
:
case
cmdARead
:
{
{
for
(
int
k
=
0
;
chan
[
k
]
!=-
1
;
k
++
)
for
(
unsigned
int
k
=
0
;
chan
[
k
]
!=-
1
;
k
++
)
{
{
if
(
autoconf
)
if
(
autoconf
)
insn_config
(
card
,
subdev
,
chan
[
k
],
100
,
range
,
aref
);
insn_config
(
card
,
subdev
,
chan
[
k
],
100
,
range
,
aref
);
...
@@ -296,7 +296,7 @@ int main(int argc, char* argv[])
...
@@ -296,7 +296,7 @@ int main(int argc, char* argv[])
case
cmdAWrite
:
case
cmdAWrite
:
{
{
for
(
int
k
=
0
;
chan
[
k
]
!=-
1
;
k
++
)
for
(
unsigned
int
k
=
0
;
chan
[
k
]
!=-
1
;
k
++
)
{
{
if
(
autoconf
)
if
(
autoconf
)
insn_config
(
card
,
subdev
,
chan
[
k
],
101
,
range
,
aref
);
insn_config
(
card
,
subdev
,
chan
[
k
],
101
,
range
,
aref
);
...
@@ -313,7 +313,7 @@ int main(int argc, char* argv[])
...
@@ -313,7 +313,7 @@ int main(int argc, char* argv[])
case
cmdConfig
:
case
cmdConfig
:
{
{
for
(
int
k
=
0
;
chan
[
k
]
!=-
1
;
k
++
)
for
(
unsigned
int
k
=
0
;
chan
[
k
]
!=-
1
;
k
++
)
{
{
if
(
val
!=
INSN_CONFIG_DIO_INPUT
if
(
val
!=
INSN_CONFIG_DIO_INPUT
&&
val
!=
INSN_CONFIG_DIO_OUTPUT
&&
val
!=
INSN_CONFIG_DIO_OUTPUT
...
...
extensions/LogicProcessor/TDelay.cc
View file @
ddd5f5be
...
@@ -13,7 +13,7 @@ TDelay::TDelay( Element::ElementID id, int delayMS, int inCount):
...
@@ -13,7 +13,7 @@ TDelay::TDelay( Element::ElementID id, int delayMS, int inCount):
if
(
inCount
!=
0
)
if
(
inCount
!=
0
)
{
{
// создаём заданное количество входов
// создаём заданное количество входов
for
(
int
i
=
1
;
i
<=
inCount
;
i
++
)
for
(
unsigned
int
i
=
1
;
i
<=
inCount
;
i
++
)
ins
.
push_front
(
InputInfo
(
i
,
false
));
// addInput(i,st);
ins
.
push_front
(
InputInfo
(
i
,
false
));
// addInput(i,st);
}
}
}
}
...
...
extensions/LogicProcessor/TOR.cc
View file @
ddd5f5be
...
@@ -13,7 +13,7 @@ TOR::TOR(ElementID id, int num, bool st):
...
@@ -13,7 +13,7 @@ TOR::TOR(ElementID id, int num, bool st):
if
(
num
!=
0
)
if
(
num
!=
0
)
{
{
// создаём заданное количество входов
// создаём заданное количество входов
for
(
int
i
=
1
;
i
<=
num
;
i
++
)
for
(
unsigned
int
i
=
1
;
i
<=
num
;
i
++
)
{
{
ins
.
push_front
(
InputInfo
(
i
,
st
));
// addInput(i,st);
ins
.
push_front
(
InputInfo
(
i
,
st
));
// addInput(i,st);
if
(
st
==
true
)
if
(
st
==
true
)
...
...
extensions/ModbusMaster/MBExchange.cc
View file @
ddd5f5be
...
@@ -585,10 +585,10 @@ bool MBExchange::preInitRead( InitList::iterator& p )
...
@@ -585,10 +585,10 @@ bool MBExchange::preInitRead( InitList::iterator& p )
ModbusRTU
::
ReadInputStatusRetMessage
ret
=
mb
->
read02
(
dev
->
mbaddr
,
p
->
mbreg
,
q_count
);
ModbusRTU
::
ReadInputStatusRetMessage
ret
=
mb
->
read02
(
dev
->
mbaddr
,
p
->
mbreg
,
q_count
);
ModbusRTU
::
ModbusData
*
dat
=
new
ModbusRTU
::
ModbusData
[
q_count
];
ModbusRTU
::
ModbusData
*
dat
=
new
ModbusRTU
::
ModbusData
[
q_count
];
int
m
=
0
;
int
m
=
0
;
for
(
int
i
=
0
;
i
<
ret
.
bcnt
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
ret
.
bcnt
;
i
++
)
{
{
ModbusRTU
::
DataBits
b
(
ret
.
data
[
i
]);
ModbusRTU
::
DataBits
b
(
ret
.
data
[
i
]);
for
(
int
k
=
0
;
k
<
ModbusRTU
::
BitsPerByte
&&
m
<
q_count
;
k
++
,
m
++
)
for
(
unsigned
int
k
=
0
;
k
<
ModbusRTU
::
BitsPerByte
&&
m
<
q_count
;
k
++
,
m
++
)
dat
[
m
]
=
b
[
k
];
dat
[
m
]
=
b
[
k
];
}
}
...
@@ -602,10 +602,10 @@ bool MBExchange::preInitRead( InitList::iterator& p )
...
@@ -602,10 +602,10 @@ bool MBExchange::preInitRead( InitList::iterator& p )
ModbusRTU
::
ReadCoilRetMessage
ret
=
mb
->
read01
(
dev
->
mbaddr
,
p
->
mbreg
,
q_count
);
ModbusRTU
::
ReadCoilRetMessage
ret
=
mb
->
read01
(
dev
->
mbaddr
,
p
->
mbreg
,
q_count
);
ModbusRTU
::
ModbusData
*
dat
=
new
ModbusRTU
::
ModbusData
[
q_count
];
ModbusRTU
::
ModbusData
*
dat
=
new
ModbusRTU
::
ModbusData
[
q_count
];
int
m
=
0
;
int
m
=
0
;
for
(
int
i
=
0
;
i
<
ret
.
bcnt
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
ret
.
bcnt
;
i
++
)
{
{
ModbusRTU
::
DataBits
b
(
ret
.
data
[
i
]);
ModbusRTU
::
DataBits
b
(
ret
.
data
[
i
]);
for
(
int
k
=
0
;
k
<
ModbusRTU
::
BitsPerByte
&&
m
<
q_count
;
k
++
,
m
++
)
for
(
unsigned
int
k
=
0
;
k
<
ModbusRTU
::
BitsPerByte
&&
m
<
q_count
;
k
++
,
m
++
)
dat
[
m
]
=
b
[
k
];
dat
[
m
]
=
b
[
k
];
}
}
...
@@ -803,7 +803,7 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
...
@@ -803,7 +803,7 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
case
ModbusRTU
:
:
fnReadInputRegisters
:
case
ModbusRTU
:
:
fnReadInputRegisters
:
{
{
ModbusRTU
::
ReadInputRetMessage
ret
=
mb
->
read04
(
dev
->
mbaddr
,
p
->
mbreg
,
p
->
q_count
);
ModbusRTU
::
ReadInputRetMessage
ret
=
mb
->
read04
(
dev
->
mbaddr
,
p
->
mbreg
,
p
->
q_count
);
for
(
int
i
=
0
;
i
<
p
->
q_count
;
i
++
,
it
++
)
for
(
unsigned
int
i
=
0
;
i
<
p
->
q_count
;
i
++
,
it
++
)
it
->
second
->
mbval
=
ret
.
data
[
i
];
it
->
second
->
mbval
=
ret
.
data
[
i
];
it
--
;
it
--
;
}
}
...
@@ -812,7 +812,7 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
...
@@ -812,7 +812,7 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
case
ModbusRTU
:
:
fnReadOutputRegisters
:
case
ModbusRTU
:
:
fnReadOutputRegisters
:
{
{
ModbusRTU
::
ReadOutputRetMessage
ret
=
mb
->
read03
(
dev
->
mbaddr
,
p
->
mbreg
,
p
->
q_count
);
ModbusRTU
::
ReadOutputRetMessage
ret
=
mb
->
read03
(
dev
->
mbaddr
,
p
->
mbreg
,
p
->
q_count
);
for
(
int
i
=
0
;
i
<
p
->
q_count
;
i
++
,
it
++
)
for
(
unsigned
int
i
=
0
;
i
<
p
->
q_count
;
i
++
,
it
++
)
it
->
second
->
mbval
=
ret
.
data
[
i
];
it
->
second
->
mbval
=
ret
.
data
[
i
];
it
--
;
it
--
;
}
}
...
@@ -822,10 +822,10 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
...
@@ -822,10 +822,10 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
{
{
ModbusRTU
::
ReadInputStatusRetMessage
ret
=
mb
->
read02
(
dev
->
mbaddr
,
p
->
mbreg
,
p
->
q_count
);
ModbusRTU
::
ReadInputStatusRetMessage
ret
=
mb
->
read02
(
dev
->
mbaddr
,
p
->
mbreg
,
p
->
q_count
);
int
m
=
0
;
int
m
=
0
;
for
(
int
i
=
0
;
i
<
ret
.
bcnt
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
ret
.
bcnt
;
i
++
)
{
{
ModbusRTU
::
DataBits
b
(
ret
.
data
[
i
]);
ModbusRTU
::
DataBits
b
(
ret
.
data
[
i
]);
for
(
int
k
=
0
;
k
<
ModbusRTU
::
BitsPerByte
&&
m
<
p
->
q_count
;
k
++
,
it
++
,
m
++
)
for
(
unsigned
int
k
=
0
;
k
<
ModbusRTU
::
BitsPerByte
&&
m
<
p
->
q_count
;
k
++
,
it
++
,
m
++
)
it
->
second
->
mbval
=
b
[
k
];
it
->
second
->
mbval
=
b
[
k
];
}
}
it
--
;
it
--
;
...
@@ -836,10 +836,10 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
...
@@ -836,10 +836,10 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
{
{
ModbusRTU
::
ReadCoilRetMessage
ret
=
mb
->
read01
(
dev
->
mbaddr
,
p
->
mbreg
,
p
->
q_count
);
ModbusRTU
::
ReadCoilRetMessage
ret
=
mb
->
read01
(
dev
->
mbaddr
,
p
->
mbreg
,
p
->
q_count
);
int
m
=
0
;
int
m
=
0
;
for
(
int
i
=
0
;
i
<
ret
.
bcnt
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
ret
.
bcnt
;
i
++
)
{
{
ModbusRTU
::
DataBits
b
(
ret
.
data
[
i
]);
ModbusRTU
::
DataBits
b
(
ret
.
data
[
i
]);
for
(
int
k
=
0
;
k
<
ModbusRTU
::
BitsPerByte
&&
m
<
p
->
q_count
;
k
++
,
it
++
,
m
++
)
for
(
unsigned
int
k
=
0
;
k
<
ModbusRTU
::
BitsPerByte
&&
m
<
p
->
q_count
;
k
++
,
it
++
,
m
++
)
it
->
second
->
mbval
=
b
[
k
]
?
1
:
0
;
it
->
second
->
mbval
=
b
[
k
]
?
1
:
0
;
}
}
it
--
;
it
--
;
...
@@ -887,7 +887,7 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
...
@@ -887,7 +887,7 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
}
}
ModbusRTU
::
WriteOutputMessage
msg
(
dev
->
mbaddr
,
p
->
mbreg
);
ModbusRTU
::
WriteOutputMessage
msg
(
dev
->
mbaddr
,
p
->
mbreg
);
for
(
int
i
=
0
;
i
<
p
->
q_count
;
i
++
,
it
++
)
for
(
unsigned
int
i
=
0
;
i
<
p
->
q_count
;
i
++
,
it
++
)
msg
.
addData
(
it
->
second
->
mbval
);
msg
.
addData
(
it
->
second
->
mbval
);
it
--
;
it
--
;
...
@@ -924,7 +924,7 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
...
@@ -924,7 +924,7 @@ bool MBExchange::pollRTU( RTUDevice* dev, RegMap::iterator& it )
}
}
ModbusRTU
::
ForceCoilsMessage
msg
(
dev
->
mbaddr
,
p
->
mbreg
);
ModbusRTU
::
ForceCoilsMessage
msg
(
dev
->
mbaddr
,
p
->
mbreg
);
for
(
int
i
=
0
;
i
<
p
->
q_count
;
i
++
,
it
++
)
for
(
unsigned
int
i
=
0
;
i
<
p
->
q_count
;
i
++
,
it
++
)
msg
.
addBit
(
(
it
->
second
->
mbval
?
true
:
false
)
);
msg
.
addBit
(
(
it
->
second
->
mbval
?
true
:
false
)
);
it
--
;
it
--
;
...
@@ -1230,7 +1230,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
...
@@ -1230,7 +1230,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
{
{
float
f
=
IOBase
::
processingFasAO
(
p
,
shm
,
force_out
);
float
f
=
IOBase
::
processingFasAO
(
p
,
shm
,
force_out
);
VTypes
::
F2
f2
(
f
);
VTypes
::
F2
f2
(
f
);
for
(
int
k
=
0
;
k
<
VTypes
::
F2
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
F2
::
wsize
();
k
++
,
i
++
)
i
->
second
->
mbval
=
f2
.
raw
.
v
[
k
];
i
->
second
->
mbval
=
f2
.
raw
.
v
[
k
];
r
->
sm_initOK
=
true
;
r
->
sm_initOK
=
true
;
...
@@ -1239,7 +1239,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
...
@@ -1239,7 +1239,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
else
else
{
{
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
VTypes
::
F2
::
wsize
()];
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
VTypes
::
F2
::
wsize
()];
for
(
int
k
=
0
;
k
<
VTypes
::
F2
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
F2
::
wsize
();
k
++
,
i
++
)
data
[
k
]
=
i
->
second
->
mbval
;
data
[
k
]
=
i
->
second
->
mbval
;
VTypes
::
F2
f
(
data
,
VTypes
::
F2
::
wsize
());
VTypes
::
F2
f
(
data
,
VTypes
::
F2
::
wsize
());
...
@@ -1257,14 +1257,14 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
...
@@ -1257,14 +1257,14 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
{
{
float
f
=
IOBase
::
processingFasAO
(
p
,
shm
,
force_out
);
float
f
=
IOBase
::
processingFasAO
(
p
,
shm
,
force_out
);
VTypes
::
F4
f4
(
f
);
VTypes
::
F4
f4
(
f
);
for
(
int
k
=
0
;
k
<
VTypes
::
F4
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
F4
::
wsize
();
k
++
,
i
++
)
i
->
second
->
mbval
=
f4
.
raw
.
v
[
k
];
i
->
second
->
mbval
=
f4
.
raw
.
v
[
k
];
}
}
}
}
else
else
{
{
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
VTypes
::
F4
::
wsize
()];
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
VTypes
::
F4
::
wsize
()];
for
(
int
k
=
0
;
k
<
VTypes
::
F4
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
F4
::
wsize
();
k
++
,
i
++
)
data
[
k
]
=
i
->
second
->
mbval
;
data
[
k
]
=
i
->
second
->
mbval
;
VTypes
::
F4
f
(
data
,
VTypes
::
F4
::
wsize
());
VTypes
::
F4
f
(
data
,
VTypes
::
F4
::
wsize
());
...
@@ -1282,7 +1282,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
...
@@ -1282,7 +1282,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
{
{
long
v
=
IOBase
::
processingAsAO
(
p
,
shm
,
force_out
);
long
v
=
IOBase
::
processingAsAO
(
p
,
shm
,
force_out
);
VTypes
::
I2
i2
(
v
);
VTypes
::
I2
i2
(
v
);
for
(
int
k
=
0
;
k
<
VTypes
::
I2
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
I2
::
wsize
();
k
++
,
i
++
)
i
->
second
->
mbval
=
i2
.
raw
.
v
[
k
];
i
->
second
->
mbval
=
i2
.
raw
.
v
[
k
];
r
->
sm_initOK
=
true
;
r
->
sm_initOK
=
true
;
...
@@ -1291,7 +1291,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
...
@@ -1291,7 +1291,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
else
else
{
{
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
VTypes
::
I2
::
wsize
()];
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
VTypes
::
I2
::
wsize
()];
for
(
int
k
=
0
;
k
<
VTypes
::
I2
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
I2
::
wsize
();
k
++
,
i
++
)
data
[
k
]
=
i
->
second
->
mbval
;
data
[
k
]
=
i
->
second
->
mbval
;
VTypes
::
I2
i2
(
data
,
VTypes
::
I2
::
wsize
());
VTypes
::
I2
i2
(
data
,
VTypes
::
I2
::
wsize
());
...
@@ -1309,7 +1309,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
...
@@ -1309,7 +1309,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
{
{
long
v
=
IOBase
::
processingAsAO
(
p
,
shm
,
force_out
);
long
v
=
IOBase
::
processingAsAO
(
p
,
shm
,
force_out
);
VTypes
::
U2
u2
(
v
);
VTypes
::
U2
u2
(
v
);
for
(
int
k
=
0
;
k
<
VTypes
::
U2
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
U2
::
wsize
();
k
++
,
i
++
)
i
->
second
->
mbval
=
u2
.
raw
.
v
[
k
];
i
->
second
->
mbval
=
u2
.
raw
.
v
[
k
];
r
->
sm_initOK
=
true
;
r
->
sm_initOK
=
true
;
...
@@ -1318,7 +1318,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
...
@@ -1318,7 +1318,7 @@ void MBExchange::updateRSProperty( RSProperty* p, bool write_only )
else
else
{
{
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
VTypes
::
U2
::
wsize
()];
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
VTypes
::
U2
::
wsize
()];
for
(
int
k
=
0
;
k
<
VTypes
::
U2
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
VTypes
::
U2
::
wsize
();
k
++
,
i
++
)
data
[
k
]
=
i
->
second
->
mbval
;
data
[
k
]
=
i
->
second
->
mbval
;
VTypes
::
U2
u2
(
data
,
VTypes
::
U2
::
wsize
());
VTypes
::
U2
u2
(
data
,
VTypes
::
U2
::
wsize
());
...
@@ -1411,13 +1411,13 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
...
@@ -1411,13 +1411,13 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
if
(
save
)
if
(
save
)
{
{
MTR
::
T3
t
(
IOBase
::
processingAsAO
(
&
(
*
it
),
shm
,
force_out
));
MTR
::
T3
t
(
IOBase
::
processingAsAO
(
&
(
*
it
),
shm
,
force_out
));
for
(
int
k
=
0
;
k
<
MTR
::
T3
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
MTR
::
T3
::
wsize
();
k
++
,
i
++
)
i
->
second
->
mbval
=
t
.
raw
.
v
[
k
];
i
->
second
->
mbval
=
t
.
raw
.
v
[
k
];
}
}
else
else
{
{
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
MTR
::
T3
::
wsize
()];
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
MTR
::
T3
::
wsize
()];
for
(
int
k
=
0
;
k
<
MTR
::
T3
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
MTR
::
T3
::
wsize
();
k
++
,
i
++
)
data
[
k
]
=
i
->
second
->
mbval
;
data
[
k
]
=
i
->
second
->
mbval
;
MTR
::
T3
t
(
data
,
MTR
::
T3
::
wsize
());
MTR
::
T3
t
(
data
,
MTR
::
T3
::
wsize
());
...
@@ -1447,13 +1447,13 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
...
@@ -1447,13 +1447,13 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
if
(
save
)
if
(
save
)
{
{
MTR
::
T5
t
(
IOBase
::
processingAsAO
(
&
(
*
it
),
shm
,
force_out
));
MTR
::
T5
t
(
IOBase
::
processingAsAO
(
&
(
*
it
),
shm
,
force_out
));
for
(
int
k
=
0
;
k
<
MTR
::
T5
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
MTR
::
T5
::
wsize
();
k
++
,
i
++
)
i
->
second
->
mbval
=
t
.
raw
.
v
[
k
];
i
->
second
->
mbval
=
t
.
raw
.
v
[
k
];
}
}
else
else
{
{
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
MTR
::
T5
::
wsize
()];
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
MTR
::
T5
::
wsize
()];
for
(
int
k
=
0
;
k
<
MTR
::
T5
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
MTR
::
T5
::
wsize
();
k
++
,
i
++
)
data
[
k
]
=
i
->
second
->
mbval
;
data
[
k
]
=
i
->
second
->
mbval
;
MTR
::
T5
t
(
data
,
MTR
::
T5
::
wsize
());
MTR
::
T5
t
(
data
,
MTR
::
T5
::
wsize
());
...
@@ -1470,13 +1470,13 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
...
@@ -1470,13 +1470,13 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
if
(
save
)
if
(
save
)
{
{
MTR
::
T6
t
(
IOBase
::
processingAsAO
(
&
(
*
it
),
shm
,
force_out
));
MTR
::
T6
t
(
IOBase
::
processingAsAO
(
&
(
*
it
),
shm
,
force_out
));
for
(
int
k
=
0
;
k
<
MTR
::
T6
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
MTR
::
T6
::
wsize
();
k
++
,
i
++
)
i
->
second
->
mbval
=
t
.
raw
.
v
[
k
];
i
->
second
->
mbval
=
t
.
raw
.
v
[
k
];
}
}
else
else
{
{
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
MTR
::
T6
::
wsize
()];
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
MTR
::
T6
::
wsize
()];
for
(
int
k
=
0
;
k
<
MTR
::
T6
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
MTR
::
T6
::
wsize
();
k
++
,
i
++
)
data
[
k
]
=
i
->
second
->
mbval
;
data
[
k
]
=
i
->
second
->
mbval
;
MTR
::
T6
t
(
data
,
MTR
::
T6
::
wsize
());
MTR
::
T6
t
(
data
,
MTR
::
T6
::
wsize
());
...
@@ -1493,13 +1493,13 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
...
@@ -1493,13 +1493,13 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
if
(
save
)
if
(
save
)
{
{
MTR
::
T7
t
(
IOBase
::
processingAsAO
(
&
(
*
it
),
shm
,
force_out
));
MTR
::
T7
t
(
IOBase
::
processingAsAO
(
&
(
*
it
),
shm
,
force_out
));
for
(
int
k
=
0
;
k
<
MTR
::
T7
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
MTR
::
T7
::
wsize
();
k
++
,
i
++
)
i
->
second
->
mbval
=
t
.
raw
.
v
[
k
];
i
->
second
->
mbval
=
t
.
raw
.
v
[
k
];
}
}
else
else
{
{
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
MTR
::
T7
::
wsize
()];
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
MTR
::
T7
::
wsize
()];
for
(
int
k
=
0
;
k
<
MTR
::
T7
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
MTR
::
T7
::
wsize
();
k
++
,
i
++
)
data
[
k
]
=
i
->
second
->
mbval
;
data
[
k
]
=
i
->
second
->
mbval
;
MTR
::
T7
t
(
data
,
MTR
::
T7
::
wsize
());
MTR
::
T7
t
(
data
,
MTR
::
T7
::
wsize
());
...
@@ -1547,13 +1547,13 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
...
@@ -1547,13 +1547,13 @@ void MBExchange::updateMTR( RegMap::iterator& rit )
{
{
float
f
=
IOBase
::
processingFasAO
(
&
(
*
it
),
shm
,
force_out
);
float
f
=
IOBase
::
processingFasAO
(
&
(
*
it
),
shm
,
force_out
);
MTR
::
F1
f1
(
f
);
MTR
::
F1
f1
(
f
);
for
(
int
k
=
0
;
k
<
MTR
::
F1
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
MTR
::
F1
::
wsize
();
k
++
,
i
++
)
i
->
second
->
mbval
=
f1
.
raw
.
v
[
k
];
i
->
second
->
mbval
=
f1
.
raw
.
v
[
k
];
}
}
else
else
{
{
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
MTR
::
F1
::
wsize
()];
ModbusRTU
::
ModbusData
*
data
=
new
ModbusRTU
::
ModbusData
[
MTR
::
F1
::
wsize
()];
for
(
int
k
=
0
;
k
<
MTR
::
F1
::
wsize
();
k
++
,
i
++
)
for
(
unsigned
int
k
=
0
;
k
<
MTR
::
F1
::
wsize
();
k
++
,
i
++
)
data
[
k
]
=
i
->
second
->
mbval
;
data
[
k
]
=
i
->
second
->
mbval
;
MTR
::
F1
t
(
data
,
MTR
::
F1
::
wsize
());
MTR
::
F1
t
(
data
,
MTR
::
F1
::
wsize
());
...
@@ -2108,7 +2108,7 @@ bool MBExchange::initItem( UniXML_iterator& it )
...
@@ -2108,7 +2108,7 @@ bool MBExchange::initItem( UniXML_iterator& it )
{
{
ri
->
q_count
=
p1
->
rnum
;
ri
->
q_count
=
p1
->
rnum
;
ri
->
q_num
=
1
;
ri
->
q_num
=
1
;
for
(
int
i
=
1
;
i
<
p1
->
rnum
;
i
++
)
for
(
unsigned
int
i
=
1
;
i
<
p1
->
rnum
;
i
++
)
{
{
RegID
id1
=
genRegID
(
mbreg
+
i
,
ri
->
mbfunc
);
RegID
id1
=
genRegID
(
mbreg
+
i
,
ri
->
mbfunc
);
RegInfo
*
r
=
addReg
(
dev
->
regmap
,
id1
,
mbreg
+
i
,
it
,
dev
,
ri
);
RegInfo
*
r
=
addReg
(
dev
->
regmap
,
id1
,
mbreg
+
i
,
it
,
dev
,
ri
);
...
...
extensions/ModbusMaster/RTUStorage.cc
View file @
ddd5f5be
...
@@ -44,7 +44,7 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
...
@@ -44,7 +44,7 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
if
(
pollADC
)
if
(
pollADC
)
{
{
ModbusRTU
::
ReadInputRetMessage
ret
=
mb
->
read04
(
addr
,
1016
,
16
);
ModbusRTU
::
ReadInputRetMessage
ret
=
mb
->
read04
(
addr
,
1016
,
16
);
for
(
int
i
=
0
,
k
=
0
;
i
<
16
;
i
+=
2
,
k
++
)
for
(
unsigned
int
i
=
0
,
k
=
0
;
i
<
16
;
i
+=
2
,
k
++
)
adc
[
k
]
=
ModbusRTU
::
dat2f
(
ret
.
data
[
i
],
ret
.
data
[
i
+
1
]);
adc
[
k
]
=
ModbusRTU
::
dat2f
(
ret
.
data
[
i
],
ret
.
data
[
i
+
1
]);
}
}
// -----------------------------------
// -----------------------------------
...
@@ -53,11 +53,11 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
...
@@ -53,11 +53,11 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
{
{
ModbusRTU
::
ReadInputStatusRetMessage
ret
=
mb
->
read02
(
addr
,
0
,
16
);
ModbusRTU
::
ReadInputStatusRetMessage
ret
=
mb
->
read02
(
addr
,
0
,
16
);
ModbusRTU
::
DataBits
bits
;
ModbusRTU
::
DataBits
bits
;
for
(
int
b
=
0
;
b
<
2
;
b
++
)
for
(
unsigned
int
b
=
0
;
b
<
2
;
b
++
)
{
{
if
(
ret
.
getData
(
b
,
bits
)
)
if
(
ret
.
getData
(
b
,
bits
)
)
{
{
for
(
int
i
=
0
;
i
<
8
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
8
;
i
++
)
di
[
i
+
8
*
b
]
=
bits
[
i
];
di
[
i
+
8
*
b
]
=
bits
[
i
];
}
}
}
}
...
@@ -69,11 +69,11 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
...
@@ -69,11 +69,11 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
{
{
ModbusRTU
::
ReadCoilRetMessage
ret
=
mb
->
read01
(
addr
,
0
,
16
);
ModbusRTU
::
ReadCoilRetMessage
ret
=
mb
->
read01
(
addr
,
0
,
16
);
ModbusRTU
::
DataBits
bits
;
ModbusRTU
::
DataBits
bits
;
for
(
int
b
=
0
;
b
<
2
;
b
++
)
for
(
unsigned
int
b
=
0
;
b
<
2
;
b
++
)
{
{
if
(
ret
.
getData
(
b
,
bits
)
)
if
(
ret
.
getData
(
b
,
bits
)
)
{
{
for
(
int
i
=
0
;
i
<
8
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
8
;
i
++
)
dio_do
[
i
+
8
*
b
]
=
bits
[
i
];
dio_do
[
i
+
8
*
b
]
=
bits
[
i
];
}
}
}
}
...
@@ -83,11 +83,11 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
...
@@ -83,11 +83,11 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
{
{
ModbusRTU
::
ReadInputStatusRetMessage
ret
=
mb
->
read02
(
addr
,
16
,
16
);
ModbusRTU
::
ReadInputStatusRetMessage
ret
=
mb
->
read02
(
addr
,
16
,
16
);
ModbusRTU
::
DataBits
bits
;
ModbusRTU
::
DataBits
bits
;
for
(
int
b
=
0
;
b
<
2
;
b
++
)
for
(
unsigned
int
b
=
0
;
b
<
2
;
b
++
)
{
{
if
(
ret
.
getData
(
b
,
bits
)
)
if
(
ret
.
getData
(
b
,
bits
)
)
{
{
for
(
int
i
=
0
;
i
<
8
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
8
;
i
++
)
dio_di
[
i
+
8
*
b
]
=
bits
[
i
];
dio_di
[
i
+
8
*
b
]
=
bits
[
i
];
}
}
}
}
...
@@ -97,7 +97,7 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
...
@@ -97,7 +97,7 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
{
{
ModbusRTU
::
ReadInputRetMessage
ret
=
mb
->
read04
(
addr
,
1000
,
16
);
ModbusRTU
::
ReadInputRetMessage
ret
=
mb
->
read04
(
addr
,
1000
,
16
);
int
k
=
0
;
int
k
=
0
;
for
(
int
i
=
0
;
i
<
16
;
i
+=
2
,
k
++
)
for
(
unsigned
int
i
=
0
;
i
<
16
;
i
+=
2
,
k
++
)
dio_ai
[
k
]
=
ModbusRTU
::
dat2f
(
ret
.
data
[
i
],
ret
.
data
[
i
+
1
]);
dio_ai
[
k
]
=
ModbusRTU
::
dat2f
(
ret
.
data
[
i
],
ret
.
data
[
i
+
1
]);
}
}
// -----------------------------------
// -----------------------------------
...
@@ -105,7 +105,7 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
...
@@ -105,7 +105,7 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
{
{
ModbusRTU
::
ReadOutputRetMessage
ret
=
mb
->
read03
(
addr
,
1000
,
16
);
ModbusRTU
::
ReadOutputRetMessage
ret
=
mb
->
read03
(
addr
,
1000
,
16
);
int
k
=
0
;
int
k
=
0
;
for
(
int
i
=
0
;
i
<
16
;
i
+=
2
,
k
++
)
for
(
unsigned
int
i
=
0
;
i
<
16
;
i
+=
2
,
k
++
)
dio_ao
[
k
]
=
ModbusRTU
::
dat2f
(
ret
.
data
[
i
],
ret
.
data
[
i
+
1
]);
dio_ao
[
k
]
=
ModbusRTU
::
dat2f
(
ret
.
data
[
i
],
ret
.
data
[
i
+
1
]);
}
}
// -----------------------------------
// -----------------------------------
...
@@ -117,11 +117,11 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
...
@@ -117,11 +117,11 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
{
{
ModbusRTU
::
ReadCoilRetMessage
ret
=
mb
->
read01
(
addr
,
16
,
48
);
ModbusRTU
::
ReadCoilRetMessage
ret
=
mb
->
read01
(
addr
,
16
,
48
);
ModbusRTU
::
DataBits
bits
;
ModbusRTU
::
DataBits
bits
;
for
(
int
b
=
0
;
b
<
8
;
b
++
)
for
(
unsigned
int
b
=
0
;
b
<
8
;
b
++
)
{
{
if
(
ret
.
getData
(
b
,
bits
)
)
if
(
ret
.
getData
(
b
,
bits
)
)
{
{
for
(
int
i
=
0
;
i
<
8
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
8
;
i
++
)
unio_do
[
i
+
8
*
b
]
=
bits
[
i
];
unio_do
[
i
+
8
*
b
]
=
bits
[
i
];
}
}
}
}
...
@@ -131,11 +131,11 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
...
@@ -131,11 +131,11 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
{
{
ModbusRTU
::
ReadInputStatusRetMessage
ret
=
mb
->
read02
(
addr
,
32
,
48
);
ModbusRTU
::
ReadInputStatusRetMessage
ret
=
mb
->
read02
(
addr
,
32
,
48
);
ModbusRTU
::
DataBits
bits
;
ModbusRTU
::
DataBits
bits
;
for
(
int
b
=
0
;
b
<
8
;
b
++
)
for
(
unsigned
int
b
=
0
;
b
<
8
;
b
++
)
{
{
if
(
ret
.
getData
(
b
,
bits
)
)
if
(
ret
.
getData
(
b
,
bits
)
)
{
{
for
(
int
i
=
0
;
i
<
8
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
8
;
i
++
)
unio_di
[
i
+
8
*
b
]
=
bits
[
i
];
unio_di
[
i
+
8
*
b
]
=
bits
[
i
];
}
}
}
}
...
@@ -145,7 +145,7 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
...
@@ -145,7 +145,7 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
{
{
ModbusRTU
::
ReadInputRetMessage
ret
=
mb
->
read04
(
addr
,
1032
,
48
);
ModbusRTU
::
ReadInputRetMessage
ret
=
mb
->
read04
(
addr
,
1032
,
48
);
int
k
=
0
;
int
k
=
0
;
for
(
int
i
=
0
;
i
<
48
;
i
+=
2
,
k
++
)
for
(
unsigned
int
i
=
0
;
i
<
48
;
i
+=
2
,
k
++
)
unio_ai
[
k
]
=
ModbusRTU
::
dat2f
(
ret
.
data
[
i
],
ret
.
data
[
i
+
1
]);
unio_ai
[
k
]
=
ModbusRTU
::
dat2f
(
ret
.
data
[
i
],
ret
.
data
[
i
+
1
]);
}
}
// -----------------------------------
// -----------------------------------
...
@@ -153,7 +153,7 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
...
@@ -153,7 +153,7 @@ void RTUStorage::poll( ModbusRTUMaster* mb )
{
{
ModbusRTU
::
ReadOutputRetMessage
ret
=
mb
->
read03
(
addr
,
1016
,
48
);
ModbusRTU
::
ReadOutputRetMessage
ret
=
mb
->
read03
(
addr
,
1016
,
48
);
int
k
=
0
;
int
k
=
0
;
for
(
int
i
=
0
;
i
<
48
;
i
+=
2
,
k
++
)
for
(
unsigned
int
i
=
0
;
i
<
48
;
i
+=
2
,
k
++
)
unio_ao
[
k
]
=
ModbusRTU
::
dat2f
(
ret
.
data
[
i
],
ret
.
data
[
i
+
1
]);
unio_ao
[
k
]
=
ModbusRTU
::
dat2f
(
ret
.
data
[
i
],
ret
.
data
[
i
+
1
]);
}
}
}
}
...
@@ -435,114 +435,114 @@ std::ostream& operator<<(std::ostream& os, RTUStorage& m )
...
@@ -435,114 +435,114 @@ std::ostream& operator<<(std::ostream& os, RTUStorage& m )
{
{
os
<<
"-------------------"
<<
endl
os
<<
"-------------------"
<<
endl
<<
" АЦП (8 каналов): "
<<
endl
;
<<
" АЦП (8 каналов): "
<<
endl
;
for
(
int
i
=
0
;
i
<
8
;
i
++
)
// номера каналов
for
(
unsigned
int
i
=
0
;
i
<
8
;
i
++
)
// номера каналов
os
<<
setw
(
12
)
<<
i
<<
"|"
;
os
<<
setw
(
12
)
<<
i
<<
"|"
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
0
;
i
<
8
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
8
;
i
++
)
os
<<
setw
(
12
)
<<
m
.
adc
[
i
]
<<
"|"
;
os
<<
setw
(
12
)
<<
m
.
adc
[
i
]
<<
"|"
;
os
<<
endl
;
os
<<
endl
;
os
<<
"-------------------"
<<
endl
os
<<
"-------------------"
<<
endl
<<
" DI (16 каналов): "
<<
endl
;
<<
" DI (16 каналов): "
<<
endl
;
for
(
int
i
=
0
;
i
<
16
;
i
++
)
// номера каналов
for
(
unsigned
int
i
=
0
;
i
<
16
;
i
++
)
// номера каналов
os
<<
setw
(
2
)
<<
i
<<
"|"
;
os
<<
setw
(
2
)
<<
i
<<
"|"
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
0
;
i
<
16
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
16
;
i
++
)
os
<<
setw
(
2
)
<<
m
.
di
[
i
]
<<
"|"
;
os
<<
setw
(
2
)
<<
m
.
di
[
i
]
<<
"|"
;
os
<<
endl
;
os
<<
endl
;
os
<<
"-------------------"
<<
endl
os
<<
"-------------------"
<<
endl
<<
" DIO DO(16 каналов): "
<<
endl
;
<<
" DIO DO(16 каналов): "
<<
endl
;
for
(
int
i
=
0
;
i
<
16
;
i
++
)
// номера каналов
for
(
unsigned
int
i
=
0
;
i
<
16
;
i
++
)
// номера каналов
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
0
;
i
<
16
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
16
;
i
++
)
os
<<
setw
(
2
)
<<
m
.
dio_do
[
i
]
<<
" | "
;
os
<<
setw
(
2
)
<<
m
.
dio_do
[
i
]
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
os
<<
"-------------------"
<<
endl
os
<<
"-------------------"
<<
endl
<<
" DIO DI(16 каналов): "
<<
endl
;
<<
" DIO DI(16 каналов): "
<<
endl
;
for
(
int
i
=
0
;
i
<
16
;
i
++
)
// номера каналов
for
(
unsigned
int
i
=
0
;
i
<
16
;
i
++
)
// номера каналов
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
0
;
i
<
16
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
16
;
i
++
)
os
<<
setw
(
2
)
<<
m
.
dio_di
[
i
]
<<
" | "
;
os
<<
setw
(
2
)
<<
m
.
dio_di
[
i
]
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
os
<<
"-------------------"
<<
endl
os
<<
"-------------------"
<<
endl
<<
" DIO AI (16 каналов): "
<<
endl
;
<<
" DIO AI (16 каналов): "
<<
endl
;
for
(
int
i
=
0
;
i
<
16
;
i
++
)
// номера каналов
for
(
unsigned
int
i
=
0
;
i
<
16
;
i
++
)
// номера каналов
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
0
;
i
<
16
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
16
;
i
++
)
os
<<
setw
(
2
)
<<
m
.
dio_ai
[
i
]
<<
" | "
;
os
<<
setw
(
2
)
<<
m
.
dio_ai
[
i
]
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
os
<<
"-------------------"
<<
endl
os
<<
"-------------------"
<<
endl
<<
" DIO AO (16 каналов): "
<<
endl
;
<<
" DIO AO (16 каналов): "
<<
endl
;
for
(
int
i
=
0
;
i
<
16
;
i
++
)
// номера каналов
for
(
unsigned
int
i
=
0
;
i
<
16
;
i
++
)
// номера каналов
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
0
;
i
<
16
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
16
;
i
++
)
os
<<
setw
(
2
)
<<
m
.
dio_ao
[
i
]
<<
" | "
;
os
<<
setw
(
2
)
<<
m
.
dio_ao
[
i
]
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
os
<<
"-------------------"
<<
endl
os
<<
"-------------------"
<<
endl
<<
" UNIO48 DI: "
<<
endl
;
<<
" UNIO48 DI: "
<<
endl
;
for
(
int
i
=
0
;
i
<
24
;
i
++
)
// номера каналов
for
(
unsigned
int
i
=
0
;
i
<
24
;
i
++
)
// номера каналов
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
0
;
i
<
24
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
24
;
i
++
)
os
<<
setw
(
2
)
<<
m
.
unio_di
[
i
]
<<
" | "
;
os
<<
setw
(
2
)
<<
m
.
unio_di
[
i
]
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
24
;
i
<
48
;
i
++
)
// номера каналов
for
(
unsigned
int
i
=
24
;
i
<
48
;
i
++
)
// номера каналов
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
24
;
i
<
48
;
i
++
)
for
(
unsigned
int
i
=
24
;
i
<
48
;
i
++
)
os
<<
setw
(
2
)
<<
m
.
unio_di
[
i
]
<<
" | "
;
os
<<
setw
(
2
)
<<
m
.
unio_di
[
i
]
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
os
<<
"-------------------"
<<
endl
os
<<
"-------------------"
<<
endl
<<
" UNIO48 DO: "
<<
endl
;
<<
" UNIO48 DO: "
<<
endl
;
for
(
int
i
=
0
;
i
<
24
;
i
++
)
// номера каналов
for
(
unsigned
int
i
=
0
;
i
<
24
;
i
++
)
// номера каналов
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
0
;
i
<
24
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
24
;
i
++
)
os
<<
setw
(
2
)
<<
m
.
unio_do
[
i
]
<<
" | "
;
os
<<
setw
(
2
)
<<
m
.
unio_do
[
i
]
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
24
;
i
<
48
;
i
++
)
// номера каналов
for
(
unsigned
int
i
=
24
;
i
<
48
;
i
++
)
// номера каналов
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
setw
(
2
)
<<
i
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
24
;
i
<
48
;
i
++
)
for
(
unsigned
int
i
=
24
;
i
<
48
;
i
++
)
os
<<
setw
(
2
)
<<
m
.
unio_do
[
i
]
<<
" | "
;
os
<<
setw
(
2
)
<<
m
.
unio_do
[
i
]
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
os
<<
"-------------------"
<<
endl
os
<<
"-------------------"
<<
endl
<<
" UNIO48 AI: "
<<
endl
;
<<
" UNIO48 AI: "
<<
endl
;
for
(
int
i
=
0
;
i
<
12
;
i
++
)
// номера каналов
for
(
unsigned
int
i
=
0
;
i
<
12
;
i
++
)
// номера каналов
os
<<
setw
(
6
)
<<
i
<<
" | "
;
os
<<
setw
(
6
)
<<
i
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
0
;
i
<
12
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
12
;
i
++
)
os
<<
setw
(
6
)
<<
m
.
unio_ai
[
i
]
<<
" | "
;
os
<<
setw
(
6
)
<<
m
.
unio_ai
[
i
]
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
12
;
i
<
24
;
i
++
)
// номера каналов
for
(
unsigned
int
i
=
12
;
i
<
24
;
i
++
)
// номера каналов
os
<<
setw
(
6
)
<<
i
<<
" | "
;
os
<<
setw
(
6
)
<<
i
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
12
;
i
<
24
;
i
++
)
for
(
unsigned
int
i
=
12
;
i
<
24
;
i
++
)
os
<<
setw
(
6
)
<<
m
.
unio_ai
[
i
]
<<
" | "
;
os
<<
setw
(
6
)
<<
m
.
unio_ai
[
i
]
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
os
<<
"-------------------"
<<
endl
os
<<
"-------------------"
<<
endl
<<
" UNIO48 AO: "
<<
endl
;
<<
" UNIO48 AO: "
<<
endl
;
for
(
int
i
=
0
;
i
<
12
;
i
++
)
// номера каналов
for
(
unsigned
int
i
=
0
;
i
<
12
;
i
++
)
// номера каналов
os
<<
setw
(
6
)
<<
i
<<
" | "
;
os
<<
setw
(
6
)
<<
i
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
0
;
i
<
12
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
12
;
i
++
)
os
<<
setw
(
6
)
<<
m
.
unio_ao
[
i
]
<<
" | "
;
os
<<
setw
(
6
)
<<
m
.
unio_ao
[
i
]
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
12
;
i
<
24
;
i
++
)
// номера каналов
for
(
unsigned
int
i
=
12
;
i
<
24
;
i
++
)
// номера каналов
os
<<
setw
(
6
)
<<
i
<<
" | "
;
os
<<
setw
(
6
)
<<
i
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
for
(
int
i
=
12
;
i
<
24
;
i
++
)
for
(
unsigned
int
i
=
12
;
i
<
24
;
i
++
)
os
<<
setw
(
6
)
<<
m
.
unio_ao
[
i
]
<<
" | "
;
os
<<
setw
(
6
)
<<
m
.
unio_ao
[
i
]
<<
" | "
;
os
<<
endl
;
os
<<
endl
;
...
...
extensions/ModbusMaster/rtustate.cc
View file @
ddd5f5be
...
@@ -104,9 +104,9 @@ int main( int argc, char **argv )
...
@@ -104,9 +104,9 @@ int main( int argc, char **argv )
rtu
.
poll
(
&
mb
);
rtu
.
poll
(
&
mb
);
cout
<<
rtu
<<
endl
;
cout
<<
rtu
<<
endl
;
for
(
int
i
=
0
;
i
<
24
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
24
;
i
++
)
cout
<<
"UNIO1 AI"
<<
i
<<
": "
<<
rtu
.
getFloat
(
RTUStorage
::
nJ1
,
i
,
UniversalIO
::
AI
)
<<
endl
;
cout
<<
"UNIO1 AI"
<<
i
<<
": "
<<
rtu
.
getFloat
(
RTUStorage
::
nJ1
,
i
,
UniversalIO
::
AI
)
<<
endl
;
for
(
int
i
=
0
;
i
<
24
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
24
;
i
++
)
cout
<<
"UNIO1 DI"
<<
i
<<
": "
<<
rtu
.
getState
(
RTUStorage
::
nJ1
,
i
,
UniversalIO
::
DI
)
<<
endl
;
cout
<<
"UNIO1 DI"
<<
i
<<
": "
<<
rtu
.
getState
(
RTUStorage
::
nJ1
,
i
,
UniversalIO
::
DI
)
<<
endl
;
return
0
;
return
0
;
...
...
extensions/ModbusSlave/MBSlave.cc
View file @
ddd5f5be
...
@@ -390,7 +390,7 @@ void MBSlave::execute_rtu()
...
@@ -390,7 +390,7 @@ void MBSlave::execute_rtu()
// с проверкой на переполнение
// с проверкой на переполнение
askCount
=
askCount
>=
numeric_limits
<
long
>::
max
()
?
0
:
askCount
+
1
;
askCount
=
askCount
>=
numeric_limits
<
long
>::
max
()
?
0
:
askCount
+
1
;
if
(
res
!=
ModbusRTU
::
erNoError
)
if
(
res
!=
ModbusRTU
::
erNoError
)
errmap
[
res
]
++
;
++
errmap
[
res
]
;
prev
=
res
;
prev
=
res
;
}
}
...
@@ -469,7 +469,7 @@ void MBSlave::execute_tcp()
...
@@ -469,7 +469,7 @@ void MBSlave::execute_tcp()
// с проверкой на переполнение
// с проверкой на переполнение
askCount
=
askCount
>=
numeric_limits
<
long
>::
max
()
?
0
:
askCount
+
1
;
askCount
=
askCount
>=
numeric_limits
<
long
>::
max
()
?
0
:
askCount
+
1
;
if
(
res
!=
ModbusRTU
::
erNoError
)
if
(
res
!=
ModbusRTU
::
erNoError
)
errmap
[
res
]
++
;
++
errmap
[
res
]
;
prev
=
res
;
prev
=
res
;
}
}
...
@@ -818,7 +818,7 @@ bool MBSlave::initItem( UniXML_iterator& it )
...
@@ -818,7 +818,7 @@ bool MBSlave::initItem( UniXML_iterator& it )
}
}
p
.
vtype
=
v
;
p
.
vtype
=
v
;
p
.
wnum
=
0
;
p
.
wnum
=
0
;
for
(
int
i
=
0
;
i
<
VTypes
::
wsize
(
p
.
vtype
);
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
VTypes
::
wsize
(
p
.
vtype
);
i
++
)
{
{
p
.
mbreg
+=
i
;
p
.
mbreg
+=
i
;
p
.
wnum
+=
i
;
p
.
wnum
+=
i
;
...
@@ -930,7 +930,7 @@ ModbusRTU::mbErrCode MBSlave::readOutputRegisters( ModbusRTU::ReadOutputMessage&
...
@@ -930,7 +930,7 @@ ModbusRTU::mbErrCode MBSlave::readOutputRegisters( ModbusRTU::ReadOutputMessage&
ModbusRTU
::
mbErrCode
ret
=
much_real_read
(
query
.
start
,
buf
,
query
.
count
);
ModbusRTU
::
mbErrCode
ret
=
much_real_read
(
query
.
start
,
buf
,
query
.
count
);
if
(
ret
==
ModbusRTU
::
erNoError
)
if
(
ret
==
ModbusRTU
::
erNoError
)
{
{
for
(
int
i
=
0
;
i
<
query
.
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
query
.
count
;
i
++
)
reply
.
addData
(
buf
[
i
]
);
reply
.
addData
(
buf
[
i
]
);
}
}
...
@@ -1054,7 +1054,7 @@ ModbusRTU::mbErrCode MBSlave::real_write_it( IOMap::iterator& it, ModbusRTU::Mod
...
@@ -1054,7 +1054,7 @@ ModbusRTU::mbErrCode MBSlave::real_write_it( IOMap::iterator& it, ModbusRTU::Mod
{
{
RegMap::iterator i(p->reg->rit);
RegMap::iterator i(p->reg->rit);
ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[VTypes::F2::wsize()];
ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[VTypes::F2::wsize()];
for( int k=0; k<VTypes::F2::wsize(); k++, i++ )
for(
unsigned
int k=0; k<VTypes::F2::wsize(); k++, i++ )
data[k] = i->second->mbval;
data[k] = i->second->mbval;
VTypes::F2 f(data,VTypes::F2::wsize());
VTypes::F2 f(data,VTypes::F2::wsize());
...
@@ -1067,7 +1067,7 @@ ModbusRTU::mbErrCode MBSlave::real_write_it( IOMap::iterator& it, ModbusRTU::Mod
...
@@ -1067,7 +1067,7 @@ ModbusRTU::mbErrCode MBSlave::real_write_it( IOMap::iterator& it, ModbusRTU::Mod
RegMap::iterator i(p->reg->rit);
RegMap::iterator i(p->reg->rit);
ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[VTypes::F4::wsize()];
ModbusRTU::ModbusData* data = new ModbusRTU::ModbusData[VTypes::F4::wsize()];
for( int k=0; k<VTypes::F4::wsize(); k++, i++ )
for(
unsigned
int k=0; k<VTypes::F4::wsize(); k++, i++ )
data[k] = i->second->mbval;
data[k] = i->second->mbval;
VTypes::F4 f(data,VTypes::F4::wsize());
VTypes::F4 f(data,VTypes::F4::wsize());
...
@@ -1309,7 +1309,7 @@ mbErrCode MBSlave::readInputRegisters( ReadInputMessage& query, ReadInputRetMess
...
@@ -1309,7 +1309,7 @@ mbErrCode MBSlave::readInputRegisters( ReadInputMessage& query, ReadInputRetMess
ModbusRTU
::
mbErrCode
ret
=
much_real_read
(
query
.
start
,
buf
,
query
.
count
);
ModbusRTU
::
mbErrCode
ret
=
much_real_read
(
query
.
start
,
buf
,
query
.
count
);
if
(
ret
==
ModbusRTU
::
erNoError
)
if
(
ret
==
ModbusRTU
::
erNoError
)
{
{
for
(
int
i
=
0
;
i
<
query
.
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
query
.
count
;
i
++
)
reply
.
addData
(
buf
[
i
]
);
reply
.
addData
(
buf
[
i
]
);
}
}
...
@@ -1373,11 +1373,11 @@ ModbusRTU::mbErrCode MBSlave::readInputStatus( ReadInputStatusMessage& query,
...
@@ -1373,11 +1373,11 @@ ModbusRTU::mbErrCode MBSlave::readInputStatus( ReadInputStatusMessage& query,
// Фомирование ответа:
// Фомирование ответа:
much_real_read
(
query
.
start
,
buf
,
query
.
count
);
much_real_read
(
query
.
start
,
buf
,
query
.
count
);
int
bnum
=
0
;
int
bnum
=
0
;
int
i
=
0
;
unsigned
int
i
=
0
;
while
(
i
<
query
.
count
)
while
(
i
<
query
.
count
)
{
{
reply
.
addData
(
0
);
reply
.
addData
(
0
);
for
(
int
nbit
=
0
;
nbit
<
BitsPerByte
&&
i
<
query
.
count
;
nbit
++
,
i
++
)
for
(
unsigned
int
nbit
=
0
;
nbit
<
BitsPerByte
&&
i
<
query
.
count
;
nbit
++
,
i
++
)
reply
.
setBit
(
bnum
,
nbit
,
buf
[
i
]);
reply
.
setBit
(
bnum
,
nbit
,
buf
[
i
]);
bnum
++
;
bnum
++
;
}
}
...
@@ -1418,10 +1418,10 @@ ModbusRTU::mbErrCode MBSlave::forceMultipleCoils( ModbusRTU::ForceCoilsMessage&
...
@@ -1418,10 +1418,10 @@ ModbusRTU::mbErrCode MBSlave::forceMultipleCoils( ModbusRTU::ForceCoilsMessage&
ModbusRTU
::
mbErrCode
ret
=
ModbusRTU
::
erNoError
;
ModbusRTU
::
mbErrCode
ret
=
ModbusRTU
::
erNoError
;
int
nbit
=
0
;
int
nbit
=
0
;
for
(
int
i
=
0
;
i
<
query
.
bcnt
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
query
.
bcnt
;
i
++
)
{
{
ModbusRTU
::
DataBits
b
(
query
.
data
[
i
]);
ModbusRTU
::
DataBits
b
(
query
.
data
[
i
]);
for
(
int
k
=
0
;
k
<
ModbusRTU
::
BitsPerByte
&&
nbit
<
query
.
quant
;
k
++
,
nbit
++
)
for
(
unsigned
int
k
=
0
;
k
<
ModbusRTU
::
BitsPerByte
&&
nbit
<
query
.
quant
;
k
++
,
nbit
++
)
{
{
// ModbusRTU::mbErrCode ret =
// ModbusRTU::mbErrCode ret =
real_write
(
query
.
start
+
nbit
,
(
b
[
k
]
?
1
:
0
)
);
real_write
(
query
.
start
+
nbit
,
(
b
[
k
]
?
1
:
0
)
);
...
...
extensions/SharedMemory/SharedMemory.cc
View file @
ddd5f5be
...
@@ -493,7 +493,7 @@ void SharedMemory::sendEvent( UniSetTypes::SystemMessage& sm )
...
@@ -493,7 +493,7 @@ void SharedMemory::sendEvent( UniSetTypes::SystemMessage& sm )
for
(
EventList
::
iterator
it
=
elst
.
begin
();
it
!=
elst
.
end
();
++
it
)
for
(
EventList
::
iterator
it
=
elst
.
begin
();
it
!=
elst
.
end
();
++
it
)
{
{
bool
ok
=
false
;
bool
ok
=
false
;
for
(
int
i
=
0
;
i
<
2
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
2
;
i
++
)
{
{
try
try
{
{
...
...
extensions/SharedMemoryPlus/smemory-plus.cc
View file @
ddd5f5be
...
@@ -65,7 +65,7 @@ int main( int argc, const char **argv )
...
@@ -65,7 +65,7 @@ int main( int argc, const char **argv )
// ------------ IOControl ----------------
// ------------ IOControl ----------------
std
::
list
<
ThreadCreator
<
IOControl
>*
>
lst_iothr
;
std
::
list
<
ThreadCreator
<
IOControl
>*
>
lst_iothr
;
for
(
int
i
=
0
;
i
<
MaxAddNum
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
MaxAddNum
;
i
++
)
{
{
stringstream
s
;
stringstream
s
;
s
<<
"--add-io"
;
s
<<
"--add-io"
;
...
@@ -95,7 +95,7 @@ int main( int argc, const char **argv )
...
@@ -95,7 +95,7 @@ int main( int argc, const char **argv )
}
}
}
}
// ------------- RTU Exchange --------------
// ------------- RTU Exchange --------------
for
(
int
i
=
0
;
i
<
MaxAddNum
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
MaxAddNum
;
i
++
)
{
{
stringstream
s
;
stringstream
s
;
s
<<
"--add-rtu"
;
s
<<
"--add-rtu"
;
...
@@ -119,7 +119,7 @@ int main( int argc, const char **argv )
...
@@ -119,7 +119,7 @@ int main( int argc, const char **argv )
}
}
}
}
// ------------- MBSlave --------------
// ------------- MBSlave --------------
for
(
int
i
=
0
;
i
<
MaxAddNum
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
MaxAddNum
;
i
++
)
{
{
stringstream
s
;
stringstream
s
;
s
<<
"--add-mbslave"
;
s
<<
"--add-mbslave"
;
...
@@ -144,7 +144,7 @@ int main( int argc, const char **argv )
...
@@ -144,7 +144,7 @@ int main( int argc, const char **argv )
}
}
// ------------- MBTCPMaster --------------
// ------------- MBTCPMaster --------------
for
(
int
i
=
0
;
i
<
MaxAddNum
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
MaxAddNum
;
i
++
)
{
{
stringstream
s
;
stringstream
s
;
s
<<
"--add-mbmaster"
;
s
<<
"--add-mbmaster"
;
...
...
extensions/UniNetwork/UniExchange.cc
View file @
ddd5f5be
...
@@ -206,7 +206,7 @@ void UniExchange::NetNodeInfo::update( IOController_i::ShortMapSeq_var& map, SMI
...
@@ -206,7 +206,7 @@ void UniExchange::NetNodeInfo::update( IOController_i::ShortMapSeq_var& map, SMI
}
}
int
size
=
map
->
length
();
int
size
=
map
->
length
();
for
(
int
i
=
0
;
i
<
size
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
size
;
i
++
)
{
{
SInfo
*
s
=
&
(
smap
[
i
]);
SInfo
*
s
=
&
(
smap
[
i
]);
IOController_i
::
ShortMap
*
m
=
&
(
map
[
i
]);
IOController_i
::
ShortMap
*
m
=
&
(
map
[
i
]);
...
...
extensions/lib/DigitalFilter.cc
View file @
ddd5f5be
...
@@ -51,7 +51,7 @@ void DigitalFilter::setSettings( unsigned int bufsize, double T, double lsq,
...
@@ -51,7 +51,7 @@ void DigitalFilter::setSettings( unsigned int bufsize, double T, double lsq,
{
{
// удаляем лишние (первые) элементы
// удаляем лишние (первые) элементы
int
sub
=
buf
.
size
()
-
maxsize
;
int
sub
=
buf
.
size
()
-
maxsize
;
for
(
int
i
=
0
;
i
<
sub
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
sub
;
i
++
)
buf
.
erase
(
buf
.
begin
()
);
buf
.
erase
(
buf
.
begin
()
);
}
}
...
...
extensions/lib/MTR.cc
View file @
ddd5f5be
...
@@ -398,7 +398,7 @@ bool send_param( ModbusRTUMaster* mb, DataMap& dmap, ModbusRTU::ModbusAddr addr,
...
@@ -398,7 +398,7 @@ bool send_param( ModbusRTUMaster* mb, DataMap& dmap, ModbusRTU::ModbusAddr addr,
<<
"="
<<
ModbusRTU
::
dat2str
(
(
*
it1
)
)
<<
endl
;
<<
"="
<<
ModbusRTU
::
dat2str
(
(
*
it1
)
)
<<
endl
;
// ok=true;
// ok=true;
// continue;
// continue;
for
(
int
i
=
0
;
i
<
attempts
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
attempts
;
i
++
)
{
{
try
try
{
{
...
...
include/Mutex.h
View file @
ddd5f5be
...
@@ -123,6 +123,7 @@ namespace UniSetTypes
...
@@ -123,6 +123,7 @@ namespace UniSetTypes
ost
::
AtomicCounter
wr_wait
;
ost
::
AtomicCounter
wr_wait
;
static
int
num
;
static
int
num
;
};
};
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
uniset_rwmutex
&
m
);
std
::
ostream
&
operator
<<
(
std
::
ostream
&
os
,
uniset_rwmutex
&
m
);
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
class
uniset_rwmutex_wrlock
class
uniset_rwmutex_wrlock
...
...
src/Communications/ComPort485F.cc
View file @
ddd5f5be
...
@@ -116,7 +116,7 @@ unsigned char ComPort485F::m_receiveByte( bool wait )
...
@@ -116,7 +116,7 @@ unsigned char ComPort485F::m_receiveByte( bool wait )
}
}
else
else
{
{
for
(
int
i
=
0
;
i
<
3
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
3
;
i
++
)
{
{
rc
=
::
read
(
fd
,
tbuf
,
sizeof
(
tbuf
));
rc
=
::
read
(
fd
,
tbuf
,
sizeof
(
tbuf
));
if
(
rc
>
0
)
if
(
rc
>
0
)
...
@@ -220,7 +220,7 @@ void ComPort485F::sendByte( unsigned char x )
...
@@ -220,7 +220,7 @@ void ComPort485F::sendByte( unsigned char x )
// --------------------------------------------------------------------------------
// --------------------------------------------------------------------------------
void
ComPort485F
::
save2queue
(
unsigned
char
*
msg
,
int
len
,
int
bnum
)
void
ComPort485F
::
save2queue
(
unsigned
char
*
msg
,
int
len
,
int
bnum
)
{
{
for
(
int
i
=
0
;
i
<
len
&&
i
<
bnum
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
len
&&
i
<
bnum
;
i
++
)
{
{
wq
.
push
(
msg
[
i
]);
wq
.
push
(
msg
[
i
]);
// fprintf(stderr,"save 2 squeue: %x\n",msg[i]);
// fprintf(stderr,"save 2 squeue: %x\n",msg[i]);
...
...
src/Communications/Modbus/ModbusHelpers.cc
View file @
ddd5f5be
...
@@ -87,7 +87,7 @@ ComPort::Speed ModbusHelpers::autodetectSpeed( ModbusRTUMaster* m, ModbusAddr sl
...
@@ -87,7 +87,7 @@ ComPort::Speed ModbusHelpers::autodetectSpeed( ModbusRTUMaster* m, ModbusAddr sl
{
{
ComPort
::
Speed
cur
=
m
->
getSpeed
();
ComPort
::
Speed
cur
=
m
->
getSpeed
();
ComPort
::
Speed
s
=
ComPort
::
ComSpeed0
;
ComPort
::
Speed
s
=
ComPort
::
ComSpeed0
;
for
(
int
i
=
0
;
checkSpeed
[
i
]
!=
ComPort
::
ComSpeed0
;
i
++
)
for
(
unsigned
int
i
=
0
;
checkSpeed
[
i
]
!=
ComPort
::
ComSpeed0
;
i
++
)
{
{
try
try
{
{
...
...
src/Communications/Modbus/ModbusTCPCore.cc
View file @
ddd5f5be
...
@@ -58,7 +58,7 @@ mbErrCode ModbusTCPCore::sendData( unsigned char* buf, int len, ost::TCPStream*
...
@@ -58,7 +58,7 @@ mbErrCode ModbusTCPCore::sendData( unsigned char* buf, int len, ost::TCPStream*
try
try
{
{
for
(
int
i
=
0
;
i
<
len
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
len
;
i
++
)
(
*
tcp
)
<<
buf
[
i
];
(
*
tcp
)
<<
buf
[
i
];
return
erNoError
;
return
erNoError
;
...
...
src/Communications/Modbus/ModbusTCPMaster.cc
View file @
ddd5f5be
...
@@ -102,7 +102,7 @@ mbErrCode ModbusTCPMaster::query( ModbusAddr addr, ModbusMessage& msg,
...
@@ -102,7 +102,7 @@ mbErrCode ModbusTCPMaster::query( ModbusAddr addr, ModbusMessage& msg,
dlog
(
Debug
::
INFO
)
<<
endl
;
dlog
(
Debug
::
INFO
)
<<
endl
;
}
}
for
(
int
i
=
0
;
i
<
2
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
2
;
i
++
)
{
{
(
*
tcp
)
<<
mh
;
(
*
tcp
)
<<
mh
;
...
@@ -154,7 +154,7 @@ mbErrCode ModbusTCPMaster::query( ModbusAddr addr, ModbusMessage& msg,
...
@@ -154,7 +154,7 @@ mbErrCode ModbusTCPMaster::query( ModbusAddr addr, ModbusMessage& msg,
memset(rbuf,0,sizeof(rbuf));
memset(rbuf,0,sizeof(rbuf));
int ret = getNextData(rbuf,sizeof(rbuf));
int ret = getNextData(rbuf,sizeof(rbuf));
cerr << "ret=" << ret << " recv: ";
cerr << "ret=" << ret << " recv: ";
for( int i=0; i<sizeof(rbuf); i++ )
for(
unsigned
int i=0; i<sizeof(rbuf); i++ )
cerr << hex << " 0x" << (int)rbuf[i];
cerr << hex << " 0x" << (int)rbuf[i];
cerr << endl;
cerr << endl;
*/
*/
...
...
src/Communications/Modbus/ModbusTCPTypes.cc
View file @
ddd5f5be
...
@@ -161,7 +161,7 @@ std::ostream& ModbusRTU::mbPrintMessage( std::ostream& os, ModbusByte* m, int le
...
@@ -161,7 +161,7 @@ std::ostream& ModbusRTU::mbPrintMessage( std::ostream& os, ModbusByte* m, int le
// << setiosflags(ios::showbase) // для вывода в формате 0xNN
// << setiosflags(ios::showbase) // для вывода в формате 0xNN
s
<<
hex
<<
showbase
<<
setfill
(
'0'
);
// << showbase;
s
<<
hex
<<
showbase
<<
setfill
(
'0'
);
// << showbase;
for
(
int
i
=
0
;
i
<
len
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
len
;
i
++
)
s
<<
setw
(
2
)
<<
(
short
)(
m
[
i
])
<<
" "
;
s
<<
setw
(
2
)
<<
(
short
)(
m
[
i
])
<<
" "
;
// s << "<" << setw(2) << (int)(m[i]) << ">";
// s << "<" << setw(2) << (int)(m[i]) << ">";
...
@@ -356,7 +356,7 @@ DataBits::operator ModbusByte()
...
@@ -356,7 +356,7 @@ DataBits::operator ModbusByte()
ModbusByte
DataBits
::
mbyte
()
ModbusByte
DataBits
::
mbyte
()
{
{
ModbusByte
ubyte
=
0
;
ModbusByte
ubyte
=
0
;
for
(
int
i
=
0
;
i
<
b
.
size
();
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
b
.
size
();
i
++
)
{
{
if
(
b
[
i
]
)
if
(
b
[
i
]
)
ubyte
|=
1
<<
i
;
ubyte
|=
1
<<
i
;
...
@@ -367,7 +367,7 @@ ModbusByte DataBits::mbyte()
...
@@ -367,7 +367,7 @@ ModbusByte DataBits::mbyte()
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
const
DataBits
&
DataBits
::
operator
=
(
const
ModbusByte
&
r
)
const
DataBits
&
DataBits
::
operator
=
(
const
ModbusByte
&
r
)
{
{
for
(
int
i
=
0
;
i
<
b
.
size
();
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
b
.
size
();
i
++
)
b
[
i
]
=
r
&
(
1
<<
i
);
b
[
i
]
=
r
&
(
1
<<
i
);
return
(
*
this
);
return
(
*
this
);
...
@@ -376,7 +376,7 @@ const DataBits& DataBits::operator=( const ModbusByte& r )
...
@@ -376,7 +376,7 @@ const DataBits& DataBits::operator=( const ModbusByte& r )
std
::
ostream
&
ModbusRTU
::
operator
<<
(
std
::
ostream
&
os
,
DataBits
&
d
)
std
::
ostream
&
ModbusRTU
::
operator
<<
(
std
::
ostream
&
os
,
DataBits
&
d
)
{
{
os
<<
"["
;
os
<<
"["
;
for
(
int
i
=
d
.
b
.
size
()
-
1
;
i
>=
0
;
i
--
)
for
(
unsigned
int
i
=
d
.
b
.
size
()
-
1
;
i
>=
0
;
i
--
)
os
<<
d
.
b
[
i
];
os
<<
d
.
b
[
i
];
os
<<
"]"
;
os
<<
"]"
;
...
@@ -412,7 +412,7 @@ DataBits16::operator ModbusData()
...
@@ -412,7 +412,7 @@ DataBits16::operator ModbusData()
ModbusData
DataBits16
::
mdata
()
ModbusData
DataBits16
::
mdata
()
{
{
ModbusData
udata
=
0
;
ModbusData
udata
=
0
;
for
(
int
i
=
0
;
i
<
b
.
size
();
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
b
.
size
();
i
++
)
{
{
if
(
b
[
i
]
)
if
(
b
[
i
]
)
udata
|=
1
<<
i
;
udata
|=
1
<<
i
;
...
@@ -423,7 +423,7 @@ ModbusData DataBits16::mdata()
...
@@ -423,7 +423,7 @@ ModbusData DataBits16::mdata()
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
const
DataBits16
&
DataBits16
::
operator
=
(
const
ModbusData
&
r
)
const
DataBits16
&
DataBits16
::
operator
=
(
const
ModbusData
&
r
)
{
{
for
(
int
i
=
0
;
i
<
b
.
size
();
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
b
.
size
();
i
++
)
b
[
i
]
=
r
&
(
1
<<
i
);
b
[
i
]
=
r
&
(
1
<<
i
);
return
(
*
this
);
return
(
*
this
);
...
@@ -432,7 +432,7 @@ const DataBits16& DataBits16::operator=( const ModbusData& r )
...
@@ -432,7 +432,7 @@ const DataBits16& DataBits16::operator=( const ModbusData& r )
std
::
ostream
&
ModbusRTU
::
operator
<<
(
std
::
ostream
&
os
,
DataBits16
&
d
)
std
::
ostream
&
ModbusRTU
::
operator
<<
(
std
::
ostream
&
os
,
DataBits16
&
d
)
{
{
os
<<
"["
;
os
<<
"["
;
for
(
int
i
=
d
.
b
.
size
()
-
1
;
i
>=
0
;
i
--
)
for
(
unsigned
int
i
=
d
.
b
.
size
()
-
1
;
i
>=
0
;
i
--
)
os
<<
d
.
b
[
i
];
os
<<
d
.
b
[
i
];
os
<<
"]"
;
os
<<
"]"
;
...
@@ -876,7 +876,7 @@ void ReadOutputRetMessage::init( ModbusMessage& m )
...
@@ -876,7 +876,7 @@ void ReadOutputRetMessage::init( ModbusMessage& m )
memcpy
(
&
data
,
&
(
m
.
data
[
1
]),
bcnt
);
memcpy
(
&
data
,
&
(
m
.
data
[
1
]),
bcnt
);
// переворачиваем данные
// переворачиваем данные
for
(
int
i
=
0
;
i
<
cnt
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
cnt
;
i
++
)
data
[
i
]
=
SWAPSHORT
(
data
[
i
]);
data
[
i
]
=
SWAPSHORT
(
data
[
i
]);
memcpy
(
&
crc
,
&
(
m
.
data
[
bcnt
+
1
]),
szCRC
);
memcpy
(
&
crc
,
&
(
m
.
data
[
bcnt
+
1
]),
szCRC
);
...
@@ -943,7 +943,7 @@ ModbusMessage ReadOutputRetMessage::transport_msg()
...
@@ -943,7 +943,7 @@ ModbusMessage ReadOutputRetMessage::transport_msg()
// Создаём временно массив, переворачиваем байты
// Создаём временно массив, переворачиваем байты
ModbusData
*
dtmp
=
new
ModbusData
[
count
];
ModbusData
*
dtmp
=
new
ModbusData
[
count
];
for
(
int
i
=
0
;
i
<
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
// копируем
// копируем
...
@@ -1088,7 +1088,7 @@ void ReadInputRetMessage::init( ModbusMessage& m )
...
@@ -1088,7 +1088,7 @@ void ReadInputRetMessage::init( ModbusMessage& m )
memcpy
(
&
data
,
&
(
m
.
data
[
1
]),
bcnt
);
memcpy
(
&
data
,
&
(
m
.
data
[
1
]),
bcnt
);
// переворачиваем данные
// переворачиваем данные
for
(
int
i
=
0
;
i
<
cnt
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
cnt
;
i
++
)
data
[
i
]
=
SWAPSHORT
(
data
[
i
]);
data
[
i
]
=
SWAPSHORT
(
data
[
i
]);
memcpy
(
&
crc
,
&
(
m
.
data
[
bcnt
+
1
]),
szCRC
);
memcpy
(
&
crc
,
&
(
m
.
data
[
bcnt
+
1
]),
szCRC
);
...
@@ -1145,7 +1145,7 @@ ModbusMessage ReadInputRetMessage::transport_msg()
...
@@ -1145,7 +1145,7 @@ ModbusMessage ReadInputRetMessage::transport_msg()
// Создаём временно массив, переворачиваем байты
// Создаём временно массив, переворачиваем байты
ModbusData
*
dtmp
=
new
ModbusData
[
count
];
ModbusData
*
dtmp
=
new
ModbusData
[
count
];
for
(
int
i
=
0
;
i
<
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
// копируем
// копируем
...
@@ -1259,7 +1259,7 @@ ModbusMessage ForceCoilsMessage::transport_msg()
...
@@ -1259,7 +1259,7 @@ ModbusMessage ForceCoilsMessage::transport_msg()
// Создаём временно массив, переворачиваем байты
// Создаём временно массив, переворачиваем байты
ModbusData
*
dtmp
=
new
ModbusData
[
quant
];
ModbusData
*
dtmp
=
new
ModbusData
[
quant
];
for
(
int
i
=
0
;
i
<
quant
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
quant
;
i
++
)
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
// копируем данные
// копируем данные
...
@@ -1325,7 +1325,7 @@ void ForceCoilsMessage::init( ModbusMessage& m )
...
@@ -1325,7 +1325,7 @@ void ForceCoilsMessage::init( ModbusMessage& m )
// последний элемент это CRC
// последний элемент это CRC
memcpy
(
&
crc
,
&
(
m
.
data
[
m
.
len
-
szCRC
]),
szCRC
);
memcpy
(
&
crc
,
&
(
m
.
data
[
m
.
len
-
szCRC
]),
szCRC
);
for
(
int
i
=
0
;
i
<
quant
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
quant
;
i
++
)
data
[
i
]
=
SWAPSHORT
(
data
[
i
]);
data
[
i
]
=
SWAPSHORT
(
data
[
i
]);
}
}
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
...
@@ -1356,7 +1356,7 @@ std::ostream& ModbusRTU::operator<<(std::ostream& os, ForceCoilsMessage& m )
...
@@ -1356,7 +1356,7 @@ std::ostream& ModbusRTU::operator<<(std::ostream& os, ForceCoilsMessage& m )
<<
" bcnt="
<<
b2str
(
m
.
bcnt
)
<<
" bcnt="
<<
b2str
(
m
.
bcnt
)
<<
" data["
<<
(
int
)
m
.
quant
<<
"]={ "
;
<<
" data["
<<
(
int
)
m
.
quant
<<
"]={ "
;
for
(
int
i
=
0
;
i
<
m
.
quant
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
m
.
quant
;
i
++
)
{
{
DataBits16
d
(
m
.
data
[
i
]);
DataBits16
d
(
m
.
data
[
i
]);
os
<<
""
<<
d
<<
" "
;
os
<<
""
<<
d
<<
" "
;
...
@@ -1504,7 +1504,7 @@ ModbusMessage WriteOutputMessage::transport_msg()
...
@@ -1504,7 +1504,7 @@ ModbusMessage WriteOutputMessage::transport_msg()
// Создаём временно массив, переворачиваем байты
// Создаём временно массив, переворачиваем байты
ModbusData
*
dtmp
=
new
ModbusData
[
quant
];
ModbusData
*
dtmp
=
new
ModbusData
[
quant
];
for
(
int
i
=
0
;
i
<
quant
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
quant
;
i
++
)
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
// копируем данные
// копируем данные
...
@@ -1571,7 +1571,7 @@ void WriteOutputMessage::init( ModbusMessage& m )
...
@@ -1571,7 +1571,7 @@ void WriteOutputMessage::init( ModbusMessage& m )
memcpy
(
&
crc
,
&
(
m
.
data
[
m
.
len
-
szCRC
]),
szCRC
);
memcpy
(
&
crc
,
&
(
m
.
data
[
m
.
len
-
szCRC
]),
szCRC
);
int
count
(
bcnt
/
sizeof
(
ModbusData
)
);
int
count
(
bcnt
/
sizeof
(
ModbusData
)
);
for
(
int
i
=
0
;
i
<
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
data
[
i
]
=
SWAPSHORT
(
data
[
i
]);
data
[
i
]
=
SWAPSHORT
(
data
[
i
]);
}
}
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
...
@@ -1616,7 +1616,7 @@ std::ostream& ModbusRTU::operator<<(std::ostream& os, WriteOutputMessage& m )
...
@@ -1616,7 +1616,7 @@ std::ostream& ModbusRTU::operator<<(std::ostream& os, WriteOutputMessage& m )
<<
" bcnt="
<<
dat2str
(
m
.
bcnt
)
<<
" bcnt="
<<
dat2str
(
m
.
bcnt
)
<<
" data["
<<
(
int
)
m
.
quant
<<
"]={ "
;
<<
" data["
<<
(
int
)
m
.
quant
<<
"]={ "
;
for
(
int
i
=
0
;
i
<
m
.
quant
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
m
.
quant
;
i
++
)
os
<<
""
<<
dat2str
(
m
.
data
[
i
])
<<
" "
;
os
<<
""
<<
dat2str
(
m
.
data
[
i
])
<<
" "
;
os
<<
"}"
;
os
<<
"}"
;
...
@@ -2150,7 +2150,7 @@ ModbusMessage JournalCommandRetMessage::transport_msg()
...
@@ -2150,7 +2150,7 @@ ModbusMessage JournalCommandRetMessage::transport_msg()
// --------------------
// --------------------
// копирование с переворотом данных (для ModbusData)
// копирование с переворотом данных (для ModbusData)
ModbusData
*
dtmp
=
new
ModbusData
[
count
];
ModbusData
*
dtmp
=
new
ModbusData
[
count
];
for
(
int
i
=
0
;
i
<
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
// копируем
// копируем
...
@@ -2652,7 +2652,7 @@ void ReadFileRecordMessage::init( ModbusMessage& m )
...
@@ -2652,7 +2652,7 @@ void ReadFileRecordMessage::init( ModbusMessage& m )
memcpy
(
&
crc
,
&
(
m
.
data
[
m
.
len
-
szCRC
]),
szCRC
);
memcpy
(
&
crc
,
&
(
m
.
data
[
m
.
len
-
szCRC
]),
szCRC
);
count
=
bcnt
/
sizeof
(
SubRequest
);
count
=
bcnt
/
sizeof
(
SubRequest
);
for
(
int
i
=
0
;
i
<
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
{
{
data
[
i
].
numfile
=
SWAPSHORT
(
data
[
i
].
numfile
);
data
[
i
].
numfile
=
SWAPSHORT
(
data
[
i
].
numfile
);
data
[
i
].
numrec
=
SWAPSHORT
(
data
[
i
].
numrec
);
data
[
i
].
numrec
=
SWAPSHORT
(
data
[
i
].
numrec
);
...
...
src/Communications/Modbus/ModbusTypes.cc
View file @
ddd5f5be
...
@@ -177,7 +177,7 @@ std::ostream& ModbusRTU::mbPrintMessage( std::ostream& os, ModbusByte* m, int le
...
@@ -177,7 +177,7 @@ std::ostream& ModbusRTU::mbPrintMessage( std::ostream& os, ModbusByte* m, int le
// << setiosflags(ios::showbase) // для вывода в формате 0xNN
// << setiosflags(ios::showbase) // для вывода в формате 0xNN
s
<<
hex
<<
showbase
<<
setfill
(
'0'
);
// << showbase;
s
<<
hex
<<
showbase
<<
setfill
(
'0'
);
// << showbase;
for
(
int
i
=
0
;
i
<
len
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
len
;
i
++
)
s
<<
setw
(
2
)
<<
(
short
)(
m
[
i
])
<<
" "
;
s
<<
setw
(
2
)
<<
(
short
)(
m
[
i
])
<<
" "
;
// s << "<" << setw(2) << (int)(m[i]) << ">";
// s << "<" << setw(2) << (int)(m[i]) << ">";
...
@@ -392,7 +392,7 @@ const DataBits& DataBits::operator=( const ModbusByte& r )
...
@@ -392,7 +392,7 @@ const DataBits& DataBits::operator=( const ModbusByte& r )
std
::
ostream
&
ModbusRTU
::
operator
<<
(
std
::
ostream
&
os
,
DataBits
&
d
)
std
::
ostream
&
ModbusRTU
::
operator
<<
(
std
::
ostream
&
os
,
DataBits
&
d
)
{
{
os
<<
"["
;
os
<<
"["
;
for
(
int
i
=
(
int
)
d
.
b
.
size
()
-
1
;
i
>=
0
;
i
--
)
for
(
unsigned
int
i
=
(
int
)
d
.
b
.
size
()
-
1
;
i
>=
0
;
i
--
)
os
<<
d
.
b
[
i
];
os
<<
d
.
b
[
i
];
os
<<
"]"
;
os
<<
"]"
;
...
@@ -448,7 +448,7 @@ const DataBits16& DataBits16::operator=( const ModbusData& r )
...
@@ -448,7 +448,7 @@ const DataBits16& DataBits16::operator=( const ModbusData& r )
std
::
ostream
&
ModbusRTU
::
operator
<<
(
std
::
ostream
&
os
,
DataBits16
&
d
)
std
::
ostream
&
ModbusRTU
::
operator
<<
(
std
::
ostream
&
os
,
DataBits16
&
d
)
{
{
os
<<
"["
;
os
<<
"["
;
for
(
int
i
=
(
int
)
d
.
b
.
size
()
-
1
;
i
>=
0
;
i
--
)
for
(
unsigned
int
i
=
(
int
)
d
.
b
.
size
()
-
1
;
i
>=
0
;
i
--
)
os
<<
d
.
b
[
i
];
os
<<
d
.
b
[
i
];
os
<<
"]"
;
os
<<
"]"
;
...
@@ -964,7 +964,7 @@ ModbusMessage ReadOutputRetMessage::transport_msg()
...
@@ -964,7 +964,7 @@ ModbusMessage ReadOutputRetMessage::transport_msg()
// Создаём временно массив, переворачиваем байты
// Создаём временно массив, переворачиваем байты
ModbusData
*
dtmp
=
new
ModbusData
[
count
];
ModbusData
*
dtmp
=
new
ModbusData
[
count
];
for
(
int
i
=
0
;
i
<
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
// копируем
// копируем
...
@@ -1120,7 +1120,7 @@ void ReadInputRetMessage::init( ModbusMessage& m )
...
@@ -1120,7 +1120,7 @@ void ReadInputRetMessage::init( ModbusMessage& m )
void
ReadInputRetMessage
::
swapData
()
void
ReadInputRetMessage
::
swapData
()
{
{
// переворачиваем данные
// переворачиваем данные
for
(
int
i
=
0
;
i
<
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
data
[
i
]
=
SWAPSHORT
(
data
[
i
]);
data
[
i
]
=
SWAPSHORT
(
data
[
i
]);
}
}
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
...
@@ -1175,7 +1175,7 @@ ModbusMessage ReadInputRetMessage::transport_msg()
...
@@ -1175,7 +1175,7 @@ ModbusMessage ReadInputRetMessage::transport_msg()
// Создаём временно массив, переворачиваем байты
// Создаём временно массив, переворачиваем байты
ModbusData
*
dtmp
=
new
ModbusData
[
count
];
ModbusData
*
dtmp
=
new
ModbusData
[
count
];
for
(
int
i
=
0
;
i
<
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
// копируем
// копируем
...
@@ -1392,7 +1392,7 @@ std::ostream& ModbusRTU::operator<<(std::ostream& os, ForceCoilsMessage& m )
...
@@ -1392,7 +1392,7 @@ std::ostream& ModbusRTU::operator<<(std::ostream& os, ForceCoilsMessage& m )
<<
" bcnt="
<<
b2str
(
m
.
bcnt
)
<<
" bcnt="
<<
b2str
(
m
.
bcnt
)
<<
" data["
<<
(
int
)
m
.
quant
<<
"]={ "
;
<<
" data["
<<
(
int
)
m
.
quant
<<
"]={ "
;
for
(
int
i
=
0
;
i
<
m
.
bcnt
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
m
.
bcnt
;
i
++
)
{
{
DataBits
d
(
m
.
data
[
i
]);
DataBits
d
(
m
.
data
[
i
]);
os
<<
""
<<
d
<<
" "
;
os
<<
""
<<
d
<<
" "
;
...
@@ -1540,7 +1540,7 @@ ModbusMessage WriteOutputMessage::transport_msg()
...
@@ -1540,7 +1540,7 @@ ModbusMessage WriteOutputMessage::transport_msg()
// Создаём временно массив, переворачиваем байты
// Создаём временно массив, переворачиваем байты
ModbusData
*
dtmp
=
new
ModbusData
[
quant
];
ModbusData
*
dtmp
=
new
ModbusData
[
quant
];
for
(
int
i
=
0
;
i
<
quant
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
quant
;
i
++
)
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
// копируем данные
// копируем данные
...
@@ -1607,7 +1607,7 @@ void WriteOutputMessage::init( ModbusMessage& m )
...
@@ -1607,7 +1607,7 @@ void WriteOutputMessage::init( ModbusMessage& m )
memcpy
(
&
crc
,
&
(
m
.
data
[
m
.
len
-
szCRC
]),
szCRC
);
memcpy
(
&
crc
,
&
(
m
.
data
[
m
.
len
-
szCRC
]),
szCRC
);
int
count
(
bcnt
/
sizeof
(
ModbusData
)
);
int
count
(
bcnt
/
sizeof
(
ModbusData
)
);
for
(
int
i
=
0
;
i
<
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
data
[
i
]
=
SWAPSHORT
(
data
[
i
]);
data
[
i
]
=
SWAPSHORT
(
data
[
i
]);
}
}
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
...
@@ -1652,7 +1652,7 @@ std::ostream& ModbusRTU::operator<<(std::ostream& os, WriteOutputMessage& m )
...
@@ -1652,7 +1652,7 @@ std::ostream& ModbusRTU::operator<<(std::ostream& os, WriteOutputMessage& m )
<<
" bcnt="
<<
dat2str
(
m
.
bcnt
)
<<
" bcnt="
<<
dat2str
(
m
.
bcnt
)
<<
" data["
<<
(
int
)
m
.
quant
<<
"]={ "
;
<<
" data["
<<
(
int
)
m
.
quant
<<
"]={ "
;
for
(
int
i
=
0
;
i
<
m
.
quant
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
m
.
quant
;
i
++
)
os
<<
""
<<
dat2str
(
m
.
data
[
i
])
<<
" "
;
os
<<
""
<<
dat2str
(
m
.
data
[
i
])
<<
" "
;
os
<<
"}"
;
os
<<
"}"
;
...
@@ -2179,7 +2179,7 @@ void DiagnosticMessage::init( ModbusMessage& m )
...
@@ -2179,7 +2179,7 @@ void DiagnosticMessage::init( ModbusMessage& m )
last
+=
sizeof
(
ModbusData
)
*
count
;
last
+=
sizeof
(
ModbusData
)
*
count
;
// переворачиваем данные
// переворачиваем данные
for
(
int
i
=
0
;
i
<
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
data
[
i
]
=
SWAPSHORT
(
data
[
i
]);
data
[
i
]
=
SWAPSHORT
(
data
[
i
]);
memcpy
(
&
crc
,
&
(
m
.
data
[
last
]),
szCRC
);
memcpy
(
&
crc
,
&
(
m
.
data
[
last
]),
szCRC
);
...
@@ -2244,7 +2244,7 @@ ModbusMessage DiagnosticMessage::transport_msg()
...
@@ -2244,7 +2244,7 @@ ModbusMessage DiagnosticMessage::transport_msg()
// Создаём временно массив, переворачиваем байты
// Создаём временно массив, переворачиваем байты
ModbusData
*
dtmp
=
new
ModbusData
[
count
];
ModbusData
*
dtmp
=
new
ModbusData
[
count
];
for
(
int
i
=
0
;
i
<
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
// копируем
// копируем
...
@@ -2295,7 +2295,7 @@ std::ostream& ModbusRTU::operator<<(std::ostream& os, DiagnosticMessage& m )
...
@@ -2295,7 +2295,7 @@ std::ostream& ModbusRTU::operator<<(std::ostream& os, DiagnosticMessage& m )
<<
" subf="
<<
dat2str
(
m
.
subf
)
<<
" subf="
<<
dat2str
(
m
.
subf
)
<<
" data["
<<
m
.
count
<<
"]={"
;
<<
" data["
<<
m
.
count
<<
"]={"
;
for
(
int
i
=
0
;
i
<
m
.
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
m
.
count
;
i
++
)
os
<<
dat2str
(
m
.
data
[
i
])
<<
" "
;
os
<<
dat2str
(
m
.
data
[
i
])
<<
" "
;
os
<<
"}"
;
os
<<
"}"
;
...
@@ -2315,7 +2315,7 @@ std::ostream& ModbusRTU::operator<<(std::ostream& os, DiagnosticRetMessage& m )
...
@@ -2315,7 +2315,7 @@ std::ostream& ModbusRTU::operator<<(std::ostream& os, DiagnosticRetMessage& m )
<<
" subf="
<<
dat2str
(
m
.
subf
)
<<
" subf="
<<
dat2str
(
m
.
subf
)
<<
" data["
<<
m
.
count
<<
"]={"
;
<<
" data["
<<
m
.
count
<<
"]={"
;
for
(
int
i
=
0
;
i
<
m
.
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
m
.
count
;
i
++
)
os
<<
dat2str
(
m
.
data
[
i
])
<<
" "
;
os
<<
dat2str
(
m
.
data
[
i
])
<<
" "
;
os
<<
"}"
;
os
<<
"}"
;
...
@@ -2441,7 +2441,7 @@ RDIObjectInfo::RDIObjectInfo( ModbusByte id, ModbusByte* dat, ModbusByte len ):
...
@@ -2441,7 +2441,7 @@ RDIObjectInfo::RDIObjectInfo( ModbusByte id, ModbusByte* dat, ModbusByte len ):
{
{
val
.
reserve
(
len
);
val
.
reserve
(
len
);
for
(
int
i
=
0
;
i
<
len
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
len
;
i
++
)
val
.
push_back
(
(
char
)
dat
[
i
]
);
val
.
push_back
(
(
char
)
dat
[
i
]
);
}
}
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
...
@@ -2739,7 +2739,7 @@ ModbusMessage JournalCommandRetMessage::transport_msg()
...
@@ -2739,7 +2739,7 @@ ModbusMessage JournalCommandRetMessage::transport_msg()
// --------------------
// --------------------
// копирование с переворотом данных (для ModbusData)
// копирование с переворотом данных (для ModbusData)
ModbusData
*
dtmp
=
new
ModbusData
[
count
];
ModbusData
*
dtmp
=
new
ModbusData
[
count
];
for
(
int
i
=
0
;
i
<
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
dtmp
[
i
]
=
SWAPSHORT
(
data
[
i
]);
// копируем
// копируем
...
@@ -3241,7 +3241,7 @@ void ReadFileRecordMessage::init( ModbusMessage& m )
...
@@ -3241,7 +3241,7 @@ void ReadFileRecordMessage::init( ModbusMessage& m )
memcpy
(
&
crc
,
&
(
m
.
data
[
m
.
len
-
szCRC
]),
szCRC
);
memcpy
(
&
crc
,
&
(
m
.
data
[
m
.
len
-
szCRC
]),
szCRC
);
count
=
bcnt
/
sizeof
(
SubRequest
);
count
=
bcnt
/
sizeof
(
SubRequest
);
for
(
int
i
=
0
;
i
<
count
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
count
;
i
++
)
{
{
data
[
i
].
numfile
=
SWAPSHORT
(
data
[
i
].
numfile
);
data
[
i
].
numfile
=
SWAPSHORT
(
data
[
i
].
numfile
);
data
[
i
].
numrec
=
SWAPSHORT
(
data
[
i
].
numrec
);
data
[
i
].
numrec
=
SWAPSHORT
(
data
[
i
].
numrec
);
...
...
src/ObjectRepository/ObjectIndex_Array.cc
View file @
ddd5f5be
...
@@ -86,7 +86,7 @@ std::ostream& operator<<(std::ostream& os, ObjectIndex_Array& oi )
...
@@ -86,7 +86,7 @@ std::ostream& operator<<(std::ostream& os, ObjectIndex_Array& oi )
std
::
ostream
&
ObjectIndex_Array
::
printMap
(
std
::
ostream
&
os
)
std
::
ostream
&
ObjectIndex_Array
::
printMap
(
std
::
ostream
&
os
)
{
{
for
(
int
i
=
0
;;
i
++
)
for
(
unsigned
int
i
=
0
;;
i
++
)
{
{
if
(
!
objectInfo
[
i
].
repName
)
if
(
!
objectInfo
[
i
].
repName
)
break
;
break
;
...
...
src/ObjectRepository/ObjectRepository.cc
View file @
ddd5f5be
...
@@ -104,7 +104,7 @@ void ObjectRepository::registration(const string& name, const ObjectPtr oRef, co
...
@@ -104,7 +104,7 @@ void ObjectRepository::registration(const string& name, const ObjectPtr oRef, co
CosNaming
::
Name_var
oName
=
omniURI
::
stringToName
(
name
.
c_str
());
CosNaming
::
Name_var
oName
=
omniURI
::
stringToName
(
name
.
c_str
());
CosNaming
::
NamingContext_var
ctx
;
CosNaming
::
NamingContext_var
ctx
;
for
(
int
i
=
0
;
i
<
2
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
2
;
i
++
)
{
{
try
try
{
{
...
...
src/ObjectRepository/ProxyManager.cc
View file @
ddd5f5be
...
@@ -77,7 +77,7 @@ bool ProxyManager::activateObject()
...
@@ -77,7 +77,7 @@ bool ProxyManager::activateObject()
{
{
try
try
{
{
for
(
int
i
=
0
;
i
<
2
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
2
;
i
++
)
{
{
try
try
{
{
...
...
src/ObjectRepository/UniSetManager.cc
View file @
ddd5f5be
...
@@ -458,7 +458,7 @@ int UniSetManager::objectsCount()
...
@@ -458,7 +458,7 @@ int UniSetManager::objectsCount()
int
UniSetManager
::
getObjectsInfo
(
UniSetManager
*
mngr
,
SimpleInfoSeq
*
seq
,
int
UniSetManager
::
getObjectsInfo
(
UniSetManager
*
mngr
,
SimpleInfoSeq
*
seq
,
int
begin
,
const
long
uplimit
)
int
begin
,
const
long
uplimit
)
{
{
int
ind
=
begin
;
unsigned
int
ind
=
begin
;
// получаем у самого менджера
// получаем у самого менджера
SimpleInfo_var
msi
=
mngr
->
getInfo
();
SimpleInfo_var
msi
=
mngr
->
getInfo
();
...
...
src/ObjectRepository/UniSetObject.cc
View file @
ddd5f5be
...
@@ -341,7 +341,7 @@ void UniSetObject::registered()
...
@@ -341,7 +341,7 @@ void UniSetObject::registered()
try
try
{
{
for
(
int
i
=
0
;
i
<
2
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
2
;
i
++
)
{
{
try
try
{
{
...
...
src/Processes/IOController.cc
View file @
ddd5f5be
...
@@ -384,7 +384,7 @@ void IOController::ioRegistration( const USensorInfo& ainf, bool force )
...
@@ -384,7 +384,7 @@ void IOController::ioRegistration( const USensorInfo& ainf, bool force )
try
try
{
{
for
(
int
i
=
0
;
i
<
2
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
2
;
i
++
)
{
{
try
try
{
{
...
@@ -478,7 +478,7 @@ IOController_i::SensorInfoSeq* IOController::getSensorsMap()
...
@@ -478,7 +478,7 @@ IOController_i::SensorInfoSeq* IOController::getSensorsMap()
IOController_i
::
SensorInfoSeq
*
res
=
new
IOController_i
::
SensorInfoSeq
();
IOController_i
::
SensorInfoSeq
*
res
=
new
IOController_i
::
SensorInfoSeq
();
res
->
length
(
ioList
.
size
());
res
->
length
(
ioList
.
size
());
int
i
=
0
;
unsigned
int
i
=
0
;
for
(
IOStateList
::
iterator
it
=
ioList
.
begin
();
it
!=
ioList
.
end
();
++
it
)
for
(
IOStateList
::
iterator
it
=
ioList
.
begin
();
it
!=
ioList
.
end
();
++
it
)
{
{
uniset_rwmutex_rlock
lock
(
it
->
second
.
val_lock
);
uniset_rwmutex_rlock
lock
(
it
->
second
.
val_lock
);
...
@@ -673,7 +673,7 @@ IOController_i::SensorInfoSeq* IOController::getSensorSeq( const IDSeq& lst )
...
@@ -673,7 +673,7 @@ IOController_i::SensorInfoSeq* IOController::getSensorSeq( const IDSeq& lst )
IOController_i
::
SensorInfoSeq
*
res
=
new
IOController_i
::
SensorInfoSeq
();
IOController_i
::
SensorInfoSeq
*
res
=
new
IOController_i
::
SensorInfoSeq
();
res
->
length
(
size
);
res
->
length
(
size
);
for
(
int
i
=
0
;
i
<
size
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
size
;
i
++
)
{
{
IOStateList
::
iterator
it
=
ioList
.
find
(
UniSetTypes
::
key
(
lst
[
i
],
conf
->
getLocalNode
())
);
IOStateList
::
iterator
it
=
ioList
.
find
(
UniSetTypes
::
key
(
lst
[
i
],
conf
->
getLocalNode
())
);
if
(
it
!=
ioList
.
end
()
)
if
(
it
!=
ioList
.
end
()
)
...
...
src/Processes/IONotifyController.cc
View file @
ddd5f5be
...
@@ -894,7 +894,7 @@ IONotifyController_i::ThresholdList* IONotifyController::getThresholds( const IO
...
@@ -894,7 +894,7 @@ IONotifyController_i::ThresholdList* IONotifyController::getThresholds( const IO
res
->
tlist
.
length
(
it
->
second
.
list
.
size
()
);
res
->
tlist
.
length
(
it
->
second
.
list
.
size
()
);
int
k
=
0
;
unsigned
int
k
=
0
;
for
(
ThresholdExtList
::
const_iterator
it2
=
it
->
second
.
list
.
begin
();
it2
!=
it
->
second
.
list
.
end
();
++
it2
)
for
(
ThresholdExtList
::
const_iterator
it2
=
it
->
second
.
list
.
begin
();
it2
!=
it
->
second
.
list
.
end
();
++
it2
)
{
{
res
->
tlist
[
k
].
id
=
it2
->
id
;
res
->
tlist
[
k
].
id
=
it2
->
id
;
...
@@ -917,7 +917,7 @@ IONotifyController_i::ThresholdsListSeq* IONotifyController::getThresholdsList()
...
@@ -917,7 +917,7 @@ IONotifyController_i::ThresholdsListSeq* IONotifyController::getThresholdsList()
if
(
!
askTMap
.
empty
()
)
if
(
!
askTMap
.
empty
()
)
{
{
int
i
=
0
;
unsigned
int
i
=
0
;
for
(
AskThresholdMap
::
iterator
it
=
askTMap
.
begin
();
it
!=
askTMap
.
end
();
++
it
)
for
(
AskThresholdMap
::
iterator
it
=
askTMap
.
begin
();
it
!=
askTMap
.
end
();
++
it
)
{
{
try
try
...
@@ -936,7 +936,7 @@ IONotifyController_i::ThresholdsListSeq* IONotifyController::getThresholdsList()
...
@@ -936,7 +936,7 @@ IONotifyController_i::ThresholdsListSeq* IONotifyController::getThresholdsList()
(
*
res
)[
i
].
tlist
.
length
(
it
->
second
.
list
.
size
()
);
(
*
res
)[
i
].
tlist
.
length
(
it
->
second
.
list
.
size
()
);
int
k
=
0
;
unsigned
int
k
=
0
;
for
(
ThresholdExtList
::
const_iterator
it2
=
it
->
second
.
list
.
begin
();
it2
!=
it
->
second
.
list
.
end
();
++
it2
)
for
(
ThresholdExtList
::
const_iterator
it2
=
it
->
second
.
list
.
begin
();
it2
!=
it
->
second
.
list
.
end
();
++
it2
)
{
{
(
*
res
)[
i
].
tlist
[
k
].
id
=
it2
->
id
;
(
*
res
)[
i
].
tlist
[
k
].
id
=
it2
->
id
;
...
...
src/Various/SViewer.cc
View file @
ddd5f5be
...
@@ -281,7 +281,7 @@ void SViewer::updateThresholds( IONotifyController_i::ThresholdsListSeq_var& tls
...
@@ -281,7 +281,7 @@ void SViewer::updateThresholds( IONotifyController_i::ThresholdsListSeq_var& tls
cout
<<
" | "
<<
setw
(
60
)
<<
sname
<<
" | "
<<
setw
(
5
)
<<
tlst
[
i
].
value
<<
endl
;
cout
<<
" | "
<<
setw
(
60
)
<<
sname
<<
" | "
<<
setw
(
5
)
<<
tlst
[
i
].
value
<<
endl
;
int
m
=
tlst
[
i
].
tlist
.
length
();
int
m
=
tlst
[
i
].
tlist
.
length
();
for
(
int
k
=
0
;
k
<
m
;
k
++
)
for
(
unsigned
int
k
=
0
;
k
<
m
;
k
++
)
{
{
IONotifyController_i
::
ThresholdInfo
*
ti
=
&
tlst
[
i
].
tlist
[
k
];
IONotifyController_i
::
ThresholdInfo
*
ti
=
&
tlst
[
i
].
tlist
[
k
];
cout
<<
"
\t
("
<<
setw
(
3
)
<<
ti
->
id
<<
") | "
<<
ti
->
state
<<
" | hi: "
<<
setw
(
5
)
<<
ti
->
hilimit
;
cout
<<
"
\t
("
<<
setw
(
3
)
<<
ti
->
id
<<
") | "
<<
ti
->
state
<<
" | hi: "
<<
setw
(
5
)
<<
ti
->
hilimit
;
...
...
src/Various/UniXML.cc
View file @
ddd5f5be
...
@@ -267,7 +267,7 @@ xmlNode* UniXML::findNodeUtf8( xmlNode* node, const string& searchnode, const st
...
@@ -267,7 +267,7 @@ xmlNode* UniXML::findNodeUtf8( xmlNode* node, const string& searchnode, const st
//depth means number of times we can go to the children, if 0 we can't go only to elements of the same level
//depth means number of times we can go to the children, if 0 we can't go only to elements of the same level
xmlNode
*
UniXML
::
extFindNode
(
xmlNode
*
node
,
int
depth
,
int
width
,
const
string
&
searchnode
,
const
string
&
name
,
bool
top
)
const
xmlNode
*
UniXML
::
extFindNode
(
xmlNode
*
node
,
int
depth
,
int
width
,
const
string
&
searchnode
,
const
string
&
name
,
bool
top
)
const
{
{
int
i
=
0
;
unsigned
int
i
=
0
;
xmlNode
*
fnode
=
node
;
xmlNode
*
fnode
=
node
;
while
(
fnode
!=
NULL
)
while
(
fnode
!=
NULL
)
{
{
...
...
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