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.
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.
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.
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.
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).
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].
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.
*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])
In below routine, fill in Frame required mechanical parameters starting from TABLE( 80002 ).
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.
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.
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.
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.
Then, download it into controller for running. And click RTSys "Tool" -- "Plug-in" -- "XPLC SCREEN".
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.
After that, click "axis parameter" to do axis parameters configuration.
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.
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.
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.