Gestion par ordinateur

Tout sur ce qu'il nous faut pour alimenter nos réseaux.

Gestion par ordinateur

Messagepar nesly
05 Sep 2011, 07:39

Enfin j'arrive à l'aboutissement de mon projet. Le but était de réaliser un réseau miniature commandé par un poste à commande informatique et logique à relais ayant le même fonctionnement que les postes réels.
Il y a donc deux parties.
- Une partie à relais
Celle ci est chargée des enclenchements des itinéraires, aiguilles, signaux et cantons.
- Une partie informatique
Celle ci est chargée de la commande des itinéraires et autorisation et d'afficher un TCO écran.

C'est cette partie informatique qui ma donnée le plus de travail à réaliser.
Tout d'abord, comment établir une relation entre le PC et les relais?
J'ai trouvé sur la revue ELECTRONIQUE RADIO PLAN N° 505 et 506 des schémas permettant cette réalisation.
La sortie imprimante parallèle du PC est utilisée. On trouve en sortie, les données et la commande "strobe" et en entrée l'info "busy"

La sélection entre une entrée et une sortie se fait par le "strobe" qui suivant sa valeur 1 ou 0 active les cartes d'entrée ou sortie
En suite l'envoi de l'adresse (sortie "données") provoque l'effet suivant:
Pour une sortie: activation d'un monostable donnant une impulsion de tension sur la sortie correspondant à l'adresse.
Pour une entrée: mise en relation du "busy" avec l'entrée correspondant à l'adresse.

J'ai donc étudié des cartes de demultiplexage pour réaliser ces fonctions.
J'ai donc 8 cartes de 16 sorties et 4 cartes de 32 entrées; pour un total de 128 entrées et sorties





Il restait a faire le logiciel permettant de gérer l'ensemble.
Je possédais "TURBO BASIC de BORLAND" j'ai donc développé mon programme en basic, sous DOS.
Celui-ci boucle en permanence sur lui même pour lire toutes les entrées et afficher les changements sur le TCO écran et permet la saisie de dialogues pour envoyer les commandes. (une fois compilé celui-ci fait 241K)

train-04.jpg

