Posts by ElEsgalho
-
-
I found some crash but not often (I hope it's some "youth" problems).
Do you see a real improvement in every newly released version?
How often is being updated?
-
Hallo everyone,
Wishes for a great 2023!
With the beginning of the new year, I would like to hear your opinions on SRS2022.
I don't have an SRS licence, working with the 2019 free version, and I found someone selling an SRS2022 dongle on eBay.
He told me that he upgraded it from SRS2019 to 2022, but because SRS2022 is very unstable he is trying to sell it and buy an SRS2019 licence.
I know this sound like a scam, but I will collect it in person
Also, where can I get the new SRS2022 free version, is no longer publicly available on their web page...
Would you please share with me your experience and opinions?
-
Maybe you can have GI Joe and Barbie mounted on it and have them ride off into the sunset together.
Quite an expensive toy for a GI Joe
-
-
Any progress with that program conversion?
-
Hi,
Do you have a customer account at the Staubli technical database?
They have an interactive spare part catalogue with an exploding view of the entire wrist.
Never opened one but it looks like a wormgear driven.
-
Hello everyone!
We managed to boot up the controller.
It was this board that was damaged(it's attached to the main one of the drives behind the batteries)
We figured it out through trial and error.
Best regards
Thank you for coming back and posting the solution!
-
-
Hello, what do you mean by XML file? What exactly do you need?
I have a JSON file with the offset between joints, and it's possible to get the robot's Denavit–Hartenberg parameters of the robot.
Not sure if this is what you are looking for.
{
"name": "Tx60l",
"root": {
"name": "base",
"nodes": [
{
"name": "j1",
"offset": "T(0mm,0mm,210mm)",
"axis": "Vz(1mm)",
"type": "rotoid",
"minimum": "-180°",
"maximum": "180°",
"geometries": [
{
"name": "ShowHardStop",
"type": "cad",
"visibility": "ShowHardStop",
"path": "J1_HS.xcgm"
},
{
"name": "j1",
"type": "cad",
"path": "J1.xcgm"
}
],
"nodes": [
{
"name": "j2",
"offset": "T(0mm,117.35mm,165mm)",
"axis": "Vy(1mm)",
"type": "rotoid",
"minimum": "-127.5°",
"maximum": "127.5°",
"geometries": [
{
"name": "ShowUlLamp",
"type": "cad",
"visibility": "ShowUlLamp",
"path": "J2_UL_L.xcgm"
},
{
"name": "j2_l",
"type": "cad",
"path": "J2_L.xcgm"
}
],
"nodes": [
{
"name": "j3",
"offset": "T(0mm,0.25mm,400mm)",
"axis": "Vy(1mm)",
"type": "rotoid",
"minimum": "-152.5°",
"maximum": "152.5°",
"geometries": [
{
"name": "j3",
"type": "cad",
"path": "J3.xcgm"
}
],
"nodes": [
{
"name": "j4",
"offset": "T(0mm,-97.6mm,90mm)",
"axis": "Vz(1mm)",
"type": "rotoid",
"minimum": "-270°",
"maximum": "270°",
"geometries": [
{
"name": "j4_l",
"type": "cad",
"path": "J4_L.xcgm"
}
],
"nodes": [
{
"name": "j5",
"offset": "T(0mm,0mm,360mm)",
"axis": "Vy(1mm)",
"type": "rotoid",
"minimum": "-122.5°",
"maximum": "132.5°",
"geometries": [
{
"name": "j5",
"type": "cad",
"path": "J5.xcgm"
}
],
"nodes": [
{
"name": "j6",
"offset": "T(0mm,0mm,70mm)",
"axis": "Vz(1mm)",
"type": "rotoid",
"minimum": "-18000°",
"maximum": "18000°",
"geometries": [
{
"name": "j6",
"type": "cad",
"path": "J6.xcgm",
"offset": "T(0mm,0mm,-70mm)"
}
],
"nodes": [
{
"name": "flange",
"offset": "T(0mm,0mm,0mm)",
"type": "fixed",
"behaviors": [
{
"type": "frameContainer",
"name": "FrameContainer",
"frames": [
{
"kind": "handler",
"name": "Flange"
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
]
}
}
-
Sorry, I don't read that you use UnivalPlc...
Agree with Kurvanov :
Best regards,
No need to apologise, you posted helpful information. Continue the great work helping this community!
-
Hello Johnny su,
With uniVAL plc the J206 IO interface is fixed.
uniVALplc server gives you the current tcp position in the variable of T_StaeubliRobot type that you must create in your PLC application.
The robot position is available in the member yourVariable_ofT_StaeubliRobot_type.Status.actualPosition.
Best regards.
Exaclty, with uniVAL PLC you should have it already mapped. There is no need to program anything neither configure anything.
-
HELLO ELEsgalho
I have a staubli robot with CS9 controller
and I have an EP2338-1001 io box connected
The question is:
Where can I see the IP of this IO BOX?
I hope you can help me
As Galet said, the module is a EtherCAT slave.
Because the module is a slave, you need a master connection to connect to it.
Either from another module/PLC or if you want to do it from the controller I would advise configuring J206 it's a master EtherCAT and is available by default, or the optional Fieldbus card it's an option that could cost you more.
Configuring it should be easy, I have some configuration files from previous machines, just transfer them and you be alright.
-
Magical Tip for CS9 : You can reboot the SP2 pendant (Not the main CPU) by pressing simultaneously the Home, Back and Legacy Mode buttons...
Hidden feature
Really?
Does that get over the connection issue that sometimes randomly happens with the SP2 losing the connection?
-
Well if the exact same robot I believe you don't need to change the controller .cfx or .zfx configuration files.
These files store all the relevant information according to the robot model. Same as Fanuc, if you load an image backup from one controller to one with a different robot, you no longer have straight lines
As soon as you connect the new robot it should pop up a message telling you that the current controller data for the calibration "its zero position encoder reading" is different from the one present on the starc board on the robot's base.
This is true because the new robot will have a totally new encoder reading for its zero position.
I believe there is an option to accept either the controller data, the robot's starc board data or to recalibrate.
My suggestion is to accept the robot data because you have in fact swapped the robot.
After that, just make a quick check of the robot's position...
Again, I have never done it, but I have seen those pop-ups every time you connect a different robot to a controller.
Let me dig a bit more into my notes...
-
The application can change this speed with the function setMonitorSpeed (only if the controler is in RemoteAuto mode)... You can looking for this instruction...
Sorry EIEsgalho :
num setMonitorSpeed(num nSpeed)
This instruction modifies the current monitor speed of the robot. setMonitorSpeed() is always able to reduce the monitor speed. To increase it, setMonitorSpeed() is effective only if the robot is in remote working mode and if the operator does not have access to the monitor speed (when the current user profile does not allow use of the speed buttons, or the MCP has been disconnected).
Again, you can reduce without being in remote mode
Keep in mind the problem was with the reduction of speed...
Hello
I have a staubli robot in a production cell
in automatic mode, I raise the speed value in the pendant to 90, but when the robot fails for some reason the cell doors open, the robot starts the cycle at a very low value 40,
where can I find that value to be able to leave it at 90?
-
The application can change this speed with the function setMonitorSpeed (only if the controler is in RemoteAuto mode)... You can looking for this instruction...
That's not quite right, setMonitorSpeed() allows you to reduce the speed always, but only increases if the selected profile doesn't have control over the speed monitor.
Nothing to do with the remote mode...
-
No problem, any questions I'm here
-
Code
Display Morebegin // Repeat until robot at home do // Get current position and check if at home {2,2,2,1,1,1} is the tolerance for J1,J2,J3,J4,J5,J6 bRobotAtHome=(abs((jStart-herej()))<{2,2,2,1,1,1}) if !bRobotAtHome // Send log message logMsg("ROBOT NOT AT HOME. MOVE TO HOME IN MANUAL") // Wait for robot to move wait(!isSettled()) // After moving wait for robot to stop wait(isSettled()) endIf // Loop to check condition again until bRobotAtHome // Loop programs selection do do // Send log message logMsg("Waiting for program select or start cycle.") // Wait for program selection wait(diProgramSelected) //Load program from plc in "PG" // Read analog data nProgramNumber=aioGet(aiSelectedProg) // Check if maintenance program if nProgramNumber==8 // Maintenance Program call pg08() endIf // Not sure what the pounce signal is, but unless this goes on, the loop will be repeating until diSig1033==true // Run selected program switch nProgramNumber case 1 // Pick Large PC crate/ drop to pallet (stack of 6) call pg01() break case 2 // Pick Large PC crate/drop to pallet (stack of 12) call pg02() break case 6 // Pick PC crate/drop call pg06() break case 10 // Pick slip sheet from depalletized pallet call pg10() break endSwitch // Go back to the top of the do loop until false end
This could be a "translation" of what you asked.
Variable to be created:
-bRobotAtHome as bool
-jHome as joint
-diProgramSelected as digital input
-nProgramNumber as num
-aiSelectedProg as analog input
-diSig1033 as digital input
Programs to be created:
-pg01
-pg02
-pg06
-pg08
-pg10
Again, this is something that could have similar results for what you are looking... At least compiles
-
Solved.
We cloned the working compact disk, and copied the programs we had on the broken one( on usr/usrapp). What was corrupted was maybe a boot file or something.
All errors disappeared and the robot is working fine
Best regards
Thank you for posting the solution!