From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Homing on Block

Hello,

 

for a motion control I need a homing to set the zeropoint at a spezific position before each restart. Without a switch, I wanted to use the homing mode on block, but my homing mode do not detect the block.

The programm:

- w 0x6060 6
- w 0x6040 0

- w 0x6040 6
- w 0x6040 7
- w 0x6040 F
- w 0x6098 -1
- w 0x6099 0x01 1000

- w 0x6099 0x02 100
- w 0x609A 1000
- w 0x2102 0x01 80000
- w 0x2102 0x02 100
- w 0x6040 1F

 

Thank you for your help.

 

Sincerely

 

Guni

0 Kudos
Message 1 of 10
(3,256 Views)

As you've just joined the Forum and this is your first Post, I'm guessing that you are not familiar with how this Forum works.  This is the LabVIEW Forum, dedicated to discussions about LabVIEW.  Your post appears to have nothing to do with LabVIEW.  It concerns a problem of Motion Control, with some (presumably Third Party) Motion Controller that you have not identified, but for which you have kindly posted a Program.

 

I believe you have posted to the wrong Forum -- you probably need to post this on a Forum maintained by whomever makes the Motion Controller that accepts these commands.

 

Bob Schor

0 Kudos
Message 2 of 10
(3,239 Views)

Homing usually means move until a switch is encountered. How you do you want to do that without a switch?

 

Could you elaborate a bit?

 

For starters, what hardware are you using?

What motion control?

What's that program (it's not LabVIEW)?

What does your code look like?

Etc.

0 Kudos
Message 3 of 10
(3,230 Views)

That is not a program, from the look of it. It looks like CANopen Objects, and the values they are set to, used in some motor controllers. 

 

But without seeing the LabVIEW code, Motor controller model, and a clear documentation on what the motor controller should do, it is very hard to know if the CANopen values are correct.

0 Kudos
Message 4 of 10
(3,223 Views)

I have 12 pistons, 12 linear actuators (Nanotec L2818L0604-T5x5) with 12 encoders
(Nanotec WEDS 5546-A10) and 12 control units (Nanotec SMCI36). I use the cRIO 9024 (National Instruments) with the NI-module 9881. Nanotec released an article about homing which includes homing on block

(https://de.nanotec.com/produkte/manual/C5E_CAN_USB_EN/modes%252Fhoming.html/). I want to use this methode but I'm not sure if

this methode is possible with my components.

The programm is LabVIEW.

 

Thanks for your help.

 

Sincerely

 

Guni

0 Kudos
Message 5 of 10
(3,218 Views)

If your controller ( Nanotec SMCI36 ) support that method, I can't see why is shouldn't work. 

 

You need to program your LabVIEW code to write to the correct Objects with correct values, and you need to do it in the right order. Remember to do the setup before you ask the motor to move. 

0 Kudos
Message 6 of 10
(3,211 Views)

I have a programm to create SDOs and write the values in the SDOs. My Problem: The System do not detect the block. Maybe the homing on block mode cannot be realized with Labview and the cRIO (the programm runs on the cRIO).

 

Thank you for your help.

 

Sincerely

 

Guni

0 Kudos
Message 7 of 10
(3,185 Views)

It has nothing to do with LabVIEW or cRIO. 

 

This feature is part of your motor controller, so if the controller does not detect that your motor has react a end stop, then you have not setup the controller correct, you might be missing some objects to write to. 

 

One thing I do not see in the list of objects, is index 0x203A. 

And as you have not shown your code nor a pictures of your hardware setup, I can't help you.

 

 

0 Kudos
Message 8 of 10
(3,179 Views)

Thank you for your help. The homing mode on block works, but I want to change the current limit with SDO 203A:01.
(https://de.nanotec.com/produkte/manual/PD4C_USB_EN/object_dictionary%252Fod_motion_0x203A.html/)

My problem:

After writing my values in the CANopen SDO write VI* I always use CANopen SDO read VI* to check the entry. I read the value "0", but write the value 240. I double check the data type (I32) and tried U32, because the data type was changed from U32 to I32.

My background:

The CAN master is the cRIO (NI) and the control units SMCI36 (Nanotec) are the slaves. I write the 203A:01 in the Controller with the help of the CAN master. CAN master and slaves need the same entry for 203A:01 in the object dictionary (203A:01: Current limit, I32). The SDOs 2000 - 5FFF are manufacturer-specific. 

My question:

Can the cRIO use the object dictionary of the SMCI36 or does it have its own?

If the cRIO use its own object dictionary, does the SDO 203A:01 include the current limit with data type I32 and how can I find the EDS file of the cRIO to check the object dictionary?

Thank you very much.

 

Sincerely

 

Guni

 

 

*Before: Create an interface and use CANopen SDO create VI; After: CANopen SDO close VI

0 Kudos
Message 9 of 10
(3,145 Views)

Did you find any solution to your problem? I have the same problem with homing

0 Kudos
Message 10 of 10
(2,667 Views)