Bring Values and Sucesses To Our Customers

Home / Support and services / Technical Support

Technical support

Technical Support

EtherCAT Motion Controller on Palletizing Manipulator

In last article, we talked about “how to use EtherCAT motion controller for SCARA manipulator”. Then, today, mainly for palletizing manipulator.

Here, we mainly show you:

--one cost-effective & multi-axis EtherCAT motion controller XPLC104H8R--

--standard palletizing manipulator model--

--one routine example--

Hardware Introduction: EtherCAT Motion Controller & HMI

ZMOTION TECHNOLOGY

A. EtherCAT Motion Controller: XPLC104H8R

XPLC104H8R is one cost-effective & multi-axis EtherCAT + pulse motion controller, which has many communication interfaces, EtherCAT, EtherNET, RS232, CAN, U disk, etc.

1.png

For Zmotion motion control products, secondary development is needed. There are 2 methods, if you master PC programming languages (C#, C++, LabView, python, etc.), you can directly call our uniform encapsulated PC function library commands to control corresponding motions. If not, Zmotion provides 3 programmable methods in RTSys (Zmotion IDE development & debugging software), Basic, PLC, and HMI, and they can be used together.

2.png

XPLC104H8R, this motion controller supports 4 axes, if you need more, it also can be expanded to 32 axes.

a.        motion control resources

4-axis motion control, 32 INs & 32 OUTs, 2 ADs & 2 DAs, EtherCAT refresh period is 1ms.

b.       motion control functions

linear interpolation, any circular interpolation, helical interpolation, electronic cam, electronic gear, synchronous follow, etc.

c.        motion control applications

this controller belongs to economical type, but also can be used in electronic semi-conductor devices (detection equipment, assembly line equipment, locking equipment, soldering equipment), dispensing devices, non-standard devices, printing & package devices, textile & garment devices, medical equipment, etc.

3.png

PS: Motion Controller VS PCI Motion Control Card

--no need slot, more stable--

--can use MINI PC / ARM IPC, lower cost--

--be used as wiring board, less space--

--run program directly, only interact with PC, lower requirements on PC software--


B. HMI: ZHD400X

XPLC controllers support palletizing. It downloads edited program into controller (also can watch information by PC / send command in real time), then use HMI teaching to edit needed motion trajectory.

4.png

ZHD400X is one touch screen teach pendant that shows information by network. Teach pendant must be used together with the controller that supports ZHMI function, and you’d better to use latest version’s development software ZDevelop (RTSys).

5.png

Above shows ZHD400X, it has 18 keys, and emergency stop switch is built. The resolution is 800*480, showing in real colors.



Standard Palletzing Manipulator Model

ZMOTION TECHNOLOGY

FRAM1 -- Standard Palletzing

Palletzing Manipulator (Robotic Arm) supports 2-4 axes , that is, big joint axis + small joint axis [+ axis Z] [+ end rotary axis].

6.png

Here, this system uses standard 4-axis Palletzing manipulator, 2 joint axes X and Y, one up and down axis Z, and one terminal turntable axis R.


How to Use SCARA Robotic Arm

Step 1: Check Motor Turntable Direction

Define each joint axis’ forward should be consistent with "blue arrow" of below image.

7.png

*base turntable axis: no limit of angle / movement angle

*big / small joint-axis: limited by mechanical structure

*end turntable axis: no limit of angle / movement angle


Step 2: Determine the Axis Sequence (Manipulator Each Joint-Axis -- Controller Command Parameter)

Select each joint-axis axis No. and corresponding virtual-axis axis No.

--real robot joint-axis & define abbreviation--

big joint-axis motor = Axis_a

small joint-axis motor = Axis_b

end turntable axis = Axis_c

telescopic shaft up and down = Axis_d

--Cartesian coordinate system virtual axis & define abbreviation--

translation axis X = Viraxis_x

translation axis Y = Viraxis_y

turntable axis RZ = Viraxis_v

translation axis Z = Viraxis_z


Step 3: Set Mechanical Parameters in TABLE

While building the manipulator connection, it needs to fill in below mechanical parameters into TABLE array as order.

TABLE(tablenum,LargeX,LargeZ,PulesLargeOneCircle,L1,L2,Pules1OneCircle,Pul es2OneCircle,SmallX,SmallZ ,[PulesSmallOneCircle])

8.png

9.png

In below routine, fill in Frame required mechanical parameters starting from TABLE( 80002 ).

10.png


Step 4: Set Joint-Axis & Virtual-Axis Parameters

Please set correct axis types and UNITS (pulse amount) of each axis. For UNITS of virtual-axis, actually its is irrelevant with real sent pulses, which is used to set motion precision, generally, UNITS (pulses) in one mm is set as 1000, that is, the precision can reach 0.001. In addition, all manipulator axes should use same length unit, usually it is mm.

In this routine, it is set well, no need to set again.


Step 5: Confirm Manipulator Origin Position

Define big joint-axis origin position as big arm be vertical, and define small joint-axis origin position as small arm be horizontal. For Cartesian coordinate system, the origin position is base center.

11.png


Step 6: Build Robotic Arm Forward / Reverse Kinematics

A. Build Forward Kinematic

Select corresponding manipulator model at first, because different models correspond to own TABLE list. Then use command "CONNREFRAME" to build forward mode. Next, select the model's axis list. For command information, please refer to "ZBasic Programming Manual".

ELSEIF Roobat_Flag = 1 THEN  'build palletizing robotic arm forward              

BASE(gcAxisVx,gcAxisVy,gcAxisVz,gcAxisVu)'select axis list            

CONNREFRAME(3,MaDuoTableId,gcAxisJ1,gcAxisJ2,gcAxisJz,gcAxisJu)            WAIT LOADED  'wait for motion to be loaded

ENDIF  


After building successfully,  virtual-axis' MTYPE (current motion type) will be shown as 34, and at this time, only joint-axis can be operated in joint coordinate to adjust manipulator attitude. In addition, in "Manual" ("Tool" -- "Manual") interface in RTSys, we can select joint-axis No. (here, this article uses axis 0 (J0), axis 1(J1), axis 2(J2), axis 3(J3)), then, according to real needs, select "inch motion" / "point motion". And virtual-axis will automatically calculate the position of end work point in the Cartesian coordinate system.

12.png

13.png


B. Build Reverse Kinematic

Select corresponding manipulator model at first, because different models correspond to own TABLE list. Then use command "CONNFRAME" to build reverse mode. Next, select the model's axis list. For command information, please refer to "ZBasic Programming Manual".

ELSEIF Roobat_Flag = 1 THEN         

BASE(gcAxisJ1,gcAxisJ2,gcAxisJz,gcAxisJu) 'build palletizing robotic arm reverse            

CONNFRAME(3,MaDuoTableId,gcAxisVx,gcAxisVy,gcAxisVz,gcAxisVu)   'axis 6 / 7 as virtual axis X,Y, open the reverse kinematics

WAIT LOADED           'wait for the motion to be loaded, at this time, it will automatically virtual-axis position

ENDIF


After building successfully,  joint-axis' MTYPE (current motion type) will be shown as 33, "manual" operation method is same as above. At this time, for processing technology commands, only virtual-axis can be operated, then edited motion trajectory will move in Cartesian coordinate system (here, this article uses virtual axes, axis 6, axis 7, axis 8, axis 9), also, joint-axis will automatically calculate how to do joint motion in the joint coordinate system.

14.png

15.png



EtherCAT Motion Controller on SCARA Manipulator Example

ACADEMIC

PRESENTATIONS

Next, let's show one example for you.

As usual, use our own IDE debugging and development software, RTSys (ZDevelop). It supports Basic, HMI, and PLC hybrid programming. In this routine, combine Basic with HMI interface.

Below shows the routine Basic codes:

global sub zxc(canshu,canshu1) 'canshu0: 0 left on, 1 right on, canshu 1: 0 single-bus, 1 dual-bus.

      LOCAL n

      LOCAL A  'cycle times

      LOCAL B  'judgement condition

      LOCAL C  'cycle level

      LOCAL D  'how many packages

      IF gaOutInfo(16)<>-1 AND gaOutInfo(16) <100  THEN 'open gas capture

             OP(gaOutInfo(16),0)          

      ENDIF                  

      LOCAL xunhuan

      for i = 2000 to 2010 STEP 2                          'clear table register initial data

             TABLE(i) = 0

      next
full codes, please contact us.

CODE 3.png

Then, download it into controller for running. And click RTSys "Tool" -- "Plug-in" -- "XPLC SCREEN".

16.png

When HMI interface appears, click "menu" button, select structure parameter, and enter the password, or directly press "F3" button on the ZHD400X, also enter the password. Next, select corresponding robotic arm model and configure corresponding structural parameters.

17.png

After that, click "axis parameter" to do axis parameters configuration.

18.png

Return to main interface through "main" button, and click "menu" -- "manual", or click "F6" button in the ZHD400X to call manual interface. Then, switch forward and reverse kinematics, and operate corresponding axis to do motion.

19.png

At the same time, you can use our Zmotion robotic arm simulation tool. Open ZRobotView software, and click connect through controller IP (default its 192.168.0.11). After connected, click switch, then you can enter 3D simulation.

20.png

21.png

22.png




ABOUT ZMOTION

That's all, thank you for your reading -- EtherCAT Motion Controller on Palletizing Manipulator

For more information, please pay close attention to "Support"  and   "Download" , and there are other platforms about Zmotion - Youtube   &   LinkedIn   &   Twitter    &   Tiktok    &   Facebook including technical information (development environment, routine code), product showing, company development, etc.

Hope to meet you, talk with you and be friends with you.  Welcome!

This article is edited by ZMOTION, here, share with you, let's learn together.

Have a good day, best wishes, see you next time.

Copyright © 2013-2024 Shenzhen Zmotion Technology Co.,Ltd Design by Zmotion    粤ICP备13037187号 Motion Controller-Motion Control Card

Contact Us-Youtube