9
Comportement Séquentiel et Algorithmie Méthode de programmation des systèmes S si Cours Site : 4-5 Programmation Page 1 sur 9 1. Mise en situation : Problématique : Gérer l’avance et l’inclinaison du tapis en fonction de touches sur son pupitre de commande. Comment traduire ce cahier des charges et quel langage utiliser ? 2. Concept d’état : Le système séquentiel suivant permet de commander la rotation d’un moteur à partir d’une commande CM : Au repos M=0 A=0 CM=0 Appui sur M M=1 A=0 CM=1 Relâchement de M M=0 A=0 CM=1 Appui sur A M=0 A=1 CM=0 Relâchement de A M=0 A=0 CM=0 On constate que le seul état des entrées ne permet pas de donner l’état des sorties. En effet, pour les entrées M=0 et A=0, la sortie peut être CM=0 ou CM=1. La variable d’état interne « x » permet de lever cette ambiguïté en mémorisant l’état du dernier bouton actionné. Soit x=1 lorsque le bouton marche a été actionné et x=0 lorsque le bouton arrêt a été actionné. Système séquentiel Partie combinatoire Marche (M) Arrêt (A) Commande Moteur (CM) x x

Comportement Séquentiel et Algorithmie · Le grafcet : Le GRAFCET est un outil graphique de description des comportements d’un système logique séquentiel. Il est très utilisé

Embed Size (px)

Citation preview

Page 1: Comportement Séquentiel et Algorithmie · Le grafcet : Le GRAFCET est un outil graphique de description des comportements d’un système logique séquentiel. Il est très utilisé

Comportement Séquentiel et Algorithmie Méthode de programmation des systèmes

Ssi Cours

Site:4-5Programmation Page1sur9

1. Miseensituation:

Problématique:Gérer l’avance et l’inclinaison dutapisenfonctiondetouchessursonpupitredecommande.

Comment traduire ce cahier des charges et quel langage utiliser ?

2. Conceptd’état:

Lesystèmeséquentielsuivantpermetdecommanderlarotationd’unmoteuràpartird’unecommandeCM:

Aurepos M=0 A=0 CM=0

AppuisurM M=1 A=0 CM=1 RelâchementdeM M=0 A=0 CM=1

AppuisurA M=0 A=1 CM=0 RelâchementdeA M=0 A=0 CM=0

On constate que le seul état des entrées ne permet pas de donner l’état des sorties.Eneffet,pourlesentréesM=0etA=0,lasortiepeutêtreCM=0ouCM=1.La variable d’état interne «x» permet de lever cette ambiguïté enmémorisant l’état du dernier bouton actionné. Soit x=1lorsqueleboutonmarcheaétéactionnéetx=0lorsqueleboutonarrêtaétéactionné.

Systèmeséquentiel

Partiecombinatoire

Marche(M)

Arrêt(A)

CommandeMoteur(CM)

x x

TRAITER

????

Page 2: Comportement Séquentiel et Algorithmie · Le grafcet : Le GRAFCET est un outil graphique de description des comportements d’un système logique séquentiel. Il est très utilisé

Ssi SéquentieletAlgorithmie-Méthodedeprogrammationdessystèmes Cours

Site:4-5Programmation Page2sur9

3. Problématique:Commentdécrirelecomportementséquentield’unsystème?

Ladescriptionducomportementd’unsystèmeséquentielpeutêtreréaliséenotammentpar:

• L’outilalgorithme(oualgorigramme);

• L’outilgraphe d’états;• L’outilGrafcet.

Il s’agitessentiellementd’outilsgraphiquespermettantdemodéliser le comportement séquentiel en termes de déroulement d’actions temporelles.Cesoutilssont,àlabase,desoutilsdemodélisationducomportementséquentiel,maispeuventaussiserviràlaprogrammationdes composants réalisant la fonction Traiter de la chaîne d’information (microcontrôleur, microprocesseur, automate

programmable,…)viadespost-processeurs.Quelquesoitl’outiladoptépourmodéliserlecomportementséquentield’unsystème,ilexistesouventplusieurs«solutions».«Lasolution»laplussimpleetcellequirespectel’ensembledescontraintesestdoncàprivilégier.C’estlerôledel’ingénieurdechoisirle«bon»outil,etla«meilleuresolution».

