RobotStudio event

Socket Messaging from robot to PLC

Options

Hello all,

Is it possible to use the TCP/IP Socket communication (SocketSend, SocketRecieve, etc.) commands to send data from a Siemens PLC to a IRB340 flexpicker. Currently i am able to do sockets between rapid and c#. when i try to add a Siemens PLC as a master for my system communication, it is not possible. Do i need a GSD  file in order to have a successful communication between the ABB robot and a Siemens PLC?
 Is it even possible to receive socket messages on a PLC? 
To code my program in the Siemens PLC, i based myself on the tutorial on the Siemens forum.

If anyone has experience with communication between a PLC and ABB robots, all help is appreciated. If i posted in wrong section my apologies in advance :)

thanks,

Kenny

kenny_boudenoodt2013-02-28 21:33:17

Comments

  • Henrik Berlin
    Options
    Moved to RobotWare.

    Henrik Berlin
    ABB
  • osku
    osku ✭✭
    Options
    Hi

    Usually the connection between a robot and a PLC is made by using some fieldbus, for example Profibus or DeviceNet. The GSD file is needed when building up the Profibus fieldbus (EDS file for DeviceNet). This way the communication between the robot and the PLC is made by I/O based signals (digital out/in, analog out/in, binary group out/in).

    TCP/IP sockets are basically character based messages and shouldn't need any specific configuration files (at least on robot side). Did you have problems when opening the connection or when sending/receiving the messages? If the connection opens without errors but you can't receive any messages, then I suggest that you check the settings for carriage return and line feed characters. The messages won't go thru if the PLC waits for carriage return and line feed characters at the end of each message but the robot won't send them. In rapid you can add these characters for example like this:

    SocketSend socketTestStr:=sMessage+"DA";

    -Osku
  • AlexK
    AlexK ✭✭
    Options


    We used Socket messaging to send vision data from a Siemens PLC to a IRC5 robot and then back to the Siemens PLCA'but I only programmed the Robot so I have no idea how it was done in at the PLC end, but I do know that it is possible, so might be an idea to turn to Siemens for extra help. I know that there ware a lot of issues before we got it working. I'll see if I can get some more info of the PLC end
    Best regards
    Alexander Källberg
  • Yes i contacted Siemens and for some reason "NetPro" is not available for ABB robots. So that explains why i was unable to have a succesful communication betweem my plc and the robot.
    I added the mail from Siemens in case somebody else has the same problem.

    The TCP and ISO-on-TCP communication over the integratet interfaces of a PN CPU requires the FB63 - 66 "TSEND - TDISCON" blocks located in the Standard Library -> Communication Blocks. The associated connection has to be set up with an individual data block according the UDT65 ?_oTCON_PAR?__ by means of the user. The STEP7/NetPro application does not support setting up that type of connections.

    For the UDP datagram service (connectionless) the FB67 - 68 "TUSEND - TURCV" function blocks are required. The UDP interface supports no multicast services. However, broadcast to the host addresses are possible. If you have configured a class C network, that means the subnet mask 255.255.255.0, the broadcast address will be 192.84.37.255!

    We recommend using for CPU31x-2 PN/DP, CPU319-3PN/DP, IM151-8 PN/DP or even CPU41x-3PN/DP the ?_zOpen Communication Wizard?_o nor setting up any connection DB by means of the UDT65. 
    Wizard for creating connection data for open TCP/IP communication (Open Communication Wizard):
    http://support.automation.siemens.com/WW/view/en/25209116

    Documentation
    Generating the Connection Data for the open TCP/IP Communication using the Open
    Communication Wizard.
    http://support.automation.siemens.com/WW/llisapi.dll/csfetch/25209116/25209116_OC_Wizard_DOKU_V233_en.pdf?func=cslib.csFetch&nodeid=57199889

    The samples supporting TCP, UDP and ISO-on-TCP services for a single instance. You may copy that function blocks (FBs) providing a new instance with another connection ID and individual parameters.

    Please have a look under the following link:
    1.)How do you program the communication blocks FB63 "TSEND", FB64 "TRCV", FB65 "TCON" and FB66 "TDISCON" in order to use the ISO-on-TCP protocol for data exchange via the integrated Industrial Ethernet interface of an S7-300 or S7-400 CPU or via the CP443-1 Adv? 
    http://support.automation.siemens.com/WW/view/en/29737976
    http://support.automation.siemens.com/WW/view/en/32048373

    2) How is a TCP connection programmed for open communication via Industrial Ethernet?
    http://support.automation.siemens.com/WW/view/en/29737950
  • AlexK
    AlexK ✭✭
    Options



    The CPU we used for tcp communication with ABB IRC5 controller was a "CPU 315F-2 PN/DP" the PLC and Robot TCP communication through socketmessaging is live at a customer so it is indeed possible. The blocks used for this communication is FB63 "TSEND" - FB66 "TDISCON".
     
    NetPro is part of Step7 and not something that is needed on the IRC5 controller, all you need that i remember is a network with the robot (need to set the IP of the robot) and the PLC on the same subnet. Unless they have changed something since 2008.
    AlexK2013-03-12 11:02:49
    Best regards
    Alexander Källberg