En bas à gauche, case dialogue: c'est après le tiret que s'affiche la frappe au clavier; la dernière commande effectuée s'affiche sur la ligne suivante; ici 21 10 20: il s'agit de la commande de l'itinéraire d'origine 10 et de destination 20.
case alarme détection des erreurs dans le cas présent, un itinéraire incompatible était formé donc pas de commande
En haute à gauche, tracé de l'itinéraire 10-20 en jaune, ouverture du carré 10
Dans le cas d'une commande d'itinéraire en tracé permanent, l'itinéraire serait de couleur verte.
Une zone occupée est en rouge (cas de la zone 9 sur l'itinéraire)

J'espère ne pas avoir été trop rébarbatif et avoir donné quelque idées de gestion d'un réseau.
Passionné de montages à relais
nesly
 
Messages: 21
Âge: 74
Enregistré le: 06 Fév 2011, 11:58
Localisation: COUZEIX

Re: Gestion par ordinateur

Messagepar Le Basque
05 Sep 2011, 09:53

Les subtilités m'échappent mais on peut déjà apprécier la quantité de travail pour la conception et la réalisation, ainsi que le soin apporté à l'ensemble !


:cool:
De l'audace, encore de l'audace, toujours de l'audace !
Avatar de l’utilisateur
Le Basque
Valideur Des Guichets
 
Messages: 15285
Âge: 67
Enregistré le: 13 Déc 2007, 21:53
Localisation: Paris-Cote Basque

Re: Gestion par ordinateur

Messagepar 16012
05 Sep 2011, 10:05

Bonjour,
+ 1 :applause:
16012
 
Messages: 617
Enregistré le: 05 Oct 2010, 15:01

Re: Gestion par ordinateur

Messagepar XTof_vl
05 Sep 2011, 11:03

Et bien, quel boulot.

Attention de garder un PC opérationnel qui puisse tourner le programme sous DOS.

Chapeau pour le dessin des cartes. C'est le genre de choses qui peuvent être publiées pour être éventuellement reproduites par d'autres.

Mais, vraiment, BRAVO!!!
L'Attila du train Ho
Ondraaglijk
Voyou!


Ferjac (Gil Jourdan alias Guus Slim) et Raversijde 1913
Avatar de l’utilisateur
XTof_vl
Van De Guus
 
Messages: 17844
Âge: 61
Enregistré le: 13 Déc 2007, 21:07
Localisation: Linkebeek, Belgïe!

Re: Gestion par ordinateur

Messagepar nesly
05 Sep 2011, 11:18

C'est vrai qu'il faut un PC pouvant tourner sous DOS, c'est possible facilement jusqu'a windows 98, mais surtout, il faut un micro equipé d'une sortie imprimante parallele ce qui est de plus en plus rare.
Passionné de montages à relais
nesly
 
Messages: 21
Âge: 74
Enregistré le: 06 Fév 2011, 11:58
Localisation: COUZEIX

Re: Gestion par ordinateur

Messagepar xc656
05 Sep 2011, 19:46

il existe tout de même deux solutions

1 récupérer ou acheter un PC ancien, on trouve des dell GX 260 à 280 pour une misère chez les brookers qui possèdent encore un port DB 25 imprimante. pour la petite histoire j'ai un GX 280 qui tourne sous mac os X, c'est dire si ce matériel permet beaucoup de choses!
2 acheter un carte PCI parallèle, les revendeurs en ont en stock, sinon une recherche sur google ... , compter 15 €, un exemple parmi tant d'autre
http://www.ldlc.com/fiche/PB00036506.html

XC

Beau programme et bel affichage, j'aimerais bien voir le code source, en plus ça me rappellerait ma jeunesse quand on programmait en basic! :applause:
Avatar de l’utilisateur
xc656
Bavard
 
Messages: 1117
Âge: 67
Enregistré le: 16 Aoû 2011, 14:57
Localisation: Taupont 56

Re: Gestion par ordinateur

Messagepar nesly
11 Sep 2011, 09:37

On petit aperçu du debut du programme en turbo basic

'** SOUS PROGRAMMES
$include "PRO-SUB1.bas"
$segment
$include "PRO-SUB2.bas"
$segment
'** CREATION DES TABLEAUX
$include "PRO-TAB0.bas"
$segment
'** AFFICHAGE DES ELEMENTS FIXES DU DESSIN DE FOND PARTIE 1
$include "PRO-AFF1.bas"
$segment
'** AFFICHAGE DES ELEMENTS FIXES DU DESSIN DE FOND PARTIE 2
$include "PRO-AFF2.bas"
$segment
'** PROGRAMME GENERAL
'** AFFICHAGE DES ELEMENTS VARIABLES DU TCO
gosub LECTE
gosub LECTENTREE
gosub AFFICHE
'** affichage de AU-AUAC-AUEX
call affaud(241,44,9):call affaud1(251,44,9):call affauac(230,54,9):call affauex(249,54,9)
'** FIN DE L'INITIALISATION
'** DEBUT DE BOUCLE
DEBDIAL0:
'** POSI=1, Effacement du dialogue, affichage du tiret
POSI=1:org$="":call AFFEFFD:call AFFDIALT(31,326)
CLE=0:CLE1=0:CLE2=0:ORG1=0:ORG2=0:DEST1=0:DEST2=0

DEBDIAL:
'** LECTURE ET AFFICHAGE DES ENTREES
'** LECTURE PHYSIQUE DES ENTREES
gosub LECTE
'** ANALYSE DES ENTREES ET MISE A JOUR TABLEAUX (SPROG-AF2 et SPROG-AF3)
gosub LECTENTREE
'** AFFICHAGE DES ELEMENTS VARIABLES APRES MISE A JOUR (SPROG-AF1)
gosub AFFICHE
'** TRAITEMENT DU 1er CHIFFRE DU DIALOGUE
if POSI<>1 then goto DIAL2
DIAL1:
'** 1er chiffre du dialogue
R$=inkey$
if r$="" then goto debdial
'** sortie de programme
if r$="Q" or r$="q" then end
TOUCHEFIN:
'** traitement du chiffre 2
'** affichage du chiffre 2 en position POSI et tiret en position POSI+1
if R$="2" then CLE1=val(r$):call AFFDIAL(val(r$),31,326):call AFFDIALT(39,326)_
:POSI=POSI+1:goto DEBDIAL
'** traitement du chiffre 6
'** affichage du chiffre 6 en position POSI et tiret en position POSI+1
if R$="6" then CLE1=val(r$):call AFFDIAL(val(r$),31,326):call AFFDIALT(39,326)_
:POSI=POSI+1:goto DEBDIAL
'** traitement des autres touches
'** beep pour les touches non affichables
if r$="0" or r$="1" or r$="3" or r$="4" or r$="5"or r$="7" or r$="8" or r$="9"_
then call AFFDIAL(val(r$),31,326):call AFFDIALT(39,326):POSI=POSI+1:gosub ERREUR_
else beep
'** pour les autres chiffres, ERREUR DIALOGUE,
goto debdial
'** TRAITEMENT DU 2eme CHIFFRE DU DIALOGUE
DIAL2:
if POSI<>2 then goto DIAL3
'** 1er chiffre du dialogue
R$=inkey$
if r$="" then goto debdial
if erreur=1 then goto BCK2
if r$="0" or r$="1" or r$="2" or r$="3" or r$="4" or r$="5" or r$="6" or r$="7" or r$="8" or r$="9"_
then call AFFDIAL(val(r$),39,326):call AFFDIALT(50,326)

'** Traitement BACKSPACE
BCK2:
if r$=chr$(08) then h1=31:h2=39:h3=50:gosub BACKSPACE
if r$<>chr$(8) and erreur=1 then goto DEBDIAL
'** traitement des cles
CLE67:
if r$="7" and cle1=6 then CLE2=val(r$):CLE=CLE1*10+CLE2_
:POSI=POSI+1:goto DEBDIAL
CLE2X:
if cle1=2 and (r$="1" or r$="2" or r$="3" or r$="4" or r$="5")_
then CLE2=val(r$):CLE=CLE1*10+CLE2:POSI=POSI+1:goto DEBDIAL........

C'est vrai que ça rappelle le temps de l'amstrad, c'etait d'ailleurs ma premiére idée pour le réutiliser mais compte tenu de ses 64k disponibles, pas possible d'ecrire en basic, j'ai essayé le langage assembleur, mais c'etait vraiment trop galére vu mes competences. Il ne m'en reste que les 128 entrées ou sorties car l'amstrad ne gerait que 7 bits sur la sortie imprimante. Il est donc trés facile avec mon montage de passer à 256 entrées et 256 sorties.
Passionné de montages à relais
nesly
 
Messages: 21
Âge: 74
Enregistré le: 06 Fév 2011, 11:58
Localisation: COUZEIX

Re: Gestion par ordinateur

Messagepar Aldayo
13 Sep 2011, 19:29

Ayant eu un amstrad 6128+ vers mes 10 ans, j'ai un peu touché du basic, mais ça ne ressemble en rien à ton turbo basic :P

Un prog sur amstrad resemblé plutot à ca :

10 CLS
20 print "bonjour"
30 goto 10

RUN


Et voila un jolie programme qui tourne en boucle car on a oublié de prévoir une sortie et direction l'inter général de l'ordi :D
Qui croit savoir ne sait rien.
Avatar de l’utilisateur
Aldayo
Bavard
 
Messages: 1940
Âge: 40
Enregistré le: 05 Sep 2009, 22:35
Localisation: Le Vernet(31)

Re: Gestion par ordinateur

Messagepar Papou89
13 Sep 2011, 21:09

Ca me rappelle mon spectrum...long time ago... :coeur1:
Michel.

Papou89
Bavard
 
Messages: 3808
Âge: 76
Enregistré le: 29 Juil 2009, 14:43
Localisation: Bourgogne-Franche-Comté
 
Anniversaire

Re: Gestion par ordinateur

Messagepar Le Basque
13 Sep 2011, 22:31

Pour une fois c'est assez parlant.
De l'audace, encore de l'audace, toujours de l'audace !
Avatar de l’utilisateur
Le Basque
Valideur Des Guichets
 
Messages: 15285
Âge: 67
Enregistré le: 13 Déc 2007, 21:53
Localisation: Paris-Cote Basque


Retourner vers Électricité, électronique et numérique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités