2013-09-09, 11:55
  #637
Medlem
TheLearnWAREGods avatar
Citat:
Ursprungligen postat av toyen
Hej!

Nyligen börjat med styrteknik via Learnwear och har problem nu när jag kommit så långt som till hiss labration 18. Då jag via en snabb impuls ska få hissen att gå upp en våning för att stanna. Samt att den via en snabb impuls ska gå ner till våning 1.

Du behöver ett minne för varje våning som ettställs vid tryck på våningsknappen och nollställs när hissen kommer till respektive våning.
Citera
2013-09-09, 12:20
  #638
Medlem
toyens avatar
Citat:
Ursprungligen postat av TheLearnWAREGod
Du behöver ett minne för varje våning som ettställs vid tryck på våningsknappen och nollställs när hissen kommer till respektive våning.

Tackar så mycket! precis fått den att gå upp, borde bli lättare åt andra hållet
Citera
2013-09-12, 09:21
  #639
Medlem
Hejsan! Är någon strukturerad text eller något som räknar ut volymen på en liggande tank, då man i toppen av tanken har en nivåmätare?

Programmerar i ABB Control builder.

Tacksam för svar.
Citera
2013-09-12, 09:35
  #640
Medlem
Citat:
Ursprungligen postat av ruTTi
Hejsan! Är någon strukturerad text eller något som räknar ut volymen på en liggande tank, då man i toppen av tanken har en nivåmätare?

Programmerar i ABB Control builder.

Tacksam för svar.

Du måste först veta hur mycket tanken rymmer innan du kan räkna på det.
Sedan hur mycket givaren ger vid full tank, respektive tom tank.

Och det går ju att göra i valfritt programmeringsspråk.
Är det bara för visning kan du ju skicka värdet till en HMI-panel och där låta värdet bli skalat.
Citera
2013-09-12, 11:11
  #641
Medlem
Citat:
Ursprungligen postat av swe
Du måste först veta hur mycket tanken rymmer innan du kan räkna på det.
Sedan hur mycket givaren ger vid full tank, respektive tom tank.

Och det går ju att göra i valfritt programmeringsspråk.
Är det bara för visning kan du ju skicka värdet till en HMI-panel och där låta värdet bli skalat.

Mm, tror jag fick ihop det, dock inte testat än.

VolymTank1 := Längd * ((Radie**2)*acos((Radie-LevelTank1.Value)/Radie)-(Radie-LevelTank1.Value)*sqrt(2*Radie*LevelTank1.Value-LevelTank1.Value**2));
Citera
2013-09-12, 19:15
  #642
Medlem
Citat:
Ursprungligen postat av ruTTi
Hejsan! Är någon strukturerad text eller något som räknar ut volymen på en liggande tank, då man i toppen av tanken har en nivåmätare?

Programmerar i ABB Control builder.

Tacksam för svar.

Finns det någon särskild anledning till att du vill räkna fram volymen?

Enklast annars är att skala insignalen direkt i den storhet du vill använda.
Citera
2013-09-12, 20:03
  #643
Medlem
Citat:
Ursprungligen postat av dubbeltommy
Finns det någon särskild anledning till att du vill räkna fram volymen?

Enklast annars är att skala insignalen direkt i den storhet du vill använda.

Hos oss är operatörerna ofta intresserade av hur stor volym dom har kvar i tanken. Det är ju inga problem i en stående tank, men i en liggande så blir det ju fel volym överallt utom vid tom, halv och full tank om man bara skalar om insignalen.

F.ö. så har vi haft ett liknade problem med en liggande tank. Har för mig att vi möjligen löste det med en tabell i styrsystemet. Ska kolla, om jag väl lyckas komma ihåg det när jag är på jobbet.
Citera
2013-09-12, 20:21
  #644
