
Programmable logic controller (genomgång av sw på s. 6)
Nu har jag skrivit kod för det viktigaste funktionsblocken. Kan för tillfället
inte komma på något mer, men jag har säkert glömt något. Förslag?
Dessa har jag gjort:
AND
FTrig - falling edge
NOT - inverterare
OR
RS - set RESET
RTrig - rising edge
SR - SET reset
TOff - frånslagsfördröjd timer
TOn - tillslagsfördröjd timer
TP - tidsbestämd pulsutgång
XOR har jag inte gjort då det är så sällan den används.
CADningen har jag inte påbörjat då det är så himla trökigt.
inte komma på något mer, men jag har säkert glömt något. Förslag?
Dessa har jag gjort:
AND
FTrig - falling edge
NOT - inverterare
OR
RS - set RESET
RTrig - rising edge
SR - SET reset
TOff - frånslagsfördröjd timer
TOn - tillslagsfördröjd timer
TP - tidsbestämd pulsutgång
XOR har jag inte gjort då det är så sällan den används.
CADningen har jag inte påbörjat då det är så himla trökigt.
-
- Inlägg: 7101
- Blev medlem: 31 augusti 2006, 16:42:43
- Ort: Jamtland
Jag hade egentligen bara tänkt mig digital signaler men det är klart, man
kan ju ha nytta av analog värden även om inte har analoga I/O. Det tänkte
jag inte på.
Då gör vi en lista:
Datatyper
int16
uint16
int32
uint32
float
Funktionsblock
ct - räknare (upp, ned, reset & preset)
sl, sr - shift left/right
fifo
abs
add
sub
mul
div
eq - EQual
ne - Not Equal
gt - Greater Then
ge - Greater then or Equal
le - Less then or Equal
lt - Less Then
sel - väljare
min
max
kan ju ha nytta av analog värden även om inte har analoga I/O. Det tänkte
jag inte på.
Då gör vi en lista:
Datatyper
int16
uint16
int32
uint32
float
Funktionsblock
ct - räknare (upp, ned, reset & preset)
sl, sr - shift left/right
fifo
abs
add
sub
mul
div
eq - EQual
ne - Not Equal
gt - Greater Then
ge - Greater then or Equal
le - Less then or Equal
lt - Less Then
sel - väljare
min
max
Senast redigerad av pheer 12 juni 2008, 19:05:33, redigerad totalt 1 gång.
Jag lägger till FIFO på listan. Själv har jag aldrig använt en FIFO i PLC-
sammanhang, i vilka situatuiner kan den vara bra att ha?
Efter att hållt mest i MPLAB den sista tiden har jag återgått till Visual
Studio. Har nu fått till "layoten" i programeditorn så att arbetsytan blir som
man ställer in under utskriftsformat, samt fixat utskriftsunktion och
förhandsgranskning, se bild.
Sen har jag börjat lite smått att rita ett schema för cpu-kortet.
Lines of code: 7754 (+201)
Maintainability index: 80 (+-0)
Programmet för den som vill prova 080612_indcont_setup.exe (425kB)
Rapportera gärna ev. buggar som ni stöter på. .NET framework 2.0 krävs.

sammanhang, i vilka situatuiner kan den vara bra att ha?
Efter att hållt mest i MPLAB den sista tiden har jag återgått till Visual
Studio. Har nu fått till "layoten" i programeditorn så att arbetsytan blir som
man ställer in under utskriftsformat, samt fixat utskriftsunktion och
förhandsgranskning, se bild.
Sen har jag börjat lite smått att rita ett schema för cpu-kortet.
Lines of code: 7754 (+201)
Maintainability index: 80 (+-0)
Programmet för den som vill prova 080612_indcont_setup.exe (425kB)
Rapportera gärna ev. buggar som ni stöter på. .NET framework 2.0 krävs.

Det var ju ett tag sen sista uppdateringen. Jag har mest sysslat med
programmering/konsolidering (fint ord va?
) av befintlig kod/funktioner.
Macgyver på forumet har hjälpt till och hittat ett antal buggar.
Online-läge har kommit till där man kan se värden på variabler i variabel-
och i/o-listor. Se bild nedan

Koden för anslutningsdragning i programeditorn har fixats och optimeras så
att anslutningarna blir skapliga, ibland händer det dock att de får en
trappform.

Det schema jag hade påbörjat för CPU-kort har jag kasta för länge sedan
då jag inte fick ihop det något bra p.g.a. alla anslutningar. Jag tänker nu
använda en mindre dsPIC som förhoppninvsvis blir enklare att cadda.
Denna kapsling tänkte jag använda. 1st för cpu-kort och 2st för i/o-kort.
Jag funderar på 2st alternativ, antingen göra ett DI-kort (10-16 digital
ingångar) och ett DO-kort(10-16 digitala utgångar) eller göra 2st DI/DO-
kort, med 8st DI och 8st DO på.

De digitala ingångarna ska bestå av optokopplare. De digital utgångarna
ska bestå av relän.
programmering/konsolidering (fint ord va?

Macgyver på forumet har hjälpt till och hittat ett antal buggar.
Online-läge har kommit till där man kan se värden på variabler i variabel-
och i/o-listor. Se bild nedan

Koden för anslutningsdragning i programeditorn har fixats och optimeras så
att anslutningarna blir skapliga, ibland händer det dock att de får en
trappform.

Det schema jag hade påbörjat för CPU-kort har jag kasta för länge sedan
då jag inte fick ihop det något bra p.g.a. alla anslutningar. Jag tänker nu
använda en mindre dsPIC som förhoppninvsvis blir enklare att cadda.
Denna kapsling tänkte jag använda. 1st för cpu-kort och 2st för i/o-kort.
Jag funderar på 2st alternativ, antingen göra ett DI-kort (10-16 digital
ingångar) och ett DO-kort(10-16 digitala utgångar) eller göra 2st DI/DO-
kort, med 8st DI och 8st DO på.

De digitala ingångarna ska bestå av optokopplare. De digital utgångarna
ska bestå av relän.
-
- Inlägg: 79
- Blev medlem: 16 maj 2006, 23:04:41
- Ort: Bollnäs
Tänkte tipsa om oscat.de där finns det en massa funktionsblock skrivna i scl.. Kan ju ladda ner källkoden och översätta till ditt språk vore ju inte så svårt då får du ju en massa funktionsblock utan att kanske behöva tänka så värst mycket.. Funktionerna är beskrivna på tyska men det är inte omöjligt att förstå iaf..
Norpan: den går att realisera med 1 RTrig, 2 And och en SR. I mitt program
kan användaren själv skapa egna bibliotek med egna funktionsblock. En
toggle skulle då kunna se ut så här:


Joe: bra att du påminde mig, datum och tid hade jag glömt bort. Ska pilla
dit en 32kHz-kristall på nästa cpu-pcb. PID ska jag göra i samband att jag
gör ai- och ao-kort.
hence: Oscat verkar ju intressant men jag lyckas inte ladda ner något,
varken i Opera eller ie.
Det här med bibliotek och funktionsblock är inget jag lägger någon tid på i
det här skedet av projektet. Prioritet ett är att få ett väl fungerande system
först.
Sen sist har jag etsat tre st. kort. Nedan visas cpu-kortet. Det har plats för
en dsPIC30F4011, en MAX232 för rs232-anslutning och en FT232 för usb-
anslutning. Både rs232 och usb är dock kopplade till samma uart, vilken
man vill använda väljer man med två byglar på kortet.
Den stora kontakten upp till höger är för anslutning av 16st di, den mindre
kontakten för anslutning av 8st do. På 6-poliga kontakten ansluter man ICD2 för programmering av bootloader.

Så här ser kapslingen ut med en anslutningsplint nertill. Men lappen ska
jag försöka designa om så att den får ett lite mer proffsigt/industriellt
utseende.

Så här kan det se ut i online-läge.
* I bakgrunden syns det lilla testprogrammet med några logikgrindar.
* Till höger syns huvudfönstret varifrån man startar/stoppar exekveringen.
* Nere till vänster visas variabellistan för globala variabler i online-läge. Värdet i current value-kolumnen uppdateras kontinuerligt.
* De små rutorna symboliserar i/o. De är knutna till respektive global variabel som heter bInX och bOutX.

Nu ska jag beställa lite smågrejer från Elfa som behövs för att göra di- och
do-kortet kompletta.
kan användaren själv skapa egna bibliotek med egna funktionsblock. En
toggle skulle då kunna se ut så här:


Joe: bra att du påminde mig, datum och tid hade jag glömt bort. Ska pilla
dit en 32kHz-kristall på nästa cpu-pcb. PID ska jag göra i samband att jag
gör ai- och ao-kort.
hence: Oscat verkar ju intressant men jag lyckas inte ladda ner något,
varken i Opera eller ie.
Det här med bibliotek och funktionsblock är inget jag lägger någon tid på i
det här skedet av projektet. Prioritet ett är att få ett väl fungerande system
först.
Sen sist har jag etsat tre st. kort. Nedan visas cpu-kortet. Det har plats för
en dsPIC30F4011, en MAX232 för rs232-anslutning och en FT232 för usb-
anslutning. Både rs232 och usb är dock kopplade till samma uart, vilken
man vill använda väljer man med två byglar på kortet.
Den stora kontakten upp till höger är för anslutning av 16st di, den mindre
kontakten för anslutning av 8st do. På 6-poliga kontakten ansluter man ICD2 för programmering av bootloader.

Så här ser kapslingen ut med en anslutningsplint nertill. Men lappen ska
jag försöka designa om så att den får ett lite mer proffsigt/industriellt
utseende.

Så här kan det se ut i online-läge.
* I bakgrunden syns det lilla testprogrammet med några logikgrindar.
* Till höger syns huvudfönstret varifrån man startar/stoppar exekveringen.
* Nere till vänster visas variabellistan för globala variabler i online-läge. Värdet i current value-kolumnen uppdateras kontinuerligt.
* De små rutorna symboliserar i/o. De är knutna till respektive global variabel som heter bInX och bOutX.

Nu ska jag beställa lite smågrejer från Elfa som behövs för att göra di- och
do-kortet kompletta.
squiz3r:
du verkar ju ha intresset för elektronik och programmering,
då är det bara en tidsfråga innan du gör lika grymma program som jag
baron3d: typ nåt sånt? För att få till fina sekvenser tänkte jag göra en sfc
editor. Men det dröjer nog innan jag kommer dit. Det återstår fortfarande
en hel del småpyssel i fbd-editorn.

Lines of code: 9911 (+2157)
Maintainability index: 83 (+3)

då är det bara en tidsfråga innan du gör lika grymma program som jag

baron3d: typ nåt sånt? För att få till fina sekvenser tänkte jag göra en sfc
editor. Men det dröjer nog innan jag kommer dit. Det återstår fortfarande
en hel del småpyssel i fbd-editorn.

Lines of code: 9911 (+2157)
Maintainability index: 83 (+3)