Programar PAC Opto22 Usando FORTH En Linux (3 / 4 étapes)

Étape 3: ESTRUCTURA GENERAL DE UN PROGRAMA

ESTRUCTURA GENERAL DE UN PROGRAMA

Ya teniendo una herramienta basica para gestion del PAC, se procedio un indagar un poco mas fr como es la estructura de un programa para Opto22.La de PAC informacion acquis fue la siguiente :

  • Los archivos con .crn1 extension, .crn2, .crn3, deben como todos tener
    nombre como se « bautizo » el programa. * El archivo .crn1 contiene una linea : FILENAME. " PNAME "; Donde PNAME es el nombre con que se "bautizo el programa. Las otras lineas de este archivo aucun cambiaron nunca con diferentes programas que se crearon

  • El archivo .crn2 contiene los nombres de las « tareas » que conforman ONU
    Programa, las variables que se utilizan, y la asignacion de pins I/O

  • El quelle archvo .crn3 inicializa las tareas, las el l’y dans la variables matérielles de I / 0

  • Delphine existir un archivo con extension .ccd para cada una de las tareas
    que conforman el programa, cuyo nombre es el que aparece en el archivo .crn2

Se desarrollo ONU programa ejemplo « PARPADEO », que cuenta con dos tareas : una enciende y apaga una salida e numérique ou una variable contador, la otra tarea revisa si la variable es exactamente divisible entre 5 (modulo 5) y enciende el conduit cuando esta condición es valida, de lo contrario, lo apagara.

PARPADEO.crn1

En este archivo puede notarse la linea de codigo donde esta el nombre del programa, « PARPADEO ». Las demas lineas parecen algun tipo de asignacion de espacios de memoria para el matériel, variables e I/O. Aucun se notaron cambios en estas lineas para diferentes programas hechos y analizados.

DERNIER NOUVEAU $$$. COURIR

: NOM DE FICHIER. " PARPADEO ";

1 $VAR 0 * _HSV_SEMA

1024 $VAR 0 * _HSV_TEMP

200 $VAR 0 * _HSV_INIT_IO

IVAR 0 ^ _HNV_INIT_IO

PARPADEO.crn2

En este archivo se encontraron tres cosas :

-Tareas que conforman el programa : mise sous tension, parpadeolento, _INI_IO. Powerup es una tarea que viene por defecto, aucun puede ser renombrada, ni borrada. parpadeolento fue una tarea creada en el programa e _INIT_IO probablemente es una tarea interna encargada de inicializar el matériel automaticamente al iniciar un programa

-Variables Québec se utilizaron en el programa : variablecontador y variablemodulo

-Alias de los pins del matériel un nombres mas amigables el programa, fr este caso los pins digitales 0 y 7 fueron denominados un alias de los : SALIDA_DIGITAL_1 y SALIDA_DIGITAL_4

0 tâche & _INIT_IO

0 tâche & Powerup

0 tâche & parpadeolento

IVAR 0 ^ variablecontador

IVAR 0 ^ variablemodulo

$0000000000000000... 32769 1.000000 0.000000 0,010000 2001 7F000001 $ MBOARD 0 % RACK_PROPIO SPOINT 0,0 0 % RACK_PROPIO DE SORTIE

POINT 0 ~ SALIDA_DIGITAL_1

SORTIE DE SPOINT 0,0 % 7 RACK_PROPIO

POINT 0 ~ SALIDA_DIGITAL_4

PARPADEO.crn3

Este archivo es un poco largo mas. Al parecer en la parte inicial se crean se agrupan las tareas, los diferentes tipos de variables, fr qui y hacia el final se puede ver la inicializacion de las variables variablecontador y variablemodulo a 0. También puede notarse Qué por defecto los pins digitales estan configurados como entrada « 0 », y los que seran usados como salida delphine escribirse un "1" ($... 0081 pins 0 a 7)

: W_INIT_IO

CONFIG_PORTS

$0000000000000081... PERMET DE RACK_PROPIO % !

"% RACK_PROPIO (1/1)" * _HSV_INIT_IO $MOVE 0 ^ _HNV_INIT_IO

PERMETTRE À % RACK_PROPIO

« Initialisation des variables » * _HSV_INIT_IO $MOVE

0 ^ variablecontador

0 ^ variablemodulo

« « * _HSV_INIT_IO $MOVE

Archivos de tareas (powerup.ccd, parpadeo.ccd)

En estos archivos se encuentra el Código del programa, para cada una de las tareas programadas. En cada archivo se encuentra dos tipos de cosas, hacia el final pueden verset el listado de cada uno de los « bloques » de codigo :

T: T0

MANNEQUIN

0_0

0_1

0_3

0_5

0_7

0_10

T ;

& mise sous tension « T0 SETTASK

Cada uno de estos « bloques » de codigo se encuentra numerado a_b donde a, es el numero de la tarea y b el « id » de dicho bloque de codigo dentro de esta tarea. ESTOS números de bloques corresponden con los números de los bloques mostrados fr la aplicacion nativa y probablemente fils usados para realizar tareas de depuracion paso a paso por bloques. Un ejemplo de ONU bloque de codigo es el siguiente

: 1_1

VRAI

1 LIGNE. NUM

^ variablemodulo

1 <

LAND

SI-4 SINON -3 PUIS SAUTER ;

Puede notarse al comienzo la numeracion del bloque antecedida por: (dos puntos). Luego se ve instruccion de la ligne. NUM antecedida por un numero de linea. ESTOS números de linea corresponde con los números de linea de la aplicacion nativa y probablemente fils usados para realizar tareas de depuracion paso a paso por lineas.

Puede notarse que parte del Código se asemeja un FORTH en donde primero se nombran los operandos y finalmente se opéra con ellos.

El bloque finaliza siempre con una instruccion saut precedida de ; (punto y coma). ESTOS sauter sans fils saltos absolutos, sino relativos.

Articles Liés

Le FORTH est peut-être avec PAC Opto22 et Linux

Le FORTH est peut-être avec PAC Opto22 et Linux

Les contrôleurs industriels: PAC, PLC & LINUXEste proyecto tambien esta disponible en Español haciendo clic aquiSupport de Linux pour quincaillerie industrielle comme PAC ou PLC, dans le cas des marques grands et bien connus est pratiquement inexista
Jeux vidéo programmation in Industrial Machine contrôleur PAC/PLC

Jeux vidéo programmation in Industrial Machine contrôleur PAC/PLC

PROTOCOLE RFBProtocole RFB ou « Remote Frame Buffer » a été créé dans le laboratoire de recherche Olivetti pour gérer des interfaces graphiques à distance. L'idée était de créer un protocole aussi simple que possible, aussi bien matériel que possible
Comment programme un ATtiny85 en utilisant Arduino - programar Como um ATtiny85 usando Arduino

Comment programme un ATtiny85 en utilisant Arduino - programar Como um ATtiny85 usando Arduino

Comment à easly shrink projets simples ?Como diminuir seus projetos mais simples ?ATtiny85 est un logiciel simple à utiliser, pas cher et petit microcontrôleur (8 pieds). Vous pouvez la programmer avec un Arduino et utiliser l'IDE Arduino lui-même à
Arduino ESP8266 Modbus TCP IP Scada industriel Opto22

Arduino ESP8266 Modbus TCP IP Scada industriel Opto22

A rendu l'intégration de l'Arduino + ESP8266 + Opto22 de logiciels, mise en œuvre de ses scada de l'environnement tout au long de la propriété intellectuelle et Modbus TCP Modbus RTU, l'idée est de mettre en place ce matériel dans l'industrie pour la
Citrouille PACS/Pumpkin Pi

Citrouille PACS/Pumpkin Pi

la citrouille PACS a été construit pour le concours de décoration de citrouille radiologie MGH. C'est une station DICOM autonome capable d'afficher plusieurs types standards de radiologies.La citrouille contient un Pi de framboise qui projette des im
Courriel de ligne de commande Linux.

Courriel de ligne de commande Linux.

Mutt a des problèmes avec la dernière ubuntu. Vous cherchez des réponses, peut-être d'utiliser des fichiers backport.--------------------Courriel de ligne de commande Linux peut être une très bonne chose. Par exemple. Si pour quelque raison. vous dev
Linux shell script conversion 3d-vidéo et photos

Linux shell script conversion 3d-vidéo et photos

Ce peu instructable montre comment utiliser le linux-shell pour convertir des fichiers 3d-vidéo et l'image 3d dans un format pour le carton de google.J'ai le rare privilège de posséder un Fuji Real 3D W3. Quand je l'ai acheté il y a quelques années,
Rendre la PAC joystick pointage manquant sur votre ordinateur portable.

Rendre la PAC joystick pointage manquant sur votre ordinateur portable.

Comment ennuyeux c'est lorsque nous manquer le bouchon pour le joystick de pointage dans notre ordinateur portable ? Puis nous allons à l'internet à la recherche d'elle et nous ne trouver, ou passer du temps à essayer de trouver la bonne pour l'ordin
Permet de donner Linux un essai (aka permet d’obtenir ce vieux PC va encore une fois)

Permet de donner Linux un essai (aka permet d’obtenir ce vieux PC va encore une fois)

Vous êtes un de ceux qui se rétractable et cache le mot « LINUX » ? Je sais qu'il y a encore certains d'entre vous là-bas. Ne vous inquiétez pas, votre peur est traitable. Crois-moi. J'étais l'un d'entre vous !Ce Instructable est pour des gens comme
Votre propre commande Linux en 5 minutes

Votre propre commande Linux en 5 minutes

Intéressante réclamation, droite ? Avez-vous jamais voulu passer le mot sur votre petit script qui fait des choses étonnantes dans la collectivité ? Avez-vous déjà pensé que votre script est trop hacky y aller voire la sortie ou est de mauvaise façon
Immobiliers d’écran (linux).

Immobiliers d’écran (linux).

Faire à vos risques et périls car je ne serai pas responsable pour toute question :L'une des plus grandes plaintes que je reçois est le texte écran est trop petit. Je suis d'accord en général. En fait, les ordinateurs plus récents ont la possibilité
Comment faire une machine virtuelle de Linux sur Windows en utilisant VirtualBox

Comment faire une machine virtuelle de Linux sur Windows en utilisant VirtualBox

cette vidéo va vous apprendre comment faire une machine virtuelle de Linux sur un portable Windows 7 en utilisant VirtualBox.S'il vous plaît dire si cette vidéo était bonne. : DCette vidéo a été présentée pour la satisfaction de nos besoins dans un o
Duplication d’ordinateur Linux.

Duplication d’ordinateur Linux.

Ici, vous serez initié aux façons de reproduire un ordinateur Linux Debian. Vous pouvez également utiliser un logiciel commercial, mais nous ne discuterons qu'ici. Serait probablement plus facile d'utiliser clonezilla boot live cd, mais qui prend tou
Super rapide à installer lampe sur CMD ligne Linux

Super rapide à installer lampe sur CMD ligne Linux

Il s'agit de la méthode de ligne de commande plus rapide que j'ai utiliser pour l'installation de la pile LAMP. J'utilise server1 comme un nom d'hôte et 192.168.0.100 pour et IP, utilisez ce que vous utilisez sur votre ordinateur si vous avez un stat