NCSIE-SP02-07_4_0
description
Transcript of NCSIE-SP02-07_4_0
-
Programming ManualJob Planning
MANUAL No. NCSIE-SP02-07
Yaskawa Siemens CNC Series
-
This manual is made by quoting a document of the SINUMERIK series which is a CNC system from Siemens, adding the necessary information for Yaskawa Siemens CNC series, and deleting the unnecessary information. Therefore, this manual includes also the content about a product without a direct relationship with Yaskawa Siemens CNC series. Following functions and related variables are not available for Yaskawa Siemens CNC series.
Punching and nibbling Learn compensation characteristics (QECLRNON, QECLRNOF) Extended stop and retract Axis container (AXCTWE, AXCTWED)
For actually available functions in your machine, Please refer to the documents published by the machine manufacturer. This manual is intended for both of Yaskawa Siemens 840DI and Yaskawa Siemens 830DI. In this manual, the functional differences of these two models are not taken into account in its description, thus please refer to the catalog (MANUAL No.: NCKAE-PS41-01) for available basic functions and possible optional functions of each model. In this manual, the names of documents for SINUMERIK series are included. The English documents currently prepared for Yaskawa Siemens CNC series are shown in the following table.
Manual Name Manual Number Yaskawa Siemens CNC series (Catalog) NCKAE-PS41-01 Yaskawa Siemens CNC series Operating Manual for Standard HMI NCSIE-SP02-24 Yaskawa Siemens CNC series Operating Manual for Machining Center NCSIE-SP02-25 Yaskawa Siemens CNC series Programming Manual Job planning (This manual)
NCSIE-SP02-07
Yaskawa Siemens CNC series Programming Manual for Machining Center
NCSIE-SP02-20
Yaskawa Siemens CNC series Programming Manual for Lathe NCSIE-SP02-21 Yaskawa Siemens CNC series Maintenance Manual NCSIE-SP02-10 Yaskawa Siemens CNC series Diagnostics Guide (This manual) NCSIE-SP02-12 Yaskawa Siemens CNC series Maintenance Manual Serviceman Handbook
NCSIE-SP02-19
SINUMERIK Operator's Guide HMI Advanced 6FC5398-2AP10-0BA0If you have any questions, comments, suggestions, or corrections for the above-mentioned documents, please contact our office shown in a back cover or a regional service office. The Internet address of the web site for our company and products is as follows:
http://www.siemens.co.jp/ For EU Declaration of Conformity, please ask to the manufacturer of your machine.
-
3UHIDFH
)OH[LEOH1&SURJUDPPLQJ
6XEURXWLQHV0DFURV
)LOHDQG3URJUDP0DQDJHPHQW
3URWHFWLRQ]RQHV
6SHFLDO0RWLRQ&RPPDQGV
)UDPHV
7UDQVIRUPDWLRQV
7RRORIIVHWV
3DWKWUDYHUVLQJEHKDYLRU
0RWLRQV\QFKURQRXVDFWLRQV
2VFLOODWLRQ
3XQFKLQJDQGQLEEOLQJ
$GGLWLRQDOIXQFWLRQV
8VHUVWRFNUHPRYDOSURJUDPV
7DEOHV
$SSHQGL[ $
6,180(5,.
6,180(5,.'VO'LVO''L'-RESODQQLQJ
3URJUDPPLQJ0DQXDO
)&%3%$
9DOLGIRU&RQWURO6,180(5,.'VO'(VO6,180(5,.'LVO'L(VO6,180(5,.'SRZHUOLQH'(SRZHUOLQH6,180(5,.'LSRZHUOLQH'L(SRZHUOLQH6,180(5,.'SRZHUOLQH'(SRZHUOLQH6RIWZDUH 9HUVLRQ1&8V\VWHPVRIWZDUHIRU'VO'(VO1&8V\VWHPVRIWZDUHIRU'LVO'L(VO 1&8V\VWHPVRIWZDUHIRU''( 1&8V\VWHPVRIWZDUHIRU'L'L( 1&8V\VWHPVRIWZDUHIRU''(
-
6DIHW\*XLGHOLQHV7KLVPDQXDOFRQWDLQVQRWLFHV\RXKDYHWRREVHUYHLQRUGHUWRHQVXUH\RXUSHUVRQDOVDIHW\DVZHOODVWRSUHYHQWGDPDJHWRSURSHUW\7KHQRWLFHVUHIHUULQJWR\RXUSHUVRQDOVDIHW\DUHKLJKOLJKWHGLQWKHPDQXDOE\DVDIHW\DOHUWV\PEROQRWLFHVUHIHUULQJRQO\WRSURSHUW\GDPDJHKDYHQRVDIHW\DOHUWV\PERO7KHVHQRWLFHVVKRZQEHORZDUHJUDGHGDFFRUGLQJWRWKHGHJUHHRIGDQJHU
'DQJHU
LQGLFDWHVWKDWGHDWKRUVHYHUHSHUVRQDOLQMXU\ZZLOOUHVXOWLISURSHUSUHFDXWLRQVDUHQRWWDNHQ
:DUQLQJ
LQGLFDWHVWKDWGHDWKRUVHYHUHSHUVRQDOLQMXU\PPD\UHVXOWLISURSHUSUHFDXWLRQVDUHQRWWDNHQ
&DXWLRQ
ZLWKDVDIHW\DOHUWV\PEROLQGLFDWHVWKDWPLQRUSHUVRQDOLQMXU\FDQUHVXOWLISURSHUSUHFDXWLRQVDUHQRWWDNHQ
&DXWLRQ
ZLWKRXWDVDIHW\DOHUWV\PEROLQGLFDWHVWKDWSURSHUW\GDPDJHFDQUHVXOWLISURSHUSUHFDXWLRQVDUHQRWWDNHQ
1RWLFH
LQGLFDWHVWKDWDQXQLQWHQGHGUHVXOWRUVLWXDWLRQFDQRFFXULIWKHFRUUHVSRQGLQJLQIRUPDWLRQLVQRWWDNHQLQWRDFFRXQW
,IPRUHWKDQRQHGHJUHHRIGDQJHULVSUHVHQWWKHZDUQLQJQRWLFHUHSUHVHQWLQJWKHKLJKHVWGHJUHHRIGDQJHUZLOOEHXVHG$QRWLFHZDUQLQJRILQMXU\WRSHUVRQVZLWKDVDIHW\DOHUWV\PEROPD\DOVRLQFOXGHDZDUQLQJUHODWLQJWRSURSHUW\GDPDJH
4XDOLILHG3HUVRQQHO7KHGHYLFHV\VWHPPD\RQO\EHVHWXSDQGXVHGLQFRQMXQFWLRQZLWKWKLVGRFXPHQWDWLRQ&RPPLVVLRQLQJDQGRSHUDWLRQRIDGHYLFHV\VWHPPD\RQO\EHSHUIRUPHGE\TTXDOLILHGSHUVRQQHO:LWKLQWKHFRQWH[WRIWKHVDIHW\QRWHVLQWKLVGRFXPHQWDWLRQTXDOLILHGSHUVRQVDUHGHILQHGDVSHUVRQVZKRDUHDXWKRUL]HGWRFRPPLVVLRQJURXQGDQGODEHOGHYLFHVV\VWHPVDQGFLUFXLWVLQDFFRUGDQFHZLWKHVWDEOLVKHGVDIHW\SUDFWLFHVDQGVWDQGDUGV
3UHVFULEHG8VDJH1RWHWKHIROORZLQJ
:DUQLQJ
7KLVGHYLFHPD\RQO\EHXVHGIRUWKHDSSOLFDWLRQVGHVFULEHGLQWKHFDWDORJRUWKHWHFKQLFDOGHVFULSWLRQDQGRQO\LQFRQQHFWLRQZLWKGHYLFHVRUFRPSRQHQWVIURPRWKHUPDQXIDFWXUHUVZKLFKKDYHEHHQDSSURYHGRUUHFRPPHQGHGE\6LHPHQV&RUUHFWUHOLDEOHRSHUDWLRQRIWKHSURGXFWUHTXLUHVSURSHUWUDQVSRUWVWRUDJHSRVLWLRQLQJDQGDVVHPEO\DVZHOODVFDUHIXORSHUDWLRQDQGPDLQWHQDQFH
7UDGHPDUNV$OOQDPHVLGHQWLILHGE\pDUHUHJLVWHUHGWUDGHPDUNVRIWKH6LHPHQV$*7KHUHPDLQLQJWUDGHPDUNVLQWKLVSXEOLFDWLRQPD\EHWUDGHPDUNVZKRVHXVHE\WKLUGSDUWLHVIRUWKHLURZQSXUSRVHVFRXOGYLRODWHWKHULJKWVRIWKHRZQHU
'LVFODLPHURI/LDELOLW\:HKDYHUHYLHZHGWKHFRQWHQWVRIWKLVSXEOLFDWLRQWRHQVXUHFRQVLVWHQF\ZLWKWKHKDUGZDUHDQGVRIWZDUHGHVFULEHG6LQFHYDULDQFHFDQQRWEHSUHFOXGHGHQWLUHO\ZHFDQQRWJXDUDQWHHIXOOFRQVLVWHQF\+RZHYHUWKHLQIRUPDWLRQLQWKLVSXEOLFDWLRQLVUHYLHZHGUHJXODUO\DQGDQ\QHFHVVDU\FRUUHFWLRQVDUHLQFOXGHGLQVXEVHTXHQWHGLWLRQV
2UGHU1R)&%3%$
&RS\ULJKWk6LHPHQV$*7HFKQLFDOGDWDVXEMHFWWRFKDQJH
-
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
3UHIDFH
)RUHZRUG
6,180(5,.p'RFXPHQWDWLRQ7KH6,180(5,.GRFXPHQWDWLRQLVRUJDQL]HGLQSDUWV
*HQHUDO'RFXPHQWDWLRQ
8VHU'RFXPHQWDWLRQ
0DQXIDFWXUHUVHUYLFHGRFXPHQWDWLRQ
$QRYHUYLHZRISXEOLFDWLRQVXSGDWHGPRQWKO\LQGLFDWLQJWKHODQJXDJHYHUVLRQVDYDLODEOHFDQEHIRXQGRQWKH,QWHUQHWDWKWWSZZZVLHPHQVFRPPRWLRQFRQWURO6HOHFWWKHPHQXLWHPV6XSSRUW7HFKQLFDO'RFXPHQWDWLRQ2YHUYLHZRI3XEOLFDWLRQV7KH,QWHUQHWYHUVLRQRI'2&RQ&''2&RQ:(%LVDYDLODEOHDWKWWSZZZDXWRPDWLRQVLHPHQVFRPGRFRQZHE,QIRUPDWLRQDERXWWUDLQLQJFRXUVHVDQG)$4V)UHTXHQWO\$VNHG4XHVWLRQVFDQEHIRXQGDWWKHIROORZLQJZHEVLWHKWWSZZZVLHPHQVFRPPRWLRQFRQWUROXQGHUPHQXRSWLRQ6XSSRUW
7DUJHWJURXS7KLVSXEOLFDWLRQLVLQWHQGHGIRU
3URJUDPPHUV
3URMHFWHQJLQHHUV
%HQHILWV:LWKWKHSURJUDPPLQJPDQXDOWKHWDUJHWJURXSFDQGHYHORSZULWHWHVWDQGGHEXJSURJUDPVDQGVRIWZDUHXVHULQWHUIDFHV
-
3UHIDFH
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
6WDQGDUGVFRSH7KLV3URJUDPPLQJ*XLGHGHVFULEHVWKHIXQFWLRQDOLW\DIIRUGHGE\VWDQGDUGIXQFWLRQV([WHQVLRQVRUFKDQJHVPDGHE\WKHPDFKLQHWRROPDQXIDFWXUHUDUHGRFXPHQWHGE\WKHPDFKLQHWRROPDQXIDFWXUHU
2WKHUIXQFWLRQVQRWGHVFULEHGLQWKLVGRFXPHQWDWLRQPLJKWEHH[HFXWDEOHLQWKHFRQWURO7KLVGRHVQRWKRZHYHUUHSUHVHQWDQREOLJDWLRQWRVXSSO\VXFKIXQFWLRQVZLWKDQHZFRQWURORUZKHQVHUYLFLQJ
)XUWKHUIRUWKHVDNHRIVLPSOLFLW\WKLVGRFXPHQWDWLRQGRHVQRWFRQWDLQDOOGHWDLOHGLQIRUPDWLRQDERXWDOOW\SHVRIWKHSURGXFWDQGFDQQRWFRYHUHYHU\FRQFHLYDEOHFDVHRILQVWDOODWLRQRSHUDWLRQRUPDLQWHQDQFH
7HFKQLFDO6XSSRUW,I\RXKDYHDQ\WHFKQLFDOTXHVWLRQVSOHDVHFRQWDFWRXUKRWOLQH
(XURSH$IULFD $VLD$XVWUDOLD $PHULFD
3KRQH )D[ ,QWHUQHW KWWSZZZVLHPHQVFRPDXWRPDWLRQVXSSRUWUHTXHVW(0DLO PDLOWRDGVXSSRUW#VLHPHQVFRP
1RWH
&RXQWU\WHOHSKRQHQXPEHUVIRUWHFKQLFDOVXSSRUWDUHSURYLGHGXQGHUWKHIROORZLQJ,QWHUQHWDGGUHVV
(QWHUKWWSZZZVLHPHQVFRPDXWRPDWLRQVHUYLFHVXSSRUW
4XHVWLRQVDERXWWKHPDQXDO,I\RXKDYHDQ\TXHULHVVXJJHVWLRQVFRUUHFWLRQVLQUHODWLRQWRWKLVGRFXPHQWDWLRQSOHDVHID[RUHPDLOXV
)D[ (PDLO PDLOWRGRFXPRWLRQFRQWURO#VLHPHQVFRP
)D[IRUP6HHWKHUHSO\IRUPDWWKHHQGRIWKLVSXEOLFDWLRQ
6,180(5,.,QWHUQHWDGGUHVVKWWSZZZVLHPHQVFRPVLQXPHULN
-
3UHIDFH
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
(&GHFODUDWLRQRIFRQIRUPLW\7KH(&'HFODUDWLRQRI&RQIRUPLW\IRUWKH(0&'LUHFWLYHFDQEHIRXQGREWDLQHGIURP
WKHLQWHUQHW
KWWSZZZDGVLHPHQVGHFVLQIR
XQGHUSURGXFWRUGHUQR
WKHUHOHYDQWEUDQFKRIILFHRIWKH$'0&JURXSRI6LHPHQV$*
([SRUWYHUVLRQ7KHIROORZLQJIXQFWLRQVDUHQRWDYDLODEOHLQWKHH[SRUWYHUVLRQ
)XQFWLRQ '( '(VO '( 'L(VO 'L(
+HOLFDOLQWHUSRODWLRQ'%DVLFYHUVLRQQRRSWLRQV
0LOOLQJPDFKLQLQJSDFNDJH
)LYHD[LVPDFKLQLQJSDFNDJH
+DQGOLQJWUDQVIRUPDWLRQSDFNDJH
0XOWLD[LVLQWHUSRODWLRQ!LQWHUSRODWLQJD[HV
2$1&.FRPSLOHF\FOHV
&OHDUDQFHFRQWURO''LQSRVLWLRQFRQWUROF\FOH
6\QFKURQL]HGDFWLRQV%DVLFYHUVLRQQRRSWLRQV
0DVWHUYDOXHFRXSOLQJDQGFXUYHWDEOHLQWHUSRODWLRQ
6DJFRPSHQVDWLRQPXOWLGLPHQVLRQDO
6\QFKURQL]HGDFWLRQVVWDJH
(OHFWURQLFJHDU
(OHFWURQLFWUDQVIHU
5HVWULFWHGIXQFWLRQDOLW\)XQFWLRQQRWDYDLODEOH
7KHUHVWULFWHGIXQFWLRQVIRUWKH6,180(5,.'(SRZHUOLQH6,180(5,.'(VO6,180(5,.'(SRZHUOLQH6,180(5,.'L(VO6,180(5,.'L(SRZHUOLQHH[SRUWYHUVLRQVLPSRVHDOLPLWRIPD[LQWHUSRODWLQJD[HV
'HVFULSWLRQ)XQGDPHQWDOV
7KLV3URJUDPPLQJ*XLGH)XQGDPHQWDOVLVLQWHQGHGIRUXVHE\VNLOOHGPDFKLQHRSHUDWRUVZLWKWKHDSSURSULDWHH[SHUWLVHLQGULOOLQJPLOOLQJDQGWXUQLQJRSHUDWLRQV6LPSOHSURJUDPPLQJH[DPSOHVDUHXVHGWRH[SODLQWKHFRPPDQGVDQGVWDWHPHQWVZKLFKDUHDOVRGHILQHGDFFRUGLQJWR',1
-
3UHIDFH
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
-RESODQQLQJ
7KH3URJUDPPLQJ*XLGH-RE3ODQQLQJLVLQWHQGHGIRUXVHE\WHFKQLFLDQVZLWKLQGHSWKFRPSUHKHQVLYHSURJUDPPLQJNQRZOHGJH%\YLUWXHRIDVSHFLDOSURJUDPPLQJODQJXDJHWKH6,180(5,.'VO'LVO''L'FRQWUROHQDEOHVWKHXVHUWRSURJUDPFRPSOH[ZRUNSLHFHSURJUDPVHJIRUIUHHIRUPVXUIDFHVFKDQQHOFRRUGLQDWLRQHWFDQGJUHDWO\IDFLOLWDWHVWKHSURJUDPPLQJRIFRPSOLFDWHGRSHUDWLRQV
7KHFRPPDQGVDQGVWDWHPHQWVGHVFULEHGLQWKLV3URJUDPPLQJ*XLGHDUHQRWVSHFLILFWRRQHSDUWLFXODUWHFKQRORJ\
7KH\FDQEHXVHGIRUDYDULHW\RIWDVNVVXFKDV
7XUQLQJPLOOLQJDQGJULQGLQJ
&\FOLFDOPDFKLQHVSDFNDJLQJZRRGZRUNLQJ
/DVHUSRZHUFRQWUROV
-
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
7DEOHRIFRQWHQWV 3UHIDFH
)OH[LEOH1&SURJUDPPLQJ
9DULDEOHVDQGDULWKPHWLFSDUDPHWHUVXVHUGHILQHGYDULDEOHVDULWKPHWLFSDUDPHWHUVV\VWHPYDULDEOHV
9DULDEOHGHILQLWLRQ'()XVHUGHILQHGYDULDEOHV/8'*8'38'
$UUD\GHILQLWLRQV'()6(75(3
,QGLUHFWSURJUDPPLQJ 5XQVWULQJDVSDUWVSURJUDPOLQH(;(&675,1*
$VVLJQPHQWV
$ULWKPHWLFRSHUDWLRQVIXQFWLRQV
&RPSDULVRQDQGORJLFDORSHUDWLRQV 3UHFLVLRQFRUUHFWLRQRQFRPSDULVRQHUURUV7581& 9DULDEOHPLQLPXPPD[LPXPDQGUDQJH0,19$/0$;9$/DQG%281'
3ULRULW\RIWKHRSHUDWLRQV
3RVVLEOHW\SHFRQYHUVLRQV
6WULQJRSHUDWLRQV 7\SHFRQYHUVLRQWR675,1* 7\SHFRQYHUVLRQRI675,1* &RQFDWHQDWLRQRIVWULQJV &RQYHUVLRQWRORZHUXSSHUFDVH /HQJWKRIWKHVWULQJ /RRNIRUFKDUDFWHUVWULQJLQWKHVWULQJ 6HOHFWLRQRIDVXEVWULQJ 6HOHFWLRQRIDVLQJOHFKDUDFWHU
&$6(VWDWHPHQW
&RQWUROVWUXFWXUHV
3URJUDPFRRUGLQDWLRQ
,QWHUUXSWURXWLQH6(7,17',6$%/((1$%/(&/5,17
$[LVUHSODFHPHQWVSLQGOHUHSODFHPHQW5(/($6(*(7*(7'
7UDQVIHUD[LVWRDQRWKHUFKDQQHO$;72&+$1
1(:&21)6HWWLQJPDFKLQHGDWDHIIHFWLYH
:5,7(:ULWHILOH
'(/(7('HOHWHILOH
5($'5HDGOLQHVLQWKHILOH
,6),/()LOHSUHVHQWLQWKH1&.XVHUPHPRU\
-
7DEOHRIFRQWHQWV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
),/('$7(7,0(6,=(67$7,1)2)LOHLQIRUPDWLRQ
&+(&.680)RUPWKHFKHFNVXPRYHUDQDUUD\
5281'835RXQGXS
6XEURXWLQHV0DFURV
8VLQJVXEURXWLQHV
6XEURXWLQHVZLWK6$9(PHFKDQLVP
6XEURXWLQHVZLWKSDUDPHWHUWUDQVIHU352&9$5
&DOOVXEURXWLQHV/RU(;7(51
3DUDPHWHUL]HGVXEURXWLQHUHWXUQ5(7
6XEURXWLQHZLWKSURJUDPUHSHWLWLRQ3
0RGDOVXEURXWLQH0&$//
,QGLUHFWVXEURXWLQHFDOO&$//
5HSHDWLQJSURJUDPVHFWLRQVZLWKLQGLUHFWSURJUDPPLQJ&$//
,QGLUHFWFDOORIDSURJUDPSURJUDPPHGLQ,62ODQJXDJH,62&$//
&DOOLQJVXEURXWLQHZLWKSDWKVSHFLILFDWLRQDQGSDUDPHWHUV3&$//
([WHQGVHDUFKSDWKIRUVXEURXWLQHFDOOVZLWK&$//3$7+
([HFXWHH[WHUQDOVXEURXWLQH(;7&$//
6XSSUHVVLQGLYLGXDOEORFN6%/2)6%/21
6XSSUHVVFXUUHQWEORFNGLVSOD\',63/2)
,GHQWLI\LQJVXESURJUDPVZLWKSUHSDUDWLRQ35(352
&\FOHV6HWWLQJSDUDPHWHUVIRUXVHUF\FOHV
0DFURWHFKQLTXH'(),1($6
)LOHDQG3URJUDP0DQDJHPHQW
3URJUDPPHPRU\
:RUNLQJPHPRU\
'HILQLQJXVHUGDWD
3URWHFWLRQOHYHOVIRUXVHUGDWD0'6'DQG1&FRPPDQGV 'HILQLQJSURWHFWLRQOHYHOVIRUXVHUGDWD*8' $XWRPDWLFDFWLYDWLRQRI*8'VDQG0$&V &KDQJHWKHSURWHFWLRQGDWDIRUWKHPDFKLQHDQGVHWWLQJGDWD5('()0'6' 3URWHFWLRQOHYHOVIRU1&FRPPDQGV5('()
5('()&KDQJLQJWKHDWWULEXWHVRIWKH1&ODQJXDJHHOHPHQWV
6()250VWUXFWXULQJVWDWHPHQWLQWKH6WHSHGLWRU
3URWHFWLRQ]RQHV
'HILQLWLRQRIWKHSURWHFWLRQ]RQHV&3527'()13527'()
$FWLYDWLQJGHDFWLYDWLQJSURWHFWLRQ]RQHV&352713527
&KHFNLQJIRUSURWHFWLRQ]RQHYLRODWLRQZRUNLQJDUHDOLPLWDWLRQDQGVRIWZDUHOLPLWV
-
7DEOHRIFRQWHQWV
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
6SHFLDO0RWLRQ&RPPDQGV
$SSURDFKLQJFRGHGSRVLWLRQV&$&&,&&'&&$&3&$&1
6SOLQHLQWHUSRODWLRQ$63/,1(%63/,1(&63/,1(%$872%1$7%7$1
6SOLQHJURXSLQJ63/,1(3$7+
&RPSUHVVRU&2032)21&203&859&203&$'
3RO\QRPLDOLQWHUSRODWLRQ32/
-
7DEOHRIFRQWHQWV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
2ULHQWDWLRQSURJUDPPLQJDORQJWKHSHULSKHUDOVXUIDFHRIDWDSHU25,3/$1(25,&21[[
6SHFLILFDWLRQRIRULHQWDWLRQIRUWZRFRQWDFWSRLQWV25,&859(32>;+@ 32>=+@
2ULHQWDWLRQSRO\QRPLDOV32>DQJOH@32>FRRUGLQDWH@
5RWDWLRQVRIWKHWRRORULHQWDWLRQ25,527$25,52757725,527&7+(7$
2ULHQWDWLRQVUHODWLYHWRWKHSDWK 2ULHQWDWLRQW\SHVUHODWLYHWRWKHSDWK 5RWDWLRQRIWKHWRRORULHQWDWLRQUHODWLYHWRWKHSDWK25,3$7+25,3$7+6DQJOHRI
URWDWLRQ ,QWHUSRODWLRQRIWKHWRROURWDWLRQUHODWLYHWRWKHSDWK25,527&7+(7$ 6PRRWKLQJRIRULHQWDWLRQFKDUDFWHULVWLF25,3$7+6$ % &
&RPSUHVVLRQRIWKHRULHQWDWLRQ&20321$%&7+(7$
2QOLQHWRROOHQJWKFRPSHQVDWLRQ72))2172))2)
.LQHPDWLFWUDQVIRUPDWLRQ 0LOOLQJRQWXUQHGSDUWV75$160,7 &\OLQGHUVXUIDFHWUDQVIRUPDWLRQ75$&
-
7DEOHRIFRQWHQWV
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
,QYDOLGDWH'QXPEHUV'=(52
7RROKROGHUNLQHPDWLFV
3DWKWUDYHUVLQJEHKDYLRU
7DQJHQWLDOFRQWURO7$1*7$1*217$1*2)7$1*'(/
&RXSOHGPRWLRQ75$,/2175$,/2)
&XUYHWDEOHV&7$% &XUYHWDEOHVJHQHUDOUHODWLRQVKLSV 3ULQFLSDOIXQFWLRQVFXUYHWDEOHV&7$%'()&7$%(1'&7$%'(/ &XUYHWDEOHIRUPV&7$%'(/&7$%120(0&7$%)12&7$%,'&7$%/2&.
&7$%81/2&. %HKDYLRUDWWKHHGJHVRIFXUYHWDEOHV&7$%769&7$%763&7$%0,1&7$%0$; $FFHVVWRFXUYHWDEOHSRVLWLRQVDQGWDEOHVHJPHQWV&7$%&7$%,19&7$%669
&7$%6(9
$[LDOOHDGLQJYDOXHFRXSOLQJ/($'21/($'2)
)HHGUDWHUHVSRQVH)1250)/,1)&8%)32
3URJUDPUXQZLWKSUHSURFHVVLQJPHPRU\67$57),)26723),)267235(
&RQGLWLRQDOO\LQWHUUXSWLEOHSURJUDPVHFWLRQV'(/$Q@ 6\QFKURQL]HGDFWLRQSDUDPHWHUV$&B3$5$0>Q@ $ULWKPHWLFSDUDPHWHU5>Q@ 5HDGDQGZULWH1&PDFKLQHDQG1&VHWWLQJGDWD 7LPHU9DULDEOH$&B7LPHU>Q@ ),)2YDULDEOH$&B),)2>Q@$&B),)2>Q@ ,QIRUPDWLRQDERXWWKHEORFNW\SHVLQWKHLQWHUSRODWRU
$FWLRQVLQV\QFKURQL]HGDFWLRQV 2YHUYLHZ 2XWSXWRIDX[LOLDU\IXQFWLRQV 6HWUHDGLQGLVDEOH5',6$%/( &DQFHOSUHSURFHVVLQJVWRS67235(2) 'HOHWHGLVWDQFHWRJR'(/'7* 3RO\QRPLDOGHILQLWLRQ)&7'()
-
7DEOHRIFRQWHQWV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
6\QFKURQL]HGIXQFWLRQ6
-
7DEOHRIFRQWHQWV
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
$GGLWLRQDOIXQFWLRQV
$[LVIXQFWLRQV$;1$0($;63,$;7263,,6$;,6$;675,1*
&KHFNVFRSHRI1&ODQJXDJHSUHVHQW675,1*,6
,69$5IXQFWLRQFDOODQGUHDGPDFKLQHDUUD\LQGH[
/HDUQFRPSHQVDWLRQFKDUDFWHULVWLFV4(&/51214(&/512)
6\QFKURQRXVVSLQGOH 6\QFKURQRXVVSLQGOH&283'()&283'(/&2832121&&2832)2)6
&2835(6
(OHFWURQLFJHDU(* 'HILQLQJDQHOHFWURQLFJHDU(*'() $FWLYDWHHOHFWURQLFJHDU(*21 'HDFWLYDWHHOHFWURQLFJHDU(*2)6 5HYROXWLRQDOIHHGUDWH*HOHFWURQLFJHDU)35
([WHQGHGVWRSDQGUHWUDFW 'ULYHLQGHSHQGHQWUHVSRQVHVWR(65 1&FRQWUROOHGUHDFWLRQVWRUHWUDFWLRQ 1&FRQWUROOHGUHDFWLRQVWRVWRSSDJH *HQHUDWRURSHUDWLRQ'&OLQNEDFNXS 'ULYHLQGHSHQGHQWVWRSSLQJ 'ULYHLQGHSHQGHQWUHWUDFWLRQ
/LQNFRPPXQLFDWLRQ $FFHVVWRDJOREDO1&8PHPRU\DUHD
$[LVFRQWDLQHU$;&7:($;&7:('
3URJUDPUXQWLPH:RUNSLHFHFRXQWHU *HQHUDO 3URJUDPUXQWLPH :RUNSLHFHFRXQWHU
,QWHUDFWLYHZLQGRZFDOOIURPSDUWVSURJUDPFRPPDQG
,QIOXHQFLQJWKHPRWLRQFRQWURO 3HUFHQWDJHMHUNFRUUHFWLRQ-(5./,0 3HUFHQWDJHYHORFLW\FRUUHFWLRQ9(/2/,0
0DVWHUVODYHJURXSLQJ0$6/'()0$6/'(/0$6/2)0$6/2)0$6/2)6
8VHUVWRFNUHPRYDOSURJUDPV
6XSSRUWLQJIXQFWLRQIRUVWRFNUHPRYDO
&RQWRXUSUHSDUDWLRQ&2173521
&RQWRXUGHFRGLQJ&217'&21
,QWHUVHFWLRQRIWZRFRQWRXUHOHPHQWV,17(56(&
7UDYHUVLQJDFRQWRXUHOHPHQWIURPWKHWDEOH(;(&7$%
&DOFXODWHFLUFOHGDWD&$/&'$7
7DEOHV
/LVWRIVWDWHPHQWV
-
7DEOHRIFRQWHQWV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
$ $SSHQGL[
$ /LVWRIDEEUHYLDWLRQV
*ORVVDU\ 647 ,QGH[ 671
-
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
)OH[LEOH1&SURJUDPPLQJ 9DULDEOHVDQGDULWKPHWLFSDUDPHWHUVXVHUGHILQHGYDULDEOHV
DULWKPHWLFSDUDPHWHUVV\VWHPYDULDEOHV
)XQFWLRQ8VLQJYDULDEOHVLQSODFHRIFRQVWDQWYDOXHVPDNHVDSURJUDPPRUHIOH[LEOH
-
)OH[LEOH1&SURJUDPPLQJ 9DULDEOHVDQGDULWKPHWLFSDUDPHWHUVXVHUGHILQHGYDULDEOHVDULWKPHWLFSDUDPHWHUVV\VWHPYDULDEOHV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
%22/ %RROHDQYDOXHV758(DQG)$/6(
&+$5 $6&,,FKDUDFWHUVSHFLILHGE\WKHFRGH
675,1* &KDUDFWHUVWULQJQXPEHURIFKDUDFWHUVLQ>@PD[LPXPRIFKDUDFWHUV
6HTXHQFHRIYDOXHVZLWK
$;,6 $[LVLGHQWLILHUVRQO\D[LVDGGUHVVHV $Q\D[LVLGHQWLILHUVLQWKHFKDQQHO
)5$0( *HRPHWULFGDWDIRUWUDQVODWLRQURWDWLRQVFDOLQJPLUURULQJVHHWKH)UDPHV&KDSWHU
$ULWKPHWLFYDULDEOHV
$GGUHVV5SURYLGHVDULWKPHWLFYDULDEOHVRIW\SH5($/E\GHIDXOW
7KHH[DFWQXPEHURIDULWKPHWLFYDULDEOHVXSWRLVGHILQHGLQPDFKLQHGDWD
([DPSOH5
6\VWHPYDULDEOHV7KHFRQWUROSURYLGHVV\VWHPYDULDEOHVWKDWFDQEHFRQWDLQHGDQGSURFHVVHGLQDOOUXQQLQJSURJUDPV
6\VWHPYDULDEOHVSURYLGHPDFKLQHDQGFRQWUROVWDWHV6RPHV\VWHPYDULDEOHVFDQQRWEHDVVLJQHGYDOXHV
6XPPDU\RIV\VWHPYDULDEOHV
6SHFLDOLGHQWLILHUVRIV\VWHPYDULDEOHVDOZD\VEHJLQZLWKDVLJQ7KHVSHFLILFQDPHVWKHQIROORZ
VWOHWWHU 00HDQLQJ
0 0DFKLQHGDWD
6 6HWWLQJGDWD
7 7RROPDQDJHPHQWGDWD
3 3URJUDPPHGYDOXHV
$ &XUUHQWYDOXHV
9 6HUYLFHGDWD
QGOHWWHU 00HDQLQJ
1 1&.JOREDO
& &KDQQHOVSHFLILF
$ $[LVVSHFLILF
([DPSOH$$B,0
0HDQLQJ&XUUHQWD[LVVSHFLILFYDOXHLQWKHPDFKLQHFRRUGLQDWHV\VWHP
-
)OH[LEOH1&SURJUDPPLQJ 9DULDEOHGHILQLWLRQ'()XVHUGHILQHGYDULDEOHV/8'*8'38'
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
9DULDEOHGHILQLWLRQ'()XVHUGHILQHGYDULDEOHV/8'*8'38'
)XQFWLRQ,QDGGLWLRQWRWKHSUHGHILQHGYDULDEOHVSURJUDPPHUVFDQGHILQHDQGLQLWLDOL]HWKHLURZQYDULDEOHV
/RFDOYDULDEOHV/8'DUHRQO\YDOLGLQWKHSURJUDPZKHUHWKH\DUHGHILQHG
*OREDOYDULDEOHV*8'DUHYDOLGLQDOOSURJUDPV
0DFKLQHGDWDDUHXVHGWRUHGHILQHWKHORFDOXVHUYDULDEOHV/8'GHILQHGLQWKHPDLQSURJUDPDVSURJUDPJOREDOXVHUYDULDEOHV38'
0DFKLQHPDQXIDFWXUHU
6HHPDFKLQHPDQXIDFWXUHUVVSHFLILFDWLRQV
3URJUDPPLQJ9DULDEOHW\SH,17DEF INT nameRUDEF INT name=value9DULDEOHW\SH5($/DEF REAL nameRUDEF REAL name1,name2=3,name4RUDEF REAL name[array_index1,array_index2]9DULDEOHW\SH%22/DEF BOOL name9DULDEOHW\SH&+$5DEF CHAR nameRUDEF CHAR name[array_index]=("A","B",)9DULDEOHW\SH675,1*DEF STRING[string_length] name9DULDEOHW\SH$;,6DEF AXIS nameRUDEF AXIS name[array_index]9DULDEOHW\SH)5$0(DEF FRAME name
-
)OH[LEOH1&SURJUDPPLQJ 9DULDEOHGHILQLWLRQ'()XVHUGHILQHGYDULDEOHV/8'*8'38'
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
1RWH
,IDYDULDEOHLVQRWDVVLJQHGDYDOXHRQGHILQLWLRQWKHV\VWHPVHWV]HURDVWKHGHIDXOW
9DULDEOHVPXVWEHGHILQHGDWWKHEHJLQQLQJRIWKHSURJUDPEHIRUHWKH\DUHXVHG7KHGHILQLWLRQPXVWEHPDGHLQDVHSDUDWHEORFNRQO\RQHYDULDEOHW\SHFDQEHGHILQHGSHUEORFN
3DUDPHWHU
INT 9DULDEOHW\SHLQWHJHULHZKROHQXPEHUREAL 9DULDEOHW\SHUHDOLHIDFWLRQDOQXPEHUZLWKGHFLPDOSRLQWBOOL 9DULDEOHW\SH%RROHDQLHRU758(RU)$/6(CHAR 9DULDEOHW\SHFKDULH$6&,,FRGHGFKDUDFWHU
WR
STRING 9DULDEOHW\SHVWULQJLHFKDUDFWHUVWULQJAXIS 9DULDEOHW\SHD[LVLHD[LVDGGUHVVHVDQGVSLQGOHVFRAME 9DULDEOHW\SHIUDPHLHJHRPHWULFGDWD
([DPSOH
9DULDEOHW\SH ''HVFULSWLRQ
,17
'(),17180%(5 7KLVFUHDWHVDYDULDEOHRIW\SHLQWHJHUZLWKWKHQDPH180%(56\VWHPLQLWLDOL]HVZLWK]HUR
'(),17180%(5 7KLVFUHDWHVDYDULDEOHRIW\SHLQWHJHUZLWKWKHQDPH180%(57KHV\VWHPLQLWLDOL]HVWKHYDULDEOHZLWK
5($/
'()5($/'(37+ 7KLVFUHDWHVDYDULDEOHRIW\SHUHDOZLWKWKHQDPH'(37+6\VWHPLQLWLDOL]HVZLWK]HUR
'()5($/'(37+ 7KLVFUHDWHVDYDULDEOHRIW\SHUHDOZLWKWKHQDPH'(37+7KHYDULDEOHLVLQLWLDOL]HGZLWK
'()5($/'(37+ /(1*7+ 180%(5 0RUHWKDQRQHYDULDEOHFDQEHGHILQHGLQDOLQH
%22/
'()%22/,)B722B08&+ 7KLVFUHDWHVDYDULDEOHRIW\SH%22/ZLWKWKHQDPH,)B722B08&+6\VWHPLQLWLDOL]HVZLWK]HUR)$/6(
'()%22/,)B722B08&+ RU'()%22/,)B722B08&+ 758(RU'()%22/,)B722B08&+ )$/6(
7KLVFUHDWHVDYDULDEOHRIW\SH%22/ZLWKWKHQDPH,)B722B08&+
&+$5
-
)OH[LEOH1&SURJUDPPLQJ 9DULDEOHGHILQLWLRQ'()XVHUGHILQHGYDULDEOHV/8'*8'38'
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
'()&+$5*867$9B $FRGHYDOXHIRUWKHFRUUHVSRQGLQJ$6&,,FKDUDFWHURUWKH$6&,,FKDUDFWHULWVHOI
'()&+$5*867$9B $ FDQEHDVVLJQHGWRDYDULDEOHRIW\SH&+$5FRGHYDOXHFRUUHVSRQGVWROHWWHU$
675,1*
'()675,1*>@0867(5B %(*,1 9DULDEOHVRIW\SHVWULQJFDQFRQWDLQDVWULQJVHTXHQFHRIFKDUDFWHUV7KHPD[LPXPQXPEHURIFKDUDFWHUVLVHQFORVHGLQVTXDUHEUDFNHWVDIWHUWKHYDULDEOHW\SH
$;,6
'()$;,6$;,6B1$0( ; 9DULDEOHVRIW\SH$;,6KDYHWKHQDPH$;,6B1$0(DQGDUHDVVLJQHGWKHD[LVLGHQWLILHURIDFKDQQHO;LQWKLVFDVH$[LVQDPHVZLWKDQH[WHQGHGDGGUHVVPXVWEHHQFORVHGLQSDUHQWKHVHV
)5$0(
'())5$0(%(9(/B 9DULDEOHVRIW\SH)5$0(KDYHQDPHVOLNH%(9(/B
1RWH
$YDULDEOHRIW\SH$;,6FDQFRQWDLQDQD[LVLGHQWLILHUDQGDVSLQGOHLGHQWLILHURIDFKDQQHO
1RWH
$[LVQDPHVZLWKDQH[WHQGHGDGGUHVVPXVWEHHQFORVHGLQSDUHQWKHVHV
([DPSOH5HGHILQHORFDO/8'DQGSURJUDPJOREDOXVHUYDULDEOHV38',IWKH\DUHGHILQHGLQWKHPDLQSURJUDPWKH\ZLOODOVREHYDOLGDWDOOOHYHOVRIWKHVXESURJUDPVFDOOHG7KH\DUHFUHDWHGZLWKSDUWSURJUDPVWDUWDQGGHOHWHGZLWKSDUWSURJUDPHQGRU5(6(7
,IPDFKLQHGDWD01B/8'B(;7(1'('B6&23(LVVHWLWLVQRWSRVVLEOHWRGHILQHDYDULDEOHZLWKWKHVDPHQDPHLQWKHPDLQDQGVXESURJUDPV
$MN_LUD_EXTENDED_SCOPE=1 PROC MAIN 0DLQSURJUDPDEF INT VAR1 38'GHILQLWLRQ... 6XESURJUDPFDOOSUB2 ... M30 PROC SUB2 6XESURJUDP68%DEF INT VAR2 /8''(),1,7,21... IF (VAR1==1) 5HDG38'
-
)OH[LEOH1&SURJUDPPLQJ 9DULDEOHGHILQLWLRQ'()XVHUGHILQHGYDULDEOHV/8'*8'38'
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
VAR1=VAR1+1 5HDGZULWH38' VAR2=1 :ULWH/8'ENDIF 6XESURJUDPFDOOSUB3 ... M17 PROC SUB3 6XESURJUDP68%... IF (VAR1==1) 5HDG38' VAR1=VAR1+1 5HDGZULWH38' VAR2=1 (UURU/8'IURP68%QRWNQRZQENDIF ... M17 9DULDEOHQDPHV
$YDULDEOHQDPHFRQVLVWVRIXSWRFKDUDFWHUV7KHILUVWWZRFKDUDFWHUVPXVWEHDOHWWHURUDQXQGHUVFRUH
7KHVLJQFDQQRWEHXVHGIRUXVHUGHILQHGYDULDEOHVEHFDXVHLWLVXVHGIRUV\VWHPYDULDEOHV
([DPSOH3URJUDPORFDOYDULDEOHV
DEF INT COUNTER LOOP: G0 X /RRSCOUNT=COUNT+1 IF COUNT
-
)OH[LEOH1&SURJUDPPLQJ $UUD\GHILQLWLRQV'()6(75(3
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
([DPSOH4XHU\LQJH[LVWLQJJHRPHWU\D[HV
DEF AXIS ABSCISSA; *HRPHWU\D[LVIF ISAXIS(1) == FALSE GOTOF CONTINUE ABSCISSA = $P_AXN1 CONTINUE:
([DPSOH,QGLUHFWVSLQGOHSURJUDPPLQJ
DEF AXIS SPINDLE SPINDLE=(S1) OVRA[SPINDLE]=80 6SLQGOHRYHUULGH SPINDLE=(S3)
$UUD\GHILQLWLRQV'()6(75(3
)XQFWLRQ$QDUUD\LVDPHPRU\DUHDGHILQHGXVLQJWKHYDULDEOHW\SHZLWKQDPHDQGVL]H$UUD\VZLWKXSWRWZRGLPHQVLRQVFDQEHGHILQHG
1RWH0D[LPXPDUUD\VL]H
:KHQGHILQLQJDUUD\VWKHPD[LPXPDUUD\VL]HRIWKHVWDQGQGGLPHQVLRQLVIRUWKHDUUD\LQGH[>QP@
,QLWLDOL]DWLRQRIDUUD\V
,QLWLDOL]DWLRQYDOXHVFDQEHDVVLJQHGWRWKHDUUD\HOHPHQWV
GXULQJWKHSURJUDPH[HFXWLRQ
RU
DOUHDG\ZLWKWKHDUUD\GHILQLWLRQ
,QGLPHQVLRQDODUUD\VWKHULJKWDUUD\LQGH[LVLQFUHPHQWHGILUVW
-
)OH[LEOH1&SURJUDPPLQJ $UUD\GHILQLWLRQV'()6(75(3
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
3URJUDPPLQJDEF CHAR NAME[n,m] RUDEF INT NAME[n,m]RUDEF REAL NAME[n,m]RUDEF AXIS NAME[n,m] RUDEF FRAME NAME[n,m] RUDEF STRING[string_length] NAME[m]RUDEF BOOL[n,m] ,QLWLDOL]DWLRQZLWKYDOXHOLVWV6(7
$UUD\GHILQLWLRQRSWLRQVDEF Type VARIABLE = SET(VALUE)DEF Type ARRAY[n,m] = SET(VALUE, value, )RUDEF Type VARIABLE = ValueDEF Type ARRAY[n,m] = (value, value, )
1RWH
6(7LVRSWLRQDOLQWKHDUUD\GHILQLWLRQ
,QLWLDOL]LQJGXULQJWKHSURJUDPUXQARRAY[n,m]= SET(value, value, value,)ARRAY[n,m]= SET(expression, expression, expression,) ,QLWLDOL]DWLRQZLWKWKHVDPHYDOXHV5(3
$UUD\GHILQLWLRQRSWLRQV
:KHQArrayYDULDEOHVDUHFUHDWHGDEF Type ARRAY[n,m] = REP(value)LQLWLDOL]HVDOOHOHPHQWV:LWKDEF Type ARRAY[n,m] = REP(value, no.arrayElements)RQO\WKHQXPEHURIDUUD\HOHPHQWVGHILQHGLQ"No.arrayElements"LVLQLWLDOL]HGZLWK"Value",QLWLDOL]DWLRQEHJLQVDWDUUD\LQGH[7KHUHPDLQLQJYDULDEOHHOHPHQWVDUHLQLWLDOL]HGZLWK]HUR,I"No.arrayElements" = 0WKHHQWLUHYDULDEOHDUUD\LVLQLWLDOL]HGZLWK]HURDVIRUH[DPSOHIRUDOODUUD\HOHPHQWVRIvarNameDEF REAL varName[30] =REP(3.5, 0)
-
)OH[LEOH1&SURJUDPPLQJ $UUD\GHILQLWLRQV'()6(75(3
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
1RWH
9DULDEOHVRIW\SH)5$0(FDQQRWEHLQLWLDOL]HG
,IDYDOXHVPDOOHUWKDQ]HURRUODUJHUWKDQWKHQXPEHURIDUUD\HOHPHQWVLVSURJUDPPHGDVWKHUDQJHD9DOXHUDQJHH[FHHGHGDODUPLVRXWSXW
,QLWLDOL]LQJGXULQJWKHSURJUDPUXQARRAY[n,m] = REP(value)ARRAY[n,m] = REP(expression)ARRAY[n,m] = REP(value, no.arrayElements)ARRAY[n,m] = REP(expression, no.arrayElements),IWKHUDQJHGHILQLWLRQ"No.arrayElements" = 0WKHFXUUHQWYDOXHVRIDOODUUD\YDULDEOHVUHPDLQXQFKDQJHGHJvarName [12] =REP(44.5, 0)
1RWH
9DULDEOHVRIW\SH)5$0(DUHSHUPLVVLEOHDQGFDQEHLQLWLDOL]HGYHU\VLPSO\LQWKLVZD\
3DUDPHWHUV
DEF Variable type $UUD\GHILQLWLRQSET VALUE or expression ,QLWLDOL]DWLRQZLWKYDOXHOLVWVIRUWKHDUUD\GHILQLWLRQRULQWKH
SURJUDPH[HFXWLRQ
REP VALUE or expression ,QLWLDOL]DWLRQZLWKWKHVDPHYDOXHVIRUWKHDUUD\GHILQLWLRQRULQWKHSURJUDPH[HFXWLRQ
REP VALUE, no.arrayElem. ,QLWLDOL]DWLRQZLWKWKHVDPHYDOXHVIRUDFHUWDLQQXPEHURIDUUD\HOHPHQWVWKDWDUHWREHRYHUZULWWHQ$YDOXHRI]HURIRUWKHVHFRQGSDUDPHWHUHJ5(3PHDQVWKDWLQLWLDOL]DWLRQYDOXHVDUHQRWRYHUZULWWHQ
CHAR NAME[n,m] INT NAME[n,m] REAL NAME[n,m] AXIS NAME[n,m] FRAME NAME[n,m] BOOL[n,m]
9DULDEOHW\SH&+$5,17(*(55($/$;,6)5$0(%22/
STRING[string_length] NAME[m] 'DWDW\SH675,1*FDQRQO\EHGHILQHGIRUGLPHQVLRQDODUUD\V7KHVWULQJOHQJWKLVVSHFLILHGDIWHUWKHGDWDW\SH6WULQJ
NAME 9DULDEOHQDPHType VARIABLE 9DULDEOHW\SH
&+$5,17(*(55($/$;,6)5$0(%22/
ARRAY[n,m]= SET(value, value,)
,QLWLDOL]DWLRQRIDOOHOHPHQWVRIDQDUUD\ZLWKWKHOLVWHGYDOXHVIRUWKHDUUD\GHILQLWLRQ
TYPE ARRAY[n,m] = REP(value) ,QLWLDOL]DWLRQRIDOOHOHPHQWVRIDQDUUD\ZLWKWKHVDPHYDOXHIRUWKHDUUD\GHILQLWLRQ
-
)OH[LEOH1&SURJUDPPLQJ $UUD\GHILQLWLRQV'()6(75(3
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
ARRAY[n,m]= SET(value, value, ..) ARRAY[n,m] = SET(expression, ...)
,QLWLDOL]DWLRQRIDOOHOHPHQWVRIDQDUUD\ZLWKWKHOLVWHGYDOXHVLQWKHSURJUDPH[HFXWLRQ
ARRAY[n,m]= REP(value) ARRAY[n,m]= REP(expression)
,QLWLDOL]DWLRQRIDOOHOHPHQWVRIDQDUUD\ZLWKWKHVDPHYDOXHLQWKHSURJUDPH[HFXWLRQ
ARRAY[n, m] $UUD\LQGH[n $UUD\VL]HIRUVWGLPHQVLRQm $UUD\VL]HIRUQGGLPHQVLRQMaximum array size HJ'(),171$0(>@No.arrayElem. 1XPEHURIDUUD\HOHPHQWVWREHRYHUZULWWHQE\WKH5(3
FRPPDQGZLWK9DOXH$OODUUD\HOHPHQWVDUHRYHUZULWWHQZLWK9DOXH
$UUD\VZLWKYDULDEOHVRIW\SH675,1*FDQRQO\EHGLPHQVLRQDO
$UUD\BLQGH[>QP@
(OHPHQWVRIDQDUUD\DUHDFFHVVHGYLDWKHDUUD\LQGH[7KHDUUD\HOHPHQWVFDQHLWKHUEHUHDGRUDVVLJQHGYDOXHVXVLQJWKLVDUUD\LQGH[
7KHILUVWDUUD\HOHPHQWVWDUWVZLWKLQGH[>@IRUH[DPSOHIRUDUUD\VL]H>@WKHPD[LPXPSRVVLEOHDUUD\LQGH[LV>@
$UUD\LQGH[
P
P
QPQQQ
>QP@
Q
P
-
)OH[LEOH1&SURJUDPPLQJ $UUD\GHILQLWLRQV'()6(75(3
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
0HPRU\UHTXLUHPHQWV
9DULDEOHW\SH 00HPRU\UHTXLUHPHQWSHUHOHPHQW%22/ E\WH&+$5 E\WH,17 E\WHV5($/ E\WHV675,1* 6WULQJOHQJWK)5$0( E\WHVGHSHQGLQJRQWKHQXPEHURID[HV$;,6 E\WHV
1RWH
7KHPD[LPXPDUUD\VL]HGHWHUPLQHVWKHVL]HRIWKHPHPRU\DUHDVLQZKLFKWKHYDULDEOHPHPRU\LVPDQDJHG,WVKRXOGQRWEHVHWKLJKHUWKDQDFWXDOO\UHTXLUHG
'HIDXOWE\WHV
,IQRODUJHDUUD\VDUHGHILQHGVHOHFWE\WHV
([DPSOH'HILQLWLRQRI%22/DUUD\V
*OREDOXVHUGDWDPXVWFRQWDLQ3/&PDFKLQHGDWDIRUVZLWFKLQJWKHFRQWURORQRII
([DPSOH'HILQLWLRQRIDUUD\VZLWKPD[LPXPDUUD\VL]HIRUWKHVWDQGQGGLPHQVLRQDEF INT NAME[32767,32767]
([DPSOH,QLWLDOL]DWLRQRIFRPSOHWHYDULDEOHDUUD\V7KHFXUUHQWDVVLJQPHQWLVVKRZQLQWKHGUDZLQJ
N10 DEF REAL ARRAY1[10,3] = SET(0, 0, 0, 10, 11, 12, 20, 20, 20, 30, 30, 30, 40, 40, 40,) N20 ARRAY1[0,0] = REP(100) N30 ARRAY1[5,0] = REP(-100) N40 ARRAY1[0,0] = SET(0, 1, 2, -10, -11, -12, -20, -20, -20, -30, , , , -40, -40, -50, -60, -70) N50 ARRAY1[8,1] = SET(8.1, 8.2, 9.0, 9.1, 9.2)
-
)OH[LEOH1&SURJUDPPLQJ $UUD\GHILQLWLRQV'()6(75(3
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
1
11 11
$UUD\LQGH[
7KHDUUD\HOHPHQWV>@WR>@KDYHEHHQLQLWLDOL]HGZLWKWKHGHIDXOWYDOXH7KHDUUD\HOHPHQWV>@WR>@KDYHQRWEHHQFKDQJHG
7KHDUUD\HOHPHQWV>@WR>@KDYHEHHQLQLWLDOL]HGZLWKWKHGHIDXOWYDOXH
,QLWLDOL]DWLRQZLWKYDULRXVYDOXHV
,QLWLDOL]DWLRQIRUGHILQLWLRQ
,QLWLDOL]DWLRQZLWKLGHQWLFDOYDOXH
,,QLWLDOL]DWLRQZLWKYDOXHOLVWVIRUWKHDUUD\GHILQLWLRQ6(7 $VPDQ\DUUD\HOHPHQWVDUHDVVLJQHGDVLQLWLDOL]DWLRQYDOXHVDUHSURJUDPPHG
$UUD\HOHPHQWVZLWKRXWYDOXHVJDSVLQWKHYDOXHOLVWDUHDXWRPDWLFDOO\LQLWLDOL]HGWR
)RUYDULDEOHVRIW\SH$;,6JDSVLQWKHYDOXHOLVWDUHQRWSHUPLWWHG
3URJUDPPLQJPRUHYDOXHVWKDQH[LVWLQWKHUHPDLQLQJDUUD\HOHPHQWVWULJJHUVDQDODUP
([DPSOHDEF REAL ARRAY[2,3]=(10, 20, 30, 40)
,QLWLDOL]DWLRQZLWKYDOXHOLVWVLQWKHSURJUDPH[HFXWLRQ6(7 ,QLWLDOL]DWLRQLVWKHVDPHDVLQDUUD\GHILQLWLRQ
([SUHVVLRQVDUHSRVVLEOHYDOXHVLQWKLVFDVHWRR
,QLWLDOL]DWLRQVWDUWVDWWKHSURJUDPPHGDUUD\LQGH[HV9DOXHVFDQDOVREHDVVLJQHGVHOHFWLYHO\WRVXEDUUD\V
([DPSOH$VVLJQPHQWRIH[SUHVVLRQVDEF INT ARRAY[5, 5]ARRAY[0,0] = SET(1, 2, 3, 4, 5)
-
)OH[LEOH1&SURJUDPPLQJ $UUD\GHILQLWLRQV'()6(75(3
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
ARRAY[2,3] = SET(VARIABLE, 4*5.6)7KHD[LVLQGH[RID[LVYDULDEOHVLVQRWWUDYHUVHG
([DPSOH,QLWLDOL]DWLRQLQRQHOLQH$MA_AX_VELO_LIMIT[1, AX1] = SET(1.1, 2.2, 3.3),VHTXLYDOHQWWR$MA_AX_VELO_LIMIT[1,AX1] = 1.1$MA_AX_VELO_LIMIT[2,AX1] = 2.2$MA_AX_VELO_LIMIT[3,AX1] = 3.3
,QLWLDOL]DWLRQZLWKWKHVDPHYDOXHVIRUWKHDUUD\GHILQLWLRQ5(3$OODUUD\HOHPHQWVDUHDVVLJQHGWKHVDPHYDOXHFRQVWDQW
9DULDEOHVRIW\SH)5$0(FDQQRWEHLQLWLDOL]HG
([DPSOHVDEF REAL ARRAY5[10,3] = REP(9.9),QLWLDOL]HWKHYDULDEOHDUUD\UDQJHVYDU1DPH>@WRYDU1DPH>@ZLWKDEF REAL varName[30] =REP(3.5, 4)6HWDUUD\YDULDEOHWRDSURJUDPPHGYDOXHUDQJHE\UDQJH
varName[5] = REP(4.5, 10) ;6HWYDU1DPH>@WRYDU1DPH>@WRYDOXH6HW5SDUDPHWHUVWRFHUWDLQYDOXHVUDQJHE\UDQJH
R10 = REP(2.4, 15) ;6HW5WR5WRYDOXH
,QLWLDOL]DWLRQZLWKWKHVDPHYDOXHVLQWKHSURJUDPH[HFXWLRQ ([SUHVVLRQVDUHSRVVLEOHYDOXHVLQWKLVFDVHWRR
$OODUUD\HOHPHQWVDUHLQLWLDOL]HGWRWKHVDPHYDOXH
,QLWLDOL]DWLRQVWDUWVDWWKHSURJUDPPHGDUUD\LQGH[HV9DOXHVFDQDOVREHDVVLJQHGVHOHFWLYHO\WRVXEDUUD\V
([DPSOH,QLWLDOL]DWLRQRIDOOHOHPHQWVZLWKRQHYDOXHDEF FRAME FRM[10]FRM[5] = REP(CTRANS (X,5))
-
)OH[LEOH1&SURJUDPPLQJ ,QGLUHFWSURJUDPPLQJ
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
,QGLUHFWSURJUDPPLQJ
)XQFWLRQ,QGLUHFWSURJUDPPLQJSHUPLWVJHQHUDOSXUSRVHXVHRISURJUDPV7KHH[WHQGHGDGGUHVVLQGH[LVVXEVWLWXWHGE\DYDULDEOHRIVXLWDEOHW\SH
,QGLUHFW*FRGHSURJUDPPLQJ
,QGLUHFWSURJUDPPLQJRI*FRGHVXVLQJYDULDEOHVIDFLOLWDWHVHIIHFWLYHF\FOHSURJUDPPLQJ7ZRSDUDPHWHUV
*FRGHJURXSVZLWKLQWHJHUFRQVWDQWV
*FRGHQXPEHUVZLWKLQWHJHUUHDOW\SHYDULDEOHV
DUHDYDLODEOHIRUWKLVSXUSRVH
3URJUDPPLQJADDRESS[INDEX]RUG[] = ,QGLUHFWSURJUDPPLQJRI*FRGHVXVLQJYDULDEOHVIRUHIIHFWLYHF\FOHSURJUDPPLQJ
3DUDPHWHUV$OODGGUHVVHVDUHSDUDPHWHUL]DEOHH[FHSW
1EORFNQXPEHU
/VXEURXWLQH
,QGLUHFWSURJUDPPLQJLVQRWSRVVLEOHIRUVHWWDEOHDGGUHVVHV
([DPSOH;>@LQSODFHRI;LVQRWSHUPLVVLEOH
ADDRESS $GGUHVVZLWKSDUDPHWHUGHWDLOVDVLQGH[[INDEX] ,QGH[YDULDEOHHJVSLQGOHQRD[LVG
-
)OH[LEOH1&SURJUDPPLQJ ,QGLUHFWSURJUDPPLQJ
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
,ILWLVQHFHVVDU\WRFDOFXODWHWKH*FRGHQXPEHUWKLVPXVWEHGRQHLQDVHSDUDWHSDUWVSURJUDPOLQHEHIRUHWKHLQGLUHFW*FRGHSURJUDPPLQJ
1RWH
$OOWKHYDOLG*FRGHVDUHVKRZQLQWKH3*LQWKH/LVWRI*IXQFWLRQVSUHSDUDWRU\IXQFWLRQVVHFWLRQLQYDULRXVJURXSV6HH3*3URJUDPPLQJ*XLGH)XQGDPHQWDOV7DEOHV
([DPSOH
Spindle S1=300 'LUHFWSURJUDPPLQJDEF INT SPINU=1 S[SPINU]=300
,QGLUHFWSURJUDPPLQJ6SHHGUSPIRUWKHVSLQGOHZKRVHQXPEHULVVWRUHGLQWKH63,18YDULDEOHLQWKLVH[DPSOH
Feed FA[U]=300 'LUHFWSURJUDPPLQJDEF AXIS AXVAR2=U FA[AXVAR2]=300
,QGLUHFWSURJUDPPLQJ)HHGUDWHIRUSRVLWLRQLQJD[LVZKRVHDGGUHVVQDPHLVVWRUHGLQWKHYDULDEOHRIW\SH$;,6ZLWKWKHYDULDEOHQDPH$;9$5
Measured value $AA_MM[X] 'LUHFWSURJUDPPLQJDEF AXIS AXVAR3=X $AA_MM[AXVAR3]
,QGLUHFWSURJUDPPLQJ0HDVXUHGYDOXHLQPDFKLQHFRRUGLQDWHVIRUWKHD[LVZKRVHQDPHLVVWRUHGLQYDULDEOH$;9$5
Array element DEF INT ARRAY1[4,5] 'LUHFWSURJUDPPLQJDEFINE DIM1 AS 4 DEFINE DIM2 AS 5 DEF INT ARRAY[DIM1,DIM2] ARRAY[DIM1-1,DIM2-1]=5
,QGLUHFWSURJUDPPLQJ$UUD\GLPHQVLRQVPXVWEHVWDWHGDVFRQVWDQWYDOXHV
Axis assignment with axis variables X1=100 X2=200 'LUHFWSURJUDPPLQJDEF AXIS AXVAR1 AXVAR2 AXVAR1=(X1) AXVAR2=(X2) AX[AXVAR1]=100 AX[AXVAR2]=200
,QGLUHFWSURJUDPPLQJ'HILQLWLRQRIYDULDEOHV$VVLJQPHQWRIWKHD[LVQDPHVWUDYHUVDORID[HVWKDWDUHVWRUHGLQWKHYDULDEOHVWRRU
Interpolation parameters with axis variables
G2 X100 I20 'LUHFWSURJUDPPLQJ
-
)OH[LEOH1&SURJUDPPLQJ ,QGLUHFWSURJUDPPLQJ
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
DEF AXIS AXVAR1=X G2 X100 IP[AXVAR1]=20
,QGLUHFWSURJUDPPLQJ'HILQLWLRQDQGDVVLJQPHQWRIWKHD[LVQDPH,QGLUHFWSURJUDPPLQJRIWKHFHQWHU
Indirect subroutine call CALL "L" @
([DPSOH,QGLUHFW*FRGHSURJUDPPLQJ6HWWDEOH]HURRIIVHW*FRGHJURXS
N1010 DEF INT INT_VAR N1020 INT_VAR = 2 ... N1090 G[8] = INT_VAR G1 X0 Y0 *N1100 INT_VAR = INT_VAR + 1 *FRGHFDOFXODWLRQN1110 G[8] = INT_VAR G1 X0 Y0 *
3ODQHVHOHFWLRQ*FRGHJURXS
N2010 R10 = $P_GG[6] 5HDG*FRGHIRUFXUUHQWSODQH... N2090 G[6] = R10 *
-
)OH[LEOH1&SURJUDPPLQJ ,QGLUHFWSURJUDPPLQJ
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
5XQVWULQJDVSDUWVSURJUDPOLQH(;(&675,1*
)XQFWLRQ3DUWVSURJUDPFRPPDQG(;(&675,1*SDVVHVDVWULQJDVDSDUDPHWHUWKDWDOUHDG\FRQWDLQVWKHSDUWVSURJUDPOLQHWRUXQ
3URJUDPPLQJEXECSTRING ()
3DUDPHWHUV
EXECSTRING 7UDQVIHURIDVWULQJYDULDEOHZLWKWKHSDUWVSURJUDPOLQHWRUXQ() 3DUDPHWHUVZLWKWKHSDUWVSURJUDPOLQHDFWXDOO\WREHH[HFXWHG
1RWH
$OOSDUWVSURJUDPFRQVWUXFWLRQVWKDWFDQEHSURJUDPPHGLQDSDUWVSURJUDPFDQEHRXWSXW7KDWH[FOXGHV352&DQG'()LQVWUXFWLRQVDQGDOOXVHRI,1,DQG'()ILOHV
([DPSOH,QGLUHFWSDUWVSURJUDPOLQH
N100 DEF STRING[100] BLOCK 6WULQJYDULDEOHWREHLQFOXGHGLQSDUWVSURJUDPOLQHN110 DEF STRING[10] MFCT1 = "M7" N200 EXECSTRING(MFCT1
-
)OH[LEOH1&SURJUDPPLQJ $VVLJQPHQWV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
$VVLJQPHQWV
)XQFWLRQ9DOXHVRIDVXLWDEOHW\SHFDQEHDVVLJQHGWRWKHYDULDEOHVDULWKPHWLFSDUDPHWHUVLQWKHSURJUDP
3URJUDPPLQJ$VVLJQPHQWVWRD[LVDGGUHVVHVWUDYHUVLQJLQVWUXFWLRQVDOZD\VUHTXLUHDVHSDUDWHEORFNWRYDULDEOHDVVLJQPHQWV$VVLJQPHQWWRD[LVDGGUHVVHVWUDYHUVHLQVWUXFWLRQVPXVWEHLQDVHSDUDWHEORFNIURPWKHYDULDEOHDVVLJQPHQWV
3DUDPHWHUV$VVLJQPHQWWRVWULQJYDULDEOH
&+$5VDQG675,1*VGLVWLQJXLVKEHWZHHQXSSHUDQGORZHUFDVH
,I\RXZDQWWRLQFOXGHDQRULQWKHVWULQJSXWLWLQVLQJOHTXRWHV
([DPSOHMSG("Viene lavorata l'''ultima figura")GLVSOD\VWKHWH[W9LHQHODYRUDWDOXOWLPDILJXUDRQWKHVFUHHQ
7KHVWULQJFDQFRQWDLQQRQGLVSOD\DEOHFKDUDFWHUVLIWKH\DUHVSHFLILHGDVELQDU\RUKH[DGHFLPDOFRQVWDQWV
([DPSOH
R1=10.518 R2=4 VARI1=45 X=47.11 Y=R2
$VVLJQPHQWRIDQXPHULFYDOXH
R1=R3 VARI1=R4 $VVLJQPHQWRIDVXLWDEOHW\SHYDULDEOHR4=-R5 R7=-VARI8 $VVLJQPHQWZLWKRSSRVLWHVLJQ
RQO\SHUPLWWHGIRU,17DQG5($/W\SHV
-
)OH[LEOH1&SURJUDPPLQJ $ULWKPHWLFRSHUDWLRQVIXQFWLRQV
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
$ULWKPHWLFRSHUDWLRQVIXQFWLRQV
)XQFWLRQ7KHDULWKPHWLFIXQFWLRQVDUHSULPDULO\IRU5SDUDPHWHUVDQGYDULDEOHVRUFRQVWDQWVDQGIXQFWLRQVRIW\SH5($/7KHW\SHV,17DQG&+$5DUHDOVRSHUPLWWHG
$ULWKPHWLFIXQFWLRQ$7$1
7KHIXQFWLRQFDOFXODWHVWKHDQJOHRIWKHWRWDOYHFWRUIURPWZRPXWXDOO\RUWKRJRQDOYHFWRUV7KHUHVXOWLVLQRQHRIIRXUTXDGUDQWVrr7KHDQJXODUUHIHUHQFHLVDOZD\VEDVHGRQWKHQGYDOXHLQWKHSRVLWLYHGLUHFWLRQ
9HFWRU
9HFWRU
$QJOH r
$QJOH r
5 $7$1
5 $7$1
9HFWRU
9HFWRU
77KHDFFXUDF\IRUFRPSDULVRQFRPPDQGVFDQEHVHWXVLQJ7581&
6HH$FFXUDF\FRUUHFWLRQIRUFRPSDULVRQFRPPDQGV
9DULDEOHPLQLPXPPD[LPXPDQGUDQJH
6HH9DULDEOHPLQLPXPPD[LPXPDQGUDQJH0,19$/0$;9$/DQG%281'
3URJUDPPLQJ7KHXVXDOPDWKHPDWLFDOQRWDWLRQLVXVHGIRUDULWKPHWLFRSHUDWLRQV3ULRULWLHVIRUH[HFXWLRQDUHLQGLFDWHGE\SDUHQWKHVHV$QJOHVDUHVSHFLILHGIRUWULJRQRPHWU\IXQFWLRQVDQGWKHLULQYHUVHIXQFWLRQVULJKWDQJOH r
-
)OH[LEOH1&SURJUDPPLQJ $ULWKPHWLFRSHUDWLRQVIXQFWLRQV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
3DUDPHWHUV2SHUDWRUV0DWKHPDWLFDOIXQFWLRQV
+ $GGLWLRQ- 6XEWUDFWLRQ* 0XOWLSOLFDWLRQ/ 'LYLVLRQ
&DXWLRQW\SH,17W\SH,17 W\SH5($/H[DPSOH
DIV 'LYLVLRQIRUYDULDEOHW\SH,17DQG5($/&DXWLRQW\SH,17',9W\SH,17 W\SH,17H[DPSOH',9
MOD 0RGXORGLYLVLRQRQO\W\SH,17SURGXFHVUHPDLQGHURI,17GLYLVLRQH[DPSOH02'
: &KDLQRSHUDWRUIRU)5$0(YDULDEOHVSin() 6LQHCOS() &RVLQHTAN() 7DQJHQWASIN() $UFVLQHACOS() $UFFRVLQHATAN2 (,) $UFWDQJHQWSQRT() 6TXDUHURRWABS() $EVROXWHYDOXHPOT() SRZHUVTXDUHTRUNC() 7UXQFDWHWRLQWHJHUROUND() 5RXQGWRLQWHJHULN() 1DWXUDOORJDULWKPEXP() ([SRQHQWLDOIXQFWLRQMINVAL () /RZHUYDOXHRIWZRYDULDEOHVMAXVAL () /DUJHUYDOXHRIWZRYDULDEOHVBOUND () 9DULDEOHYDOXHZLWKLQWKHGHILQHGYDOXHUDQJHCTRANS() 7UDQVODWLRQCROT () 5RWDWLRQCSCALE() &KDQJHRIVFDOHCMIRROR() 0LUURULQJ
-
)OH[LEOH1&SURJUDPPLQJ $ULWKPHWLFRSHUDWLRQVIXQFWLRQV
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
([DPSOH,QLWLDOL]DWLRQRIFRPSOHWHYDULDEOHDUUD\V
R1=R1+1 1HZ5 ROG5R1=R2+R3 R4=R5-R6 R7=R8*R9 R10=R11/R12 R13=SIN(25.3) R14=R1*R2+R3 0XOWLSOLFDWLRQRUGLYLVLRQWDNHVSUHFHGHQFHRYHUDGGLWLRQRU
VXEWUDFWLRQ
R14=(R1+R2)*R3 3DUHQWKHVHVDUHFDOFXODWHGILUVWR15=SQRT(POT(R1)+POT(R2)) ,QQHUSDUHQWKHVHVDUHUHVROYHGILUVW
5 VTXDUHURRWRI55
RESFRAME= FRAME1:FRAME2 FRAME3=CTRANS():CROT()
7KHFRQFDWHQDWLRQRSHUDWRUOLQNVIUDPHVWRIRUPDUHVXOWLQJIUDPHRUDVVLJQVYDOXHVWRIUDPHFRPSRQHQWV
-
)OH[LEOH1&SURJUDPPLQJ &RPSDULVRQDQGORJLFDORSHUDWLRQV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
&RPSDULVRQDQGORJLFDORSHUDWLRQV
)XQFWLRQ&RPSDULVRQRSHUDWLRQVFDQEHXVHGIRUH[DPSOHWRIRUPXODWHDMXPSFRQGLWLRQ&RPSOH[H[SUHVVLRQVFDQDOVREHFRPSDUHG
7KHFRPSDULVRQRSHUDWLRQVDUHDSSOLFDEOHWRYDULDEOHVRIW\SHCHAR, INTREALDQGBOOL7KHFRGHYDOXHLVFRPSDUHGZLWKWKHCHARW\SH)RUW\SHVSTRINGAXISDQGFRAMEWKHIROORZLQJDUHSRVVLEOH DQG!ZKLFKFDQEHXVHGIRUSTRINGW\SHRSHUDWLRQVHYHQLQV\QFKURQRXVDFWLRQV7KHUHVXOWRIFRPSDULVRQRSHUDWLRQVLVDOZD\VRIBOOLW\SH/RJLFRSHUDWRUVDUHXVHGWROLQNWUXWKYDOXHV
7KHORJLFDORSHUDWLRQVFDQRQO\EHXVHGIRUWKHBOOLW\SH+RZHYHUWKH\FDQDOVREHDSSOLHGWRWKHCHAR, INTDQGREALGDWDW\SHVYLDLQWHUQDOW\SHFRQYHUVLRQ)RUWKHORJLF%RROHDQRSHUDWLRQVWKHIROORZLQJDSSOLHVWRWKH BOOLCHAR, INTDQGREALGDWDW\SHV
FRUUHVSRQGVWR)$/6(
QRWHTXDOWRPHDQV758(
%LWORJLFRSHUDWRUV
/RJLFRSHUDWLRQVFDQDOVREHDSSOLHGWRVLQJOHELWVRIW\SHVCHARDQGINT7\SHFRQYHUVLRQLVDXWRPDWLF
3URJUDPPLQJ5HODWLRQDORSHUDWRUV
RU
!
RU
!
RU
RU
!
RU
/RJLFRSHUDWRUVANDRUORRU
-
)OH[LEOH1&SURJUDPPLQJ &RPSDULVRQDQGORJLFDORSHUDWLRQV
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
NOTRUXOR6SDFHVPXVWEHOHIWEHWZHHQ%22/($1RSHUDQGVDQGRSHUDWRUV
%LWE\ELWORJLFRSHUDWRUVB_ANDRUB_ORRUB_NOTRUB_XOR
3DUDPHWHUV0HDQLQJRIUHODWLRQDORSHUDWRUV
== HTXDOWR QRWHTXDOWR> JUHDWHUWKDQ< OHVVWKDQ>= JUHDWHUWKDQRUHTXDOWR
-
)OH[LEOH1&SURJUDPPLQJ &RPSDULVRQDQGORJLFDORSHUDWLRQV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
([DPSOHUHODWLRQDORSHUDWRUVIF R10>=100 GOTOF DESTRUR11=R10>=100IF R11 GOTOF DEST7KHUHVXOWRIWKH5! FRPSDULVRQLVILUVWEXIIHUHGLQ5
([DPSOHORJLFRSHUDWRUVIF (R10=17.5) GOTOF DESTINATIONRUIF NOT R10 GOTOB START127LVRQO\DSSOLHGWRRQHRSHUDQG
([DPSOHELWORJLFRSHUDWRUVIF $MC_RESET_MODE_MASK B_AND 'B10000' GOTOF ACT_PLANE
-
)OH[LEOH1&SURJUDPPLQJ &RPSDULVRQDQGORJLFDORSHUDWLRQV
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
3UHFLVLRQFRUUHFWLRQRQFRPSDULVRQHUURUV7581&
)XQFWLRQ7KH7581&FRPPDQGWUXQFDWHVWKHRSHUDQGPXOWLSOLHGE\DSUHFLVLRQIDFWRU
6HWWDEOHSUHFLVLRQIRUFRPSDULVRQFRPPDQGV
3URJUDPGDWDRIW\SH5($/DUHGLVSOD\HGLQWHUQDOO\ZLWKELWVLQ,(((IRUPDW7KLVGLVSOD\IRUPDWFDQFDXVHGHFLPDOQXPEHUVWREHGLVSOD\HGLPSUHFLVHO\DQGOHDGWRXQH[SHFWHGUHVXOWVZKHQFRPSDUHGZLWKWKHLGHDOO\FDOFXODWHGYDOXHV
5HODWLYHHTXDOLW\
7RSUHYHQWWKHLPSUHFLVLRQFDXVHGE\WKHGLVSOD\IRUPDWIURPLQWHUIHULQJZLWKSURJUDPIORZWKHFRPSDULVRQFRPPDQGVGRQRWFKHFNIRUDEVROXWHHTXDOLW\EXWIRUUHODWLYHHTXDOLW\
3URJUDPPLQJ3UHFLVLRQFRUUHFWLRQRQFRPSDULVRQHUURUVTRUNC (R1*1000)
3DUDPHWHUV
TRUNC() 7UXQFDWHGHFLPDOSODFHV
5HODWLYHHTXDOLW\FRQVLGHUHGIRU
(TXDOLW\
,QHTXDOLW\!
*UHDWHUWKDQRUHTXDOWR!
/HVVWKDQRUHTXDOWR
*UHDWHUOHVVWKDQ!ZLWKDEVROXWHHTXDOLW\
*UHDWHUWKDQ!
/HVVWKDQ
&RPSDWLELOLW\
)RUFRPSDWLELOLW\UHDVRQVWKHFKHFNIRUUHODWLYHHTXDOLW\ZLWK!DQGFDQEHGHDFWLYDWHGE\VHWWLQJPDFKLQHGDWD0'352*B)81&7,21B0$6.%LW
1RWH
&RPSDULVRQVZLWKGDWDRIW\SH5($/DUHVXEMHFWWRDFHUWDLQLPSUHFLVLRQIRUWKHDERYHUHDVRQV,IGHYLDWLRQVDUHXQDFFHSWDEOHXVH,17(*(5FDOFXODWLRQE\PXOWLSO\LQJWKHRSHUDQGVE\DSUHFLVLRQIDFWRUDQGWKHQWUXQFDWLQJZLWK7581&
6\QFKURQL]HGDFWLRQV
-
)OH[LEOH1&SURJUDPPLQJ &RPSDULVRQDQGORJLFDORSHUDWLRQV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
7KHUHVSRQVHGHVFULEHGIRUWKHFRPSDULVRQFRPPDQGVDOVRDSSOLHVWRV\QFKURQL]HGDFWLRQV
([DPSOHSUHFLVLRQFRQVLGHUDWLRQV
N40 R1=61.01 R2=61.02 R3=0.01 $VVLJQPHQWRILQLWLDOYDOXHVN41 IF ABS(R2-R1) > R3 GOTOF ERROR -XPSZDVSHUIRUPHGSUHYLRXVO\N42 M30 (QGRISURJUDPN43 ERROR: SETAL(66000) R1=61.01 R2=61.02 R3=0.01 $VVLJQPHQWRILQLWLDOYDOXHVR11=TRUNC(R1*1000) R12=TRUNC(R2*1000) R13=TRUNC(R3*1000)
3UHFLVLRQFRUUHFWLRQ
IF ABS(R12-R11) > R13 GOTOF ERROR -XPSLVQRORQJHUH[HFXWHGM30 (QGRISURJUDPERROR: SETAL(66000)
([DPSOHFDOFXODWHDQGHYDOXDWHWKHTXRWLHQWRIERWKRSHUDQGV
R1=61.01 R2=61.02 R3=0.01 $VVLJQPHQWRILQLWLDOYDOXHVIF ABS((R2-R1)/R3)-1) > 10EX-5 GOTOF ERROR
-XPSQRWH[HFXWHG
M30 (QGRISURJUDPERROR: SETAL(66000)
9DULDEOHPLQLPXPPD[LPXPDQGUDQJH0,19$/0$;9$/DQG%281'
)XQFWLRQ7KH0,19$/DQG0$;9$/IXQFWLRQVFDQEHXVHGWRFRPSDUHWZRYDULDEOHVDQGUHWXUQHLWKHUWKHVPDOOHURUWKHODUJHUYDOXHDVWKHUHVXOW
7KH%281'IXQFWLRQFDQEHXVHGWRWHVWZKHWKHUWKHYDOXHRIDWHVWYDULDEOHIDOOVZLWKLQWKHGHILQHGYDOXHUDQJH,IWKLVLVWKHFDVHWKHYDULDEOHYDOXHLVUHWXUQHG,IWKHWHVWYDULDEOHYDOXHLVODUJHUWKDQWKHPD[LPXPYDOXHWKHPD[LPXPYDOXHLVRXWSXW6LPLODUO\LIWKHPLQLPXPYDOXHLVXQGHUVKRWWKHPLQLPXPYDOXHLVRXWSXW
%HKDYLRULIYDOXHVDUHHTXDO
,IWKHYDOXHVDUHHTXDOWKH0,19$/DQG0$;9$/IXQFWLRQVRXWSXWWKLVHTXDOYDOXHZKLOH%281'UHWXUQVWKHYDOXHRIWKHYDULDEOHWREHWHVWHG
3URJUDPPLQJ0LQLPXP
-
)OH[LEOH1&SURJUDPPLQJ &RPSDULVRQDQGORJLFDORSHUDWLRQV
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
Result smaller value = (, )0D[LPXPResult larger value = (, )5DQJHReturn value = (, , )
1RWH
7KHWKUHH0,19$/0$;9$/DQG%281'IXQFWLRQVFDQDOVREHSURJUDPPHGDVV\QFKURQL]HGDFWLRQV
3DUDPHWHU
MINVAL () 'HWHUPLQHVWKHORZHUYDOXHRIWZRYDULDEOHVMAXVAL () 'HWHUPLQHVWKHODUJHUYDOXHRIWZRYDULDEOHVBOUND () 7HVWVZKHWKHUWKHYDULDEOHWREHWHVWHGIDOOVZLWKLQDGHILQHGPLQPD[
YDOXHUDQJH
Variable1, Variable2 )LUVWDQGVHFRQGYDULDEOHZKRVHYDOXHVDUHWHVWHGDJDLQVWWKHPLQLPXPPD[LPXP
Variable min /RZHUGHILQHGOLPLWIRUWKHWHVWYDULDEOHYDOXHVariable max 8SSHUGHILQHGOLPLWIRUWKHWHVWYDULDEOHYDOXHVariable test 9DULDEOHXVHGWRWHVWZKHWKHULWVYDOXHIDOOVZLWKLQWKHGHILQHGUDQJH
([DPSOHV
DEF REAL rVar1 = 10.5, rVar2 = 33.7, rVar3, rVar4, rVar5, rValMin, rValMax, rRetVar rValMin = MINVAL(rVar1, rVar2) U9DO0LQVHWWRYDOXHrValMax = MAXVAL(rVar1, rVar2) U9DO0D[VHWWRYDOXH rVar3 = 19.7 rRetVar = BOUND(rVar1, rVar2, rVar3) U9DUIDOOVZLWKLQWKHOLPLWV U5HW9DUVHWWRrVar3 = 1.8 rRetVar = BOUND(rVar1, rVar2, rVar3) U9DUIDOOVEHORZWKHORZHUOLPLW U5HW9DUVHWWRrVar3 = 45.2 rRetVar = BOUND(rVar1, rVar2, rVar3) U9DUH[FHHGVWKHXSSHUOLPLW U5HW9DUVHWWR
-
)OH[LEOH1&SURJUDPPLQJ 3ULRULW\RIWKHRSHUDWLRQV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
3ULRULW\RIWKHRSHUDWLRQV
)XQFWLRQ(DFKRSHUDWRULVDVVLJQHGDSULRULW\:KHQDQH[SUHVVLRQLVHYDOXDWHGWKHRSHUDWRUVZLWKWKHKLJKHVWSULRULW\DUHDOZD\VDSSOLHGILUVW:KHUHRSHUDWRUVKDYHWKHVDPHSULRULW\WKHHYDOXDWLRQLVIURPOHIWWRULJKW
,QDULWKPHWLFH[SUHVVLRQVWKHH[HFXWLRQRUGHURIDOOWKHRSHUDWRUVFDQEHVSHFLILHGE\SDUHQWKHVHVLQRUGHUWRRYHUULGHWKHQRUPDOSULRULW\UXOHV
2UGHURIRSHUDWRUV)URPWKHKLJKHVWWRORZHVWSULRULW\
127%B127 1HJDWLRQELWVHULDOQHJDWLRQ
',902' 0XOWLSOLFDWLRQGLYLVLRQ
$GGLWLRQVXEWUDFWLRQ
%B$1' %LW$1'
%B;25 %LWVHULDOH[FOXVLYH25
%B25 %LWVHULDO25
$1' $1'
;25 ([FOXVLYH25
25 25
&RQFDWHQDWLRQRIVWULQJVUHVXOWW\SH675,1*
!!! &RPSDULVRQRSHUDWRUV
1RWH
7KHFRQFDWHQDWLRQRSHUDWRUIRU)UDPHVPXVWQRWEHXVHGLQWKHVDPHH[SUHVVLRQDVRWKHURSHUDWRUV$SULRULW\OHYHOLVWKHUHIRUHQRWUHTXLUHGIRUWKLVRSHUDWRU
([DPSOH,)VWDWHPHQWIf (otto==10) and (anna==20) gotof end
-
)OH[LEOH1&SURJUDPPLQJ 3RVVLEOHW\SHFRQYHUVLRQV
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
3RVVLEOHW\SHFRQYHUVLRQV
)XQFWLRQ7\SHFRQYHUVLRQRQDVVLJQPHQW
7KHFRQVWDQWQXPHULFYDOXHWKHYDULDEOHRUWKHH[SUHVVLRQDVVLJQHGWRDYDULDEOHPXVWEHFRPSDWLEOHZLWKWKHYDULDEOHW\SH,IWKLVLVWKLVFDVHWKHW\SHLVDXWRPDWLFDOO\FRQYHUWHGZKHQWKHYDOXHLVDVVLJQHG
3RVVLEOHW\SHFRQYHUVLRQV
WR 5($/ ,17 %22/ &+$5 675,1* $;,6 )5$0(
IURP 5($/ \HV \HV
-
)OH[LEOH1&SURJUDPPLQJ 6WULQJRSHUDWLRQV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
6WULQJRSHUDWLRQV
2YHUYLHZ)XUWKHUVWULQJPDQLSXODWLRQVDUHSURYLGHGLQDGGLWLRQWRWKHFRQYHQWLRQDORSHUDWLRQV$VVLJQPHQWDQG&RPSDULVRQGHVFULEHGLQWKLVVHFWLRQ
3DUDPHWHUV
Type conversion to STRING: STRING_ERG =
-
)OH[LEOH1&SURJUDPPLQJ 6WULQJRSHUDWLRQV
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
6SHFLDOPHDQLQJRIWKHFKDU
7KHFKDULVLQWHUSUHWHGLQWHUQDOO\DVHQGRIVWULQJ5HSODFLQJDFKDUDFWHUE\WKHFKDUDFWHUWUXQFDWHVWKHVWULQJ
([DPSOH
DEF STRING[20] STRG = "Axis . stopped"
STRG[6] = "X" 5HWXUQVWKHPHVVDJH$[LV;VWRSSHGMSG(STRG) STRG[6] = 0
MSG(STRG) 5HWXUQVWKHPHVVDJH$[LV
7\SHFRQYHUVLRQWR675,1*
)XQFWLRQ7KLVHQDEOHVXVHRIYDULDEOHVRIGLIIHUHQWW\SHVLQDPHVVDJH06*
3HUIRUPHGLPSOLFLWO\ZLWKXVHRIWKHRSHUDWRUIRUGDWDW\SHV,175($/&+$5DQG%22/VHH&RQFDWHQDWLRQRIVWULQJV
$Q,17YDOXHLVFRQYHUWHGWRQRUPDOUHDGDEOHIRUPDW5($/YDOXHVFRQYHUWZLWKXSWRGHFLPDOSODFHV
3URJUDPPLQJ6\QWD[
675,1*B(5* $;675,1*$;,6 55HVXOWW\SH675,1*
6HPDQWLFV
$;675,1*$;,6UHWXUQVWKHVSHFLILHGD[LVLGHQWLILHUDVDVWULQJ
3DUDPHWHUV9DULDEOHVRIW\SH$;,6FDQEHFRQYHUWHGWR675,1*E\WKH$;675,1*IXQFWLRQ
)5$0(YDULDEOHVFDQQRWEHFRQYHUWHG
([DPSOHMSG("Position:"
-
)OH[LEOH1&SURJUDPPLQJ 6WULQJRSHUDWLRQV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
([DPSOH
DEF STRING[32] STRING_ERG STRING_ERG = AXSTRING(X) 1RZ675,1*B(5* ;
7\SHFRQYHUVLRQRI675,1*
)XQFWLRQ7KH180%(5IXQFWLRQFRQYHUWVIURP675,1*WR5($/
,I,6180%(5UHWXUQVWKHYDOXH)$/6(WKH&$//RI180%(5ZLWKWKHVDPHSDUDPHWHUZLOOLVVXHDQDODUP
7KH$;1$0(IXQFWLRQFRQYHUWVDVWULQJWRGDWDW\SH$;,6$QDODUPLVRXWSXWLIWKHVWULQJFDQQRWEHDVVLJQHGWRDQ\FRQILJXUHGD[LVLGHQWLILHU
3URJUDPPLQJ6\QWD[
5($/B(5* 180%(5675,1* 55HVXOWW\SH5($/
%22/B(5* ,6180%(5675,1* 55HVXOWW\SH%22/
$;,6B(5* $;1$0(675,1* 55HVXOWW\SH$;,6
6HPDQWLFV
180%(5675,1*UHWXUQVWKHQXPEHUUHSUHVHQWHGE\WKHVWULQJDVD5($/
,6180%(5675,1*UHWXUQV758(LIWKHVWULQJLVDYDOLG5($/E\WKHUXOHVRIWKHODQJXDJH,WLVWKXVSRVVLEOHWRFKHFNZKHWKHUWKHVWULQJFDQEHFRQYHUWHGWRDYDOLGQXPEHU
$;1$0(675,1*FRQYHUWVWKHVSHFLILHGVWULQJWRDQD[LVLGHQWLILHU
([DPSOH
DEF BOOL BOOL_ERG DEF REAL REAL_ERG DEF AXIS AXIS_ERG BOOL_ERG = ISNUMBER ("1234.9876Ex-7") 1RZ%22/B(5* 758(BOOL_ERG = ISNUMBER ("1234XYZ") 1RZ%22/B(5* )$/6(REAL_ERG = NUMBER ("1234.9876Ex-7") 1RZ5($/B(5* ([AXIS_ERG = AXNAME("X") 1RZ$;,6B(5* ;
-
)OH[LEOH1&SURJUDPPLQJ 6WULQJRSHUDWLRQV
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
&RQFDWHQDWLRQRIVWULQJV
)XQFWLRQ7KLVIXQFWLRQDOLW\SXWVDVWULQJWRJHWKHURXWRIVHSDUDWHFRPSRQHQWV
7KHFKDLQLQJIXQFWLRQLVLPSOHPHQWHGYLDRSHUDWRU7KLVRSHUDWRUKDV675,1*DVWKHWDUJHWW\SHIRUDOOFRPELQDWLRQVRIEDVLFW\SHV&+$5%22/,175($/DQG675,1*$Q\FRQYHUVLRQWKDWPD\EHUHTXLUHGLVFDUULHGRXWDFFRUGLQJWRH[LVWLQJUXOHV
3URJUDPPLQJ6\QWD[
DQ\W\SHDQ\W\SH 55HVXOWW\SH675,1*
6HPDQWLFV
7KHVWULQJVVSHFLILHGSRVVLEO\LPSOLFLWO\FRQYHUWHGQRQVWULQJW\SHVDUHFRQFDWHQDWHG
7KLVRSHUDWRUFDQDOVREHXVHGDVDXQDU\RSHUDWRUZLWKDVLQJOHRSHUDQG7KLVFDQEHXVHGIRUH[SOLFLWW\SHFRQYHUVLRQWR675,1*QRWIRU)5$0(DQG$;,6
7\SHV)5$0(DQG$;,6FDQQRWEHXVHGZLWKWKLVRSHUDWRU
6\QWD[
DQ\W\SH 55HVXOWW\SH675,1*
6HPDQWLFV
7KHVSHFLILHGW\SHLVLPSOLFLWO\FRQYHUWHGWR675,1*W\SH
7KLVFDQEHXVHGWRSXWWRJHWKHUDPHVVDJHRUDFRPPDQGRXWRIWH[WOLVWVDQGLQVHUWSDUDPHWHUVLQWRLWHJDPRGXOHQDPH
06*675*B7$%>/2$'B,';@02'8/(B1$0(
&DXWLRQ
7KHLQWHUPHGLDWHUHVXOWVRIVWULQJFRQFDWHQDWLRQPXVWQRWH[FHHGWKHPD[LPXPVWULQJOHQJWK
-
)OH[LEOH1&SURJUDPPLQJ 6WULQJRSHUDWLRQV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
([DPSOHFRQFDWHQDWLRQRIVWULQJV
DEF INT IDX = 2 DEF REAL VALUE = 9.654 DEF STRING[20]STRG = "INDEX:2" IF STRG == "Index:"
-
)OH[LEOH1&SURJUDPPLQJ 6WULQJRSHUDWLRQV
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
/HQJWKRIWKHVWULQJ
)XQFWLRQ7KLVIXQFWLRQDOLW\VHWVWKHOHQJWKRIDVWULQJ
6\QWD[
,17B(5* 675/(1675,1* 55HVXOWW\SH,17
6HPDQWLFV
,WUHWXUQVDQXPEHURIFKDUDFWHUVWKDWDUHQRWWKHFKDUDFWHUFRXQWLQJIURPWKHEHJLQQLQJRIWKHVWULQJ
([DPSOH7KLVFDQEHXVHGWRDVFHUWDLQWKHHQGRIWKHVWULQJIRUH[DPSOHLQFRQMXQFWLRQZLWKWKHVLQJOHFKDUDFWHUDFFHVVGHVFULEHGEHORZIF(STRLEN (MODULE_NAME) > 10) GOTOF ERROR
/RRNIRUFKDUDFWHUVWULQJLQWKHVWULQJ
)XQFWLRQ7KLVIXQFWLRQDOLW\VHDUFKHVIRUVLQJOHFKDUDFWHUVRUDVWULQJZLWKLQDVWULQJ7KHIXQFWLRQUHVXOWVVSHFLI\ZKHUHWKHFKDUDFWHUVWULQJLVSRVLWLRQHGLQWKHVWULQJWKDWKDVEHHQVHDUFKHG
3URJUDPPLQJ6\QWD[
,17B(5* ,1'(; 675,1*&+$5 55HVXOWW\SH,17
,17B(5* 5,1'(; 675,1*&+$5 55HVXOWW\SH,17
,17B(5* 0,1'(; 675,1*675,1* 55HVXOWW\SH,17
,17B(5* 0$7&+ 675,1*675,1* 55HVXOWW\SH,17
6HPDQWLFV
6HDUFKIXQFWLRQV7KH\UHWXUQWKHSRVLWLRQLQWKHVWULQJILUVWSDUDPHWHUZKHUHWKHVHDUFKKDVEHHQVXFFHVVIXO,IWKHFKDUDFWHUVWULQJFDQQRWEHIRXQGWKHYDOXHLVUHWXUQHG,QWKLVFDVHWKHILUVWFKDUDFWHULVLQSRVLWLRQ
-
)OH[LEOH1&SURJUDPPLQJ 6WULQJRSHUDWLRQV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
3DUDPHWHUV
INDEX VHDUFKHVIRUWKHFKDUDFWHUVSHFLILHGDVWKHVHFRQGSDUDPHWHULQWKHVWULQJVSHFLILHGDVWKHVHFRQGSDUDPHWHUIURPWKHEHJLQQLQJ
RINDEX VHDUFKHVIRUWKHFKDUDFWHUVSHFLILHGDVWKHVHFRQGSDUDPHWHULQWKHVWULQJVSHFLILHGDVWKHVHFRQGSDUDPHWHUIURPWKHHQG
MINDEX VDPHDVWKH,1'(;IXQFWLRQH[FHSWWKDWDOLVWRIFKDUDFWHUVLVVSHFLILHGDVDVWULQJDQGWKHLQGH[RIWKHILUVWFKDUDFWHUIRXQGLVUHWXUQHG
MATCH VHDUFKHVIRUDVWULQJLQDVWULQJ
7KLVFDQEHXVHGWREUHDNXSDVWULQJE\FHUWDLQFULWHULDIRUH[DPSOHDWEODQNVRUSDWKVHSDUDWRUV
([DPSOHVHSDUDWLQJDQLQSXWVWULQJLQWRSDWKDQGPRGXOHQDPHV
DEF INT PATHIDX, PROGIDX DEF STRING[26] INPUT DEF INT LISTIDX INPUT = "/_N_MPF_DIR/_N_EXECUTE_MPF" LISTIDX = MINDEX (EINGABE, "M,N,O,P") + 1 7KHYDOXHUHWXUQHGLQ/,67,';LVEHFDXVH1
LVWKHILUVWFKDUIURPWKHVHOHFWLRQOLVWLQSDUDPHWHU,1387VHDUFKLQJIURPWKHEHJLQQLQJ
PATHIDX = INDEX (INPUT, "/") +1 7KHUHIRUH3$7+,'; PROGIDX = RINDEX (INPUT, "/") +1 7KHUHIRUH3$7+,'; 7KH68%675IXQFWLRQLQWURGXFHGLQWKHQH[W
VHFWLRQFDQEHXVHGWREUHDNXSYDULDEOH,1387LQWRWKHFRPSRQHQWV3DWKDQG0RGXOH
VARIABLE = SUBSTR (INPUT, PATHIDX, PROGIDX-PATHIDX-1)
UHWXUQLQJB1B03)B',5
VARIABLE = SUBSTR (INPUT, PROGIDX) UHWXUQLQJB1B(;(&87(B03)
-
)OH[LEOH1&SURJUDPPLQJ 6WULQJRSHUDWLRQV
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
6HOHFWLRQRIDVXEVWULQJ
)XQFWLRQ7KLVIXQFWLRQDOLW\H[WUDFWVDVXEVWULQJIURPDVWULQJ)RUWKLVSXUSRVHWKHLQGH[RIWKHILUVWFKDUDFWHUDQGWKHGHVLUHGVWULQJOHQJWKLIDSSOLFDEOHDUHVSHFLILHG,IQROHQJWKLQIRUPDWLRQLVVSHFLILHGWKHQWKHVWULQJGDWDUHIHUVWRWKHUHPDLQLQJVWULQJ
3URJUDPPLQJ6\QWD[
675,1*B(5* 68%675675,1*,17 55HVXOWW\SH,17
675,1*B(5* 68%675675,1*,17,17 55HVXOWW\SH,17
6HPDQWLFV
,QWKHILUVWFDVHWKHVXEVWULQJIURPWKHSRVLWLRQVSHFLILHGLQWKHILUVWSDUDPHWHUWRWKHHQGRIWKHVWULQJLVUHWXUQHG
,QWKHVHFRQGFDVHWKHUHVXOWVWULQJJRHVXSWRWKHPD[LPXPOHQJWKVSHFLILHGLQWKHWKLUGSDUDPHWHU
,IWKHLQLWLDOSRVLWLRQLVDIWHUWKHHQGRIWKHVWULQJWKHHPSW\VWULQJZLOOEHUHWXUQHG
$QHJDWLYHLQLWLDOSRVLWLRQRUOHQJWKWULJJHUVDQDODUP
([DPSOH
DEF STRING [29] ERG ERG = SUBSTR ("ACK: 10 to 99", 10, 2) 7KHUHIRUH(5*
6HOHFWLRQRIDVLQJOHFKDUDFWHU
)XQFWLRQ7KLVIXQFWLRQDOLW\VHOHFWVDVLQJOHFKDUDFWHUIURPDVWULQJ7KLVDSSOLHVERWKWRUHDGDFFHVVDQGZULWHDFFHVVRSHUDWLRQV
3URJUDPPLQJ6\QWD[
&+$5B(5* 675,1*9$5>,';@ 55HVXOWW\SH&+$5
&+$5B(5* 675,1*$55$,';B)(/',';B&+$5@ 55HVXOWW\SH&+$5
-
)OH[LEOH1&SURJUDPPLQJ 6WULQJRSHUDWLRQV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
VHPDQWLFV
7KHFKDUDFWHUDWWKHVSHFLILHGSRVLWLRQLVUHDGZULWWHQZLWKLQWKHVWULQJ,IWKHSRVLWLRQSDUDPHWHULVQHJDWLYHRUJUHDWHUWKDQWKHVWULQJWKHQDQDODUPLVRXWSXW
([DPSOHPHVVDJHV
,QVHUWLRQRIDQD[LVLGHQWLILHULQWRDSUHSDUHGVWULQJ
DEF STRING [50] MESSAGE = "Axis n has reached position"
MESSAGE [6] = "X" MSG (MESSAGE) UHWXUQVPHVVDJH$[LV;KDVUHDFKHGSRVLWLRQ
3DUDPHWHUV6LQJOHFKDUDFWHUDFFHVVLVSRVVLEOHRQO\WRXVHUGHILQHGYDULDEOHV/8'*8'DQG38'GDWD
7KLVW\SHRIDFFHVVLVDOVRSRVVLEOHRQO\IRUFDOOE\YDOXHW\SHSDUDPHWHUVLQVXEURXWLQHFDOOV
([DPSOHVLQJOHFKDUDFWHUDFFHVVWRDV\VWHPPDFKLQHGDWD
DEF STRING [50] STRG DEF CHAR ACK STRG = $P_MMCA ACK = STRG [0] (YDOXDWLRQRIDFNQRZOHGJPHQWFRPSRQHQW
([DPSOHVLQJOHFKDUDFWHUDFFHVVLQFDOOE\UHIHUHQFHSDUDPHWHU
DEF STRING [50] STRG DEF CHAR CHR1 EXTERN UP_CALL (VAR CHAR1) &DOOE\UHIHUHQFHSDUDPHWHU CHR1 = STRG [5] UP_CALL (CHR1) &DOOE\UHIHUHQFHSTRG [5] = CHR1
-
)OH[LEOH1&SURJUDPPLQJ &$6(VWDWHPHQW
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
&$6(VWDWHPHQW
)XQFWLRQ7KH&$6(VWDWHPHQWHQDEOHVYDULRXVEUDQFKHVWREHH[HFXWHGDFFRUGLQJWRDYDOXHRIW\SH,17
7KHSURJUDPMXPSVWRWKHSRLQWVSHFLILHGE\WKHMXPSGHVWLQDWLRQGHSHQGLQJRQWKHYDOXHRIWKHFRQVWDQWHYDOXDWHGLQWKH&$6(VWDWHPHQW
3URJUDPPLQJCASE (expression) OF constant1 GOTOF LABEL1 DEFAULT GOTOF LABELn CASE (expression) OF constant1 GOTOB LABEL1 DEFAULT GOTOB LABELn
3DUDPHWHUV
CASE .H\ZRUGIRUMXPSVWDWHPHQWGOTOB -XPSVWDWHPHQWZLWKMXPSGHVWLQDWLRQEDFNZDUG
WRZDUGWKHEHJLQQLQJRISURJUDP
GOTOF -XPSVWDWHPHQWZLWKIRUZDUGMXPSGHVWLQDWLRQWRZDUGWKHHQGRISURJUDP
GOTO -XPSVWDWHPHQWZLWKWKHMXPSGHVWLQDWLRQILUVWIRUZDUGDQGWKHQEDFNZDUGWKHGLUHFWLRQILUVWWRWKHHQGRIWKHSURJUDPDQGWKHQWRWKHVWDUWRIWKHSURJUDP
GOTOC 6XSSUHVV$ODUP'HVWLQDWLRQQRWIRXQG-XPSVWDWHPHQWZLWKWKHMXPSGHVWLQDWLRQILUVWIRUZDUGDQGWKHQEDFNZDUGWKHGLUHFWLRQILUVWWRWKHHQGRIWKHSURJUDPDQGWKHQWRWKHVWDUWRIWKHSURJUDP
LABEL 'HVWLQDWLRQODEHOZLWKLQWKHSURJUDPLABEL: 7KHQDPHRIWKHMXPSGHVWLQDWLRQLVIROORZHGE\D
FRORQ
Expression $ULWKPHWLFH[SUHVVLRQConstant &RQVWDQWRIW\SH,17DEFAULT 3URJUDPSDWKLIQRQHRIWKHSUHYLRXVO\QDPHG
FRQVWDQWVDSSOLHV
1RWH
)RUPRUHLQIRUPDWLRQRQWKH*272FRPPDQGVVHH&KDSWHU$ULWKPHWLFSDUDPHWHUVDQGSURJUDPMXPSV
,QFDVHVZKHUHWKHFRQVWDQWPDWFKHVQRQHRIWKHSUHGHILQHGYDOXHVWKH'()$8/7VWDWHPHQWFDQEHXVHGWRGHWHUPLQHWKHEUDQFKGHVWLQDWLRQ
,IWKH'()$8/7VWDWHPHQWLVQRWSURJUDPPHGWKHMXPSGHVWLQDWLRQLVWKHEORFNIROORZLQJWKH&$6(VWDWHPHQW
-
)OH[LEOH1&SURJUDPPLQJ &$6(VWDWHPHQW
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
([DPSOHCASE(expression) OF 1 GOTOF LABEL1 2 GOTOF LABEL2 DEFAULT GOTOF LABELnDQGDUHSRVVLEOHFRQVWDQWV
,IWKHYDOXHRIWKHH[SUHVVLRQ ,17FRQVWDQWMXPSWREORFNZLWK/$%(/
,IWKHYDOXHRIWKHH[SUHVVLRQ ,17FRQVWDQWMXPSWREORFNZLWK/$%(/
RWKHUZLVHMXPSWRWKHEORFNZLWK/$%(/Q
([DPSOH
DEF INT VAR1 VAR2 VAR3 CASE(VAR1+VAR2-VAR3) OF 7 GOTOF LABEL1 9 GOTOF LABEL2 DEFAULT GOTOF LABEL3 LABEL1: G0 X1 Y1 LABEL2: G0 X2 Y2 LABEL3: G0 X3 Y3
-
)OH[LEOH1&SURJUDPPLQJ &RQWUROVWUXFWXUHV
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
&RQWUROVWUXFWXUHV
)XQFWLRQ7KHFRQWUROSURFHVVHVWKH1&EORFNVDVVWDQGDUGLQWKHSURJUDPPHGVHTXHQFH
,QDGGLWLRQWRWKHSURJUDPEUDQFKHVGHVFULEHGLQWKLVFKDSWHUWKHVHFRPPDQGVFDQEHXVHGWRGHILQHDGGLWLRQDODOWHUQDWLYHVDQGSURJUDPORRSV
7KHVHFRPPDQGVHQDEOHWKHXVHUWRSURGXFHZHOOVWUXFWXUHGDQGHDVLO\OHJLEOHSURJUDPV
3URJUDPPLQJ1HVWLQJGHSWK
&RQWUROVWUXFWXUHVDSSO\ORFDOO\ZLWKLQSURJUDPV$QHVWLQJGHSWKRIXSWRFRQWUROVWUXFWXUHVFDQEHVHWXSRQHDFKVXESURJUDPOHYHO
6XESURJUDP0DLQSURJUDP
/223
(1'/223
(1':+,/(
:+,/(
5(3($7
352&68%352*
817,/
(1')25
)25
:+,/(
(1':+,/(
,)
(1',)
:+,/(
(1':+,/(
:+,/((1':+,/(
68%352*
)25
(1')25
&DXWLRQ
&RQWUROVWUXFWXUHVPD\RQO\EHLQVHUWHGLQWKHVWDWHPHQWVHFWLRQRIDSURJUDP'HILQLWLRQVLQWKHSURJUDPKHDGHUPD\QRWEHH[HFXWHGFRQGLWLRQDOO\RUUHSHDWHGO\
,WLVQRWSHUPLVVLEOHWRVXSHULPSRVHPDFURVRQNH\ZRUGVIRUFRQWUROVWUXFWXUHVRURQEUDQFKGHVWLQDWLRQV1RVXFKFKHFNLVPDGHZKHQWKHPDFURLVGHILQHG
-
)OH[LEOH1&SURJUDPPLQJ &RQWUROVWUXFWXUHV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
3DUDPHWHUV
IF 6HOHFWLRQEHWZHHQDOWHUQDWLYHVLOOP (QGOHVVORRSFOR &RXQWORRSWHILE /RRSZLWKFRQGLWLRQDWEHJLQQLQJRIORRSREPEAT /RRSZLWKFRQGLWLRQDWHQGRIORRS
([DPSOHHQGOHVVSURJUDP
%_N_LOOP_MPF LOOP IF NOT $P_SEARCH 1REORFNVHDUFK G01 G90 X0 Z10 F1000 WHILE $AA_IM[X]
-
)OH[LEOH1&SURJUDPPLQJ &RQWUROVWUXFWXUHV
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
([DPSOHIRUYDULDEOHVRIWKH,17DQG5($/W\SHDVDFRXQWHUORRS
%_N_VARIABLE_COUNTER_MPF 3UHYLRXVSURJUDPPLQJRSWLRQDEF INT iVARIABLE1 R10 = R12-R20*R1 R11 = 6 FOR iVARIABLE1 = R10 TO R11 &RXQWHUYDULDEOH LQWHJHUYDULDEOH R20 = R21*R22 + R33 ENDFOR M30 ([WHQGHGSURJUDPPLQJRSWLRQR11 = 6 FOR R10 = R12-R20*R1 TO R11 &RXQWHUYDULDEOH 5SDUDPHWHU5HDOYDULDEOH R20 = R21*R22 + R33 ENDFOR M30
5XQWLPHUHVSRQVH,QLQWHUSUHWHUPRGHDFWLYHDVVWDQGDUGLWLVSRVVLEOHWRVKRUWHQSURJUDPSURFHVVLQJWLPHVPRUHHIIHFWLYHO\E\XVLQJSURJUDPEUDQFKHVWKDQFDQEHREWDLQHGZLWKFRQWUROVWUXFWXUHV
7KHUHLVQRGLIIHUHQFHEHWZHHQSURJUDPEUDQFKHVDQGFRQWUROVWUXFWXUHVLQSUHFRPSLOHGF\FOHV
5HVWULFWLRQV%ORFNVZLWKFRQWUROVWUXFWXUHHOHPHQWVFDQQRWEHVXSSUHVVHG/DEHOVPD\QRWEHXVHGLQEORFNVRIWKLVW\SH
&RQWUROVWUXFWXUHVDUHSURFHVVHGLQWHUSUHWLYHO\:KHQDORRSHQGLVGHWHFWHGDVHDUFKLVPDGHIRUWKHORRSEHJLQQLQJDOORZLQJIRUWKHFRQWUROVWUXFWXUHVIRXQGLQWKHSURFHVV
)RUWKLVUHDVRQWKHEORFNVWUXFWXUHRIDSURJUDPLVQRWFKHFNHGFRPSOHWHO\LQLQWHUSUHWHUPRGH
,WLVQRWJHQHUDOO\DGYLVDEOHWRXVHDPL[WXUHRIFRQWUROVWUXFWXUHVDQGSURJUDPEUDQFKHV
$FKHFNFDQEHPDGHWRHQVXUHWKDWFRQWUROVWUXFWXUHVDUHQHVWHGFRUUHFWO\ZKHQF\FOHVDUHSUHSURFHVVHG
6HTXHQFH,)(/6((1',)
$Q,)(/6((1',)EORFNLVXVHGWRVHOHFWRQHRIWZRDOWHUQDWLYHV
,)H[SUHVVLRQ
1&EORFNV
-
)OH[LEOH1&SURJUDPPLQJ &RQWUROVWUXFWXUHV
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
(/6(
1&EORFNV
(1',)
,IWKHYDOXHRIWKHH[SUHVVLRQLV758(LHWKHFRQGLWLRQLVIXOILOOHGWKHQWKHQH[WSURJUDPEORFNLVH[HFXWHG,IWKHFRQGLWLRQLVQRWIXOILOOHGWKHQWKH(/6(SURJUDPEUDQFKLVH[HFXWHG
7KH(/6(EUDQFKFDQEHRPLWWHG
(QGOHVVORRSFRQWURO/223
(QGOHVVORRSVDUHXVHGLQHQGOHVVSURJUDPV$WWKHHQGRIWKHORRSWKHUHLVDOZD\VDEUDQFKEDFNWRWKHEHJLQQLQJ
/223
1&EORFNV
(1'/223
&RXQWHUORRS)25
7KH)25ORRSLVXVHGLILWLVQHFHVVDU\WRUHSHDWDQRSHUDWLRQE\DIL[HGQXPEHURIUXQV,QWKLVFDVHWKHFRXQWYDULDEOHLVLQFUHPHQWHGIURPWKHVWDUWYDOXHWRWKHHQGYDOXH7KHVWDUWYDOXHPXVWEHORZHUWKDQWKHHQGYDOXH7KHFRXQWYDULDEOHFDQEHRIWKH,17RU5($/W\SH7KH5($/W\SHLVXVHGLI5SDUDPHWHUVDUHSURJUDPPHGIRUDFRXQWHUORRSIRUH[DPSOH,IWKHFRXQWYDULDEOHLVRIWKH5($/W\SHLWVYDOXHLVURXQGHGWRDQLQWHJHU
)259DULDEOH VWDUWYDOXH772HQGYDOXH
1&EORFNV
(1')25
3URJUDPORRSZLWKFRQGLWLRQDWVWDUWRIORRS:+,/(
7KH:+,/(SURJUDPORRSLVH[HFXWHGIRUDVORQJDVWKHFRQGLWLRQLVIXOILOOHG
:+,/(H[SUHVVLRQ
1&EORFNV
(1':+,/(
3URJUDPORRSZLWKFRQGLWLRQDWHQGRIORRS5(3($7
7KH5(3($7ORRSLVH[HFXWHGRQFHDQGUHSHDWHGFRQWLQXRXVO\XQWLOWKHFRQGLWLRQLVIXOILOOHG
5(3($7
1&EORFNV
817,/H[SUHVVLRQ
-
)OH[LEOH1&SURJUDPPLQJ 3URJUDPFRRUGLQDWLRQ
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
3URJUDPFRRUGLQDWLRQ
)XQFWLRQ&KDQQHOV
$FKDQQHOFDQSURFHVVLWVRZQSURJUDPLQGHSHQGHQWO\RIRWKHUFKDQQHOV,WFDQFRQWUROWKHD[HVDQGVSLQGOHVWHPSRUDULO\DVVLJQHGWRLWYLDWKHSURJUDP
7ZRRUPRUHFKDQQHOVFDQEHVHWXSIRUWKHFRQWUROGXULQJVWDUWXS
3URJUDPFRRUGLQDWLRQ
,IVHYHUDOFKDQQHOVDUHLQYROYHGLQWKHPDFKLQLQJRIDZRUNSLHFHLWPD\EHQHFHVVDU\WRV\QFKURQL]HWKHSURJUDPV
7KHUHDUHVSHFLDOVWDWHPHQWVFRPPDQGVIRUWKLVSURJUDPFRRUGLQDWLRQ(DFKVWDWHPHQWLVSURJUDPPHGVHSDUDWHO\LQDEORFN
1RWH
3URJUDPFRRUGLQDWLRQLVDOVRSRVVLEOHLQLWVRZQFKDQQHOV
3URJUDPFRRUGLQDWLRQVWDWHPHQWV 6SHFLILFDWLRQZLWKDEVROXWHSDWK
7KHDEVROXWHSDWKLVSURJUDPPHGDFFRUGLQJWRWKHIROORZLQJUXOHV
,1,7QB+8*2B',5B1BQDPHB03)RU
&XUUHQWGLUHFWRU\B1BQDPHB03)FXUUHQWGLUHFWRU\VWDQGVIRUWKHVHOHFWHGZRUNSLHFHGLUHFWRU\RUWKHVWDQGDUGGLUHFWRU\B1B03)B',5
,1,7QB1B03)B',5B1BQDPHB03)
6HOHFWVDSDUWLFXODUSURJUDPIRUH[HFXWLRQLQDSDUWLFXODUFKDQQHOQ1XPEHURIWKHFKDQQHOWKHYDOXHGHSHQGVRQWKHFRQWUROFRQILJXUDWLRQ&RPSOHWHSURJUDPQDPH
([DPSOH 88SWR6:,1,7B1B:.6B',5B'5(66B03)*)67$57
$WOHDVWRQHH[HFXWDEOHEORFNPXVWEHSURJUDPPHGEHWZHHQDQLLQLWFRPPDQGZLWKRXWV\QFKURQL]DWLRQDQGDQ11&VWDUW:LWKVXESURJUDPFDOOVB63)PXVWEHDGGHGWRWKHSDWK
,1,7B1B:.6B',5B1B81'(5BB63)
5HODWLYHSDWKVSHFLILFDWLRQ
-
)OH[LEOH1&SURJUDPPLQJ 3URJUDPFRRUGLQDWLRQ
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
([DPSOH
7KHVDPHUXOHVDSSO\WRUHODWLYHSDWKGHILQLWLRQDVIRUSURJUDPFDOOV
,1,7'5(66 ,1,781'(5BB63) :LWKVXESURJUDPFDOOVB63)PXVWEHDGGHG
WRWKHSURJUDPQDPH
3DUDPHWHUV9DULDEOHVZKLFKDOOFKDQQHOVFDQDFFHVV1&.VSHFLILFJOREDOYDULDEOHVFDQEHXVHGIRUGDWDH[FKDQJHEHWZHHQSURJUDPV2WKHUZLVHVHSDUDWHSURJUDPVPXVWEHZULWWHQIRUHDFKFKDQQHO
INIT(n, path name, acknowledgement mode)
,QVWUXFWLRQIRUH[HFXWLRQLQDFKDQQHO6HOHFWLRQRIDSDUWLFXODUSURJUDPZLWKDQDEVROXWHRUUHODWLYHSDWKQDPH
START (n, n) 6WDUWVWKHVHOHFWHGSURJUDPVLQWKHRWKHUFKDQQHOVQQ(QXPHUDWLRQRIWKHFKDQQHOQXPEHUVYDOXHGHSHQGVRQFRQWUROFRQILJXUDWLRQ
WAITM (marker no., n, n, ...) 6HWVWKHPDUNHUPDUNHUQRLQWKHVDPHFKDQQHO7HUPLQDWHSUHYLRXVEORFNZLWKH[DFWVWRS:DLWVIRUWKHPDUNHUVZLWKWKHVDPHPDUNHUQRLQWKHVSHFLILHGFKDQQHOVQFXUUHQWFKDQQHOGRHVQRWKDYHWREHVSHFLILHG0DUNHULVGHOHWHGDIWHUV\QFKURQL]DWLRQPDUNHUVFDQEHVHWSHUFKDQQHOVLPXOWDQHRXVO\
WAITMC (marker no., n, n, ) 6HWVWKHPDUNHUPDUNHUQRLQWKHVDPHFKDQQHO$QH[DFWVWRSLVLQLWLDWHGRQO\LIWKHRWKHUFKDQQHOVKDYHQRW\HWUHDFKHGWKHPDUNHU:DLWVIRUWKHPDUNHUZLWKWKHVDPHPDUNHU1RLQWKHVSHFLILHGFKDQQHOVQFXUUHQWFKDQQHOGRHVQRWKDYHWREHVSHFLILHG$VVRRQDVPDUNHUPDUNHUQRLQWKHVSHFLILHGFKDQQHOVLVUHDFKHGFRQWLQXHZLWKRXWWHUPLQDWLQJH[DFWVWRS
WAITE (n, n, ...) :DLWVIRUWKHHQGRISURJUDPRIWKHVSHFLILHGFKDQQHOVFXUUHQWFKDQQHOQRWVSHFLILHG([DPSOHSURJUDPPLQJDGHOD\WLPHDIWHUWKH6WDUWFRPPDQGN30 START(2)N31 G4 F0.01N40 WAITE(2)
SETM (marker no., marker no., ) 6HWVWKHPDUNHUVPDUNHUQRLQWKHVDPHFKDQQHOZLWKRXWDIIHFWLQJFXUUHQWSURFHVVLQJ6(70UHPDLQVYDOLGDIWHU5(6(7DQG1&67$57
-
)OH[LEOH1&SURJUDPPLQJ 3URJUDPFRRUGLQDWLRQ
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
CLEARM (marker no., marker no., ) 'HOHWHVWKHPDUNHUV0DUNHU1RLQWKHVDPHFKDQQHOZLWKRXWDIIHFWLQJFXUUHQWSURFHVVLQJ$OOPDUNHUVFDQEHGHOHWHGZLWK&/($50&/($50GHOHWHVWKHPDUNHU&/($50UHPDLQVYDOLGDIWHU5(6(7DQG1&67$57
n &RUUHVSRQGLQJFKDQQHOQXPEHURUFKDQQHOQDPH
1RWH
$OOWKHDERYHFRPPDQGVPXVWEHSURJUDPPHGLQVHSDUDWHEORFNV
7KHQXPEHURIPDUNHUVGHSHQGVRQWKH&38XVHG
&KDQQHOQXPEHUV
8SWRFKDQQHOVFDQEHVSHFLILHGDVFKDQQHOQXPEHUVLQWHJHUYDOXHIRUWKHFKDQQHOVUHTXLULQJFRRUGLQDWLRQ
&KDQQHOQDPHV
&KDQQHOQDPHVPXVWEHFRQYHUWHGLQWRQXPEHUVXVLQJYDULDEOHVVHH9DULDEOHVDQGDULWKPHWLFSDUDPHWHUV$OWHUQDWLYHO\WKHFKDQQHOQDPHVGHILQHGXVLQJ0&B&+$1B1$0(LGHQWLILHURUNH\ZRUGFDQDOVREHSURJUDPPHGUDWKHUWKDQFKDQQHOQXPEHUV7KHGHILQHGQDPHVPXVWFRPSO\ZLWKWKH1&QDPLQJFRQYHQWLRQVLHWKHILUVWWZRFKDUDFWHUVPXVWEHHLWKHUOHWWHUVRUDQXQGHUVFRUH
&DXWLRQ
3URWHFWWKHQXPEHUDVVLJQPHQWVVRWKDWWKH\DUHQRWFKDQJHGXQLQWHQWLRQDOO\
7KHQDPHVPXVWQRWDOUHDG\H[LVWLQWKH1&ZLWKDGLIIHUHQWPHDQLQJHJDVNH\ZRUGVFRPPDQGVD[LVQDPHVHWF
6(70DQG&/($50
SETM()DQGCLEARM()FDQDOVREHSURJUDPPHGLQGHSHQGHQWO\RIDV\QFKURQL]HGDFWLRQ6HH&KDSWHU6HWGHOHWHZDLWPDUNHUV6(70&/($50
-
)OH[LEOH1&SURJUDPPLQJ 3URJUDPFRRUGLQDWLRQ
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
([DPSOH&KDQQHOFDOOHG0$&+,1(LVWRFRQWDLQFKDQQHOQXPEHU
FKDQQHOFDOOHG/2$'(5LVWRFRQWDLQFKDQQHOQXPEHUDEF INT MACHINE=1, LOADER=27KHYDULDEOHVDUHJLYHQWKHVDPHQDPHVDVWKHFKDQQHOV
7KHVWDWHPHQWSTARTLVWKHUHIRUHSTART(MACHINE)
([DPSOHSURJUDPFRRUGLQDWLRQ&KDQQHO
B1B03)B03)
N10 INIT(2,"MPF200") N11 START(2) .
3URFHVVLQJLQFKDQQHO
N80 WAITM(1,1,2) .
:DLWIRU:$,7PDUNLQFKDQQHODQGLQFKDQQHODQGH[HFXWLRQFRQWLQXHGLQFKDQQHO
N180 WAITM(2,1,2) .
:DLWIRU:$,7PDUNLQFKDQQHODQGLQFKDQQHODQGH[HFXWLRQFRQWLQXHGLQFKDQQHO
N200 WAITE(2) :DLWIRUHQGRISURJUDPLQFKDQQHON201 M30
3URJUDPHQGFKDQQHOWRWDOHQG
&KDQQHO
B1B03)B03)
;$PATH=/_N_MPF_DIR N70 WAITM(1,1,2) .
3URFHVVLQJLQFKDQQHO:DLWIRU:$,7PDUNLQFKDQQHODQGLQFKDQQHODQGH[HFXWLRQFRQWLQXHGLQFKDQQHO
N270 WAITM(2,1,2) .
:DLWIRU:$,7PDUNLQFKDQQHODQGLQFKDQQHODQGH[HFXWLRQFRQWLQXHGLQFKDQQHO
N400 M30 (QGRISURJUDPLQFKDQQHO
-
)OH[LEOH1&SURJUDPPLQJ 3URJUDPFRRUGLQDWLRQ
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
03)
01
01
:$,7(1
:$,701
:$,701
:$,701
:$,701
00
67$57
67$57
11
1
:DLW
(QGWLPH6WDUW
:DLW
:DLW
&KDQQHO
&KDQQHO
(([DPSOHSURJUDPIURPZRUNSLHFHN10 INIT(2,"/_N_WKS_DIR/_N_SHAFT1_WPD/_N_CUT1_MPF")
([DPSOH,1,7FRPPDQGZLWKUHODWLYHSDWKVSHFLILFDWLRQ3URJUDP/_N_MPF_DIR/_N_MAIN_MPFLVVHOHFWHGLQFKDQQHO
N10 INIT(2,"MYPROG") 6HOHFWSURJUDP/_N_MPF_DIR/_N_MYPROG_MPF LQFKDQQHO
([DPSOHRIFKDQQHOQDPHDQGFKDQQHOQXPEHUZLWKLQWHJHUYDULDEOH$MC_CHAN_NAME[0]= &+$1B;QDPHRIVWFKDQQHO$MC_CHAN_NAME[1]= &+$1B
-
)OH[LEOH1&SURJUDPPLQJ ,QWHUUXSWURXWLQH6(7,17',6$%/((1$%/(&/5,17
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
,QWHUUXSWURXWLQH6(7,17',6$%/((1$%/(&/5,17
)XQFWLRQ7KHUHODWLRQVKLSVFRQFHUQHGZLWKSURJUDPPLQJDQLQWHUUXSWURXWLQHZLOOEHLOOXVWUDWHGXVLQJDW\SLFDOH[DPSOH
7KHWRROEUHDNVGXULQJPDFKLQLQJ7KLVWULJJHUVDVLJQDOWKDWVWRSVWKHFXUUHQWPDFKLQLQJSURFHVVDQGVLPXOWDQHRXVO\VWDUWVDVXEURXWLQHWKLVVXEURXWLQHLVFDOOHGDQLQWHUUXSWURXWLQH7KHLQWHUUXSWURXWLQHFRQWDLQVDOOWKHVWDWHPHQWVZKLFKDUHWREHH[HFXWHGLQWKLVFDVH
:KHQWKHLQWHUUXSWURXWLQHKDVILQLVKHGEHLQJH[HFXWHGDQGWKHPDFKLQHLVUHDG\WRFRQWLQXHRSHUDWLRQWKHFRQWUROMXPSVEDFNWRWKHPDLQSURJUDPDQGFRQWLQXHVPDFKLQLQJDWWKHSRLQWRILQWHUUXSWLRQGHSHQGLQJRQWKH5(326FRPPDQG
0DLQSURJUDP
LQWHUUXSWURXWLQH
5HWUDFWLRQIURPWKHFRQWRXU7RROFKDQJH1HZFRUUHFWLRQYDOXHV5HSRVLWLRQLQJ
)RUIXUWKHULQIRUPDWLRQRQ5(326VHH5HSRVLWLRQLQJ
33URJUDPPLQJSETINT(3) PRIO=1 NAME SETINT(3) PRIO=1 LIFTFASTSETINT(3) PRIO=1 NAME LIFTFAST G X Y ALF=DISABLE (3)ENABLE (3)CLRINT (3)
-
)OH[LEOH1&SURJUDPPLQJ ,QWHUUXSWURXWLQH6(7,17',6$%/((1$%/(&/5,17
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
3DUDPHWHUV
SETINT(n) 6WDUWLQWHUUXSWURXWLQHLILQSXWQLVHQDEOHGQVWDQGVIRUWKHQXPEHURIWKHLQSXW
PRIO=1 'HILQHSULRULW\WRKDVWRSSULRULW\LIFTFAST )DVWUHWUDFWLRQIURPFRQWRXUNAME 1DPHRIWKHVXEURXWLQHWREHH[HFXWHGALF= 3URJUDPPDEOHWUDYHUVHGLUHFWLRQLQPRWLRQEORFNDISABLE(n) 'HDFWLYDWHLQWHUUXSWURXWLQHQXPEHUQENABLE(n) 5HDFWLYDWHLQWHUUXSWURXWLQHQXPEHUQCLRINT(n) &OHDULQWHUUXSWDVVLJQPHQWVRILQWHUUXSWURXWLQHQXPEHUQ
5HWUDFWLRQPRYHPHQW
7KHGLUHFWLRQRIWKHUHWUDFWLRQPRYHPHQWLVSURJUDPPHGE\PHDQVRIWKH*FRGH//)7;7RU/):3ZLWKWKHYDULDEOH$$/)
/)7;77KHSODQHRIWKHUHWUDFWLRQPRYHPHQWLVGHWHUPLQHGE\WKHSDWKWDQJHQWDQGWKHWRROGLUHFWLRQ7KLV*FRGHGHIDXOWVHWWLQJLVXVHGWRSURJUDPWKHUHVSRQVHRQDIDVWOLIW
/):37KHSODQHRIWKHUHWUDFWLRQPRYHPHQWLVWKHDFWLYHZRUNLQJSODQHVHOHFWHGZLWK*FRGHV**RU*7KHGLUHFWLRQRIWKHUHWUDFWLRQPRYHPHQWLVQRWGHSHQGHQWRQWKHSDWKWDQJHQW7KLVDOORZVDIDVWOLIWWREHSURJUDPPHGSDUDOOHOWRWKHD[LV
/)3265HWUDFWLRQRIWKHD[LVGHFODUHGZLWK32/)0$6.WRWKHDEVROXWHD[LVSRVLWLRQSURJUDPPHGZLWK32/)6HHDOVR1&FRQWUROOHGUHWUDFWLRQLQ)XQFWLRQ0DQXDO0$/)KDVQRDIIHFWRQWKHOLIWGLUHFWLRQIRUVHYHUDOD[HVDQGIRUVHYHUDOD[HVLQDOLQHDUV\VWHP
,QWKHSODQHRIWKHUHWUDFWLRQPRYHPHQW$$/)LVXVHGDVEHIRUHWRSURJUDPWKHGLUHFWLRQLQGLVFUHWHVWHSVRIGHJUHHV:LWK//)7;7WKHUHWUDFWLRQLVGHILQHGLQWKHWRROGLUHFWLRQIRU$/)
:LWK//):3WKHGLUHFWLRQLQWKHZRUNLQJSODQHLVGHULYHGIURPWKHIROORZLQJDVVLJQPHQW
*;
-
)OH[LEOH1&SURJUDPPLQJ ,QWHUUXSWURXWLQH6(7,17',6$%/((1$%/(&/5,17
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
([DPSOH,QWKLVH[DPSOHDEURNHQWRROLVWREHUHSODFHGDXWRPDWLFDOO\E\DQDOWHUQDWHWRRO0DFKLQLQJLVFRQWLQXHGZLWKWKHQHZWRRO0DFKLQLQJLVWKHQFRQWLQXHGZLWKWKHQHZWRRO
0DLQSURJUDP
N10 SETINT(1) PRIO=1 W_CHANGE -> -> LIFTFAST
:KHQLQSXWLVHQDEOHGWKHWRROLVDXWRPDWLFDOO\UHWUDFWHGIURPWKHFRQWRXUZLWKOLIWIDVWFRGHQRIRUWRROUDGLXVFRPSHQVDWLRQ*,QWHUUXSWURXWLQH:B&+$1*(LVVXEVHTXHQWO\H[HFXWHG
N20 G0 Z100 G17 T1 ALF=7 D1 N30 G0 X-5 Y-22 Z2 M3 S300 N40 Z-7 N50 G41 G1 X16 Y16 F200 N60 Y35 N70 X53 Y65 N90 X71.5 Y16 N100 X16 N110 G40 G0 Z100 M30 6XEURXWLQH
PROC W_CHANGE SAVE 6XEURXWLQHZLWKVWRUDJHRIFXUUHQWRSHUDWLQJVWDWHN10 G0 Z100 M5 7RROFKDQJLQJSRVLWLRQVSLQGOHVWRSN20 T11 M6 D1 G41 &KDQJHWRRON30 REPOSL RMB M3 5HSRVLWLRQLQJDQGUHWXUQWRPDLQSURJUDP-> programmed in a single block.
&DXWLRQ
,I\RXGRQRWSURJUDPDQ\RIWKH5(326FRPPDQGVLQWKHVXEURXWLQHWKHD[LVLVPRYHGWRWKHHQGRIWKHEORFNWKDWIROORZVWKHLQWHUUXSWHGEORFN
&UHDWHLQWHUUXSWURXWLQHDVVXEURXWLQH7KHLQWHUUXSWURXWLQHLVLGHQWLILHGDVDVXEURXWLQHLQWKHGHILQLWLRQ
([DPSOHPROC LIFT_ZN10N50 M173URJUDPQDPH/,)7B=IROORZHGE\WKH1&EORFNVILQDOO\HQGRISURJUDP M17 DQGUHWXUQWRPDLQSURJUDP
-
)OH[LEOH1&SURJUDPPLQJ ,QWHUUXSWURXWLQH6(7,17',6$%/((1$%/(&/5,17
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
1RWH
6(7,17VWDWHPHQWVFDQEHSURJUDPPHGZLWKLQWKHLQWHUUXSWURXWLQHDQGXVHGWRDFWLYDWHDGGLWLRQDOLQWHUUXSWURXWLQHV7KH\DUHWULJJHUHGYLDWKHLQSXW
-
)OH[LEOH1&SURJUDPPLQJ ,QWHUUXSWURXWLQH6(7,17',6$%/((1$%/(&/5,17
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
6(7,17
6(7,17
6(7,17
6(7,17
66WDUWVHYHUDOLQWHUUXSWURXWLQHVGHILQHWKHSULRULW\35,2 ,IVHYHUDO6(7,17LQVWUXFWLRQVDUHSURJUDPPHGLQ\RXU1&SURJUDPDQGVHYHUDOVLJQDOVFDQWKHUHIRUHRFFXUDWWKHVDPHWLPH\RXPXVWDVVLJQWKHSULRULW\RIWKHLQWHUUXSWURXWLQHVWRGHWHUPLQHWKHRUGHULQZKLFKWKH\DUHH[HFXWHG35,2WRKDVKLJKHVWSULRULW\
([DPSOHN10 SETINT(3) PRIO=1 LIFT_ZN20 SETINT(2) PRIO=2 LIFT_X7KHURXWLQHVDUHH[HFXWHGVXFFHVVLYHO\LQWKHRUGHURIWKHLUSULRULW\LIWKHLQSXWVDUHHQDEOHGDWWKHVDPHWLPH)LUVW SETINT(3)WKHQ SETINT(2),IQHZVLJQDOVDUHUHFHLYHGZKLOHLQWHUUXSWURXWLQHVDUHEHLQJH[HFXWHGWKHFXUUHQWLQWHUUXSWURXWLQHVDUHLQWHUUXSWHGE\URXWLQHVZLWKKLJKHUSULRULW\
'HDFWLYDWHUHDFWLYDWHLQWHUUXSWURXWLQH',6$%/((1$%/(
-
)OH[LEOH1&SURJUDPPLQJ ,QWHUUXSWURXWLQH6(7,17',6$%/((1$%/(&/5,17
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
5HDVVLJQLQWHUUXSWURXWLQHV,IDQHZURXWLQHLVDVVLJQHGWRDQDVVLJQHGLQSXWWKHROGDVVLJQPHQWLVDXWRPDWLFDOO\FDQFHOHG
([DPSOHN20 SETINT(3) PRIO=2 LIFT_ZN120 SETINT(3) PRIO=1 LIFT_X&OHDUDVVLJQPHQW&/5,17
$VVLJQPHQWVFDQEHFOHDUHGZLWKCLRINT(n)([DPSOHN20 SETINT(3) PRIO=2 LIFT_ZN50 CLRINT(3)7KHDVVLJQPHQWEHWZHHQLQSXWDQGWKHURXWLQH/,)7B=LVFOHDUHG
5DSLGOLIWIURPFRQWRXU/,)7)$67:KHQWKHLQSXWLVVZLWFKHG LIFTFAST UHWUDFWVWKHWRROUDSLGO\IURPWKHZRUNSLHFHFRQWRXU
,IWKH6(7,17LQVWUXFWLRQLQFOXGHVDQLQWHUUXSWURXWLQHDVZHOODV LIFTFASTWKHOLIWIDVWLVH[HFXWHGEEHIRUHWKHLQWHUUXSWURXWLQH
([DPSOHN10 SETINT(2) PRIO=1 LIFTFASTRUN30 SETINT(2) PRIO=1 LIFT_Z LIFTFAST
-
)OH[LEOH1&SURJUDPPLQJ ,QWHUUXSWURXWLQH6(7,17',6$%/((1$%/(&/5,17
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
,QERWKFDVHVWKHOLIWIDVWLVH[HFXWHGZKHQLQSXWZLWKWRSSULRULW\LVHQDEOHG
:LWK1H[HFXWLRQLVVWRSSHGZLWKDODUPDVQRDV\QFKURQL]HGVXEURXWLQHASUBZDVVSHFLILHG
7KHASUB/,)7=LVH[HFXWHGZLWK1:KHQGHWHUPLQLQJWKHOLIWGLUHFWLRQDFKHFNLVSHUIRUPHGWRVHHZKHWKHUDIUDPHZLWKPLUURULVDFWLYH,IRQHLVDFWLYHULJKWDQGOHIWDUHLQYHUWHGIRUWKHOLIWGLUHFWLRQZLWKUHJDUGWRWKHWDQJHQWGLUHFWLRQ7KHGLUHFWLRQFRPSRQHQWVLQWRROGLUHFWLRQDUHQRWPLUURUHG7KLVEHKDYLRULVDFWLYDWHGYLD0'0&B/,)7)$67B:,7+B0,5525 758(
6HTXHQFHRIPRWLRQVZLWKOLIWIDVW7KHGLVWDQFHWKURXJKZKLFKWKHJHRPHWU\D[HVDUHUHWUDFWHGIURPWKHFRQWRXURQOLIWIDVWFDQEHGHILQHGLQPDFKLQHGDWD
,QWHUUXSWURXWLQHZLWKRXW/,)7)$67
'HFHOHUDWHVRQWKHSDWKDQGVWDUWVWKHLQWHUUXSWURXWLQHDVVRRQDVPRWLRQRQWKHSDWKVWRSV
7KLVSRVLWLRQLVVWRUHGDVWKHLQWHUUXSWSRVLWLRQDQGLVDSSURDFKHGZLWKREPOSZLWKRMIDWWKHHQGRIWKHLQWHUUXSWURXWLQH
,QWHUUXSWURXWLQHZLWK/,)7)$67
'HFHOHUDWHVRQWKHSDWKDQGVLPXOWDQHRXVO\SHUIRUPVWKH),)7)$67PRWLRQDVDQRYHUODLGPRWLRQ,IWKHSDWKPRWLRQDQG/,)7)$67PRWLRQVWRSWKHLQWHUUXSWURXWLQHVWDUWV
7KHSRVLWLRQRQWKHFRQWRXULVVWRUHGDVWKHLQWHUUXSWSRVLWLRQDWZKLFKWKH/,)7)$67PRWLRQZDVVWDUWHGWKXVOHDYLQJWKHSDWK
7KHLQWHUUXSWURXWLQHEHKDYHVZLWK LIFTFAST DQG ALF=0 LGHQWLFDODVWKHLQWHUUXSWURXWLQHZLWKRXW LIFTFAST
3URJUDPPDEOHWUDYHUVLQJGLUHFWLRQ$/)
-
)OH[LEOH1&SURJUDPPLQJ ,QWHUUXSWURXWLQH6(7,17',6$%/((1$%/(&/5,17
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
$/) *
55HIHUHQFHSODQHIRUGHVFULELQJWKHWUDYHUVLQJGLUHFWLRQV
$WWKHSRLQWRIDSSOLFDWLRQRIWKHWRROWRWKHSURJUDPPHGFRQWRXUWKHWRROLVFODPSHGDWDSODQHZKLFKLVXVHGDVDUHIHUHQFHIRUVSHFLI\LQJWKHOLIWRIIPRYHPHQWZLWKWKHFRUUHVSRQGLQJFRGHQXPEHU
7KHUHIHUHQFHSODQHLVGHULYHGIURPWKHORQJLWXGLQDOWRROD[LVLQIHHGGLUHFWLRQDQGDYHFWRUSRVLWLRQHGSHUSHQGLFXODUWRWKLVD[LVDQGSHUSHQGLFXODUWRWKHWDQJHQWDWWKHSRLQWRIDSSOLFDWLRQRIWKHWRRO
,QWHUYHQWLRQSRLQW
,QWHUYHQWLRQSRLQW
7DQJHQW
7DQJHQW
7DQJHQW
7DQJHQW
-
)OH[LEOH1&SURJUDPPLQJ ,QWHUUXSWURXWLQH6(7,17',6$%/((1$%/(&/5,17
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
&RGHQXPEHUZLWKWUDYHUVLQJGLUHFWLRQVVXPPDUL]HG
7KHFRGHQXPEHUVDQGWKHWUDYHUVLQJGLUHFWLRQVLQUHODWLRQWRWKHUHIHUHQFHSODQHDUHVKRZQLQWKHGLDJUDPRQWKHULJKW
,QIHHGD[LV 9LHZLQWKH
WUDYHUVLQJGLUHFWLRQ
7UDYHUVLQJGLUHFWLRQ
3ODQYLHZ
r
r
*
*
ALF=0 GHDFWLYDWHVWKHOLIWIDVWIXQFWLRQ
&&DXWLRQ
,IWRROUDGLXVFRPSHQVDWLRQLVDFWLYDWHGWKHFRGLQJVDQGWKHFRGLQJVVKRXOGQQRWEHXVHGIRU G41 DQGIRU G42UHVSHFWLYHO\,QWKHVHFDVHVWKHWRROZRXOGDSSURDFKWKHFRQWRXUDQGFROOLGHZLWKWKHZRUNSLHFH
-
)OH[LEOH1&SURJUDPPLQJ $[LVUHSODFHPHQWVSLQGOHUHSODFHPHQW5(/($6(*(7*(7'
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
$[LVUHSODFHPHQWVSLQGOHUHSODFHPHQW5(/($6(*(7*(7'
)XQFWLRQ2QHRUPRUHD[HVRUVSLQGOHVFDQRQO\HYHUEHLQWHUSRODWHGLQRQHFKDQQHO,IDQD[LVKDVWRDOWHUQDWHEHWZHHQWZRGLIIHUHQWFKDQQHOVHJSDOOHWFKDQJHULWPXVWILUVWEHHQDEOHGLQWKHFXUUHQWFKDQQHODQGWKHQWUDQVIHUUHGWRWKHRWKHUFKDQQHO$[LVUHSODFHPHQWLVHIIHFWLYHEHWZHHQFKDQQHOV
$[LVUHSODFHPHQWH[WHQVLRQV
$QD[LVVSLQGOHFDQEHUHSODFHGHLWKHUZLWKDSUHSURFHVVLQJVWRSDQGV\QFKURQL]DWLRQEHWZHHQSUHSURFHVVLQJDQGPDLQUXQRUZLWKRXWDSUHSURFHVVLQJVWRS$[LVUHSODFHPHQWLVDOVRSRVVLEOHYLD
$[LVFRQWDLQHUURWDWLRQ$;&76:(RU$;&7:('XVLQJLPSOLFLWGET/GETD )UDPHZLWKURWDWLRQLIWKLVSURFHVVOLQNVWKHD[LVZLWKRWKHUD[HV
6\QFKURQL]HGDFWLRQVVHH0RWLRQV\QFKURQRXVDFWLRQV$[LVUHSODFHPHQWRELEASEGET
0DFKLQHPDQXIDFWXUHU
3OHDVHUHIHUWRWKHPDFKLQHPDQXIDFWXUHUVLQVWUXFWLRQV)RUWKHSXUSRVHRID[LVUHSODFHPHQWRQHD[LVPXVWEHGHILQHGXQLTXHO\LQDOOFKDQQHOVLQWKHFRQILJXUDEOHPDFKLQHGDWDDQGWKHD[LVUHSODFHPHQWFKDUDFWHULVWLFVFDQDOVREHVHWXVLQJPDFKLQHGDWD
3URJUDPPLQJRELEASE (axis name, axis name, ...) RU RELEASE (S1) GET (axis name, axis name, ...) RU GET (S2) RU
GETD (axis name, axis name, ...) RU GETD (S3):LWK*(7'*(7'LUHFWO\DQD[LVLVIHWFKHGGLUHFWO\IURPDQRWKHUFKDQQHO7KDWPHDQVWKDWQRVXLWDEOH5(/($6(PXVWEHSURJUDPPHGIRUWKLV*(7'LQDQRWKHUFKDQQHO,WDOVRPHDQVWKDWRWKHUFKDQQHOFRPPXQLFDWLRQKDVWREHHVWDEOLVKHGHJZDLWPDUNHUV
3DUDPHWHUV
RELEASE (axis name, axis name, ) 5HOHDVHWKHD[LVD[HVGET (axis name, axis name, ) $FFHSWWKHD[LVD[HVGETD (axis name, axis name, ) 'LUHFWO\DFFHSWWKHD[LVD[HVAxis name $[LVDVVLJQPHQWLQV\VWHP$;$;RUVSHFLI\
PDFKLQHD[LVQDPH
RELEASE (S1) 5HOHDVHVSLQGOHV66GET(S2) $FFHSWVSLQGOHV66GETD(S3) 'LUHFWDFFHSWDQFHRIVSLQGOHV66
-
)OH[LEOH1&SURJUDPPLQJ $[LVUHSODFHPHQWVSLQGOHUHSODFHPHQW5(/($6(*(7*(7'
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
*(7UHTXHVWZLWKRXWSUHSURFHVVLQJVWRS
,IIROORZLQJD*(7UHTXHVWZZLWKRXWSUHSURFHVVLQJVWRSWKHD[LVLVHQDEOHGDJDLQZLWKRELEASE(axis)RUWAITP(axis)DVXEVHTXHQWGETZLOOLQGXFHDGET ZLWKSUHSURFHVVLQJVWRS
&DXWLRQ
$QD[LVRUVSLQGOHDFFHSWHGZLWK*(7UHPDLQVDVVLJQHGWRWKLVFKDQQHOHYHQDIWHUDNH\RUSURJUDP5(6(7
:KHQDSURJUDPLVUHVWDUWHGWKHUHSODFHGD[HVRUVSLQGOHVPXVWEHUHDVVLJQHGLQWKHSURJUDPLIWKHD[LVLVUHTXLUHGLQLWVRULJLQDOFKDQQHO
,WLVDVVLJQHGWRWKHFKDQQHOGHILQHGLQWKHPDFKLQHGDWDRQ32:(521
([DPSOHRIDQD[LVUHSODFHPHQWEHWZHHQWZRFKDQQHOV2IWKHD[HVWKHIROORZLQJDUHXVHGIRUPDFKLQLQJLQFKDQQHODQGWKD[LV7KHWKDQGWKD[HVLQFKDQQHODUHXVHGIRUWKHZRUNSLHFHFKDQJH
$[LVLVWREHWUDQVIHUUHGEHWZHHQWKHFKDQQHOVDQGWKHQDVVLJQHGWRFKDQQHODIWHUSRZHU21
3URJUDP0$,1LQFKDQQHO
%_N_MAIN_MPF INIT (2,"TRANSFER2") 6HOHFWSURJUDP75$16)(5LQFKDQQHON START (2) 6WDUWSURJUDPLQFKDQQHON GET (AX2)
$FFHSWD[LV$;
N RELEASE (AX2) (QDEOHD[LV$;N WAITM (1,1,2) :DLWIRU:$,7PDUNHULQFKDQQHODQG
IRUV\QFKURQL]LQJLQERWKFKDQQHOV
N N M30
5HVWRISURJUDPDIWHUD[LVUHSODFHPHQW
3URJUDP5HSODFHLQFKDQQHO
%_N_TRANSFER2_MPF N RELEASE (AX2) N160 WAITM (1,1,2) :DLWIRU:$,7PDUNHULQFKDQQHODQG
IRUV\QFKURQL]LQJLQERWKFKDQQHOV
N150 GET (AX2) $FFHSWD[LV$;N N M30
5HVWRISURJUDPDIWHUD[LVUHSODFHPHQW
-
)OH[LEOH1&SURJUDPPLQJ $[LVUHSODFHPHQWVSLQGOHUHSODFHPHQW5(/($6(*(7*(7'
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
([DPSOHRID[LVUHSODFHPHQWZLWKRXWV\QFKURQL]DWLRQ,IWKHD[LVGRHVQRWKDYHWREHV\QFKURQL]HGQRSUHSURFHVVLQJVWRSLVJHQHUDWHGE\*(7
N01 G0 X0 N02 RELEASE(AX5) N03 G64 X10 N04 X20
N05 GET(AX5) ,IV\QFKURQL]DWLRQLVQRWQHFHVVDU\WKLVLVQRWDQH[HFXWDEOHEORFN
N06 G01 F5000 1RWDQH[HFXWDEOHEORFNN07 X20 1RWDQH[HFXWDEOHEORFNEHFDXVH;SRVLWLRQDV
IRU1
N08 X30 )LUVWH[HFXWDEOHEORFNDIWHU1N09
([DPSOHDFWLYDWLQJDQD[LVUHSODFHPHQWZLWKRXWDSUHSURFHVVLQJVWRS3UHUHTXLVLWH
$[LVUHSODFHPHQWZLWKRXWDSUHSURFHVVLQJVWRSPXVWEHFRQILJXUHGYLDPDFKLQHGDWD
N010 M4 S100 N011 G4 F2 N020 M5 N021 SPOS=0 N022 POS[B]=1 N023 WAITP(B) $[LV%EHFRPHVWKHQHXWUDOD[LVN030 X1 F10 N031 X100 F500 N032 X200 N040 M3 S500 $[LVGRHVQRWWULJJHUSUHSURFHVVLQJVWRS5(25*N041 G4 F2 N050 M5 N099 M30 ,IWKHVSLQGOHRUD[LV%LVWUDYHUVHGHJWRGHJUHHVDQGWKHQEDFNWRGHJUHHLPPHGLDWHO\DIWHUEORFN1DVWKH33/&D[LVWKLVD[LVZLOOUHYHUWWRLWVQHXWUDOVWDWXVDQGZLOOQRWWULJJHUDSUHSURFHVVLQJVWRSLQEORFN1
5HTXLUHPHQWV3UHFRQGLWLRQVIRUD[LVUHSODFHPHQW
7KHD[LVPXVWEHGHILQHGLQDOOFKDQQHOVWKDWXVHWKHD[LVLQWKHPDFKLQHGDWD
,WLVQHFHVVDU\WRGHILQHWRZKLFKFKDQQHOWKHD[LVZLOOEHDVVLJQHGDIWHU32:(521LQWKHDD[LVVSHFLILFPDFKLQHGDWD
-
)OH[LEOH1&SURJUDPPLQJ $[LVUHSODFHPHQWVSLQGOHUHSODFHPHQW5(/($6(*(7*(7'
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
'HVFULSWLRQ5HOHDVHD[LV5(/($6(
:KHQHQDEOLQJWKHD[LVSOHDVHQRWH
7KHD[LVPXVWQRWEHLQYROYHGLQDWUDQVIRUPDWLRQ
$OOWKHD[HVLQYROYHGLQDQD[LVOLQNWDQJHQWLDOFRQWUROPXVWEHHQDEOHG
$FRQFXUUHQWSRVLWLRQLQJD[LVFDQQRWEHUHSODFHGLQWKLVVLWXDWLRQ
$OOWKHIROORZLQJD[HVRIDJDQWU\PDVWHUD[LVDUHWUDQVIHUUHGZLWKWKHPDVWHU
:LWKFRXSOHGD[HVFRXSOHGPRWLRQPDVWHUYDOXHFRXSOLQJHOHFWURQLFJHDURQO\WKHOHDGLQJD[LVRIWKHJURXSFDQEHHQDEOHG
$FFHSWD[LV*(7
7KHDFWXDOD[LVUHSODFHPHQWLVSHUIRUPHGZLWKWKLVFRPPDQG7KHFKDQQHOIRUZKLFKWKHFRPPDQGLVSURJUDPPHGWDNHVIXOOUHVSRQVLELOLW\IRUWKHD[LV
(IIHFWVRI*(7
$[LVUHSODFHPHQWZLWKV\QFKURQL]DWLRQ
$QD[LVDOZD\VKDVWREHV\QFKURQL]HGLILWKDVEHHQDVVLJQHGWRDQRWKHUFKDQQHORUWKH3/&LQWKHPHDQWLPHDQGKDVQRWEHHQUHV\QFKURQL]HGZLWK:$,73*RUGHOHWHGLVWDQFHWRJREHIRUH*(7
$SUHSURFHVVVWRSIROORZVDVIRU67235(
([HFXWLRQLVLQWHUUXSWHGXQWLOWKHUHSODFHPHQWKDVEHHQFRPSOHWHG
$XWRPDWLF*(7,IDQD[LVLVLQSULQFLSOHDYDLODEOHLQDFKDQQHOEXWLVQRWFXUUHQWO\GHILQHGDVDFKDQQHOD[LV*(7LVH[HFXWHGDXWRPDWLFDOO\,IWKHD[LVD[HVLVDUHDOUHDG\V\QFKURQL]HGQRSUHSURFHVVVWRSLVJHQHUDWHG
9DU\LQJWKHD[LVUHSODFHPHQWEHKDYLRU7KHWUDQVIHUSRLQWRID[HVFDQEHVHWDVIROORZVXVLQJPDFKLQHGDWD
$XWRPDWLFD[LVUHSODFHPHQWEHWZHHQWZRFKDQQHOVWKHQDOVRWDNHVSODFHZKHQWKHD[LVKDVEHHQEURXJKWWRDQHXWUDOVWDWHE\:$,73UHVSRQVHDVEHIRUH
:KHQUHTXHVWLQJDQD[LVFRQWDLQHUURWDWLRQDOOD[HVRIWKHD[LVFRQWDLQHUZKLFKFDQEHDVVLJQHGWRWKHH[HFXWLQJFKDQQHODUHEURXJKWLQWRWKHFKDQQHOXVLQJLPSOLFLW*(7RU*(7'$VXEVHTXHQWD[OHUHSODFHPHQWLVRQO\SHUPLWWHGDJDLQRQFHWKHD[LVFRQWDLQHUURWDWLRQKDVEHHQFRPSOHWHG
:KHQDQLQWHUPHGLDWHEORFNLVLQVHUWHGLQWKHPDLQUXQDFKHFNZLOOEHPDGHWRGHWHUPLQHZKHWKHURUQRWUHRUJDQL]DWLRQLVUHTXLUHG5HRUJDQL]DWLRQLVRQO\QHFHVVDU\LIWKHD[LVVWDWHVRIWKLVEORFNGRQQRWPDWFKWKHFXUUHQWD[LVVWDWHV
,QVWHDGRID*(7EORFNZLWKSUHSURFHVVLQJVWRSDQGV\QFKURQL]DWLRQEHWZHHQSUHSURFHVVLQJDQGPDLQUXQD[HVFDQEHUHSODFHGZLWKRXWDSUHSURFHVVLQJVWRS,QWKLVFDVHDQLQWHUPHGLDWHEORFNLVVLPSO\JHQHUDWHGZLWKWKH*(7UHTXHVW,QWKHPDLQUXQZKHQWKLVEORFNLVH[HFXWHGWKHV\VWHPFKHFNVZKHWKHUWKHVWDWHVRIWKHD[HVLQWKHEORFNPDWFKWKHFXUUHQWD[LVVWDWHV
-
)OH[LEOH1&SURJUDPPLQJ 7UDQVIHUD[LVWRDQRWKHUFKDQQHO$;72&+$1
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
)RUPRUHLQIRUPDWLRQDERXWKRZD[LVRUVSLQGOHUHSODFHPHQWZRUNVVHH)%)XQFWLRQ0DQXDO([WHQGHG)XQFWLRQV0RGH*URXSV&KDQQHOV$[LV5HSODFHPHQW.
7UDQVIHUD[LVWRDQRWKHUFKDQQHO$;72&+$1
)XQFWLRQ7KH$;72&+$11&FRPPDQGFDQEHXVHGWRUHTXHVWDQD[LVLQRUGHUWRPRYHLWWRDGLIIHUHQWFKDQQHO7KHD[LVFDQEHPRYHGWRWKHFRUUHVSRQGLQJFKDQQHOERWKIURPWKH1&SDUWVSURJUDPDQGIURPDV\QFKURQL]HGDFWLRQ
3URJUDPPLQJAXTOCHAN(axis name,channel number[,axis name,channel number[,...]])
3DUDPHWHUV
AXTOCHAN 5HTXHVWD[LVIRUDVSHFLILFFKDQQHOAxis name $[LVDVVLJQPHQWLQV\VWHP;
-
)OH[LEOH1&SURJUDPPLQJ 1(:&21)6HWWLQJPDFKLQHGDWDHIIHFWLYH
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
([DPSOHRI$;72&+$1LQWKH1&SURJUDP$[HV;DQG
-
)OH[LEOH1&SURJUDPPLQJ :5,7(:ULWHILOH
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
3DUDPHWHU
NEWCONF $OOPDFKLQHGDWDRIWKH1(:B&21),*HIIHFWLYHQHVVOHYHODUHVHWDFWLYH
&URVVFKDQQHOH[HFXWLRQRI1(:&21)IURPWKHSDUWVSURJUDP
,ID[LDOPDFKLQHGDWDIURPWKHSDUWVSURJUDPDUHFKDQJHGDQGWKHQDFWLYDWHGZLWKNEWCONFNEWCONFZLOORQO\DFWLYDWHWKHPDFKLQHGDWDFRQWDLQLQJFKDQJHVDIIHFWLQJWKHSDUWVSURJUDPFKDQQHO
1RWH
,QRUGHUWRHQVXUHWKDWDOOFKDQJHVDUHPDGHWKHNEWCONFVWDWHPHQWPXVWEHH[HFXWHGLQHYHU\FKDQQHOLQZKLFKWKHD[HVRUIXQFWLRQVDIIHFWHGE\WKHFKDQJHVLQWKHPDFKLQHGDWDDUHEHLQJFDOFXODWHG
1RD[LDOPDFKLQHGDWDDUHHIIHFWLYHIRUNEWCONF$QD[LDO5(6(7PXVWEHXQGHUWDNHQIRUD[HVFRQWUROOHGE\WKH3/&
([DPSOH0LOOLQJ0DFKLQHGULOOSRVLWLRQZLWKGLIIHUHQWWHFKQRORJLHV
N10 $MA_CONTOUR_TOL[AX]=1.0 &KDQJHPDFKLQHGDWDN20 NEWCONF 6HWPDFKLQHGDWDDFWLYH
:5,7(:ULWHILOH
)XQFWLRQ8VLQJWKH:5,7(FRPPDQGGDWDHJPHDVXUHPHQWUHVXOWVIRUPHDVXULQJF\FOHVFDQEHDSSHQGHGWRWKHHQGRIWKHVSHFLILHGILOH
7KHILOHVFUHDWHGFDQ
EHUHDGHGLWHGDQGGHOHWHGE\DOOXVHUV
EHZULWWHQLQWRWKHSDUWVSURJUDPEHLQJH[HFXWHG
7KHEORFNVDUHLQVHUWHGDWWKHHQGRIWKHILOHDIWHU0
7KHFXUUHQWO\VHWSURWHFWLRQOHYHOPXVWEHHTXDOWRRUJUHDWHUWKDQWKH:5,7(ULJKWRIWKHILOH,IWKLVLVQRWWKHFDVHDFFHVVLVGHQLHGZLWKDQHUURUPHVVDJHHUURU
3URJUDPPLQJWRITE(VAR INT error, CHAR[160] filename, CHAR[200] STRING)
-
)OH[LEOH1&SURJUDPPLQJ :5,7(:ULWHILOH
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
3DUDPHWHUV0DFKLQHPDQXIDFWXUHU
7KH:5,7(FRPPDQGFDQEHXVHGWRVWRUHEORFNVIURPWKHSDUWVSURJUDPLQDILOH7KHILOHVL]HIRUORJILOHV.%LVVSHFLILHGLQWKHPDFKLQHGDWD
7KH0'/(1B35272&2/B),/(VHWVWKHPD[LPXPOHQJWKRIWKHORJILOHVLQ.%7KLVOHQJWKLVDSSOLFDEOHIRUDOOILOHVFUHDWHGXVLQJWKH:5,7(FRPPDQG
2QFHWKHILOHUHDFKHVWKHVSHFLILHGOHQJWKDQHUURUPHVVDJHLVRXWSXWDQGWKH675,1*LVQRWVDYHG,IWKHUHLVVXIILFLHQWIUHHPHPRU\DQHZILOHFDQEHFUHDWHG
WRITE $GGGDWDDWWKHHQGRIWKHVSHFLILHGILOHerror (UURUYDULDEOHIRUUHWXUQ
1RHUURU3DWKQRWDOORZHG3DWKQRWIRXQG)LOHQRWIRXQG,QFRUUHFWILOHW\SH)LOHLVIXOO)LOHLVLQXVH1RUHVRXUFHVDYDLODEOH1RDFFHVVULJKWV2WKHUHUURU
filename 1DPHRIILOHLQZKLFKWKHVWULQJLVWREHZULWWHQ,IWKHILOHQDPHFRQWDLQVVSDFHVRUFRQWUROFKDUDFWHUVFKDUDFWHUVZLWKGHFLPDO$6&,,FRGH WKH:5,7(FRPPDQGZLOOEHWHUPLQDWHGZLWKHUURUFRGHSDWKQRWSHUPLWWHG7KHILOHQDPHFDQEHVSHFLILHGZLWKSDWKDQGILOHLGHQWLILHU3DWKQDPHVPXVWEHDEVROXWHWKDWLVVWDUWZLWK,IWKHILOHQDPHGRHVQRWFRQWDLQDGRPDLQLGHQWLILHUB1BLWLVDGGHGDFFRUGLQJO\,IWKHUHLVQRLGHQWLILHUB03)RUB63)WKHILOHQDPHLVDXWRPDWLFDOO\FRPSOHWHGZLWKB03),IWKHUHLVQRSDWKVSHFLILHGWKHILOHLVVDYHGLQWKHFXUUHQWGLUHFWRU\ GLUHFWRU\RIVHOHFWHGSURJUDP7KHILOHQDPHOHQJWKFDQEHXSWRE\WHVWKHSDWKOHQJWKXSWRE\WHV([DPSOH3527),/(B1B3527),/(B1B3527),/(B03)B1B03)B',5BB1B3527),/(B03)
STRING 7H[WWREHZULWWHQ,QWHUQDOO\/)LVWKHQDGGHGWKLVPHDQVWKDWWKHWH[WLVOHQJWKHQHGE\RQHFKDUDFWHU
-
)OH[LEOH1&SURJUDPPLQJ '(/(7('HOHWHILOH
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
1RWH
,IQRVXFKILOHH[LVWVLQWKH1&LWLVQHZO\FUHDWHGDQGFDQEHZULWWHQWRE\PHDQVRIWKH:5,7(FRPPDQG
,IDILOHZLWKWKHVDPHQDPHH[LVWVRQWKHKDUGGLVNLWLVRYHUZULWWHQDIWHUWKHILOHLVFORVHGLQWKH1&
5HPHG\&KDQJHWKHQDPHLQWKH1&XQGHUWKH6HUYLFHVRSHUDWLQJDUHDXVLQJWKH3URSHUWLHVVRIWNH\
([DPSOH
N10 DEF INT ERROR N20 WRITE(ERROR,"TEST1","LOG FROM 7.2.97")
:ULWHWKHWH[WIURP/2*)520LQWRWKH7(67ILOH
N30 IF ERROR N40 MSG ("Error with WRITE command:"
-
)OH[LEOH1&SURJUDPPLQJ '(/(7('HOHWHILOH
-RESODQQLQJ 3URJUDPPLQJ0DQXDO)&%3%$
3DUDPHWHUV
DELETE 'HOHWHWKHVSHFLILHGILOHerror (UURUYDULDEOHIRUUHWXUQ
1RHUURU3DWKQRWDOORZHG3DWKQRWIRXQG)LOHQRWIRXQG,QFRUUHFWILOHW\SH)LOHLVLQXVH1RUHVRXUFHVDYDLODEOH2WKHUHUURU
filename 1DPHRIWKHILOHWREHGHOHWHG7KHILOHQDPHFDQEHVSHFLILHGZLWKSDWKDQGILOHLGHQWLILHU3DWKQDPHVPXVWEHDEVROXWHWKDWLVVWDUWZLWK,IWKHILOHQDPHGRHVQRWFRQWDLQDGRPDLQLGHQWLILHUB1BLWLVDGGHGDFFRUGLQJO\7KHILOHLGHQWLILHUBSOXVFKDUDFWHUVHJB63)LVRSWLRQDO,IWKHUHLVQRLGHQWLILHUWKHILOHQDPHLVDXWRPDWLFDOO\DGGHGB03),IWKHUHLVQRSDWKVSHFLILHGWKHILOHLVVDYHGLQWKHFXUUHQWGLUHFWRU\ GLUHFWRU\RIVHOHFWHGSURJUDP7KHILOHQDPHOHQJWKFDQEHXSWRE\WHVWKHSDWKOHQJWKXSWRE\WHV([DPSOH3527),/(B1B3527),/(B1B3527),/(B03)B1B03)B',5B1B3527),/(B03)
([DPSOH
N10 DEF INT ERROR N15 STOPRE 3UHSURFHVVLQJVWRSN20 DELETE (ERROR, "/_N_SPF_DIR/_N_TEST1_SPF")
GHOHWHVILOH7(67LQWKHVXEURXWLQHEUDQFK
N30 IF ERROR N40 MSG ("Error with DELETE command:"
-
)OH[LEOH1&SURJUDPPLQJ 5($'5HDGOLQHVLQWKHILOH
-RESODQQLQJ3URJUDPPLQJ0DQXDO)&%3%$
5($'5HDGOLQHVLQWKHILOH
)XQFWLRQ7KH5($'FRPPDQGUHDGVRQHRUVHYHUDOOLQHVLQWKHILOHVSHFLILHGDQGVWRUHVWKHLQIRUPDWLRQUHDGLQDQDUUD\RIW\SH675,1*,QWKLVDUUD\HDFKUHDGOLQHRFFXSLHVDQDUUD\HOHPHQW
7KHFXUUHQWO\VHWSURWHFWLRQOHYHOPXVWEHHTXDOWRRUJUHDWHUWKDQWKH5($'ULJKWRIWKHILOH,IWKLVLVQRWWKHFDVHDFFHVVLVGHQLHGZLWKDQHUURUPHVVDJHHUURU
3URJUDPPLQJREAD(VAR INT error, STRING[160] file, INT line, INT number, VAR STRING[255] result[])
3DUDPHWHU
READ 5HDGRQHRUPRUHOLQHVLQWKHVSHFLILHGILOHDQGVWRUHLQDQDUUD\HOHPHQWRIDQDUUD\7KHLQIRUPDWLRQLVDYDLODEOHDV675,1*
error (UURUYDULDEOHIRUUHWXUQFDOOE\UHIHUHQFHSDUDPHWHUW\SH,171RHUURU3DWKQRWDOORZHG3DWK