You can read and write variables with OPC Server and OPC UA. The other solution is to use the same protocols as SRS : Soap or Rest (web protocols)...
It all depends on the version of your robot.
You can read and write variables with OPC Server and OPC UA. The other solution is to use the same protocols as SRS : Soap or Rest (web protocols)...
It all depends on the version of your robot.
Fanuc/Motoman/Yaskawan came from Japan and the first level for programmer is easy but closed. Stäubli (ABB/KUKA) use a computer logic very open but harder.
To program in Val3, the best is to know a language like C or Pascal, and obviously robot data (Tool, Frame...)
The concept Fanuc and Stäubli are really different !
By Stäubli, you have different versions of software (Val3 is the language like TPE+Karel by Fanuc).
On Internet, I find Version 5.3 (very old version, the actual is Version 8.15 !).
Witch robot and controller would you program ? Why don(t contact Stäubli in your country to have the good document and information accordingly with the hardware ?
Hello,
Your program is correct but you call the program with the value 0 (call Depose(0)).
In your program, you don't test this value in the Switch case.
The value of nMoveIdDegDep keep the last value ( probably a low value, less than getMoveId).
CQFD
1- Change the call function if 0 is wrong.
2- Test always all the values in your Switch function , for example :
switch x_nNumDepose
case 1
// vers dépose 1 = côté aval rivière
//...
nMoveIdDegDep=movel(compose(pDep1,world,{150,0,0,0,0,0}),tPic,mDegL_H)
break
case 2
// vers dépose 2 = côté amont rivière
//...
nMoveIdDegDep=movel(compose(pDep2,world,{150,0,0,0,0,0}),tPic,mDegL_H)
break
default
// Defaut de parametre
wait(false)
break
endSwitch
Best regards
I'm agree with HawkME, but the difficulty is to think about and to test ALL the configurations.
So, Try to test all configurations...and try to write "simple" programs, to reduce, as much as possible, the logical branchings.
When on installation use different controlers (PLC/Robot/Vision) control all external datas in all program to be sure that a modification can't create a bug in other program.
Reduce "Global variables and parameters" and prefere Local datas...
Hello,
You have different other "Case" in "T_Depose".
Are you sure that the line "nMoveIdDegDep=..." is executed.
Can you controle the value of "nMoveIdDegDep" when the robot execute the loops ?
To debug, you can :
- Use the debug mode to control which instruction are executed.
- Create an independant task to memorise the value of "getMovveId"
... Pas de soucis pour l'aide
All the new robot controllers are safe. The 'crazy' robot don't exist now but erverybody know a 'crazy' programmer :).
Fortunately crash is not equivalent to accident...
Even with collaborative robots, and fences, prudence is the mother of survey !
Just to show you witch menu you need to see...
Best regards,
Normaly, you receive the material (arm and CS9) with "Maintenance Plug".
You can plug it replace of the WMS box to move the robot in manual and low speed.
Can you trie it ?
If the robot move correctly with it, perhaps you have a problem with Safety signals or configuration.
How Stäubli service can be say that the robot worked ? They make tests or read log files ?
I'm agree with EIEsgalho.
Look at the market because i'ts difficult to find part and help on this old machines.
Look specially about safety fonctionality. Emergency stop and doors signal use one canal contrarily, the new cabinet use two canals....
The retrofit could be more expensive as used robots more recent (CS8, even if the langage is different and you need to re-write the application) and the result disappointing.
Be carreful that the structure of taskCreate and taskCreateSync are not the same :
taskCreate sName, nPriority, program()
taskCreateSync sName, nPeriod, bOverrun, program()
If you don't use good parameters the line is invalid !
Other thing :, be carreful of uppecase and lowercase of the key words and variable. In Val3 program, you need to respect everytime the script.
Try le line :
taskCreate sFilling,10,Task()
When you have selected the line, press "enter" to edit the line.
You can choose Prg to call a new underprogram, Glo to jump in the Global variables list or Val3 to choose a new Val3 instruction (press the first letter to select directly in the list).
Are you sure that the value of sFilling is correct ?
To use $getJointForce command, you need to instal addOn "Motion" on your controler. Call Stäubli service to know the method for that...
If on application is running, you can connect the keys on not used output and pilot the real output with the VAL3. So you can decide in witch case the buttons are functional or not ...
You can edit and modify your programm directly on the SP1.
- Make a backup
- Menu/Application Manager/Val3 application/...your application.../Programs/...you program...
- Edit
Don't save before to test you modification...
Hello,
On CS8 and CS9, you have only 2 ways to laod an run an application :
- Load and run on the Teach
- Configure this applcation to load an run automatically after a controler boot.
If you want to execute a changing programme without any manipulation, this code need to be integrate in a library. In this case after the command xxx.libload() the modifications will be operate...
Is you application running on CS8 or CS9 controler ?
You IO are connected to an physical board or on Fieldbus board ?
The application can change this speed with the function setMonitorSpeed (only if the controler is in RemoteAuto mode)... You can looking for this instruction...