Notification Bitmask (NB) setting
Description
(see setting description format info here)
Function: | Defines which I/O lines of the DS are monitored for changes |
Set (S) command format: | SNBbbb, where bbb is a "collection" of bit flags each of which disables (when 0) or enables (when 1) status change monitoring for a specific I/O line of the DS. Allowable value range is 0-255. |
Get (G) command format: | GNB |
Init (I) command effect: | Initialized unconditionally, through network command, serial command, or quick initialization |
Post-initialization value: | 0 (status change monitoring is disabled for all I/O lines) |
Change takes effect: | After reboot |
Overriding parameter: | --- |
Relevance conditions: | --- |
First introduced: | Earlier than "baseline" V3.14/V3.51 |
See also: | Serial port and serial communications, Notification Destination (ND) setting |
Details
Notification Bitmask defines which I/O lines are monitored for changes. When the line being monitored changes its state a Notification (J) message is generated and sent to the network host with which the DS has an established data connection.
Notification Bitmask is a byte value each bit of which disables (when 0) or enables (when 1) status change monitoring for a specific I/O line. Bit assignment is as follows:
Bit position |
||
0 (LSB) |
<Not implemented> |
<Not implemented> |
1 |
<Not implemented> |
<Not implemented> |
2 |
<Not implemented> |
DSR (input) |
3 |
<Not implemented> |
DTR (output)** |
4 |
CTS (input) |
CTS (input) |
5 |
RTS (output)** |
RTS (output)** |
6 |
<Not implemented> |
<Not implemented> |
7 (MSB) |
<Not implemented> |
<Not implemented> |
Bit position |
||
0 (LSB) |
P0 |
<Not implemented> |
1 |
P1 |
<Not implemented> |
2 |
P2/DSR(input)*** |
P2/DSR(input)*** |
3 |
P3/DTR(output)*** |
P3/DTR(output)*** |
4 |
P4/CTS(input)*** |
P4/CTS(input)*** |
5 |
P5/RTS(output)*** |
P5/RTS(output)*** |
6 |
<Not implemented> |
P6 |
7 (MSB) |
<Not implemented> |
P7 |
* This data is for the case when you are using RS232 FB9M connector of the EM120/EM200-EV. If you are using expansion connector (three jumpers removed) then use I/O data for the EM120 and EM200 Modules
** From firmware standpoint, these are general-purpose I/O lines. These I/O lines, however, are connected to the CMOS inputs of RS232 (RS422, RS485) transceivers and that dictates that the lines can only be used as outputs. Therefore, it is meaningless to enable notifications for such lines
*** These are general-purpose input/output pins. Application firmware uses these pins to implement specific serial port functionality (shown in blue)and this defines "logical" direction of the pins
Example: if Notification Bitmask is set to 20 then status change monitoring is enabled for lines DSR and CTS (binary representation of this value is 00010100, bits 2 and 4 are set, corresponding I/O lines are DSR and CTS).
Be sure to keep the mask bit for unimplemented and reserved lines at 0.
For the line status change to be detected, the new status must be preserved for at least 20 ms (milliseconds). Shorter "pulses" are ignored.
Note, that there is no bit for line P8 found on EM120 and EM200 Modules.