Programmable logic controller (genomgång av sw på s. 6)
Programmable logic controller (genomgång av sw på s. 6)
Då det kliar i programmeringstarmen tänkter jag börja på ett nytt
mastodontprojekt. Nämligen en enkel PLC. Till skillnad från
frekvensomformarprojektet tänkte jag gör detta lite mer strukturerat och
tänka till lite innan jag börjar koppla och programmera. Följande är
grundkonceptet som jag tänker mig.
Hårdvara
Ca 16st digitala utgångar, 24V extern matning. Ca 250mA/utgång.
Galvaniskt skilda från CPUn. Ev. valbara in eller ut.
Ca 16st digitala ingångar, 24V. Galvaniskt skilda från CPUn. Ev. valbara in
eller ut.
RTC
Galvaniskt skild RS232-kommunikation, alt. RS232 över USB.
Minst 115kbit/s.
Ingen I/O-bus. Inget stöd för fältbuss.
Projektstruktur
Ett projekt består av ett eller flera program, bibliotek och en hårdvarudefinition.
Program
Ett program innehåller den kod som ska exekveras av PLCn. Ett projekt
innehåller alltid minst ett program men kan innehålla flera program. Detta
för att man på ett enkelt sätt ska kunna dela upp koden på ett logiskt sätt
anpassat efter t.ex. anläggningens uppbyggnad. Varje program har en
egen prioritet och exekveringsinställningar.
Vidare innehåller varje program ett eller flera underprogram. Även detta för
att man ska kunna organisera koden på liknande sätt som de styrda
objekten existerar i verkligheten.
Koden i sig består av de inbyggda
datatyperna och funktionsblocken samt instanser av datatyper och
funktionsblock definierade i de knutna biblioteken. Det språk som stöds är
FBD (specificerat i IEC-61131-3).
Bibliotek
Under bibliotek i projektstrukturen knyter man de bibliotek man behöver
använda i projektet. Ett bibliotek innehåller definitioner av datatyper och
funktionsblock.
Hårdvara
I hårdvarudefinitionen gör man inställningar för hårdvaran.
mastodontprojekt. Nämligen en enkel PLC. Till skillnad från
frekvensomformarprojektet tänkte jag gör detta lite mer strukturerat och
tänka till lite innan jag börjar koppla och programmera. Följande är
grundkonceptet som jag tänker mig.
Hårdvara
Ca 16st digitala utgångar, 24V extern matning. Ca 250mA/utgång.
Galvaniskt skilda från CPUn. Ev. valbara in eller ut.
Ca 16st digitala ingångar, 24V. Galvaniskt skilda från CPUn. Ev. valbara in
eller ut.
RTC
Galvaniskt skild RS232-kommunikation, alt. RS232 över USB.
Minst 115kbit/s.
Ingen I/O-bus. Inget stöd för fältbuss.
Projektstruktur
Ett projekt består av ett eller flera program, bibliotek och en hårdvarudefinition.
Program
Ett program innehåller den kod som ska exekveras av PLCn. Ett projekt
innehåller alltid minst ett program men kan innehålla flera program. Detta
för att man på ett enkelt sätt ska kunna dela upp koden på ett logiskt sätt
anpassat efter t.ex. anläggningens uppbyggnad. Varje program har en
egen prioritet och exekveringsinställningar.
Vidare innehåller varje program ett eller flera underprogram. Även detta för
att man ska kunna organisera koden på liknande sätt som de styrda
objekten existerar i verkligheten.
Koden i sig består av de inbyggda
datatyperna och funktionsblocken samt instanser av datatyper och
funktionsblock definierade i de knutna biblioteken. Det språk som stöds är
FBD (specificerat i IEC-61131-3).
Bibliotek
Under bibliotek i projektstrukturen knyter man de bibliotek man behöver
använda i projektet. Ett bibliotek innehåller definitioner av datatyper och
funktionsblock.
Hårdvara
I hårdvarudefinitionen gör man inställningar för hårdvaran.
Senast redigerad av pheer 14 januari 2009, 22:37:50, redigerad totalt 3 gånger.
-
- Inlägg: 7012
- Blev medlem: 31 augusti 2006, 16:42:43
- Ort: Jamtland
"Varje program har en egen prioritet"
Kanske jag missförstår vad du menar med "program" men varför skulle ett PLC program ha en prioritet? Alla paralella PLC program borde väl exekvera med högsta prioritet och om något av dem inte hinner utföra sin uppgift är det en felsituation... annars är det väl en lite haltande emulering av logikhårdvara?
Kanske jag missförstår vad du menar med "program" men varför skulle ett PLC program ha en prioritet? Alla paralella PLC program borde väl exekvera med högsta prioritet och om något av dem inte hinner utföra sin uppgift är det en felsituation... annars är det väl en lite haltande emulering av logikhårdvara?
-
- Inlägg: 7012
- Blev medlem: 31 augusti 2006, 16:42:43
- Ort: Jamtland
-
- Inlägg: 129
- Blev medlem: 16 november 2007, 13:19:24
- Ort: Pedersöre-Finland
- Kontakt:
n00bl0r14n: jag hänger inte riktigt med i din fråga där? Undrar du vilken
utvecklingsmiljö jag använder till PIC? Isåfall är svaret MPLAB.
Projektet går SAKTA men säkert framåt. Jag har kommit så långt att jag
insett att det blir ganska omfattande programmering på PC-sidan men att
hårdvaran blir ganska enkel.
Ett litet smakprov på programmeringsverktyget.

utvecklingsmiljö jag använder till PIC? Isåfall är svaret MPLAB.
Projektet går SAKTA men säkert framåt. Jag har kommit så långt att jag
insett att det blir ganska omfattande programmering på PC-sidan men att
hårdvaran blir ganska enkel.
Ett litet smakprov på programmeringsverktyget.

En lite kort uppdatering. Det har egentligen inte hänt jättemycket men
utseendet på programmet är mycket trevligare nu med lite ikoner.
Variabelhanteringen börjar bli färdig också. Sen tänkte jag ge mig på
bibliotek och skapande av datatyper och funktionsblock. En datatyp blir i
princip en variabellista så det borde gå ganska snabbt.
Även ett funktionsblock består mest "variabellistor", dels de ev. interna
variabler som används och dels parametrarna (in- och ut-anslutningarna).

utseendet på programmet är mycket trevligare nu med lite ikoner.
Variabelhanteringen börjar bli färdig också. Sen tänkte jag ge mig på
bibliotek och skapande av datatyper och funktionsblock. En datatyp blir i
princip en variabellista så det borde gå ganska snabbt.
Även ett funktionsblock består mest "variabellistor", dels de ev. interna
variabler som används och dels parametrarna (in- och ut-anslutningarna).
