1 ' Programme en langage PICBASIC PB-3B 2 ' Automatisation d'un compresseur 10 CONST DEVICE = 3B 11 LCDINIT 30 ' Déclaration du format des variables 31 DIM X0 AS BYTE 32 DIM X1 AS BYTE 33 DIM X2 AS BYTE 34 DIM S1 AS BYTE 35 DIM S2 AS BYTE 36 DIM S3 AS BYTE 37 DIM S4 AS BYTE 38 DIM T1 AS BYTE 39 DIM VALEUR AS INTEGER : DIM F AS INTEGER : DIM N AS INTEGER 40 ' Initialisation des étapes du grafcet 41 X0=1 : X1 = 0 : X2 = 0 45 ' Initialisation des actions et de la temporisation 46 OUT 11,0 : OUT 12,0 : OUT 13,0 : OUT 14,0 : T1 = 0 50 ' STRUCTURE PRINCIPALE DU GRAFCET - Compresseur 60 ' Lecture de l'état des capteurs 61 GOSUB 1000 65 IF X0 = 1 AND (S1 = 0 OR S3 = 0) THEN X1 = 1 : X0 = 0 70 IF X1 = 1 AND T1 = 1 THEN X2 = 1 : X1 = 0 75 IF X2 = 1 AND (S2 = 0 OR S4 = 0) THEN X0 = 1 : X2 = 0 80 GOSUB 3000 : ' SP Gestion des sorties 90 GOTO 50 : 'rebouclage du programme. 1000 ' Sous Programme - Lecture des capteurs 1010 S1 = KEYIN(3,25) 1020 S2 = KEYIN(4,25) 1030 S3 = KEYIN(5,25) 1040 S4 = KEYIN(6,25) 1050 RETURN 2000 ' Construction de la temporisation T1 2005 VALEUR = ADIN(0) 2010 F = VALEUR / 10 2011 FOR N = 1 TO F 2012 DELAY 100 2013 NEXT N 2020 T1 = 1 2030 RETURN 3000 ' Gestion des actions (sorties et temporisation) 3010 IF (X0 = 1 OR X1 = 1 OR X2 = 1) THEN OUT 11,1 ELSE OUT 11,0 3011 IF X0 = 1 THEN T1 = 0 3020 IF X1 = 1 THEN OUT 12,1 ELSE OUT 12,0 3030 IF X2 = 1 THEN OUT 13,1 ELSE OUT 13,0 3040 IF X2 = 1 THEN OUT 14,1 ELSE OUT 14,0 3050 IF X1 = 1 THEN GOSUB 2000 3070 RETURN