Communication série entre un ordinateur industriel et un système de contrôle distribué maître-esclave monopuce

Jan 05, 2022

Laisser un message

Conception de l’interface matérielle Le système de contrôle décrit dans ce document est composé d’un ordinateur industriel et de plusieurs ordinateurs at89C2051 à puce unique. La transmission de données entre maître et esclave utilise une communication série asynchrone. Étant donné que le port de communication série de l’ordinateur industriel est une interface RS-232C, son niveau logique est symétrique au sol, ce qui est différent de la sortie de niveau TTL par le port série du micro-ordinateur monopuce AT89C2051. Par conséquent, il est nécessaire d’assurer une transmission de données fiable entre les deux. Un convertisseur de niveau doit être connecté à la ligne de communication. Les puces de convertisseur de niveau courantes incluent les puces ICL232 et MAX232. Ce texte utilise la puce de conversion de niveau MAX232.

Circuit de communication informatique monopuce multiple 2 conception logicielle 2.1 AT89C2051 ordinateur monopuce fonction de communication multi-ordinateur AT89C2051 port série de micro-ordinateur monopuce a: tampon d’envoi série / tampon de réception (SBUF), registre de contrôle de port série (SCON), registre de fonction spéciale (PCON). Il existe 4 modes de travail en réglant SCON, parmi lesquels les modes de travail 2 et 3 conviennent à la communication multi-ordinateurs. Le mode de communication série 3 du micro-ordinateur monopuce AT89C2051 est un mode de communication asynchrone de données 9 bits avec un débit en bauds variable, et est également le mode le plus largement utilisé dans la communication multi-ordinateurs à l’heure actuelle. Ici, AT89C2051 transmet une trame d’information avec 11 bits au total: 1 bit de départ, 8 bits de données, 1 bit peut être programmé pour être le 9ème bit de « 1 » ou « 0 » et 1 bit d’arrêt, parmi lesquels le neuvième bit de données peut être utilisé comme bit de parité, et peut également être utilisé comme indicateur d’identification pour « address frame » et « data frame ».

Fonction de communication informatique industrielle L’ordinateur industriel est équipé d’un port de communication asynchrone série (l’adresse du port COM1 est 3f8H, l’adresse du port CM2 est 2f8H), et le récepteur/émetteur asynchrone universel (UART) sur la carte d’interface est un morceau de 8250 ou un morceau de structure, méthode de programmation Même puce que 8250 avec 10 registres à l’intérieur. Programmation de communication série PC, les programmeurs n’ont besoin d’utiliser que des commandes d’entrée/ sortie pour entrer / sortir les registres dans l’UART, afin de définir le débit en bauds de communication série, le format de transmission de données, si vous autorisez les interruptions, l’envoi ou la réception de données Attendre.

Une nouvelle méthode de communication multi-machines Dans la méthode de communication multi-machines conventionnelle, le bit de parité a été utilisé comme bit caractéristique du code d’adresse d’envoi (numéro de canal) ou des données, et la vérification de la communication de données adopte la méthode d’accumulation et de vérification. L’utilisation de cette méthode augmente non seulement la surcharge logicielle et la quantité de données pour la communication, mais affecte également les performances en temps réel. 2.3.1 Principes de base de la communication

Les données sont 5 2 - réglées sur « 0 » directement, et rendre +, clair, puis quelle que soit la valeur des données du neuvième bit (+9 8), l’ordinateur inférieur peut générer une interruption de réception série, de sorte que le neuvième bit peut également être utilisé comme bit de parité de détection d’erreur. Par exemple, lorsque l’ordinateur supérieur communique avec un ordinateur inférieur, le code d’adresse est envoyé en premier, puis la commande data est envoyée une fois la négociation réussie. À ce stade, le FLAG de l’ordinateur inférieur est réglé sur « 1 », ce qui équivaut à la « poche » de la machine a été ouverte. L’ordinateur récupère en permanence les données de l’ordinateur en position inférieure et émet une commande pour restaurer le FLAG dans l’ordinateur en position inférieure à « 0 » après avoir récupéré sans erreur pour réaliser « fermer la poche ».

Lorsque l’ordinateur inférieur envoie des données à l’ordinateur supérieur, il envoie d’abord la longueur des données à transmettre, puis commence à envoyer des données valides.

Il est convenu que 00H est la commande fetch, 0FFH est la commande reset, la communication adopte une parité égale et le débit en bauds est réglé sur 2400b / s. L’organigramme de la fonction principale du PC est donné ci-dessus, comme indiqué. Le programme de communication PC est écrit en langage VC++6.0. Le module de communication du micro-ordinateur monopuce inférieur comprend le programme principal et le programme de service d’interruption, et son organigramme de programme est affiché dans et respectivement. Comment réaliser la communication un-à-un entre l’ordinateur supérieur et l’ordinateur inférieur avec l’adresse d’envoi correspondante? La méthode logicielle peut être utilisée. La méthode spécifique est la suivante: une variable d’indicateur FLAG est configurée dans le programme informatique inférieur et FLAG est défini sur « 0 » lors de l’initialisation. Lorsque l’ordinateur supérieur envoie des données, chaque ordinateur inférieur génère une interruption de réception et la routine de service d’interruption juge d’abord la valeur du FLAG local. . Si FLAG est « 0 », comparez les données reçues avec l’adresse locale, si elle est cohérente, définissez FLAG sur 6 », et renvoyez le code d’adresse local en réponse, sinon sortez immédiatement de la routine du service d’interruption; si FLAG est « 1 » , indiquant que la commande de contrôle envoyée par l’ordinateur supérieur est transférée au programme de traitement de commande correspondant, et sort finalement de la routine de service d’interruption et retourne au programme principal. Une fois la communication entre l’ordinateur supérieur et l’ordinateur inférieur terminée, le FLAG de l’ordinateur inférieur est défini sur « 0 ». Si la négociation échoue, l’ordinateur supérieur envoie une commande de réinitialisation à l’ordinateur inférieur, puis redémarre la négociation, si elle échoue trois fois, elle passera au traitement des erreurs.

Méthode de mise en œuvre et mesures de fiabilité des logiciels informatiques industriels (1)Numérotez chaque ordinateur inférieur et utilisez-le comme code d’adresse de l’ordinateur.

Conclusion Cet article ne décrit qu’une seule méthode d’interface série de système de contrôle distribué, mais il existe de nombreuses méthodes d’interface de communication entre chaque machine, telles que: connexion directe du port série (lorsque la distance est courte), connexion par modem, etc. En termes de programmation logicielle, la machine esclave est directement écrite dans le langage d’assemblage du micro-ordinateur monopuce; et le module de sous-routine de communication de l’ordinateur industriel peut également être implémenté dans une variété de langues. Par conséquent, dans la conception spécifique du système, l’une des méthodes peut être sélectionnée en fonction de la situation réelle, et la technologie de détection et de correction d’erreur peut être prise en compte dans la programmation, et une communication fiable peut être complétée.

Envoyez demande