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 .
- 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 .
- 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
.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.
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.
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.
EtherNet/IP¶
For EtherNet/IP, the default board IP is 0.0.0.0, and the configuration can be made in HMS IPconfig.
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.