Red de conocimiento informático - Problemas con los teléfonos móviles - En SIEMENS PLC200, cómo programar para implementar la función de acumulación, por ejemplo, si desea implementar P1*T1+P2*T2+...+Pn*Tn+...

En SIEMENS PLC200, cómo programar para implementar la función de acumulación, por ejemplo, si desea implementar P1*T1+P2*T2+...+Pn*Tn+...

TITLE=P1-P5 es VB200 a VB210, T1-T5 es VB210-VB220

BEGIN

Red 1 // Título de red

// VB200 crea un puntero a AC1, VB210 crea un puntero a AC2

LD SM0.0

MOVD &VB200, AC1

MOVD &VB210, AC2

p>

Red 2

// Ejecutar 5 ciclos

LD SM0.0

PARA VW100, 1, 5

Red 3

LD SM0.0

MOVW *AC1, VW400 //VB200((N-1)*2) N=1 a 5

+D 2, AC1 //AC1+2, mueve el puntero a la siguiente palabra

MOVW *AC2, VW402 ////VB210((N-1)*2) N=1 a 5

+D 2, AC2 ////AC2+2, mueve el puntero a la siguiente palabra

MOVW VW400, VW404

*I VW402 , VW404

+I VW404, VW406

Red 4

SIGUIENTE

Red 5 // El bucle termina, VW406 es P1* T1+P2*T2+ ..+Pn*Tn resultado

END_ORGANIZATION_BLOCK

SUBROUTINE_BLOCK SBR_0:SBR0

TITLE=Comentario de subrutina

BEGIN

Red 1 // Título de la red

// Comentario de la red

END_SUBROUTINE_BLOCK

INTERRUPT_BLOCK INT_0:INT0

TITLE=Interrumpir comentarios del programa

BEGIN

Red 1 // Título de la red

// Comentarios de la red

END_INTERRUPT_BLOCK

Principal Utiliza bucle FOR y direccionamiento de puntero