Class MotionMasterClient

Hierarchy

  • MotionMasterClient

Constructors

Properties

onceReady$: Observable<boolean> = ...

Emits a single time when the client becomes ready for the first time.

  • Emits immediately if both sockets are already open.
  • Completes after emitting once.
  • If the client never becomes ready, this observable never emits.
ready$: Observable<boolean> = ...

Emits true only when the client transitions into the ready state, meaning both sockets have become opened.

distinctUntilChanged() guarantees that repeated true values are suppressed. However, new subscribers will still immediately receive the last replayed true if the client is already ready.

socketsOpened$: Observable<boolean> = ...

Emits true when both req/res and pub/sub sockets are opened. Emits false if any socket closes. This is a hot observable and always replays the latest opened state on subscription.

systemEventSubscription?: Subscription

Methods

  • Returns an Observable that emits once when both req/res and pub/sub sockets are opened, then completes.

    • Emits immediately if both sockets are already open.
    • Completes after emitting once.
    • Errors with a TimeoutError if the specified timeout is reached before both sockets are open.

    Returns

    Observable that emits once when ready and then completes.

    Parameters

    • requestTimeout: number = 5000

      The maximum time (in milliseconds) to wait for both sockets to open. Default is 5000 ms.

    Returns Observable<void>

  • Executes the homing procedure to locate the home position value (0x2005:01).

    You can optionally provide a configuration object that specifies acceleration, method, and speeds; if not provided, the parameter values already set on the device will be used.

    The function will first emit a "running" status, followed by either "succeeded" or "failed". After completion, the device will remain in the Operation Enabled state.

    No CiA402 state transitions will occur for the "Homing on current position" methods (35 and 37). Additionally, the halt bit will remain unchanged for these methods, in contrast to other methods where the halt bit is cleared.

    Returns

    An Observable that emits the status of the homing procedure.

    Parameters

    • deviceRef: DeviceRef

      Reference to the device being homed.

    • Optional config: HomingProcedureConfig

      Optional configuration for the homing procedure.

    • monitoringInterval: number = 50000

      Interval for monitoring the homing procedure status in microseconds (default: 50,000 μs).

    • requestTimeout: number = 300000

      Timeout for the homing request in milliseconds (default: 300,000 ms).

    Returns Observable<HomingProcedureStatus>

  • Executes a position profile on the specified device based on the provided configuration.

    Prior to modifying the Modes of Operation and transitioning to the Operation Enabled state in CiA402, this function updates the device parameters with the given values.

    If no target reached timeout is specified, the device will remain in the Operation Enabled state. If a timeout is provided, the function will optionally send a quick stop once the target is reached and the holding duration has elapsed.

    Throws

    Error if the target is not reached within the specified targetReachTimeout.

    Parameters

    Returns Promise<void>

  • Executes a torque profile on the specified device based on the provided configuration.

    Prior to modifying the Modes of Operation and transitioning to the Operation Enabled state in CiA402, this function updates the device parameters with the given values.

    If no target reached timeout is specified, the device will remain in the Operation Enabled state. If a timeout is provided, the function will optionally send a quick stop once the target is reached and the holding duration has elapsed.

    Throws

    Error if the target is not reached within the specified targetReachTimeout.

    Parameters

    Returns Promise<void>

  • Executes a velocity profile on the specified device based on the provided configuration.

    Prior to modifying the Modes of Operation and transitioning to the Operation Enabled state in CiA402, this function updates the device parameters with the given values.

    If no target reached timeout is specified, the device will remain in the Operation Enabled state. If a timeout is provided, the function will optionally send a quick stop once the target is reached and the holding duration has elapsed.

    Throws

    Error if the target is not reached within the specified targetReachTimeout.

    Parameters

    Returns Promise<void>

  • Start monitoring.

    Note that the returned observable will never complete on its own.

    If you unsubscribe from it, the teardown code will send a request to the master to stop the monitoring. That means you will end up with an observable that is not complete, but it won't emit any values. This is fine when you want to use the monitoring observable directly in the template with async pipe, which will unsubscribe automatically and stop the monitoring when you leave the component.

    If you need to complete the observable so that, for example, the toArray() operator works as expected, then use the DataMonitoring class, which has a stop method. It can optionally buffer data for exporting as CSV or performing statistics on it.

    Returns

    An observable of an array of parameter values.

    Parameters

    • ids: DeviceParameterIds

      Device parameter IDs to monitor.

    • monitoringInterval: number

      At what interval should the master application send values.

    • Optional config: MonitoringConfig

      Configure the topic, buffer size, distinct.

    • requestTimeout: number = 5000

      How long will the client wait for the master to confirm that monitoring has started.

    Returns Observable<ParameterValueType[]>

  • TODO: return device parameters instead of just parameters get parameters from ESI uprfront, and then when parameters are received from motion master just concatenate (spread operator) props from ESI and props from parameter assign device parameter id like 0x1018:00.12345 when assembling device parameter, get parameter from device in ESI based on product code, see ESI service this should probably done for other get parameters functions, get ESI file from device or prepared, get data from it

    Parameters

    Returns Observable<DeviceParameter[]>

  • Parameters

    • id: string | [DeviceRef, number, number]
    • value: number
    • window: number = 0
    • monitoringInterval: number = 50000
    • requestTimeout: number = 5000

    Returns Observable<true>

  • Parameters

    • id: string | [DeviceRef, number, number]
    • value: number
    • window: number = 0
    • monitoringInterval: number = 20000
    • requestTimeout: number = 5000

    Returns Promise<true>

  • Waits until both req/res and pub/sub sockets are opened.

    • Resolves immediately if both sockets are already open.
    • Otherwise, waits up to requestTimeout milliseconds for both sockets to open.
    • Throws a TimeoutError if the timeout is reached before both sockets are open.
    • Returns a Promise that resolves when the client is ready.

    Returns

    Promise that resolves when both sockets are open or rejects on timeout.

    Parameters

    • requestTimeout: number = 5000

      Maximum time in milliseconds to wait for both sockets to open. Default is 5000 ms.

    Returns Promise<void>

Generated using TypeDoc