Description: |
| | The oWord Object manages a 16-Bit variable that can be used in a virtual circuit. As well as the value of the variable, status properties are also provided that can be used in a virtual circuit. There are three main differences between this object and a standard Word variable.
- This Object's Value property is an instance of the oValue Object which can be pointed to by a Virtual Circuit.
- This Object maintains status bits which can be pointed to by Virtual Circuits.
- This Object is 1 byte larger in order to store the status information.
|
| | The following table lists the size and availability of the oWord Object.
| | Object | Size | Description | A1 | A2 | B1 | B2 | C1 |
 | oWord | 3 Bytes | Manages a value with a range of 0 to 65,535. | x | x | x | x | x |
|
Operation: |
| | An oWord Object variable stores a 16 bit value (two bytes) in its Value property and maintains other values that represent the status of those 16 bits. The MSB property indicates the Most-Significant-Bit of the value which can be used to indicate when the value is more than half. The NonZero Property indicates if the value is not zero. |
Properties: |
| | The following table lists the properties of the oWord Object:
Property | Description |
| Value |
| The value of the 16-bit variable. |
 | Object Class: | oValue | | Value Range: | 0 - 65535 |
| Data Type: | Numeric | | Default Value: | 0 |
|
|
| MSB |
| Indicates the Value property is more than half its range. |
 | Object Class: | oLogic | | Value Range: | 0 - 1 |
| Data Type: | Numeric | | Default Value: | 0 |
|
| The MSB property reflects the most significant bit (MSB) of the oWord Object's Data property and therefore is updated when either the Value property or the Data property is written to. Any writes the the MSB property will result in changing the most significant bit of the Data property. |
| Notes on virtual circuit usage: Not all implementations of the oWord Object have a linkable MSB property. While all instance of the oWord Object that you create in your programs will have a linkable MSB property, some of the ooPIC Objects create a custom oWord Object instance that cannot. For instance, the oTimer Object's instance of the oWord Object has a MSB property that cannot be linked to a virtual circuit. To tell if an ooPIC Object's implementation of the oWord Object has a linkable MSB property, look for the oLogic class type in the Object browser when you expand the oWord instance. If the MSB property is a oProperty class instead then it cannot be linked. |
| MSB | Description |
| 0 | The Value property is 32767 or less (Less than half) |
| 1 | The Value property is 32768 or more (more than half) |
|
|
| NonZero |
| A value that indicates the Value property is more than zero. |
 | Object Class: | oLogic | | Value Range: | 0 - 1 |
| Data Type: | Numeric | | Default Value: | 0 |
|
| The NonZero property is updated when the Value property is written to. Any modifications that are made directly to the Data property will have no effect on the NonZero property. |
| Notes on virtual circuit usage: Not all implementations of the oWord Object have a linkable NonZero property. While all instance of the oWord Object that you create in your programs will have a linkable NonZero property, some of the ooPIC Objects create a custom oWord Object instance that cannot. For instance, the oTimer Object's instance of the oWord Object has a NonZero property that cannot be linked to a virtual circuit. To tell if an ooPIC Object's implementation of the oWord Object has a linkable NonZero property, look for the oLogic class type in the Object browser when you expand the oWord instance. If the NonZero property is a oProperty class instead then it cannot be linked. |
| NonZero | Constant | Description |
| 0 | cvFalse | The Value property is zero. |
| 1 | cvTrue | The Value property is not zero. |
|
|
| Data |
| The data for the Value property. |
 | Object Class: | oVar16 | | Value Range: | 0 - 65535 |
| Data Type: | Numeric | | Default Value: | 0 |
|
|
| Address |
| Returns a pointer to the address of the oCounter Object instance. |
 | Object Class: | oAddress | | Value Range: | 0 - 127 |
| Data Type: | Pointer (Read Only) | | Default Value: | Address of Object |
|
|
|
Methods: |
| | The following table lists the Methods of the oWord Object
| Method | Description |
| Value.Clear | Clears the Value property to 0. |
| Value.Dec | Decrements the Value property by 1. |
| Value.Inc | Increments the Value property by 1. |
| Value.Invert | Inverts the bits in the Value property |
| Value.LShift | Shifts the bits in the Value property left. |
| Value.RShift | Shifts the bits in the Value property Right. |
| Value.Set | Sets the Value property to 65535. |
| Init | Initializes the properties. |
|
Example: |
| | In the following example, a Virtual Circuit is created that outputs the status properties.
' This program creates a Virtual
' Circuit that connects the oWord's
' NonZero and MSB properties to
' Digital Outputs. Starting from a
' value of 10, it decreases the
' oWord's Value property every
' 1/10 of a second.
Dim V As New oWord
Dim W1 As New oWire
Dim W2 As New oWire
Dim L1 As New oDIO1
Dim L2 As New oDIO1
Sub main()
L1.IOLine = 8
L1.Direction = cvOutput
W1.Input.Link(V.NonZero)
W1.Output.Link(L1.State)
W1.Operate = cvOn
L2.IOLine = 10
L2.Direction = cvOutput
W2.Input.Link(V.MSB)
W2.Output.Link(L2.State)
W2.Operate = cvOn
V = 10
Do
V.Value.Dec
Delay = 100
Loop
End Sub
|
|
Related Items: |
| | The following table lists objects that use the oWord Object.
| | Object | Description | A1 | A2 | B1 | B2 | C1 |
 | oCounter2H | An Object that counts the number of high-speed cycles on a hardware specific pin. | x | x | x |
 | oCounter2L | An Object that counts the number of low-speed cycles on two inputs. | x | x | x |
 | oFeedBack1T | Measures the time interval between a signal sent on one I/O line and returned on a second I/O line. | x | x | x |
 | oFreqH | An Object that outputs a high frequency square wave using hardware specific I/O lines. | x | x |
 | oQencode | Reads a Quadrant Encoder. | x | x | x |
 | oSpeaker | Controls a Speaker. | x | x |
 | oTimer | Controls the PIC's Timer1 Hardware Module. | x | x | x | x | x |
|
| | The following table lists other objects with related functions.
| | Object | Description | A1 | A2 | B1 | B2 | C1 |
 | oBit | Manages a 1-bit value with a range of 0 to 1. | x | x | x | x | x |
 | oNib | Manages a 4-bit value with a range of 0 to 15. | x | x | x | x | x |
 | oNibX | Manages a 4-bit signed value with a range of -8 to +7. | x |
 | oByte | Manages a 8-bit value with a range of 0 to 255. | x | x | x | x | x |
 | oChar | Manages a 8-bit signed value with a range of -128 to -127. | x | x | x |
 | oInt | Manages a 16-bit signed value with a range of -32,768 to +32,767. | x | x | x |
 | oBuffer(1-32) | 32 Objects that Manage various sized data-buffer/string variable. | x | x | x | x | x |
|
Version History and Bug List: |
| | Firmware Ver A1: Introduced. Bugs: No known bugs. |