MN0A002 - FTP Directory Listing

MN0A002 - FTP Directory Listing
Multipath Ultrasonic Gas and Liquid Flow Meter
External Communication,
MPU Series B and Ultra Series
Procedure Manual
Bulletin MN0A002
Issue/Rev. 0.1 (5/13)
The Most Trusted Name In Measurement
Important
All information and technical specifications in this documentation have been carefully checked
and compiled by the author. However, we cannot completely exclude the possibility of errors.
Smith Meter GmbH is always grateful to be informed of any errors.
______________________________________________________________________
Page 2 of 28
MN0A002 0.1 (5/13)
External Data Communication, MPU Series B and Ultra Series
Procedure
TABLE OF CONTENTS
1.
INTRODUCTION ..................................................................................... 5
1.1. GENERAL ............................................................................................ 5
1.2. References .......................................................................................... 5
1.3. Abbreviations ...................................................................................... 5
1.4. Definitions ........................................................................................... 5
2.
PROTOCOL DETAILS ............................................................................ 7
2.1. ModBus On Serial Port ....................................................................... 7
2.1.1. Serial Port 1 ............................................................................... 7
2.1.2. Serial Port 2 ............................................................................... 7
2.1.3. Hardware interface details ......................................................... 8
2.1.4. Timing considerations for RS-485 .............................................. 8
2.2. ModBus On TCP/IP ............................................................................. 8
3.
REGISTER MAPPINGS .......................................................................... 9
3.1. Version information ............................................................................ 9
3.2. Results/Output Registers ................................................................. 10
3.3. High Resolution Accumulators ....................................................... 13
3.4 Computerized Process Variables (Registers .................................. 14
3.5. DECA/GERG Calculation results (MPU) .......................................... 15
3.6. Input Registers .................................................................................. 16
4.
REGISTER USAGE .............................................................................. 17
4.1. The MPU Series B Alarm Status ...................................................... 18
4.2. The ModBus Protocol – Message Exchange Example .................. 19
4.2.1. Modbus Read Message Example ............................................ 19
4.2.2. ModBus Write Message Example ............................................ 20
5.
WINDOWS COMMUNICATION SOFTWARE ....................................... 21
5.1. MPUCOMM Dynamic Link Library ................................................... 21
5.1.1. Installation ................................................................................ 21
5.1.2. Running The Test Programs .................................................... 22
5.1.3. The Network Programmers Interface ....................................... 23
5.1.4. Status Return Codes ................................................................ 27
5.2. MPU Series B WinScreen ................................................................. 27
____________________________________________________________________
MN0A002 0.1 (5/13)
Page 3 of 28
External Data Communication, MPU Series B and Ultra Series
Procedure
FIGURES
Figure 1 - Flow Computer Application Example ........................................................... 17
Figure 2 - ModBus Read Message Example................................................................... 19
Figure 3 - ModBus Read Reply Message Example ........................................................ 19
Figure 4 - ModBus Write Message Example .................................................................. 20
Figure 5 - ModBus Write Reply Message Example ....................................................... 20
Figure 6 - DLLTester User Interface .............................................................................. 22
Figure 7 - Running the SimpleTalk.exe application ....................................................... 23
____________________________________________________________________
Page 4 of 28
MN0A002 0.1 (5/13)
MPU Series B and Ultra Series
Ultrasonic Flow Meter
______________________________________________________________________
1.
INTRODUCTION
1.1.
GENERAL
This document contains a description of how to use the MPU
Series B/ Ultra Series ModBus interfaces. Both the serial interface
and the Ethernet interface are described.
1.2.
References
1
Doc. No
Title
USM-0000020565
(MNKS001)
MPU Series B User Manual: Operators
Manual – Configuring the ModBus Serial
Ports.
2
1.3.
Andy Swales, Schneider Electric: Open
ModBus/TCP Specification, Release 1.0
29 March 1999
Abbreviations
CP
Communications Processor
DSP
Digital Signal Processor
VOS
Velocity of Sound
1.4.
Definitions
IP
MPU
TCP
Internet Protocol
MultiPath Ultrasonic
Transport Control Protocol
______________________________________________________________________
MN0A002 0.1 (5/13)
Page 5 of 28
Exernal Communication Manual
______________________________________________________________________
This page is intentionally left blank
______________________________________________________________________
Page 6 of 28
MN0A002 0.1 (5/13)
MPU Series B and Ultra Series
Ultrasonic Flow Meter
______________________________________________________________________
2. PROTOCOL DETAILS
The MPU Series B/Ultra Series ModBus protocol will only
operate in RTU mode.
All floating point values are represented as 32-bit real numbers in
two consecutive 16-bit ModBus registers.
All integer values are represented as 32-bit integers in two
consecutive 16-bit ModBus registers.
The MPU Series B/Ultra Series acts as a ModBus Slave.
2.1.
ModBus On Serial Port
The MPU Series B/Ultra Series supports ModBus connections on
one or both of its serial ports.
2.1.1. Serial Port 1
The settings for this port are shown in the table below.
Baud rate
Parity
Data bits
Stop bits
ModBus node
number
9600
None
8
1
1
2.1.2. Serial Port 2
The following settings are fixed for port 2:
Parity
Data bits
Stop bits
None
8
1
The rest of the parameters are configurable on this port.
_____________________________________________________________________
MN0A002 0.1 (5/13)
Page 7 of 28
Exernal Communication Manual
_____________________________________________________________________
2.1.3. Hardware interface details
The actual hardware interface used can be one of the following:
1.
2.
3.
RS-232 (Full Duplex)
2-wire RS-485 (Half Duplex)
4-wire RS-485, i.e. RS-422 (Full Duplex)
2.1.4. Timing considerations for RS-485
For the Half Duplex RS-485 (2-wire) interface, the following
timing considerations must be taken into account by the software
on the ModBus master:
There must be at least a 20 mS "silent interval" from receiving a
ModBus reply from the MPU, before the next ModBus request
message issued by the master to the MPU. The software on the
ModBus master will typically need to follow this pattern of
communication:
1.
2.
3.
4.
Send a request message A to the meter
Read the reply message from the meter
Wait for at least 20 mS
Send the next request message B to the meter
...etc...
This will ensure that the meter has sufficient amount of time to
change the driver direction before the master sends the next
request.
2.2.
ModBus On TCP/IP
The MPU Series B/Ultra Series ModBus on TCP/IP
implementation conforms to the definition in section 1.2
References [2].
The following requirements apply to the ModBus Application
Protocol (MBAP) header used for TCP/IP:
Fields
Transaction Identifier
Protocol Identifier
Length
Unit Identifier
Length
2 bytes
2 bytes
2 bytes
1 byte
Client
Must be 0
Must be 0
Minimum 6
Must be 1
_____________________________________________________________________
Page 8 of 28
MN0A002 0.1 (5/13)
MPU Series B and Ultra Series
Ultrasonic Flow Meter
3. REGISTER MAPPINGS
This section lists the specific MPU Series B/Ultra Series database
object numbers and ModBus addresses.
The following listings contain the most important objects available
on the MODBUS protocol. For a complete listing of objects, please
use the database report in the Winscreen program.
Object overview:
Object
ModBus
number
Address
0-199
0-398
200-299
400-598
Description
Measured/Calculated values (Read only)
Alarm / Status / Accumulators / Version
information (Read only)
400-699
800-1398 Parameters (Restricted). Use Winscreen
700-799 1400-1598 Modes (Restricted). Use Winscreen
1000-1100 2000-2198 External Input Registers (Write)
(P / T / Z / Density / GC)
Format
Float32
Int32
Float32
Int32
Float32
In case of a 4/3/1 path meter, the object numbers / Modbus
addresses are the same, and objects with higher path numbers are
not applicable.
3.1.
Version information
The following registers contain the version information for the
meter. All registers are read only and 32 bit integers.
Object
number
250
251
252
264
265
266
271
272
273
274
ModBus
Address
500
502
504
528
530
532
542
544
546
548
Description
UDSP Serial Number
UAFE Serial Number
UACF Serial Number
MID Protection Mode (0=Off, 1=MID)
Hardware Lock (0=NA, 1=Open, 2=Locked)
Database checksum of all W&M parameters
DB Reference checksum (stored)
Event counter
Software checksum
Software version
______________________________________________________________________
MN0A002 0.1 (5/13)
Page 9 of 28
Exernal Communication Manual
______________________________________________________________________
3.2.
Results/Output Registers
The following registers are the results registers of the MPU Series
B. They are all 32-bit float values. They are updated on the
completion of every measurement cycle.
Object
number
0
1
2
3
4
ModBus
Address
0
2
4
6
8
Description
5
10
Accumulated Volume Forward
m3
6
12
Accumulated Volume Reverse
m3
7
14
%
8
16
%
%
9
18
%
Sm³
%
Sft3 *4
10
20
%
Sm³
%
Sft3 *4
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
22
24
26
28
30
32
34
36
38
40
42
44
46
48
50
52
54
56
Profile Flatness (all except single
path meters)
Profile Symmetry (all except
single path meters)
Swirl Flow (only 6 path meters)
Accumulated Standard Volume,
Forward (4 paths MPU and less)
Cross Flow (only 6 path meters)
Accumulated Standard Volume,
Reverse (4 paths MPU and less)
Increment Time Duration *3
Used Line Pressure
Used Line Temperature
Measured Flow Velocity path 1
Measured Flow Velocity path 2
Measured Flow Velocity path 3
Measured Flow Velocity path 4
Measured Flow Velocity path 5
Measured Flow Velocity path 6
Measured VOS path 1
Measured VOS path 2
Measured VOS path 3
Measured VOS path 4
Measured VOS path 5
Measured VOS path 6
Percentage Of Signals Used 1A
Percentage Of Signals Used 1B
Percentage Of Signals Used 2A
Unit
US
ft/s
ft/s
ft3/h*4
bbl/h*5
ft3 *4
bbl *5
ft3 *4
bbl *5
%
sec
barA
°C
m/s
m/s
m/s
m/s
m/s
m/s
m/s
m/s
m/s
m/s
m/s
m/s
%
%
%
Sec
psiA
°F
ft/s
ft/s
ft/s
ft/s
ft/s
ft/s
ft/s
ft/s
ft/s
ft/s
ft/s
ft/s
%
%
%
Log count *1
Alarm Status *2
Flow Velocity
Velocity of Sound
Actual Volume Flowrate
Unit
metric
m/s
m/s
m3/h
_____________________________________________________________________
Page 10 of 28
MN0A002 0.1 (5/13)
MPU Series B and Ultra Series
Ultrasonic Flow Meter
Object
number
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
ModBus
Address
58
60
62
64
66
68
70
72
74
76
78
80
82
84
86
88
90
92
94
96
98
100
102
104
106
108
110
112
114
116
118
120
122
124
126
128
130
132
134
Description
Percentage Of Signals Used 2B
Percentage Of Signals Used 3A
Percentage Of Signals Used 3B
Percentage Of Signals Used 4A
Percentage Of Signals Used 4B
Percentage Of Signals Used 5A
Percentage Of Signals Used 5B
Percentage Of Signals Used 6A
Percentage Of Signals Used 6B
Gain 1A
Gain 1B
Gain 2A
Gain 2B
Gain 3A
Gain 3B
Gain 4A
Gain 4B
Gain 5A
Gain 5B
Gain 6A
Gain 6B
S/N Raw 1
S/N Raw 2
S/N Raw 3
S/N Raw 4
S/N Raw 5
S/N Raw 6
S/N Used 1
S/N Used 2
S/N Used 3
S/N Used 4
S/N Used 5
S/N Used 6
Turbulence level 1
Turbulence level 2
Turbulence level 3
Turbulence level 4
Turbulence level 5
Turbulence level 6
Unit
metric
%
%
%
%
%
%
%
%
%
dB
dB
dB
dB
dB
dB
dB
dB
dB
dB
dB
dB
%
%
%
%
%
%
*1
This is a counter that is incremented by one on the completion of every
measurement cycle.
*2
This is the alarm status word. A non-zero value here indicates that one or
more alarms have been raised on the meter. See chapter 4.1 for details.
______________________________________________________________________
MN0A002 0.1 (5/13)
Page 11 of 28
Unit
US
%
%
%
%
%
%
%
%
%
dB
dB
dB
dB
dB
dB
dB
dB
dB
dB
dB
dB
%
%
%
%
%
%
Exernal Communication Manual
______________________________________________________________________
*3
*4
*5
This is the time elapsed during the most recent measurement cycle
Gas meters
Liquid meters
_____________________________________________________________________
Page 12 of 28
MN0A002 0.1 (5/13)
MPU Series B and Ultra Series
Ultrasonic Flow Meter
3.3.
High Resolution Accumulators
For transfer of volumetric data, the high resolution accumulators
should be used. It has a very high and fixed resolution so that no
volume is lost because of rounding. Do not use object 5 and 6 for
transfer of volume. They are for information only. Rounding errors
on the 32 bit floating point could be significant.
Use these high resolution accumulators to calculate volume
increments by reading a certain intervals and subtract volume:
Volume increment = (current volume - previous volume).
All objects are 32 bit integer values and should be used in pairs.
To convert the volume using a 64 bit floating point, use this
formula:
Volume = Integer part + Fractional part * 1.0E-9
Object
number
230
ModBus
Address
460
231
462
232
464
233
466
234
468
235
470
236
472
237
474
238
476
239
478
240
480
241
482
*1
*2
Description
Accumulated Volume Forward
Integer part
Accumulated Volume Forward
Fraction part (1.0E-9)
Accumulated Volume Reverse
Integer part
Accumulated Volume Reverse
Fraction part (1.0E-9)
Acc. Error Volume Forward
Integer part
Acc. Error Volume Forward
Fraction part (1.0E-9)
Acc. Error Volume Reverse
Integer part
Acc. Error Volume Reverse
Fraction part (1.0E-9)
Acc. standard volume forward
Integer part
Acc. standard volume forward
Fraction part (1.0E-9)
Acc. standard volume reverse
Integer part
Acc. standard volume reverse
Fraction part (1.0E-9)
Unit
metric
Unit
US
m3
ft3 *1
bbl *2
m3
ft3 *1
bbl *2
3
ft3 *1
bbl *2
m3
ft3 *1
bbl *2
m3
Sft3 *1
m3
Sft3 *1
m
Gas meters
Liquid meters
______________________________________________________________________
MN0A002 0.1 (5/13)
Page 13 of 28
Exernal Communication Manual
______________________________________________________________________
3.4.
Computerized Process Variables (Registers)
Object
number
102
103
104
106
107
ModBus
Address
204
206
208
212
214
Description
Unit
metric
Reynolds Number, Estimated
Viscosity, Estimated
cSt
Used Density at Line Conditions kg/m3
VPC-X
VPC Correction
%
Note: This table is only valid for liquid Ultrasonic meters.
_____________________________________________________________________
Page 14 of 28
MN0A002 0.1 (5/13)
Unit
US
cSt
g/cm3
%
MPU Series B and Ultra Series
Ultrasonic Flow Meter
3.5.
DECA/GERG Calculation results (MPU)
This section contains the results of the DECA/GERG calculations:
Object
number
170
171
172
173
174
ModBus
Address
340
342
344
346
348
175
176
177
350
352
354
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
Description
Unit
Calculated Velocity of Sound
Calculated average Mole Weight *1
Calculated DZ/DP *1
Calculated DZ/DT *1
Calculated Isobaric Heat Capacity
(DECA) –OR- Superior heat value
(GERG)
m/s
kg/mol
1/Pa
1/K
J/kmol
(DECA)
MJ/m3
(GERG)
kg/m3
Calculated gas compressibility, line
Calculated Gas Density, line
Calculated gas compressibility,
reference *1
356
K, compressibility ratio *1
358
Inferior heat value
360
Mole Methane (C1) *1
362
Mole Nitrogen (N2) *1
364
Mole Carbon dioxide (CO2) *1
366
Mole Ethane (C2) *1
368
Mole Propane (C3) *1
370
Mole Water (H2O) *1
372
Mole Hydrogen sulphide (H2S) *1
374
Mole Hydrogen (H2) *1
376
Mole Carbon oxide (CO) *1
378
Mole Oxygen (O2) *1
380
Mole i-Butane (IC4) *1
382
Mole n-Butane (NC4) *1
384
Mole i-Pentane (IC5) *1
386
Mole n-Pentane (NC5) *1
388
Mole n-Hexane (NC6) *1
390
Mole n-Heptane (NC7) *1)
392
Mole n-Octane (NC8) *1
*1
DECA only (Not GERG)
NOTE: Only applicable for gas meters (MPU)
NOTE: All values are 32-bit float values.
______________________________________________________________________
MN0A002 0.1 (5/13)
Page 15 of 28
MJ/m3
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
Exernal Communication Manual
______________________________________________________________________
3.6.
Input Registers
The following registers should be updated continuously by the
external device.
Temperature and pressure (object 1000 and 1001) is used for
correction of inner diameter, path lengths and path angles. It is also
used for selection of transducer calibration node.
Density and compressibility (Object 1002-1005) is used for
calculation of mass flow and standard volume flow rates. (MPU
only)
Writing into these registers might be omitted if these functions are
not needed, or if temperature and pressure is obtained via analog.
CAUTION: The 1000 series objects such as these are the only
registers that should be updated continuously; updating other
parameters unnecessarily will fill up the change log and stress the
non-volatile storage devices.
Object
number
1000
ModBus
Address
2000
1001
2002
1002 *1
2004
1003 *1
2006
1004 *1
2008
1005 *1
2010
1006 *1
1007 *1
1008 *1
1009 *1
1010 *1
1011 *1
1012 *1
2012
2014
2016
2018
2020
2022
2024
1013 *1
1014 *1
1015 *1
1016 *1
1017 *1
1018 *1
2026
2028
2030
2032
2034
2036
Description
Line Pressure, external
source
Line Temperature, external
source
Gas Density at Line
Conditions, external source
Gas Density at Ref
Conditions, external source
Gas Compressibility at Line
Cond., external source
Gas Compressibility at Ref
Cond., external source
Mole Methane (C1) *2
Mole Nitrogen (N2)
Mole Carbon dioxide (CO2)
Mole Ethane (C2) *2
Mole Propane (C3) *2
Mole Water (H2O) *2
Mole Hydrogen sulphide
(H2S) *2
Mole Hydrogen (H2) *2
Mole Carbon oxide (CO) *2
Mole Oxygen (O2) *2
Mole i-Butane (IC4) *2
Mole n-Butane (NC4) *2
Mole i-Pentane (IC5) *2
Unit
Metric
barA
Unit
US
psiA
°C
F
Kg/m3
lbs/ft3
Kg/Sm3
lbs/Sft3
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
_____________________________________________________________________
Page 16 of 28
MN0A002 0.1 (5/13)
MPU Series B and Ultra Series
Ultrasonic Flow Meter
1019 *1
1020 *1
1021 *1
1022 *1
1023 *1
1024 *1
1025 *1
1026 *1
1027 *1
1028 *1
2038
Mole n-Pentane (NC5) *2
2040
Mole n-Hexane (NC6) *2
2042
Mole n-Heptane (NC7) *2
2044
Mole c-Octane (NC8) *2
2046
Mole n-Nonane (NC9) *2
2048
Mole n-Decane (NC10) *2
2050
Mole Helium (HE) *2
2052
Mole Argon (AR) *2
2054
Mole Hexane+ (C6+) *2
2056
Mole rest *2
*1
Gas meters only (MPU)
*2
DECA only (Not GERG)
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
NOTE: All values are 32-bit float values.
4. REGISTER USAGE
Figure 1 below describes the most common way to implement a
master application that is synchronized with the meter.
In this example, the master application running on an external flow
computer is responsible for writing the correct pressure and
temperature to the meter.
Start
Read object 0
Object 0
changed?
NO
YES
Wait 3 seconds
Read objects of
interest from the
database
Store values
in flow computer
memory
Write pressure &
temperature to
objects 10000
and 10001
Figure 1 - Flow Computer Application Example
Alternatively, the master can read a whole block of data from
object 0 to simplify and reduce the number of Modbus operations.
______________________________________________________________________
MN0A002 0.1 (5/13)
Page 17 of 28
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
% mol
Exernal Communication Manual
______________________________________________________________________
Whenever object 0 changes values, there are updated values in the
block.
4.1.
The MPU Series B Alarm Status
The MPU Series B Alarm Status is a bit coded value indicating the
state of the MPU Series B alarms. To correctly interpret the bits,
the 32-bit float value has to be converted into a 32-bit integer
value. The table below shows the alarm bits used and their
interpretation.
Bit
0
1
2
3
4
5
6
7
8
9
10
11
Value
1
2
4
8
16
32
64
128
256
512
1024
2048
Alarm interpretation
High Flow Alarm
Hardware Error
Transducer Failure
Calculation Failure
Burst Percent Low
Gain Error
Velocity-of-sound difference too large
Flow corrections active
Parameter error
S/N ratio low
Turbulence level high
Profile deviation high
_____________________________________________________________________
Page 18 of 28
MN0A002 0.1 (5/13)
MPU Series B and Ultra Series
Ultrasonic Flow Meter
4.2. The ModBus Protocol – Message Exchange
Example
This chapter describes the exchange of messages taking place in a
typical Flow Computer - MPU communication.
4.2.1. Modbus Read Message Example
In the following example the flow computer performs the
following task:
- Read VOS and flow rate from the MPU Series B
The database objects used for VOS and flowrate object numbers 3
and 4. These have the ModBus addresses 6 (07D0 Hex) and 8.
These registers are read with ONE message with function code 3.
Figure 2 below shows the contents of this message.
Node
no.
01
Function
code
03
1st register
address
00
06
Number of
16-bit values
00
04
Figure 2 - ModBus Read Message Example
Note: All bytes are shown in hexadecimal format.
The reply from the MPU Series B will be on the format described
in Figure 3 below.
Node
no.
01
Function
code
Byte
count
03
08
VOS - 344 m/s
43
AC
00
Flow rate - 3456.5 m3/h
00
45
58
08
00
Figure 3 - ModBus Read Reply Message Example
The message contains the content of database objects 3 (VOS) and
4 (flow rate) represented as two 32-bit real values (least significant
byte first).
______________________________________________________________________
MN0A002 0.1 (5/13)
Page 19 of 28
Exernal Communication Manual
______________________________________________________________________
4.2.2. ModBus Write Message Example
In this example the flow computer performs the following task:
- Write temperature and pressure from the MPU Series B
The database objects used for pressure and temperature from an
external source are object numbers 1000 and 1001. These have the
ModBus addresses 2000 (07D0 hex) and 2002. These registers are
written with ONE message with function code 16. Figure 4 below
shows the contents of this message.
Node Function 1st register Number of Byte
no.
code
address 16-bit values Count
01
10
07
D0
00
04
08
Pressure - 100 barA
42
C8
00
Temp - 37.5 barA
00
42
16
00
00
Figure 4 - ModBus Write Message Example
The reply from the MPU Series B will be on the format described
in the figure below.
Node
no.
01
Function
code
10
1st register
address
4E
20
Number of
16-bit values written
00
04
Figure 5 - ModBus Write Reply Message Example
The message contains a copy of the first 6 bytes of the request
message.
_____________________________________________________________________
Page 20 of 28
MN0A002 0.1 (5/13)
MPU Series B and Ultra Series
Ultrasonic Flow Meter
5. WINDOWS COMMUNICATION SOFTWARE
5.1.
MPUCOMM Dynamic Link Library
This communication link provides a fast and simple way of
communicating with the MPU Series B using the network
interface. The interface is based on a Microsoft Windows DLL.
This DLL encapsulate all the communication with the MPU Series
B, and offers a set of library functions that can be called from your
program. (DLLs are callable from most programming languages
including Microsoft visual C++, Microsoft Visual Basic, National
Instrument Lab View/Lab Windows, Office applications that can
be programmed with Visual Basic Macros i.e. Excel).
The PC to use this DLL has to have the following “pieces”:
1. Running Microsoft Windows 98/NT//2000 or later versions.
2. Ethernet network (or a Ethernet card in your computer)
3. TCP/IP protocol installed under Windows.
4. Application can then call a Windows DLL (Dynamic Link
Library). The DLL contains simple functions to read or write to
the MPU Series B database via the network.
5.1.1. Installation
The IP address of the MPU Series B must be defined in the host
file. For example:
128.1.221.121 MPUsn11
where ‘128.1.221.121’ is the IP address, and ‘MPUsn11’ is the
name the machine can be referenced by.
This file is usually found in directory
C:\WINNT\system32\drivers\etc\ on PCs running Windows NT,
and under C:\WINDOWS\…. on PCs running Windows 98.
The following files are included in the MPU Series B network
communication toolkit:
1. MPUBComm.dll - Callable library containing the
implementation of the communication system.
2. MPUBComm.lib - Linkable library for Microsoft visual C++.
3. DLLTester.exe – An executable test program with a simple user
interface
4. SimpleTalk.cpp – A very simple working example program in
C showing the use of the DLL.
______________________________________________________________________
MN0A002 0.1 (5/13)
Page 21 of 28
Exernal Communication Manual
______________________________________________________________________
5. MPUBCommExample.exe - Executable of the above.
6. W95ws2setup.exe – Installation of windows socket version 2
for Windows 95.
Note: The library uses windows socket version 2. This
component is standard in Windows NT 4.0, and
Windows 98. Some versions of Windows 95 haven’t got
this component installed. If there are problems in
Windows 95, run the “W95ws2setup.exe” program. This
installs windows sockets version 2.
Warning: Do not run “W95ws2setup.exe” if you have Windows
NT 4.0, Windows 98 or later.
5.1.2. Running The Test Programs
Both test programs must be run from the same directory the
MPUBComm.dll file is located.
DLLTester.exe
This test program displays a simple dialog where the user can read
and write values to the MPU Series B database. This is shown in
Figure 6 below.
Figure 6 - DLLTester User Interface
SimpleTalk.exe
This is a simple console application that reads 5 values from the
MPU Series B database. It always reads the same 5 objects starting
from database object number 0.
Open a DOS window and enter the command:
SimpleTalk <machine name>
Figure 7 shows a sample run of this application.
_____________________________________________________________________
Page 22 of 28
MN0A002 0.1 (5/13)
MPU Series B and Ultra Series
Ultrasonic Flow Meter
Figure 7 - Running the SimpleTalk.exe application
5.1.3.
The Network Programmers Interface
The following functions are implemented in the DLL:
GetFloatValues
This functions reads object as float values from the MPU Series B
database.
int DLLAPI getFloatValues(
// Input
const char
*lpszHost,
Hostname to connect to (MPUsn11)
unsigned short nFirstObjectNumber,
First database object to read
unsigned short nNOfObject,
number of objects to read
// Output
float
*pfValueBuffer
Buffer to store the values
);
//
//
// The
//
Parameters :

