Navigation

  • Page 1

    CNC - SERIES S3000Machine LogicDevelopment Manual(PLC)DIR. EMC 89/336DIR. LVD 73/23 + 93/68

  • Page 2

  • Page 3

    Series S3000GeneralMachine Logic Development (PLC) (01) 1REVISIONSRev.# Rev.DateRevised pages00-------01-------21/07/95----------------25/08/99---------------- Second release ...

  • Page 4

    Series S3000General2Machine Logic Development (PLC) (00)REVISIONS (cont.)Rev.# Rev. DateRevised pagesNote:Note: Pages marked by an asterisk (*) were removed, pages marked by a (+) symbol wereadded, and pages without markings were modified.

  • Page 5

    Series S3000GeneralMachine Logic Development (PLC) (01) 3INTRODUCTIONINTRODUCTIONThis manual is intended for the (OEM) of machine tools and machining centers who wish to install theSELCA series S...

  • Page 6

    Series S3000General4Machine Logic Development (PLC) (00)SUMMARYThe manual is divided into three independent parts:Part I Programming language and operating proceduresThis part contains descriptions of all the programming instructions, including simple examples, as well as utilization procedures a...

  • Page 7

    Series S3000GeneralMachine Logic Development (PLC) (01) 5Part IIChapter 1This chapter contains descriptions of the registers, PLC/NC interface variables, including eachvariable's characteristics ...

  • Page 8

    Series S3000General6Machine Logic Development (PLC) (00)INDEXPart I1. USES AND FUNCTIONS1.1. MAIN CHARACTERISTICS OF THE SERIES S3000 ................................................................. 1-12. PROCEDURE2.1. EDITING THE LOGIC ..............................................................

  • Page 9

    Series S3000GeneralMachine Logic Development (PLC) (01) 74. INITIAL DECLARATIONS4.1. DECLARATION OF PHYSICAL INPUTS / OUTPUTS ................................................................4-24....

  • Page 10

    Series S3000General8Machine Logic Development (PLC) (00)7. SPECIAL FUNCTIONS7.1. FLIP FLOP ................................................................................................................................... 7-17.2. MULTIPLEXER .........................................................

  • Page 11

    Series S3000GeneralMachine Logic Development (PLC) (01) 91.8. SPECIAL TYPE AXIS MANAGEMENT .......................................................................................1-221.8.1. PARALL...

  • Page 12

    Series S3000General10Machine Logic Development (PLC) (00)3. ADAPTING THE PLC PROGRAM FROM S1200 TO THE S30004. SUMMARY OF SIGNALS AND REGISTERS4.1. SYMBOLS AND CONVENTIONS................................................................................................ 4-14.2. INTERCHANGEABLE AND F...

  • Page 13

    Series S3000GeneralMachine Logic Development (PLC) (01) 11Part III1. PLC PROGRAMMING EXAMPLESBAS300F - Basic machine (3 axes and spindle) ............................................................

  • Page 14

    Series S3000General12Machine Logic Development (PLC) (00)

  • Page 15

    Series S3000Machine Logic development (PLC) - Part I (00)PART IPROGRAMMINGLANGUAGEANDOPERATING PROCEDURE

  • Page 16

    Series S3000 Machine Logic Development (PLC) - Part I (00)

  • Page 17

    Series S30001. Uses and functionsMachine Logic Development (PLC) (00)1-11. USES AND FUNCTIONSThe Series S3000 offers a selection of controls to satisfy the growing use of machine tools and factoryautomation in general.The CNC S3045 is particularly useful for milling machines for tool makers and...

  • Page 18

    Series S30001. Uses and functions1-2 Machine Logic Development (PLC) (00)• Digital I/O: 32 inputs and 24 outputs, expandable to 384 inputs and 288 outputs.• Analog I/O: 24 outputs and 41 inputs, plus 8 inputs for temperat...

  • Page 19

    Series S30002. Operating procedureMachine Logic Development (PLC) - Part I (01)2-12. PROCEDUREBefore examining the program structure and writing instructions, it is helpful to understand theoperating procedures for the PLC machine logic programs. The procedures for the peripherals notdescribed ...

  • Page 20

    Series S30002. Operating procedure2-2Machine Logic Development (PLC) - Part I (01)2.1. EDITING THE LOGICThe procedures selected from this menu allow the writing of PLC programs directly on the machineusing all of the instructions and commands explained in this manual.To write a new program it is ...

  • Page 21

    Series S30002. Operating procedureMachine Logic Development (PLC) - Part I (01)2-3Edit MenuTo access the edit menu perform the following steps:1. From the APPLICATIONS environment menu shown previously press the softkey LOGICSYS/SETUP to access the main applications menu shown below: LOGIC ED...

  • Page 22

    Series S30002. Operating procedure2-4Machine Logic Development (PLC) - Part I (01)Edit Logic MenuWhen the EDIT LOGIC softkey is pressed a list of all the present logic programs is displayed in thecenter of the screen. One of these may be selected by moving the cursor over the desired programusein...

  • Page 23

    Series S30002. Operating procedureMachine Logic Development (PLC) - Part I (01)2-5Advanced function menuWhen the ADVANCED FUNCTION softkey is selected and sufficient memory space is available, thefollowing menu will appear: HIGHLIGHT BLOCK DELETE BLOCK COPY BLOCK MOVE BLOCK DELETE FROM HERE REP...

  • Page 24

    Series S30002. Operating procedure2-6Machine Logic Development (PLC) - Part I (01)COPY FROM OTHERInsert a block copied from another program into the present programproceed as follows:• Press the IMPORT FROM OTHER softkey for a list of programs inmemory.• Select the program which contains the ...

  • Page 25

    Series S30002. Operating procedureMachine Logic Development (PLC) - Part I (01)2-7RENUMBER BLOCKS To apply the new parameters press this key followed by . You will thenreturn to the previous menu.TRANSLATE PLC 1200 The system S1200 programs differ slightly from the Series S3000 to makethem comp...

  • Page 26

    Series S30002. Operating procedure2-8Machine Logic Development (PLC) - Part I (01)2.4. TRANSLATION OF PROGRAMS EDITED ON S1200The series S3000 systems adopt the following PLC program line numbering syntax:Nxxinstructionin the earlier Selca systems the syntax was:xxinstructionTo automatically conv...

  • Page 27

    Series S30002. Operating procedureMachine Logic Development (PLC) - Part I (01)2-9The function of each of the softkeys is as follows:ENABLE DISPLAYAllows the freezing of variables which are changing rapidly so that they maybe more easily read. These values remain on the display until the key is...

  • Page 28

    Series S30002. Operating procedure2-10Machine Logic Development (PLC) - Part I (01)EXPAND EQUATIONPermits equations to be expanded so that all of the terms in the equationselected by the cursor are displayed separately. Usually this function is usedafter the SEARCH ASSIGN. softkey is pressed.CLEA...

  • Page 29

    Series S30002. Operating procedureMachine Logic Development (PLC) - Part I (01)2-11TIME BASESSelects the interval between two consecutive scans of the signals beinganalized. Normally it is a multiple of 10 mSec (PLC scanning time).Thedefault value is 10 mSec.To analyze quickly changing phenomen...

  • Page 30

    Series S30002. Operating procedure2-12Machine Logic Development (PLC) - Part I (01)If the ACQUIRE key is pressed without having set the trigger parameters, theanalyzer continuously scans the display signals until the key is pressedagain. This application may be useful for example when calibrating...

  • Page 31

    Series S30002. Operating procedureMachine Logic Development (PLC) - Part I (01)2-13Zooming in and out on a trace is performed by using the and keys, the scaling factor is 1,2,4,or 8. The softkeys present in the ANALYZE TRACE menu are as follows: ACQUIRE CURSOR + CURSOR # CURSOR SPEED HIGHLI...

  • Page 32

    Series S30002. Operating procedure2-14Machine Logic Development (PLC) - Part I (01)Storing traces After the traces of signals have been acquired by the graphic analyzer, it is possible to store them in afile by pressing the softkey STORE DATA, and naming the file.To display the data acquired at a...

  • Page 33

    Series S30002. Operating procedureMachine Logic Development (PLC) - Part I (01)2-15EDIT FORCE FILEAllows editing previously stored variable names..RECALL FORCE FILE Recalls a previously stored file which containing display and trace variables.A file name must be supplied by the user or selecte...

  • Page 34

    Series S30002. Operating procedure2-16Machine Logic Development (PLC) - Part I (01)2.6. PLC TABLE MODIFICATIONS AND DISPLAYSThe variables array (tables to the user) declared internally by the PLC program can be displayed andmodified by the user given that the names are known.Pressing the softkey ...

  • Page 35

    Series S30003. Program organizationMachine Logic Development (PLC) - Part I (01)3-13. PROGRAM ORGANIZATION3.1. GENERAL RULESThe following rules should be kept in mind when writing a program:• Each PLC program must have a name containing up to 8 uppercase alphanumeric characters.The first char...

  • Page 36

    Series S30003. Program organization3-2 Machine Logic Development (PLC) - Part I (01) (The default is _MXCHR=6).It must be remembered when using long names for variables that not only will the source printoutnaturally occupy greater space in memory but larger size exec files will also be generated...

  • Page 37

    Series S30003. Program organizationMachine Logic Development (PLC) - Part I (01)3-33.2.2. INITIALIZATION SECTIONInitialization is an optional section following the declaration section.This section, in which inputs and outputs may not be read, allows previously declared variables to beinitialize...

  • Page 38

    Series S30003. Program organization3-4 Machine Logic Development (PLC) - Part I (01)Superslow logicThe SUPERSLOW logic section is comprised of the instructions written between the second and thirdEND, and are executed with lesser priority for such slower phenomena as (thermal compensation,message...

  • Page 39

    Series S30003. Program organizationMachine Logic Development (PLC) - Part I (01)3-5Hexadecimal formatted numbers must contain an H suffix and must be preceded by a 0 if the mostsignificant figure is greater than 9 (ex. 0FA23H).Similarly the Letter B is used for binary numbers (ex. 01011101B).Fo...

  • Page 40

    Series S30003. Program organization3-6 Machine Logic Development (PLC) - Part I (01)DAT02=6ARRAY(DAT01+DAT02+1)=66 : 66 is written to the 11th element of ARRAY.In general the vectorial variables occupy contiguous locations within memory, therefor it is important topay particular attention to the ...

  • Page 41

    Series S30003. Program organizationMachine Logic Development (PLC) - Part I (01)3-7For this purpose the following constants are defined for configuration:• 16 machine constants common to the whole system called; KMF(1), KMF (2), KMF (3),..,KMF(16) -in 32 bit floating point.• 32 constants ca...

  • Page 42

    Series S30003. Program organization3-8 Machine Logic Development (PLC) - Part I (01)3.3.6. ACCESS TO VARIABLE BITSSingle VariablesTo access the bits within a variable the variable is treated as an eight element matrix if it is a BYTE, or16 element matrix if it is a WORD, etc.The following matrix ...

  • Page 43

    Series S30003. Program organizationMachine Logic Development (PLC) - Part I (01)3-9Example:Suppose that the variables CONFI(X) and TEMPOR are WORD typesTEMPOR=CONFI(2)The 2nd element of CONFI is copied to TEMPORBIT12=TEMPOR(12)the variable BIT12 equals the 12th bit in TEMPOR.If, instead, a sing...

  • Page 44

    Series S30003. Program organization3-10 Machine Logic Development (PLC) - Part I (01)

  • Page 45

    Series S30004. DeclarationsMachine Logic Development (PLC) - Part I (01)4-14. INITIAL DECLARATIONSAll of the symbols used in the PLC program must be declared at the beginning of the program usingone of the following keywords described in greater detail further ahead in this chapter.INPphysical ...

  • Page 46

    Series S30004. Declarations4-2Machine Logic Development (PLC) - Part I (01)4.1. DECLARATION OF PHYSICAL INPUTS / OUTPUTSThe program must always begin with the declaration of the inputs and outputs physically connected tothe unit.Inputs and outputs are referenced directly to their physical I/O boa...

  • Page 47

    Series S30004. DeclarationsMachine Logic Development (PLC) - Part I (01)4-3In this case the declaration of the INP must be:INP[,attribute ][,1]NAME1input number 1 on main boardNAME2...NAME96input number 96(last input) on the second expansion boardThe numbering and configuration of the I/O on ea...

  • Page 48

    Series S30004. Declarations4-4Machine Logic Development (PLC) - Part I (01)Example:INPIFCXP[input1TERM,5ISPOK[input6For the listing above, the terminals from 2 - 5 are not used, and the program restarts from the 6thterminal with the signal ISPOK.If the parameter “I/O access diagnostic” is ena...

  • Page 49

    Series S30004. DeclarationsMachine Logic Development (PLC) - Part I (01)4-54.2. DECLARATION OF INTERNAL VARIABLESInternal variables are defined as those variables or signals needed for calculations or internal storagenot directly connected to the physical signals.Depending on whether or not the...

  • Page 50

    Series S30004. Declarations4-6Machine Logic Development (PLC) - Part I (01)The number of vector elements may be as high as 32767 depending on the amount of memoryavailable.As was said earlier, the LONG and DOUBLE variables, being of floating point format, are always usedfor mathematical calculati...

  • Page 51

    Series S30004. DeclarationsMachine Logic Development (PLC) - Part I (01)4-74.4. DECLARATION OF EQUIVALENCESUsing equivalence, different names may be assigned to variables already defined in earlierdeclarations.The equivalence function is as follows:EQU[,attribute]name1:name2...namem:namenwhere ...

  • Page 52

    Series S30004. Declarations4-8Machine Logic Development (PLC) - Part I (01)By way of the declarative EQU, equivalences can be assigned between string variables and bytevectors.This is a useful feature if wishing to dispose of a vector containing the ASCII characters of a givenstring.Es.STRBUFSTR ...

  • Page 53

    Series S30004. DeclarationsMachine Logic Development (PLC) - Part I (01)4-9Example:PULSENAMEANAMEB......PROGNAMEA=(NCMD=5)the namea signal is an NC pulse in manual mode...NAMEB=EMEAthe nameb signal is an NC pulse in Emergency mode4.6. TIMERSThere are 32 fast timers available to the user, with a...

  • Page 54

    Series S30004. Declarations4-10Machine Logic Development (PLC) - Part I (01)The functional display of the timer is as follows:CountInputStopOutputDerivativexTIMERInputoutputDerivativeStopCountCountmoduleNote: The timer output remains high (1) as long as the input is high.INPUT If equal to 1: the ...

  • Page 55

    Series S30004. DeclarationsMachine Logic Development (PLC) - Part I (01)4-11where the count modules may be:- a number between 1 and 32767- a BYTE or WORD variable with contents ranging from 1 to 32767- an expression that results in a BYTE or WORD with the same range as aboveExample 1:FTIMERT1I,...

  • Page 56

    Series S30004. Declarations4-12Machine Logic Development (PLC) - Part I (01)The counter functions as follows:zero:the count value goes to 0 when this signal changes from 0 to 1forward:the counter increments at each rising slope of this signalreverse:the counter decrements at each rising slope of...

  • Page 57

    Series S30004. DeclarationsMachine Logic Development (PLC) - Part I (01)4-134.8. LOGIC DEFINABLE SOFTKEYSThe system has 8 available function keys positioned vertically and located to the right of the display,which can be entirely defined and controlled by the machine logic and accessed by the ...

  • Page 58

    Series S30004. Declarations4-14Machine Logic Development (PLC) - Part I (01)SOFTKEY for menu callWhen a softkey must call the next menu or return to the previous one, the syntax for creating the chainis as follows:switch,lamp,'label',menu numberAn alternative to this method is to select the softk...

  • Page 59

    Series S30004. DeclarationsMachine Logic Development (PLC) - Part I (01)4-15In the declaration of menus the label for each softkey must be specified together with microedit text inall the required languages following the declaration of LANG with the syntax shown:Example:Italian and English mess...

  • Page 60

    Series S30004. Declarations4-16Machine Logic Development (PLC) - Part I (01)

  • Page 61

    Series S30005. Operations and functionsMachine Logic Development (PLC) - Part I (01)5-15. FUNCTION AND OPERATION5.1. PROGRAMMING WITH ELEMENTARY LOGICThe first logical network encountered in any PLC application is a combination of closed and opencontacts representing true or false signals that ...

  • Page 62

    Series S30005. Operations and functions5-2Machine Logic Development (PLC) - Part I (01)Logic operators may be applied to signals, bits, bytes, and words. Expressions are evaluated for bit tobit correspondence. Therefore the operands in the same equation must be of the same type.Example:RAM,16CONF...

  • Page 63

    Series S30005. Operations and functionsMachine Logic Development (PLC) - Part I (01)5-35.3. FLOATING POINT MATHEMATICAL FUNCTIONSThe following functions may be used on single, double, and long formatted variables. Trigonometricfunctional units are degrees.SQR(argument)square rootINT(argument)tr...

  • Page 64

    Series S30005. Operations and functions5-4Machine Logic Development (PLC) - Part I (01)5.5. ROTATIONThis function can be performed on byte and word variables - BIT, LONG, and DOUBLE formats are notallowed. The operand @ is used followed by the number of rotations to be effected.variable@ + neffec...

  • Page 65

    Series S30005. Operations and functionsMachine Logic Development (PLC) - Part I (01)5-5DEC - Set bitOutputs a BYTE or WORD with a 1 in the bit position corresponding to the value of the argument,provided the value does not exceed 16 for words or 8 for bytes.Example:DEC (7) = 01000000Bsince the ...

  • Page 66

    Series S30005. Operations and functions5-6Machine Logic Development (PLC) - Part I (01)Example:BYTE1=BIN(BCD1)if BCD1 was equal to 0001 0010, BYTE1 would be 00001100IFP - Converts a byte or word into floating point formatThis function is necessary for executing mathematical operations on bytes a...

  • Page 67

    Series S30005. Operations and functionsMachine Logic Development (PLC) - Part I (01)5-75.7. STRING OPERATIONSA string is an array of alphanumeric characters excluding commas.5.7.1. NUMERICAL FUNCTIONS WITH STRING ARGUMENTSThese are functions resulting in a numerical value starting with a string...

  • Page 68

    Series S30005. Operations and functions5-8Machine Logic Development (PLC) - Part I (01)argument4 specifies how many characters in argument 2 must be searched through starting from argument 3argument1 and argument2 may be:- a sequence of characters delimitated by inverted commas- a string variabl...

  • Page 69

    Series S30005. Operations and functionsMachine Logic Development (PLC) - Part I (01)5-9LUNST=LEN(MSG1)[LUNST contains the number of characters in MSG1STRCMP - String comparisonscompares two arguments specified by the operator and supplies a result of true or false. The twoarguments may take dif...

  • Page 70

    Series S30005. Operations and functions5-10Machine Logic Development (PLC) - Part I (01)5.7.2. STRING FUNCTIONS ON NUMERICAL ARGUMENTSThe result of these functions are strings of characters whose formats can be a string of any length.MKN$ - converts a number into string formatConverts any number ...

  • Page 71

    Series S30005. Operations and functionsMachine Logic Development (PLC) - Part I (01)5-11Example:LETTER=CHR$(035)[LETTER will contain the character #STRNG$ - Generates a string of equivalent charactersGenerates a string of identical characters for a specified ASCII code. The format is:STRNG$(arg...

  • Page 72

    Series S30005. Operations and functions5-12Machine Logic Development (PLC) - Part I (01)The output of the function must be assigned to a string variable. The following rules apply:• If argument2 is longer than argument1 the result is an empty string• If argument3+argument 2 is longer than arg...

  • Page 73

    Series S30005. Operations and functionsMachine Logic Development (PLC) - Part I (01)5-13RIGHT$ - Extracts a string starting from the rightExtracts a specified number of characters starting from the last character in the string. The format is:RIGHT$(argument1, argument2)where:argument1 is the st...

  • Page 74

    Series S30005. Operations and functions5-14Machine Logic Development (PLC) - Part I (01)

  • Page 75

    Series S30006. Instructions to control the program flowMachine Logic Development (PLC) - Part I (00)6-16. INSTRUCTIONS FOR PROGRAMFLOW CONTROLA LABEL is the name given to a program line which is to be called by a subroutine or jump statement.Labels can be identified by the use of the ":&qu...

  • Page 76

    Series S30006. Instructions to control the program flow6-2Machine Logic Development (PLC) - Part I (00)6.2. CONDITIONAL JUMPThe format is as follows:IF(equation or signal)labelx...labelx:If the equation or signal is true (high), the program will jump to the labelx, else it will continue with then...

  • Page 77

    Series S30006. Instructions to control the program flowMachine Logic Development (PLC) - Part I (00)6-3where expression may be:- a BYTE or WORD with a value between 1 and 255- an expression which results in a BYTE or WORD with a value between 1 and 255The maximum number of LABELS is 255. If the...

  • Page 78

    Series S30006. Instructions to control the program flow6-4Machine Logic Development (PLC) - Part I (00)If the expression is equal to 0, the next block is executed.Example:RAM,16SELECTPROGSELECT=0000000000000100BGOTP(SELECT)FAS1,FAS2,FAS3the execution passes to LABEL FAS36.6. LOOPThe format is:EXE...

  • Page 79

    Series S30006. Instructions to control the program flowMachine Logic Development (PLC) - Part I (00)6-56.7. SUBROUTINETo call a subroutine; the instruction CALL is used, followed by the name of the subroutine desired.The last instruction of a subroutine must be RTS to return.A subroutine is cal...

  • Page 80

    Series S30006. Instructions to control the program flow6-6Machine Logic Development (PLC) - Part I (00)

  • Page 81

    Series S30007. Special functionsMachine Logic Development (PLC) - Part I (01)7-17. SPECIAL FUNCTIONSThis chapter describes certain functions which have not been described in earlier chapters, and whichmay be used to activate machine signals, for searching vector variables, for managing the user...

  • Page 82

    Series S30007. Special functions7-2Machine Logic Development (PLC) - Part I (01)where:sel1, sel2, sel3, sel4,are selection control variables in BIT format or expressions resulting intrue or falsevar1, var2, var3, var4,are BYTE, WORD, LONG or DOUBLE formatted just as varout.The list of selecti...

  • Page 83

    Series S30007. Special functionsMachine Logic Development (PLC) - Part I (01)7-37.4. MESSAGES FOR THE OPERATORThe display screen provides 16 lines for messages of up to 62 characters each. They may beaccessed by the softkey LOGIC MESSAGES.To display a message the command DISPL is used followed ...

  • Page 84

    Series S30007. Special functions7-4Machine Logic Development (PLC) - Part I (01)CLR,linewhere line may be:- an integer between 0 and 16- a BYTE or WORD with a value between 0 and 16- an expression resulting in a BYTE or WORD with a value between 0 and 16Since message texts, such as MESDI in the p...

  • Page 85

    Series S30007. Special functionsMachine Logic Development (PLC) - Part I (01)7-5When a COM command is run the coordinate system functions are automatically reset (origindisplacement, fixed cycles, rotary translation, ...)The FEED and SPEED values can be saved in the P() parameters (example : P(...

  • Page 86

    Series S30007. Special functions7-6Machine Logic Development (PLC) - Part I (01)Example:In the following example the program PALLETS is called from the machine logic program using a COMinstruction following the M21 function and with BURDY high, ie. in synchronous mode:...IF("BURDY)ASINCDHOLD...

  • Page 87

    Series S30007. Special functionsMachine Logic Development (PLC) - Part I (01)7-7 MACHINE LOGIC PROGRAM COMMANDS:RUNNING IN ASYNCHRONOUS MODE The PLC can request running of a COM subprogram even asynchronously with respect to the programbeing executed.This feature can, for example, be used to ma...

  • Page 88

    Series S30007. Special functions7-8Machine Logic Development (PLC) - Part I (01)

  • Page 89

    Series S3000Machine Logic Development (PLC) - Part II (00)PART IISYSTEM INTERFACE

  • Page 90

    Series S3000 Machine Logic Development (PLC) - Part II (00)

  • Page 91

    Series S3000IntroductionMachine Logic Development (PLC) - Part II (00) 1INTRODUCTIONThe information found in this section concerns the interchange variables and signals used between thePLC (Programmable Logic Controller) section and the NC (Numerical Control) section of S3000controls. This...

  • Page 92

    Serie S3000Introduction2 Machine Logic Development (PLC) - Part II (00)The symbology used are the following:The character () after the name of a register indicates there is a multi-element vector in the specifiedformat (f...

  • Page 93

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-11. SIGNAL FLOW AND DATAEXCHANGE1.1. NC STATUSThe Numerical Control system signals its status to the PLC using two signals NCMD for the operatingstatus and STBMD as status change strobe signal.NCMD c...

  • Page 94

    Series S30001. Management and flow of commands1-2Machine Logic Development (PLC) - Part II (01)1.2. AUXILIARY SYNCHRONOUS AND PREPARATORYFUNCTIONSThe presence in the program blocks of an auxiliary function M, S, T, H performed individually (in singleblock status) or in the interior of a program (...

  • Page 95

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-3END...END[routines sectionGEFUM:$IF(AUXM=3) ...; RTSIF(AUXM =11) M11...RTSM11:$IF(AXPGM=0) SSA=00000111B; RTS; ELSE SSA=AXPGM; RTS [M11 management...1.2.1. ACQUISITION OF PLC TO NC SYNCHRONOUS INFORM...

  • Page 96

    Series S30001. Management and flow of commands1-4Machine Logic Development (PLC) - Part II (01)1.2.4. EXECUTION OF AUXILIARY FUNCTIONS “ON THE FLY”Auxiliary functions (see table at the end of the manual) can be executed immediately during acontinuous movement block with no axis deceleration, ...

  • Page 97

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-51.3. ASYNCHRONOUS START, STOP, ALARM ANDACKNOWLEDGE CONTROLSThis group of signals allows the PLC to temporarily or permanently stop the activity in progress on theNC without affecting the spindles, ...

  • Page 98

    Series S30001. Management and flow of commands1-6Machine Logic Development (PLC) - Part II (01)M.C. off due to emergency.Every subsequent execution instruction is refused.The EMEA signal is also activated following internal NC alarms and alarms associated withtransducers and servos.To exit from t...

  • Page 99

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-7Notes regarding the display of the status of stop signals• For the signals FHOLD, DHOLD, HOLDA there are condition variables which can be used in thescreen configuration tables which allow signals ...

  • Page 100

    Series S30001. Management and flow of commands1-8Machine Logic Development (PLC) - Part II (01)The origins are activated separately by the O functions.The code O0 allows for the passage to the absolute origin. O-1 restores the last origin present beforepassing to absolute origin.The activation of...

  • Page 101

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-9During the period when the registers MOVCN and RDMOV are different, that is, in the axis lock/unlockphase, the NC waits for this confirmation before initiating a movement or passing to a subsequentbl...

  • Page 102

    Series S30001. Management and flow of commands1-10Machine Logic Development (PLC) - Part II (01)Summary of Registers and Signals InvolvedSSA8NCï PLC noAxes that must always be active (1..8).1.5.3. AXIS RELEASE (M45 - M46)If an axis which is normally under control must be operated by an external...

  • Page 103

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-11The choice of JOG axes is determined by setting the corresponding bit to the axis on registerMOVMA. The registers JOGP and JOGM initiate the movement and determine the direction.The axis is enabled ...

  • Page 104

    Series S30001. Management and flow of commands1-12Machine Logic Development (PLC) - Part II (01)In the configuration data it is necessary to specify whether or not a home microswitch is present. Thisinformation is used by the NC to differentiate special cases such as the use of a resolver connect...

  • Page 105

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-13JOG released during “A” phase before beingemployed by MIZER:If the transducer had already been zeroed. Thevalue of the previous MIZEA takes precedence.JOG released during “A” phase after MI...

  • Page 106

    Series S30001. Management and flow of commands1-14Machine Logic Development (PLC) - Part II (01)Timing of home cycle on microswitchMiczeJogMizerMovcnTransducerZeroMizeaSpeedTimeV1V2-V1P1P2ABCP1 = point at which value machine zero is enteredP2 = position of end of home cycleV1 = home speedV2 = spe...

  • Page 107

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-15Homing using the electrical zero of the transducer (marker)A phase:• After having set the bit corresponding to the axis on the register MARK, the axis is enabled andtaken under control (if not al...

  • Page 108

    Series S30001. Management and flow of commands1-16Machine Logic Development (PLC) - Part II (01)Home cycle using markerTransducerZeroSpeedPositionABP1P1= position of end of home cycleTiming of home cycle using markerSpeedTimeABP1V1-V1MarkJogMovcnTransducerZeroMizeaP1 = Home cycle positionV1 = Hom...

  • Page 109

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-17Summary of registers and signals involvedMICZE8NCï PLC noAxis selected for homing with home switch (1..8).MARK8NCï PLC noAxis selected for homing without home switch (1..8).MIZER8NCï PLC noHome s...

  • Page 110

    Series S30001. Management and flow of commands1-18Machine Logic Development (PLC) - Part II (01)Summary of Registers and Signals InvolvedFor axis controlERR()64NCð PLC noAxis following error (1..8).VATT64NCð PLC noActual velocity along the tool path.TACH()64NCð PLC noAxis velocity (1..8) .VFF(...

  • Page 111

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-19Information regarding controlled axes: new variablesVariables for debugging and axis calibration: NameSizeDirectionDescriptionAXRIF()64NC ⇒ PLCSpeed command sent to the axes (1..8) [mm/min].OFSVA...

  • Page 112

    Series S30001. Management and flow of commands1-20Machine Logic Development (PLC) - Part II (01) Typically this feature is used on machines with rotational head and with a second, opposing spindle;the additional offsets represent the position differences between the first spindle «nose» and the...

  • Page 113

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-21 CONTROLLED AXIS SOFTWARE LIMITS: DE-ACTIVATING ERROR E93 By setting the variable CWFCS it is possible to disable the detection prior to the software limitmovement and, as a result, the reporting o...

  • Page 114

    Series S30001. Management and flow of commands1-22Machine Logic Development (PLC) - Part II (01)1.8. SPECIAL TYPE AXIS MANAGEMENT1.8.1. PARALLEL (GANTRY) AXESGantry axes are normally managed by the NC system software according to the configurationparameters.Configuration parameters concerning ac...

  • Page 115

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-23The programmed positions are passed on the array AUXPF() as follows:AUXPF(1) = position of axis A with strobe STRPF(1)AUXPF(2) = position of axis B with strobe STRPF(2)AUXPF(3) = position of axis C...

  • Page 116

    Series S30001. Management and flow of commands1-24Machine Logic Development (PLC) - Part II (01)ANI(3) signifies analog input channel 3 of the first I/OMIX boardAnalog outputsThe analog outputs written by the PLC with a numeric value in 64 bit format varying between -1 and 1as a percentage of the...

  • Page 117

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-251.9.READING AND WRITING ANALOG INPUTS ANDOUTPUTSThe PLC has the ability to directly access the physical analog input and output channels.Every element in the following registers has as an index, the...

  • Page 118

    Series S30001. Management and flow of commands1-26Machine Logic Development (PLC) - Part II (01)These have the same name, but they have nothing to do with the Pxx parameters of the part programexecuted directly by the operator.Summary of Registers and Signals InvolvedVPLFL32NCð PLC yesFLOATING v...

  • Page 119

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-27Summary of Registers and Signals InvolvedSFKMEN8NCó PLC noCurrent PLC softkey menu.SFKLNG16NCð PLC noActive language code on NCCNDVIS( ) 16NCï PLC noWord array to use during changing condition in...

  • Page 120

    Series S30001. Management and flow of commands1-28Machine Logic Development (PLC) - Part II (01)COPIA(3)1NCó PLC noActive copying cycle signal. When reset by PLC it signifies theend of the cycle. It is important to terminate a digitizing cycle byzeroing out this bit (or with the appropriate sof...

  • Page 121

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-29COPIA4(6)ReservedCOPIA4(7)ReservedCOPIA4(8)ReservedPOCOP64NCï PLC noManual copying gain control. The value can vary from 0 to 1and multiplies the gain of the control in copying from 1 to 5,varying ...

  • Page 122

    Series S30001. Management and flow of commands1-30Machine Logic Development (PLC) - Part II (01)1.14. VARIABLES TO VERIFY SYSTEM EXECUTION TIMESThe variables summarized below are available for evaluating the the time taken by the system toexecute various operations:Summary of Registers and Signal...

  • Page 123

    Series S30001. Management and flow of commandsMachine Logic Development (PLC) - Part II (01) 1-311.16. READING AND MODIFING AXIS CONFIGURATIONPARAMETERSIn order to use sophisticated auto-calibration techniques, the PLC has the ability to read andtemporarily or permanently modify some controlled...

  • Page 124

    Series S30001. Management and flow of commands1-32Machine Logic Development (PLC) - Part II (01)1.17. MANAGEMENT OF NUMEROUS SIMULTANEOUSLYINTERPOLATING AXIS GROUPS (GDA). Subject to declaration in the CNC Setup parameters, it is possible to configure up to 8 interpolatingaxis groups, each capab...

  • Page 125

    Series S30002. Dedicated internal modulesMachine Logic Development PLC - Part II (01) 2-12. DEDICATED INTERNAL MODULESIt is possible to use the INTERNAL MODULES, to simplify the management of frequently usedcomplex functions. By setting some variables you obtain the desired effe...

  • Page 126

    Series S30002. Dedicated internal modules2-2Machine Logic Development (PLC) - Part II (01)SPSSO() ((Potentiometer override).It is possible to regulate the speed between 0 and 200% of the given speed by choosing avalue on this register between 0 to 2 (with respect to the maximum speed range).SPD...

  • Page 127

    Series S30002. Dedicated internal modulesMachine Logic Development PLC - Part II (01) 2-32.1.3. SIGNALS AND REGISTERS FOR SPINDLE ORIENTATIONSPORI (Orientation request).By setting the first 4 bits (one for each spindle) of this register, the spindle orient requestSPPOS is provid...

  • Page 128

    Series S30002. Dedicated internal modules2-4Machine Logic Development (PLC) - Part II (01)keeping the synchronization specified with the SPOFS offset. This will work only if the speedratio for synchronization is an integer.All the parameters relative to the slave spindle to be synchronized must ...

  • Page 129

    Series S30002. Dedicated internal modulesMachine Logic Development PLC - Part II (01) 2-5SPTCH() (Effective spindle speed).The spindle speed determined by the transducer, is read directly in rpm on each register.PASP() (Absolute angular position of the spindle).The transducer mu...

  • Page 130

    Series S30002. Dedicated internal modules2-6Machine Logic Development (PLC) - Part II (01)2.1.7. NOTES ON THE FIXED CYCLE G84For the G84 fixed cycle with a transducer it is necessary to specify using the SPGDA variable, whichone of the four possible spindles is synchronized with the master spindl...

  • Page 131

    Series S30002. Dedicated internal modulesMachine Logic Development PLC - Part II (01) 2-7Common to all operationsSPMOV8NCð PLC noRequest to move spindle(s) (1..4).SPDIS8NCï PLC noGeneral disable command spindle(s) (1..4).SPDRQ8NCï PLC noDisable transducer spindle(s) (1..4).SP...

  • Page 132

    Series S30002. Dedicated internal modules2-8Machine Logic Development (PLC) - Part II (01)RUNP2P8NCï PLC noPositioning commands in automatic for axes, (1-8). They mustbe set by the PLC to command the movement to the setposition; they are reset by the NC when the axis, having endedthe movement, ...

  • Page 133

    Series S30002. Dedicated internal modulesMachine Logic Development PLC - Part II (01) 2-9 NameSizeDirectionDescriptionSHIP2P()64PLC ⇒ NCOrigin shift for independent axes (1..8). Allows definition of a zero position different from the absolute zero.The final positions of PFNP2...

  • Page 134

    Series S30002. Dedicated internal modules2-10Machine Logic Development (PLC) - Part II (01)2.3. TOOL CHANGER CONTROL MODULETool change management (abbreviated TC) is simplified by the presence of an integrated module witha reduced number of variables.The TC type must be input in the NC configurat...

  • Page 135

    Series S30002. Dedicated internal modulesMachine Logic Development PLC - Part II (01) 2-11When it is necessary to differentiate the tools by different types and sizes, the following must also beconsidered:TOOL TYPE:normal tool: used with the selected TC type in a coherent manner...

  • Page 136

    Series S30002. Dedicated internal modules2-12Machine Logic Development (PLC) - Part II (01)2.3.3. CONFIGURATION OF AUTOMATIC TOOL CHANGERThe choices relative to the storage configuration and the positions occupied for the different tool sizesthat must be set in the configuration, are summarized ...

  • Page 137

    Series S30002. Dedicated internal modulesMachine Logic Development PLC - Part II (01) 2-132.3.4. SEQUENCE DEFINITIONSEvery TC SEQUENCE must be defined with mandatory codes in the PLC program and identified withnegative numbers. These codes are necessary for the updating of the t...

  • Page 138

    Series S30002. Dedicated internal modules2-14Machine Logic Development (PLC) - Part II (01)Exchange sequences between tools from the floor and tool storage (SELECU = 0)Sequence 4: -1, -5, -6, -10, -17, -34 unload tool from spindle to floor, pick up tool from storage and place in spin...

  • Page 139

    Series S30002. Dedicated internal modulesMachine Logic Development PLC - Part II (01) 2-15Synchronous tool changesManagement sequence of tools on floor (with POSIZ. MAGAZ. = 0 and SELECU = 0 orSELECU=1):Sequence 1: -6, -16, -34 pick up tool and place in spindleSe...

  • Page 140

    Series S30002. Dedicated internal modules2-16Machine Logic Development (PLC) - Part II (01)Semiasynchronous tool changesThis configuration has the following characteristics:- Physically no intermediate station exists, the gripper and intermediate station cells havenon significance in the tool tab...

  • Page 141

    Series S30002. Dedicated internal modulesMachine Logic Development PLC - Part II (01) 2-17SP INDLESTORAGE-1= REQUEST NEW TOOL POS.-23= REQUEST OLD TOOL POS.FLOOR-16-10 -6 = Wa it M06-34 = End CU-9-4-13PLC program implementationExample: ASYNCHRONOUS RANDOM CHAIN TCINITDEF SEQCU(...

  • Page 142

    Series S30002. Dedicated internal modules2-18Machine Logic Development (PLC) - Part II (01)• prepares on OFST register the corrector code associated to the new toolat the end it sends to the PLC, on the OPERCU register, the sequence defined in DEF SEQCU(n), the operation codes accompanied by a ...

  • Page 143

    Series S30002. Dedicated internal modulesMachine Logic Development PLC - Part II (01) 2-19When managing tools subdivided by group (alternative tools) particular care must be taken. In thesecases the tool to be mounted does not necessarily have the same programmed “T” code, ...

  • Page 144

    Series S30002. Dedicated internal modules2-20Machine Logic Development (PLC) - Part II (01)Integrated tool life management The tool life management algorithm permits checking of the machining time (REMAINING LIFE) of thetool in the spindle by means of a «counter» which is decremented by the CN...

  • Page 145

    Series S30002. Dedicated internal modulesMachine Logic Development PLC - Part II (01) 2-212.3.8. DESCRIPTION OF PLC VARIABLESUTECU16NCï PLC noTool number request to tool change module.UTECU = 0 is a particular code reserved for the returntool sequence from spindle to storage (o...

  • Page 146

    Series S30002. Dedicated internal modules2-22Machine Logic Development (PLC) - Part II (01) NEW INFORMATION VARIABLES The PLC can acquire some configuration parameters to be able to implement more flexible andgeneral programs; the information is available in the following variables: NameSizeDir...

  • Page 147

    Series S30002. Dedicated internal modulesMachine Logic Development PLC - Part II (01) 2-23If the exclude state flag is equal to "yes" the corresponding tool will never be mounted it will be treatedas if not present in storage (the tool may be declared excluded if its i...

  • Page 148

    Series S30002. Dedicated internal modules2-24Machine Logic Development (PLC) - Part II (01)Signals and registers summaryUTENRI16NCð PLC noLine number in the tool, maximum number of vector elementsrepresenting the columns in the tool table.UTNUM()16NCó PLC noTool codes in the table (1 .. UTENRI)...

  • Page 149

    Series S30003. Adapting a PLC program from S1200 to S3000Machine Logic Development (PLC) - Part II (00) 3-13. ADAPTING A PLC PROGRAM FROMS1200 TO S3000In the following pages are described the main modifications to make PLC ...

  • Page 150

    Series S30003. Adapting a PLC program from S1200 to S30003-2Machine Logic Development (PLC) - Part II (00)[******** POTENTIOMETER MANAGEMENT ************POTER =1 [potentiometer managementLEPOTE=LAD(POMA) [reading pot. Input manual [and format conv...

  • Page 151

    Series S30003. Adapting a PLC program from S1200 to S3000Machine Logic Development (PLC) - Part II (00) 3-3[**** MANUAL JOG **********[In manual jog only[**** MANUAL JOG **********[To select the JOG movement in manual it i...

  • Page 152

    Series S30003. Adapting a PLC program from S1200 to S30003-4Machine Logic Development (PLC) - Part II (00)

  • Page 153

    Series S3000 4. Summary of predefined signals and registers Machine Logic Development (PLC) - Part II (01) 4-1 4. SUMMARY OF SIGNALS AND REGISTERS 4.1. SYMBOLS AND CONVENTIONS The information found in this section ...

  • Page 154

    Series S3000 4. Summary of predefined signals and registers 4-2 Machine Logic Development (PLC) - Part II (01) The character () after the name of a register indicates there is a multi-element vector in the specified format (for example, UTNUM(), while MOVCN is a single register). Whenever...

  • Page 155

    Series S3000 4. Summary of predefined signals and registers Machine Logic Development (PLC) - Part II (01) 4-3 4.2. INTERCHANGE AND FLOW OF SIGNALS NC Status NCMD 8 NC ð PLC no NC status code: 1 = position coordina...

  • Page 156

    Series S3000 4. Summary of predefined signals and registers 4-4 Machine Logic Development (PLC) - Part II (01) STRCO_ 8 NC ð PLC Synchronization strobe for running of the COM requested with with RCOM_ for the single axis groups (1..8). Asynchronous Start, Stop, Alarm and Acknowledge con...

  • Page 157

    Series S3000 4. Summary of predefined signals and registers Machine Logic Development (PLC) - Part II (01) 4-5 Disabling transducers DISRQ 8 NC ï PLC no Axes with transducers disabled (1..8). Manual JOG MOVMA 8 NC...

  • Page 158

    Series S3000 4. Summary of predefined signals and registers 4-6 Machine Logic Development (PLC) - Part II (01) OFSVA() 64 NC ï PLC Additional speed offset for the axes (1..8) [mm/min]. (also impacts AXRIF() - use only for special applications) AFF() 64 NC ð PLC Acceleration command im...

  • Page 159

    Series S3000 4. Summary of predefined signals and registers Machine Logic Development (PLC) - Part II (01) 4-7 CWFCS 8 NC ï PLC Control of software limit errors. CWFCS(1) = 1 E93 error report disabled CWFCS (1) = ...

  • Page 160

    Series S3000 4. Summary of predefined signals and registers 4-8 Machine Logic Development (PLC) - Part II (01) WNDINT() 16 NC ï PLC no Registers for NC video character display in the preset areas(1..16) in word format. WNDSTR() str NC ï PLC no String registers containing a Max of 64 alp...

  • Page 161

    Series S3000 4. Summary of predefined signals and registers Machine Logic Development (PLC) - Part II (01) 4-9 COPIA2(6) 1 NC ï PLC no 1 = copying axis 3 locked. 0 = unlocked COPIA2(7) 1 NC ï PLC no Reversal of c...

  • Page 162

    Series S3000 4. Summary of predefined signals and registers 4-10 Machine Logic Development (PLC) - Part II (01) Error signals accessed by logic ERSYS 16 NC ð PLC no System error code read on the controlled axes, spindles, independent axes, PLC runtime errors, errors in the automatic tool ...

  • Page 163

    Series S3000 4. Summary of predefined signals and registers Machine Logic Development (PLC) - Part II (01) 4-11 INCH 1 NC ó PLC no Kind of measure 0 = millimeters 1 = inches The NC sets this variable according to t...

  • Page 164

    Series S3000 4. Summary of predefined signals and registers 4-12 Machine Logic Development (PLC) - Part II (01) SPSYN 8 NC ï PLC no Synchronism command to slave spindle. SPMAS() 8 NC ï PLC no Master spindle numbers for synchronism with slave. SPOFS() 64 NC ï PLC no Offset between mast...

  • Page 165

    Series S3000 4. Summary of predefined signals and registers Machine Logic Development (PLC) - Part II (01) 4-13 RHDP2P 8 NC ï PLC no HOLD request, axes (1..8). Temporary hold of movement; the operation continues wi...

  • Page 166

    Series S3000 4. Summary of predefined signals and registers 4-14 Machine Logic Development (PLC) - Part II (01) Tool change management module UTECU 16 NC ï PLC no Tool number request to tool change module. UTECU = 0 is a particular code reserved for th...

  • Page 167

    Series S3000 4. Summary of predefined signals and registers Machine Logic Development (PLC) - Part II (01) 4-15 Tool tables UTENRI 16 NC ð PLC no Line number in the tool, maximum number of vector elements represent...

  • Page 168

    Series S3000 4. Summary of predefined signals and registers 4-16 Machine Logic Development (PLC) - Part II (01)

  • Page 169

    Series S3000 5. Limits Machine Logic Development (PLC) - Part II (00) 5-1 5. LIMITS The data shown summarizes the compiler limits to be used as a reference during program writing: Max length of program instructions (logic line) 500 characters Max length program line (physical line) 62...

  • Page 170

    Series S3000 5. Limits 5-2 Machine Logic Development (PLC) - Part II (00)

  • Page 171

    Series S3000 Machine Logic Development (PLC) - Part III (00) PART III PROGRAMMING EXAMPLES

  • Page 172

    Series S3000 Machine Logic Development (PLC) - Part III (00)

  • Page 173

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-1 1. PLC PROGRAMMING EXAMPLES The following pages list several real-world examples of PLC programming, which can be used as a starting point to develop new applications. The examples are self-documente...

  • Page 174

    Series S3000 1. Programming examples 1-2 Machine Logic Development (PLC) - Part III (00) BAS300F - Basic machine (3 axes and spindle) N1 [******************************************************** N2 [* BASIC MACHINE 3 AXES AND SPINDLE S3045 N3 [* *******************************************...

  • Page 175

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-3 N77 [ ....SYNCHRONIZED with part program....... N78 [ .......... auxilliary function decode .......... N79 IF("BURDY)ASYNC N80 DHOLD=1; FHOLD=1 N81 IF(STROM) CALL GEFUM N82 BURDY=0 N83 ASINC:$ N84...

  • Page 176

    Series S3000 1. Programming examples 1-4 Machine Logic Development (PLC) - Part III (00) N156 FHOLD="IMAPR ~ SPRMP(1)&"RAPI ~ $ N157 (((NCMD<>5)&(MIZEA<>7))&CICL) [stop axes movement N158 DHOLD="IMAPR [data hold machine not ready N159 RHOLD=IHOLD [e...

  • Page 177

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-5 COMI3045 - 3 axis machine, slide clamps, spindle orient N1 [********************************************************* N2 [* 3 AXIS MACHINE WITH CLAMPING N3 [* SPINDLE ORIENT 2 SPEED RANGES N4...

  • Page 178

    Series S3000 1. Programming examples 1-6 Machine Logic Development (PLC) - Part III (00) N76 RM42 [force range 2 N77 GAM1 [range 1 request in memory N78 GAM2 [range 2 request in memory N79 CAUT [tool change active N80 G84 [tapping cycle active N81 [ N82 STR N83 MSG(32) [table 32 m...

  • Page 179

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-7 N155 POMO(3)=ANI(2) [manual Z N156 [ N157 [........... manual spindle control ................. N158 IF (NCMD<>5) SPAUTO N159 IF (IMAMAO) CALL M03 N160 IF (IMAMAA) CALL M04 N161 IF (ISTOPM) CALL ...

  • Page 180

    Series S3000 1. Programming examples 1-8 Machine Logic Development (PLC) - Part III (00) N234 IF(P21) L21=”L21;L22=0;L23=0 N235 IF(P22) L22=”L22;L23=0;L21=0 N236 IF(P23) L23=”L23;L21=0;L22=0 N237 IF(L21) HWL(1)=1;L8=1 N238 IF(L22) HWL(1)=2;L8=1 N239 IF(L23) HWL(1)=3;L8=1 N240 IF(“L21&...

  • Page 181

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-9 N313 SG(4)=(SPRMP(1)~”IGIROK)&SPROT(1) N314 SG(5)=SPPND(1) N315 SG(6)=”IDRAOK N316 SG(7)=”IDRMOK N317 SG(8)=”ILIVOL N318 SG(9)=”ILIVRE N319 SG(10)=”ITERMI N320 SG(11)=”IOLTRC N321 SG(1...

  • Page 182

    Series S3000 1. Programming examples 1-10 Machine Logic Development (PLC) - Part III (00) AXM11 - Selective axis clamping N1 [********************************************************** N2 [* FUNCTION M11 SELECT AXIS SPECIFIED N3 [* —————————————————— ...

  • Page 183

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-11 AUXON - Auxiliaries control logic N1 [********************************************************** N2 [* N3 [* AUXILIARIES CONTROL LOGIC N4 [* ————————————...

  • Page 184

    Series S3000 1. Programming examples 1-12 Machine Logic Development (PLC) - Part III (00) GEVOL3 - Single handwheel control of x, y, z axes N1 [********************************************************** N2 [* N3 [* HANDWHEEL SWITCHING EXAMPLE N4 [* GEVOL3 941008 N5...

  • Page 185

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-13 SPIND1 - Spindle rotation N1 [************************************************************ N2 [ N3 [ EXAMPLE OF SPINDLE ROTATION MANAGMENT N4 [ WITH OR WITHOUT TRANSDUCER N5 [ SPIND1 941008 N6 [ N7 [...

  • Page 186

    Series S3000 1. Programming examples 1-14 Machine Logic Development (PLC) - Part III (00) N77 [guaranteed to be immediately available after setting the N78 [rotation control. N79 [stop axis feed N80 FHOLD = (SPRMP(1)~”IGIROK&SPROT(1))&”RAPI [~... &(“G84~RAPI) N81 DHOLD = F...

  • Page 187

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-15 SPIND2 - Spindle Orient N1 [********************************************************** N2 [ N3 [ EXAMPLE OF SPINDLE ORIENT MANAGEMENT N4 [ SPIND2 941008 N5 [ N6 [*********...

  • Page 188

    Series S3000 1. Programming examples 1-16 Machine Logic Development (PLC) - Part III (00) SPIND3 - Range change N1 [********************************************************** N2 [ N3 [ EXAMPLE SPINDLE WITH TWO RANGES N4 [ SPIND3 941008 N5 [ N6 [*********************...

  • Page 189

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-17 LUBMET - Lubrication based on axis travel N1 [********************************************************** N2 [* LUBRICATION on distance travelled N3 [* ——————————————...

  • Page 190

    Series S3000 1. Programming examples 1-18 Machine Logic Development (PLC) - Part III (00) N77 DHOLD=FHOLD [inhibit data blocks N78 REME=FF(“IMUON),(EMEA) [machine emergency N79 [ N80 END N81 IF(“ILIVOL) DISPL,1, MSG1; ELSE CLR,1 [message-level min. N82 IF(“IMUON) DISPL,2, MSG2; ELSE C...

  • Page 191

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-19 LUBIN3 - Basic intermittent lubrication N1 [************************************************* N2 [* N3 [* INTERMITENT LUBRICATION N4 [* LUBIN3 941010 N5 [* N6 [*********...

  • Page 192

    Series S3000 1. Programming examples 1-20 Machine Logic Development (PLC) - Part III (00) LUBMOV - Lubrication timed only when axes are moving N1 [********************************************************** N2 [* LUBRICATION timer on only when axes moving N3 [* ————————...

  • Page 193

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-21 ZERIAX - Automatic home axes cycle N1 [********************************************************** N2 [* EXAMPLE OF AUTOMATIC HOME CYCLE XYZ N3 [* ————————————————...

  • Page 194

    Series S3000 1. Programming examples 1-22 Machine Logic Development (PLC) - Part III (00) N77 [when homing only JOG + allowed N78 L1=(P1&”L7)~RIC0X [softk jog x+ lamp N79 L2=P2&”L7 [softk jog x- lamp N80 L3=(P3&”L7)~RIC0Y [softk jog y+ lamp N81 L4=P4&”L7 [softk...

  • Page 195

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-23 ESRNDCU - Random tool change with load / unload in masked time N1 [********************************************************** N2 [* ASYNCHRONOUS RANDOM TOOL CHANGE N3 [* CHAIN with 24 tools and q...

  • Page 196

    Series S3000 1. Programming examples 1-24 Machine Logic Development (PLC) - Part III (00) N77 [ N78 SOFTK,1 N79 [ ‘+————+————+————’ N80 P1,CUAUT, ‘change tool AUTOMATIC’ N81 P2,CUMAN, ‘change tool MANUAL’ N82 P3,L3, ‘’ N83 P4,L4, ‘end TC ...

  • Page 197

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-25 N156 ASINC:$ N157 [—————————ASYNCHRONOUS PART—————————— N158 [******************************************************* N159 [ AUTOMATIC TC MANAGEMENT * N160 [******...

  • Page 198

    Series S3000 1. Programming examples 1-26 Machine Logic Development (PLC) - Part III (00) N235 IF(AUXM=30) CALL RESET; RTS N236 IF(“CUATT) RTS N237 IF(AUXM=62) MM62=1; RTS N238 IF(AUXM=63) MM63=1; RTS N239 IF(AUXM=26) M26 N240 IF(AUXM=29) INTOF=1; RTS N241 IF(AUXM=34) CUATT=0; CIM6=0; RTS...

  • Page 199

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-27 N314 CIM6=0 N315 [normal reset (M30 or break) N316 RESET:$ N317 WNDINT(1)=30 [display M30 N318 ERRM06=0 [cancel error on M6 (M6 without T ready) N319 RTS N320 [————————————...

  • Page 200

    Series S3000 1. Programming examples 1-28 Machine Logic Development (PLC) - Part III (00) SCROLLIN - Manage upto 128 messages with on screen scrolling N1 [******************************************************** N2 [* * N3 ...

  • Page 201

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-29 N61 CALL SCROLL [ call to handling message routine N62 [ N63 END N64 [ N65 [......... routines section.............................. N66 [ ........... ON SCREEN MESSAGE MANAGE...

  • Page 202

    Series S3000 1. Programming examples 1-30 Machine Logic Development (PLC) - Part III (00) SHIFTZ - EXAMPLE OF COMPENSATION FOR Y FALL AS A FUNCTION OF Z N1 [********************************************************** N2 [* EXAMPLE OF COMPENSATION FOR Y FALL AS A FUNCTION OF Z ] N3 [* ...

  • Page 203

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-31 N61 IND=INT(QUOYI/STEPY) [current step number N62 IND8=FPI(IND) [step in byte format N63 COMPZ=((QUOYI-STEPY*IND)*(TABCOZ(IND8+2)-TABCOZ(IND8+1))/$ N64 STEPY)+TABCOZ(IND8+1) [interpolation betwe...

  • Page 204

    Series S3000 1. Programming examples 1-32 Machine Logic Development (PLC) - Part III (00) AXBLOC1 - Clamped axes with timed wait N1 [********************************************************** N2 [* AXES WITH TIMED CLAMPING/UNCLAMPLING ] N3 [* —————————————— ...

  • Page 205

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-33 AXBLOC2 - Clamp axes with external enable N1 [********************************************************** N2 [* CLAMP/UNCLAMP axes with PRESSURE SWITCH ] N3 [* ———————————...

  • Page 206

    Series S3000 1. Programming examples 1-34 Machine Logic Development (PLC) - Part III (00) ESSINCU - Synchronous tool change with grid N1 [********************************************************** N2 [* SYNCHRONOUS TC - TOOLS IN FIXED POSITION ON A GRID N3 [* ESSINCU 941010 ] N4...

  • Page 207

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-35 N77 [part common to all cases: N78 [L=34 N79 [O-1 [reset origin N80 [M29 [activate correction N81 [M63 [close storage door N82 [M34 [end tool change N83 [G32 [end program N84 [——————...

  • Page 208

    Series S3000 1. Programming examples 1-36 Machine Logic Development (PLC) - Part III (00) N156 MSG(4)= ‘Wait storage open’ N157 MSG(5)=’Wait storage door closed’ N158 [ N159 [ N160 [***** DEFINITION OF TOOL CHANGE SEQUENCES ******** N161 [... TC SEQUENCE TO LOAD TOOL FROM FLOOR WITH S...

  • Page 209

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-37 N235 [******************************************************* N236 [ ALARMS,CONSENTS AND SAFETY * N237 [******************************************************* N238 [related to NC N239 DHOLD=EMACU~MM26...

  • Page 210

    Series S3000 1. Programming examples 1-38 Machine Logic Development (PLC) - Part III (00) N314 L7=EMACU [emergency lamp TC N315 [ N316 IF(EMACU) CALL RESECU [reset PLC commands N317 [ N318 [******************************************************** N319 [Passing parameters to COM N320 P(10)=...

  • Page 211

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-39 AXP2P - Control of tool storage axis from PLC N1 [********************************************************** N2 [*POSITIONING OF TOOL STORAGE axis as an INDEPENDANT axis ] N3 [* ——————...

  • Page 212

    Series S3000 1. Programming examples 1-40 Machine Logic Development (PLC) - Part III (00) N77 [ N78 [********************** ROUTINES SECTION *************** N79 [******************************************************* N80 [ STORAGE POSITIONING: INDEPENDANT axis * N81 [*********************...

  • Page 213

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-41 COMMUCM - Switch spindle with C axis N1 [*************************************************** N2 [* ] N3 [* SWITCHING C axis C and SPINDLE N4 [* ———————————...

  • Page 214

    Series S3000 1. Programming examples 1-42 Machine Logic Development (PLC) - Part III (00) N77 [**************** MANAGE C axis ***************** N78 [reset sequence (interrupt) N79 IF(BRKA&(CICM20~CICM21)) CALL RESCM N80 [ N81 [manage potentiometers N82 IF(CICM21) POMO(4)=.1; ELSE POMO(4)=...

  • Page 215

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-43 NEWFILT - Numerical Filter N1 [*************************************************** N2 [* NUMERICAL FILTER (ANALOG INPUT) N3 [* 940930 NEWFILT N4 [*****************************************...

  • Page 216

    Series S3000 1. Programming examples 1-44 Machine Logic Development (PLC) - Part III (00) TABUTE1 - Reorder tool positions in table N1 [*************************************************** N2 [ RECONFIGURE TOOL TABLE N3 [ TABUTE1 940908 N4 [**************************************...

  • Page 217

    Series S3000 1. Programming examples Machine Logic Development (PLC) - Part III (00) 1-45 TESTAR - Indexed head moved by spindle motor N1 [********************************************************* N2 [ ] N3 [ EXAMPLE: SWITCHING SPINDLE WITH INDEXED HEAD (A axis) N4 [ ...

  • Page 218

    Series S3000 1. Programming examples 1-46 Machine Logic Development (PLC) - Part III (00) N77 GIRMI=INT(ABS(SPTCH)) [display S N78 END N79 [ N80 [— ROUTINES ——————————————————————— N81 GEFUM: $ N82 WNDINT(1)=AUXM [display M N83 IF(AUXM=3) M...

  • Page 219

    Series S3000 Machine Logic Development (PLC) - Appendices (00) APPENDICES

  • Page 220

    Series S3000 Machine Logic Development (PLC) - Appendices (00)

  • Page 221

    Series S3000 Appendix A - ASCII code table Machine Logic Development (PLC) - Appendix (00)A-1 APPENDIX A - ASCII CODE TABLE DECHEXCHARDECHEXCHARDECHEXCHARDECHEXCHAR000001002003004005006...

  • Page 222

    Series S3000 Appendix A - ASCII code table A-2 Machine Logic Development (PLC) - Appendix (00) DECHEXCHARDECHEXCHARDECHEXCHARDECHEXCHAR064065066067068069070071072073074075076077078079080081082083084085086087088089090091092093094095096097098099100101102103104105106107108109110111112113114115...

  • Page 223

    Series S3000 Appendix A - ASCII code table Machine Logic Development (PLC) - Appendix (00)A-3 DECHEXCHARDECHEXCHARDECHEXCHARDECHEXCHAR192193194195196197198199200201202203204205206207208209210...

  • Page 224

    Series S3000 Appendix A - ASCII code table A-4 Machine Logic Development (PLC) - Appendix (00)

  • Page 225

    Series S3000 Appendix B - Auxiliary functions table Machine Logic Development (PLC) - Appendices (00) B-1 APPENDIX B - AUXILIARY FUNCTION TABLE This table contains the principle auxiliary functions defined in the ISO RS-274 D standard. CODE ACTIVE FIRST IN BLOCK ACTIVE LAST IN BLOCK H...

  • Page 226

    Series S3000 Appendix B - Auxiliary functions table B-2 Machine Logic Development (PLC) - Appendices (00)

  • Page 227

    Series S3000 Appendice C - New Series S3000 functions compared to the S1200 system Machine Logic Development (PLC) - Appendix (00)C-1 APPENDIX C - NEW SERIES S3000 FUNCTIONS COMPARED TO THE S1200 SYSTEM With respect to the S1200, the S3000 Series systems have retained the same program stru...

  • Page 228

    Series S3000 Appendix C - New Series S3000 functions compared to the S1200 system C-2 Machine Logic Development (PLC) - Appendix (00) • The execution of any NC program can be controlled by the PLC. • The management of the manual or automatic tool change with subdivided tools for famil...

  • Page 229

    Series S3000 Appendice C - New Series S3000 functions compared to the S1200 system Machine Logic Development (PLC) - Appendix (00)C-3 C1.3. PLC PROGRAMMING • In order to augment the precision of mathematical calculations floating point double precision 64 BIT variables have been introduc...

  • Page 230

    Series S3000 Appendix C - New Series S3000 functions compared to the S1200 system C-4 Machine Logic Development (PLC) - Appendix (00)

  • Page 231

    Series S3000 Appendice D – Diagnostic Messages Machine Logic Development (PLC) - Appendix (01) D-1 APPENDIX D –DIAGNOSTIC MESSAGES E18: tool number different from spindle T E19: correction value too high ( > 2 mm ) E20:...

  • Page 232

    Series S3000 Appendix D – Diagnostic Messages D-2 Machine Logic Development (PLC) - Appendix (01) E60: program read error E62: recall of a program not existing in memory E63: fixed cycle not executable with parameters given: S,F,J,Z E64: fixed cycle programmed without spindle rotation M fun...

  • Page 233

    Series S3000 Appendice D – Diagnostic Messages Machine Logic Development (PLC) - Appendix (01) D-3 E401: macro block in wrong order E402: insufficient internal memory to execute macro E403: compulsory parameters missing E404: ...

  • Page 234

    Series S3000 Appendix D – Diagnostic Messages D-4 Machine Logic Development (PLC) - Appendix (01) E510: tool to be taken out missing from storage E511: tool to be returned already in storage E512: storage place missing for tool to be loaded from spindle E513: storage place missing for loadi...

  • Page 235

    Series S3000 Appendice D – Diagnostic Messages Machine Logic Development (PLC) - Appendix (01) D-5 E1163: joint-cold signal too high E1164: joint-cold signal too low E1165: faults on joint-cold transducer E1200: CPU master ove...

  • Page 236

    Series S3000 Appendix D – Diagnostic Messages D-6 Machine Logic Development (PLC) - Appendix (01) E2041: not a float.point number in PLC line.. E2042: float.point operand error in PLC line.. E2043: float.point overflow in PLC line.. E2044: float.point underflow in PLC line.. E2045: division...

  • Page 237

    Series S3000 Appendice D – Diagnostic Messages Machine Logic Development (PLC) - Appendix (01) D-7 E10017: RIO slave response missing,board #... slave #... E10018: RIO output error,board #... slave #... byte #... E10020: RIO...

  • Page 238

    Series S3000 Appendix D – Diagnostic Messages D-8 Machine Logic Development (PLC) - Appendix (01)

x