Greetings,
I have a question regarding the use of analog inputs to control a DX100 robot. When an analog signal is sent to the controller via the YEW01-E card, where does it show up in the pendant, and how can I access it in a job? I don't see an AIN command in the inform list? Is there some parameter or function that is required? The robot is setup as general operation.
Thank you.
Using Analog Inputs in a Job
-
mitchman724 -
November 11, 2013 at 5:07 PM -
Thread is marked as Resolved.
-
-
What are the analog inputs being used for?
You may need to use the GETSFT instruction. In this instruction you tell which channel to read the information from, a threshold voltage and most importantly what position variable to put the information. There is a parameter S1ExG 026 that is the scaling factor.
-
Hi MitchMan,
Analog inputs show up into an M-Register. Analog #1 shows up in M600. The full listing is attached.
In your robot job, use the GETREG (get register) command to read the value of M600.
This will show up as a number that needs to be scaled. The input is 16 bit so you will have to do some math to get the results into the appropriate unit of measurement.
RoboGuru
-
This is great stuff, thank you both!
I will use the inputs along with a 'move until' command to stop the robot's movement once a certain force is exerted on a part. I will need to do some experimentation to figure out just how much force that needs to be, but this will get me on the right path for sure.
Thanks again. -
Ran into an issue with the scaling factor parameter. That is the parameter S1ExG 026 is not available on our robot even in Yaskawa Mode. There is not even a category for S1E parameters. Any ideas here? Is that the right scaling factor parameter? Or maybe we need to have the robot setup differently?
Also the M600 register value does not change even though we are getting varying voltages on the leads with the multimeter? Once we get to 5 Volts our value in M600 register is maxed out at 32768. Is the scaling factor what allows us to acheive +- 10 Volts?
Any help you can offer is greatly appreciated! -
After rereading the original post I think I see the problem. The YEW board is an analog output board. An analog input board is a board that goes on a YCP-02 board in the controller. That is why you don't see the SE parameters or the signal into the M-Registers.
-
Some YEW boards are both analog in and analog out. The YCP02 board is sensor function which also offers analog inputs. The Sensor function gives you the GETSFT command as well as the S1E commands.
In this case, we are using regular analog inputs so the YCP02 is NOT present and the S1E parameters are not provided.
M registers as indicated are to be used.
RoboGuru
-
Well we wanted to eliminate the possibility of a bad analog card so we swapped it into another DX100 robot controller, and it responded appropriately to various voltages, and in the correct M600 register. (We made a connector that runs directly from the analog output channel 1 into the analog input channel 1 so that we could test signals and see the response in the M600 register). However, in the robot we want to use for this application we see a reaction to the analog input channel 1 in the 601 register and the 600 register is a static number that doesn't change. Shouldn't we see the value in M600? Also the numbers in the M601 register are not predictable and are jumping around randomly. Any ideas about why this could be happening?
-
Funny...
I did have the same experience as you. Just looking at an old backup and I used M601 as analog input #1.
I do remember the M600 was odd...
M601 it is then!
RoboGuru
-
Hello, all...I am working with mitchman724 on this project, and I was wondering if anyone has seen such sporadic responses in the M-Register for the analog input. We've tested the equipment on two robots and get reasonably predictable results in the M600 register that indicate a value of approximately 6550 in the register equates to 1 volt. However, in the robot designated for this application (DX100 Controller/ES165D Manipulator), not only do the values for Analog Input CH1 show up in the M601 register (not M600), but they are jumping around by about 1200 units. To explain, on the other robots, when we send an signal of 1 volt to the CH1 input, we may see values in the M600 register that range from 6542 to 6555. But on the ES165D, those values will be constantly jumping around between 5300 and 6500. We've verified that the YEW01 Board works fine when installed in another controller along with the YIU01. I've also tried replacing each of the cables between the two boards and the terminating resistor individually on the suspect controller, but nothing has had an effect.
-
Hi everyone,
I need to use this stuff on my robot but I don't know what kind of command is set on the card. Does it exist in current 4-20mA or 0-10V. Somebody told to me that the voltage is in -5/5V.
Somebody could answer me?
Thanks
PS: somebody has some documentation on this
-
Hi all,
has anyone solved this problem? I have the same problem, I'm trying to acquire an analog voltage input with my DX200 controller but it doesn't work properly. It seems that the measurement with both channels has no sense.
I also have a JANCD-YCP02 board, someone knows with which M register is associated these analog inputs? I'm trying to perform the control of an external element so I need to handle the robot speed depending on the reading of an analog input.
Thanks -
The inconsistent readings from the analog card were corrected by re-initializing the robot for "welding" application. Previously it had been General Purpose I believe. Never got a good explanation as to why that fixed it.
-
Hi all,
has anyone solved this problem? I have the same problem, I'm trying to acquire an analog voltage input with my DX200 controller but it doesn't work properly. It seems that the measurement with both channels has no sense.
I also have a JANCD-YCP02 board, someone knows with which M register is associated these analog inputs? I'm trying to perform the control of an external element so I need to handle the robot speed depending on the reading of an analog input.
ThanksAlejandro
I was confused by the same thing for a long time. The key is whether or not the analog input is going into the YCP02 board or the YEW board. My understanding is the the YCP02 board is interfaced directly to the motion planning hardware (EAXA board). Being tightly coupled to the EAXA board allows the analog values (or channels) to be directly connected to the robot motion. Unfortunately this also means that these signals are not accessible within the programming and control environment (jobs/CIO). Conversely, the YEW board is interfaced into a different 'layer' of the control which allows access to the signals (via the registers) but prevents direct interaction with robot motion.For one of my current projects I need a way to access a laser distance value via motocom and preserve the ability for the laser output to alter the robot motion. I am looking to split a 4-20mA signal between the YCP02 and YEW01 boards using two analog signal converters. Has anyone else had to do this or something similar?
-
Hi all,
Finally I solved all my questions and problems.
- YCP02 board: It's impossible to access to a mark with the current value of this analog input. The only way to manage this board is by using the instructions of the "sensor function" manual.
- JANCD-YEW01-E BOARD: This board is for welding purpose, for using the analog inputs of this board like general purpose (reading any kind of analog sensor) you must contact Yaskawa. They will ask you for the file "CIOPRG.LST" of your controller. They told me that some bit's of this file must be changed for using it like general purpose. I did it and now it's Ok.
I hope that this information will help you.
Regards and thanks for all your comments.