4. Outilsdedescription:

4.1. L’algorithme :

Un algorithme est un modèle universel de description d’un système numérique. Il existe deux types de représentation:

« l’organigramme » et « une représentation littérale algorithmique ».4.1.1. L’organigrammed’unprogramme:

Un organigramme est la représentation graphique d’une suite structurée d’instructions.Voicilessymbolesgraphiquesnormalisésàutiliser:

Symbole Désignation Symbole Désignation

Début,fin,interruptionDébut,finouinterruptiond'unprogramme

LectureouEcritured’unedonnéeexterneMiseàdispositiond'uneinformation(écrituresurunportdesortie)ouenregistrementd'uneinformation(lectured'unportd'entrée).

TraitementinterneOpérationoucalculsurdesdonnéesdontlerésultateststockédanslemicrocontrôleur.

BranchementTest,exploitationdeconditionsvariablesimpliquantlechoixd'uneparmideux.Symboleutilisépourreprésenterunedécision.

Sous-programmePortiondeprogrammeconsidéréecommeunesimpleopération.

Page 3: Comportement Séquentiel et Algorithmie · Le grafcet : Le GRAFCET est un outil graphique de description des comportements d’un système logique séquentiel. Il est très utilisé

Ssi SéquentieletAlgorithmie-Méthodedeprogrammationdessystèmes Cours

Site:4-5Programmation Page3sur9

4.1.2. Lesstructuresalgorithmiques:

Structure Organigramme Algorithme

SéquencelinéaireLastructurelinéairesecaractériseparunesuited'actionsàexécutersuccessivementdansl'ordredeleurénoncé.

FAIRE « traitement 1 » FAIRE « traitement 2 » FAIRE « traitement 3 »

SéquencealternativeouconditionnelleUnestructurealternativen'offrequedeuxissuespossibless'excluantmutuellement.Lesstructuresalternativesdéfinissentunefonctiondechoixoudesélectionentrel'exécutiondel'unoudel'autredesdeuxtraitements.

SI « condition » vraie ALORS FAIRE « traitement 1 » SINON FAIRE « traitement 2 » FIN SI

Séquencerépétitiveouitérative(boucleavecpré-test) Danscettestructureoncommencepartesterlacondition,sielleestvraiealorsletraitementestexécuté.

TANT QUE « condition » vraie FAIRE « traitement » FIN TANT QUE

Boucleaveccomptage

POUR N = x A 0 REPETER « traitement » FIN POUR

4.2. Le graphe d’état :

Lesétatspeuventêtrereprésentésgraphiquementsoitpardesrectangles,soitpardesovales.Lorsqu’unétatestcomposédesous-états,onparledesuper-étatoud’étatcomposite.

Page 4: Comportement Séquentiel et Algorithmie · Le grafcet : Le GRAFCET est un outil graphique de description des comportements d’un système logique séquentiel. Il est très utilisé

Ssi SéquentieletAlgorithmie-Méthodedeprogrammationdessystèmes Cours

Site:4-5Programmation Page4sur9

EtatOU:LesétatsOUreprésententdesétatsdefonctionnementmutuellementexclusif.DesétatsOUnepeuventpasêtreactifsous’exécuterenmêmetemps.Ils’agitdoncdelafonctionOuExclusif.Onparlealorsd’étatsexclusifs,etonassocieunnomàchaqueétat.

EtatET:LesétatsETreprésententdesétatsdefonctionnementtotalementindépendants.Plusieursétatsdemêmeniveauhiérarchiquepeuventêtreactifssimultanément.Cesétatssontreprésentésgraphiquementparunrectangleentraitpointillé,etunnuméroindiquel’ordred’exécution.Onassocieunnomàchaqueétat.

