Upload
nguyendat
View
229
Download
0
Embed Size (px)
Citation preview
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
????
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.
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.
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:
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
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.
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
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 .
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.