# CANopen Send

This **Node** has different versions depending on which `Protocol` is selected. This can be either *PDO* or *SDO*. Find in the tabs below the documentation for both versions.

{% tabs %}
{% tab title="PDO" %}
**Overview**

![The CANopen Send: PDO Node.](https://1553081948-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU990HLHWA30dTfELtDUK%2Fuploads%2Fgit-blob-3ee858a62cc73274480a1c1438b8c2e291daf81e%2Fcanopensendpdo.png?alt=media)

The **CANopen Send Node** is used to send a message once a **CANopen** connection has been selected from the **Drop-down Menu**. Here, the *PDO* `protocol` has been chosen.

[**Scope**](https://docs.incari.com/incari-studio/overview#scopes): **Project**, **Scene**.

## Attributes

![The CANopen Send: PDO Node Attributes.](https://1553081948-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU990HLHWA30dTfELtDUK%2Fuploads%2Fgit-blob-193bbb97877506211dbcd1884d47ed26ab4bd3f0%2Fcanopensendpdoatts.png?alt=media)

| Attribute           | Type                               | Description                                                                                                                                                                                                                    |
| ------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Configuration`     | **Drop-down**                      | The identifying connection name that will be used, which has already been set up in the [**Project Settings**](https://docs.incari.com/incari-studio/modules/project-settings/canopen).                                        |
| `Protocol`          | **Drop-down**                      | The desired protocol to use when sending the message. Here, `PDO` has been chosen. After selecting this, `Index` and `Subindex` will provide values.                                                                           |
| `Is Custom Message` | **Bool**                           | Can be toggled on or off depending on whether it is a custom message or not. Toggling it on changes the `Index` and `Subindex` into editable input fields allowing values from 0-FFFF for the former and 0-255 for the latter. |
| `Index`             | **Drop-down**                      | The index of the signal. Values depend on which `Protocol` has been selected.                                                                                                                                                  |
| `Subindex`          | **Drop-down**                      | The subindex of the signal. Values depend on which `Index` has been selected.                                                                                                                                                  |
| `CANopen Type`      | **Defined by previous selections** | The value type to be sent which is determined by index and subindex selection.                                                                                                                                                 |
| `Message Name`      | **String**                         | A custom name which remains read-only.                                                                                                                                                                                         |
| `Type`              | **String**                         | A message type which remains read-only, unless `Is Custom Message` is set to *true*.                                                                                                                                           |

## Inputs

| Input             | Type                                     | Description                                                           |
| ----------------- | ---------------------------------------- | --------------------------------------------------------------------- |
| *Pulse Input* (►) | **Pulse**                                | A standard **Input Pulse**, to trigger the execution of the **Node**. |
| `Message`         | **Any (Defined by previous selections)** | The value to be sent.                                                 |

## Outputs

| Output             | Type      | Description                                                                                                                            |
| ------------------ | --------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| *Pulse Output* (►) | **Pulse** | A standard **Output Pulse**, to move onto the next **Node** along the **Logic Branch**, once this **Node** has finished its execution. |
| {% endtab %}       |           |                                                                                                                                        |

{% tab title="SDO" %}
**Overview**

![The CANopen Send: SDO Node.](https://1553081948-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU990HLHWA30dTfELtDUK%2Fuploads%2Fgit-blob-f39acf4f3c7806a4980e3c0050f6bc6487dfb604%2Fcanopensend.png?alt=media)

The **CANopen Send Node** is used to send a message once a **CANopen** connection has been selected from the **Drop-down Menu**. Here, the *SDO* `Protocol` has been chosen.

[**Scope**](https://docs.incari.com/incari-studio/overview#scopes): **Project**, **Scene**.

## Attributes

![The CANopen Send: SDO Node Attributes.](https://1553081948-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FU990HLHWA30dTfELtDUK%2Fuploads%2Fgit-blob-e577176e537d80ed2421381dd0923a0265eae440%2Fcanopensendatts.png?alt=media)

| Attribute           | Type                               | Description                                                                                                                                                                                                                    |
| ------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Configuration`     | **Drop-down**                      | The identifying connection name that will be used, which has already been set up in the [**Project Settings**](https://docs.incari.com/incari-studio/modules/project-settings/canopen).                                        |
| `Protocol`          | **Drop-down**                      | The desired protocol to use when sending the message. Here, `SDO` has been chosen. After selecting this, `Index` and `Subindex` will provide values.                                                                           |
| `Is Custom Message` | **Bool**                           | Can be toggled on or off depending on whether it is a custom message or not. Toggling it on changes the `Index` and `Subindex` into editable input fields allowing values from 0-FFFF for the former and 0-255 for the latter. |
| `Index`             | **Drop-down**                      | The index of the signal. Values depend on which `Protocol` has been selected.                                                                                                                                                  |
| `Subindex`          | **Drop-down**                      | The subindex of the signal. Values depend on which `Index` has been selected.                                                                                                                                                  |
| `CANopen Type`      | **Defined by previous selections** | The value type to be sent which is determined by index and subindex selection.                                                                                                                                                 |
| `Message Name`      | **String**                         | A custom name which remains read-only.                                                                                                                                                                                         |
| `Type`              | **String**                         | A message type which remains read-only.                                                                                                                                                                                        |

## Inputs

| Input             | Type                                     | Description                                                           |
| ----------------- | ---------------------------------------- | --------------------------------------------------------------------- |
| *Pulse Input* (►) | **Pulse**                                | A standard **Input Pulse**, to trigger the execution of the **Node**. |
| `Message`         | **Any (Defined by previous selections)** | The value to be sent.                                                 |

## Outputs

| Output             | Type      | Description                                                                                                                            |
| ------------------ | --------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| *Pulse Output* (►) | **Pulse** | A standard **Output Pulse**, to move onto the next **Node** along the **Logic Branch**, once this **Node** has finished its execution. |
| {% endtab %}       |           |                                                                                                                                        |
| {% endtabs %}      |           |                                                                                                                                        |

## See Also

* [**CANopen Start**](https://docs.incari.com/incari-studio/toolbox/communication/canopen/canopenstart)
* [**CANopen Stop**](https://docs.incari.com/incari-studio/toolbox/communication/canopen/canopenstop)

## External Links

* Explanation of [*PDO and SDO*](https://community.element14.com/learn/learning-center/the-tech-connection/w/documents/4195/how-does-the-canopen-network-protocol-work).
