Overview

Protocols

TCP Server

Mech-Center provides a TCP Server (default port 50000) as an external service interface that supports the transfer of ASCII and HEX data.

Siemens PLC Client

To communicate with Siemens S7 series PLC, Mech-Center provides a PLC Client (default DB address: 10) based on Snap7 protocol as a communication interface.

PROFINET

For communication using the PROFINET industrial bus, the conditions that need to be met include:

  • The industrial computer or host supports the installation of standard PCI-e cards.

  • HMS INpact 40 PIR card and Ixxat VCI driver software have been installed.

  • Mech-Center 1.5 or above has been installed.

  • Use the PROFINET General Station Description (GSD) file provided by Mech-Center.

  • PROFINET communication is in the standard big-endian data format. The data contains 32-bit DINT pose data, and the PROFINET master station (especially the robot controller) needs to support 32-bit integer sending and receiving.

EtherNet/IP

Mech-Center can be used as an EtherNet/IP slave station to connect to the EtherNet/IP industrial network.

To communicate using the EtherNet/IP industrial bus, the conditions include:

  • The industrial computer or host supports the installation of standard PCI-e cards.

  • HMS INpact 40 PIR card and Ixxat VCI driver software have been installed.

  • Mech-Center 1.5 or above has been installed.

  • Use the EtherNet/IP Station Description (GSD) file provided by Mech-Center.

  • EtherNet/IP communication is in the standard big-endian data format. The data contain 32-bit DINT pose data, and the EtherNet/IP master station (especially the robot controller) needs to support 32-bit integer sending and receiving.

Modbus TCP Slave

Mech-Center can be used as a slave device software, providing the standard interface option Modbus TCP Slave for data communication with the master device. This function requires installing Mech-Center 1.6.1 or above.

Introduction to Commands

Mech-Vision

101: Start Mech-Vision Project

For scenarios using only Mech-Vision but not Mech-Viz. This command is for starting the running of the corresponding Mech-Vision project for image acquisition and vision data processing.

102: Get Vision Target(s)

For scenarios using only Mech-Vision but not Mech-Viz. This command is for reading the vision recognition results, i.e., target object pick points.

103: Switch Mech-Vision Recipe

This command switches between the saved parameter recipes in Mech-Vision. Multiple parameter recipes are for recognizing different target objects. Parameters involved include recognition models, deep learning model files, etc.

110: Get Custom Output Data from Mech-Vision

This command is for receiving data from Step “Procedure Out” in Mech-Vision when the data types to output are customized (the parameter “Port Type” is set to “Dynamic”). Executing this command once only fetches one pose and its corresponding labels, scores, etc. (if any) from the vision result. If expecting to receive multiple poses, please execute this command multiple times.

Mech-Viz

201: Start Mech-Viz Project

For scenarios using both Mech-Vision and Mech-Viz. This command starts the Mech-Viz project with the corresponding Mech-Vision project to plan the robot motion path.

202: Stop Mech-Viz Project

This command is for manually terminating the running of Mech-Viz.

203: Select Mech-Viz Branch

This command is for controlling the branch_by_msg Task (if there is one) in the Mech-Viz project to let the project run along the specified exit port.

204: Set Move Index

Set the index parameter of the move-type Tasks in the Mech-Viz project. The move-type Tasks that contain index parameters include move_list, move_grid.

205: Get Planned Path

This command obtains the robot path planned by the Mech-Viz project.

206: Get DO Signal List

This command gets the DO list, i.e., the list of array gripper (or suction cup section) control signals calculated by Mech-Viz, when using multiple suction cup sections for picking multiple objects at a time.

207: Get Mech-Viz Task Parameter

This command reads the values of specified parameters of specified Tasks. Please specify which parameters of which Tasks to read in Property Config under Deployment Settings -> Mech-Interface -> Advanced Settings.

208: Set Mech-Viz Task Parameter

This command sets the values of specified parameters of specified Tasks. Please specify what values and which parameters of which Tasks to set in Property Config under Deployment Settings -> Mech-Interface -> Advanced Settings.

210: Get Move Target with Vision Planning Result

This command is for getting a single planned target from Mech-Viz. The target may be a target for a visual_move Task, or a target for one of other move-type Tasks. A target may contain pose, velocity, gripper info, object info, etc.

Others

501: Input Object Dimensions to Mech-Vision

Input object dimensions, i.e., length, width, and height of boxes, to set the 3D object dimensions in the Mech-Vision project through Step Read Object Dimensions.

502: Input TCP to Mech-Viz

Set a dynamically changing target in the Mech-Viz project through the outer_move Task in the project.

601: Notify

This command does not need to be initiated by the user. It will be executed when the Mech-Vision/Mech-Viz project raises a notification message by a Notify Step/Task.

701: Calibration

For hand-eye calibration for cameras. This command obtains the calibration points and triggers the camera to take pictures, thus completing the calibration. The calibration points are from Mech-Vision.

901: Get Software Status

Get the status of Mech-Mind Software Suite for checking the project status.

Note

Unified data units are required for communication:

  • The unit of joint angle and Euler angle is degree (°).

  • The unit of XYZ coordinates in the flange pose (pose) is mm.

Mech-Center Service Settings

TCP Server

The interface service is disabled by default. To enable the interface service, please click on Deployment Settings ‣ Mech-Interface ‣ Use Mech-Interface ‣ Standard Interface.

For using external services on the TCP server, please set the IP port according to your actual needs, the default port is 50000.

For TCP Server, please select the data type as ASCII or HEX. For HEX, please select between big-endian and little-endian.

../../../../_images/ascii_hex.png

Siemens PLC Client

For Siemens PLC Client, please set the PLC IP, slot number, and DB number. The default slot number is 0, and the default DB number is 10.

../../../../_images/siemens_plc_client.png

PROFINET

For PROFINET, the default board IP is 0.0.0.0, and the configuration can be made in the Siemens PLC programming software or HMS IPconfig.

../../../../_images/profinet.png

EtherNet/IP

For EtherNet/IP, the default board IP is 0.0.0.0, and the configuration can be made in HMS IPconfig.

../../../../_images/ethernetip.png

TCP/IP Socket Communication

Communication Settings

  • Set the IP addresses of the robot and IPC to be in the same subnet. Command line ping xxx.xxx.xxx.xxx (the x’s are the fields for the IP address) can be used to test whether the network is connected.

  • Open the Deployment Settings window in Mech-Center, select Mech-Interface in the left panel, and check Enable Mech-Interface.

  • Select Standard Interface for Interface Service Type.

  • For Interface Options, select TCP Server, and select ASCII or HEX according to what format the client program supports.

  • Select the model of the robot that needs communication. The supported robot models are listed in the options. If the robot model used is not listed, please select Custom robot and set the Euler angle format of the robot.

  • Set the port for TCP. Default: 50000.

  • Advanced settings:

    • Set the max number of poses that can be transmitted each time. Default: 20. The reason is that the length of data that can be transmitted each time is limited.

    • Set the timeout period of receiving data from Mech-Viz. The default timeout period is 10 seconds. Mech-Viz needs some time for computing before outputting the data.

    • Set the timeout period of receiving data from Mech-Vision. The default timeout period is 10 seconds. Mech-Vision needs some time for computing before outputting the data.

  • Click on Save to save the settings.

Example Programs

For instructions on using the example programs of the Standard Interface, please see Standard Interface.