LpszHost
Specifies the host to connect. The host must be defined in the
host file on your PC. The string must be null terminated.

NFirstObjectNumber
Specifies the object number of the first database value to read.
These object numbers are defined in section 3.
______________________________________________________________________
MN0A002 0.1 (5/13)
Page 23 of 28
Exernal Communication Manual
______________________________________________________________________

NNOfObject
Specifies how many objects to read. This must be a number
between 1 and 64. The parameter must be a 16 bit integer.

PfValueBuffer
Specifies the memory address where the function will place the
read values. The parameter must be a pointer to an array of 32
bits single precision floating point values. The size of the array
must at least be nFirstObjectNumber * 4 bytes.
GetIntValues
This functions reads object as float values from the MPU Series B
database.
int DLLAPI getFloatValues(
// Input
const char
*lpszHost,
Hostname to connect to (MPUsn11)
unsigned short nFirstObjectNumber,
First database object to read
unsigned short nNOfObject,
number of objects to read
// Output
int
*pnValueBuffer
Buffer to store the values
);
//
//
// The
//
Parameters :

LpszHost
Specifies the host to connect. The host must be defined in the
host file on your PC. The string must be null terminated.

NFirstObjectNumber
Specifies the object number of the first database value to read.
These object numbers are defined in section 3.

