Funções Úteis Construídas com os Blocos Elementares de CDU¶
A linguagem de escrita de diagramas de blocos em CDU permite a construção de diversas funções, desde as mais básicas até as mais complexas.
Neste caso exemplo é ilustrada a construção de uma série de funções úteis via CDU para a aplicação em sistemas de controle de diversos equipamentos de sistemas de potência.
1(===============================================================================
2( DADOS DE CDU
3(===============================================================================
4DCDU
5(
6(
7(ncdu) ( nome cdu )
8 0010 TESTE_CDU_01
9(
10( #####################################################################
11( # CDU PARA GERACAO DE SINAIS DE EXCITACAO #
12( # A SEREM USADOS NOS EXEMPLOS #
13( # #
14( # Este CDU apresenta exemplo de uso dos seguintes tipos de bloco : #
15( # - ENTRAD #
16( # - IMPORT subtipo TEMPO #
17( # - SOMA #
18( # - MULTPL #
19( # - DIVSAO #
20( # - GANHO #
21( # - FUNCAO subtipos ATAN, EXP, PULSO e SIN #
22( # - EXPORT subtipo CDU #
23( # #
24( # E' exemplificada tambem a definicao de valor inicial conhecido #
25( # de uma variavel atraves da instrucao DEFVAL sem subtipo. #
26( # #
27( #####################################################################
28(
29(
30( ----------
31( CONSTANTES
32( ----------
33(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
34 1 ENTRAD UM
35 2 FUNCAO ATAN UM ATAN1
36 3 GANHO ATAN1 DPI 8.0
37(
38(EFVAL (stip) (vdef) ( d1 )
39DEFVAL UM 1.0
40(
41(
42( ------------------
43( TEMPO DE SIMULACAO
44( ------------------
45(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
46 11 IMPORT TEMPO TIME
47(
48(
49( --------------------------------------------------------------
50( PULSO COM AMPLITUDE 1.0 APLICADO EM 1.0s E RETIRADO EM 5.0s
51( +
52( PULSO COM AMPLITUDE -1.0 APLICADO EM 11.0s E RETIRADO EM 15.0s
53( --------------------------------------------------------------
54(
55( ^
56( SINAL1 |
57( | 1.0 ********
58( | * * 11.0 15.0
59( *************------**************------**************----->
60( | 1.0 5.0 * * TIME (seg.)
61( | - 1.0 ********
62( |
63(
64(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
65 21 FUNCAO PULSO TIME PULSO+ 1.0 1.0 5.0 0.0
66 22 FUNCAO PULSO TIME PULSO- 11.0 -1.0 15.0 0.0
67 23 SOMA PULSO+ SINAL1
68 PULSO- SINAL1
69(
70(
71( -------------------------------------------------
72( SINAL SENOIDAL COM AMPLITUDE 1.0 E FREQUENCIA 1Hz
73( -------------------------------------------------
74(
75( SINAL2 = AMP2 * SIN( 2Pi * FREQ2 * TIME )
76(
77(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
78 31 ENTRAD FREQ2
79 32 ENTRAD AMP2
80(
81 33 MULTPL DPI ANG2
82 FREQ2 ANG2
83 TIME ANG2
84 34 FUNCAO SIN ANG2 SIN2
85(
86 35 MULTPL AMP2 SINAL2
87 SIN2 SINAL2
88(
89(EFVAL (stip) (vdef) ( d1 )
90DEFVAL AMP2 1.0
91DEFVAL FREQ2 1.0
92(
93(
94( -------------------------------------------------
95( SINAL SENOIDAL COM AMPLITUDE 0.5 E FREQUENCIA 5Hz
96( -------------------------------------------------
97(
98( SINAL3 = AMP3 * SIN( 2Pi * FREQ3 * TIME )
99(
100(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
101 41 ENTRAD FREQ3
102 42 ENTRAD AMP3
103(
104 43 MULTPL DPI ANG3
105 FREQ3 ANG3
106 TIME ANG3
107 44 FUNCAO SIN ANG3 SIN3
108(
109 45 MULTPL AMP3 SINAL3
110 SIN3 SINAL3
111(
112(EFVAL (stip) (vdef) ( d1 )
113DEFVAL AMP3 0.5
114DEFVAL FREQ3 5.0
115(
116(
117( ------------------------------------------
118( SINAL SENOIDAL AMORTECIDO APLICADO EM 1.0s
119( ------------------------------------------
120(
121( SINAL4 = 0.0 ; p/ TIME < T4
122(
123( (TIME-T4)/TAU4
124( SINAL4 = AMP4 * e * SIN( 2Pi * FREQ4 * (TIME-T4) ) ;
125( p/ TIME >= T4
126(
127( T4 ( Instante da aplicacao da perturbacao em segundos )
128( AMP4 ( Amplitude da perturbacao oscilatoria )
129( TAU4 ( cte. de tempo da perturbacao em segundos )
130( FREQ4 ( frequencia da perturbacao em Hz )
131(
132(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
133 51 ENTRAD T4
134 52 ENTRAD AMP4
135 53 ENTRAD TAU4
136 54 ENTRAD FREQ4
137(
138 55 SOMA TIME TREL4
139 -T4 TREL4
140(
141 56 MULTPL DPI ANG4
142 FREQ4 ANG4
143 TREL4 ANG4
144 57 FUNCAO SIN ANG4 SIN4
145(
146(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
147 58 DIVSAO -TREL4 E4
148 TAU4 E4
149 59 FUNCAO EXP E4 EXP4 1.0 1.0 0.0
150(
151 60 FUNCAO PULSO TREL4 DEG4 0.0 1.0 999.0 1.0
152(
153 61 MULTPL AMP4 SINAL4
154 EXP4 SINAL4
155 SIN4 SINAL4
156 DEG4 SINAL4
157(
158(EFVAL (stip) (vdef) ( d1 )
159DEFVAL T4 1.0
160DEFVAL AMP4 1.0
161DEFVAL TAU4 6.0
162DEFVAL FREQ4 0.15
163(
164(
165( ------------------------------------------
166( SINAIS A SEREM EXPORTADOS PARA OUTROS CDUs
167( ------------------------------------------
168(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
169 71 EXPORT CDU SINAL1
170 72 EXPORT CDU SINAL1
171 73 EXPORT CDU SINAL1
172 74 EXPORT CDU SINAL2
173 75 EXPORT CDU SINAL3
174 76 EXPORT CDU SINAL4
175(
176( OBS: Note que se um mesmo sinal de CDU for exportado para varios
177( lugares devera' haver um bloco EXPORT para cada bloco IMPORT
178( correspondente. Portanto e' necessario criar um local de medicao
179( referenciando cada bloco EXPORT subtipo CDU.
180(
181FIMCDU
182(
183(
184(
185(ncdu) ( nome cdu )
186 0020 TESTE_CDU_02
187(
188( #####################################################################
189( # CDU PARA TESTE DE BLOCOS DINAMICOS #
190( # #
191( # Este CDU apresenta exemplo de uso dos seguintes tipos de bloco : #
192( # - IMPORT subtipo CDU #
193( # - PROINT #
194( # - WSHOUT #
195( # - LEDLAG #
196( # - LIMITA #
197( # - POL(S) #
198( # - GANHO #
199( # - SOMA #
200( # - EXPORT subtipo CDU #
201( # - SAIDA #
202( # #
203( # E' exemplificada tambem a definicao de valor inicial conhecido #
204( # de uma variavel atraves da instrucao DEFVAL sem subtipo e a #
205( # a inicializacao de uma variavel com o valor de outra variavel #
206( # do mesmo CDU atraves da instrucao DEFVAL subtipo VAR. #
207( # #
208( # E' exemplificada tambem a utilizacao do nome de parametro ao #
209( # inves de valor numerico nos campos P1, P2, P3 e P4 do registro #
210( # de dados de bloco e sua definicao atraves da instrucao DEFPAR #
211( # ( ver blocos 61, 74, 75 e 76 ). #
212( # #
213( #####################################################################
214(
215(
216( --------------------------------
217( SINAIS IMPORTADOS DE OUTROS CDUs
218( --------------------------------
219(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
220 1 IMPORT CDU INP1 11
221(
222( OBS: Os blocos IMPORT subtipo CDU referenciam no campo p1 um local de
223( medicao ( ver codigo DLOC ).
224(
225(
226( ----------------------------------
227( BLOCOS DINAMICOS DE PRIMEIRA ORDEM
228( ----------------------------------
229(
230( 1
231( OUT1(S) = --- INP1(S) polo em S = 0.0
232( S
233(
234(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
235 11 PROINT INP1 OUT1 1.0 0.0 1.0
236 12 PROINT INP1 OUT1LD 1.0 0.0 1.0 LMIN1 LMAX1
237(
238(
239( 1 + S
240( OUT2(S) = ------- INP1(S) polo em S = 0.0
241( S zero em S = -1.0
242(
243(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
244 21 PROINT INP1 OUT2 1.0 1.0 1.0
245 22 PROINT INP1 OUT2LD 1.0 1.0 1.0 LMIN2 LMAX2
246(
247(
248( S
249( OUT3(S) = ------- INP1(S) polo em S = -1.0
250( 1 + S zero em S = 0.0
251(
252(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
253 31 WSHOUT INP1 OUT3 1.0 1.0 1.0
254 32 WSHOUT INP1 OUT3LD 1.0 1.0 1.0 LMIN3 LMAX3
255(
256(
257( 1
258( OUT4(S) = ------- INP1(S) polo em S = -1.0
259( 1 + S
260(
261(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
262 41 LEDLAG INP1 OUT4 1.0 0.0 1.0 1.0
263 42 LEDLAG INP1 OUT4LD 1.0 0.0 1.0 1.0 LMIN4 LMAX4
264(
265(
266( 1 + S
267( OUT5(S) = --------- INP1(S) polo em S = -2.0
268( 1 + 0.5S zero em S = -1.0
269(
270(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
271 51 LEDLAG INP1 OUT5 1.0 1.0 1.0 0.5
272 52 LEDLAG INP1 OUT5LD 1.0 1.0 1.0 0.5 LMIN5 LMAX5
273(
274(
275(EFVAL (stip) (vdef) ( d1 )
276DEFVAL OUT1 0.
277DEFVAL OUT1LD 0.
278DEFVAL OUT2 0.
279DEFVAL OUT2LD 0.
280( OBS: Neste caso nao ha' como o programa determinar a saida dos
281( integradores, portanto elas devem ser inicializadas pelo
282( usuario.
283(
284( Valores dos limites
285(EFVAL (stip) (vdef) ( d1 )
286DEFVAL LMIN1 -2.
287DEFVAL LMAX1 2.
288DEFVAL VAR LMIN2 LMIN1
289DEFVAL VAR LMAX2 LMAX1
290DEFVAL LMIN3 -0.5
291DEFVAL LMAX3 0.5
292DEFVAL VAR LMIN4 LMIN3
293DEFVAL VAR LMAX4 LMAX3
294DEFVAL VAR LMIN5 LMIN3
295DEFVAL VAR LMAX5 LMAX3
296(
297( OBS: Observe que o programa permite inicializar o valor de uma
298( variavel com o de outra do mesmo CDU, sem a necessidade de local
299( de medicao, usando-se a instrucao DEFVAL subtipo VAR. E' impor-
300( tante frisar que as duas variaveis devem pertencer ao mesmo
301( CDU. Caso o valor para inicializacao venha de uma variavel de
302( outro CDU deve-se usar o comando DEFVAL subtipo CDU referencian-
303( do o correspondente local de medicao.
304(
305( Os limites de blocos tipo PROINT, WSHOUT e LEDLAG sao do tipo
306( dinamico, isto e', a variavel de estado e' limitada ao inves da
307( sua saida.
308(
309( Quando a funcao do bloco nao possui um zero a variavel de estado
310( e' igual à saida do bloco (por exemplo blocos 11, 12, 41 e 42).
311( Quando a funcao do bloco possui um zero a variavel de estado e'
312( diferente da variavel de saida do bloco e esta ultima pode
313( ultrapassar o limite fornecido (por exemplo blocos 22, 32 e 52).
314( Neste caso deve-se em geral colocar um bloco limitador estatico
315( em serie com o bloco com o limite dinamico, se o usuario desejar
316( garantir que a saida resultante nao ultrapasse os limites.
317(
318(
319( ----------------------------
320( BLOCOS LIMITADORES ESTATICOS
321( ----------------------------
322(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
323 13 LIMITA OUT1 OUT1LS LMIN1 LMAX1
324 23 LIMITA OUT2 OUT2LS LMIN2 LMAX2
325 33 LIMITA OUT3 OUT3LS LMIN3 LMAX3
326 43 LIMITA OUT4 OUT4LS LMIN4 LMAX4
327 53 LIMITA OUT5 OUT5LS LMIN5 LMAX5
328(
329( OBS: No caso de blocos limitadores estaticos a saida corresponde
330( simplesmente à entrada limitada. Observe pela simulacao
331( que um bloco do tipo K/(1+ST) com limite dinamico responde
332( mais rapido que aquele com limite estatico na hora de sair
333( do limite ( comparar saida do bloco 42 com a do 43 ).
334(
335(
336( ----------------------------------
337( BLOCO DINAMICO DE SEGUNDA ORDEM
338( REPRESENTADO POR BLOCO TIPO POL(S)
339( ----------------------------------
340(
341( 144
342( OUT6(S) = -------------------- INP1(S) polos em S = -1.25 + j 11.97
343( S**2 + 2.5 S + 144 -1.25 - j 11.97
344(
345(EFPAR (nome) ( valor )
346DEFPAR #K1 144.0
347DEFPAR #K2 2.5
348(
349(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
350 61 POL(S) INP1 OUT6 #K1
351 1.0#K2 #K1
352(
353( OBS: Este tipo de bloco usa sempre dois registros de dados.
354( Blocos tipo POL(S) nao admitem limites dinamicos ( campos VMIN
355( e VMAX devem ser deixados em branco ).
356(
357(
358( -----------------------------------
359( BLOCO DINAMICO DE SEGUNDA ORDEM
360( REPRESENTADO POR BLOCOS DE PRIMEIRA
361( ORDEM ( FORMULACAO DE ESTADO )
362( -----------------------------------
363(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
364 71 SOMA +INP1 A
365 -Z1 A
366 -Z2 A
367 72 PROINT A X2 1.0 0.0 1.0
368 73 PROINT X2 X1 1.0 0.0 1.0
369 74 GANHO X1 Z1 #K1
370 75 GANHO X2 Z2 #K2
371 76 GANHO X1 W1 #K1
372( 77 GANHO X2 W2 0.0
373( 78 GANHO A W3 0.0
374 79 SOMA +W1 OUT7
375( +W2 OUT7
376( +W3 OUT7
377(
378( OBS: Os blocos 77 e 78 podem ser necessarios caso se deseje alterar a
379( funcao de transferencia.
380(
381( As variaveis X1 e X2 correspondem às variaveis de estado da
382( funcao de 2a ordem.
383(
384( Comparando-se os sinais OUT6 e OUT7 e' possivel verificar que os
385( os blocos 71 a 79 produzem exatamente a mesma funcao de transfe-
386( rencia do bloco 61.
387(
388(
389( ------------------------------------------
390( SINAIS A SEREM EXPORTADOS PARA OUTROS CDUs
391( ------------------------------------------
392(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
393 81 EXPORT CDU OUT3
394 82 EXPORT CDU OUT4
395 83 EXPORT CDU OUT5
396(
397(
398( ----------------------------
399( BLOCOS TERMINADORES DE SAIDA
400( ----------------------------
401(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
402 91 SAIDA OUT1
403 92 SAIDA OUT1LD
404 93 SAIDA OUT1LS
405 94 SAIDA OUT2
406 95 SAIDA OUT2LD
407 96 SAIDA OUT2LS
408 97 SAIDA OUT3LD
409 98 SAIDA OUT3LS
410 99 SAIDA OUT4LD
411 100 SAIDA OUT4LS
412 101 SAIDA OUT5LD
413 102 SAIDA OUT5LS
414 103 SAIDA OUT6
415 104 SAIDA OUT7
416(
417( OBS: Os blocos tipo SAIDA devem ser conectados na saida de blocos
418( cuja variavel nao e' entrada ou limite de nenhum outro bloco.
419( Isto e' necessario para que a logica do programa identifique
420( corretamente se nao foi esquecida nenhuma ligacao.
421(
422FIMCDU
423(
424(
425(
426(ncdu) ( nome cdu )
427 0030 TESTE_CDU_03
428(
429( #####################################################################
430( # CDU PARA TESTE DE BLOCOS TIPO FUNCAO #
431( # #
432( # Este CDU apresenta exemplo de uso dos seguintes tipos de bloco : #
433( # - ENTRAD #
434( # - IMPORT subtipo TEMPO #
435( # - MULTPL #
436( # - GANHO #
437( # - LIMITA #
438( # - SAIDA #
439( # - FUNCAO subtipos MENOS, DEGREE, RADIAN, SIN, COS, TAN, ASIN, #
440( # ACOS, ATAN, X**2, SQRT, ABS, INVRS, EXP, #
441( # TRUNC, ROUND, PULSO, RAMPA, RETA, DEADB1, #
442( # DEADB2, SAT01 e PONTOS. #
443( # #
444( # E' exemplificada tambem a definicao de valor inicial conhecido #
445( # de uma variavel atraves da instrucao DEFVAL sem subtipo. #
446( # #
447( # E' exemplificada tambem a utilizacao do nome de parametro ao #
448( # inves de valor numerico nos campos P1, P2, P3 e P4 do registro #
449( # de dados de bloco e sua definicao atraves da instrucao DEFPAR #
450( # ( ver bloco 61 ). Notar a utilizacao do sinal "-" antes do nome #
451( # do parametro no campo P2. #
452( # #
453( #####################################################################
454(
455(
456( ------------------
457( TEMPO DE SIMULACAO
458( ------------------
459(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
460 1 IMPORT TEMPO TIME
461(
462(
463( ------------------------------------
464( ANGULO PARA UMA FREQUENCIA DE 0.1 Hz
465( ------------------------------------
466(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
467 11 ENTRAD FREQ1
468(
469( Angulo em graus
470(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
471 12 MULTPL FREQ1 FT
472 TIME FT
473 13 GANHO FT ANG1D 360.
474(
475( Conversao de graus para radianos
476(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
477 14 FUNCAO RADIAN ANG1D ANG1R
478(
479(EFVAL (stip) (vdef) ( d1 )
480DEFVAL FREQ1 0.1
481(
482(
483( -----------------------
484( FUNCOES TRIGONOMETRICAS
485( -----------------------
486(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
487 21 FUNCAO SIN ANG1R SIN1
488 22 FUNCAO COS ANG1R COS1
489 23 FUNCAO TAN ANG1R TAN1
490(
491(
492( --------------------------------
493( FUNCOES TRIGONOMETRICAS INVERSAS
494( --------------------------------
495(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
496 31 FUNCAO ASIN SIN1 ASIN1R
497 32 FUNCAO ACOS COS1 ACOS1R
498 33 FUNCAO ATAN TAN1 ATAN1R
499(
500( Conversao de radianos para graus
501(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
502 34 FUNCAO DEGREE ASIN1R ASIN1D
503 35 FUNCAO DEGREE ACOS1R ACOS1D
504 36 FUNCAO DEGREE ATAN1R ATAN1D
505(
506(
507( -------------------------------------------------------------
508( FUNCOES QUADRADO, RAIZ QUADRADA, VALOR ABSOLUTO e SINAL MENOS
509( -------------------------------------------------------------
510(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
511 41 FUNCAO X**2 SIN1 SIN**2
512 42 FUNCAO ABS SIN1 ABSSIN
513 43 FUNCAO SQRT ABSSIN SQRSIN
514 44 FUNCAO MENOS SIN1 MSIN1
515(
516(
517( ----------
518( FUNCAO 1/X
519( ----------
520(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
521 51 LIMITA TIME TLIM LMIN1 LMAX1
522 52 FUNCAO INVRS TLIM USX
523(
524( Valores dos limites
525(EFVAL (stip) (vdef) ( d1 )
526DEFVAL LMIN1 0.05
527DEFVAL LMAX1 99999.
528(
529(
530( ------------------
531( FUNCAO EXPONENCIAL
532( ------------------
533(
534( -0.25 * (TIME-1.0)
535( EXP1 = 2.0 * e
536(
537(EFPAR (nome) ( valor )
538DEFPAR #A 2.0
539DEFPAR #B 0.25
540(
541(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
542 61 FUNCAO EXP TIME EXP1 #A -#B 1.0
543(
544(
545( -----------------------------------------
546( FUNCOES PARA TRUNCAMENTO E ARREDONDAMENTO
547( -----------------------------------------
548(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
549 71 FUNCAO TRUNC TIME INTT
550 72 FUNCAO ROUND TIME INTR
551(
552(
553( ------------
554( FUNCAO PULSO
555( ------------
556(
557( ^
558( PULSO1 |
559( | 2.0 *************
560( | * *
561( | * 1.0 ***************
562( | *
563( **************-----------+------------------------->
564( | 1.0 10.0 TIME (seg.)
565( |
566(
567(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
568 81 FUNCAO PULSO TIME PULSO1 1.0 2.0 10.0 1.0
569(
570(
571( ------------
572( FUNCAO RAMPA
573( ------------
574(
575( ^
576( RAMPA1 |
577( | 2.0 ************
578( | * .
579( | * .
580( | * .
581( 1.0 +******** .
582( | . .
583( | . .
584( -----+-------+-------+----------------------------->
585( | 1.0 10.0 TIME (seg.)
586( |
587(
588(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
589 82 FUNCAO RAMPA TIME RAMPA1 1.0 1.0 10.0 2.0
590(
591(
592( -----------
593( FUNCAO RETA
594( -----------
595(
596( RETA1 = 0.05 * TIME + 1.0
597(
598(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
599 83 FUNCAO RETA TIME RETA1 0.05 1.0
600(
601(
602( -----------------------------
603( FUNCAO BANDA MORTA ( TIPO 1 )
604( -----------------------------
605(
606( ^
607( DBAND1 | DBAND1 = P4 * ( X - P2 )
608( |
609( | *
610( | *
611( | *
612( P1 | *
613( -----------*******************------------------>
614( * | P2 X
615( * |
616( * |
617( * |
618( |
619( DBAND1 = P3 * ( X - P1 ) |
620( |
621(
622(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
623 84 FUNCAO DEADB1 SIN1 DBAND1 -0.5 0.5 2.0 2.0
624(
625(
626( -----------------------------
627( FUNCAO BANDA MORTA ( TIPO 2 )
628( -----------------------------
629(
630( ^
631( DBAND2 |
632( | P4 ************
633( | *
634( | *
635( P1 | *
636( -----------*********************------------------>
637( * | P3 X
638( * |
639( * |
640( ************ P2 |
641( |
642(
643(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
644 85 FUNCAO DEADB2 SIN1 DBAND2 -0.5 -1.0 0.5 1.0
645(
646(
647( ----------------------------------
648( FUNCAO DE SATURACAO POR DUAS RETAS
649( ----------------------------------
650(
651( ^
652( SAT1 |
653( | *
654( P4 |-------------------*
655( | * |
656( | * |
657( | * |
658( P2 |---*---------------|
659( | *| |
660( | * | |
661( |* | |
662( ---------------------*---+---------------+--------->
663( *| P1 P3 X
664( * |
665( * |
666( * |
667( * |
668( * |
669( * |
670( * |
671(
672(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
673 86 FUNCAO SAT01 SIN1 SAT1 0.8 0.1 1.0 1.0
674(
675(
676( -------------------------------------
677( BLOCOS COM NAO-LINEARIDADE POR PONTOS
678( -------------------------------------
679(
680(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
681 87 FUNCAO RETA TIME TIME2 1.0 -10.
682(
683 88 FUNCAO PONTOS TIME2 NONL1 -7.4 -2.01
684 -7.2 -2.00
685 -3.2 -1.80
686 -1.2 -1.30
687 1.2 1.30
688 3.2 1.80
689 7.2 2.00
690 7.4 2.01
691(
692(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
693 89 FUNCAO PONTOS TIME2 NONL2 -10.0 0.00 -8.0 0.20
694 -6.0 0.40 -4.0 1.00
695 -2.0 1.80 0.0 2.00
696 2.0 1.80 4.0 1.00
697 6.0 0.40 8.0 0.20
698 10.0 0.00
699(
700( OBS: Os pontos sao dados em pares ( X, Y ) correspondentes aos pares
701( ( p1, p2 ) e ( p3, p4 ) .
702( Os pontos devem ser dados por ordem crescente de X.
703( Caso ambos os campos do par estejam em branco o par e' ignorado.
704( Se apenas um dos campos do par estiver em branco este campo
705( assumira' o valor zero.
706( Dois pontos consecutivos na curva nao podem ter o mesmo valor
707( de X ou de Y .
708(
709(
710( ----------------------------
711( BLOCOS TERMINADORES DE SAIDA
712( ----------------------------
713(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
714100 SAIDA ASIN1D
715101 SAIDA ACOS1D
716102 SAIDA ATAN1D
717103 SAIDA SIN**2
718104 SAIDA MSIN1
719105 SAIDA SQRSIN
720106 SAIDA USX
721107 SAIDA EXP1
722108 SAIDA INTT
723109 SAIDA INTR
724110 SAIDA PULSO1
725111 SAIDA RAMPA1
726112 SAIDA RETA1
727113 SAIDA DBAND1
728114 SAIDA DBAND2
729115 SAIDA SAT1
730116 SAIDA NONL1
731117 SAIDA NONL2
732(
733( OBS: Os blocos tipo SAIDA devem ser conectados na saida de blocos
734( cuja variavel nao e' entrada ou limite de nenhum outro bloco.
735( Isto e' necessario para que a logica do programa identifique
736( corretamente se nao foi esquecida nenhuma ligacao.
737(
738FIMCDU
739(
740(
741(
742(ncdu) ( nome cdu )
743 0040 TESTE_CDU_04
744(
745( #####################################################################
746( # CDU PARA TESTE DE NOVOS TIPOS DE BLOCOS #
747( # #
748( # Este CDU apresenta exemplo de uso dos seguintes tipos de bloco : #
749( # - ENTRAD #
750( # - IMPORT subtipos DT e CDU #
751( # - SOMA #
752( # - MULTPL #
753( # - DIVSAO #
754( # - FUNCAO subtipos INVRS e PULSO #
755( # - MAX ( novo ) #
756( # - MIN ( novo ) #
757( # - DELAY ( novo ) #
758( # - ACUM ( novo ) #
759( # - T/HOLD ( novo ) #
760( # - S/HOLD ( novo ) #
761( # - SAIDA #
762( # #
763( # E' exemplificada tambem a definicao de valor inicial conhecido #
764( # de uma variavel atraves da instrucao DEFVAL sem subtipo. #
765( # #
766( #####################################################################
767(
768(
769( --------------------------------
770( SINAIS IMPORTADOS DE OUTROS CDUs
771( --------------------------------
772(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
773 1 IMPORT CDU OUT3 21
774 2 IMPORT CDU OUT4 22
775 3 IMPORT CDU OUT5 23
776 4 IMPORT CDU SINAL4 16
777(
778( OBS: Os blocos IMPORT subtipo CDU referenciam no campo p1 um local de
779( medicao ( ver codigo DLOC ).
780(
781(
782( -----------------------------------------
783( BLOCOS SELETORES DE VALOR MAXIMO / MINIMO
784( -----------------------------------------
785(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
786 11 MAX OUT3 VMAX
787 OUT4 VMAX
788 OUT5 VMAX
789(
790 12 MIN OUT3 VMIN
791 OUT4 VMIN
792 OUT5 VMIN
793(
794(
795( ------------------------------------------------
796( BLOCOS COM ATRASO FIXO DE UM PASSO DE INTEGRACAO
797( ------------------------------------------------
798(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
799 21 DELAY OUT4 DEL1
800 22 DELAY DEL1 DEL2
801 23 DELAY DEL2 DEL3
802 24 DELAY DEL3 DEL4
803 25 DELAY DEL4 DEL5
804 26 DELAY DEL5 DEL6
805 27 DELAY DEL6 DEL7
806 28 DELAY DEL7 DEL8
807 29 DELAY DEL8 DEL9
808 30 DELAY DEL9 DEL10
809(
810( OBS: O atraso do sinal DEL10 em relacao ao sinal INP1 e' de 10*DT.
811(
812(
813( ------------------------------------------------------------------
814( GERACAO DE ONDA "DENTE DE SERRA" USANDO BLOCO ACUMULADOR RESETAVEL
815( ------------------------------------------------------------------
816(
817( STEP - passo de integracao
818( FREQ1 - frequencia da dente de serra
819( PER1 - periodo da dente de serra
820( NSTEP - numero de passos correspondentes ao periodo da dente de serra
821( LEVEL - valor que o acumulador deve atingir para ser resetado
822(
823(
824( ** Calculo do nivel para reset do acumulador **
825(
826(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
827 40 IMPORT DT STEP
828 41 ENTRAD DOIS
829 42 ENTRAD FREQ1
830(
831 43 FUNCAO INVRS FREQ1 PER1
832 44 DIVSAO PER1 NSTEP
833 STEP NSTEP
834 45 SOMA NSTEP LEVEL
835 -DOIS LEVEL
836(
837(EFVAL (stip) (vdef) ( d1 )
838DEFVAL DOIS 2.0
839DEFVAL FREQ1 3.0
840(
841(
842( ** Geracao do sinal de reset do acumulador ( sinal RESETA ) **
843(
844(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
845 46 SOMA ACUMUL RESET
846 -LEVEL RESET
847 47 DELAY RESET RESETA
848(
849( OBS: E' necessario acrescentar um atraso de um DT no sinal de reset
850( ( atraves de um bloco DELAY ) para evitar mudancas de estado do
851( bloco acumulador durante as iteracoes da solucao no instante em
852( o que o acumulador vai ser resetado. Este procedimento e' em
853( geral necessario para as entradas de controle dos blocos tipo
854( ACUM, S/HOLD e T/HOLD.
855(
856( Para que a duracao da onda "dente de serra" seja igual a PER1 o
857( acumulador deve ser resetado apos atingir o valor NSTEP-1. No
858( entanto devido ao atraso imposto ao pulso de reset este valor
859( deve ser compensado usando-se LEVEL = NSTEP-2 .
860(
861(
862( ** Geracao de uma dente de serra pela acumulacao do valor 1.0 **
863( ** a cada DT e pelo reset do acumulador ao final de cada ciclo **
864(
865(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
866 48 ACUM INPUT ACUMUL
867 HOLD ACUMUL
868 RESETA ACUMUL
869 ACUM0 ACUMUL
870 49 ENTRAD INPUT
871 50 ENTRAD HOLD
872 51 ENTRAD ACUM0
873(
874(EFVAL (stip) (vdef) ( d1 )
875DEFVAL INPUT 1.0
876DEFVAL HOLD 0.0
877DEFVAL ACUM0 0.0
878DEFVAL ACUMUL 0.0
879(
880( OBS: Como o sinal HOLD e' igual a 0.0 o acumulador estara' sempre
881( em estado de acumulacao enquanto o sinal RESETA =< 0.0. Quando
882( RESETA fica > 0.0 a variavel ACUMUL e' inicializada com o valor
883( ACUM0 ( = 0.0 ).
884(
885(
886( ** Convertendo o valor do acumulador para segundos **
887(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
888 52 MULTPL ACUMUL TIMER
889 STEP TIMER
890(
891(
892( ----------------------------------------------------------------
893( GERACAO DE UM TREM DE PULSOS COM FREQUENCIA FREQ1 E LARGURA 0.1s
894( ----------------------------------------------------------------
895(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
896 61 FUNCAO PULSO TIMER CLOCK 0.0 1.0 0.15 0.0
897(
898(
899( ----------------------------------------------------------
900( BLOCOS TRACK/HOLD E SAMPLE/HOLD COM UMA SENOIDE AMORTECIDA
901( APLICADA À ENTRADA E CHAVEADOS POR UM TREM DE PULSOS DE
902( FREQUENCIA FREQ1 e LARGURA 150ms
903( ----------------------------------------------------------
904(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
905 71 T/HOLD SINAL4 T/H
906 CLOCK T/H
907(
908 72 S/HOLD SINAL4 S/H
909 CLOCK S/H
910(
911(EFVAL (stip) (vdef) ( d1 )
912DEFVAL T/H 0.0
913DEFVAL S/H 0.0
914(
915(
916( ----------------------------
917( BLOCOS TERMINADORES DE SAIDA
918( ----------------------------
919(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
920 80 SAIDA VMAX
921 81 SAIDA VMIN
922 82 SAIDA DEL10
923 83 SAIDA T/H
924 84 SAIDA S/H
925(
926( OBS: Os blocos tipo SAIDA devem ser conectados na saida de blocos
927( cuja variavel nao e' entrada ou limite de nenhum outro bloco.
928( Isto e' necessario para que a logica do programa identifique
929( corretamente se nao foi esquecida nenhuma ligacao.
930(
931FIMCDU
932(
933(
934(
935(ncdu) ( nome cdu )
936 0050 TESTE_CDU_05
937(
938( #####################################################################
939( # CDU PARA EXEMPLO DE SIMULACAO DE RELAY #
940( # ATRAVES DE BLOCOS ELEMENTARES #
941( # E USANDO BLOCO SELET2 #
942( # #
943( # Este CDU apresenta exemplo de uso dos seguintes tipos de bloco : #
944( # - IMPORT subtipo CDU #
945( # - SOMA #
946( # - MULTPL #
947( # - FUNCAO subtipos ABS, PULSO e RETA #
948( # - SAIDA #
949( # - SELET2 #
950( # #
951( #####################################################################
952(
953(
954( --------------------------------
955( SINAIS IMPORTADOS DE OUTROS CDUs
956( --------------------------------
957(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
958 1 IMPORT CDU INP1 14
959 2 IMPORT CDU INP2 15
960 3 IMPORT CDU INP3 12
961 4 FUNCAO ABS INP3 ABSINP
962 5 FUNCAO RETA ABSINP CONTR 2.0 -1.0
963(
964( OBS: Os blocos IMPORT subtipo CDU referenciam no campo p1 um local de
965( medicao ( ver codigo DLOC ).
966(
967(
968( ----------------------
969( REPRESENTACAO DO RELAY
970( ----------------------
971(
972( +---------+
973( INP1 ------->| | OUTREL
974( | |------>
975( INP2 ------->| |
976( +---------+
977( ^
978( |
979( CONTR
980(
981( Os sinais INP1 e INP2 serao usados como entradas do RELAY.
982( O sinal CONTR sera' usado para controle do RELAY :
983( CONTR <= 0 --> OUTREL = INP1
984( CONTR > 0 --> OUTREL = INP2
985(
986( ** Traducao do sinal de controle para um valor logico ( 0 OU 1 )
987(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
988 21 FUNCAO PULSO CONTR LOGIC 0.0 1.0 999.0 1.0
989(
990( ** Obtencao da negacao do sinal logico
991(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
992 22 FUNCAO RETA LOGIC NLOGIC -1.0 1.0
993(
994( ** Combinacao das entradas com os sinais logicos para obter o RELAY
995(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
996 23 MULTPL INP1 PROD1
997 NLOGIC PROD1
998 24 MULTPL INP2 PROD2
999 LOGIC PROD2
1000 25 SOMA PROD1 OUTREL
1001 PROD2 OUTREL
1002(
1003(
1004( ** A partir da versao V03-01/96 o RELAY pode ser representado diretamente
1005( pelo bloco tipo SELET2.
1006(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
1007 26 SELET2 PROD1 OUTSEL
1008 PROD2 OUTSEL
1009 CONTR OUTSEL
1010( obs: Convem notar que o comportamento do bloco SELET2 do ANATEM e do
1011( elemento RELAY do TRANSDIR sao diferentes quando a entrada e'
1012( exatamente igual a zero ( SELET2 seleciona a primeira entrada e
1013( RELAY seleciona a segunda entrada ).
1014(
1015(
1016( ----------------------------
1017( BLOCOS TERMINADORES DE SAIDA
1018( ----------------------------
1019(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
1020 30 SAIDA OUTREL
1021 31 SAIDA OUTSEL
1022(
1023FIMCDU
1024(
1025(
1026(
1027(ncdu) ( nome cdu )
1028 0060 TESTE_CDU_06
1029(
1030( #####################################################################
1031( # CDU PARA EXEMPLO DE PROBLEMAS NA INICIALIZACAO AUTOMATICA #
1032( # #
1033( # CASO 1 - Canais paralelos com inicializacao da saida para #
1034( # a entrada do CDU #
1035( # #
1036( # CASO 2 - Realimentacao com inicializacao da entrada para #
1037( # saida do CDU #
1038( # #
1039( # Este CDU apresenta exemplo de uso dos seguintes tipos de bloco : #
1040( # - ENTRAD #
1041( # - IMPORT subtipo CDU #
1042( # - SOMA #
1043( # - LEDLAG #
1044( # - GANHO #
1045( # - FRACAO #
1046( # - SAIDA #
1047( # #
1048( # E' exemplificada tambem a definicao de valor inicial conhecido #
1049( # de uma variavel atraves da instrucao DEFVAL sem subtipo e a #
1050( # a inicializacao de uma variavel com o valor de outra variavel #
1051( # do mesmo CDU atraves da instrucao DEFVAL subtipo VAR. #
1052( # #
1053( #####################################################################
1054(
1055(
1056( --------------------------------
1057( SINAIS IMPORTADOS DE OUTROS CDUs
1058( --------------------------------
1059(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
1060 1 IMPORT CDU INP1 13
1061(
1062( OBS: Os blocos IMPORT subtipo CDU referenciam no campo p1 um local de
1063( medicao ( ver codigo DLOC ).
1064(
1065(
1066( -------------------------------------------------------------------
1067( CASO 1 - CANAIS PARALELOS COM INICIALIZACAO DA SAIDA PARA A ENTRADA
1068( DO CDU
1069( -------------------------------------------------------------------
1070(
1071( SENTIDO DE
1072( INICIALIZACAO
1073( +----------+ <---------------
1074( | K1 | X2
1075( +------>| -------- |------>---+
1076( | | 1 + S T1 | |
1077( | +----------+ | -
1078( X1 | --- X4
1079( ----->----------+ | + |------+------->
1080( | --- |
1081( ^ | +----------+ | + |
1082( . | | K2 | X3 | |
1083( .D +------>| -------- |------>---+ |
1084( .E | 1 + S T2 | |
1085( .F +----------+ |
1086( .V |
1087( .A |
1088( +--+ .L |
1089( / S | . +---------+ |
1090( / A | X5 | 1 | |
1091( * I |---------<-------| ------- |--------<----------+
1092( \ D | | K2 - K1 |
1093( \ A | +---------+
1094( +--+
1095(
1096( No esquema acima se as variaveis X1, X2 e X3 sao desconhecidas e
1097( a variavel X4 e' conhecida a inicializacao do CDU deve se fazer no
1098( sentido indicado ( da saida para a entrada do CDU ).
1099(
1100( No entanto como o programa faz uma inicializacao bloco a bloco e'
1101( impossivel no diagrama acima prosseguir a inicializacao automatica
1102( alem do bloco somador pois este possui duas entradas desconhecidas
1103( ( X2 e X3 ).
1104(
1105( Como sabemos que o ganho em regime resultante dos dois canais
1106( paralelos corresponde a K2-K1 pode-se calcular o valor inicial da
1107( variavel X1 usando um bloco auxiliar com ganho 1/(K2-K1) . O valor
1108( inicial da variavel X5 e' transportado para a variavel X1 atraves
1109( da instrucao DEFVAL.
1110(
1111(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
1112 11 ENTRAD REF1
1113 12 SOMA +INP1 X1
1114 -REF1 X1
1115(
1116(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
1117 13 LEDLAG X1 X2 1.0 0.0 1.0 1.0
1118 14 LEDLAG X1 X3 1.1 0.0 1.0 0.2
1119 15 SOMA -X2 X4
1120 +X3 X4
1121(
1122(EFVAL (stip) (vdef) ( d1 )
1123DEFVAL X4 1.0
1124(
1125(
1126( ** bloco auxiliar para inicializacao **
1127(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
1128 21*FRACAO X4 X5 1.0 0.0 1.1 -1.0
1129 22*SAIDA X5
1130( obs: Notar o caracter "*" na coluna 5 dos registros referentes aos
1131( blocos 21 e 22, sinalizando que estes blocos serao utilizados
1132( apenas na inicializacao do CDU, sendo ignorados durante a
1133( simulacao no tempo.
1134(
1135(EFVAL (stip) (vdef) ( d1 )
1136DEFVAL VAR X1 X5
1137(
1138(
1139(
1140( -------------------------------------------------------------------
1141( CASO 2 - REALIMENTACAO COM INICIALIZACAO DA ENTRADA PARA A SAIDA
1142( DO CDU
1143( -------------------------------------------------------------------
1144(
1145( SENTIDO DE
1146( INICIALIZACAO
1147( --------------->
1148(
1149( +----------+
1150( X6 + --- X7 | K1 | X8
1151( ----+------>| + |------>| -------- |--------+------>-------
1152( | --- | 1 + S T1 | |
1153( | - ^ +----------+ | ^
1154( | | | .
1155( | | | . D
1156( | | X9 +----+ | . E
1157( | +------------| K2 |<----------+ . F
1158( | +----+ . V
1159( | . A
1160( | . L
1161( | . +--+
1162( | +-----------+ . | S \
1163( | | K1 | X10 | A \
1164( +------------------>| --------- |-------->-----------| I *
1165( | 1 + K1 K2 | | D /
1166( +-----------+ | A /
1167( +--+
1168(
1169( No esquema acima se as variaveis X7, X8 e X9 sao desconhecidas e
1170( a variavel X6 e' conhecida a inicializacao do CDU deve se fazer no
1171( sentido indicado ( da entrada para a saida do CDU ).
1172(
1173( No entanto como o programa faz uma inicializacao bloco a bloco e'
1174( impossivel no diagrama acima prosseguir a inicializacao automatica
1175( alem do bloco somador pois este possui uma entrada ( X9 ) e a saida
1176( ( X7 ) desconhecidas.
1177(
1178( Como sabemos que o ganho em regime resultante do bloco realimentado
1179( corresponde a K1/(1+K1K2) pode-se calcular o valor inicial da varia-
1180( vel X8 usando um bloco auxiliar com ganho K1/(1+K1K2). O valor
1181( inicial da variavel X10 e' transportado para a variavel X8 atraves
1182( da instrucao DEFVAL.
1183(
1184(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
1185 31 ENTRAD REF2
1186 32 SOMA +INP1 X6
1187 -REF2 X6
1188(
1189(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
1190 33 SOMA +X6 X7
1191 -X9 X7
1192 34 LEDLAG X7 X8 2.0 0.0 1.0 1.0
1193 35 GANHO X8 X9 0.5
1194(
1195(EFVAL (stip) (vdef) ( d1 )
1196DEFVAL X6 1.0
1197(
1198(
1199( ** bloco auxiliar para inicializacao **
1200(
1201( K1
1202( K1 = 2.0 K2 = 0.5 ===> ----------- = 1.0
1203( 1 + K1 K2
1204(
1205(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
1206 41*GANHO X6 X10 1.0
1207 42*SAIDA X10
1208( obs: Notar o caracter "*" na coluna 5 dos registros referentes aos
1209( blocos 41 e 42, sinalizando que estes blocos serao utilizados
1210( apenas na inicializacao do CDU, sendo ignorados durante a
1211( simulacao no tempo.
1212(
1213(EFVAL (stip) (vdef) ( d1 )
1214DEFVAL VAR X8 X10
1215(
1216FIMCDU
1217(
1218(
1219999999
Sinais exportados para outros CDUs no modo ANAC¶
O trecho a seguir destaca exemplos de sinais exportados para outros CDUs neste caso exemplo:
1( ------------------------------------------
2( SINAIS A SEREM EXPORTADOS PARA OUTROS CDUs
3( ------------------------------------------
4(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
571 EXPORT CDU SINAL1
672 EXPORT CDU SINAL1
773 EXPORT CDU SINAL1
874 EXPORT CDU SINAL2
975 EXPORT CDU SINAL3
1076 EXPORT CDU SINAL4
11(
12( OBS: Note que se um mesmo sinal de CDU for exportado para varios
13( lugares devera' haver um bloco EXPORT para cada bloco IMPORT
14( correspondente. Portanto e' necessario criar um local de medicao
15( referenciando cada bloco EXPORT subtipo CDU.
Sinais importados de outros CDUs no modo ANAC¶
O trecho a seguir destaca exemplos de sinais importados de outros CDUs neste caso exemplo:
1( --------------------------------
2( SINAIS IMPORTADOS DE OUTROS CDUs
3( --------------------------------
4(nb)i(tipo) (stip)s(vent) (vsai) ( p1 )( p2 )( p3 )( p4 ) (vmin) (vmax)
5 1 IMPORT CDU INP1 14
6 2 IMPORT CDU INP2 15
7 3 IMPORT CDU INP3 12
Definição de locais de exportação/importação de sinais de CDUs¶
Para viabilizar a importação/eportação de sinais entre CDUs no modo ANAC há necessidade de criar locais remotos de medição, conforme ilustrado a seguir:
1(===============================================================================
2( LOCAIS DE MEDICAO
3(===============================================================================
4DLOC
5(Lc) (Tipo)( El )( Pa)Nc( Ex)Gr(Bl)
611 CDU 10 71 ( SINAL1 - TESTE_CDU_01 )
712 CDU 10 72 ( SINAL1 - TESTE_CDU_01 )
813 CDU 10 73 ( SINAL1 - TESTE_CDU_01 )
914 CDU 10 74 ( SINAL2 - TESTE_CDU_01 )
1015 CDU 10 75 ( SINAL3 - TESTE_CDU_01 )
1116 CDU 10 76 ( SINAL4 - TESTE_CDU_01 )
1221 CDU 20 81 ( OUT3 - TESTE_CDU_02 )
1322 CDU 20 82 ( OUT4 - TESTE_CDU_02 )
1423 CDU 20 83 ( OUT5 - TESTE_CDU_02 )
15(
16999999
Exemplos de funções construídas com blocos elementares¶
A seguir são apresentados alguns resultados de funções construídas neste caso exemplo usando os blocos elementares da estrutura de CDU.
Aviso
Mais detalhes podem ser consultados no arquivo de exemplo “C:\Cepel\Anatem\vXX_YY_ZZ\EXEMPLOS\08_ANACDU\TEST_CDU.STB”
Sendo vXX_YY_ZZ o número da versão instalada.