Siemens S7-1214C and MG400 communication


#1

Hello everyone,
I got this MG400 Dobot and I’m programming a small automated rod feeder for a sorting machine. I was able to create a small script to test the functions of the robot and I/O signal exchange with the PLC (robot step trigger, robot in motion etc.). But to be able to control the robot from the S7-12xx PLC reliably, I would like to ask a couple of questions:

  1. How do I catch internal events in the Dobot - for example alarms, robot readiness status, robot function enabling etc? I want these events project to and from PLC (so that the PLC knows the real status of the robot and can react to it).
  2. How do I quit a Dobot alarm from PLC? Is there any system variable in Dobot that I can reset to quit the alarm?
  3. Is there any native support from Dobot for Siemens S7 PLC (like communication libraries and functions, GSD driver files etc.)?
  4. How do I make a blockly/script started automatically after the robot boot?
    Thanks a lot for your tips.

#2

I reply here to myself:

Ad 1: Using the Siemens Modbus over TCP (MB Client: MB_MODE = 102, MB_DATA_ADDR = 0, MB_DATA_LEN 5, MB_DATA_PTR = Array[0…4] of bool). These bits are the status bits of the robot (0 - 4).

Ad 2: Using the Siemens Modbus over TCP (MB Client: MB_MODE = 115, MB_DATA_ADDR = 0, MB_DATA_LEN 6, MB_DATA_PTR = Array[0…5] of bool). These bits are the control bits of the robot (0 - 5). Setting the bit 5 quits the alarm.

Ad 3: I haven’t found any. Using standard MB_CLIENT, MB_Server is good enough.

Ad 4: Selecting Remote Control -> RemoteModbus -> selecting the script / blockly diagram makes it to be run automatically after setting the robot into the Running state.


#3

Hello CzechDave,

I was doing the same thing. Through a Siemens PLC (1500) I wanted to get information and control some actions of the PLC. I am using also the MB_CLIENT of TIA PORTAL. However, I can neither receive information from the robot nor send signals to it.

In the past, I have connected through an external Profinet-Modbus gateway, acting on the addresses and being able to remotely activate the selected program.

If it has worked for you with that configuration I would be very grateful to see your project. Thank you very much and best regards.


#4

Hello,
try to check the Modbus ID for each connection - it should not be the same. The ID is in the MB_Client config DB -> stCONNECT_CFG -> ID.
I was fighting with it a lot too, before I found out that two different connections had the same ID. The robot must be set into Remote Modbus mode and there must be a Blockly or Lua script running so that the robot can even communicate with the PLC.


#5

Thank you very much for your reply CzechDave. It finally worked and without changing anything. Maybe it was because of connection. I also made a connection with this Modbus module for a UR and I have noticed that the “MB_MODE” and THE “MB_DATA_PTR” are very important.

If you need anything you can contact us through our youtube channel (REBOTS) and we will be happy to help you.

Best Regards,


#6

do you have a plc drive that can send commands to dobot mg400 can i have one please thanks


#7

Hi,

there is no dedicated PLC driver for the Dobot control. You can use either TCP/IP libraries (T_SEND, T_RCV and related blocks) or Modbus/TCP blocks (MB_Client and MB_Server). These are available in the PLC by default.

Note to the DOBOT R&D team: it would be cool from you to develop a TIA Portal Technology Object representing the Dobot including all the necessary configurations. That would make our lifes easier :).


#8

Hello,

From a Siemens PLC I have controled the CR models through Modbus TCP/IP which already have the Modbus function blocks on Siemens.

Regards,

https://www.eurobots.net/cobots-en.html


#9

Hello,
agree, ModBUS works quite well.