/* Download Codes List ... , Compiled by Easy Motion Programmer */

 0x0101    // Title . Version  
,     13    // Title . No Len  
,  4096    // Title . lenSession_DH
,  4096    // Title . lenSession_DV
,   128    // Title . lenSession_WH
,   512    // Title . lenSession_W
,   256    // Title . lenSession_X
,   256    // Title . lenSession_Y
,  1024    // Title . lenSession_TC
,   341    // Title . lenSession_P
,     0    // Title . lenDownLoad_DV
,   256    // Title . lenTimer
,   384    // Title . lenTimer+lenCu
,  2048    // Title . AV ofs in DV
,    27    // Title . AV actual size


/*Area_V Data...*/

/*Area_AV Data...*/
,0x0000
,0x0000
,0x0000
,0x0000
,0x0000
,0x0000
,0x0000
,0x0000
,0x0000
,0x0000
,0x0000
,0x0000
,0xFFE1
,0x0000
,0x0000
,0xFFE1
,0x0000
,0x0000
,0xFFE1
,0x0000
,0x0000
,0x0000
,0x0000
,0xFFE1
,0x0000
,0x0000
,0xFFE1

/*Area_P Data...*/

,0x1440
,0x1401
,0x1402
,0x1403
,0x1444
,0x4B04
,0x0016
,0x1710
,0x3001
,0x3100
,0x1E00
,0x0000
,0x3000
,0x1E00
,0x000A
,0x1108
,0x0012
,0x3101
,0x0900
,0x0000
,0x113C
,0x000A
,0x3001
,0x2A2C
,0x320F
,0x0000
,0x4C30
,0x002D
,0xAC40
,0x0000
,0xAC40
,0x0002
,0xAC40
,0x0004
,0xAB40
,0x0006
,0xAB40
,0x0008
,0xAB40
,0x000A
,0xAC00
,0x0064
,0xA000
,0x0036
,0x1D00
,0x2B2C
,0x3101
,0x0900
,0x0032
,0x1A00
,0x0900
,0x0000
,0x1A00
,0xA100
,0xB1B7
,0x001B
,0x0000
,0x0000
,0xFFE1
,0xB1B7
,0x001E
,0x0000
,0x0000
,0xFFE1
,0xB1B7
,0x0021
,0x0000
,0x0000
,0xFFE1
,0x7EB7
,0x0024
,0x0000
,0x0000
,0xB1B7
,0x0026
,0x0000
,0x0000
,0xFFE1
,0xB1B7
,0x0029
,0x0000
,0x0000
,0xFFE1
,0x5200
,0x0000
,0x55C0
,0x52B7
,0x001A
,0x5D00
,0x0002
,0x0000
,0x58C0
,0x55C0
,0x51B7
,0x0016
,0x6F00
,0x5DB7
,0x0016
,0x53B7
,0x001E
,0x52B7
,0x0013
,0x6F00
,0x7500
,0x0000
,0x0000
,0x5DB7
,0x0018
,0x7500
,0x0002
,0x0009
,0x5D00
,0xFFFF
,0xFFFF
,0x56B7
,0x001E
,0x7500
,0x0000
,0x0008
,0x53B7
,0x001E
,0x52B7
,0x0013
,0x6F00
,0x7500
,0x0000
,0x0001
,0x5DB7
,0x0018
,0x5D00
,0xFFFF
,0xFFFF
,0x56B7
,0x001E
,0x53B7
,0x001B
,0x52B7
,0x0013
,0x5D00
,0x03E8
,0x0000
,0x54E8
,0x7E80
,0x0000
,0x0000
,0x7FC8
,0x0001
,0x52C8
,0x6500
,0x001D
,0x1111
,0x009B
,0x5100
,0x0000
,0x0000
,0x51B7
,0x0014
,0x6F00
,0x62B7
,0x0011
,0x5EC8
,0x56B7
,0x001B
,0x53B7
,0x0021
,0x51B7
,0x0018
,0x6F00
,0x5DB7
,0x0018
,0x53B7
,0x001E
,0x50B7
,0x0021
,0x7500
,0x0002
,0x0009
,0x56B7
,0x001E
,0x53B7
,0x001E
,0x51B7
,0x0016
,0x6F00
,0x5DB7
,0x0016
,0x6C00
,0x56B7
,0x001E
,0x53B7
,0x001E
,0x6100
,0x0002
,0x0000
,0x61B7
,0x0018
,0x60B7
,0x0021
,0x7500
,0x0000
,0x000B
,0x7500
,0x0000
,0x0007
,0x6C00
,0x5700
,0x00B4
,0x0000
,0x5D00
,0x03E8
,0x0000
,0x5AE8
,0x5487
,0x8002
,0x7DC8
,0x0001
,0x52C8
,0x65B7
,0x0012
,0x1130
,0x0093
,0x52C8
,0x5B00
,0x0001
,0x55D0
,0x5187
,0x8004
,0x53B7
,0x0029
,0x5A80
,0x6C00
,0x5700
,0x7E40
,0x0005
,0x54B7
,0x0024
,0x5181
,0x5A80
,0x54E8
,0x52D0
,0x5B00
,0x0001
,0x55D8
,0x5187
,0x8004
,0x5A87
,0x8006
,0x54E0
,0x5100
,0x0000
,0x0000
,0x52B7
,0x0011
,0x5BB7
,0x0012
,0x6200
,0x0002
,0x55C4
,0x5800
,0x0001
,0x55CC
,0x51B7
,0x0024
,0x57E0
,0x57E8
,0x5C00
,0x0000
,0x4000
,0xFFE3
,0x62CC
,0x5AE0
,0x5AE8
,0x5C00
,0x0000
,0x4000
,0xFFE1
,0x53B7
,0x001E
,0x50B7
,0x001E
,0x5AE0
,0x62C4
,0x53B7
,0x0026
,0x7FD8
,0x0001
,0x50B7
,0x0026
,0x5ED8
,0x57E0
,0x56B7
,0x0029
,0x53B7
,0x0029
,0x5487
,0x8002
,0x7DC8
,0x0001
,0x7DD8
,0x0001
,0x52D8
,0x65C4
,0x1104
,0x0132
,0x113C
,0x011E
,0x51E8
,0x59B7
,0x001E
,0x62C4
,0x53B7
,0x0026
,0x7FD8
,0x0000
,0x50B7
,0x0026
,0x5ED8
,0x56B7
,0x001E
,0x56B7
,0x0029
,0x53B7
,0x0029
,0x5487
,0x8002
,0x7DC8
,0x0001
,0x7DD8
,0x0001
,0x52D8
,0x65C4
,0x1114
,0x014F
,0x113C
,0x013A
,0x5100
,0x0000
,0x0000
,0xA100
,0x909E
,0xC860

