Just for future record, quick "How to do":
1. Open a cell with a controller.
2. On the Cell Explorer/Data/Geometry tab right click on a controller.
3. From dropped down menu choose Controller Configuration
4. In the new window choose Add Ons tab and tick a box expansion.
From now, a bunch of new commands starting with $ should be available for this controller.
Originally, I din't have an Add Ons tab in my Controller Configuration at SRS2019.10.1. In that case contact your local Staubli technical support and ask for zip file with extension installer for your emulator. I didn't try yet, if I won't need to repeat the same installation in cells with different emulator version ( in my case different than s8.13.4-Cs9_BS2855)
Does any one have the same "welcoming page" to the new portal.staubli.com as I or I'm the lucky one to have that pleasure?
No you can't preview other programs during remote run.
The only way that I know is edit during play, but it's not very user friendly and very easy to do more damage then it is worthen. There is no option to leave Edit (play) without writing changes.
Save all files on an USB stick during production and read them offline is safest way... and more comfortable than read them on tinny screen.
the CIO file collected from robot has .PRM extension. according to KDiff3, this file is binary the same as one from the previous robot
My bad, the file I was talking about is CIOPRG.LST, not CIO.PRG (I corrected original post). It is text file with robots "PLC logic" and I/O mapping. Some time ago I prepared templates of that file and pasting it, along with IONAME.DAT, to the new robot and I/O mapping is done.
Q6 how is the IO mapping done on the robot side? Right now i have a cell that is duplicate of previous one. Robots talk to AB PLC over EthernetIP and while fieldbus is working, list of signals is not the same as on robots from previous cell. for example mode selection switch status used to be seen by PLC in the last three bits of byte0, now it is in byte4, job number is moved 2 bytes etc. of course we would like to see all cells use same mapping (and PLC program).
I suppose the EXTERNAL IO ALLOCATION on the Ethernet card doesn't correspond with Concurrent IO (CIOPRG.LST file).
Chapter 4.2 Setup Procedure of this manual Ethernet function manual describes setting up Ethernet card procedure in Maintenance Mode. (You may be asked by server to leave contact details, before it allows you to download/read pdf file)
Concurrent I/O manual is another one which explains how to modify CIO.PRG file to your needs.
btw. You double use Q10 number.
Yes, I (we) would execute a loop like this without timer.
Whoever wrote PC application left an error in it, missing CASE 0 or DEFAULT in this case is the error. I003 counter should be reset to 1, if the programmer decided to not use CASE 0 or DEFAULT. Although it is up to the person who does robot commissioning to find and fix these type of bugs.
Keyence IV series are just a vision sensors which gives you signal TRUE or FALSE. From robot's point of view it is the same as proxy switch. You need a software from Keyence to setup a condition when sensor returns True on its output. Because it is smarter device you may have multiple conditions and request sensor to change them almost on the fly, but at the end it will give you just TRUE or FALSE.
My friend, without proper training on Staubli robots from your local supplier don't even try to work on them, if you don't want to finish as nervous wreck. I just went through hard way, because the project manager who run a project with Staubli robots cancel my training without telling me that. The programming approach to these robots is completely different then "big 4" and your Fanuc experience will be even a disadvantage rather than an advantage.
This was the code I used but it showed invalid task name
Did you create sFilling global variable before you tried to use it? It should find it in Application's Data tab inside string variables branch.
2) Job's group set is not a robot, base, or station. Set to a non-group job.
Ok. The active program I open to check this command was the master program, standard, robot job but without any moves. I checked other program with moves and CNVRT is there.
I used convert few times, mostly to convert interruption position from pulse to different UF, but never used to change TL#
If you use Pvariables you can use the CNVRT command to change the tool inside the Pvariables.
we use this trick in the cobot series to use the correct tool with weight for not generating collisions.
I just discovered that CNVRT is missing from arith menu on one of my controllers. Interesting. I thought that it is one of default instructions on every controller.
Potis, how do you do tool change?
CNVRT PX000 PX000 TF TL#ToolNumber or CNVRT PX000 PX000 TL#ToolNumber ?
One of easiest way is to use Intereference Cubes and monitoring external outputs allocated to each cube. If your system is in master/slave configuration with one controller for both robots they share the same pool of cubes. If the setup is with two independent controllers you can do it with coupling device to connect cube inputs of one with corresponding outputs of the other ans vice versa.
Use of PLC, as Robodoc suggested, gives you an opportunity to use TCP tracking function which send tool coordinated to the output and PLC can track it in almost real time.
As one of my colleagues says: "It's many ways to skin the cat".
I'm asking for an advice how to do recovery routine "Staubli approved way".
At the moment I was going to do it the same way as I did it on ABB robot, by remembering a unique number for my last passed position and during recovery find it and step back number by number until the robot be at home. When I start typing these uniqie number I realized that Staubli robots run move instructions and other instructions separately and I need to use WaitEndMove, when I want to synchronize them.Code
My question is: In above example, will the controller update nRecoveryPos variable after robot robot actually pass the point or it will do it instantaneously even before robot pass the first point,
So before jSafePickTab will be reached the nRecoveryPos will be 10003 instead of 10001?
When you've installed the motosim there was a file "motosim egvrc delete".
Close the motosim, execute the file and open the motosim again
Thank you for suggestiion.
Solution: Run installation and choose the Repair option on the screen, were you are asked for choosing the type of installation you want.
Can you send your CMOS.bin, i can check in my Motosim software too.
I don't think it is related to CMOS, as I can't open any of my existing cells.
Last time, when I had this type of message, it was triggered by wrong settings CV-X Keyence camera. I followed the manual and there was a wrong value to type to the controller. This cause a LAN port to crash the whole system and reboot TP. But it was completely different scenario.
Have you tried to reboot the controller from within MotoSim?
Did Windows update occur recently?
Yes, I reboot few times to maintenance and online.
Windows 10 update history show at least two updates since I last used Motosim.