Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 17 additions & 19 deletions docs/src/drivers/gm.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -180,9 +180,9 @@ m| .reset | (bool, In) | When True, resets counts and positio
m| .rawcounts | (sint, Out) | The raw count is the counts, but unaffected by reset or the index pulse.
m| .counts | (sint, Out) | Position in encoder counts.
m| .position | (real, Out) | Position in scaled units (=.counts/.position-scale).
m| .index-enabled | (bool, IO) |
m| .index-enable | (bool, IO) |
When True, counts and position are rounded or reset (depends on index-mode) on next rising edge of channel-I.
Every time position is reset because of Index, the `index-enabled` pin is set to 0 and remains 0 until connected HAL pin does not set it.
Every time position is reset because of Index, the `index-enable` pin is set to 0 and remains 0 until connected HAL pin does not set it.
m| .velocity | (real, Out) |
Velocity in scaled units per second.
GM encoder uses high frequency hardware timer to measure time between encoder pulses in order to calculate velocity.
Expand All @@ -204,7 +204,7 @@ are rounded (based on .counts-per-rev) at rising edge of channel-I.
This is useful to correct few pulses error caused by noise.
In round mode, it is essential to set .counts-per-rev parameter correctly.
When .index-mode is False and .index-enabled is true, .counts and .position are reset at channel-I pulse.
m| .counts-per-rev | (sint, R/V) |
m| .counts-per-rev | (uint, R/W) |
Determine how many counts are between two index pulses.
It is used only in round mode, so when both .index-enabled and .index-mode parameters are True.
GM encoder process encoder signal in 4x mode, so for example in case of a 500 CPR encoder it should be set to 2000.
Expand Down Expand Up @@ -316,7 +316,7 @@ setp gm.0.stepgen.0.maxaccel 0 # do not set max acceleration for
# step generator, let interpolator control it.
setp gm.0.stepgen.0.position-scale 1000 # 1000 step/position unit
setp gm.0.stepgen.0.steplen 1000 # 1000 ns = 1 µs
setp gm.0.stepgen.0.stepspace1000 # 1000 ns = 1 µs
setp gm.0.stepgen.0.stepspace 1000 # 1000 ns = 1 µs
setp gm.0.stepgen.0.dirdelay 2000 # 2000 ns = 2 µs
----

Expand Down Expand Up @@ -386,7 +386,7 @@ m| .value | (real, In) | Value of DAC output in Volts.
m| .offset | (real, R/W) | Offset is added to the value before the hardware is updated.
m| .high-limit | (real, R/W) | Maximum output voltage of the hardware in Volts.
m| .low-limit | (real, R/W) | Minimum output voltage of the hardware in Volts.
m| .invert-serial | (real, R/W) |
m| .invert-serial | (bool, R/W) |
GM6-PCI card is communicating with DAC hardware via fast serial communication to highly reduce time delay compared to PWM.
DAC module is recommended to be isolated which is negating serial communication line.
In case of isolation, leave this parameter to default (0), while in case of none-isolation, set this parameter to 1.
Expand Down Expand Up @@ -414,7 +414,7 @@ gm.<card_no>.can-gm.<axis_no>
----

where _<axis_no>_ is from 0 to 5.
For example, `gm.0.can-gm.0.position` refers to the output position of axis 0 in position units.
For example, `gm.0.can-gm.0.position-fb` refers to the feedback position of axis 0 in position units.

HAL pins are updated by function:

Expand All @@ -430,7 +430,7 @@ gm.<card_no>.write
| Pins | Type and direction | Pin description
m| .enable | (bool, In) | Enable sending position references.
m| .position-cmd | (real, In) | Commanded position in position units.
m| .position-fb | (real, In) | Feed back position in position units.
m| .position-fb | (real, Out) | Feed back position in position units.
|===