Transitions:Lestransitionssontreprésentéespardesflèchesorientées,etpermettentdedécrirelesévolutionsdusystèmed’unétatsourceversunétatdestination.

Transitionpardéfaut:Cettetransitionindiquel’état(ousuper-état)quidoitêtreactifàl’étatinitial(«misesoustension»).

Actionsdansunétat:Ils’agitdedéfinirlesactionsàeffectuerlorsquel’étatNom-étatestactif.Ondéfinit3typesd’actions:• Actionàl’activationdel’état:Pourspécifiercetyped’action,lasyntaxeestentry:actions.• Actiondurantl’état:Pourspécifiercetyped’action,lasyntaxeestduring:actions.Généralement,l’écrituredeactionssuffit.

• Actionàladésactivationdel’état:Pourspécifiercetyped’action,lasyntaxeestexit:actions.

Exemple:

Page 5: Comportement Séquentiel et Algorithmie · Le grafcet : Le GRAFCET est un outil graphique de description des comportements d’un système logique séquentiel. Il est très utilisé

Ssi SéquentieletAlgorithmie-Méthodedeprogrammationdessystèmes Cours

Site:4-5Programmation Page5sur9

4.3. Le grafcet :

LeGRAFCETestunoutilgraphiquededescriptiondescomportementsd’unsystèmelogiqueséquentiel.Ilesttrèsutilisépourla

programmationdesautomatesprogrammablesindustriels(API).Il est composé d’étapes, de transitions et de liaisons

4.3.1. Règles:

Une LIAISON est un arc orienté (ne peut être parcouru que dans un sens).Auneextrémitéd'uneliaisonilyaune(etuneseule)étape,àl'autreunetransition.

Une ETAPE correspond à une phase durant laquelle on effectue une ACTION pendant une certaine durée.Onnumérotechaqueétapeparunentierpositif,maispasnécessairementcroissantparpasde1, il fautsimplementquejamaisdeuxétapesdifférentesn'aientlemêmenuméro.Uneétapeestditeactivelorsqu'ellecorrespondàunephase"enfonctionnement",c'estàdirequ'elleeffectuel'actionquiluiestassociée.Onreprésentequelquefoisuneétapeactiveàuninstantdonnéendessinantunpointàl'intérieur.

Une TRANSITION est une condition de passage d'une étape à une autre.Ellen'estquelogique(dansson sens Vrai ou Faux), sans notion de durée. La condition est définie par une RECEPTIVITE qui estgénéralementuneexpressionbooléenne(c.à.davecdesETetdesOU)del'étatdescapteurs.

Etape initiale

Position haute et position arrière

Position avant

Position basse

Présence pièce

1

3

2

0

DESCENDRE

AVANCER

RECULERMONTER

STRUCTURE

INTERPRETATION

Etape

Transition

Liaison orientée

Action associée à l’étape 1

Réceptivité d’une transition

Page 6: Comportement Séquentiel et Algorithmie · Le grafcet : Le GRAFCET est un outil graphique de description des comportements d’un système logique séquentiel. Il est très utilisé

Ssi SéquentieletAlgorithmie-Méthodedeprogrammationdessystèmes Cours

Site:4-5Programmation Page6sur9

4.3.2. Structures:

DivergenceenET:Lorsque le franchissementd'une transition conduità activer plusieurs étapes, les séquences issues decesétapessontdites«séquencessimultanées».Les séquences simultanées débutent toujours suruneréceptivitéuniqueetseterminenttoujourssuruneréceptivitéunique.Le début et la fin des séquences simultanées sont

représentéspardeux traits parallèles .

DivergenceenOU:Lorsque,àpartird'uneétape,onpeuteffectuerunchoix entre plusieurs séquences possiblesconditionnéespar plusieurs réceptivités exclusives,c'est une «sélection de séquences» ou«aiguillage».Les différentes séquences possibles sont installées

sous un trait horizontal qui représentel'élargissement de la sortie de l'étape, et seretrouvent par un trait analogue représentantl'entréedel'étapeànouveaucommune.

Sautd'étapeetreprisedeséquence:Le saut d'étapes permet de sauter un certainnombre d'étapes si une condition logique estréalisée.La reprise de séquence permet de répéter unemêmeséquencejusqu'àcequelaréceptivitédefindeséquencesoitvraie.

Page 7: Comportement Séquentiel et Algorithmie · Le grafcet : Le GRAFCET est un outil graphique de description des comportements d’un système logique séquentiel. Il est très utilisé

Ssi SéquentieletAlgorithmie-Méthodedeprogrammationdessystèmes Cours

Site:4-5Programmation Page7sur9

5. Traductiondansunlangagede«programmation»:

Les mots-clés ou les symboles graphiques sont remplacés par les mots appartenant à la syntaxe du langage utilisé. Cettedernière étapedevrait être celle à laquelle le concepteur consacre lemoins de temps (dans l’hypothèseou les deux étapesprécédentesontétécorrectementdéveloppées!)

Ilexistedeslangagesdehaut niveauetdebas niveau:

Définition Exemples:

Hautniveau

Orientéautourduproblèmeàrésoudre,quipermetd'écriredesprogrammesenutilisantdesmotsusuelsdeslanguesnaturelles(trèssouventdel'anglais)etdessymbolesmathématiquesfamiliers.Unlangagedehautniveaufaitabstractiondescaractéristiquestechniquesdumatérielutilisépourexécuterleprogramme.

C++

Java

Python

PHP

Page 8: Comportement Séquentiel et Algorithmie · Le grafcet : Le GRAFCET est un outil graphique de description des comportements d’un système logique séquentiel. Il est très utilisé

Ssi SéquentieletAlgorithmie-Méthodedeprogrammationdessystèmes Cours

Site:4-5Programmation Page8sur9

Définition: Exemples:

Basniveau

Un langage de programmation est dit de basniveau lorsque le codagede celui-ci se rapprochedu langage machine (dit « binaire »), et doncpermetdeprogrammeràundegrétrèsavancé.

Assembleur(ASM)

CodeMachine

6. Organisationd’unalgorithme(etd’unprogramme):

6.1. L’en tête

Danscettepartie leconcepteurdonneunnomà l’algorithme. Ildéfinit le traitementeffectuéet lesdonnéesauxquelles il serapporte.6.2. La partie déclarative :

Danscettepartie,leconcepteurdécritlesdifférents«objets»quel’algorithmeutilise.6.2.1. Lesconstantes:

Cesontdes«objets»constantsdanstoutl’algorithme.Nom_Constante = valeur;

Exemple:ConstantesPi=3,1416;Ladéclarationdeconstantessymboliquespermetdedonnerunnomàunobjetconstantdanstout l’algorithmeetensuitede

faireréférence à cet objet par son nom plutôt que par sa valeur .

Page 9: Comportement Séquentiel et Algorithmie · Le grafcet : Le GRAFCET est un outil graphique de description des comportements d’un système logique séquentiel. Il est très utilisé

Ssi SéquentieletAlgorithmie-Méthodedeprogrammationdessystèmes Cours

Site:4-5Programmation Page9sur9

6.2.2. Lesvariables:

Cesontdes«objets»dontlavaleurpeutchangeraucoursdel’exécutiondel’algorithme.

Nom_Variable : type; Exemple:x,y:nombresréels;

Déclarer une variable consiste à définir son type. Exempledetypes:Bool Booléenouoctet(nombrenonsignéà8bits)Int Entier,nombresignéà16bitsentre-215et215-1,soitentre-32768et32767.Float Virguleflottante,nombresignéà32bits±2-149≈1.4×10-45→±2128-2104≈3.4×1038soit3.4x10-38à3.4x10+38)Tableau d'octetsoud'entiersàunedimension(nombredecellulesentrecrochets)Str Chainedecaractère(Nombredecaractèresentrecrochets,20pardéfaut) 6.3. Le corps du programme :

Contientlesinstructionsmettantenrelationlesvariablesetlesconstantesafinderéaliser la suite d’actions voulue.