请问SolarHV_DCAC中的的INV_ICMD:N(计算电流基准) 这个块的说明书名字是什么?需要下载这个文档。谢谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
请问SolarHV_DCAC中的的INV_ICMD:N(计算电流基准) 这个块的说明书名字是什么?需要下载这个文档。谢谢!
这个模块不是标准的digital powerlab中的,是对于这个项目定义的,你有什么不明白的地方吗?你应该是指的以下的源码的模块吧:
;=============================
INV_ICMD_INIT .macro n
;=============================
; variable declarations
_INV_ICMD_Vcmd:n: .usect "INV_ICMD_Section",2,1,1 ; input terminal
_INV_ICMD_Vac:n: .usect "INV_ICMD_Section",2,1,1 ; output terminal
_INV_ICMD_Out:n: .usect "INV_ICMD_Section",2,1,1
_INV_ICMD_Comp:n: .usect "INV_ICMD_Section",2,1,1 ; RMS compensation
_INV_ICMD_Out_Max:n: .usect "INV_ICMD_Section",2,1,1
_INV_ICMD_Out_Min:n: .usect "INV_ICMD_Section",2,1,1
;Publish Terminal Pointers for access from the C environment
;===========================================================
.def _INV_ICMD_Vcmd:n:
.def _INV_ICMD_Vac:n:
.def _INV_ICMD_Out:n:
.def _INV_ICMD_Comp:n:
.def _INV_ICMD_Out_Max:n:
.def _INV_ICMD_Out_Min:n:
; set terminal pointer to ZeroNet
MOVL XAR2, #ZeroNet
MOVW DP, #_INV_ICMD_Vcmd:n:
MOVL @_INV_ICMD_Vcmd:n:, XAR2
MOVW DP, #_INV_ICMD_Vac:n:
MOVL @_INV_ICMD_Vac:n:,XAR2
MOVW DP, #_INV_ICMD_Out:n:
MOVL @_INV_ICMD_Out:n:,XAR2
MOVW DP, #_INV_ICMD_Comp:n:
MOVL @_INV_ICMD_Comp:n:,XAR2
MOVW DP, #_INV_ICMD_Out_Max:n:
MOVL @_INV_ICMD_Out_Max:n:,XAR2
MOVW DP, #_INV_ICMD_Out_Min:n:
MOVL @_INV_ICMD_Out_Min:n:,XAR2
.endm
;-------------------------------------------------------------------------------------------
; ICMD_OUT = Vcmd * Vac * Comp
;=============================
INV_ICMD .macro n
;=============================
MOVW DP, #_INV_ICMD_Vcmd:n:
MOVL XAR0,@_INV_ICMD_Vcmd:n: ; Net pointer to amplitude
MOVW DP, #_INV_ICMD_Vac:n:
MOVL XAR1,@_INV_ICMD_Vac:n: ; Net pointer to line voltage
MOVW DP, #_INV_ICMD_Out:n:
MOVL XAR2,@_INV_ICMD_Out:n: ; Net pointer to loop out
MOVW DP, #_INV_ICMD_Comp:n:
MOVL XAR3,@_INV_ICMD_Comp:n: ; Q26
MOVL XT,*XAR3
QMPYL ACC,XT,*XAR0 ; Q24*Q26 >>32 = Q18
LSL ACC,6 ; Q24
MOVL XT,@ACC ; XT = amplitude Q24
QMPYL ACC,XT,*XAR1 ;ACC = amplitude(Q24)*Vac(Q24)>>32 = Q16
LSL ACC,#8 ; Q16<<8 = Q24
MOVW DP,#_INV_ICMD_Out_Max:n:
MOVL XAR1,@_INV_ICMD_Out_Max:n:
MINL ACC,*XAR1
MOVW DP, #_INV_ICMD_Out_Min:n:
MOVL XAR1,@_INV_ICMD_Out_Min:n:
MAXL ACC,*XAR1
MOVL *XAR2,ACC ; Save to the output
.endm
; end of file