369da70f2a
* format: Strip trailing whitespaces
We want to get rid of trailing whitespaces completly as they make just git
noice. Much better to start using automated tools to get rid of them once and
not getting them back again. This way git history will be cleaner and review
easier.
Commit was generated with:
pre-commit run --all-files trailing-whitespace
* format: Files should have exactly one new line end of them
It is good practice that every file has one new line. It is not now days so
mandatory but it also is not nice if file has lot of newlines end of it. We will
use pre-commit which takes automatically care about this so let's fix all.
Commit was generated with:
pre-commit run --all-files end-of-file-fixer
* format: Convert tabs to spaces
Project mostly use spaces over tabs. When mixing tabs and spaces this usually
makes formatting issues and also when changing those in commits it will make lot
of git noise. We will force spaces most of the time and use pre-commit to fix.
Commit was generated with:
pre-commit run --all-files remove-tabs
---------
Co-authored-by: Kari Argillander <kari.argillander@fidelix.com>
168 lines
5.9 KiB
Groff
168 lines
5.9 KiB
Groff
.\" Process this file with
|
|
.\" groff -man -Tascii bacwp.1
|
|
.\" Contact <skarg@users.sourceforge.net> to correct errors or ommissions
|
|
.TH bacwp 1 "Sept 16 2011" "0.7.0" "BACnet Stack at SourceForge Tool Manual"
|
|
.SH NAME
|
|
bacwp \- send BACnet WriteProperty service request to a BACnet device
|
|
.SH SYNOPSIS
|
|
|
|
.B bacwp device-instance object-type object-instance property priority index tag value [tag value...]
|
|
|
|
.SH DESCRIPTION
|
|
.B bacrp uses the BACnet WriteProperty service request to write
|
|
a property value to a BACnet device on the network. WhoIs and
|
|
I-Am are used for device binding. A simple Ack or error message
|
|
is returned to stdio.
|
|
|
|
.SH OPTIONS
|
|
.IP device-instance
|
|
Device object instance number that you are trying to
|
|
send a WriteProperty service request. The value should be in
|
|
the range of 0 to 4194303.
|
|
|
|
.IP "object-type"
|
|
The object type is the integer value of the enumeration
|
|
BACNET_OBJECT_TYPE in bacenum.h. It is the object
|
|
that you are writing. For example if you were
|
|
writing Analog Output 2, the object-type would be 1.
|
|
|
|
.IP "object-instance"
|
|
This is the object instance number of the object that
|
|
you are writing. For example, if you were writing
|
|
Analog Output 2, the object-instance would be 2.
|
|
|
|
.IP "property"
|
|
The property is an integer value of the enumeration
|
|
BACNET_PROPERTY_ID in bacenum.h. It is the property
|
|
you are writing. For example, if you were writing the
|
|
Present Value property, the property is 85.
|
|
|
|
.IP "priority"
|
|
|
|
This parameter is used for setting the priority of the
|
|
write. If Priority 0 is given, no priority is sent. The BACnet
|
|
standard states that the value is written at the lowest
|
|
priority (16) if the object property supports priorities
|
|
when no priority is sent.
|
|
|
|
.IP "index"
|
|
This integer parameter is the index number of an array.
|
|
If the property is a BACnetARRAY and writable, individual
|
|
elements can be written. If this parameter value is -1,
|
|
it is omitted when writing to the property.
|
|
|
|
.IP "tag"
|
|
Tag is the integer value of the enumeration BACNET_APPLICATION_TAG
|
|
in bacenum.h. It is the data type of the value that you are
|
|
writing. For example, if you were writing a REAL value, you would
|
|
use a tag of 4.
|
|
Context tags are created using two tags in a row. The context tag
|
|
is preceded by a C. Ctag tag. C2 4 creates a context 2 tagged REAL.
|
|
|
|
.IP "value"
|
|
The value is an ASCII representation of some type of data that you
|
|
are writing. It is encoded using the tag information provided. For
|
|
example, if you were writing a REAL value of 100.0, you would use
|
|
100.0 as the value. If you were writing an Object-Identifier such
|
|
as Device object 1, you would use 8:1 as the value. If you were
|
|
writing a Boolean, a value of 0 would indicate false, and a non-zero
|
|
value would indicate true.
|
|
|
|
|
|
.SH BACnet Tags
|
|
Here is a brief overview of BACnet property and tags:
|
|
Certain properties are expected to be written with certain
|
|
application tags, so you probably need to know which ones to use
|
|
with each property of each object. It is almost safe to say that
|
|
given a property and an object and a table, the tag could be looked
|
|
up automatically. There may be a few exceptions to this, such as
|
|
the Any property type in the schedule object and the Present Value
|
|
accepting REAL, BOOLEAN, NULL, etc. Perhaps it would be simpler for
|
|
the demo to use this kind of table - but I also wanted to be able
|
|
to do negative testing by passing the wrong tag and have the server
|
|
return a reject message.
|
|
|
|
.SH EXAMPLES
|
|
If you want send a value of 100 to the Present-Value in
|
|
Analog Output 0 of Device 123 at priority 16,
|
|
send the following command:
|
|
$ bacwp 123 1 0 85 16 -1 4 100
|
|
To send a relinquish command to the same object:
|
|
$ bacwp 123 1 0 85 16 -1 0 0
|
|
|
|
.SH FILES
|
|
.I address_cache
|
|
.RS
|
|
A cache that is read for static binding. See
|
|
.BR address_cache (5)
|
|
for further details.
|
|
.SH ENVIRONMENT
|
|
.IP BACNET_IP_PORT
|
|
If non-null, the number of the UDP port for BACnet/IP datalink.
|
|
The default UDP port number is 47808 (0xBAC0).
|
|
.IP BACNET_IFACE
|
|
If non-null, the device name for the datalink.
|
|
The default is "eth0".
|
|
.IP BACNET_BBMD_PORT
|
|
If non-null, the number of the UDP port that the BBMD is using.
|
|
The default UDP port number is 47808 (0xBAC0).
|
|
Used for BACnet/IP datalink only.
|
|
.IP BACNET_BBMD_TIMETOLIVE
|
|
If non-null, the number of seconds used in the Foreign Device
|
|
Registration. A 16-bit unsigned value of 0 to 65535 is expected.
|
|
The default number of seconds is 65535 (0xFFFF).
|
|
Used for BACnet/IP datalink only.
|
|
.IP BACNET_BBMD_ADDRESS
|
|
If non-null, the IP address of the BBMD that is handling the
|
|
Foreign Device Registration. If this environment variable is
|
|
missing or NULL, then Foreign Device Registration does not occur.
|
|
Used for BACnet/IP datalink only.
|
|
.IP BACNET_MAX_INFO_FRAMES
|
|
If non-null, the Max-Info-Frames value between 1 and 255.
|
|
The default number of frames is 1.
|
|
Used for BACnet MS/TP datalink only.
|
|
.IP BACNET_MAX_MASTER
|
|
If non-null, the Max-Master value between 1 and 127.
|
|
The default Max-Master is 127.
|
|
Used for BACnet MS/TP datalink only.
|
|
.IP BACNET_MSTP_BAUD
|
|
If non-null, a value baud rate of 9600, 19200, 38400, 57600,
|
|
and 115200.
|
|
The default baud rate is 9600.
|
|
Used for BACnet MS/TP datalink only.
|
|
.IP BACNET_MSTP_MAC
|
|
If non-null, the MS/TP MAC address value between 0 and 127.
|
|
The default MAC address is 0.
|
|
Used for BACnet MS/TP datalink only.
|
|
|
|
.SH DIAGNOSTICS
|
|
The following diagnostics may be issued on stderr:
|
|
|
|
device-instance=x - it must be less than 4194304
|
|
object-type=x - it must be less than 1024
|
|
object-instance=x - it must be less than 4194304
|
|
property=x - it must be less than 4194304
|
|
Error: not enough tag-value pairs
|
|
Error: tag=x - it must be less than 15
|
|
Error: unable to parse the tag value
|
|
Error: Exceeded 64 tag-value pairs.
|
|
Error: TSM Timeout!
|
|
Error: APDU Timeout!
|
|
|
|
.SH BUGS
|
|
No bugs are known to exist at this time.
|
|
.SH AUTHOR
|
|
Steve Karg <skarg@users.sourceforge.net>
|
|
.SH "SEE ALSO"
|
|
.BR bacarf (1),
|
|
.BR bacawf (1),
|
|
.BR bacdcc (1),
|
|
.BR bacepics (1),
|
|
.BR bacrd (1),
|
|
.BR bacrp (1),
|
|
.BR bacserv (1),
|
|
.BR bacts (1),
|
|
.BR bacucov (1),
|
|
.BR bacwh (1),
|
|
.BR address_cache (5)
|