Proposed:
PGN set for DC motor control including:
DC_MOTOR_COMMAND requested PGN 0x1FEE1
DC_MOTOR_STATUS requested PGN 0x1FEE0
Edit:
The following changes have been made to the DC Motor Control.
- Byte Numbering has been changed to 0 – 7 (Following comments reflect this change)
- Status Byte 0: Instances are available up to 250
- Status Byte 2: Now labeled as a Percent with reference to the correct table
- Status Byte 3: Exception Status bits have all been changed to Bit2 flags. These now exist on byte 3 & byte 6.
- Status Byte 5: The available last commands have been listed as well as a separate table explaining each command.
- Command Byte 3: Available commands listed and explanation table referenced.
- Command Byte 3: Additional command “Tilt” added and explained.
- Command Byte 5: Momentary operation explained. Commands were left in place since “Continuous Operation” is a default setting for most commands. Momentary is a special condition that allows for a new command to run and then return to its previous state. It is not usually the “default” command or 0xFF setting for a duration.
- Command Byte 6: Interlock function explained as a bitmap.
NOTE: Original File submission was removed to create account space (1Mb limit) to upload modified file. The original is available upon request.
Attachment | Size |
---|---|
DC Motor Control EDIT.doc | 104 KB |
I am generally favorably
I am generally favorably disposed. But . . .
The byte numbering runs 0-8. We call this numbering scheme "CiA-Standard".
STATUS
Byte 0 - Why is the instance 0-124, and not 0-250?
Byte 3 - Correct verbiage is "see Table 4". This is a standard "percent".
Byte 4 - This should be broken up into multiple data items (2-bit flags or multi-bit enumerated lists). There is no way to indicate whether the device is unable to provide a particular datum. (For example, the "locked" bit - there is no way to indicate that the device does not support locking at all.) Also, each datum requires a bit more explanation.
Byte 6 - Needs explanation/enumeration.
Also, a DC Amperage and/or Voltage might be appropriate for filling the unused bytes.
COMMAND
Byte 4 - Needs explanation. 0x41 should read "Down". It looks like you are attempting to implement a bit-mapped datum, but you aren't explicitly defining it.
Byte 5 - Momentary command needs some specification. Personally, I would suggest 0 for Continuous Operation, and 255 for Momentary, rather than the other way around. (I assume that Momentary Operation really refers to operations that take "no" time, e.g. lock/unlock. In which case it makes sense to leave this field blank.)
Byte 6 - Please explain.