NNOfObject
Specifies how many objects to read. This must be a number
between 1 and 64. The parameter must be a 16 bit integer.

PnValueBuffer
Specifies the memory address where the function will place the
read values. The parameter must be a pointer to an array of 64
bits integer values. The size of the array must at least be
nFirstObjectNumber * 8 bytes.
_____________________________________________________________________
Page 24 of 28
MN0A002 0.1 (5/13)
MPU Series B and Ultra Series
Ultrasonic Flow Meter
SetFloatValues:
This function writes floating point values to the MPU Series B
database.
int DLLAPI setFloatValues(
// Input
const char
*lpszHost,
Hostname to connect to (MPUsn11)
unsigned short nFirstObjectNumber,
First database object to read
unsigned short nNOfObject,
number of objects to read
float
*pfValueBuffer
Buffer with the values
);
//
//
// The
//
Parameters :

LpszHost
Specifies the host to connect. The host must be defined in the
host file on your PC. The string must be null terminated.

NFirstObjectNumber
Specifies the object number of the first database value to write.
These object numbers are defined in section 3.

NNOfObject
Specifies how many objects to write. This must be a number
between 1 and 64. The parameter must be a 16 bit integer.

PfValueBuffer
Specifies the memory address where the values to write are
fetched from. The parameter must be a pointer to an array of 32
bits single precision values. The size of the array must at least
be nFirstObjectNumber * 4 bytes.
______________________________________________________________________
MN0A002 0.1 (5/13)
Page 25 of 28
Exernal Communication Manual
______________________________________________________________________
setIntValues
This function writes integer values to the MPU Series B database.
int DLLAPI setIntValues(
// Input
const char
*lpszHost,
Hostname to connect to (MPUsn11)
unsigned short nFirstObjectNumber,
First database object to read
unsigned short nNOfObject,
The number of objects to read
int
*pnValueBuffer
Buffer with the values
);
//
//
//
//
Parameters :

