Posts by Galet


    The usrapp is inside the USR folder.



    There's 2 "configs" folders. One in USR, other in SYS, with similiar files, despite different values for configurations. Which one is the correct one?

    The file is \usr\configs\arm.old or \usr\configs\arm.xxxx.cfx (where xxxx is the robot's serial number).

    Edit the file and control the "OrderNumber"

    +1 for EIEsgalho : To have a recent backup is a very good idea ! :)


    In the folder "Usrapp", you find only the applications. The file where the controller memorize the calibration datas is in the folder "Configs". It's the reason why, in the backup, the controller save 3 folders (Sys = System (Configuration)), UsrApp(applications), and Log (Logger).

    The IO confgurations are also in Configs.

    You can directly, on the robot, modifie all the datas (notably the points), if a pendant is connected to the controller.

    What type of controller do you have ?

    Best regards


    When you make a backup (on the pendant or with SRS), You save /UsrApp (all the applications) + the folder /Config (all the configurations files) + the log folder.

    If all the points are wrong after a crash, i'ts probably a geometry problem : The robot was not good calibrated at the learning point step, or now, the robot need to be calibrated...or perhaps the both !

    Other causes :

    - Your tool is wrong

    - You backup is too old.

    Best regards,


    Tried it... got completely lost... can you explain me how can I import a backup?

    - Create you empty cell (witout robot)

    - Add new robot / Existing Local Robot

    - Select the Backup directory (The father of the directory Date/hour...)

    - Normaly, the widows need to show you all the backuo directory (Date, Hour...)

    - Select your directory

    - then Next/Finish

    If you can't select the directory, you need to install, on SRS, the SRC emulator (The SRS is writing...)

    That's all...

    In the cell (and in the backup) your applications are in usr/usrApp...


    SRS is update every arround 2 months (free) and every 3 years (not free)

    I'm agree with mR.PCX it's actually the best tool to simulate a robot installation...after RobotStudio, but very far before Kuka Sim and If you work with's an other world.


    Hello EIEsgalho,

    Without any licence, SRS2022 working and is stable.

    The 3D engine is changing (Use now Directx). In simulation mode, I found some crash but not often (I hope it's some "youth" problems).

    To program, no problem.

    Between 2019 and 2022 the big new functionnality is the new safety configuration tool.

    To download it, I think you need to have and account (technical data).

    If you have a good price and work on Stäubli robots, I advise to buy it :) and win many times. (The solution to use Filezilla and Notepad++ is Ok but lose safety and time)...

    Have a nice new year...


    There are 2 different account. The first one to access to the general documentation, the second one to access to the maintenance documentation like spare parts lists.

    All wrists are not similar.

    Best regards


    ERR70 :Invalid instruction parameter. See the corresponding instruction.

    In manuel mode, it is possible to select the Frame, and the Tool, and learn the point ?

    If it's Ok, can you show us the program (2 or 3 lines before and after this line) ?

    Control the message in the logger.

    Best regards,



    Your line is correct if

    pActualTcp is a PointRx (6axes robot) or a PontRs (4axes robot)

    tTaladrato is a Tool

    and fDrilling is a frame.

    But here() return a cartesian position, not the actual Tcp (tool)

    What the error message ?

    Best regards,


    Modbus TCP is different with all PLC, and some type are not possible with someone.

    Perhaps the solution is to multiply the value to transfer an integer.

    An example on CS8 with one Float Input and one Float Output :

    <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
        <TOPIC Name="Modbus" Card="0" Channel="0" Equipment="0" RefreshPeriod="200" Actif="1">
            <MODULE Tag_name_root="Bit" IDModule="BOOLEAN" InputSize="" OutputSize="0">
            <MODULE Tag_name_root="Word" IDModule="WORD" InputSize="" OutputSize="64">
                <ITEM Name="MbInputFloat" Syntaxe="%QF0" Offset="0"/><ITEM Name="MbOutputFloat" Syntaxe="%IF2" Offset="2"/></MODULE>
        <GENERAL_PARAMETERS TopicName="Modbus" TCP_Port="502" ConnectionNumber="2"/>

    and the .dtx file for the datas :


    You need SRS to configure the robot fieldbus.

    You can edit the configuration of the board with Sycon and change the repartition between all the signals (change each 64 bytes modules from Bytes to Signed32).

    Be careful because Sycon is always looking from Master part.

    After change, you can create the new Gsdml file.



    To read the current TCP position :

    pActual=here(tTool,fFrame) where pActual is a PointRx, tTool the your Tcp and fFrame the target frame.

    To send the position, you need to add analogic board on the Ethercat module, declare it on J206 configuration, declare aio variable, and write the value :

    nValue=aioSet(aoXVal,pActual.trsf.x), where nValue is a result num, aoXVal an aio.

    To be sure that the value is correct (in range of the aio) you can control that nValue is egal to pActual.trsf.x).

    It's difficult to analyze the application direct on the controller.

    You can make a backup (on Usb Key) to read the files with an editor but the best way is to install SRS. Without any license, you can read all the programs and find variable...

    Without SRS, the definition of all the global variables are in the file NameOfApplication.dtx (in the folder Usr/UsrApp/NameOfApplication/). It's Xml file type so, you can read it with Excel (if you have it)...

    It's difficult to give you all the information without all the programs.


    For example, the principal program only calls G7_Chg_Cint if io:E_Chg_Cint==true or DioGet(io:G7_Chg_Cint) != 1



    Since the program hasn’t been called yet, io:G7_Chg_Cint=1 (right?)

    Not sure.

    In your example program (G7_Chg_Cint_A), the grafcet Step variable is "io:G7_Chg_Cint_A" (probably an array of digital output because the program read and write this variable). In the picture, we don't see the initialization of this variable. Without reset, the output keep the last value. Necessary the program need to initialize it somewhere...


    Where does the io:E_Chg_Cint come from? I thought it came from the plc because I can’t find it anywhere on the robot

    Probably from the PLC...or direct from the machine.

    Some question to help you :

    Do you have the SRS (Stäubli Robotic Suite) ?

    Witch version is installed on your CS8 (Menu / Control Panel / Version / System on SP1) ?

    Witch type of IO use you controller (Menu / Control Panel / IO) ?


    Plc send order on Digital inputs :

    - io:E_Dech_Ader

    - io:E_Dec_Der ...

    The principal program call different subprogram for each task.

    All the subprogram are build on Grafcet structure (typical Switch Case...)

    The active Step is contain in output group like io:G7_Chg_Cint__A.

    In each step, the Jump to another step is programmed with DioGet(StepVariable,NextStep)

    It's very special (to use Output group to memorize the active Step) but I think it's to inform, in real time, the Plc


    Yeah the issue with not giving out any sort of service manuals is frustrating. They sent me their "manuals" last week but they really don't offer much help or guidance.

    If I had the option I would replace these Staubli robots immediately.

    Bigger problem is that the company that built this piece of automation is no long in business so we have ZERO support and things are starting to fail more frequently.

    Service and help are very important in the choise of company and material !!

    Can you give us more information about your geographic location ?