t0r3r0s Posted November 8, 2021 Report Share Posted November 8, 2021 Greeatings , I have delta servo drive asda2M model. Can someone explane me hovv can i read and vvrite some parametars like position and speed to drive ? In attach is canopen for driver . Thank you ASD_A2-CANopen_UM_EN_20120921.pdf Link to comment Share on other sites More sharing options...
Sideway Posted November 11, 2021 Report Share Posted November 11, 2021 Hi toreros, First of all, have you already established a connexion between your PLC and the drive ? To manipulate your drive parameters, you need to communicate with SDO or PDO functions within Visilogic. Cheers, Sideway. Link to comment Share on other sites More sharing options...
t0r3r0s Posted November 18, 2021 Author Report Share Posted November 18, 2021 On 11/11/2021 at 6:02 PM, Sideway said: Hi toreros, First of all, have you already established a connexion between your PLC and the drive ? To manipulate your drive parameters, you need to communicate with SDO or PDO functions within Visilogic. Cheers, Sideway. Greeatings , this is problem can you tell me hovv , vvhich register i must read from servo ,for example if I need postion value on servo ?? Link to comment Share on other sites More sharing options...
Sideway Posted November 22, 2021 Report Share Posted November 22, 2021 Hi toreros, Depending on how you want to manipulate your servo, you can have a look at the section 3 of your manual (page 14). It will indicate you every "mode of operation" you want to use, and what are the registers you need to manipulate in order to create motion. You have several typical modes of operation, the most common ones are the following : Homing mode, Profile position mode, Profile velocity mode, Profile torque mode. Before even configuring your mode of operation, you must be sure your drive is in Run mode . To do so, you need to set the ControlWord [0x6040] to the value 0x0F to turn your drive into Run mode. I give a bit more infos on ControlWord down below. See these informations page 38 of your manual : """If P1-01 (aka 0x6040) = 0x0B, user could set 6040h to 0x000F for ServoOn immediately. If P1-01 (aka 0x6040) = 0x0C, user need to set 6040h to 0x0006->0x0007->0x000F for Servo On step by step. """ Be sure to use the "Homing mode" (section 3.3, page 18), before using Profile position mode, because it is required to set your actual position (because if you want to go at a given position, you first need to know where your motor is ). An easy way to set your homing position is to use the homing method n°35, which sets your current position as the "zero" [0x6098 = 35 in decimals]. See further informations in "homing method", page 50 of your manual. Now let's take a basic example. We want to move with the Profile position mode (section 3.1, page 14). To create motion in this mode, you first need to indicate the parameters for your motion : - the current mode of operation you are using [0x6060], for profile position mode, set it to 1, - the target position [0x607A], - the speed at which you want to go [0x6081], - the values of acceleration/deceleration in profile mode [0x6083 and 0x6084 respectively], Others parameters in this mode can be set to default at first. To initiate motion after you set all these parameters, you can use the "ControlWord" [0x6040]. The ControlWord is a register which asks the drive to generate a motion with your motor. It contains 16 bits and each bit is assigned to a given task. Given the mode you are using, the ControlWord bits may vary. In addition to this register, the StatusWord [0x6041] is a kind of response from the drive on its real-time status. It is also a 16bits value and each bit corresponds to a retrieved information. In profile position mode, once you wrote the target position in your drive, you need to ask your drive to go to this target. To do so, you need to set the bit 4 of your ControlWord to 1 ==> "New set-point". (See section "Detailed objects", pages 34 and 35 on how to use ControlWord in the different modes of operation) Your motor will then start moving towards the target. While moving, you can retrieve your StatusWord value as an indicator. It will show the bit 10 "Target reached" = 0 while moving, and "Target reached" = 1 when it is fully stopped. If you can initiate your motion but it stops abruptly right after that, it can be due to a small following error window (which can be set at [0x6065] ) or a current value (in Amperes) which is too small. I know this can be a bit tricky to manipulate at first, so if you have troubles, i may create a simple .vlp routine to show you all of this Cheers, Sideway. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now