LpszHost
Specifies the host to connect. The host must be defined in the
host file on your PC. The string must be null terminated.

NFirstObjectNumber
Specifies the object number of the first database value to write.
These object numbers are defined in section 3.

NNOfObject
Specifies how many objects to write. This must be a number
between 1 and 64. The parameter must be a 16 bit integer.

PnValueBuffer
Specifies the memory address where the values to write are
fetched from. The parameter must be a pointer to an array of 64
bits integer values. The size of the array must at least be
nFirstObjectNumber * 8 bytes.
_____________________________________________________________________
Page 26 of 28
MN0A002 0.1 (5/13)
MPU Series B and Ultra Series
Ultrasonic Flow Meter
5.1.4.
Status Return Codes
The functions implemented in DLL return a single status code upon
return. The code is returned as a 64-bit integer.
The table below shows the valid return values.
Return
Code
0
1
2
3
5.2.
Description
The function call succeeded
The function call failed
The connection attempt to the MPU Series B failed
The specified database address was invalid
MPU Series B WinScreen
The MPU Series B WinScreen is a stand-alone application for
communicating with the MPU Series B. It can be used with both
the TCP/IP and the serial ModBus interface. Refer to (MNKS001)
PRD-0000020565 “User Manual, MPU Series B” for more details.
______________________________________________________________________
MN0A002 0.1 (5/13)
Page 27 of 28
Exernal Communication Manual
______________________________________________________________________
Printed in U.S.A. © 5/13 FMC Technologies Measurement Solutions, Inc. All rights reserved. MN0A002 Issue/Rev. 0.1 (5/13)
_____________________________________________________________________
Page 28 of 28
MN0A002 0.1 (5/13)
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement