Diseño y Desarrollo
Cuando programa gráficamente en el diagrama de clases, sus cambios provocan automáticamente adaptaciones para los objetos en el POU ver y Dispositivos vista. Los nuevos objetos se insertan en su estructura básica y los objetos existentes se adaptan. Por ejemplo, puede insertar declaraciones en las POU a través del diagrama de clases.
Esto le permite diseñar la arquitectura de su aplicación en un diagrama de clases y obtener las POU adecuadas de forma sincrónica. Luego, complementa las implementaciones en las POU.
Los siguientes pasos crean un diagrama de clases para una aplicación.
1. Crear un proyecto
- Abierto CODESYS. 
- Hacer clic . 
- Especifique el nombre y la ubicación, y seleccione el Proyecto estándar plantilla. - los Proyecto estándar se abre el cuadro de diálogo. 
- Para PLC_PRG en, Selecciona el Texto estructurado (ST) lenguaje de implementación. - Se crea el proyecto. 
- Selecciona el Solicitud código y haga clic . - los Agregar diagrama de clase UML se abre el cuadro de diálogo. 
- Especifique el nombre del objeto - CD_Simple.
- Selecciona el Importar la estructura del proyecto al diagrama de clase activo opción. 
- Hacer clic Agregar.  
- Guardar el proyecto como - SimpleMachine.project.
2. Identificación de interfaces
Las interfaces determinan métodos y propiedades públicamente visibles para implementar clases.
- Abre el editor del diagrama de clases. - CD_Simple.
- En el Caja de herramientas ver, seleccione una interfaz. 
- Arrastre la interfaz al editor. - los Añadir interfaz se abre el cuadro de diálogo. 
- Especificar el nombre - IBaseMachine. Hacer clic Agregar para salir del diálogo.
- En el Caja de herramientas ver, seleccione un método. 
- Arrastre el método a la interfaz. - los Agregar método de interfaz se abre el cuadro de diálogo. 
- Especificar el nombre - DoIt.
- Especifique el tipo de devolución - BOOL. Hacer clic Agregar para salir del diálogo.
- En el Caja de herramientas ver, seleccione una propiedad. 
- Arrastre la propiedad a la interfaz. - los Agregar propiedad de interfaz se abre el cuadro de diálogo. 
- Especificar el nombre - StateNumber.
- Especifique el tipo de devolución - INT. Hacer clic Agregar para salir del diálogo. 
Sugerencia
Para obtener más información acerca de las interfaces, consulte: Objeto: Interfaz y Objeto: Propiedad de interfaz
3. Identificar clases e implementar una interfaz
Diferentes clases que implementan la misma interfaz contienen los mismos métodos y propiedades. Si la interfaz se cambia o amplía más tarde, esto afectará a todas las clases de implementación.
- Abre el editor del diagrama de clases. - CD_Simple.
- En el Caja de herramientas ver, seleccione una clase. 
- Arrastra la clase al editor. - los Añadir POU se abre el cuadro de diálogo. 
- Especificar el nombre - FB_Machine.
- Selecciona el bloque de funciones opción. 
- Para el idioma de implementación, seleccione Diagrama de estado UML (SC). Hacer clic Agregar para salir del diálogo. - La clase - FB_Machinese añade al diagrama de clases.
- Seleccione la clase. - Los iconos de comando se muestran encima de la clase. 
- Haga clic en el  Realización ( Realización (- IMPLEMENTS) icono de comando y haga clic en el- IMachineinterfaz.- los Seleccione el idioma de implementación se abre el cuadro de diálogo. 
- Seleccione Texto estructurado (ST). - La clase - FB_Machinehereda las propiedades y métodos de la interfaz y por lo tanto implementa la interfaz- IMachine. 
4. Generalizar
En general, una clase hereda las propiedades y métodos de otra clase.
- Abre el editor del diagrama de clases. - CD_Simple.
- En el Caja de herramientas ver, seleccione una clase. 
- Arrastra una clase al editor. - los Añadir POU se abre el cuadro de diálogo. 
- Especificar el nombre - FB_Machine_A.
- Selecciona el se extiende opción y especificar la clase - FB_Machineen el campo de entrada.- El bloque de funciones - FB_Machinese extiende y por lo tanto es una generalización de- FB_Machine_A.
- Para el idioma de implementación, seleccione Diagrama de estado UML (SC). Hacer clic Agregar para salir del diálogo. - La clase - FB_Machine_Ase crea en el diagrama de clases. Existe una generalización entre las clases.- FB_Machiney- FB_Machine_A.- FB_Machine_Ahereda sus propiedades y métodos de- FB_Machine.
- En el Caja de herramientas ver, seleccione el Declaración de variables elemento y arrástrelo a la clase - FB_Machine_A.- los Declarar variable se abre el cuadro de diálogo. 
- Especificar el nombre - iCountery el tipo de datos- INT. Hacer clic OK para salir del diálogo.- Ahora la clase - FB_Machine_Atiene sus propias variables además de las propiedades y métodos heredados.
- En la clase - FBMachine_A, seleccione el método- DoIt()y presione el botón Supr llave.- El método se elimina del diagrama, así como el objeto en el Dispositivos vista. El bloque de función hereditario - FBMachine_Ano necesita su propia implementación especial para el método. En su lugar, llama al método- DoItdel bloque de función base- FBMachinecuando sea necesario.- Nota- Cuando llame a métodos, que se asignan a un bloque de función base y se heredan, use el puntero - SUPER. 
Sugerencia
Para más información, ver Ampliación de un bloque de funciones y Puntero: SÚPER.
5. Instanciar
- Abre el editor del diagrama de clases. - CD_Simple.
- Seleccione el programa - PLC_PRG.- Los iconos de comando se muestran encima del programa. 
- Haga clic en el  Composición ( Composición (- VAR) icono de comando y haga clic en el- FB_Machine_Aclase.- los Declaración de variables se abre el cuadro de diálogo. 
- Especificar el nombre - fb_A.- El objeto - fb_Ade la clase- FBMachine_Ase instancia. Ahora, la instancia de la clase en su forma concreta se genera en tiempo de ejecución. 
El diagrama de clases muestra todos los objetos que son relevantes para generar el código de la aplicación. Sin embargo, sobre todo, el diagrama de clases visualiza las relaciones entre los objetos: ¿Quién implementa a quién? ¿Quién hereda de quién? ¿Quién instancia qué? De lo contrario, esta información se oculta en la declaración y, por ejemplo, no se puede ver en el Dispositivos vista.
6. Implementando
- Abra el bloque de funciones - FBMachine.
- Declare las variables del bloque de funciones. - FUNCTION_BLOCK FBMachine IMPLEMENTS IBaseMachine VAR iState: INT; iMachine : INT; END_VAR
- Implementar el bloque de funciones. - iState := iState + 1; // Dummy for control ID 
- Implementar su método - DoIt.- METHOD PUBLIC DoIt : BOOL iMachine := iMachine + 1; // Dummy 
- Implementar el método Get de la propiedad - StateNumberde- FBMachine.- StateNumber := iState; 
- Implementar el método Set de la propiedad - StateNumberde- FBMachine.- iState := StateNumber; 
- Abra el bloque de funciones - FBMachine_A.
- Declare las variables del bloque de funciones. - FUNCTION_BLOCK FBMachine IMPLEMENTS IBaseMachine VAR iCounter: INT; END_VAR 
- Implementar el bloque de funciones. - iCounter := iCounter + 1; 
- Implementar el método Get de la propiedad - StateNumberde- FBMachine_A.- StateNumber := iCounter; 
- Implementar el método Set de la propiedad - StateNumberde- FBMachine_A.- iCounter := StateNumber; 
- Hacer clic . - La aplicación se compila sin errores.  
- Descarga e inicia la aplicación. - Puede monitorear la instancia del bloque de funciones - fb_A.