Home
User Manual - OEM International AB
Contents
1. Technosoft 2007 ReadStatus MC_ReadStatus BOOL EN BOOL Enable INT AxisID WORD ErrorlD BOOL ErrorStop BOOL Disabled BOOL Stopping BOOL Standstill BOOL DiscreteMotion BOOL ContinuousMot ion BOOL Synchronized Motion BOOL Homing 109 Done AxisinErrorSt AxisDisabled AxisisStopping AxisinStand AxisinDiscret AxisinContin A amp xisinSynch A amp xisinHoming TML_LIB_CJ1 User Manual 3 6 36 TS_SetGroupID Symbol TS_SetGrouplD Parameter description Parameter Data type Description EN Enable function block execution Execute On rising edge the configuration command is sent Set Set the GrouplD of the axis Input Add_ Add the GrouplD to the axis Remove Remove the GrouplD from the selected axis GrouplD The value of GrouplD used by the selected operation AxisID Axis information ENO Status of function block execution Done The position read successfully Bus Output Is set if an error has occurred in the execution of the function block ErrorlD Information about the error occurred Error Description The function block changes the group ID of the drive motor with AxisID Each drive motor can be programmed to be member of one or several of the 8 possible groups The group ID of an axis can have any value between 1 and 255 For example if the group ID is 11 1011b this means tha
2. Acceleration Acceleration rate expressed in TML acceleration internal units ControlWord Selects the block options AxisID ENO Axis ID of the drive motor where the commands are sent Status of function block execution InVelocity Signal that commanded velocity reached CommandAborted The function block is aborted by another motion function block Busy The function block is waiting for velocity to reach the target speed command Error Signal if an error has occurred in the execution of the function block or an error message was received from the drive ErrorlD Information about the error occurred Description The function block commands a trapezoidal speed profile At the rising edge of the Execute input the motion command is sent and the output Busy is set The axis is transferred to ContinuousMotion state When the jog speed is reached the InVelocity output is set and Busy is reset The CommandAborted is set if another function block starts sending motion commands If a drive s motion error register information is received during the execution of the function block the output Error is set and its value is passed to ErrorlD All outputs remain set until Execute input is reset but at least for one block call Technosoft 2007 38 TML_LIB_CJ1 User Manual During motion execution the axis is transferred to ContinuousMotion state and keeps the state until another m
3. ue EC HNOSOFT Motion Control Library for OMRON CuJ1 Series Technosoft 2007 TECHNOSOFT TML_LIB User Manual P091 040 CJ1 UM 1007 Technosoft S A Rue de Buchaux 38 CH 2022 BEVAIX Switzerland Tel 41 0 32 732 5500 Fax 41 0 32 732 5504 contact technosoftmotion com www technosoftmotion com Read This First Whilst Technosoft believes that the information and guidance given in this manual is correct all parties must rely upon their own skill and judgment when making use of it Technosoft does not assume any liability to anyone for any loss or damage caused by any error or omission in the work whether such error or omission is the result of negligence or any other cause Any and all such liability is disclaimed All rights reserved No part or parts of this document may be reproduced or transmitted in any form or by any means electrical or mechanical including photocopying recording or by any information retrieval system without permission in writing from Technosoft S A About This Manual This book describes the motion library TML_LIB_CJ1 TML_LIB CJ1 is a IEC61131 3 compatible collection of motion function blocks which can be integrated in a CX Programmer application for the OMRON SYSMAC CJ PLC series With TML_LIB_CJ1 motion library you can quickly program the desired motion and control the Technosoft intelligent drives and motors with the drive integrated in the motor case from an OMRON SYSMAC CJ1 PLC
4. 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 The master send its position to the drive motor with axis ID read from Slave input The master send its position to drives motors members of group ID read from Slave input Technosoft 2007 82 TML_LIB_CJ1 User Manual Example P_On Always ON Flag Set 81000 0028 amp 4 EN Technosoft 2007 TS_SetMaster 83 BOOL ENO BOOL Done BOOL Busy BOOL Error YORD ErrorlD Done Busy Configure drive motor with AxisID 4 as master in electronic camming and enable the synchronization procedure The master will send a synchronization message every 1s 1000 slow loop samplings SetMaster TML_LIB_CJ1 User Manual 3 6 22 TS_MotionSuperposition Symbol TS_MotionSuperposition Parameters description Parameter Data type Description EN Enable function execution Input Enable Enable 1 enables motion superposition 0 disables motion superposition AxisID Axis ID of the drive motor where the commands are sent Done 1 motion superposition enabled Done 0 motion superposition disabled Busy The function is processing the command Error Not used ErrorlD Not used ENO Status of function block execution Done Output Description The function block enables disables the superposition of the electronic gearing slave mode with a second motion mode When this superposed mode
5. CommandAborted Output Busy The function block is processing the command Signal if an error message was received from the drive motor while Done ErrorlD Information about the error occurred PTStatus The PT status received from the drive motor Error Description The function block activates the PT motion mode and sends the PT points to a drive motor previously programmed with function block TS_SetPT to work in PT motion mode In PT motion mode the drive motor performs a positioning path described through a series of points Each point specifies the desired Position and Time i e contains a PT data Between the points the built in reference generator performs a linear interpolation On detecting a rising edge at Execute input the function block reads the inputs sends the first PT point to the drive motor and activates the motion mode The output Busy is set and remains set until the drive signals the motion is complete moment when the Done output is set and Busy reset If the last point sent to has non zero velocity the drive motor signals the condition quick stop and the function block sets the output Error Technosoft 2007 51 TML_LIB_CJ1 User Manual The function block sends a PT point every time detects a rising edge at input Execute When the PLC receives a message from the drive motor with PT status the function transfers to output PTStatus its value Table 3 12 PT motion mode status BIT
6. The function block is processing the command Error Signal if an error has occurred in the execution of the function block or an error message was received from the drive ErrorlD Information about the error occurred Description The function block programs the drive motor to work with an external digital reference provided as pulse amp direction or quadrature encoder signals In either case the drive motor performs a position control with the reference computed from the external signals Remarks 1 The function block requires the drive motor position loop to be closed During the drive motor setup select Position at Control Mode and perform the position controller tuning 2 If the application requires switching between discrete motion position control and continuous motion speed control the speed loop must be closed also In the Drive setup dialogue select Position at Control Mode then enter the Advanced dialogue and close the speed loop After the selection perform the tuning of the position controller and speed controller Technosoft 2007 61 TML_LIB_CJ1 User Manual 3 The option for the input signals pulse amp direction or quadrature encoder is established during the drive motor setup On detecting a rising edge at the Execute input the function block starts sending the motion commands The output Busy is set and remains set until the last motion command is sent moment when the functi
7. VALUE DESCRIPTION 15 0 PT buffer is not empty 1 PT buffer is empty there is no PT point in the buffer and the execution of the current PT segment is over If PVTSENDOFF 0 default the drive motor will send the PVTSTS each time this bit goes from 0 to 1 PT buffer is not low PT buffer is low the number of PT points from the buffer is equal or less than the low limit set using SETPT If PYTSENDOFF 0 default the drive will send the PVTSTS each time this bit goes from 0 to 1 PT buffer is not full PT buffer is full the number of PT points from the buffer is equal with the buffer dimension If PVTSENDOFF 0 default the drive will send the PVTSTS each time this bit goes from 0 to 1 No integrity counter error Integrity counter error If the integrity counter error checking is enabled and PVTSENDOFF 0 default the drive will send the PVTSTS each time this bit goes from 0 to 1 11 Reserved 10 Normal operation Data received are PT points 3 O O A PVT point was received while PT mode is active The PVT point was discharged If PVTSENDOFF 0 default the drive motor will send the PVTSTS each time this bit goes from 0 to 1 9 7 0 Reserved 6 0 0 127 Current integrity counter value The input EN must be connected to the left bus through P_On flag for proper execution of the function Remarks The function block just s
8. 10000 0 BOOL CommandA amp b CommandAbor ted 40 0 BOOL Busy_1 elocity Busy 0 01 BOOL Error_1 j Error CVORD Errorl Done_1 Override SecondMotion MC_MoveAbsolute P_On BOOL EN ENO Always ON Flag Go_2 BOOL Done_2 Done 2500 0 BOOL CommandAb i CommandAbor ted 16 667 BOOL Busy_2 j Busy 0 4 BOOL Error_2 j Error 0000 CWORD NORD D101 ErrorlD 88 Technosoft 2007 18 TML_LIB_CJ1 User Manual First motion Time Time Time Time Time Oo e e v l l l S gt TI oO K S B gt m 8 a 6 6 3 o E E D S 6 9 Time oO oO E E E E F E CET Velocity CommandAborted_2 Axis motion 10000 Position Time 2500 Figure 3 1 Time diagram for 2 consecutive absolute motions TML_LIB_CJ1 User Manual 19 Technosoft 2007 3 6 2 MC MoveRelative Symbol MC_MoveRelative EN ENO Execute Done Distance CommandAborted Velocity Acceleration Control Word AxisID Parameters description Parameters Data type Description EN Enable function block execution Execute Send motion commands at rising edge Position increment expressed in TML position Distance internal units The slew speed expressed in TML speed internal Velocity units Input Acceleration rate expressed in TML acceleration Acceleration g internal units
9. TML_LIB_CJ1 User Manual 3 6 37 TS SendCommand Symbol TS_SendCommand ENO CommandDataW12 CommandDataW34 Length AxisID Parameters description Parameter Data type Description EN Enable function execution Execute Send stop command at rising edge OpCode TML command operation code Input CommandDataW12 Data words 1 and 2 of TML command CommandDataW34 Data words 3 and 4 of TML command Length Number of data bytes AxisID Axis information Status of function execution The TML command sent Output Description The function sends a TML command to the drive motor with AxisID With the rising edge of Execute the function block builds and sends a TML command from its binary code The binary code for a TML command can be found with Binary code viewer a tool integrated in EasyMotion Studio The Done output is when the command is sent successfully The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 113 TML_LIB_CJ1 User Manual Example 3 The function block sends the TML command ENSLP1 to the drive motor with AxisID 1 122 P_On Always ON Flag SendCommand 5C00 7070FFFF 80050000 amp 4 EN Technosoft 2007 Command TS_SendCommand BOOL BOOL EN ENO BOOL Done BOOL Execute D one NORD OpCode DWORD CommandData 12 DWORD CommandData W34
10. ted 16 67 REAL BOOL Busy_1 Velocity Busy 0 02 REAL BOOL Error_1 Acceleration VORD Controlord Error NORD ErrorlD INT AxisID Done_1 Override Second motion The function block sends the position command and skips the speed and acceleration commands SecondMotion 125 MC_MoveRelative P_On BOOL BOOL EN ENO Always ON Flag Go_2 BOOL BOOL Done_2 Execute Done 2500 0 REAL BOOL Command amp b Distance CommandA amp bor ted 10 3 REAL BOOL Busy_2 Velocity Busy 0 06 REAL BOOL Error_2 Acceleration Error 0006 NORD NORD D102 Controlord ErrorlD EN ONT AxisID Technosoft 2007 23 TML_LIB_CJ1 User Manual First motion Time Time Time Time Second motion Time Override Time Time Time oO E OCH CH CO CC CH LO 10 CN OO st E gt C O no 2 O kg Axis motion Figure 3 2Time diagram for 2 consecutive relative motions TML_LIB_CJ1 User Manual 24 Technosoft 2007 3 6 3 MC MoveAdiditive Symbol MC_MoveAdditive EN ENO Execute Done Distance CommandAborted Velocity Acceleration ControlWord AxisID Parameters description Parameters Data type Description EN Enable function execution Execute Send motion commands at rising edge Position increment expressed in TML position Distance r internal units The slew speed expr
11. Always ON Flag GoSetup_2 DoneSetup_2 Sp INT BOOL CommandAb Command amp bor ted amp 2 INT BOOL Busy_2 Busy 1000 0 BOOL Error_2 Error 4000 DAC D100 ErrorlD amp 2 The function block activates the motion mode and sends the PYT points at each transition of Execute input from low to high SendPTPoint 135 TS_PTPoint P_On BOOL BOOL EN ENO Always ON Flag GoPoint_2 BOOL BOOL DonePoint Done 2000 0 BOOL CommandA amp b iti CommandAbor ted 8100 BOOL Busy il Busy Sp NORD NORD PYTStatus PTStatus amp 2 BOOL ErrorPoint i Error YORD D101 ErrorlD Technosoft 2007 50 TML_LIB_CJ1 User Manual 3 6 10 TS_PTPoint Symbol TS_PTPoint EN ENO Execute Done Position CommandAborted Time PTCounter AxisID PTStatus Parameter description Parameters Datatype Description EN BOOL Enable function execution Execute BOOL At rising edge the command is sent Represents the position to be reached at the end of the PT segment Time INT Represents the time interval of the PT segment The counter value for the current point The maximum value for the counter is 127 AxisID INT Axis ID of the drive motor where the commands are sent ENO Status of function block execution Signal the commanded motion is completed after the last point PT sent The motion command is aborted by another motion command Position REAL Input PTCounter INT Done
12. INT Length INT Acel 114 TML_LIB_CJ1 User Manual TECHNOS OFT
13. User Manual Gear MC_Gearln InGear INT BOOL CommandAb RatioNumerato Command bor r INT Busy RatioDenomina tor DINT Error D102 Ge ontrolVord GearOut MC_GearOut DoneDisenga BusyDisenga ErrorDisenga D104 Errorl 3 6 17 MC_GearOut Symbol MC_GearOut EN Execute Parameters description Parameter Data type Description EN BOOL Enable function execution Input Execute BOOL Start disengaging process at rising edge Slave INT AxisiD of the slave drive motor ENO Status of function block execution Done Disengaging completed The function block is waiting for drive motor to signal disengage completed Error Is set if drive s motor s error register is received while Done ErrorlD Information about the error occurred Output Busy Description The function block disengages a drive motor set in electronic gearing slave mode from its master On detecting a rising edge at the input Execute the function block sends the commands for decoupling from the master and sets the Busy output The Done output is set when the disengaging process was successfully executed The function block changes the slave state from SynchronizedMotion to ContinuousMotion the slave keeping the velocity from the moment when the function block was called If the drive s motor s error register is received while the output Done is not set the output Error is set and its v
14. BOOL Busy_2 Acceleration Busy 0004 VORD BOOL Error_2 Controlord Error EN INT NORD D102 AxisID ErrorlD Technosoft 2007 40 TML_LIB_CJ1 User Manual 3 6 7 TS_SetPVT Symbol TS_SetPVT EN ENO Execute Done Command PVTCounterValue Aborted LowLevelValue PVTPOSO ControlWord AxisID Parameter description Parameters Datatype Description EN Enable function execution Execute At rising edge the command is sent PVT CounterValue The new counter value for the first PVT point Input LowLevelValue The new value for low buffer signaling PVTPOSO The initial position for absolute PVT mode ControlWord Selects the block options AxisID Axis ID of the drive motor where the commands are sent ENO Status of function block execution Signal the path described through PVT points ended Done e correctly the last point has velocity zero CommandAborted The motion command is aborted by another motion command Output Busy The function block is processing the commands Signal if an error has occurred in the execution of the Error function block or an error message was received from the drive ErrorlD Information about the error occurred Description The function programs a drive motor to work in PVT motion mode In PVT motion mode the drive motor performs a positioning path described through a series of points Each point specifies the desired Position Velocity and Time
15. During motion the parameters should not be changed Therefore when executing successive motions with TS_MoveSCurveAbsolute function blocks you should wait for the previous motion to end before setting the new motion parameters and starting next motion When the motion is stopped with function block MC_Stop the deceleration phase can be done in 2 ways e Smooth using an S curve speed profile when ControlWord 3 0 or e Fast using a trapezoidal speed profile when ControlWord 3 1 On detecting a rising edge at the Execute input the function block starts sending motion commands and sets the Busy output The Busy output remains set until the drive motor signals target reached moment when the function block sets the Done output and resets Busy The CommandAborted output is set if another motion function block sends motion commands to the same drive motor If a drive s error register information is received during the execution of the function block the output Error is set and its value is passed to ErrorlD All outputs remain set until Execute input is reset but at least for one block call During motion execution the axis is transferred to DiscreteMotion state when the target position is reached Done output is set the axis is transferred to Standstill state Once set the motion parameters are memorized on the drive motor If you intend to use values previously defined by a different motion function block or different instance of t
16. Email contact technosoftmotion com Ask questions about product operation or report suspected problems Fax 41 32 732 55 04 Email hotline technosoftmotion com Make suggestions about or report errors in documentation Technosoft 2007 V TML_LIB_CJ1 User Manual Contents alte ele EE 1 2 SSCUING SIAMEC EE 3 2 1 Hardware installation 3 2 2 Software installation eent 4 2 2 1 Installing EasySetUp 4 2 2 2 Installing TML_LIB_CJ1 library 4 2 3 Drive motor S6tUP sss esheets ne nes E eters Se 4 2 4 User defined CAN unit setup 5 2 5 Build a CX Programmer project with TM UR CH 6 3 TML_LIB_CJ1 description sens 9 351 BASIC CONCEDUS cscs ne A ne annee see ea dre Ta este Teste el ere laste 9 3 2 TM UR Chireourements nenene neren ne rnnr n annen annann ennn n nannan annann 11 3 3 Internal units and scaling factors 11 34 UL in Levent Enar E AEA a tee dda EE 11 3 5 AXIS ID Identificationsss fassent a tenants 12 3 6 IFUNCHONS descriptions aiae DEENEN RN EBEN ENEE 13 3 6 1 MC MoveAbsolute 15 3 6 2 MC MoveRelative 20 3 6 3 MC MoveAdditive 25 3 6 4 TS MoveSCurveAbsolute 29 3 6 5 TS MoveSCurveRelative 34 3 6 6 MC MoveVelocity 38 3 6 7 TS SetPVT 41 3 6 8 TS _PVTPoint 45 3 6 9 TS SetPT 47 3 6 10 TS_PTPoint 51 3 6 11 TS_Homing 53 3
17. Example The example programs the drive motor to use external online reference The reference represents a speed command with limited acceleration The TML variable EREFS is initialized with 5 00IU Technosoft 2007 66 TML_LIB_CJ1 User Manual P_On Always ON Flag OnlineRef P_Oft Always OFF GoSpeed P_Off Always OFF P_Off Always OFF 5 00 Position_Spe 0003 amp 2 Technosoft 2007 TML_LIB_CJ1 User Manual Online_2 TS_ExternalOniline BOOL CommandA amp bor ted PositionCortrol BOOL SpeedControl BOOL Busy BOOL TorqueControl BOOL Error BOOL ORD YoltageControl ErrorlD 67 The function block programs the drive motor with Axisid 2 to work with external digital reference The reference represents a speed command with limited acceleration DoneOnlineRet AbortOnilineR BusyOnlineRet ErrorOnlineRet D190 3 6 16 MC_Gearin Symbol MC_Gearin EN ENO Execute InGear Command RatioNominator Aborted RatioDenominator Busy MasterResolution Error AccelerationLimit ErrorlD ControlWord Master Slave Parameter description Parameter EN Data type Description Enable function execution Execute Send motion commands at rising edge RatioNumerator Gear ratio numerator negative or positive RatioDenominator Gear ratio denominator only positive MasterResolution Mas
18. Override before the first motion completes If the second motion is triggered with Override it will abort the first motion In Figure 3 3 is displayed the signals state for the two cases First motion 0 Time 1 l B 1 P CommandAborted_1 l 0 l Time 1 I Done_1 l effi Time 0 i 1 Second motion I l Override Time i i 1 1 i i i i CommandAborted_2 0 l i l Time T i t l Done 2 one i I l Time l Axis motion o me Ne d 1 Velocity rs i ZN Time i te li 1 1 10000 4 b f aonb ap sb ae eles Geel a I l I 1 Position 6000 f 4 r ee Re SE TT 14 E E AE E E E L IL 9a li 4009 TI E i rt r E Time Figure 3 3 Time diagram for an absolute motion concatenated with an additive motion Technosoft 2007 27 TML_LIB_CJ1 User Manual MC_MoveAbsolute Always ON Flag Done_1 Command Busy_1 REAL Error_1 Acceleration Override SecondMotion Always ON Flag Done_2 2500 0 Command Busy_2 Error_2 D102 Technosoft 2007 28 TML_LIB_CJ1 User Manual 3 6 4 TS MoveSCurveAbsolute Symbol TS_MoveSCurveAbsolute EN ENO Execute Done Position CommandAborted Velocity Acceleration Jerk ControlWord AxisID Parameter description Parameters Data type Description In
19. PVT Counter AxisID Axis ID of the drive motor where the commands are sent ENO Status of function block execution Done Signal that commanded velocity is reached CommandAborted The motion command is aborted by another motion command Busy The function block is processing the command Signal if an error message was received from the drive motor while Done ErrorlD Information about the error occurred PVT Status The PVT status received from the drive motor Output Error Description The function block activates the PVT motion mode and sends the PVT points to a drive motor previously programmed with function block TS_SetPVT to work in PVT motion mode In PVT motion mode the drive motor performs a positioning path described through a series of points Each point specifies the desired Position Velocity and Time i e contains a PVT data Between the points the built in reference generator performs a 3rd order interpolation At the first rising edge of the Execute input the function block reads the inputs sends the PVT point to the drive motor and activates the motion mode The output Busy is set and remains set until the drive signals the motion is complete moment when the Done output is set and Busy reset If the last point sent has non zero velocity the drive motor signals the condition quick stop and the function block sets the output Error Technosoft 2007 45 TML_LIB_CJ1 User Manual Every time th
20. all the TML functions called are cancelled The error register MER uint 0x08FC shows the type of errors detected and the status register SRH 15 signals the fault condition Ready and error outputs if present are set to the not ready level respectively to the error active level When available ready greed led is turned off and error red led is turned on Remark The following conditions signaled in MER do not set the axis in ErrorStop Command error Negative limit switch input on activate level Positive limit switch input on activate level Position wraparound Serial and CAN bus communication errors On detecting a rising edge at the Execute input the function block sends the reset commands and sets the Busy output Busy remains set until the drive motor power stage is re enabled Technosoft 2007 87 TML_LIB_CJ1 User Manual moment when the function block sets the Done output and resets the Busy The axis is transferred to Standstill state If the power stage is not enabled the axis remains in ErrorStop and the Error output is set The value 0x0001 is transferred to ErrorlD output The input EN must be connected to the left bus through P_On flag for proper execution of the function Example 124 The axis state is changed from ErrorStop to StandStill Fault MC_Reset P_On BOOL ENO Always ON Flag ResetFault BOOL Done EN 1 BOOL Technosoft 2007 88 The function block resets internal errors of driv
21. be closed During the drive motor setup in the Drive Setup dialogue select Speed at Control Mode and perform the speed controller tuning 2 If the application requires switching between continuous motion speed control and discrete motion position control the position loop must be closed also In the Drive setup dialogue select Position at Control Mode then enter the Advanced dialogue and close the speed loop After the selection perform the tuning of the position controller and speed controller Technosoft 2007 39 TML_LIB_CJ1 User Manual Example A 120 First motion The function block sends all speed profile parameters to the frive motor with AxisID 1 FirstMotion MC_MoveVelocity P_On BOOL BOOL EN ENO Always ON Flag Go BOOL BOOL InVelocity_1 Execute Invelocity 40 0 REAL BOOL CommandA amp b Velocity CommandAbor ted 0 01 REAL BOOL Busy_1 Acceleration Busy 0000 CYORD BOOL Error_1 ControlYord Error EN INT NORD D100 AxisID ErrorlD Si Invelocity_2 122 Override Second motion 125 The function block sends all speed profile parameters The profile is computed using the actual values of load motor position and speed TUMO Control Vord 2 1 SecondMotion MC_Move Velocity P_On BOOL BOOL EN ENO Always ON Flag Go_2 BOOL BOOL InVelocity_2 Execute Invelocity 16 67 REAL BOOL CommandAb Velocity CommandA amp bor ted 0 06 REAL
22. buffer with AddressReceiveBuffer WORD User defined CAN message data received Must be in data memory AddressReceiveTrigger AddressReceiveTrigger_ WORD User defined defined Spe ued the See address Ofthe Duffer with receive triggers Must be in data memory CANModuleEnable BOOL ER of unit Enable CAN communication Represents the number 4 bit from the first CANModuleEnabled BOOL SE E Signals CAN communications enabled e Function of unit Signals a CAN message received and CommEnableFlag BOOL A202 00 Signals the possibility to execute FINS commands PLCAxisID User defined User defined Stores the PLC Axis ID 4 Import TML_LIB_CJ1 function blocks From the project tree select Function block tree item then click right mouse button and select the option Insert Function From File In the Select Function Block Library File dialogue select the folder where you unzipped the TML_LIB_CJ1 and select the appropriate function Remark Function TS_CommunicationInit followed by TS_AxisState are mandatory The TS_CommunicationInit will configure the CAN Unit and TS_AxisState will configure the Technosoft drives motors to send CAN messages automatically 5 Create your application Build the application motion using the functions supplied with TML_LIB_CJ1 Technosoft 2007 7 TML_LIB_CJ1 User Manual 3 TML_LIB_CJ1 description 3 1 Basic concepts The TML_LIB_CJ1 functions and function blocks were built following the guidelines
23. e The function must be called before enabling the electronic camming with function block MC_CamIn e During electronic camming slave mode only one cam table can be active at time Technosoft 2007 74 TML_LIB_CJ1 User Manual 3 6 19 TS Camin Symbol TS_Camln EN Execute SlaveOffset MasterScaling SlaveScaling MasterResolution LimitValue ControlWord Master Slave Parameter description Input Output Parameter EN Data type Description Enable function execution Execute At rising edge the command is sent SlaveOffset Cam table offset expressed in slave TML position units MasterScaling CAM table input scaling factor SlaveScaling CAM table output scaling factor MasterResolution Master s position sensor resolution expressed in encoder counts LimitValue Speed limit value expressed in TML speed units ControlWord Selects the block options Master Axis ID of the master drive motor Slave ENO Axis ID of the slave drive motor Status of function block execution InCam Signal the cam is engaged for the first time CommandAborted The motion command is aborted by another motion command Busy The function block is waiting for the drive motor to signal camming engaged Error Is set if drive s motor s error register is received while InCam ErrorlD Information about the error occurred Descrip
24. i e contains a PVT data Between the points the built in reference generator performs a 3rd order interpolation Remark The function block just programs the drive motor for PVT mode the motion mode is activated from function block TS_PVTPoint and therefore the TS PVTPoint must follow TS_SetPVT call Also the function block TS_PVTPoint sends the PVT points to the drive motor A key factor for getting a correct positioning path in PVT mode is to set correctly the distance in time between the points Typically this is 10 20ms the shorter the better If the distance in time between the PVT points is too big the 3rd order interpolation may lead to important variations compared with the desired path Technosoft 2007 41 TML_LIB_CJ1 User Manual The PVT motion mode can be started only when the previous motion is complete However you can switch at any moment to another motion mode The PVT mode can be relative ControlWord 0 0 or absolute ControlWord 0 1 In the absolute mode each PVT point specifies the position to reach The initial position may be either the current position reference TML variable TPOS ControlWord 12 1 or a preset value read from the TML parameter PVTPOSO ControlWord 12 0 In the relative mode each PVT point specifies the position increment relative to the previous point In both cases the time is relative to the previous point i e represents the duration of a PVT segment For the first PVT point the tim
25. motor is powered after the PLC program starts or it was reset during the operation it is required to call the function block After the last initialization command is sent to the drive motor the Done output is set and the function starts to monitor the messages received from the drive If the error register is received the Error output is set and its value its value is passed to the ErrorlD output The Error output is automatically reset when the PLC receives a message from the drive motor that signals no fault state The input EN must be connected to the left bus through P_On flag for proper execution of the function The function block will change the axis state to ErrorStop if the drive motor signals any of the following errors e undervoltage e overvoltage e drive overtemperature e motor overtemperature Technosoft 2007 91 TML_LIB_CJ1 User Manual I2T Overcurrent Control error Short circuit Remark Use function MC_Reset to restore the state StandStill Example Comminit TS_Communicationtnit P_On BOOL BOOL EN ENO Always ON Flag amp 0 INT BOOL Unita Done amp 255 YORD amp 10 Axis_2 TS_AxisState P_On BOOL ENO Always ON Flag Go BOOL Done amp 4 BOOL i AxisError DVC 4xisErrorlD Technosoft 2007 92 Set the User Defined CAN Unit with the values of global symbols and enable the CAN communication Done 0 Initialize drive motor with 4xisiD
26. of feedback device for example incremental encoder SSI encoder This opens 2 setup dialogues for Motor Setup and for Drive setup through which you can configure and parameterize a Technosoft drive motor plus several predefined control panels customized for the product selected In the Motor setup dialogue you can introduce the data of your motor and the associated sensors Data introduction is accompanied by a series of tests having as goal to check the connections to the drive and or to determine or validate a part of the motor and sensors parameters In the Drive setup dialogue you can configure and parameterize the drive for your application In each dialogue you will find a Guideline Assistant which will guide you through the whole process of introducing and or checking your data Close the Drive setup dialogue with OK to keep all the changes regarding the motor and the drive setup Step 4 Download setup data to drive motor Press the Download to Drive Motor button to download your setup data in the drive motor EEPROM memory in the setup table From now on at each power on the setup data is copied into the drive motor RAM memory that is used during runtime It is also possible to Save the setup data on your PC and use it in other applications Step 5 Reset the drive motor to activate the setup data 2 4 User defined CAN unit setup Step 1 Unit No The unit number uniquely identifies the CAN Unit when more than one CPU Bus Unit is
27. of movement positive same as the master negative reversed to the master RatioNumerator and RatioDenominator are used by an automatic compensation procedure that eliminates the round off errors which occur when the gear ratio is an irrational number like 1 3 Slave 1 Master 3 The slave can get the master position in two ways 1 Via a communication channel ControlWord 5 0 from a drive motor set as master with function block TS_SetMaster 2 Via an external digital reference of type pulse amp direction or quadrature encoder ControlWord 5 1 When master position is provided via the external digital interface the slave computes the master position by counting the pulse amp direction or quadrature encoder signals The initial value of the master position is set by default to 0 Use function block TS_WriteLongParameter to change its value by writing the desired value in the TML variable APOS2 long 0x091C Remarks 1 The function block requires drive motor position loop to be closed During the drive motor setup select Position at Control Mode and perform the position controller tuning 2 If the application requires switching between synchronized motion position control and continuous motion speed control i e use MC_GearOut you must also close the speed loop and perform the speed controller tuning 3 Use function block TS_SetMaster to program a drive motor as master in electronic gearing 4 When the refe
28. real the conversion to TML data types is performed automatically by he function block Technosoft 2007 11 TML_LIB_CJ1 User Manual 3 5 Axis ID Identification The data exchanged on the CAN bus is done using messages Each message contains one TML instruction to be executed by the receiver of the message Apart from the binary code of the TML instruction attached any message includes information about its destination an axis drive motor or group of axes This information is grouped in the Axis Group ID Code Each drive motor has its own 8 bit Axis ID and Group ID Remarks 1 The Axis ID of a drive motor must be unique and is set during the drive motor setup phase with EasySetUp The TML_LIB_CJ1 doesn t contain a function or function block for changing the value of Axis ID 2 A drive motor belongs by default to the group ID 1 You can set change the group ID of a drive motor with function block TS_SetGroupID 3 The Axis ID and Group ID of a drive motor are stored in TML variable AAR uint 0x030C Use TS_ReadIintegerParameter to read the value of the Axis ID and Group ID The Group ID represents a way to identify a group of axes for a multicast transmission This feature allows the PLC to send a command simultaneously to several axes for example to start or stop the axes motion in the same time When a function block sends a command to a group all the axes members of this group will receive the command For example i
29. sets the Done output and resets Busy Outputs Error and ErrorlD have no associated functionality The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 54 TML_LIB_CJ1 User Manual Example The function block starts a homing procedure downloaded on drive motor with Ae 2 Ier The homing procedure start address is 0x4031 Homing TS_Homing P_On BOOL EN ENO Always ON Flag GoHoming_2 BOOL HomingDone_2 Done 2000 0 BOOL HomingAbort iti CommandAbor ted 4031 YYORD BOOL HomingBusy_2 Busy ES BOOL HomingError_1 i Error VVORD ErrorlD Technosoft 2007 55 TML_LIB_CJ1 User Manual 3 6 12 MC_Stop Symbol MC_Stop EN Execute Deceleration AxisID Parameters description Parameter Data type Description EN Enable function block execution Execute Send the stop command at rising edge Input Deceleration rate expressed in TML acceleration internal Deceleration units AxisID Axis ID of the drive motor where the commands are sent ENO State of function block execution Done Signal drive velocity zero Output Signal if an error has occurred in the execution of the Error function block or an error message was received from the drive ErrorlD Information about the error occurred Description The function block stops the drive motor motor with the deceleration rate set at Decelerati
30. shocks In speed control you can limit the maximum acceleration at sudden changes of the speed reference and thus to get a smoother transition These features are activated by setting ControlWord 0 1 and the maximum speed acceleration value at LimitValue input If the external device starts sending the reference AFTER the external online mode is activated it may be necessary to initialize EREFP EREFS EREFT or EREFV If ControlWord 1 is found set when the Execute rising edge is detected the function block initialize the TML variable EREFP EREFS EREFT or EREFV with the value read from InitialValue input If ControlWord 15 is set then the axis ID read from AxisiD input is interpreted as a group ID The function block will send the motion commands to drives motors members of the group In this case the Done output is set after the motion commands are sent The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 65 TML_LIB_CJ1 User Manual Table 3 17 ControlWord bits description Description No speed acceleration limit for position speed external mode The speed acceleration is limited for position speed external mode Don t initialize EREFP EREFS EREFT or EREFV Initialize EREFP EREFS EREFT or EREFV Reserved for new features The motion commands are sent to one drive motor The motion commands are sent to a group of drives motors
31. signal is interpreted as a position reference with limited speed 4 The function block programs the drive motor to work with analogue reference L The reference is a position command with limited speed Analogue TS_ExternalAnalogue P_On BOOL BOOL EN ENO Always ON Flag GoAnalogue BOOL BOOL Done Execute Done GoPosition BOOL BOQL CommandAb PositionControl Command bor ted P_Off BOOL BOOL Busy Always OFF 7SpeedControl Busy P_Off BOOL BOOL Error Always OFF TorqueControl Error 10 2 REAL YORD D124 Limitalue ErrorlD 0001 NORD ControlVvord amp 2 INT Acel Technosoft 2007 60 TML_LIB_CJ1 User Manual 3 6 14 TS_ExternalDigital Symbol TS_ExternalDigital EN ENO Done Execute Command Aborted Busy RatioNumerator RatioDenominator LimitValue ControlWord AxisID Parameter description Input Output Parameters EN Data type Description Enable function execution Execute At rising edge the command is sent RatioNumerator Gear ratio numerator RatioDenominator Gear ratio denominator LimitValue Acceleration limit value ControlWord Selects the block options AxisID ENO Axis ID of the drive motor where the commands are sent Status of function block execution Done The motion command send successfully CommandAborted The motion command is aborted by another motion command Busy
32. the same drive motor If a drive s error register information is received during the execution of the function block the output Error is set and its value is passed to ErrorlD All outputs remain set until Execute input is reset but at least for one block call During motion execution the axis is transferred to DiscreteMotion state when the target position is reached Done output is set the axis is transferred to Standstill state Once set the motion parameters are memorized on the drive motor If you intend to use values previously defined by a different motion function block or different instance of the same function block for the acceleration rate the velocity or the position to reach you don t need to send their values again in the following trapezoidal profiles Through ControlWord input you can select the motion parameters sent by the function block to the drive motor If ControlWord 15 is set then the value read from AxisID input is interpreted as a group ID The function block will send the motion commands to drives motors members of the group In this case the done output is set after the motion commands are sent Table 3 7 ControlWord bits description Value Description Send position value CH Don t send the position value Send the speed value Don t send the speed value Send the acceleration value Don t send the acceleration value Smooth stop Faster stop Reserved for ne
33. to compute the distance to move up to the first PVT point No change to the internal integrity counter Change internal integrity counter with the value specified in PVTCounterValue Integrity checking is active Integrity checking inactive Nothing Clear PVT buffer On detecting a rising edge at Execute input the function block reads the inputs and sends the motion commands to the drive motor The output Busy is set and remains set until the function block TS_PVTPoint signals motion mode active moment when the Done output is set and Busy reset The input EN must be connected to the left bus through P_On flag for proper execution of the function Remarks 1 The function block requires the drive motor position loop to be closed During the drive motor setup select Position at Control Mode and perform the position controller tuning 2 If the application requires switching between discrete motion position control and continuous motion speed control the speed loop must be closed also In the Drive setup dialogue select Position at Control Mode then enter the Advanced dialogue and close the speed loop After the selection perform the tuning of the position controller and speed controller Technosoft 2007 43 TML_LIB_CJ1 User Manual Example a The function block programs the PYT mode on drive motor with AxisID 2 The counter of the first PYT point is 10 and the buffer low co
34. to reduce the mechanical shocks In speed control you can limit the maximum acceleration at sudden changes of the speed reference and thus to get a smoother transition These features are activated by setting ControlWord 0 1 and the maximum speed acceleration value at LimitValue input In torque control you can choose how often to read the analogue input at each slow loop sampling period or at each fast loop sampling period The selection is made through ControlWord 1 If ControlWord 15 is set then the axis ID read from AxisID input is interpreted as a group ID The function block will send the motion commands to drives motors members of the group In this case the Done output is set after the motion commands are sent Table 3 14 ControlWord bits description Description No speed acceleration limit for position speed external mode The speed acceleration is limited for position speed external mode The analogue reference is read at each slow loop sampling The analogue reference is read at each fast loop sampling Reserved for new features The motion commands are sent to a single drive motor The motion commands are sent to a group of drives motors The input EN must be connected to the left bus through P_On flag for proper execution of the function Example Technosoft 2007 59 TML_LIB_CJ1 User Manual The example programs the drive motor to work with analogue external reference The analogue
35. value of the TML variable parameter with data memory Address The TML data is of type long ulong 32 bit signed unsigned integer The request is sent to the drive motor with AxisID Each TML data parameters variables or registers has an associated address This represents the address of the data memory location where the TML data exists Address ranges for TML data are from 0x0200 to Ox03AF and from 0x0800 to OxO9FF For user defined variables the address range is between 0x03B0 and Ox03FF On detecting a rising edge at the Enable input the function block sends the request message and sets the Busy output Busy remains set until the requested value is available moment when the function block sets the Done output and resets Busy The value received is transferred to output Value The output Done remains set until Enable input is reset If the value read from the Address input is not in the above specified ranges then the Error output is set and the ErrorlD output will have the value 0x0001 The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 102 TML_LIB_CJ1 User Manual Example 5 10 Read the value of TML parameter APOS2 long 0x081C from drive motor with AxisID 1 ReadLong TS_ReadLongParameter P_On Always ON Flag Read Done 081C Busy EN Error D200 Parameter Technosoft 2007 103 TML_LIB_CJ1 User Manual 3 6 33 TS ReadFixedParam
36. 122 7 Technosoft 2007 80 TML_LIB_CJ1 User Manual 3 6 21 TS SetMaster Symbol TS_SetMaster EN Execute SyncPeriod ControlWord Master Slave Parameters description Parameter Data type Description EN Enable function block execution Execute Send the stop command at rising edge Time period for synchronization messages expressed in TML time internal units ControlWord Selects the block options Master Master drive axis AxisID Slave Slave drive motor AxisID ENO State of function block execution Done Master configuration commands sent Output Busy The function block is processing the commands Error Not used SyncPeriod Input ErrorlD Not used Description The function block programs a drive motor as master in electronic gearing or camming The master drive motor AxisID is read from Master input while the slave AxisID is read from the Slave input The master operation is enabled when the function block is called with ControlWord1 0 and disabled when the function block is called with Control Word 0 1 In both cases these operations have no effect on the motion executed by the master Once at each slow loop sampling time interval the master sends either its load position ControlWord 4 0 or its position reference ControlWord 4 1 to the axis or the group of axes having Slave AxisID GroupID When ControlWord 15 0 the Slave value is the AxisID of one slave W
37. 4 Also the function block monitors the messages received from drive motor Donelnit_4 ErrorAxis_4 MER_Axis_4 TML_LIB_CJ1 User Manual 3 6 27 TS Communicationinit Symbol TS_Communicationinit EN ENO UnitNo PLCAxisID NoAxes Parameter description Parameter EN Data type Description Enable function execution Input UnitNo The unit number identical with the one set through rotative switch PLCAxisID The axis ID assigned to the PLC NoAxes The number of axes used in the application Status of the function execution Output Signals the initialization ended Description When the PLC program starts the function configures automatically the User Defined CAN Unit and enables the CAN communication At the end of the initialization the output Done is set The function must be called before any function block call that uses the User Defined CAN Unit The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 93 TML_LIB_CJ1 User Manual 3 6 28 TS_WriteLongParameter Symbol TS_WriteLongParameter EN Parameters description Parameter EN Data type Description Enable function block execution Execute Write long parameter at the rising edge Address Data memory address where the value will be written Value Value to be written AxisID ENO Axis ID o
38. 6 12 MC_Stop 56 3 6 13 TS_ExternalAnalogue 58 Technosoft 2007 VII TML_LIB_CJ1 User Manual 3 6 14 TS_ExternalDigital 61 3 6 15 TS_ExternalOnLine 64 3 6 16 MC_GearlIn 68 3 6 17 MC_GearOut 72 3 6 18 MC_CamTableSelect 73 3 6 19 TS_CamlIn 75 3 6 20 MC_CamOut 79 3 6 21 TS SetMaster 81 3 6 22 TS MotionSuperposition 84 3 6 23 MC Power 85 3 6 24 MC _Reset 87 3 6 25 TS_ResetDrive 89 3 6 26 TS_AxisState 91 3 6 27 TS_CommunicationInit 93 3 6 28 TS_WriteLongParameter 94 3 6 29 TS_WriteFixedParameter 96 3 6 30 TS_WritelntegerParameter 98 3 6 31 MC_ReadActualPosition 100 3 6 32 TS_ReadLongParameter 102 3 6 33 TS ReadFixedParameter 104 3 6 34 FB TS_ReadintegerParameter 106 3 6 35 FB MC_ReadStatus 108 3 6 36 TS _ SetGrouplD 110 3 6 37 TS SendCommand 113 Technosoft 2007 VII TML_LIB_CJ1 User Manual 1 Introduction The programming of Technosoft intelligent drives motors involves 2 steps 1 Drive motor setup 2 Motion programming For Step 1 drive motor setup Technosoft provides EasySetUp EasySetUp is an integrated development environment for the setup of Technosoft drives motors The output of EasySetUp is a set of setup data which can be downloaded to the drive motor EEPROM or saved on your PC for later use The setup data is copied at power on into the RAM memory of the drive motor and is used during runtime The reciprocal is also possible i e to retrieve the complete setup data from a drive motor EEPROM previousl
39. 89 TML_LIB_CJ1 User Manual Example 137 P_On Always ON Flag Technosoft 2007 StopJog EN BOOL EN BOOL Execute INT AxisID The function block resets the drive motor with AxisID 1 The function block execution must be followed by a call of TS_AxisState Reset TS_ResetDrive 90 BOOL ENO BOOL Done BOOL Busy BOOL Error NORD ErrorlD DoneReset WyaitReset TML_LIB_CJ1 User Manual 3 6 26 TS AxisState Symbol TS_AxisState Parameters description Parameter Data type Description EN BOOL Enable input Input Execute BOOL Send stop command at rising edge AxisID STRUCT Axis information ENO Status of function block execution Done Signal drive velocity zero Error Is set when the drive motor from the drive ErrorlD Information about the error occurred Output Description The function block enables a drive motor to send automatically messages with its status The configuration messages are sent to the drive motor having the AxisID Also the function block monitors all messages sent by the drive motor towards the PLC and stores the information received in the memory reserved Remark Due to its functionality the function block must be called individually for each axis defined in the application If the drive motor is powered when the PLC program starts the function block will initialize it automatically In case the drive
40. Continuous Motion Discrete Motion MC_MoveVelocity Done MC_Stop MC_Stop MC_MoveAbsolute MC_MoveRelative MC_MoveAdditive Error Error TS_MoveSCurveAbolute TS_MoveSCurveRelative MC_MoveVelocity TS_MovePVT TS_MovePT Stopping l Error MC_Gearln 4 MC_Camin MC_Reset Error TS_ResetDrive Error F __Standstil TS_Homin Figure 3 1 Axis behaviour Technosoft 2007 10 TML_LIB_CJ1 User Manual 3 2 TML_LIB_CJ1 requirements In order to use TML_LIB_CJ1 for OMRON SYSMAC CJ1 series you must have the following minimal hardware configuration e One or more Technosoft drives motors connected through a CAN bus network e An OMRON SYSMAC CJ1 PLC with function blocks support See CX Programmer online help for a list with CPU types that support function blocks e An User defined CAN unit The software required in order to implement an application on the previous configuration consists of e EasySetUp for setup of Technosoft drives motors e CX Programmer for hardware configuration and programming of the PLC 3 3 Internal units and scaling factors Technosoft drives motors work with parameters and variables represented in internal units IU The parameters and variables may represent various signals position speed current voltage etc Each type of signal has its own internal representation in IU and a specific scaling factor In order to easily identify each t
41. ControlWord Selects the block options Axis ID of the drive motor where the commands are sent Status of function block execution AxisID Signal the motion complete The function block is aborted by another motion CommandAboried function block Signal the function block is waiting for motion Output Busy complete Signal if an error has occurred in the execution of Error the function block or an error message was received from the drive ErrorlD Information about the error occurred Description The function block programs a relative positioning with trapezoidal speed profile You specify the position increment plus the velocity maximum travel speed and the acceleration deceleration rate The values of velocity and acceleration must be positive Negative values are taken in modulus On detecting a rising edge at the Execute input the function block starts sending motion commands and sets the Busy output The Busy output remains set until the drive motor signals target reached moment when the function block sets the Done output and resets Busy Technosoft 2007 20 TML_LIB_CJ1 User Manual The CommandAborted output is set if another motion function block sends motion commands to the same drive motor If a drive s error register information is received during the execution of the function block the output Error is set and its value is passed to ErrorlD All outputs remain set until Execute input i
42. N BOOL Enable function block execution Input Enable BOOL Return the axis state while enabled AxisID INT AxisID of the drive motor which status is monitored ENO BOOL Status of function block execution Done BOOL The status read successfully Error BOOL Not used ErrorlD Not used Errorstop Set when the axis is in Errorstop state Disable Set when the axis is in Disable state Stopping Set when the axis is in Stopping state Standstill Set when the axis is in Standstill state DiscreteMotion Set when the axis is in DiscreteMotion state ContinuousMotion Set when the axis is in ContinuousMotion state SynchronizedMotion Set when the axis is in SynchronizedMotion state Homing Set when the axis is in Homing state Output Description As long as the Enable input is true the function returns the axis state defined at PLC level through the corresponding output Done output is set if valid outputs are available All outputs remain set until Enable input is reset but at least for one block call Error and ErrorlD outputs are reserved for future development and have no associated functionality Technosoft 2007 108 TML_LIB_CJ1 User Manual The input EN must be connected to the left bus through P_On flag for proper execution of the Vhile input Enable is set the function returns the axis state of the drive motor with AxisID 2 function Example 4 124 P_On Always ON Flag GoRead amp 2
43. VT point Technosoft 2007 48 TML_LIB_CJ1 User Manual If PT mode is set as absolute the initial position is taken from TML variable TPOS The initial position is used to compute the distance to move up to the first PT point No change to the internal integrity counter Change internal integrity counter with the value specified in PTCounterValue Integrity checking is active Integrity checking inactive Nothing Clear PT buffer The input EN must be connected to the left bus through P_On flag for proper execution of the function Remarks 1 The function block requires the drive motor position loop to be closed During the drive motor setup select Position at Control Mode and perform the position controller tuning 2 If the application requires switching between discrete motion position control and continuous motion speed control the speed loop must be closed also In the Drive setup dialogue select Position at Control Mode then enter the Advanced dialogue and close the speed loop After the selection perform the tuning of the position controller and speed controller Technosoft 2007 49 TML_LIB_CJ1 User Manual Example 3 The function block programs the PT mode on drive motor with AxisID 2 The counter of the first PT point is 6 and the buffer low condition is signaled when in the PT buffer remain 2 points The PT mode is relative SetPT 133 TS_SetPT P_On
44. activated the position reference is computed as the sum of the position references for each of the 2 superposed motions You may enable the superposed mode at any moment independently of the activation deactivation of the electronic gearing slave If the superposed mode is activated during an electronic gearing motion any subsequent motion mode change is treated as a second move to be superposed over the basic electronic gearing move instead of replacing it If the superposed mode is activated during another motion mode a second electronic gearing mode will start using the motion parameters previously set This move is superposed over the first one After the first move ends any other subsequent motion will be added to the electronic gearing When you disable the superposed mode the electronic gearing slave move is stopped and the drive motor executes only the other motion If you want to remain in the electronic gearing slave mode set first the electronic gearing slave move and then disable the superposed mode On detecting a rising edge at Enable input the function block enables the motion superposition on the drive with AxisID The motion superposition is disabled when the Enable input is reset The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 84 TML_LIB_CJ1 User Manual 3 6 23 MC_Power Symbol MC_Power Parameters description Input Paramete
45. alue is passed to ErrorlD All outputs remain set until Execute input is reset but at least for one block call The input EN must be connected to the left bus through P_On flag for proper execution of the function The input EN must be connected to the left bus through P_On flag for proper execution of the function Remark The function block requires the drive motor position and speed loops to be closed During the drive motor setup select Position at Control Mode and in Advanced dialogue choose option Close Position Speed and Current loop After the selection perform the controllers tuning Technosoft 2007 72 TML_LIB_CJ1 User Manual 3 6 18 MC_CamTableSelect Symbol MC_CamTableSelect EN Execute SlaveAbsolute Master Slave LoadAddress RunAddress Parameters description Parameters Data type Description EN BOOL Enable function execution Execute BOOL Send motion commands at rising edge SlaveAbsolute BOOL Specifies the electronic camming type Input Master INT Axis ID of the master drive motor Slave INT Axis ID of the slave drive motor LoadAddress WORD EEPROM address where the cam table is downloaded RunAddress WORD RAM address from where the cam table is used ENO Status of function block execution Done Commanded position reached Signal the function block is waiting for motion Output Busy complete Signal if an error has occurred in the execution of the function bl
46. an anp AXISID 255 Technosoft drive motor with CAN bus interface AXISID 3 PC Host Address 3 120R 5 0 25W Technosoft drive motor CAN_L with CAN bus CAN V interface AXISID 31 a at External supply Figure 2 1 Multiple Axis CAN network Remarks e The 1202 terminating resistors between CAN HI and CAN LO are mandatory e Some Technosoft products do not require an external supply for the CAN interface Technosoft 2007 3 TML_LIB_CJ1 User Manual For the hardware installation of the Technosoft drives motors see their user manual For the hardware installation of the OMRON SYSMAC CJ PLC and the CJ1W CORT21 user defined CAN unit see their user manual For drives motors setup you can connect your PC to any drive motor using an RS232 serial link Through this serial link you can access all the drives motors from the network Alternately you can connect your PC directly on the CAN bus network if it is equipped with one of the CAN interfaces supported by EasySetUp 2 2 Software installation In order to perform successfully the following software installations make sure that you have the Administrator rights 2 2 1 Installing EasySetUp On the TML_LIB_CJ1 installation CD you ll find the setup for EasyMotion Studio Demo version This application includes a fully functional version of EasySetUp and a demo version of EasyMotion Studio Start the setup and follow the installation instr
47. arameter CSPD fixed 0x0240 on drive motor with AxisID 2 WriteFixed Done Error D100 TML_LIB_CJ1 User Manual 3 6 30 TS_WritelntegerParameter Symbol TS_WritelntegerParameter EN Parameters description Input Output Description The function block sends a write integer data message to the drive motor with AxisID When the drive motor receives the message it will write the Value in the data memory location Address The TML uses the following data types e int 16 bit signed integer e uint 16 bit unsigned integer e fixed 32 bit fixed point data with the 16MSB for the integer part and the 16LSB for the factionary part e Jong 32 bit signed integer e ulong 32 bit unsigned integer The data type uint or ulong are reserved for the TML predefined data The user defined variables are always signed Hence you may declare them of type int fixed or long Each TML data parameters variables or registers has an associated address This represents the address of the data memory location where the TML data exists Address ranges for TML data are from 0x0200 to Ox03AF and from 0x0800 to OxO9FF For user defined variables the address range is between 0x03B0 and Ox03FF On detecting a rising edge at the Execute input the function block sends the write integer data The Done output is set when the function block enables the user defined CAN unit to send the message The output Done r
48. arameters and variables associated with the buffer management are the same 2 Both the PVT buffer size and its start address are programmable via TML parameters int 0x0864 and PVTBUFLEN int 0x0865 Therefore if needed the PVT buffer size can be substantially increased Use TS_WritelntegerParameter to change the PVT buffer parameters Table 3 9 ControWord bits description Description 0 0 The PVT mode is relative 1 The PVT mode is absolute Target update mode 1 Generates new trajectory starting from the actual values 0 of position and speed reference i e don t update the reference values with 1 load motor position and speed Target update mode 0 Generates new trajectory starting from the actual values 1 of load motor position and speed i e update the reference values with load motor position and speed 2 0 Don t change the value of PVTPOSO 1 Change PVTPOSO with the value read from PVTPOSO input 3 6 0 Reserved Technosoft 2007 42 TML_LIB_CJ1 User Manual No change in the buffer low parameter Change the buffer low parameter with the value specified in LowLevelValue Reserved If PVT mode is set as absolute the initial position is taken from TML parameter PVTPOSO default 0 The initial position is used to compute the distance to move up to the first PVT point If PVT mode is set as absolute the initial position is taken from TML variable TPOS The initial position is used
49. are sent to a single drive motor The motion commands are sent to a group of drives motors The input EN must be connected to the left bus through P_On flag for proper execution of the function Remarks 1 The function block requires drive motor position loop to be closed During the drive motor setup select Position at Control Mode and perform the position controller tuning 2 If the application requires switching between discrete motion position control and continuous motion speed control you must also close the speed loop and perform the tuning of the speed controller Example The example shows how to concatenate two relative positioning commands for the same axis The first motion is triggered when Go_1 becomes TRUE The second motion can be triggered by Done 1 when the first motion is completed or by Override before the first motion Technosoft 2007 21 TML_LIB_CJ1 User Manual completes If the second motion is triggered with Override it will abort the first motion Figure 3 2displays the signals state for the two cases The second motion sends only the position increment command Technosoft 2007 22 TML_LIB_CJ1 User Manual First motion The function block sends all motion parameters FirstMotion 120 MC_MoveRelative P_On BOOL EN Always ON Flag Gol BOOL Done_1 Execute 10000 0 REAL BOOL Commend b Distance Command amp bor
50. as slave in electronic gearing Don t enable operation as slave in electronic gearing Send gear ratio parameters Don t send the gear ratio parameters Send the master resolution Don t send the master resolution Use master resolution read from input MasterResolution Master resolution is 0Ox80000001 Master position is received via communication channel 0 0 1 0 1 0 1 0 1 0 1 Master position is read from 2 encoder or pulse amp direction inputs CH Target update mode 1 Generates new trajectory starting from the actual values of position and speed reference i e don t update the reference values with load motor position and speed Target update mode 0 Generates new trajectory starting from the actual values of load motor position and speed i e update the reference values with load motor position and speed The slave acceleration is not limited Limit the acceleration of the slave drive motor Reserved The motion commands are sent to one drive motor The motion commands are sent to a group of drives motors The input EN must be connected to the left bus through P_On flag for proper execution of the function Example Technosoft 2007 70 TML_LIB_CJ1 User Manual P_On Always ON Flag GoGear EN amp 3 amp 2000 0 001 84 amp 0 amp 3 P_On Always ON Flag Disengage amp 3 Technosoft 2007 71 TML_LIB_CJ1
51. ck or an error message was received from the drive ErrorlD Information about the error occurred Description The function block programs a relative positioning with an S curve shape of the speed This shape is due to the jerk limitation leading to a trapezoidal or triangular profile for the acceleration and an S curve profile for the speed You specify the position to reach plus the velocity maximum travel speed the maximum acceleration deceleration rate and the jerk rate Technosoft 2007 34 TML_LIB_CJ1 User Manual The function block can be executed only from Standstill state During motion the parameters should not be changed Therefore when executing successive motions with TS_MoveSCurveAbsolute function blocks you should wait for the previous motion to end before setting the new motion parameters and starting next motion When the motion is stopped with function block MC_Stop the deceleration phase can be done in 2 ways e Smooth using an S curve speed profile when ControlWord 3 0 or e Fast using a trapezoidal speed profile when ControlWord 3 1 On detecting a rising edge at the Execute input the function block starts sending motion commands and sets the Busy output The Busy output remains set until the drive motor signals target reached moment when the function block sets the Done output and resets Busy The CommandAborted output is set if another motion function block sends motion commands to
52. cond motion the drive motor stops using a trapezoidal profile with deceleration read from CDEC TML parameter Technosoft 2007 36 TML_LIB_CJ1 User Manual First motion The function block sends all motion parameters The motion profile is computed starting from actual values of load motor position and speed TUMO ControlVord 3 120 FirstMotion MC_MoveAbsolute P_On BOOL EN ENO Always ON Flag Go BOOL Done_1 Done 5000 0 BOOL Commanda amp b i CommandAbor ted 40 0 BOOL Busy_1 if Busy 0 01 J BOOL Error 7 Error 0008 NORD CAORD D100 ErrorlD 81 Done_1 Override Go_2 E Second motion The function block sends all motion parameters a trapezoidal profile is used for deceleration phase started with MC_Stop SecondMotion 125 TS_MoveSCurveRelative P_On Always ON Flag Go_2 Done_2 2500 0 BOOL CommandAb i CommandA amp bor ted 10 0 BOOL Busy_2 if Busy 0 02 BOOL Error_2 j Error 0 02 NORD D102 ErrorlD 0001 EN Technosoft 2007 37 TML_LIB_CJ1 User Manual 3 6 6 MC MoveVelocity Symbol EN Execute MC_MoveVelocity ENO InVelocity Velocity CommandAborted Acceleration ControlWord AxisID Parameter description Input Output Parameters EN Data type Description Enable function execution Execute Send motion commands at rising edge Velocity The jog speed expressed in TML speed internal units
53. d perform the tuning of the speed controller On detecting a rising edge at the Execute input the function block starts sending motion commands and sets the Busy output The Busy output remains set until the drive motor signals target reached moment when the function block sets the Done output and resets Busy The CommandAborted output is set if another motion function block sends motion commands to the same drive motor If a drive s error register information is received during the execution of the function block the output Error is set and its value is passed to ErrorlD All outputs remain set until Execute input is reset but at least for one block call During motion execution the axis is transferred to DiscreteMotion state when the target is reached Done output is set the axis is transferred to Standstill state The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 26 TML_LIB_CJ1 User Manual Example The example implements two consecutive motions for the drive motor with axis ID 1 The first motion is an absolute positioning at 6000 IU implemented with function block FB101 MC_MoveAbsolute The second motion is a relative positioning additive to the first motion implemented with FB MC_MoveAdditive The first motion is triggered when Go_1 becomes TRUE The second motion can be triggered by Done 1 when the first motion is completed or by
54. dAborted command Output Busy The function block is processing the command Signal if an error has occurred in the execution of the Error function block or an error message was received from the drive ErrorlD Information about the error occurred Description The function block programs a drive motor to work in PT motion mode In PT motion mode the drive motor performs a positioning path described through a series of points Each point specifies the desired Position and Time i e contains a PT data Between the points the built in reference generator performs a linear interpolation Remarks The function block just programs the drive motor for PT mode the motion mode is activated from function block TS_PTPoint and therefore the TS_PTPoint must follow TS_SetPT call Also the function block TS_PTPoint sends the PT points to the drive motor The PT motion mode can be started only when the previous motion is complete However you can switch at any moment to another motion mode by calling a different function block with The PT mode can be relative ControlWord 0 0 or absolute ControlWord 0 1 In the absolute mode each PT point specifies the position to reach The initial position may be either the Technosoft 2007 47 TML_LIB_CJ1 User Manual current position reference TML variable TPOS ControlWord 12 1 or a preset value read from the TML parameter PTPOSO ControlWord 12 0 In the relative mode each PT
55. described in PLC standards for motion control Each Technosoft drive motor is represented at PLC level using the term Axis Its behavior is defined through up to 8 states Figure presents the axis behavior implemented through TML_LIB_CJ1 At any moment the axis must be in only one state The states are stored on the PLC for each axis in the TML_DB Table 3 1 shows the axis states and their corresponding values Table 3 1 Axis states State State code State byte value Disable 0 1 Standstill 1 2 Discrete Motion 2 4 Continuous Motion 3 8 Synchronized Motion 4 16 Stopping 5 32 ErrorStop 6 64 Homing 7 128 The implemented function blocks are classified into 2 categories e Administrative no driving motion e g MC Power TS_WritelntegerParameter etc e Motion related e g MC_Gearln MC_MoveVelocity etc The axis state is changed by function blocks that send motion commands towards Technosoft drive motor Administrative functions have no influence on axis state Remark Function TS_CommunicationInit followed by TS_AxisState must be called before any other library function calls since they initialize the CAN bus communication Technosoft 2007 9 TML_LIB_CJ1 User Manual Synchronized Motion MC_Gearln MC_Camin MC_GearOut MC_MoveAbsolute MC_CamOut MC_MoveRelative MC_Stop MC_MoveAbsolute MC_MoveRelative MC_MoveAdditive
56. e 2 Perform the tuning of controllers associated with the selected control mode When the external reference is sent from the PLC use e Function block TS_WriteLongParameter to update the variable EREFP long 0x02A8 e Function block TS_WriteFixedParameter to update the variable EREFS fixed 0x02A8 e Function block TS_WritelntegerParameter to update the variable EREFT or EREFV int 0x02A9 Table 3 16 Control type Input Axis state Position PositionControl DiscreteMotion Speed SpeedControl ContinuousMotion Torque TorqueControl ContinuousMotion Voltage VoltageControl ContinuousMotion On detecting a rising edge at the Execute input the function block checks the inputs PositionControl SpeedControl TorqueControl VoltageControl and starts sending the motion commands according with the first input found set The output Busy is set and remains set until the last motion command is sent moment when the function block sets the Done output and resets Busy If none of the inputs PositionControl SpeedControl TorqueControl or VoltageControl is set when the Execute rising edge is detected the function block sets the Error output and transfers the value 0x8000 at the output ErrorlD The CommandAborted output is set if another motion function block sends motion commands to the same drive motor In position control you can limit the maximum speed at sudden changes of the position reference and thus to reduce the mechanical
57. e is measured from the starting of the PVT mode Each time when the drive receives a new PVT point it is saved into the PVT buffer The reference generator empties the buffer as the PVT points are executed The PVT buffer is of type FIFO first in first out The default length of the PVT buffer is 7 PVT points Each entry in the buffer is made up of 9 words so the default length of the PVT buffer in terms of how much memory space is reserved is 63 3Fh words The drive motor automatically sends messages to the PLC when the buffer is full low or empty The messages contain the PVT status TML variable PVTSTS The buffer full condition occurs when the number of PVT points in the buffer is equal with the buffer size The buffer low condition occurs when the number of PVT points in the buffer is less or equal with a programmable value When ControlWord 7 1 the buffer low level is programmed with the value read from LowLevelValue input The buffer empty condition occurs when the buffer is empty and the execution of the last PVT point is over When the PVT buffer becomes empty the drive motor e Remains in PVT mode if the velocity of last PVT point executed is zero and waits for new points to receive e Enters in quick stop mode if the velocity of last PVT point executed is not zero Therefore a correct PVT sequence must always end with a last PVT point having velocity zero Remarks 1 The PVT and PT modes share the same buffer Therefore the TML p
58. e from 0x0200 to Ox03AF and from 0x0800 to OxO9FF For user defined variables the address range is between 0x03B0 and Ox03FF On detecting a rising edge at the Enable input the function block sends the request message and sets the Busy output Busy remains set until the requested value is available moment when the function block sets the Done output and resets Busy The value received is transferred to output Value The output Done remain set until Enable input is reset If the value read from the Address input is not in the above specified ranges then the Error output is set and the ErrorlD output will have the value 0x0001 The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 106 TML_LIB_CJ1 User Manual Example 5 8 P_On Always ON Flag Read 0273 amp 5 Technosoft 2007 TS_ReadintegerParameter BOOL EN BOOL Enable UINT Address INT Acel 107 BOOL ENO BOOL Done BOOL Busy BOOL Error WORD Errorld INT Value Done Busy Error D200 KI _alue Read the value of TML parameter KII int 0x0273 from drive motor with AxisID 5 Readinteger TML_LIB_CJ1 User Manual 3 6 35 FB MC_ReadStatus Symbol MC_ReadStatus EN Enable Standstill DiscreteMotion ContinuousMotion SynchronizedMotion Homing Parameter description Parameter Data type Description E
59. e function block detects a rising edge at input Execute reads the inputs and sends a PVT point When the PLC receives a message from the drive motor with PVT status the function transfers to output PVTStatus its value Table 3 10 PVT motion mode status BIT VALUE DESCRIPTION 15 0 PVT buffer is not empty 1 PVT buffer is empty there is no PVT point in the buffer and the execution of the current PVT segment is over If PVTSENDOFF 0 default the drive motor will send the PVTSTS each time this bit goes from 0 to 1 14 0 PVT buffer is not low 1 PVT buffer is low the number of PVT points from the buffer is equal or less than the low limit set using SETPVT If PVTSENDOFF 0 default the drive will send the PVTSTS each time this bit goes from 0 to 1 13 0 PVT buffer is not full 1 PVT buffer is full the number of PVT points from the buffer is equal with the buffer dimension If PVTSENDOFF 0 default the drive will send the PVTSTS each time this bit goes from 0 to 1 12 0 No integrity counter error 1 Integrity counter error If integrity counter error checking is enabled and PVTSENDOFF 0 default the drive will send the PVTSTS each time this bit goes from 0 to 1 11 0 The drive has kept the PVT motion mode after a PVT buffer empty condition because the velocity of the last PVT point was 0 1 The drive has performed a Quick stop following a PVT buffer empty condition because the velocity of t
60. e motor with AxisID 1 DoneF aut Bus yFautt TML_LIB_CJ1 User Manual 3 6 25 TS ResetDrive Symbol TS_ResetDrive Parameters description Parameter Data type Description EN BOOL Enable input Input Execute BOOL Send stop command at rising edge AxisID INT AxisID of the drive motor where the command is sent ENO BOOL Enable output Output Done BOOL Signal drive velocity zero Bus BOOL The function process the commands Description Function block makes the transition from ErrorStop to Disable by resetting the drive motor with AxisID After a reset operation the drive motor requires a time period typically 30 ms for initialization during which the communication is not available On detecting a rising edge at the Execute input the function block sends the reset commands and sets the Busy output When The Busy remains set until the timer has elapsed after 30ms moment when the function block sets the Done output and resets the Busy The axis is transferred to Disable state Remarks 1 The function block reinitializes the drive motor with the setup data found in EEPROM If you changed the values of drive motor parameters during normal operation and want to use the same values after the reset call TS SaveParameters prior function block TS_ResetDrive 2 After the reset call function TS AxisState to re enable the drive motor to send automatically messages with its status Technosoft 2007
61. emains set until Execute input is reset Technosoft 2007 98 TML_LIB_CJ1 User Manual If the value read from the Address input is not in the above specified ranges then the Error output is set and the ErrorlD output will have the value 0x0001 The input EN must be connected to the left bus through P_On flag for proper execution of the function Example 0 Write the value 26815 in TML parameter SATP int 0x0265 on drive motor with AxisID 1 Vritelnteger TS_VyritelntegerParameter P_On BOOL EN Always ON Flag Gowrite Done 265 Error 826815 D100 EN 99 TML_LIB_CJ1 User Manual Technosoft 2007 3 6 31 MC_ReadActualPosition Symbol MC_ReadActualPosition Parameter description Input Output Parameter EN Data type BOOL Description Enable function block execution Enable BOOL Request the value of actual position at the rising edge AxisID ENO INT AxisiD of the drive motor where the request is sent Status of function block execution Done The actual position read successfully Busy The function block is waiting to receive the value of actual position Position Actual position expressed in TML position units Description The function block requests the value of the actual position from the drive motor with AxisID On detecting a rising edge at the Enable input the function block sends the request message and sets the Busy output Busy
62. ends the PT points the motion mode is programmed with function block TS_SetPT and therefore the TS_PTPoint must follow TS_SetPT call Technosoft 2007 52 TML_LIB_CJ1 User Manual 3 6 11 TS Homing Symbol TS_Homing EN Execute Position HomingAddress AxisID Parameters description Parameter Data type Description EN Enable function block execution Input Execute Send the stop command at rising edge Position The position set at the end of the homing procedure HomingAddress Program memory address of the homing procedure AxisID Axis ID of the drive motor where the commands are sent ENO State of function block execution Done The homing procedure ended successfully Busy The function is waiting for homing procedure to end Output Signal if an error has occurred in the execution of the Error function block or an error message was received from the drive ErrorlD Information about the error occurred Description The function block starts a homing procedure programmed on the drive motor with AxisID The search for the home position can be done in numerous ways In order to offer maximum flexibility the TML does not impose the homing procedures but lets you define your own according with your application needs The homing procedures are programmed and downloaded on the drive motor using EasyMotion Studio tool Technosoft provides for each intelligent drive motor a collection of u
63. environment The TML_LIB_CJ1 uses the User Defined CAN Unit CJ1W CORT21 through which an OMRON PLC is connected with the Technosoft drives motors via a CAN bus link Scope of This Manual This manual applies to the following Technosoft intelligent drives and motors e IDM240 IDM640 models IDM240 5E1 IDM240 5LI IDM640 8EI and IDM640 8LI with firmware FOOOH or later revision letter must be equal or after H i e J etc e 1IDS240 IDS640 all models with firmware FOOOH or later e ISCM4805 ISCM8005 all models with firmware FOOOH or later e 1IBL2403 all models with firmware F020H or later e 1IPS110 all models with firmware F005H or later e IM23x models IS and MA with firmware F900H or later IMPORTANT For correct operation these drives motors must be programmed with firmware revision H EasySetUp Technosoft IDE for drives motors setup includes a firmware programmer with which you can check your drive motor firmware version and revision and if needed update your drive motor firmware to revision H i EasySetUp is included in TML_LIB_CJ1 installation package as a component of EasyMotion Studio Demo version It can also be downloaded free of charge from Technosoft web page Technosoft 2007 I TML_LIB_CJ1 User Manual Notational Conventions This document uses the following conventions a Drive motor an intelligent drive or an intelligent motor having the drive part integrated in the motor ca
64. essed in TML speed internal Velocity units Input Acceleration rate expressed in TML acceleration Acceleration f s internal units ControlWord Selects the block options Axis ID of the drive motor where the commands are AxisID Sant ENO Status of function block execution Done Signal the motion complete The function block is aborted by another motion CommandAborted function block Signal the function block is waiting for motion Output Busy complete Signal if an error has occurred in the execution of Error the function block or an error message was received from the drive ErrorlD Information about the error occurred Description The function block programs a relative positioning with trapezoidal speed profile The position to reach is computed by adding the position increment to the previous position to reach independently of the moment when the command was issued You specify the position increment plus the velocity maximum travel speed and the acceleration deceleration rate The values of velocity and acceleration must be positive Negative values are taken in modulus on the drive motor Technosoft 2007 25 TML_LIB_CJ1 User Manual Once set the motion parameters are memorized on the drive motor If you intend to use values previously defined by a different motion function block or different instance of the same function block for the acceleration rate the velocity or
65. et e If the error register is received from the drive motor In this case the function block sets the output Error The value of error register is transferred at the output ErrorlD All outputs remain set until Execute input is reset but at least for one block call The input EN must be connected to the left bus through P_On flag for proper execution of the function Table 3 19 ControlWord bits description Value Description Send the cam table input scaling factor CH Don t send the cam table input scaling factor Send the cam table output scaling factor Don t send the cam table input scaling factor Send the cam table offset Don t send the cam table offset Send the master resolution Don t send the master resolution Use master resolution read from input MasterResolution Master resolution is Ox80000001 Master position is received via communication channel Master position is read from 2 encoder or pulse amp direction inputs 1 0 1 0 1 0 1 0 1 0 1 0 Target Update Mode 1 TUM1 Generates new trajectory starting from the actual values of position and speed reference Target Update Mode 0 TUMO Generates new trajectory starting from the actual values of load motor position and speed The acceleration is not limited Limit the acceleration Reserved The motion commands are sent to one drive motor ro o oO The motion command
66. eter Symbol TS_ReadFixedParameter ENO Done Busy Parameter descriptions Input Enable BOOL Request parameter continuously at the rising edge BOOL Is set when the requested value is available Output BOOL The function block is waiting to receive the requested value BOOL Is set when the parameter address is out of range ErrorlD WORD Information about the error occurred REAL The value returned by the drive motor Description The function block requests the value of the TML variable parameter with data memory Address The TML data is of type fixed 32 bit fixed point data with the 16MSB for the integer part and the 16LSB for the factionary part The request is sent to the drive motor with AxisID Each TML data parameters variables or registers has an associated address This represents the address of the data memory location where the TML data exists Address ranges for TML data are from 0x0200 to Ox03AF and from 0x0800 to OxO9FF For user defined variables the address range is between 0x03B0 and Ox03FF On detecting a rising edge at the Enable input the function block sends the request message and sets the Busy output Busy remains set until the requested value is available moment when the function block sets the Done output and resets Busy The value received is converted to real and transferred to output Value The output Done remains set until Enable input is reset If the value read from the Address input is no
67. f the axis is member of group 1 and group 3 it will receive all the messages that in the group ID include group 1 and group 3 Each axis can be programmed to be member of one or several of the 8 possible groups Table 3 2Definition of the groups 0000 0001b 0000 0010b 0000 0100b 0000 1000b 0001 0000b 0010 0000b 0100 0000b 128 1000 0000b By default all function blocks send the commands to one axis Several function blocks can also send commands to a group of axes The destination of the command single axis or group of axes is set through function block s input ControlWord If ControlWord 15 is set when the function block is executed the commands are sent to the axes having the Group ID equal with the value read from input AxisID 16 32 64 Remark When a function block is configured for group commands it will use the buffer allocated to the first axis defined Technosoft 2007 12 TML_LIB_CJ1 User Manual 3 6 Functions descriptions The section presents function blocks implemented in the TML_LIB_CJ1 library The following convention in naming the functions applies to library s elements function name starting with MC refers to a function that complies with PLC standard for example MC_MoveAbsolute The functions name starting with TS refer to a function specific to Technosoft drives motors for example TS_MovePVT The implemented function block
68. f the drive where the write will be performed Status of function block execution Done Is set after the write data message is sent Error Is set when the parameter address is out of range ErrorlD Information about the error occurred Description The function block sends a write long ulong data message to the drive motor with AxisID When the drive motor receives the message it will write the Value in the data memory location Address The TML uses the following data types e int 16 bit signed integer e unt 16 bit unsigned integer e fixed 32 bit fixed point data with the 16MSB for the integer part and the 16LSB for the factionary part e long 32 bit signed integer e ulong 32 bit unsigned integer The data type uint or ulong are reserved for the TML predefined data The user defined variables are always signed Hence you may declare them of type int fixed or long Each TML data parameters variables or registers has an associated address This represents the address of the data memory location where the TML data exists Address ranges for TML data are from 0x0200 to Ox03AF and from 0x0800 to OxO9FF For user defined variables the address range is between 0x03B0 and Ox03FF On detecting a rising edge at the Execute input the function block sends the write data message The Done output is set when the function block enables the user defined CAN unit to send the message The outpu
69. ference Target Update Mode 0 TUMO Generates new trajectory starting from the actual values of load motor position and speed Reserved for new features The motion commands are sent to a one drive motor The motion commands are sent to a group of drives motors The input EN must be connected to the left bus through P_On flag for proper execution of the function Remarks 1 The function block requires drive motor position loop to be closed During the drive motor setup select Position at Control Mode and perform the position controller tuning 2 If the application requires switching between discrete motion position control and continuous motion speed control you must also close the speed loop and perform the tuning of the speed controller Example The example shows how to concatenate two absolute positioning commands for the same axis The first motion is triggered when Go_1 becomes TRUE The second motion can be triggered by Done_1 when the first motion is completed or by Override before the first motion Technosoft 2007 16 TML_LIB_CJ1 User Manual completes If the second motion is triggered with Override it will abort the first motion In Figure 3 1 is displayed the signals state for the two cases Technosoft 2007 17 TML_LIB_CJ1 User Manual FirstMotion MC_MoveAbsolute P On BOOL EN ENO Always ON Flag Go_1 BOOL Done_1 Done
70. for send trigger buffer The send trigger buffer length is No _ axes x 7 16 rounded up to whole numbers e 10 words for receive buffer The receive buffer length is No _ axes x 2 No words e 2 bits for receive trigger buffer The send trigger buffer length is No_ axes x 2 16 rounded up to whole numbers Define global symbols In order to work properly the TML_LIB requires several symbols defined globally Table 2 1 lists the symbols name type address and memory type The CANModuleEnable CANModuleEnabled and CANMessageReceived global symbols address depend on the CAN Unit allocated memory in the ClO area For example if the UnitNo 2 then the start address of the allocated CIO area is ClO01500 25 x UnitNo ClO1550 Then you will have for CANModuleEnable the address ClO1550 04 for Technosoft 2007 6 TML_LIB_CJ1 User Manual CANModuleEnabled the address ClO1553 02 and for CANModuleEnabled the address CI01553 03 Table 1 1 Globally defined symbols Name JL Type Address Memorytype Description AddressinfoAxis WORD User defined User defined Specified the start address of the buffer with axes information Specified the start address of the buffer with AddressSendBuffer User defined CAN message data to be sent Must be in data memory AddressSendTrigger AddressSendTrigger WORD User defined Specified the start address of the buffer with send trigger bits Must be in data memory Specified the start address of the
71. gue you have to 1 Select the appropriate control type for your application at Control Mode 2 Perform the tuning of controllers associated with the selected control mode Technosoft 2007 58 TML_LIB_CJ1 User Manual 3 Setup the analogue reference You specify the reference values corresponding to the upper and lower limits of the analogue input In addition a dead band symmetrical interval and its center point inside the analogue input range may be defined Table 3 13 Control type Axis state Control type Input Axis state Position PositionControl DiscreteMotion Speed SpeedControl ContinuousMotion Torque TorqueControl ContinuousMotion On detecting a rising edge at the Execute input the function block checks the inputs PositionControl SpeedControl TorqueControl and starts sending the motion commands according with the first input found set The output Busy is set and remains set until the last motion command is sent moment when the function block sets the Done output and resets Busy If none of the inputs PositionControl SpeedControl TorqueControl is set when the Execute rising edge is detected the function block sets the Error output and transfers the value 0x8000 at the output ErrorlD The CommandAborted output is set if another motion function block sends motion commands to the same drive motor In position control you can limit the maximum speed at sudden changes of the position reference and thus
72. he ControlWord 3 must be set thus disabling the initialization of the slaves On detecting a rising edge at the input Execute the function block sends the configuration commands to the drive motor with AxisID read from Master input The function block sends the motion commands according with the selections made through ControlWord input The Done output is set when the last message is sent Outputs Error and ErrorlD have no associated functionality The input EN must be connected to the left bus through P_On flag for proper execution of the function Table 3 20 ControlWord bits description Value Description Nothing CH Disable operation as master in electronic gearing camming Enable the operation as master in electronic gearing camming Don t enable the operation as master in electronic gearing camming Send the slave axis group ID read from Slave input Don t send the slave axis group ID Initialize the slaves with actual reference position in electronic gearing Don t initialize the slaves with actual reference position in electronic gearing The master sends its actual position to the slaves The master sends its reference position to the slaves Skip the synchronization procedure setup Change the synchronization procedure according with ControlWord 6 Enable the synchronization procedure with time interval read from SyncPeriod Disable the synchronization procedure Reserved
73. he drive motor Technosoft 2007 4 TML_LIB_CJ1 User Manual Before selection one of the above options you need to establish the communication with the drive motor you want to commission Use menu command Communication Setup to check change your PC communication settings Press the Help button of the dialogue opened Here you can find detailed information about how to setup your drive motor and do the connections Power on the drive motor and then close the Communication Setup dialogue with OK If the communication is established EasySetUp displays in the status bar the bottom line the text Online plus the axis ID of your drive motor and its firmware version Otherwise the text displayed is Offline and a communication error message tells you the error type In this case return to the Communication Setup dialogue press the Help button and check troubleshoots Remark When first started EasySetUp tries to communicate with your drive motor via RS 232 and COM1 default communication settings If your drive motor is powered and connected to your PC port COM1 via an RS 232 cable the communication can be automatically established Step 3 Setup drive motor Press New button and select your drive motor type Depending on the product chosen the selection may continue with the motor technology for example brushless motor brushed motor or the control mode for example stepper open loop or stepper closed loop and type
74. he last PVT point was different from 0 10 0 Normal operation Data received are PVT points 1 A PT point was received while PVT mode is active The PT point was discharged If PVTSENDOFF 0 default the drive motor will send the PVTSTS each time this bit goes from 0 to 1 9 7 0 Reserved 6 0 0 127 Current integrity counter value The input EN must be connected to the left bus through P_On flag for proper execution of the function Remarks The function block just sends the PVT points the motion mode is programmed with function block TS_SetPVT and therefore the TS_PVTPoint must follow TS_SetPVT call Technosoft 2007 46 TML_LIB_CJ1 User Manual 3 6 9 TS_SetPT Symbol TS_SetPT EN Done Execute CommandAborted PTCounterValue LowLevelValue PTPOSO ControlWord AxisID Parameter description Parameters Data type Description EN BOOL Enable function execution Execute BOOL At rising edge the command is sent PTCounterValue INT The new counter value for the first PT point Input LowLevelValue INT The new value for low buffer signaling PTPOSO REAL The initial position for absolute PT mode ControlWord WORD Selects the block options AxisID INT Axis ID of the drive motor where the commands are sent ENO Status of function block execution Done Signal that PT motion mode programmed successfully The motion command is aborted by another motion Comman
75. he same function block for the acceleration rate the velocity or the position to reach you don t need to send their values again in the following trapezoidal profiles Through ControlWord input you can select the motion parameters sent by the function block to the drive motor If ControlWord 15 is set then the axis ID read from AxisID input is interpreted as a group ID The function block will send the motion commands to drives motors members of the group In this case the done output is set after the motion commands are sent Table 3 6 Contro Word bits description Value Description Send position value Don t send the position value Send the speed value Don t send the speed value Send the acceleration value Don t send the acceleration value Smooth stop using an S curve speed profile when function block MC_Stop is called Fast stop using a trapezoidal speed profile when function block MC_Stop is called Reserved for new features The motion commands are sent to a single drive motor The motion commands are sent to a group of drives motors The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 30 TML_LIB_CJ1 User Manual Remarks 1 The function block requires drive motor position loop to be closed During the drive motor setup select Position at Control Mode and perform the position controller t
76. hen ControlWord 15 1 the value is interpreted as a group ID i e the group of slaves to which the master should send its data Remark You need to specify the Axis ID or the Group ID where master sends its position only the first time after power on when a drive is set as master If the master mode is later on disabled function block called with ControlWord 0 1 then enabled function block called with Technosoft 2007 81 TML_LIB_CJ1 User Manual ControlWord 1 0 again there is no need to set again the Axis ID or the Group ID as long as they remain unchanged In this case set the Contro Word 2 1 When ControlWord 5 1 you can change the synchronization procedure between the master and the slave axes The synchronization procedure is enabled when ControlWord 6 0 the time interval between synchronization messages is read from SyncPeriod input or disabled when ControlWord 6 1 Recommended starting value is 20ms When synchronization procedure is active the execution of the control loops on the slaves is synchronized with those of the master within a 10us time interval In electronic gearing if the master activation is done AFTER the slaves are set in electronic gearing mode and its position is different from zero set ControlWord 3 1 before the function block is called This determines the master to send its actual or target reference position to the slaves performing a necessary initialization In electronic camming t
77. iables associated with the buffer management are the same 2 Both the PT buffer size and its start address are programmable via TML parameters int 0x0864 and PVTBUFLEN int 0x0865 Therefore if needed the PT buffer size can be substantially increased Use TS_WritelntegerParameter to change the PT buffer parameters On detecting a rising edge at Execute input the function block reads the inputs and sends the motion commands to the drive motor The output Busy is set and remains set until the function block TS_PTPoint signals motion mode active moment when the Done output is set and Busy reset Table 3 11 ControWord bits description Description 0 0 The PT mode is relative 1 The PT mode is absolute Target update mode 1 Generates new trajectory starting from the actual values 0 of position and speed reference i e don t update the reference values with load motor position and speed Target update mode 0 Generates new trajectory starting from the actual values 1 of load motor position and speed i e update the reference values with load motor position and speed 7 0 No change in the buffer low parameter 1 Change the buffer low parameter with the value specified in LowLevelvalue 11 8 0 Reserved for new features If PT mode is set as absolute the initial position is taken from TML parameter 12 0 PVTPOSO default 0 The initial position is used to compute the distance to move up to the first P
78. igure 3 4 Time diagram for 2 concatenated motions Technosoft 2007 32 TML_LIB_CJ1 User Manual FirstMotion MC_MoveRelative Always ON Flag Done_1 CommandAb Busy_1 Error_1 Override SecondMotion TS_MoveSCurveAbsolute Always ON Flag Done_2 CommandAb Busy_2 Error_2 D102 Technosoft 2007 33 TML_LIB_CJ1 User Manual 3 6 5 TS MoveSCurveRelative Symbol TS_MoveSCurveRelative EN ENO Execute Done Distance CommandAborted Velocity Acceleration Jerk ControlWord AxisID Parameter description Parameters Data type Description Input Output EN Enable function execution Execute Send motion commands at rising edge Distance Position increment expressed in TML position internal units Velocity The slew speed expressed in TML speed internal units Acceleration Acceleration rate expressed in TML acceleration internal units Jerk Acceleration s maximum jerk expressed in TML jerk internal units ControlWord Selects the block options AxisID ENO Axis ID of the drive motor where the commands are sent Status of function block execution Done The motion is complete CommandAborted The function block is function block aborted by another motion Busy Signal the function block is waiting for motion complete Error Signal if an error has occurred in the execution of the function blo
79. ion of the function Technosoft 2007 85 TML_LIB_CJ1 User Manual Example S 100 The function block enables disables the power stage of the drive motor with AxisID 1 PowerAxis_1 MC_Power P_On BOOL EN ENO Always ON Flag Power_1 BOOL PowerStatus Status EN BOOL PowerBusy_1 i Busy BOOL Error 0 1 Busy il H ii 1 SRL 15 Status f Error 0 Figure 3 5 Time diagram for MC_Power Technosoft 2007 86 TML_LIB_CJ1 User Manual 3 6 24 MC_Reset Symbol MC_Reset Parameters description Parameter Data type Description EN BOOL Enable function execution Input Execute BOOL Reset the axis at the rising edge AxisID INT Axis ID of the drive motor where the commands are sent ENO Status of function execution Done The drive motor reached StandStill state The function block is waiting for drive motor power stage to be re enabled Busy Output Signal if an error has occurred in the execution of the Error function block ErrorlD Information about the error occurred Description The function block makes the transition from ErrorStop to Standstill by resetting drive motor FAULT status The function can be called only from ErrorStop state A drive motor enters in the FAULT status when an error occurs In the FAULT status The drive motor is in AXISOFF with the control loops and the power stage deactivated The TML program execution is stopped and
80. itionControl SpeedControl TorqueControl LimitValue ControlWord AxisID Parameter description Parameters Data type Description EN Enable function execution Execute At rising edge the commands are sent PositionControl The analogue reference is a position reference Input SpeedControl The analogue reference is a speed reference TorqueControl The analogue reference is a torque reference Limit value Speed acceleration limit value for position speed control ControlWord Selects the block options AxisID Axis ID of the drive motor where the commands are sent ENO Status of function block execution Done Motion commands sent successfully CommandAborted eee as block is aborted by another motion function Busy The function block is processing the command Signal if an error has occurred in the execution of the function block ErrorlD Information about the error occurred Output Error Description The function block programs the drive motor to work with an external analogue reference read via a dedicated analogue input 10 bit resolution The analogue signal can be interpreted as a position speed or torque analogue reference Through inputs PositionControl SpeedControl and TorqueConirol you select the control type performed by the drive motor Table 3 1 shows the correspondence between the control type inputs and the axis state Remark During the drive motor setup in the Drive setup dialo
81. ling the correction factor by which the cam table output is multiplied This feature addresses the applications where the slaves must execute different position commands at each master cycle all having the same profile defined through a cam table In this case the drive motor is programmed with a unique normalized cam profile and the cam table output is multiplied with the relative position command updated at each master cycle The Master Resolution represents the number of encoder counts per one revolution of the master motor The slaves need the master resolution to compute correctly the master position and speed i e position increment Set ControlWord 4 if master position is not cyclic e g the resolution is equal with the whole 32 bit range of position In this case the master resolution is set to value 0x80000001 Technosoft 2007 76 TML_LIB_CJ1 User Manual On detecting a rising edge at the Execute input the function block starts sending the motion commands and sets the Busy output The function block sends the motion commands according with the selections made through ControlWord input Busy remains set until the drive motor signals coupling completed moment when the function block sets the InCam output and resets Busy While the output InCam is not set the function checks e f other motion function blocks start sending commands to the same drive motor In this case the function is aborted and the output CommandAborted is s
82. mounted to the same PLC The Unit No is set with the rotary switch labeled Unit No The unit number setting determines the ClO and DM area words allocated to the Unit as software switches and the status area Step 2 CAN bus baud rate Use the DIP switches on the front of the User Defined CAN Unit to set the CAN bus baud rate according with the value set for Technosoft drives motors Technosoft drives motors support the following baud rates 125 250 500 800 and 1000 kb The drive motors CAN bus baud rate is set at power on using the following algorithm Technosoft 2007 5 TML_LIB_CJ1 User Manual With the value read from the EEPROM setup table If the setup table is invalid with the last baud rate read from a valid setup table If there is no baud rate set by a valid setup table with 500kb For this baud rate the DIP switches positions must be 1 ON 2 OFF 3 ON and 4 OFF See CJ1W CORT21 User Defined CAN Unit Operation Manual for a description of DIP switches positions for CAN Unit supported baud rates The User Defined CAN Unit is configured through library s function blocks to communicate using CAN protocol 2 0B and thus the messages sent received will have 29 bit identifier 2 5 Build a CX Programmer project with TML_LIB_CJ1 The TM URB Ch library is provided as a collection of STL source files For each library component you will find a source file with extension cxf identifiable by the file name The next steps detail ho
83. mpleted Output Busy Error Is set if drive s motor s error register is received while Done ErrorlD Information about the error occurred Description The function block decouples a slave drive motor set in electronic camming from its master On detecting a rising edge at the input Execute the function block sends the commands for decoupling from the master and sets the Busy output The Done output is set when the disengaging process was successfully executed The function block changes the slave state from SynchronizedMotion to ContinuousMotion the slave keeping the velocity from the moment when the function block was called If the drive s motor s error register is received while the output Done is not set the output Error is set and its value is passed to ErrorlD All outputs remain set until Execute input is reset but at least for one block call The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 79 TML_LIB_CJ1 User Manual Example 3 128 The function block disengages the drive motor from master in electronic camming The drive motor will keep its last speed CamOut MC_CamOut P_On Always ON Flag Out DoneOut EN BusyOut ErrorOut D122 130 The function block stops the motion and transfer the axis in Standstill state P_On Always ON Flag StopJog Stopped 0 8 REAL Stopping Deceleration EN ErrorStop D
84. n internal units The slew speed expressed in TML speed internal units Acceleration increment expressed in TML acceleration internal units ControlWord Selects the block options Axis ID of the drive motor where the commands are sent ENO Status of function block execution Done Commanded position reached Goin manda bored The function block is aborted by another motion function block Signal the function block is waiting for motion complete Signal if an error has occurred in the execution Error of the function block or an error message was received from the drive ErrorlD Information about the error occurred Position Input Velocity Acceleration Output Busy Description The function block programs an absolute positioning with trapezoidal speed profile You specify the position to reach plus the velocity maximum travel and the acceleration deceleration rate The velocity and acceleration must be positive Negative values are taken in modulus On detecting a rising edge at the Execute input the function block starts sending motion commands and sets the Busy output The Busy output remains set until the drive motor signals target reached moment when the function block sets the Done output and resets Busy Technosoft 2007 15 TML_LIB_CJ1 User Manual The CommandAborted output is set if another motion function block sends motion commands to the same drive motor If a drive s e
85. ndition is signaled when in the PYT buffer remain 3 points The PYT mode is absolute SetPVT_2 133 TS_SetPYT P_On BOOL EN ENO Always ON Flag GoSetup_2 BOQL DoneSetup_2 Done amp 10 INT BOQOL Command h Command bor ted amp 3 INT BOOL Busy_2 Busy 1000 0 BOOL Error_2 Error 0005 YORD NORD D100 ErrorlD amp 2 The function block activartes the motion mode and sends the PYT points at each transition of Execute from low to high Point_2 135 TS_PYTPoint P_On BOOL EN ENO Always ON Flag GoPoint_2 BOOL DonePoint Done 2000 0 BOQL CommandAb iti CommandAbor ted 5 0 BOOL Busy if Busy 8100 ORD PYTStatus i PYTStatus amp 10 VYORD BOOL ErrorPoint Error amp 2 INT YORD D101 j ErrorlD Technosoft 2007 44 TML_LIB_CJ1 User Manual 3 6 8 TS_PVTPoint Symbol TS_PVTPoint EN ENO Execute Done Position _CommandAborted Velocity Time PVTCounter AxisID PVTStatus Parameter description Parameters Data type Description EN Enable function execution Execute At rising edge the command is sent Represents the position to be reached at the end of the PVT segment Velocity Is the velocity at the of the PVT segment Represents the time interval of the PVT segment expressed in TML time internal units The counter value for the current point The maximum value for the counter is 127 Position Input Time
86. nit This solution embeds a Technosoft motion control unit in the OMRON environment providing simultaneous access to precise motion control and a large number of distributed peripherals Figure 1 1 This manual presents how to install and use the components of the TML_LIB_CJ1 library These were built following the guidelines described in PLC standards for motion control The functionality and the interface of these additional functions comply with the technical specifications of the standard Remarks e Option 4 requires using EasyMotion Studio instead of EasySetUp With EasyMotion Studio you can create high level motion functions in TML to be called from your PLC e EasyMotion Studio is also recommended if your application includes a homing as it comes with 32 predefined homing procedures to select from with possibility to adapt them Technosoft 2007 1 TML_LIB_CJ1 User Manual Figure 1 1 Technosoft drives motors connections with an OMRON CJ1 PLC Technosoft 2007 2 TML_LIB_CJ1 User Manual 2 Getting started 2 1 Hardware installation Figure 2 1 shows how to connect via a CAN bus link several drives motors with the OMRON SYSMAC CJ series PLC the CJ1W CORT21 user defined CAN unit Technosoft drive motor with CAN bus interface AXISID 1 5 0 25W Technosoft CANH E CAN H drive motor fans can SYSMAC CD with CAN bus can vs leng amp interface CJ1W CORT21 AXISID 2 CAN_GND CL c
87. nized motion position control and continuous motion speed control i e use MC_CamOut you must also close the speed loop and perform the tuning of the speed controller 3 When the reference is read from second encoder or pulse amp direction inputs you don t need to program a drive motor as master in electronic camming Through input SlaveOffset you can shift the cam profile versus the master position by setting an offset for the slave The cam table input is computed as the master position minus the cam offset For example if a cam table is defined between angles 100 to 250 degrees a cam offset of 50 degrees will make the cam table to execute between master angles 150 and 300 degrees The electronic camming can be relative or absolute In the relative mode the output of the cam table is added to the slave actual position In the absolute mode the output of the cam table is the target position to reach TML variable TPOS long 0x02B2 The camming mode absolute or relative is selected with function block MC_CamTableSelect You can compress extend the cam table input Specify through input MasterScaling the correction factor by which the cam table input is multiplied For example an input correction factor of 2 combined with a cam offset of 180 degrees will make possible to execute a cam table defined for 360 degrees of the master in the last 180 degrees You can also compress extend the cam table output Specify through input SlaveSca
88. ock Error ErrorlD Information about the error occurred Description The function block sets the cam table used by the slave drive motor in electronic camming and the electronic camming type absolute or relative In the relative mode SlaveAbsolute 0 the output of the cam table is added to the slave actual position In the absolute mode SlaveAbsolute 1 the output of the cam table is the target position to reach The cam tables are first downloaded into the EEPROM memory of the drive motor then calling MC_CamTableSelect the selected cam table is copied from the EEPROM memory into the drive motor RAM memory You specify the EEPROM address where the cam table is downloaded through input LoadAddress The RAM address where the cam table is copied is set through input RunAddress The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 73 TML_LIB_CJ1 User Manual Remark The LoadAddress and RunAddress are drive motor specific If the cam tables are created and or downloaded with EasyMotion Studio you can find the first cam table LoadAddress and RunAddress from Memory Settings dialogue The Memory Settings dialogue is opened from Application General Information view For applications that require several cam tables their LoadAddress and RunAddress are obtained by adding the cam table length to the addresses of the first cam table Remarks
89. ol The external reference is a voltage reference InitialValue The initial value for reference received on line LimitValue Speed acceleration limit value for position speed control ControlWord Selects the block options AxisID Axis ID of the drive motor where the commands are sent ENO Status of function block execution Done The motion commands sent successfully Gonmancapored The motion command is aborted by another motion command Output Busy The function block is processing the command Signal if an error has occurred in the execution of the Error function block or an error message was received from the drive ErrorlD Information about the error occurred Input Description The function block programs the drive motor to work with an external reference read via a communication channel Depending on the control mode chosen the external reference is saved in one of the TML variables EREFP which becomes the position reference if the input PositionControl is set EREFS which becomes the speed reference if the input SpeedControl is set EREFT which becomes the torque reference if the input TorqueControl is set EREFV which becomes voltage reference if the input VoltageControl is set Technosoft 2007 64 TML_LIB_CJ1 User Manual Remark During the drive motor setup in the Drive setup dialogue you have to 1 Select the appropriate control type for your application at Control Mod
90. on block sets the Done output and resets Busy The CommandAborted output is set if another motion function block sends motion commands to the same drive motor Set ControlWord 0 if you want to follow the external position reference with a different ratio than 1 1 The gear ratio is specified as a ratio of 2 integer values RatioNumerator RatioDenominator The RatioNumerator value is signed while the RatioDenominator is unsigned The sign indicates the direction of movement positive same as the external reference negative reversed to the external reference You can limit the maximum acceleration at sudden changes of the external reference and thus to get a smoother transition This feature is activated by setting ControlWord 0 1 and the maximum acceleration value at LimitValue input The default value for acceleration is O 5IU If ControlWord 15 is set then the axis ID read from AxisID input is interpreted as a group ID The function block will send the motion commands to drives motors members of the group In this case the Done output is set after the motion commands are sent Table 3 15 ControlWord bits description Value Description The acceleration is not limited The acceleration is limited at the value read from LimitValue input The gear ratio is 1 1 The gear ratio is RatioNumerator RatioDenominator Reserved for new features The motion commands are sent to a single drive motor The mo
91. on input The drive motor decelerates following a trapezoidal speed profile The stop command is sent to the drive motor with AxisID On detecting a rising edge at Execute input the function block sends the stop command and sets the Busy output Busy remains set until the drive motor signals velocity zero moment when the function block sets the Done output and resets the Busy If the drive motor error register is received while the output Done is not set the output Error is set and the its value is passed to ErrorlD When the function block is called the axis is transferred to state Stopping and aborts the current motion function block In the Stopping state no motion function block can be called The axis remains in state Stopping until the input Execute is reset when the axis is transferred to state Standstill The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 56 TML_LIB_CJ1 User Manual Example 158 Stop the current motion no motion can be triggered until Execute is reset CurrentAxis value should remain unchanged until AxisStopped is reset Stop P_On BOOL EN ENO Always ON Flag GoStop 091 AxisStopped 0 05 BOOL Stopping Busy Current amp xis BOOL Error i Error AVORD D100 ErrorlD Technosoft 2007 57 TML_LIB_CJ1 User Manual 3 6 13 TS_ExternalAnalogue Symbol TS_ExternalAnalogue EN Execute Pos
92. ong are reserved for the TML predefined data The user defined variables are always signed Hence you may declare them of type int fixed or long Each TML data parameters variables or registers has an associated address This represents the address of the data memory location where the TML data exists Address ranges for TML data are from 0x0200 to Ox03AF and from 0x0800 to OxO9FF For user defined variables the address range is between 0x03B0 and Ox03FF On detecting a rising edge at the Execute input the function block converts the real value read from Value input to 32 bit fixed point data with the 16MSB for the integer part and the 16LSB for Technosoft 2007 96 TML_LIB_CJ1 User Manual the factionary part The Done output is set when the function block enables the user defined CAN unit to send the message The output Done remains set until Execute input is reset If the value supplied at the Address input is not in the above specified ranges then the Error output is set and the ErrorlD output will have the value 0x0001 The input EN must be connected to the left bus through P_On flag for proper execution of the function Example 1 0 P_On BOOL EN Always ON Flag Gowrite BOOL Execute 0240 UINT Address 10 6 REAL Value amp 2 INT Acel Technosoft 2007 97 TS_WriteFixedParameter BOOL ENO BOOL Done BOOL Error YVORD Errorld Write the value 10 6 in TML p
93. otion command is executed Once set the motion parameters are memorized on the drive motor If you intend to use values previously defined by a different motion function block or different instance of the same function block for the acceleration rate the velocity you don t need to send their values again in the following trapezoidal profiles Through ControlWord input you can select the motion parameters sent by the function block to the drive motor If ControlWord 15 is set then the value read from AxisID input is interpreted as a group ID The function block will send the motion commands to drives motors members of the group In this case the done output is set after the motion commands are sent Value Table 3 8 Contro Word bits description Description Send speed value Don t send the speed value Send the acceleration value Don t send the acceleration value Target Update Mode 1 TUM1 Generates new trajectory starting from the actual values of position and speed reference Target Update Mode 0 TUMO Generates new trajectory starting from the actual values of load motor position and speed Reserved The motion commands are sent to a single drive motor The motion commands are sent to a group of drives motors The input EN must be connected to the left bus through P_On flag for proper execution of the function Remarks 1 The function block requires drive motor speed loop to
94. p to 32 homing procedures You may use any of these homing procedures as they are or use them as a starting point for your own homing routines Steps to program the drive motor for homing e Start EasyMotion Studio and load the project associated to your application e Select from the list with all the defined homing procedures one or several to be used e Select the menu command Application Motion Build to compile and link the TML program the result is a file with out extension ready to be downloaded to the drive motor e Establish the communication with your drive and download the TML program with menu command Application Motion Download Program Technosoft 2007 53 TML_LIB_CJ1 User Manual e Open the Command interpreter window and interrogate the drive motor about the program memory address of the homing procedure using the command HomingXX where XX is the homing procedure number Command Interpreter iol sl L gt Homingz oming2 is label with address 0x4031 L gt Homing9 oming9 is label with address Ox40AB L gt e Inthe PLC program call TS_Homing with the homing procedure address and the home position On detecting a rising edge at the input Execute the function block sends the home position and starts the homing procedure on the drive motor The Busy output is set and remains set until the drive motor signals homing procedure completed When the drive motor message is received the function block
95. point specifies the position increment relative to the previous point In both cases the time is relative to the previous point i e represents the duration of a PT segment For the first PT point the time is measured from the starting of the PT mode Each time when a new PT point is received it is saved into the PT buffer The reference generator empties the buffer as the PT points are executed The PT buffer is of type FIFO first in first out The default length of the PT buffer is 7 PT points Each entry in the buffer is made up of 9 words so the default length of the PT buffer in terms of how much memory space is reserved is 63 3Fh words The drive motor automatically sends messages to the PLC when the buffer is full low or empty The messages contain the PT status TML variable PVTSTS The buffer full condition occurs when the number of PT points in the buffer is equal with the buffer size The buffer low condition occurs when the number of PT points in the buffer is less or equal with a programmable value When ControlWord 7 1 the buffer low level is programmed with the value read from LowLevelValue input The buffer empty condition occurs when the buffer is empty and the execution of the last PVT point is over When the PT buffer becomes empty the drive motor hen the PT buffer becomes empty the drive motor keeps the position reference unchanged Remark 1 The PVT and PT modes share the same buffer Therefore the TML parameters and var
96. put Output EN Enable function block execution Execute Send motion commands at rising edge Position Position to reach expressed in TML position internal units Velocity The slew speed expressed in TML speed internal units Acceleration Acceleration rate expressed in TML acceleration internal units Jerk Acceleration maximum jerk expressed in TML jerk internal units ControlWord Selects the block options AxisID ENO Axis ID of the drive motor where the commands are sent Status of function block execution Done Signal the motion complete CommandAborted The function block is aborted by another motion function block Busy Signal the function block is waiting for motion complete Error Signal if an error has occurred in the execution of the function block or an error message was received from the drive ErrorlD Information about the error occurred Description The function block programs an absolute positioning with an S curve shape of the speed This shape is due to the jerk limitation leading to a trapezoidal or triangular profile for the acceleration and an S curve profile for the speed You specify the position to reach plus the velocity maximum travel speed the maximum acceleration deceleration rate and the jerk rate Technosoft 2007 29 TML_LIB_CJ1 User Manual The function block can be executed only from Standstill state
97. r EN Data type BOOL Description Enable function execution Enable BOOL Enable 1 enables power stage 0 disables power stage AxisID INT Axis ID of the drive motor where the commands are sent ENO Status of function block execution Status Effective power stage state Output Busy Signal the function is waiting for power stage status Is set when the power stage of the motor is disabled while Enable input is set Error Description The function block enables disables AxisOn AxisOff the power stage of the drive motor with AxisID On detecting a rising edge at Enable input the function block enables the power stage If no error occurs the axis is transferred from Disable state to Standstill If the drive motor responds with an error message the axis is transferred from Disable to Errorstop The power stage of the drive motor is disabled when the Enable input is reset and the axis is transferred to Disable state The output Status reflects the effective power stage state If power fails i e during operation the input Enable is set and the drive motor power stage is disabled the axis is transferred to Errorstop state and the Error output is set Remark The function TS_AxisState must be executed prior MC_Power call in order to initialize the automatic messages feature of the drive motor from the selected axis The input EN must be connected to the left bus through P_On flag for proper execut
98. remains set until the requested value is available moment when the function block sets the Done output and resets Busy The value received is converted to real and transferred to output Position The output Done remains set until Enable input is reset The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 100 TML_LIB_CJ1 User Manual Example Read the actual position from the drive motor with AxisID 4 The position is stored in variable ActualPosition ReadPosition MC_Read ctualPosition P_On BOOL BOOL EN ENO Always ON Flag Read BOOL BOOL Done Enable Done amp 4 INT BOOL Busy Acel Busy REAL ActualPosition Position Technosoft 2007 101 TML_LIB_CJ1 User Manual 3 6 32 TS _ReadLongParameter Symbol TS_ReadLongParameter Parameter descriptions Data type BOOL Enable function block execution BOOL Request the parameter at the rising edge Input WORD mae memory address from where the value will be AxisiD of the drive motor where the request is sent BOOL Status of function block execution BOOL Is set when the requested value is available Busy BOOL The function block is waiting to receive the requested Output value BOOL Is set when the parameter address is out of range ErrorlD WORD Information about the error occurred DINT The value returned by the drive motor Description The function block requests the
99. rence is read from second encoder or pulse amp direction inputs you don t need to program a drive motor as master in electronic gearing You can smooth the slave coupling with the master by limiting the maximum acceleration on the slave This is particularly useful when the slave must couple with a master running at high speed Setting ControlWord 7 and the maximum acceleration value LimitValue input activates the feature On detecting a rising edge at the Execute input the function block starts sending the motion commands The output Busy is set and remains set until the drive motor signals gear ratio reached moment when the function block sets the InGear output and resets Busy If another motion function block starts sending motion commands while the output InGear is not set the function block is aborted and the CommandAborted output is set Also if the drive error register is received while the output InGear is not set the output Error is set and the error register value is passed to ErrorlD All outputs remain set until Execute input is reset but at least for one block call During motion execution the axis is transferred into SynchronousMotion state and remains in this state until a new motion function block except MC_Gearln and MC_Camln starts sending motion commands to the same drive motor Technosoft 2007 69 TML_LIB_CJ1 User Manual Table 3 18 ControlWord bits description Description Reserved Enable operation
100. rror register information is received during the execution of the function block the output Error is set and its value is passed to ErrorlD All outputs remain set until Execute input is reset but at least for one block call During motion execution the axis is transferred into DiscreteMotion state when the target is reached Done output is set the axis is transferred to Standstill state Once set the motion parameters are memorized on the drive motor If you intend to use values previously defined by a different motion function block or different instance of the same function block for the acceleration rate the velocity or the position to reach you don t need to send their values again in the following trapezoidal profiles Through ControlWord input you can select the motion parameters sent by the function block to the drive motor If ControlWord 15 is set then the value read from AxisID input is interpreted as a group ID The function block will send the motion commands to drives motors members of the group In this case the done output is set after the motion commands are sent Table 3 3 Contro Word bits description Description Send position value Don t send the position value Send the speed value Don t send the speed value Send the acceleration value Don t send the acceleration value Target Update Mode 1 TUM1 Generates new trajectory starting from the actual values of position and speed re
101. s are classified as e Motion related o MC MoveAbsolute MC_MoveRelative MC_MoveAdditive TS_MoveSCurveAbsolute TS_MoveSCurveRelative MC_MoveVelocity TS_ExternalAnalogue TS_ExternalDigital TS_ExternalOnline TS_SetPVT TS_PVTPoint TS_SetPT TS_PTPoint MC_Gearin MC_GearOut MC_Camin MC_CamOut MC_Stop TS_Homing Oo oo oo oo oo oo oo oo OO e Administrative no driving motion o MC_ReadActualPosition MC_ReadStatus MC_Power MC_CamTableSelect TS_SetMaster TS_WriteLongParameter TS_WriteFixedParameter TS_WritelntegerParameter TS_ReadLongParameter TS_ReadFixedParamter TS_ReadIntegerParameter TS_SetGrouplD TS_ResetFault TS_ResetDrive TS_AxisStatus TS_SendCommand TS_SaveParameters Oo Oo Oo Oo 0000000000 0 Technosoft 2007 13 TML_LIB_CJ1 User Manual For each function block you will find the following information e The symbol in LAD representation Parameters description with their name and associated data type A functional description Remarks regarding drive motor setup An example that illustrates how to use the function or function block Technosoft 2007 14 TML_LIB_CJ1 User Manual 3 6 1 MC_MoveAbsolute Symbol MC_MoveAbsolute EN ENO Execute Done Position CommandAborted Velocity Acceleration ControlWord AxisID Parameters description Parameters Data type Description EN Enable function execution Execute Send motion commands at rising edge Position to reach expressed in TML positio
102. s are sent to a group of drives motors Technosoft 2007 77 TML_LIB_CJ1 User Manual Example 124 The function block selects a cam table downloaded in EEPROM at address 0x5D20 The cam table run address is obtained from EasyMotion Studio The electronic camming is absolut if AbsoluteCam is set when Execute rasing edge is detected SelectCam TS_CamTableSelect P_On Always ON Flag Select 5D20 NORD LoadAddress 86CC NORD RunAddress AbsoluteCam EN ge 128 The function block enables the electronic camming slave mode on drive motor with AxisiD The master position is received from second encoder and thus the master setup is not necessary Camin_1 MC_Camin P_On BOOL BOOL EN ENO Always ON Flag GoCamming BOOL BOOL Incam InCam amp 100 BOOL Abort Command bor ted 12 BOOL Busy Busy 15 BOOL Error CAMY Error amp 2000 DINT AYORD D120 MasterResoluti Error 25 0027 EN Technosoft 2007 78 TML_LIB_CJ1 User Manual 3 6 20 MC CamOut Symbol MC_CamOut EN ENO Execute Busy Slave Done Error Error IDJ Parameters description Parameter Data type Description EN BOOL Enable function execution Input Execute BOOL Start disengaging process at rising edge Slave INT AxisiD of the slave drive motor ENO Status of function block execution Done Disengaging completed The function block is waiting for drive motor to signal disengage co
103. s reset but at least for one block call During motion execution the axis is transferred to DiscreteMotion state when the target is reached Done output is set the axis is transferred to Standstill state Once set the motion parameters are memorized on the drive motor If you intend to use values previously defined by a different motion function block or different instance of the same function block for the acceleration rate the velocity or the position to reach you don t need to send their values again in the following trapezoidal profiles Through ControlWord input you can select the motion parameters sent by the function block to the drive motor If ControlWord 15 is set then the value read from AxisID input is interpreted as a group ID The function block will send the motion commands to drives motors members of the group In this case the done output is set after the motion commands are sent Table 3 4 Contro Word bits description Description Send position value Don t send the position value Send the speed value Don t send the speed value Send the acceleration value Don t send the acceleration value Target Update Mode 1 TUM1 Generates new trajectory starting from the actual values of position and speed reference Target Update Mode 0 TUMO Generates new trajectory starting from the actual values of load motor position and speed Reserved for new features The motion commands
104. se a TML Technosoft Motion Language Q IU drive motor internal units Q ACR 5 bit 5 of ACR data Related Documentation MotionChip Il TML Programming part no P091 055 MCII TML UM xxxx describes in detail TML basic concepts motion programming functional description of TML instructions for high level or low level motion programming communication channels and protocols Also give a detailed description of each TML instruction including syntax binary code and examples MotionChip Il Configuration Setup part no P091 055 MCII STP UM xxxx describes the MotionChip Il operation and how to setup its registers and parameters starting from the user application data This is a technical reference manual for all the MotionChip Il registers parameters and variables Help of the EasyMotion Studio software platform describes how to use the EasyMotion Studio which support all new features added to revision H of firmware It includes motion system setup amp tuning wizard motion sequence programming wizard testing and debugging tools like data logging watch control panels on line viewers of TML registers parameters and variables etc Technosoft 2007 IV TML_LIB_CJ1 User Manual If you Need Assistance If you want to Contact Technosoft at Visit Technosoft online World Wide Web http www technosoftmotion com Receive general information World Wide Web http www technosoftmotion com or assistance
105. t Done remains set until Execute input is reset Technosoft 2007 94 TML_LIB_CJ1 User Manual If the value supplied at the Address input is not in the above specified ranges then the Error output is set and the ErrorlD output will have the value 0x0001 The input EN must be connected to the left bus through P_On flag for proper execution of the function Example 4 P_On Always ON Flag Govvrite 029E amp 70000 Sp Technosoft 2007 Write the value 70000 in TML parameter CPOS fixed 0x029E on drive motor with AxisID 6 VriteLong TS_VyriteLongParameter BOOL BOOL EN ENO BOOL BOOL Done Execute Done UINT BOOL Error Address Error DINT NORD D100 Value Errorld INT Acel 95 TML_LIB_CJ1 User Manual 3 6 29 TS WriteFixedParameter Symbol TS_WriteFixedParameter ENO Done Parameters description Input Output Description The function block sends a write fixed data message to the drive motor with AxisID When the drive motor receives the message it will write the Value converted to 32 bit fixed point in the data memory location Address The TML uses the following data types e int 16 bit signed integer e uint 16 bit unsigned integer e fixed 32 bit fixed point data with the 16MSB for the integer part and the 16LSB for the factionary part e long 32 bit signed integer e ulong 32 bit unsigned integer The data type uint or ul
106. t in the above specified ranges then the Error output is set and the ErrorlD output will have the value 0x0001 The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 104 TML_LIB_CJ1 User Manual Example 4 Read the value of TML parameter ASPD fixed 0x022C from drive motor with AxisID 1 ReadFixed 6 TS_ReadFixedParameter P_On Always ON Flag Read Done 022C Busy EN Error D200 Parameter a Technosoft 2007 105 TML_LIB_CJ1 User Manual 3 6 34 FB TS ReadintegerParameter Symbol TS _ReadintegerParameter Data memory address from where the value will be read AxisiD of the drive motor where the request is sent BOOL Status of function block execution BOOL Is set when the requested value is available Output BOOL The function block is waiting to receive the requested value BOOL Is set when the parameter address is out of range WORD Information about the error occurred INT The value returned by the drive motor Description The function block requests the value of the TML variable parameter with data memory Address The TML data is of type int uint 16 bit signed unsigned integer The request is sent to the drive motor with AxisID Each TML data parameters variables or registers has an associated address This represents the address of the data memory location where the TML data exists Address ranges for TML data ar
107. t the axis will receive all messages sent to groups 1 2 and 4 All changes set add remove of group ID are executed with the rising edge of Execute input using the value read from GrouplD The function block tests the inputs Set Add Remove and executes the operation associated to the last input found set Busy output will remain set for one function block call in the next call the function block sets the Done output and resets Busy The output Done remain set until Enable input is reset The inputs Set Add Remove must be set according with the requested operation before the transition of Execute input occurs If none of the inputs Set Add or Remove is set when Execute transition low to high occurs the output Error is set and the ErrorlD becomes equal with 0x8000 Technosoft 2007 110 TML_LIB_CJ1 User Manual The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 111 TML_LIB_CJ1 User Manual Example After the function block execution the drive motor will belong to Group 2 SetGroup TS_SetGrouplD BOOL ENO a 14 The function changes the GrouplD of drive motor with AxisID 1 P_Off BOOL EN Always OFF F GoSetGroup BOOL Execute Set BOOL Set P_Off Always OFF P_Off Always OFF amp 2 EN Technosoft 2007 112 BOOL Done BOOL Busy BOOL Error YORD Error Done Busy Error D102
108. ter s position sensor resolution expressed Input AccelerationLimit Acceleration limit when the slave is coupling expressed in TML acceleration units ControlWord Master Selects the block options Axis ID of the drive motor set as master Slave ENO Axis ID of the drive motor set as slave Status of function block execution InGear Is set when the gear ratio reached CommandAborted The function block is aborted by another function block Output Busy The function block is waiting the slave drive to reach the gear ratio Error Is set if drive s motor s error register is received while InGear ErrorlD Information about the error occurred Description The function block programs a drive motor to operate as slave in electronic gearing In electronic gearing slave mode the drive motor performs a position control At each slow loop sampling period the slave computes the master s position increment and multiplies it with its programmed gear ratio The result is the slave s position reference increment which added to the previous slave position reference gives the new slave position reference The gear ratio is a fixed value containing the result of the division RatioNumerator RatioDenominator RatioNumerator is a signed integer while the RatioDenominator is unsigned integer Technosoft 2007 68 TML_LIB_CJ1 User Manual RatioNumerator sign indicates the direction
109. the position to reach you don t need to send their values again in the following trapezoidal profiles Through ControlWord input you can select the motion parameters sent by the function block to the drive motor If ControlWord 15 is set then the value read from AxisID input is interpreted as a group ID The function block will send the motion commands to drives motors members of the group In this case the done output is set after the motion commands are sent Table 3 5 ControlWord bits description Description Send position value Don t send the position value Send the speed value Don t send the speed value Send the acceleration value Don t send the acceleration value Target Update Mode 1 TUM1 Generates new trajectory starting from the actual values of position and speed reference Target Update Mode 0 TUMO Generates new trajectory starting from the actual values of load motor position and speed Reserved for new features The motion commands are sent to a single drive motor The motion commands are sent to a group of drives motors Remarks 1 The function block requires drive motor position loop to be closed During the drive motor setup select Position at Control Mode and perform the position controller tuning 2 If the application requires switching between discrete motion position control and continuous motion speed control you must also close the speed loop an
110. tion The function block programs a drive motor to operate as slave in electronic camming The slave drive motor executes a cam profile function of the master drive motor position The cam profile is defined by a cam table a set of X Y points where X is cam table Technosoft 2007 TML_LIB_CJ1 User Manual input i e the master position and Y is the cam table output i e the corresponding slave position Between the points the drive motor performs a linear interpolation Remark The active cam table is selected with function block MC_CamTableSelect The slave can get the master position in two ways 1 Via a communication channel ControlWord 5 0 from a drive motor set as master with function block TS_SetMaster 2 Via an external digital reference of type pulse amp direction or quadrature encoder ControlWord 5 1 When master position is provided via the external digital interface the slave computes the master position by counting the pulse amp direction or quadrature encoder signals The initial value of the master position is set by default to 0 Use function block TS_WriteLongParameter to change its value by writing the desired value in the TML variable APOS2 long 0x091C Remarks 1 The function block requires drive motor position loop to be closed During the drive motor setup select Position at Control Mode and perform the position controller tuning 2 If the application requires switching between synchro
111. tion commands are sent to a group of drives motors The input EN must be connected to the left bus through P_On flag for proper execution of the function Example The example programs a drive motor to use digital external reference The position reference is followed with a ratio of 1 3 and the drive motor acceleration is limited to 0 011U Technosoft 2007 62 TML_LIB_CJ1 User Manual 170 P_On Always ON Flag Technosoft 2007 GoDigital EN amp 3 0 01 0003 85 Digital 3 TS_ExternalDigital BOOL EN BOOL N BOOL BOOL InGear BOOL RatioNumerato Command bor r ted INT BOOL RatioDenomina Busy BOOL Error C AVORD ErrorlD 63 The function block programs the drive motor to work with external digital reference The reference is followed with a gear ratio of 1 3 Done CommandA amp b Busy Error D100 TML_LIB_CJ1 User Manual 3 6 15 TS ExternalOnLine Symbol TS_ExternalOnLine EN Execute PositionControl SpeedControl TorqueControl VoltageControl InitialValue LimitValue Control Word AxisID Parameter description Parameters Datatype Description EN Enable function execution Execute Send motion commands at rising edge PositionControl The external reference is a position reference SpeedControl The external reference is a speed reference TorqueControl The external reference is a torque reference VoltageContr
112. uctions 2 2 2 Installing TML_LIB_CuJ1 library Start the TML_LIB_CJ1 setup and follow the installation instructions 2 3 Drive motor setup Before starting to send motion commands from your PLC you need to do the drive motor setup according with your application needs For this operation you ll use EasySetUp EasySetUp is an integrated development environment for the setup of Technosoft drives and motors with the drive integrated in the motor case The output of EasySetUp is a set of setup data which can be downloaded to the drive motor EEPROM or saved on your PC for later use A setup contains all the information needed to configure and parameterize a Technosoft drive motor This information is preserved in the drive motor EEPROM in the setup table The setup table is copied at power on into the RAM memory of the drive motor and is used during runtime The reciprocal is also possible i e to retrieve the complete setup data from a drive motor EEPROM previously programmed Steps to follow for commissioning a Technosoft drive motor Step 1 Start EasySetUp From Windows Start menu execute Start Programs EasySetUp EasySetUp or Start Programs EasyMotion Studio EasySetUp depending on which installation package you have used Step 2 Establish communication EasySetUp starts with an empty window from where you can create a New setup Open a previously created setup which was saved on your PC or Upload the setup from t
113. uning 2 If the application requires switching between discrete motion position control and continuous motion speed control you must also close the speed loop and perform the tuning of the speed controller 3 For stopping with trapezoidal profile the deceleration value is read from TML parameter CDEC fixed 0x0859 Use TS_WriteFixedParameter in order to change its value The default value is 0 5 IU Example The example implements two consecutive motions for the drive motor with axis ID 1 The first motion is a relative positioning at 10000 IU implemented with function block MC_MoveRelative The second motion is an absolute positioning at 6000 IU implemented with FB TS_MoveSCurveAbsolute The first motion is triggered when Go_1 becomes TRUE The second motion can be triggered only when Done_1 is set when the first motion is completed and Override is set too In Figure 3 4 is displayed the signals state for the two cases Technosoft 2007 31 TML_LIB_CJ1 User Manual First motion Go_1 1 0 Time 0 I i i Time i o 1 1 CommandAborted_1 e Time Done_1 Second motion l l l l l l l l l i 1 0 Time l l l l l l l l l l l l o Time 1 CommandAborted_2 Time 0 l Done_2 A a Time Axis motion i i i I Velocity 4 N E el E EE AO N Time i I I 4 i l l Position 6000 ft E Time H WE eee F
114. w features The motion commands are sent to a single drive motor Oo o o 1 EL sch LECH sch The motion commands are sent to a group of drives motors The input EN must be connected to the left bus through P_On flag for proper execution of the function Technosoft 2007 35 TML_LIB_CJ1 User Manual Remarks 1 The function block requires the drive motor position loop to be closed During the drive motor setup select Position at Control Mode and perform the position controller tuning 2 If the application requires switching between discrete motion position control and continuous motion speed control you must also close the speed loop and perform the tuning of the speed controller 3 For stopping with trapezoidal profile the deceleration value is read from TML parameter CDEC fixed 0x0859 Use TS_WriteFixedParameter in order to change its value The default value is 0 5 IU Example The example implements two consecutive motions for the drive motor with axis ID 1 The first motion is an absolute positioning at 5000 IU implemented with function block MC_MoveAbsolute The second motion is a relative positioning with 2500 IU increment implemented with TS_MoveSCurveRelative The first motion is triggered when Go_1 becomes TRUE The second motion can be triggered only when Done_1 is set when the first motion is completed and Override is set too If function block MC_Stop is issued during se
115. w to include the TML_LIB_CJ1 components in a CX Programmer project 1 Create the project Launch CX Programmer and create a new project For details read the CX Programmer online help Configure the memory buffers required by TML_LIB_CJ1 and User Defined CAN Unit The TML_LIB requires a memory buffer where to store the axes information The user specifies the memory type and start address of the buffer through a globally defined symbol named AddressinfoAxis Each axis requires 24 words and thus the length of the buffer is obtained by multiplying the number of axed with 24 Before a CAN message is sent from the CAN Unit the CAN data is stored in a dedicated buffer The message is sent at the end of each PLC cycle if the data buffer has an identifier associated and the corresponding trigger bit is set This mode of operation requires 2 buffers a send buffer where to store the CAN data to be sent and a buffer for the send trigger bits For CAN messages received by the CAN Unit there are also required 2 buffers a receive buffer to store the CAN data received and a buffer for receive triggers that signals received messages The start addresses of the buffer are set through globally defined symbols The addresses of the symbols must be in the data memory and must ensure that the buffers do not overlap For each axis you will have the following requirements e 35 words for send buffer The send buffer length is No _ axes x 35 No words e 7 bits
116. y programmed EasySetUp can be downloaded free of charge from Technosoft web page It is also provided on the TML_LIB_CJ1 installation CD For Step 2 motion programming Technosoft offers multiple options like 1 Use the drives motors embedded motion controller and do the motion programming in Technosoft Motion Language TML For this operation Technosoft provides EasyMotion Studio an IDE for both drives setup and motion programming The output of EasyMotion Studio is a set of setup data and a TML program to download and execute on the drive motor 2 Use a DLL with high level motion functions which can be integrated in a host application written in C C Delphi Pascal Visual Basic or Labview 3 Use a IEC61131 3 compatible library with motion function blocks which can be integrated in a PLC application based on one of the IEC 61136 standard languages 4 Combine option 1 with options 2 or 3 to really distribute the intelligence between the master host and the drives motors in complex multi axis applications Thus instead of trying to command each step of an axis movement you can program the drives motors using TML to execute complex tasks and inform the master when these are done TML_LIB_CJ1 is part of option 3 a IEC61131 3 compatible motion library developed for OMRON SYSMAC CJ family of PLCs The link between the Technosoft drives motors and the OMRON PLC is done via CAN bus using as interface the CJ1W CORT21 user defined CAN u
117. ype of IU these have been named after the associated signals For example the position units are the internal units for position the speed units are the internal units for speed etc The scaling factor of each internal unit shows the correspondence with the international standard units SI The scaling factors are dependent on the product motor and sensor type Put in other words the scaling factors depend on the setup configuration In order to find the internal units and the scaling factors for a specific case select the application in the project window and then execute menu command Help Setup Data Management Internal Units and Scaling Factors Important The Help Setup Data Management Internal Units and Scaling Factors command provides customized information function of the application setup If you change the drive the motor technology or the feedback device check again the scaling factors with this command It may show you other relations 3 4 TML data The TML uses the following data types e int 16 bit signed integer e uint 16 bit unsigned integer e fixed 32 bit fixed point data with the 16MSB for the integer part and the 16LSB for the factionary part e long 32 bit signed integer e ulong 32 bit unsigned integer Since the motion defining parameters i e position distance speed acceleration and jerk have different data types in TML for consistency they are represented at the PLC level using only data type
Download Pdf Manuals
Related Search
Related Contents
Bedienungsanleitung VICTORIA Fahrrad PDFファイル 海上保安庁の航空機用部品特別整備に関する公募 A.O. Smith VB/VW- 1000 User's Manual BT 3105 Cordless Telephone User Manual 3Nota Digitale Satelliten-Receiver Installation and operating instructions pumped Instruction Manual Copyright © All rights reserved.
Failed to retrieve file