Sending Parameter Changes From a Project to the SERVOPACK Only
| Version Number | Description |
|---|---|
| 1.0 | Initial version |
|
|
This application note shows how to send parameters from an iCube Engineer project to the servopack only.
1. Supported Components
| Component Name | Version |
|---|---|
| iC9200 series | ≥ 2024.3 |
| iCube Engineer | ≥ 2024.3 |
2. Supported Libraries
All
3. Solution details
In the diagram above, we can see that sending parameter changes directly to the SERVOPACK's ROM can be achieved using the "Write to ROM" button and the "Y_WriteDriveParameters" function block. To prevent writing to the controller, do not attempt to use the "Write & Start Project" button. Below is detailed walkthrough on uploading parameters directly to a SERVOPACK's ROM.
For this document, it's assumed that:
- An iCube project is already created.
- There exists a properly connected controller and SERVOPACK.
- The iCube project in the first point has already established connection to the controller mentioned in the second point.
- The iCube project was created from a sample project (e.g. Yaskawa iC9226M-EC/FSoE...; seen in the image directly below).
Solution Steps
Sending Parameters to the SERVOPACK Using the "Write to ROM" Button
- Launch iCube Engineer and open your project.
- Inside the project, connect to the controller Connecting vs. Attaching (Debug On).
- Expand the EtherCAT item in the "PLANT" tab. Then, double-click the SERVOPACK of interest. This should open a new window.
- Locate and click on the "Parameters" tab using the arrows to the left and right of the window.
Note:
If the controller is not connected, the "Read from RAM" and alike buttons will be greyed out.
- In the top-left corner of the window, click the "Write to ROM" button.
- Reboot your controller and SERVOPACK if necessary.
- Save your project.
Sending a Single Parameter to the SERVOPACK Using the "Y_WriteDriveParameter" Function Block
- Launch iCube Engineer and open your project.
- Inside the project, connect to the controller .
- Open the program you wish to work in.
- Click anywhere in the code workspace, then type "Y_WriteDriveParameter".
- Populate each input and output of the "Y_WriteDriveParameter" function block with appropriate variables or literals (Note: The values for the "Parameter Number" and "Value" inputs should be hexadecimal values, such as "16#B" or "16#0100") .
Note
The "DataTypeOverride" input can be fed the value "0" (its default value). If you encounter an error with the function block, please visit the block's help page for specifics
Note
To write to a specific bit/value (as seen with the ".2" portion of a parameter like "Pn00B.2"), use the following value format with the function block's "Value" input — "16#0000". Each "0" represents a bit/value ( i.e. 16#[.3][.2][.1][.0] ). The left-most "0" represents "PnXXX.3" while the right-most "0" represents "PnXXX.0". To set the value of a single parameter like Pn00B.2 to "1", you would feed the value "16#0100" into the "Value" input of the function block.
- Save your project.
- Execute a "Write & Start the Project".
- After the execution of the Y_WriteDriveParameter" function block in your code, exit debug mode.
- Click the "Compare drive parameters" button and ensure that the parameter used in Step 4 was written with the value intended. Also, verify that no other parameters were unintentionally changed during the execution of the Y_WriteDriveParameter function block.
- Reboot your controller and SERVOPACK if necessary.
- Execute a "Read from RAM" on the SERVOPACK that was just written to.
- Save your project again.