Sisend- ja väljundmooduli koosseisu kuulub veel aadressselektor, mis määrab, milline port peab momendil töötama. Kontrollerite programmeerimiseks kasutatakse programmereid. Need võimaldavad koostada programme, neid redigeerida, salvestada, väljatrükkida, laadida kontrollerisse ja testida. Programmeerimisel võib kasustada kolme erinevat programmeerimise viisi: käskprogrammeerimine, plokkprogrammeerimine, kontaktprogrammeerimine. STEP7 programmeerimis keeles käsu operatsiooni- ehk tehtekood määrab, mida tuleb teha. Operand sisaldab operatsiooni ehk juhtkäsu jaoks täpsustavat teavet, s.t. vastab küsimusele "kus ja millega teha?". Operandi moodustavad operandi tunnus ja parameeter. Operandi tunnuseks võib olla sisend (I), väljund (Q), märgend (M) jne. erinevates informatsioonihulkades, nagu bitt, bait, sõna ja topeltsõna. Seega operandi tunnus määrab informatsiooni asukoha protsessori mälus.
pinumälu lugemine, pinumällu kirjutamine, sisendi lugemine, väljundisse kirjutamine, katkestuse lubamine, otsemällupöördumise lubamine jms. Ühe masinatsükli kestus on sõltuvalt sisust 3...5 takti. Käsu täitmiseks kulub 1...3 masinatsüklit. Käsutsükli ajadiagrammi näide on joonisel 2.8. Vastavalt käsule kirjutatakse operand ühest mälu piirkonnast teise. Esimese masinatsükli M1 ajal määratakse operatsiooni- ehk tehtekood, s. t mida teha. Teise masinatsükli M2 ajal loetakse operand mälust protsessorisse. Kolmanda masinatsükli M3 ajal kirjutatakse operand muutmälu pessa, mille aadress on protsessori registris. Programmi käsud asuvad järjestikustes mälupesades. Seepärast tuleb järgmise käsu poole pöördumiseks suurendada aadressi vastavalt käsu pikkusele ühe, kahe või kolme võrra. Φ T T T T T T T T T T