RobotStudio event

PLC <--> robotstudio simulation

Options
Hello,

As stated in a other discussion i'm a newbie in the world of ABB robotics and robotstudio.
The concepts are very familiar to me, i only have to learn, how to work with the programs and infrastructure.

For a customers robotcell a combination of siemens PLC (master) and robotstudio (rapid)(slave) is used.
I was wondering is it in some way possible to simulate both product virtually to indetify any problems in software and interface.
This means simulating the PLC on the computer in combination with the robotstudio simulation.

if not already implemented the only way i could imagine is to create a addin module which connects both interfaces together?

any ideas regarding this challange ?

kind regards,
Peter


Comments

  • pwpeter
    Options
    thx i will look into it
  • DantasR
    Options
    Hello Peter, I am also a new Robotstudio user, and I am trying to performe the same thing as you, simulate a Siemens PLC (I have the real PLC) together with robotstudio.
    So far I found out in previous discussions an OPC smart component that should help doing it, but so far I didn't manage to make it work.
    If you find a solution, please share it in here and I will do the same.
    Thanks in advance!
  • Pavel Riabichev
    edited January 2016
    Options
    Hello DantasR

    Your PLC can only communicate with the virtual controller through OPC, further you can connect I/Os from v.controller to SmartComponents. I don't think you connect a PLC signal directly to a SmartComponents.

    /Pavel
  • DantasR
    DantasR
    edited January 2016
    Options
    Hello Pavel,
    Yes, that's right, I was not really clear before.
    I installed also the IRC5 OPC server you posted above, which I used to communicate with the OPC smart component, and now I got communication between both.  I was facing a problem before because the OPC smart component I found here in the forum was actually developed for an older version of Robostudio.
    Thanks!

    Post edited by DantasR on
  • DenisFR
    Options
    Hello,
    For information, I've developed a smart component able to connect RS to PLC (Real or PLCSim) by Profinet using Snap7 library.
    This code is open:
    https://github.com/DenisFR/RSConnectDIOToSnap7
    https://github.com/DenisFR/RSConnectGIOToSnap7

  • Hello Denis
    You should upload it to RobotApps
    https://robotapps.robotstudio.com/
    /Pavel
  • Dnnsdgrt
    Options
    Hello,
    I am currently trying to create a system which consists of a virtual PLC(TIA Portal, PLCsim), a virtual robot controller and the 3D models(RobotStudio).
    I have used NetToPLCsim to create a connection between the smart component(RSConnectDIOToSnap7) and PLCsim. when i press connect, the smart componented says it's connected and it stays connected during the simulation of my rapid program. but when i try to add a DI or a DO and then run the simulation i disconnects immediately saying:
    WW: RSConnectDIOToSnap7 error: ISO : Invalid PDU received

    Perhaps i'm entering the wrong synstax for the address?
  • ErikHagman
    Options
    Hi!

    We have tried to use the "RSConnectGIOToSnap7" as connection between Robotstudio and Siemens PLC Sim Advanced. The connection is working without problem but the simulation gets really slow. Is there a solution for the slow simulation?

    /Erik
  • DenisFR
    DenisFR ✭✭✭
    Options
    Hello,
    @Dnnsdgrt: RSConnectXIOToSnap7 use Snap7 to connect PLC.
    You can search in internet for this error.
    I found this one:
    Where they wrote:

    Particularly to access a DB in S71500 some additional setting plc-side are needed.

    1. Only global DBs can be accessed.
    2. The optimized block access must be turned off.
    3. The access level must be “full” and the “connection mechanism” must allow GET/PUT.
    Else, I know that I check address with german typo (A & E). I'll change it when I've got time.

    @ErikHagman: At each OnSimulationStep the SmartComponent read data in same thread. This is not multi threaded. I don't know how to do that.



  • ErikHagman
    Options
    it seems one of the reasons we had that the simulation run slow was that we communicated with the PLC over VPN. Without VPN the simulation runned smother.
    /Erik
  • MrRoboto84
    Options
    Hey Everyone. I am using RSConnectGIOtoSnap7 to make a communication between Robotstudio and PLC. Is it possible so send numbers higher then a byte (higher then 256) to the PLC. I am not able to read a number higher then 256 or negative numbers. Otherwise if it is not possible, is there a function in Rapid to cut a number into bytes?
    Thanks in advanced.
  • Paba
    Options
    I think you have to convert your number into binary signals and then send an array of boolean? but idk if there's a function in RAPID to get it easily done..

    I've another question by the way, is it (now) possible to connect virtual irc5 and real plc (s7-1500) by PN without using OPC or smart components?
    seems like conifguring the ProfiNet with station name, ip and I/O's isn't enough..
  • DenisFR
    DenisFR ✭✭✭
    Options
    @MrRoboto84 : You have to split your GO to byte then connect them to smart component.
    Values are unsigned integers, so you can add positive values to data exchanged, like 32678 if 16bits values.
  • MrRoboto84
    Options
    DenisFR said:
    @MrRoboto84 : You have to split your GO to byte then connect them to smart component.
    Values are unsigned integers, so you can add positive values to data exchanged, like 32678 if 16bits values.
    Ok thank you.
    What I am doining now is to add a 32bit AO to the robot control for example to bit 0-31. Then I add 4 8bit GO that are only readable to the same 32bit array, GO1 (bit 0-7) GO2 (bit 8-15) etc. .Than I connect the bytes to the RSConnect SmartComponent. When I set the AO to a negative number it is also interpretet as a negative number by the PLC.
    So it is a bit of work, but it works fine.

  • MrRoboto84
    Options
    @DenisFR : I have a further question. Is there a fast way to do my mapping from the RSConnect Component to my Robot controller in Robotstudio? Right now I have 80 DI and 80 DO on my Robot controller. On my PLC these Outputs and Inputs are in diffrent adress sections. So I need  to go to Signals and Bindings. Source Objekt: Robot Controller
    , than search for the signal (signals are not in Order by name). Target object: RSConnect, and than compare the Input name with my PLC Adress (For example PLC Adress is I1.4 but in the RSConnect it is DO_25 ).
    Is it possible to do this mapping in a diffrent way like using a .cfg file or something else?
    Thank you for your help.
  • DenisFR
    DenisFR ✭✭✭
    Options
    Hello,
    For the moment, now.
    But this is a good improvement.
    I'll see to add this when I've got time...
    Or you can make a pull request. ;)
  • MrRoboto84
    Options
    DenisFR said:
    Hello,
    For the moment, now.
    But this is a good improvement.
    I'll see to add this when I've got time...
    Or you can make a pull request. ;)
    Thanks Denis.
    Another short question. I have problems using the RSConnectDIO with more than 20 DI Numbers (Number of DO doesent matter). I get the message "WW: RSConnectDIOToSnap7 error: CLI : invalid param(s) supplied"
    Is that right, that more than 20 DI is not possible? To do a work around is it possible to load more than one RSConnectDIO to my Station logic?
    Thank you

  • DenisFR
    DenisFR ✭✭✭
    Options
    Hello,
    Yes, because I use S7MultiVar from sharp7 and as said in this discussion:
    It is limited at 20 variables.
    I should add a limit at the Smart Component's Property.
    You can add an other RSConnectDIO to make it works.
  • MrRoboto84
    Options
    Good Morning,
    regarding to a faster way to connect my signals to the RSConnect, there is an import and export funktion for .rsxml files in the station logic. I will give it a try and do my connections in an .rsxml file. If it works it will help me a lot.