Medlem
Citat:
Ursprungligen postat av Peterlan
Hos oss är operatörerna ofta intresserade av hur stor volym dom har kvar i tanken. Det är ju inga problem i en stående tank, men i en liggande så blir det ju fel volym överallt utom vid tom, halv och full tank om man bara skalar om insignalen.

F.ö. så har vi haft ett liknade problem med en liggande tank. Har för mig att vi möjligen löste det med en tabell i styrsystemet. Ska kolla, om jag väl lyckas komma ihåg det när jag är på jobbet.

Skulle precis säga det att sänkningen är inte linjär förmodar jag vid liggande tank ?
Citera
2013-09-13, 01:26
  #645
Medlem
Du har alltså inte en nivåmätning du kan parametrera. Då förstår jag dilemmat.
Citera
2013-10-03, 09:53
  #646
Medlem
barreths avatar
Hey, har en SattCon05 - Slimline från ABB där klockan går fel, vilket såklart påverkar de system som den styr.
Är själv helt okunnig på dessa och de flesta andra PLC-system också för den delen.

Är det svårt att rätta till klockan på dessa, går det att koppla upp sig mot systemet via seriel port för att göra denna typen av inställningar?
Citera
2013-10-03, 10:17
  #647
Medlem
christerys avatar
Citat:
Ursprungligen postat av barreth
Hey, har en SattCon05 - Slimline från ABB där klockan går fel, vilket såklart påverkar de system som den styr.

Jadå, så länge serieporten på satten inte står i comli läge så ska det gå bra. Står den i comli så går det enklast med DOX05 att komma åt den.

Kolla om du kan hitta en manual innan du börjar leka med den dock. Kommer inte ihåg om den måste gå i programmeringsläge innan man kan ställa om klockan tex.

På gamla tjocka 05orna fanns det ju en knappsats som man fick trycka F0 PROG för att kunna göra nåt roligt. Men den funktionen kanske har tagits bort med knappsatsen.

Du kan köra direkt online eller använda DOX5/DOX10 för att nå satten, ska du bara ställa klockan så borde det vara enkelt att köra direkt med hyperterminalen eller annan terminalemulator.

Dock så kan det ju vara bra att ha en backup på programmet, och då är det nog enklast med DOX programmet, finns även en BUP05 men den har jag inte använt.
Citera
2013-10-16, 11:50
  #648
Medlem
Undra om någon kan hjälpa mig reda ut en del saker angående datatypen String, Char/ASCII och hur de förhåller sig till varandra.

Försöker få igång kommunikation mellan en PLC till en Skrivare. Skrivaren vill ha information i ASCII-format på följande sätt:

ESC = 1b
STX = 02
Command ID = 15 motsvarar download data
[<DATA>] där data är en sträng ÅÅÅÅ-PPPPP-S (t.ex. 2013-12345-1)
ESC = 1b
ETX = 03

PLC koden är programmerad i Structured Text och fick instruktioner att meddelande skulle byggas upp följande sätt i koden:

StrDel2 : STRING(80); (* Datasträngen från skannern *)
StrOut : STRING(80); (* Strängen du skickar till skrivaren *)

StrOut := ’$1b$0215’;
StrOut := CONCAT(StrOut,StrDel2);
StrOut := CONCAT(StrOut, ’$1b$03');

Så att meddelandet ut till skrivaren blir följande

StrOut := ’$1b$0215[<DATA>]$1b$03’;

Tyvärr köper inte skrivaren detta och jag fundera på om det inte har att göra med hur StrOut är uppbyggt. Är inte riktigt med hur $ fungerar men som jag förstår det så indikerar det att kommande tecken ska tolkas som ASCII, jag skulle isf vilja ha in ett par $-tecken till. Samtidigt har jag läst att $02 är start för ascii och $03 indikerar slut. Tycker också det är konstigt att StrOut är deklarerad som en String.

Jag ganska ny på detta så ta det gärna på en nivå som att jag vore ett barn, kommer inte ta illa vid mig bara tacksam för all hjälp jag kan få.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in