/* Compiled File End */
/* Source Code List...
 ;##########QTASK_0@TasklƳ]w##########
 SET_BTASK 0x04,TASK_0   ;]wTask_0TaskTASK_4
 SET_BTASK 0x00,TASK_1   ;]wTask_1TaskTASK_0
 SET_BTASK 0x00,TASK_2   ;]wTask_2TaskTASK_0
 SET_BTASK 0x00,TASK_3   ;]wTask_3TaskTASK_0
 SET_BTASK 0x04,TASK_4   ;]wTask_4TaskTASK_4, ܨS]w

 LAUNCH    $T4_BEGIN_,S0_T4 ;Launch Task_4{iJIHΥɦSlot0ɼѡAت: NITask_4cpuFLAG.Bits.Run]_
 SET_SLOT 0x01,TASK_0 ; w]Task_0Slot0, Slot1, Slot2, Slot3 (ANSlot0ɼٵTask_0)
 ;##########TASK_0ϥΪ̤Wqu]@{##########
 PLC_BEGIN 1
 ;##########Prtm##########
 PLC_END 0
 ;##########TASK_0ϥΪ̪PLC{##########
T0_BEGIN_: SAMP 0
 PLC_BEGIN 0 ;I/Os
 SAMP 10
 JMP_C $T0_TOUT_,CA  ;Sampling period is too short if CARRY
T0_START_:
T0_END_: PLC_END 1; ^PLC_BEGIN
T0_TOUT_: ERR_CATCH $NULL
 ;======WɳBm{:T0_TOUT_[MSM]======
 JMP_C $T0_BEGIN_,UNC ;^T0_BEGIN
 ;##########TASK_4ϥΪ̪PLC_FREE_RUN{##########
T4_BEGIN_: PLC_BEGIN 1
 ;======Task4{:BK_PLC_1[LADDER]======
BK_PLC_1:
 STK_GET 44
 P_LD @DV0.0
 P_MACRO $BK_PLC_1:`y_0_,PLS
 ARG_INW wECAMI
 ARG_INW wPBI
 ARG_INW w_l
 ARG_INL dw~
 ARG_INL dws
 ARG_INL dwߥb|
 ARG_INW 100
 CALL $API:ECAM:`y
 P_MACRO_END 0
BK_PLC_1:`y_0_:
 STK_FREE 44
T4_END_: PLC_END 1
 ;======Program{:y[MSM]======
y: ERR_CATCH  $y_ERR_
 
 END
y_ERR_: ERR_CATCH $NULL
 END
 ;########## NULL_POU ##########
NULL_POU:
 RET
 ;##########API Launch{##########
 ;##########APIs##########
API:ECAM:`y
 MOVF *SP[27],0.000000
 MOVF *SP[30],0.000000
 MOVF *SP[33],0.000000
 MOVL *SP[36],0
 MOVF *SP[38],0.000000
 MOVF *SP[41],0.000000
 LACCW     #DH0
 SALW      @AR0
 LACCW     *SP[26]
 MULL      2
 ADDW      @AR0
 SALW      @AR0











 LACCL     *SP[22]
 L2F
 MULL      *SP[22]
 SACCF     *SP[30]

 LACCW     *SP[19]
 L2F
 MATH_ACC  0,SIN
 MULL      *SP[24]
 MATH_ACC  2,POWER
 MULL      -1
 ADDF      *SP[30]
 MATH_ACC  0,SQRT

 SACCF     *SP[30]

 LACCW     *SP[19]
 L2F
 MATH_ACC  0,COS
 MULL      *SP[24]
 MULL      -1
 ADDF      *SP[30]

 SACCF     *SP[27]




 LACCW    *SP[19]
 MULL     1000

 SACCL    @XAR5
 MOVL     *AR0[0],0

 MOVW     @AR1,1

API:ECAM:`y:LOOP1:

 LACCW     @AR1
 CMPW      29
 JMP_C     $API:ECAM:`y:L1,NEQ
 LACCL     0
API:ECAM:`y:L1

 LACCL     *SP[20]
 L2F
 DIVW      *SP[17]
 MULW      @AR1
 ADDF      *SP[27]
 SACCF     *SP[33]



 LACCL     *SP[24]
 L2F
 MULL      *SP[24]
 SACCF     *SP[30]

 LACCF     *SP[33]
 MATH_ACC  2,POWER
 ADDF      *SP[30]
 SACCF     *SP[30]

 LACCL     *SP[22]
 L2F
 MULL      *SP[22]
 NEG
 ADDF      *SP[30]
 SACCF     *SP[30]

 DIVL      2
 DIVL      *SP[24]
 DIVF      *SP[33]














 MATH_ACC  0,ACOS
 MATH_ACC  0,RADIAN_TO_DEGREE

API:ECAM:`y:FIX_ANG:
 NEG
 ADDL      180

 MULL      1000
 SUBL      @XAR5
 SACCL     *AR0[AR1]


 REG_ADDW  @AR1,1
 LACCW     @AR1
 CMPW      *SP[18]
 JMP_C     $API:ECAM:`y:LOOP1,LEQ




 LACCW     @AR1
 SUBW      1
 SALW      @AR2
 LACCL     *AR0[AR2]
 SACCF     *SP[41]
 SUBL      *AR0[0]
 NEG
 ADDL      360000
 SACCL     *SP[36]

 LACCL     *AR0[1]
 SUBL      *AR0[0]
 SACCL     @XAR5

 LACCW     @AR2
 SUBW      1
 SALW      @AR3
 LACCL     *AR0[AR2]
 SUBL      *AR0[AR3]
 SACCL     @XAR4


 LACCL     0

 LACCW     *SP[17]
 SUBW      *SP[18]
 DIVW      2
 SALW      @AR0H
 ADDW      1
 SALW      @AR1H


 LACCL     *SP[36]
 ADDL      @XAR4
 ADDL      @XAR5
 MULF      2.0
 DIVW      @AR1H
 SUBL      @XAR4
 SUBL      @XAR5
 MULF      0.5
 SACCF     *SP[30]



 LACCF     *SP[30]
 SUBL      @XAR4
 DIVW      @AR0H
 SACCF     *SP[38]

 MOVW      @AR3,1
API:ECAM:`y:LOOP2:
 LACCF     *SP[38]
 MULW      @AR3
 ADDL      @XAR4
 ADDF      *SP[41]
 SACCF     *SP[41]
 SACCL     *AR0[AR1]

 REG_ADDW  @AR1,1
 REG_ADDW  @AR3,1
 LACCW     @AR3
 CMPW      @AR0H
 JMP_C     $API:ECAM:`y:LOOP2_END,GT
 JMP_C     $API:ECAM:`y:LOOP2,UNC
API:ECAM:`y:LOOP2_END:


 LACCL     @XAR5
 SUBF      *SP[30]
 DIVW      @AR0H
 SACCF     *SP[38]

 MOVW      @AR3,0
API:ECAM:`y:LOOP3:
 LACCF     *SP[38]
 MULW      @AR3
 ADDF      *SP[30]
 ADDF      *SP[41]
 SACCF     *SP[41]
 SACCL     *AR0[AR1]

 REG_ADDW  @AR1,1
 REG_ADDW  @AR3,1
 LACCW     @AR3
 CMPW      @AR0H
 JMP_C     $API:ECAM:`y:LOOP3_END,GEQ
 JMP_C     $API:ECAM:`y:LOOP3,UNC
API:ECAM:`y:LOOP3_END:

 LACCL     0
 RET

    End of Source Code---------*/