Thanks for responding. That’s what I’ve tried.. If I don’t map the first 16 though, it automatically maps in the first available space on cycle power
Sent from my iPhone using Tapatalk
Thanks for responding. That’s what I’ve tried.. If I don’t map the first 16 though, it automatically maps in the first available space on cycle power
Sent from my iPhone using Tapatalk
Update: Turck says ask Fanuc. Fanuc says ask Turck.
Sent from my iPhone using Tapatalk
We’ve worked up a concept similar to this before... my concern would be the constant disturbance detection while this machine is in motion. I’m uncertain how the brakes on the servos would behave. Track vehicles on uneven terrain are very bumpy.
Sent from my iPhone using Tapatalk
Hey everyone,
I'm pairing the subject Turck I/O block to my robot using Ethernet I/P, and have successfully mapped out the 16 inputs/16 outputs to the controller. The issue is that I have to map 32 inputs and 32 outputs each because this device has diagnostics channels on the 1st (0) word. Has anyone every paired a device like this with and applied a word offset? I tried the analog settings starting at pt/channel 17 and mapping 1 word for input and output but that doesn't work. **GOAL: Reduce 1st word fluff in my I/O assignments**
Settings:
Vendor=48
Device Type=12
Product Code=14012
MajRev=2
MinRev=7
Size:
Input = 2 word
Output = 2 words
Assembly Instance:
Input = 103
Output = 104
Configuration = 106
Advanced:
I/O data type - 16 bit words
Set Target to Originator Transport Type: MULTICAST
Side note... it took me way too long to figure out that the value is read in hundredths of a second and not milliseconds.
Sent from my iPhone using Tapatalk
Instruction — miscellaneous — parameter name — $...=...
Sent from my iPhone using Tapatalk
Make sure each channel is wired correctly. Use a voltmeter to identify each channel of the switch at the wires before tying into the TBOP connector. I’ve used switches before where the pin labels on the switch were different than what’s called out on the m12 connector.
Sent from my iPhone using Tapatalk
Do you have Karel installed? If so you can use the GET_TSK_INFO built in procedure to find the task status, if PG_Running = TRUE, then set a register or a flag to wait for until you can call or run the program again.
I do have karel...that could work. I’ll give it a try. Thanks!
Sent from my iPhone using Tapatalk
Great idea... I’ve used this method on shorter run programs and loops. But this one Is a large loop and there’s a few waits also, so setting a flag won’t guarantee anything.
I was hoping for a system variable that could give the status of a task name.
Sent from my iPhone using Tapatalk
I’ve got a motionless program that runs continuously (large loop). But a couple of programs I have in a series can call it. I use the run command, but if it’s already running, I get the PROG-007 Program is already running.
Is there a simple way to know if a program is already running before running it again to avoid this error?
Sent from my iPhone using Tapatalk
Display More
If you use offsets like this:L P[1] 100mm/s OFFSET PR[1]
Then the offset is applied to that point for that move only.
If you use offsets like this:
PR[1,1] = PR[1,1] + 200
L PR[1] 100mm/sThen the offset is permanently applied to that position. It does not automatically revert back to the original values when you restart the program.
I do prefer the first method you list when at all possible.
Sent from my iPhone using Tapatalk
Im sorry im not quite understanding. As of right now i just set it up to do the first 2 parts (just so i can understand how to use offsets). So i only used the first 6 points (which i recorded under the data tab under PR) So do i have to go back into the data page and record my first 6 points again under PR11-PR16 and then just tell the program that those points = P1-P6? Even though I have nothing recorded on them in the PR tab?
In your program, you would write the following:
PR[11]=PR[1]
PR[11,1]= PR[11,1]+200
So next time you run the program it resets.
Sent from my iPhone using Tapatalk
You need new registers, i.e. PR[11] to PR[16] and record there your positions you want to work with (what you currently recorded in P[1] to P[6].
Then add at the beginning of your program, before label 1, PR[1] = PR[11], PR[2] = PR[12] ... PR[6] = PR[16].
That way those number will never change and every time you start the program it will start from the same positions
Exactly... thanks for the assist TexDino
In this way, the only way the original values should change is if you have to reteach your points.
Sent from my iPhone using Tapatalk
An everything occasionally has to shift to one direction?
Sent from my iPhone using Tapatalk
If you’re shifting everything in the x axis by the same amount, it may be less complicated to shift the UF instead.
Sent from my iPhone using Tapatalk
If you do it this way, you’ll need to set up a reference PR. This is kinda like your master. At the beginning of your routine, you’d copy the PR to a reference one that you manipulate with your offsets. At least that’s how I handle this.
Sent from my iPhone using Tapatalk
I’d make sure your points are programmed within a User frame that is not 0(global). From there, you can shorty the UF coordinates to shift all of the points you taught in the manner you are after.
Sent from my iPhone using Tapatalk
Right. It’s part of the advanced DCS package.
Sent from my iPhone using Tapatalk
I’ll keep ya posted. Fanuc claimed it’s a software bug and will notify us when there’s an update. But the functionality of password protection has been lacking for some time, so I don’t anticipate a fast resolve there. I’ll be looking for a work around in the mean time.
Sent from my iPhone using Tapatalk