Ce spectacle a été signalé comme propre par l'hôte.
--------------------
01 Introduction
C'est le troisième épisode d'une série de huit parties.
02
Dans l'épisode précédent, nous avons couvert :
* L'histoire précoce des ordinateurs dans le contrôle industriel
* L'histoire précoce des PLC, y compris comment ils ont obtenu leur nom
* Qui sont les principales marques
* À quoi ils ressemblent physiquement
Une description de base de l'architecture de la machine abstraite
Un bref aperçu de ce à quoi ressemble un programme PLC
Le concept de balayage
Les principaux langages de programmation PLC
Les langages de programmation PLC mineurs
La popularité relative de chaque langage de programmation
03
Dans cet épisode, nous commencerons par examiner l'un des premiers PLC de l'époque où ils ont commencé à être largement utilisés.
Je n'essaierai même pas de faire une tentative exhaustive, je me contenterai de donner un aperçu général dans le temps limité dont je dispose ici.
J'ai commencé avec un modèle plus ancien car sa simplicité et ses fonctionnalités limitées permettent une introduction plus facile au sujet.
--------------------
04 Allen Bradley PLC/2
Le contrôleur logique programmable Allen Bradley PLC/2 a été introduit sur le marché en 1977.
Ce n'était pas leur première tentative dans ce domaine, mais leur première véritable réussite.
Je ne suis pas au courant d'une histoire complète de leur gamme de produits précoce, mais l'un de leurs modèles de vente majeurs à l'époque était le PLC2/30.
Cela est également connu sous le nom de leur série 1771.
--------------------
05 Agencement physique
Le module CPU était une grande boîte métallique qui se trouvait à côté de l'armoire d'E/S et y était connecté par un câble.
La rangée d'entrée/sortie (I/O rack) était une boîte avec un devant ouvert et une série de fentes dans lesquelles des boîtes étroites et hautes contenant l'entrée/sortie I/O pouvaient être insérées.
06
Un plan arrière traversait le dos, reliant l'entrée/sortie I/O au processeur central (CPU).
Plusieurs rangées pouvaient être connectées ensemble par des câbles.
Pour le PLC2/30, vous pouviez avoir un maximum de 896 points d'entrée/sortie numériques.
07
Les rangées mesuraient 315 mm de haut, et entre 247 mm et 610 mm de large, avec des rangées disponibles en 4, 8, 12 et 16 fentes.
Le processeur central (CPU) était de la même hauteur que la rangée et approximativement carré en contour.
08
À mesure que la microélectronique a évolué, le module CPU a pu être réduit en taille pour s'adapter dans une fente de la rangée, ce qui est devenu la norme pour les PLC.
--------------------
09 Les électroniques à l'intérieur
Les premiers modèles de PLC/2 utilisaient un processeur de type 8 bits, certaines sources mentionnant un Intel 8080.
10
Ils utilisaient également quatre processeurs AMD 2900 bits slice comme co-processeur logique.
Si vous n'êtes pas familier avec les processeurs bits slice, ce sont des puces qui ressemblent à une tranche verticale de 4 bits à travers un processeur, et qui peuvent être assemblées avec des puces logiques pour former un CPU complet.
Ce sont ceux qui ont été utilisés pour construire des minicomputers.
11
Ils étaient utilisés comme co-processeurs dans les premiers PLC car les microprocesseurs, par eux-mêmes, étaient simplement trop lents pour gérer l'exécution du programme de l'utilisateur rapidement assez pour permettre la taille utile d'un programme.
Un ou plusieurs microprocesseurs étaient également utilisés pour coordonner l'opération globale et la gestion du système.
12
À mesure que les microprocesseurs se sont avérés plus rapides et plus puissants, le besoin de co-processeurs logiques a diminué et ils ont finalement été abandonnés.
Les premières versions utilisaient une mémoire à noyau magnétique.
Plus tard, ils ont basculé vers une sorte de RAM à état solide, probablement une RAM statique de quelque sorte.
13
Les détails sur le type de processeurs à l'intérieur de n'importe quel PLC sont en fait très difficiles à obtenir, car les fabricants ne parlent généralement pas de ce genre de chose.
Ils souhaitent que l'utilisateur le voie comme une simple boîte noire.
--------------------
La Table de Données
Du point de vue d'un programmeur, la chose la plus importante à comprendre en premier est la table de données.
La table de données est la mémoire de données du PLC.
15
Pour un PLC2, c'est un tableau de mots de 16 bits.
Chaque mot est composé de deux octets de 8 bits.
L'adressage pour les bits et les mots est en octal.
16
Pour ceux qui ne les connaissent pas, les nombres octaux suivent un système de comptage qui va de 0 à 7.
Le nombre suivant après 7 est 10.
Le comptage se poursuit ensuite de 11, 12, 13, etc., jusqu'à 17, 20, 21, etc.
Chaque chiffre octal prend exactement 3 bits.
17
Les bits individuels dans la notation PLC2 peuvent être adressés en spécifiant le mot suivi d'une barre oblique, puis le bit.
Par exemple, 030/12 est le 12ème bit du mot 030. N'oubliez pas que c'est de l'octal, donc 12 n'est pas le 12ème bit si vous comptez en décimal.
18 Organisation de la mémoire
Sur le PLC2/30, le tableau de données est organisé comme suit.
19
Les adresses mots 000 à 007 sont la zone de travail du processeur n° 1.
Cela n'est pas accessible par l'utilisateur.
20
Les adresses mots 010 jusqu'à, mais sans inclure, 100 sont la table d'image de sortie.
C'est une image mappée en mémoire des sorties I/O.
De 010 à 077 est pour Rangée 1.
De 020 à 027 est pour Rangée 2.
Ce schéma se poursuit jusqu'à Rangée 7, qui est de 070 à 077.
21
Les adresses de mots de 100 à 107 sont le numéro 2 de la zone de travail du processeur.
Cela n'est également pas accessible par l'utilisateur.
22
Les adresses de mots de 110 jusqu'à, mais sans inclure, 200 sont la table de l'image d'entrée.
C'est une image mappée en mémoire des entrées/sorties.
Cela est agencé de la même manière que la table d'image de sortie, et va de 110 à 177.
De 110 à 117 est pour le rack 1.
De 120 à 127 est pour le rack 2.
Ce schéma continue jusqu'au rack 7, qui est de 170 à 177.
23
Vous remarquerez que le tableau de sortie d'image et le tableau d'entrée d'image semblent se référer aux mêmes fentes de rack.
Ils le font en effet.
La question de savoir à quelle adresse une fente spécifique dans un rack spécifique est associée dépend de la présence ou non d'une carte d'entrée ou d'une carte de sortie dans cette fente.
24
Les adresses 200 à 277 sont pour les valeurs accumulées du minuteur/compteur.
Une valeur accumulée est le temps ou le décompte actuel.
25
Les adresses 300 à 377 sont pour les valeurs prédéfinies du minuteur/compteur.
Une valeur prédéfinie est le temps ou le décompte cible qui, lorsqu'il est atteint, provoque l'indication par le minuteur ou le compteur qu'il a atteint la valeur souhaitée.
26
La mémoire au-dessus de 400 peut être configurée pour la diviser en une zone de stockage de données et une zone de programme utilisateur.
La zone de stockage des données est l'endroit où vous stockeriez les données dont votre programme a besoin pour utiliser, qui ne font pas partie de l'E/S ou des compteurs de temps.
Vous devez trouver le bon équilibre entre les données utilisateur et la taille du programme.
27
Il y a diverses choses qui peuvent être modifiées et configurées par rapport à ce qui précède, mais je ne vais pas approfondir cela, car ce n'est pas un tutoriel sur le PLC2.
=
Vous devriez cependant avoir une idée assez claire de la mémoire d'un modèle précoce de PLC.
Les choses à comprendre sont que les E/S sont mappées à des adresses mémoire, et
différentes plages de mémoire sont utilisées pour différents usages.
28
Toute la gestion de la mémoire était manuelle.
Il était laissé à l'utilisateur de suivre quelles adresses mémoire étaient à utiliser pour quels usages.
Allen Bradley a gentiment fourni des formulaires sur papier que vous pourriez photocopier et utiliser pour planifier et documenter à quoi chaque adresse serait utilisée.
Une partie du travail du programmeur consistait à utiliser la mémoire de manière efficace et logique, tout en laissant de la place pour des modifications futures.
--------------------
Le programme utilisateur
Le programme utilisateur est composé d'instructions.
Chaque instruction prend généralement un mot de mémoire.
Cependant, les instructions complexes peuvent prendre jusqu'à 8 mots de mémoire.
30
Il existe un programme principal.
Vous pouvez considérer cela comme la fonction "main" en C.
Si vous ne trouvez pas cette analogie utile, pensez simplement que c'est là que commence votre programme.
Le programme principal se poursuit avec un échelon après l'autre jusqu'à ce qu'il atteigne la déclaration FIN.
31
Il y a aussi une zone de sous-routine.
Le programme principal appelle une sous-routine en utilisant une instruction de saut vers une sous-routine, ou JSR.
Le terminal de programmation T3
Lorsque le PLC2 est sorti, des objets comme les ordinateurs portables étaient encore loin dans le futur.
Même le premier PC portable Compaq à style valise n'était pas encore là depuis plusieurs années.
En effet, le premier PLC/2 est sorti peu de temps après le premier kit PC Altair.
33
Le codage était donc initialement effectué à l'aide d'un terminal de programmation spécial connu sous le nom de T3.
Le T3 était une boîte de la taille d'une valise avec un petit écran CRT à l'extrémité et un clavier attaché en dessous de l'écran.
Si cela ressemble aux premiers ordinateurs portables, gardez à l'esprit que cela les a précédés de plusieurs années.
34
Le clavier n'était pas un machine à écrire ou un style QWERTY.
Il disposait d'un clavier à membrane avec des symboles graphiques.
Rappelez-vous l'épisode précédent sur les diagrammes de contrôle utilisant des relais et comment ils étaient documentés à l'aide de symboles schématiques sur les dessins.
Le clavier du terminal T3 avait des symboles correspondant à une version simplifiée et modifiée des symboles utilisés dans ces dessins schématiques.
35
Lorsque qu'un programmeur appuyait sur l'un de ces symboles sur le clavier, le symbole correspondant apparaissait à l'écran à l'emplacement du curseur actuel.
Le programmeur pouvait alors saisir l'adresse de données à laquelle le symbole devait correspondre en utilisant la partie numérique du clavier.
36
Un ingénieur, un technicien ou un électricien pouvait ainsi créer et saisir des programmes dans un environnement entièrement graphique qui utilisait ses connaissances existantes sur le contrôle à l'aide de composants matériels.
Ils ne le considéraient pas comme la programmation d'un ordinateur, ils le voyaient comme quelque chose de complètement différent et sans rapport avec les ordinateurs.
37
La programmation avait lieu avec le T3 connecté au PLC pendant que le PLC était en mode programme.
Les instructions étaient saisies directement depuis le terminal dans la mémoire du PLC.
Les programmes pouvaient être sauvegardés ou restaurés sur une bande magnétique.
Le programme s'exécutait lorsque le PLC était mis en mode exécution.
38
De plus, le terminal T3 permettait le débogage en ligne des programmes.
Lorsque le T3 était connecté en mode fonctionnement, le diagramme en échelle se mettait à jour en direct.
Lorsque une condition logique était vraie, elle était mise en évidence.
Lorsque la condition logique était fausse, elle était affichée dans un état non mis en évidence.
39
En observant une barre spécifique, vous pouviez voir si la série graphique attendue de toutes les barres était mise en évidence selon un motif qui aboutirait à la sortie finale de la barre, vraie ou fausse comme prévu.
Cela était un outil de dépannage inestimable pour trouver à la fois les bogues logiciels et les pannes matérielles.
Les terminaux de programmation sont devenus une partie indispensable de l'équipement essentiel d'un électricien en maintenance industrielle.
40
Finalement, avec la disponibilité des ordinateurs portables et plus tard des ordinateurs portables, le T3 est devenu obsolète et ces fonctions ont été transférées à un logiciel qui fonctionnait sur des PC standards.
Cependant, ils fonctionnent encore essentiellement de la même manière.
Des capacités supplémentaires ont été ajoutées, telles que la possibilité d'écrire des programmes sans être connecté au PLC.
Des étiquettes descriptives et des commentaires pourraient être ajoutés aux adresses mémoire pour les documenter et faciliter la lecture du programme.
Les fonctions de croisement rendraient plus facile la recherche des adresses utilisées pour quoi que ce soit.
etc.
--------------------
41 Instructions
Je vais maintenant passer en revue les types d'instructions qui étaient disponibles.
Je ne vais pas essayer d'expliquer tout cela, mais cela devrait au moins vous donner une idée vague de la façon dont ils étaient programmés.
J'utiliserai les noms d'Allen Bradley pour ces instructions, ce que je dois souligner ne correspond pas à ce que les autres fabricants appellent les leurs.
Instructions de type relais n° 42
Ce sont des instructions booléennes et se composent des éléments suivants.
Instructions d'entrée n° 43
Ces instructions examinent les bits en mémoire et produisent un état logique en fonction de la valeur du bit qu'elles adressent.
Les instructions d'entrée commencent à gauche de la barre et avancent vers la droite au fur et à mesure que d'autres sont ajoutées.
Vérifier sur - C'est vrai lorsque le bit adressé est défini à 1.
Vérifier hors - C'est vrai lorsque le bit adressé est défini à 0.
Instructions de sortie n° 44
Ces bits de commande s'allument ou s'éteignent en fonction de la somme des conditions de logique binaire qui les précèdent.
Les instructions de sortie sont indiquées à droite de chaque échelon.
Il doit toujours y avoir au moins une instruction de sortie.
Sortie Energise - Lorsqu'elles sont vraies, les conditions de logique qui les précèdent définissent un bit à 1.
Lorsqu'elles sont fausses, elles définissent un bit à 0.
45
Sortie Verrouillage - Lorsqu'elle est vraie, le bit est activé.
Lorsqu'elle est fausse, elle ne fait rien.
Sortie Déverrouillage - Lorsqu'elle est vraie, le bit est désactivé.
Lorsque c'est faux, il ne fait rien.
46 Instructions de branchement
Celles-ci ne font rien par elles-mêmes, mais elles établissent des connexions de câblage sur le diagramme.
Elles sont importantes pour permettre aux instructions listées ci-dessus d'être placées en parallèle sur la même barre afin qu'elles puissent faire des choses comme spécifier des conditions OR.
Vous pouvez les considérer comme transformant essentiellement un examen allumé/éteint en une instruction OR ou OR NON.
--------------------
47 Instructions de minuteur et de compteur
Les minuteurs et compteurs sont, comme leur nom l'implique, des instructions qui effectuent des opérations de temporisation et de comptage.
Ils ont des valeurs prérégistrées et accumulées distinctes.
Ils sont un type d'instruction de sortie, car ils se trouvent sur la droite de la barre de la échelle et leur fonctionnement dépend de l'état de la logique de la barre à leur gauche.
48
Les minuteurs et les compteurs fonctionnent en valeurs décimales codées binaires, ou BCD.
Chaque valeur BCD prend 4 bits de mémoire.
Cependant, contrairement à l'hexadécimal, seules les valeurs de 0 à 9 sont valides.
Ce qui serait des valeurs de A à F en hexadécimal ne sont pas des valeurs valides en BCD.
49
Les valeurs prédéfinies et accumulées sont stockées dans des mots de 16 bits. Les 12 premiers bits sont utilisés pour stocker jusqu'à 3 chiffres BCD.
Les 4 bits supérieurs restants sont utilisés pour stocker des bits d'état d'instruction tels que si le minuteur ou le compteur est terminé et diverses autres fonctionnalités.
50 minuteurs
La base de temps du minuteur correspond à la résolution du minuteur.
Les bases de temps sont de 1,0 seconde, 0,1 seconde et 0,01 seconde.
Ainsi, un minuteur avec une base de temps d'une seconde peut mesurer de 0 à 999 secondes avec une résolution d'une seconde.
Un minuteur avec une base de temps de 0,1 seconde peut mesurer de 0 à 99,9 secondes avec une résolution de 0,1 seconde.
51
Il existe trois types de minuteurs,
Minuteur à délai d'allumage (ou TON),
Minuteur à délai d'extinction (ou TOF),
Minuteur rétentif (ou RTO).
52
Les minuteries de retard attendent pendant que la condition de déclenchement est vraie et se réinitialisent lorsqu'elle devient fausse.
Les minuteries de retard hors ligne attendent après que la condition de déclenchement soit devenue fausse et se réinitialisent lorsqu'elle redevient vraie.
Les minuteries rétentissantes sont similaires aux minuteries de retard, mais conservent leur valeur accumulée jusqu'à ce qu'elles soient réinitialisées par l'instruction de réinitialisation de minuterie rétentissante (ou RTR).
En général, vous démarrez une minuterie et surveillez ensuite son bit "terminé" quelque part d'autre dans votre logique.
53 Compteurs
Les compteurs comptent les événements.
Ils existent dans les variétés suivantes.
54
Compteur ascendant (ou CTU).
Compteur à décrément (ou CTD)
Réinitialisation du compteur (ou CTR)
Compteur de balayage (ou SCT)
55
Les compteurs à incrément comptent à partir de zéro, et les compteurs à décrément comptent à rebours à partir d'un réglage préalable.
Le compteur de balayage compte le nombre de balayages de programme.
Ce n'est pas quelque chose que vous trouveriez généralement d'utilité, bien que vous puissiez l'utiliser pour calculer, par exemple, le temps de balayage.
--------------------
56 Instructions de manipulation de données
Les instructions de manipulation de données sont utilisées pour lire, écrire et comparer des données de octets et de mots.
Les opérations ont lieu lorsque la marche est vraie.
57
GET lit un mot de 16 bits d'une localisation en mémoire.
PUT écrit un mot de 16 bits dans une localisation en mémoire.
LES se résout à vrai si la valeur lue par l'instruction GET est inférieure à une valeur spécifiée.
EQU se résout à vrai si la valeur lue par l'instruction GET est égale à une valeur spécifiée.
58
Les instructions LES et EQU peuvent être combinées de diverses manières entre elles et avec GET pour donner toutes les permutations de comparaisons possibles telles que supérieur à, inférieur à ou égal à, etc.
59
GET BYTE lit un octet de 8 bits d'une localisation en mémoire.
TEST LIMIT se résout à vrai si une valeur d'octet est entre les limites stockées dans les octets supérieur et inférieur d'un mot.
Le test limite est utilisé en combinaison avec GET BYTE.
--------------------
60 instructions arithmétiques
Les instructions arithmétiques opèrent également sur les valeurs de mots BCD.
Les opérations ont lieu lorsque la ligne devient vraie.
Le byte le plus élevé est utilisé pour indiquer des choses comme le débordement ou l'undercoulement arithmétique.
Cela inclut
61
Ajouter
Soustraire
Multiplier
Diviseur
Convertir BCD en binaire
Convertir binaire en BCD
--------------------
62 instructions de transfert de bloc
Les instructions de transfert de bloc sont des instructions de sortie utilisées pour transférer jusqu'à 64 mots de 16 bits de données entre la table de données et les modules d'entrée/sortie.
Ces instructions sont utilisées avec une entrée/sortie intelligente qui travaille avec des mots plutôt qu'avec des bits individuels.
63
Des exemples de ces instructions sont des choses comme
Analogue d'entrée/sortie qui lisent et écrivent des tensions variables plutôt que simplement allumées ou éteintes.
Contrôle PID qui gère la boucle fermée de choses comme la température.
Thermocouples qui lisent les températures.
Contrôleur de moteur servo qui commande les positions des moteurs servo.
Contrôleur de moteur pas à pas.
Encodeurs de position.
64
Je ne vais pas entrer dans les détails sur les transferts de blocs, mais cela devrait suffire à vous donner une idée générale de la façon dont le PLC pourrait gérer ce type d'équipement par rapport aux états simples allumés/éteints des modules numériques.
Évidemment, ceux-ci peuvent être utilisés en combinaison avec GET, PUT et autres instructions de manipulation de données qui peuvent lire et écrire des emplacements de mémoire.
--------------------
65 Instructions de saut et programmation de sous-routine
Celles-ci incluent les instructions suivantes.
66
Saut (ou JMP)
Étiquette (ou LBL)
Saut vers sous-routine (ou JSR)
Retour (ou RET)
67
Le saut permettra d'exécuter un saut vers une position d'étiquette.
Vous pouvez y penser comme une instruction GOTO.
68
Les étiquettes sont numériques et peuvent aller de 00 à 77 en octal.
Les instructions de saut sont des sorties de piste, et lorsque la piste devient vraie, l'exécution saute au numéro d'étiquette spécifié dans l'instruction.
Les étiquettes sont des instructions d'entrée et apparaissent au début de la piste où l'exécution reprend.
69
Les sauts normaux ne peuvent pas sauter dans une sous-routine, et ils ne peuvent sauter que vers l'avant, pas vers l'arrière.
Cela signifie que les boucles ne sont pas possibles en utilisant un saut.
Cela serait une décision de conception délibérée pour empêcher les programmes de rester bloqués dans une boucle et pour empêcher le balayage de se poursuivre.
70
Les sous-routines apparaissent après la fin du programme principal.
Elles sont définies par des étiquettes numériques en octal à l'aide de l'instruction d'étiquette.
Les sous-routines sont appelées à l'aide de l'instruction "Jump to Subroutine" (ou JSR).
À la fin de la sous-routine, l'instruction "Return" (ou RET) ramène l'exécution au prochain niveau suivant celui qui a appelé la JSR.
Vous pouvez imbriqués des appels à des sous-routines jusqu'à 8 niveaux profonds.
--------------------
71 Instructions de transfert de données
Malgré ce que vous pourriez penser à partir du nom, il n'y a pas de fichiers disque dans le PLC2.
Une "instruction fichier" déplace plutôt des blocs de mots d'une localisation de mémoire de données à une autre.
=
Celles-ci incluent les adresses source et destination, et divers autres paramètres qui contrôlent l'opération.
Il y a en fait beaucoup de choses impliquées dans celles-ci, mais je ne vais pas me donner la peine d'entrer dans les détails.
Il vous suffit de savoir qu'il est possible de déplacer des blocs de mémoire de données.
--------------------
72 Instructions de registre de décalage
Celles-ci opèrent sur une série entière de mots et incluent
=
Déplacer le fichier vers le haut
Déplacer le fichier vers le bas
Charger FIFO
Décharger FIFO
73
Celles-ci peuvent opérer sur 1 à 999 mots.
Une utilisation typique de ces instructions serait de suivre une pièce alors qu'elle traverse les différentes stations d'une machine.
--------------------
Déplacements de 74 bits
Ces opérations agissent sur des bits individuels et incluent les suivantes.
75
Déplacement de bit à gauche
Déplacement de bit à droite
Examiner le bit de déplacement hors service
Examiner le bit de déplacement actif
Définir le bit de déplacement
Réinitialiser le bit de décalage
76
Ces éléments fonctionnent à peu près comme vous le pourriez attendre en termes de décalage des bits vers la gauche ou la droite.
Cependant, le registre de décalage peut être défini pour être n'importe quel nombre compris entre 1 et 999 bits de long, il n'est donc pas limité à la taille d'un mot.
--------------------
77 Instructions de séquenceur
Les instructions de séquenceur sont une émulation logicielle de contrôleurs de tambour électromécaniques.
Les contrôleurs de tambour permettaient d'effectuer une longue séquence d'opérations.
Ces dispositifs utilisaient un tambour rotatif qui avait une série régulière de trous parallèles sur la surface extérieure.
Au-dessus d'une rangée de ces trous se trouvait une rangée de commutateurs de limite.
En insérant des crochets dans certains de ces trous qui entrent en contact avec les interrupteurs de limite, le contrôleur de tambour peut activer des schémas de relais ou de vannes.
78
Certains des interrupteurs de limite peuvent être connectés à des capteurs sur les éléments mobiles de la machine.
Lorsque les pièces de la machine sont dans la position correcte pour cette étape de la séquence, le schéma de crochets provoque un chemin électrique complet à travers les interrupteurs de limite et alimente un solénoïde qui fait avancer le tambour à l'étape suivante.
79
Cela est souvent comparé à une boite à musique ou à une ancienne machine à laver de style contrôle.
Cependant, dans le cas du contrôleur de tambour, les crochets programmeraient les conditions de correspondance d'entrée ainsi que la sortie désirée.
Le contrôleur de tambour PLC/2 émulerait ce séquençeur.
Cette fonctionnalité est devenue très largement utilisée dans l'équipement utilisé dans l'industrie automobile et d'autres processus de fabrication orientés vers l'assemblage, et formait souvent le cœur du programme PLC/2.
80
Je ne vais pas entrer dans les détails des instructions du séquençeur, mais il existe des instructions de séquence d'entrée et de sortie séparées.
La séquence d'entrée tenterait de correspondre aux états des capteurs, et la séquence de sortie activerait ou désactiverait les diverses sorties, contrôlant des éléments tels que les soupapes solénoïdes.
La séquence elle-même serait définie par une série de mots en mémoire, chaque bit correspondant à une entrée ou une sortie individuelle.
--------------------
81 Instructions logiques de fichier
Les instructions logiques de fichier se traduisaient par des opérations sur tableaux de mots, bien que le terme "fichier" soit utilisé pour ce qui, dans la terminologie informatique, serait un "tableau".
Ces instructions comprenaient
ET
OU
OU exclusif
Complément
--------------------
82 Techniques de programmation spéciales
Il s'agit d'instructions diverses.
Celles-ci comprennent les éléments suivants.
Bord de pointe en une seule prise
Bord de traîne en une seule prise
83
Une prise en une seule est une instruction de sortie qui fait basculer le bit adressé pendant une seule balayage lorsqu'il y a un changement d'état dans la condition logique de la rangée.
Les prises en une seule peuvent être déclenchées par un changement de faux à vrai ou de vrai à faux, selon l'instruction parmi les deux utilisées.
--------------------
Pourquoi le PLC2 utilisait-il du BCD ?
Vous vous demandez probablement pourquoi le PLC2 utilisait des nombres en BCD au lieu d'entiers normaux.
Cela reflète l'environnement de fonctionnement qu'un PLC précoce devrait gérer.
Les premiers panneaux de commande utilisant des dispositifs d'entrée numérique mécanique et des affichages électroniques simples qui fonctionnaient typiquement en BCD.
85
Les interrupteurs à manivelle étaient de petits dispositifs en forme de tambour rotatif avec les chiffres 0 à 9 imprimés sur la périphérie.
Plusieurs roues étaient empilées les unes à côté des autres.
Ils ressemblaient quelque peu à l'odomètre mécanique que l'on trouve dans une vieille voiture.
L'opérateur pouvait cependant déplacer chaque roue de chiffre séparément.
Chaque chiffre serait lu en connectant 4 fils à 4 entrées sur le PLC.
Ainsi, chaque chiffre était intrinsèquement en BCD en raison du fonctionnement du matériel de la molette de défilement.
86
En tournant les roues individuellement, l'opérateur pouvait ajuster des paramètres tels que les températures, les vitesses, les délais, etc., et ainsi modifier les paramètres du processus.
Les affichages de l'opérateur étaient généralement des affichages à 7 segments LED, néon ou fluorescents à vide.
Ces affichages ou des dispositifs similaires aux leurs ont précédé les PLC, ils étaient donc des dispositifs industriels courants qui devaient être manipulés.
Chaque chiffre numérique avait 4 entrées qui seraient connectées à 4 sorties sur le PLC.
Les affichages à 7 segments peuvent utiliser le hexadécimal, mais cela n'était pas très utile si vous essayez d'afficher une température en Celsius à un opérateur.
Ainsi, encore une fois, le BCD était le type de nombre le plus pratique à utiliser.
87
À mesure que les PLC et leurs programmes utilisateur devenaient plus capables et plus sophistiqués, ils ont commencé à travailler avec des entiers normaux et même des nombres à virgule flottante.
Cependant, beaucoup, sinon la plupart des PLC, conservaient des instructions pour traduire en et depuis le BCD.
--------------------
L'influence du PLC2
Le PLC2 était un produit extrêmement réussi pour Allen Bradley et a solidement établi la société comme l'un des principaux fournisseurs de PLC, avec la première place sur le marché nord-américain et dans le top 5 mondial.
Cependant, il présentait plusieurs faiblesses, notamment une mémoire et une architecture de sous-routines très primitives et une focalisation sur les nombres octaux et BCD.
Il était conçu pour remplacer les relais de commande et y parvenait assez bien.
89
Le prochain véritable successeur du PLC2 pour Allen Bradley fut le PLC5.
Il a pris l'ensemble d'instructions de base du PLC2 et l'a combiné à un nouveau système de mémoire avec de nouveaux types de données, des espaces de noms séparés et des fonctions paramétrées.
90
C'était comme passer de la programmation en Basic avec des numéros de ligne et des sauts à Pascal.
Cependant, il pouvait toujours utiliser des rangées et des modules d'E/S PLC2, un facteur important étant donné que la majeure partie du coût d'un PLC était dans le système d'E/S.
91
Le PLC 5 a été à son tour remplacé par la série Contrologix qui a encore modernisé les choses, tout en ayant une factorisation plus petite.
Allen Bradley reste l'un des principaux fournisseurs de PLC aujourd'hui, opérant sous le nom de Rockwell.
--------------------
92 Conclusion
Dans cet épisode, nous nous sommes concentrés sur un PLC précoce spécifique mais très largement utilisé, le PLC Allen Bradley 2.
Nous avons couvert les sujets suivants.
L'électronique interne.
Le tableau de données.
Le programme utilisateur.
Le terminal de programmation T3.
Et un aperçu très bref de l'ensemble d'instructions.
93
C'était une PLC assez simple et, à certains égards, primitive, mais vous devriez avoir une idée approximative des concepts derrière une PLC, y compris le tableau de données et le concept de balayage, ainsi que l'ensemble d'instructions similaire à un relais.
94
Dans l'épisode suivant, nous examinerons une PLC du plus grand fournisseur mondial, Siemens.
Dans cet exemple, nous étudierons un modèle un peu plus récent que le PLC2, la série S5.
Cela pourrait être considéré comme une PLC de deuxième génération.
Depuis que nous n'avons pas besoin de répéter les concepts de base déjà couverts, nous pouvons nous concentrer davantage sur ce qui est nouveau et différent dans le S5 par rapport au PLC2.
95
Il s'agit du troisième épisode d'une série de huit parties.
--------------------
