Y a pas un schisme là ?En début de session, vous allez définir un circuit.
donc une position particulière de vos aiguillage sur le circuit actif. Peu importe leur position initiale.
Par contre si vous vous amusez à changer manuellement une position d'aiguillage sur ce circuit, c'est la cata assurée.
Inutile donc de mettre en mémoire.
chaque pcf a deux ports 0à7 et 10 à 17, image de b0 et b1 par exemple. b0 va être l'image des aguilles à commander à droite, et b1 l'image des aguilles à commander à gauche.
l'état de 8 aiguillages va être défini dans votre programme par un octets.
disons pos1_aiguil = %00101100
cad les aiguilles 1,2,5,7,8 à droite donc les autres à gauche.
pour commander vos aiguilles :
vous aurez b0 = pos1_aiguil donc %00101100
et b1 = not pos1_aiguil soit donc %11010011
et pour envoyer ça sous forme cadencée:
Code:w1 = 1 do [COLOR="#FF0000"]w2[/COLOR] = w0 & w1 hi2cout ([COLOR="#FF0000"]b0,b1[/COLOR]) pause x w1 = w1 * 2 (ou bien w1 <<1 sur X2) loop until w1 = 0
De plus, la sortie doit être temporisée pour éviter de cramer la bobine.
Pourquoi ne pas faire tout simplement :
Code:
b1 =not b0
hi2cout (b0,b1)
pause 500
hi2cout (0,0) ' ou 255,255 si on est en logique négative
Last edited: