Posts by Galet
What I do :
1. Create a virtual Digital Output Board with 3 signals,
2. Link those 3 DO to the buttons,
3. In my VAL3 application, use those DO to call programs.
Depending of the connected profile, 1-2-3 buttons can be deactivated, if you want some users to not have access to this function.
Complement : On CS9 like CS9, you can use diolink function to link the new output to the configured output button 1 to 3.
Magical Tip for CS9 : You can reboot the SP2 pendant (Not the main CPU) by pressing simultaneously the Home, Back and Legacy Mode buttons...
SP1 (with CS8) and SP2 (on CS9) are really different !
SP1 is a interface (neutral), SP2 is independent and exchange information with controller.
The 16000lc problem's is to reload the application after an external modification (SRS or ftp transfer...). For this point the procedure are the same on SP1 and SP2 :
For the main application, you need to stop it, reload (or close and load) the new version (from disk to ram), and run the application.
If this application is auto-run configured, the simple way is to turn off the controller, wait all the leds switch off and turn on again the controller.
What features do you need ?
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...
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).
Download "VALTRACK" from Stäubli to you find many standard "Driver" for cameras. All are writing in Val3 and are open. You can adjust to add your functionalities...
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 ?
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).
1- Change the call function if 0 is wrong.
2- Test always all the values in your Switch function , for example :
// vers dépose 1 = côté aval rivière
// vers dépose 2 = côté amont rivière
// Defaut de parametre
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...
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...
On the website of Stäubli, you can find complete information, and exemple (C) to use Soap service. You need to develop your application to connect, login and read (or write) data or position...
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 :
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 ?