=== Parameters
Expand Down Expand Up @@ -471,7 +471,7 @@ m| gm._<card_no>_.watchdog-enable | (bool, R/W) |
Enables watchdog timer. +
It is strongly recommended to enable the watchdog timer,
because it can disable all the servo amplifiers by pulling down all enable signals in case of a PC error.
m| gm._<card_no>_.watchdog-timeout-ns | (real, R/W) |
m| gm._<card_no>_.watchdog-timeout-ns | (uint, R/W) |
Time interval in within the gm._<card_no>_.read function must be executed.
The gm._<card_no>_.read is typically added to servo-thread,
so watch timeout is typically set to 3 times of the servo period.
Expand All @@ -498,11 +498,11 @@ image::images/GM_ENDSWpinout.png["Pin numbering of homing and end switch connect
The GM6-PCI motion control card has two limit- and one homing switch input for each joint. All the names of these pins begin as follows:

----
gm.<card_no>.joint.<axis_no>
gm.<card_no>.axis.<axis_no>
----

where _<axis_no>_ is from 0 to 5.
For example, `gm.0.joint.0.home-sw-in` indicates the state of the axis 0 home switch.
For example, `gm.0.axis.0.home-sw-in` indicates the state of the axis 0 home switch.

HAL pins are updated by function:

Expand All @@ -524,12 +524,10 @@ m| .pos-lim-sw-in | (bool, Out) | Positive limit switch input
m| .pos-lim-sw-in-not | (bool, Out) | Negated positive limit switch input
|===

=== Parameters

.E-stop switch parameters
.E-stop switch pins
[width="80%",options="header",cols="<3,^2,<6"]
|===
| Parameters | Type and direction | Parameter description
| Pins | Type and direction | Pin description
m| gm.0.estop.0.in | (bool, Out) | Estop 0 input
m| gm.0.estop.0.in-not | (bool, Out) | Negated Estop 0 input
m| gm.0.estop.1.in | (bool, Out) | Estop 1 input
Expand Down Expand Up @@ -645,7 +643,7 @@ where _<module ID>_ is from 00 to 15.
[width="80%",options="header",cols="<3,^2,<6"]
|===
| Pins | Type and direction | Pin description
m| .relay-<0-7> | (bool, Out) | Output pin for relay
m| .relay-<0-7> | (bool, In) | Output pin for relay
|===

.Relay output module parameters
Expand All @@ -657,7 +655,7 @@ m| .invert-relay-<0-7> | (bool, R/W) | Negate relay output pin

.HAL example
----
gm.0.rs485.0.relay-0 # First relay of the node.
gm.0.rs485.00.relay-0 # First relay of the node.
# gm.0 # Identifies the first GM6-PCI motion control card (PCI card address = 0)
# .rs485.0 # Selects node with address 0 on the RS485 bus
# .relay-0 # Selects the first relay
Expand Down Expand Up @@ -693,7 +691,7 @@ m| .in-not-_<0-7>_ | (bool, Out) | Negated input pin

.HAL example
----
gm.0.rs485.0.in-0 # First input of the node.
gm.0.rs485.00.in-0 # First input of the node.
# gm.0 # Identifies the first GM6-PCI motion control card (PCI card address = 0)
# .rs485.0 # Selects node with address 0 on the RS485 bus
# .in-0 # Selects the first digital input module
Expand Down Expand Up @@ -744,7 +742,7 @@ m| .dac-low-limit-_<0-3>_ | (real, R/W) | Minimum output voltage of the h

.HAL example
----
gm.0.rs485.0.adc-0 # First analogue channel of the node.
gm.0.rs485.00.adc-0 # First analogue channel of the node.
# gm.0 # Identifies the first GM6-PCI motion control card (PCI card address = 0)
# .rs485.0 # Selects node with address 0 on the RS485 bus
# .adc-0 # Selects the first analogue input of the module
Expand Down Expand Up @@ -798,7 +796,7 @@ m| .enc-position-scale | (real, R/W) | Scale in per length unit.

.HAL example
----
gm.0.rs485.0.adc-0 # First analogue channel of the node.
gm.0.rs485.00.adc-0 # First analogue channel of the node.
# gm.0 # Identifies the first GM6-PCI motion control card (PCI card address = 0)
# .rs485.0 # Selects node with address 0 on the RS485 bus
# .adc-0 # Selects the first analogue input of the module
Expand Down
30 changes: 15 additions & 15 deletions docs/src/drivers/mb2hal.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -188,52 +188,52 @@ _n_ = Element number (`NELEMENTS`) or name from `PIN_NAMES`
Example:

* `mb2hal.00.01.int` (TRANSACTION_00, second register)
* `mb2hal.readStatus.01.bit` (HAL_TX_NAME=readStatus, first bit)
* `mb2hal.readStatus.00.bit` (HAL_TX_NAME=readStatus, first bit)
====

=== [yellow-background]#fnct_01_read_coils#

* [yellow-background]#mb2hal.__m__.__n__.bit# _bit out_
* [yellow-background]#mb2hal.__m__.__n__.bit-inv# _bit out_
* [yellow-background]#mb2hal.__m__.__n__.bit# _bool out_
* [yellow-background]#mb2hal.__m__.__n__.bit-inv# _bool out_

=== fnct_02_read_discrete_inputs

* mb2hal.__m__.__n__.[yellow-background]#bit# _bit out_
* [yellow-background]#mb2hal.__m__.__n__.bit-inv# _bit out_
* mb2hal.__m__.__n__.[yellow-background]#bit# _bool out_
* [yellow-background]#mb2hal.__m__.__n__.bit-inv# _bool out_

=== fnct_03_read_holding_registers

* mb2hal.__m__.__n__.float _float out_
* mb2hal.__m__.__n__.int _s32 out_
* mb2hal.__m__.__n__.float _real out_
* mb2hal.__m__.__n__.int _sint out_

=== fnct_04_read_input_registers

* mb2hal.__m__.__n__.float _float out_
* mb2hal.__m__.__n__.int _s32 out_
* mb2hal.__m__.__n__.float _real out_
* mb2hal.__m__.__n__.int _sint out_

=== [yellow-background]#fnct_05_write_single_coil#

* [yellow-background]#mb2hal.__m__.__n__.bit# _bit in_
* [yellow-background]#mb2hal.__m__.__n__.bit# _bool in_

`NELEMENTS` needs to be 1 or `PIN_NAMES` must contain just one name.

=== fnct_06_write_single_register

* mb2hal.__m__.__n__.[yellow-background]#float# _float in_
* [yellow-background]#mb2hal.__m__.__n__.int# _s32 in_
* mb2hal.__m__.__n__.[yellow-background]#float# _real in_
* [yellow-background]#mb2hal.__m__.__n__.int# _sint in_

`NELEMENTS` needs to be 1 or `PIN_NAMES` must contain just one name.
Both pin values are added and limited to 65535 (UINT16_MAX).
Use one and let the other open (read as 0).

=== fnct_15_write_multiple_coils

* mb2hal.__m__.__n__.[yellow-background]#bit# _bit in_
* mb2hal.__m__.__n__.[yellow-background]#bit# _bool in_

=== fnct_16_write_multiple_registers

* mb2hal.__m__.__n__.[yellow-background]#float# _float in_
* [yellow-background]#mb2hal.__m__.__n__.int# _s32 in_
* mb2hal.__m__.__n__.[yellow-background]#float# _real in_
* [yellow-background]#mb2hal.__m__.__n__.int# _sint in_

Both pin values are added and limited to 65535 (UINT16_MAX).
Use one and let the other open (read as 0).
Expand Down
2 changes: 1 addition & 1 deletion docs/src/drivers/mitsub-vfd.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ Where <n> is +mitsub_vfd+ or the name given during loading.
* '<n>.estop' (bool, in)
puts the VFD into emergency-stopped status.

* '<n>.status-bit-N' (bool, out)
* '<n>.stat-bit-N' (bool, out)
N = 0 to 7, status bits are user configurable on the VFD.
Bit 3 should be set to at speed and bit 7 should be set to alarm.
Others are free to be set as required.
Expand Down
12 changes: 6 additions & 6 deletions docs/src/drivers/pico-ppmc.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ board to have a sufficient revision level to support the feature.
bidirectional HAL signal. Setting it to true causes the encoder
hardware to reset the count to zero on the next encoder index pulse.
The driver will detect this and set the signal back to false.
* '(PPMC real output) ppmc.<port>.DAC.<channel>.value' - sends a
* '(PPMC real input) ppmc.<port>.DAC.<channel>.value' - sends a
signed value to the 16-bit Digital to Analog Converter on the PPMC DAC16
board commanding the analog output voltage of that DAC channel.
* '(UPC bool input) ppmc.<port>.pwm.<channel>.enable' - Enables a PWM generator.
Expand All @@ -151,7 +151,7 @@ board to have a sufficient revision level to support the feature.
state of digital input pin, see canonical digital input.
* '(All bool input) ppmc.<port>.dout.<channel>.out' - Value to be
written to digital output, see canonical digital output.
* '(Option real input) ppmc.<port>.DAC8-<channel>.value' - Value to
* '(Option real input) ppmc.<port>.DAC8.<channel>.value' - Value to
be written to analog output, range from 0 to 255. This
sends 8 output bits to J8, which should have a Spindle DAC board
connected to it. 0 corresponds to zero Volts, 255 corresponds to 10
Expand Down Expand Up @@ -193,15 +193,15 @@ board to have a sufficient revision level to support the feature.
PWM generator will generate a short sequence of
pulses of both polarities when E-stop goes false, to reset the
shutdown latches on some PWM servo drives.
* '(USC uint) ppmc.<port>.stepgen.<channel-range>.setup-time' - Sets
* '(USC uint) ppmc.<port>.stepgen.<channel-range>.setup-time-ns' - Sets
minimum time between direction change and step pulse, in
units of 100 ns. Applies to a group of four consecutive step generators,
as indicated by '<channel-range>'. Values between 200 ns and 25.5 µs can be specified.
* '(USC uint) ppmc.<port>.stepgen.<channel-range>.pulse-width' - Sets
* '(USC uint) ppmc.<port>.stepgen.<channel-range>.pulse-width-ns' - Sets
width of step pulses, in units of 100 ns. Applies to a group
of four consecutive step generators, as indicated by '<channel-range>'.
Values between 200 ns and 25.5 µs may be specified.
* '(USC uint) ppmc.<port>.stepgen.<channel-range>.pulse-space-min' - Sets
* '(USC uint) ppmc.<port>.stepgen.<channel-range>.pulse-space-min-ns' - Sets
minimum time between pulses, in units of 100 ns.
Applies to a group of four consecutive step generators, as indicated by
'<channel-range>'. Values between 200 ns and 25.5 µs can be specified.
Expand All @@ -213,7 +213,7 @@ board to have a sufficient revision level to support the feature.
* '(USC real) ppmc.<port>.stepgen.<channel>.max-vel' - The maximum
value for 'velocity'. Commands greater than 'max-vel' will be clamped.
Also applies to negative values. (The absolute value is clamped.)
* '(USC real) ppmc.<port>.stepgen.<channel>.frequency' - Actual
* '(USC real) ppmc.<port>.stepgen.<channel>.freq' - Actual
step pulse frequency in Hz (used mostly for troubleshooting.)
* '(Option real) ppmc.<port>.DAC8.<channel>.scale' - Sets scale
of extra DAC output such that an output value equal to
Expand Down
12 changes: 6 additions & 6 deletions docs/src/drivers/pmx485.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ To communicate with a Powermax, the component must first be enabled via
the *enable* pin and it may then initiate a request to the Powermax by
writing a valid string to the following pins:

* *mode-set*
* *current-set*
* *pressure-set*
* *mode_set*
* *current_set*
* *pressure_set*

NOTE: A *pressure-set* value of zero is valid, the Powermax will then
NOTE: A *pressure_set* value of zero is valid, the Powermax will then
calculate the required pressure internally.

Communications may be validated from the Powermax display or the *status*
Expand All @@ -56,8 +56,8 @@ as needed.

To terminate the communications, do one of the following:

* Set all set pins to zero: *mode-set*, *current-set*, and
*pressure-set*.
* Set all set pins to zero: *mode_set*, *current_set*, and
*pressure_set*.
* Disconnect the Powermax power supply from its power source for
approximately 30 seconds. When you power the system back ON, it will
no longer be in remote mode.
Expand Down
6 changes: 2 additions & 4 deletions docs/src/drivers/vfs11.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@ Where <n> is +vfs11_vfd+ or the name given during loading with the -n option.
from the VFD
* '<n>.output-voltage-percentage' (real, out)
from the VFD
* '<n>.output-voltage' (real, out)
from the VFD
* '<n>.frequency-limit' (real, out)
upper limit read from VFD setup.
* '<n>.speed-command' (real, in)
speed sent to VFD in RPM. It is an error to send a speed faster than the Motor Max RPM as set in the VFD
* '<n>.spindle-fwd' (bool, in)
Expand Down Expand Up @@ -119,8 +119,6 @@ Where <n> is +vfs11_vfd+ or the name given during loading with the -n option.

Where <n> is +vfs11_vfd+ or the name given during loading with the -n option.

* '<n>.frequency-limit' (real, RO)
upper limit read from VFD setup.
* '<n>.loop-time' (real, RW)
how often the Modbus is polled (default interval 0.1 seconds)
* '<n>.nameplate-HZ' (real, RW)
Expand Down
2 changes: 1 addition & 1 deletion docs/src/hal/halmodule.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ The arguments are: pin name suffix, pin type, and pin direction.
For parameters, the arguments are: parameter name suffix, parameter type, and parameter direction.

.HAL Option Names
[width="100%",cols="<3s,7*<"]
[width="100%",cols="<3s,5*<"]
|===
|Pin and Parameter Types:|`hal.Type.BOOL`|`hal.Type.REAL`|`hal.Type.SINT`|`hal.Type.UINT`|`hal.Type.PORT`
|Pin Directions: |`hal.Dir.IN` |`hal.Dir.OUT` |`hal.Dir.IO` | |
Expand Down
Loading
Loading