[go: up one dir, main page]

SE529676C2 - En metod för att utvärdera en applikation, ett automationssystem och en styrenhet - Google Patents

En metod för att utvärdera en applikation, ett automationssystem och en styrenhet

Info

Publication number
SE529676C2
SE529676C2 SE0600447A SE0600447A SE529676C2 SE 529676 C2 SE529676 C2 SE 529676C2 SE 0600447 A SE0600447 A SE 0600447A SE 0600447 A SE0600447 A SE 0600447A SE 529676 C2 SE529676 C2 SE 529676C2
Authority
SE
Sweden
Prior art keywords
application
versions
version
control unit
control
Prior art date
Application number
SE0600447A
Other languages
English (en)
Other versions
SE0600447L (sv
Inventor
Thomas Pauly
Mikael Meyer
Original Assignee
Abb Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Abb Ab filed Critical Abb Ab
Priority to SE0600447A priority Critical patent/SE529676C2/sv
Priority to EP07709392A priority patent/EP1989616A4/en
Priority to PCT/SE2007/000189 priority patent/WO2007100292A1/en
Priority to CN2007800072313A priority patent/CN101395577B/zh
Publication of SE0600447L publication Critical patent/SE0600447L/sv
Publication of SE529676C2 publication Critical patent/SE529676C2/sv
Priority to US12/202,888 priority patent/US8112165B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
    • G06F7/20Comparing separate sets of record carriers arranged in the same sequence to determine whether at least some of the data in one set is identical with that in the other set or sets
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31418NC program management, support, storage, distribution, version, update

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

25 30 35 40 45 529 676 användare kan jämföra resultaten från de två styrenheterna och således bestämma om den nya versionen av styrprogrammet uppför sig på ett korrekt sätt, innan han eller hon växlar över till att låta den nya versionen aktivt styra processen. En svårighet i denna tidigare kända lösning är att den kräver två styrenheter, vilket ökar kostnaden. En ytterligare svårighet är att den kräver någon typ av synkroniserings- och arbitreringsmekanism mellan de två styrenheterna i syfte att synkronisera exekveringscykler, att arbitrera mellan processutmatningarna från de två styrenhetema, bestämma varje skillnad i resultat och generera en skillnadsrapport. Synkroniseringen måste vara mycket tät för att säkerställa att båda styrenheterna för varje exekveringscykel använder processinmatningsvärden som hänför sig till identiska samplar av processinmatningarna och externa variabler. Detta ökar ytterligare komplexiteten och kostnaden för den föreslagna lösningen. En ytterligare svårighet är att om de två styrenheterna är en primär och en redundant styrenhet används den redundanta styrenheten för att exekvera den nya versionen av styrprogrammet och fungerar därför inte som en säkerhetskopia (backup) för den primära styrenheten under utvärderingens varaktighet.
Det skulle således vara önskvärt att tillhandahålla ett förbättrat sätt att ändra eller uppgradera versioner av ett styrprogram eller en applikation inom ett system, och att göra sådana ändringar eller uppgraderingar utan störningar i produktionen.
Sammanfattning av uppfinningen Det är därför ett syfte med föreliggande uppfinning att tillhandahålla en metod för att säkerställa att en version av en applikation som ska installeras fungerar och vad som är viktigare, fungerar i en riktig omgivning och under faktiska förhållanden, resulterande i en jämn och säker övergång från en version till en annan, därigenom lindrande tillkortakommandena hos känd teknik.
Ett ytterligare syfte är att möjliggöra en mjukvarurevidering utan att avbryta eller ens störa en pågående exekvering av styrenhetsapplikationer.
Ett ytterligare syfte är att tillhandahålla ett sätt att hjälpa en operatör i att minimera riskerna innefattade vid byte av ett styrprogram. Detta åstadkoms genom att göra operatören medveten om skillnader mellan en existerande och en ny version av en styrapplikation och även göra operatören medveten om potentiella stegändringar i processutmatningen möjligen orsakade av den nya versionen.
Ett ytterligare syfte är att tillhandahålla en metod att utvärdera en ny version av ett styrprogram som kan implementeras genom användning av endast en styrenhet. Ytterligare ett annat syfte är att tillhandahålla denna metod så att då den används med ett par av primär och en redundant styrenhet kan den redundanta styrenheten fungera som en reserv för den primära styrenheten även under utvärdering.
Dessa syften, bland andra, uppnås genom en metod enligt krav l, genom ett system enligt krav 13 och genom en styrenhet enligt krav 19.
I enlighet med föreliggande uppfinning tillhandahålls en metod för att utvärdera en applikation för styrning av en process inom ett automationssystem. Två eller fler versioner av applikationen lagras inom en styrenhet, såsom en processtyrenhet eller en programrnerbar logisk styrenhet. Metoden innefattar stegen att inrnata till alla de olika versionerna av applikationen, vilka versioner finns inom samma styrenhet och av vilka en version styr nämnda process, en insignal erhållen från processen; att exekvera, i styrenheten, samma uppgifter baserat på nämnda insignal för de olika versionerna av applikationen; att generera en rapport innefattande jämförelser av utmatningarna från de olika versionerna av applikationen; och utvärdera, baserat på den genererade rapporten, versionen/versionerna som inte används för att styra processen. I enlighet med uppfinningen exekveras uppgifter för alla versionerna i styrenheten baserat på samma insignal, men endast utsignalen erhållen från den version som för närvarande styr processen utmatas som den erfordrade utmatningen för att styra processen, varvid utsignalema erhållna från alla andra versioner 10 15 20 25 30 35 40 45 529 676 görs tillgängliga för utvärdering, till exempel av en operatör. Genom uppfinningen kan en ny uppgraderad version av en applikation att exekveras samtidigt med en för närvarande använd version och utvärderas under sanna produktionsförhållanden genom utnyttjande av riktiga insignaler, och därigenom eliminera risken för nerstängningar av produktionen. Vidare, genom uppfinningen säkerställs att meningsfulla jämförelser görs såväl som möjliggör för användaren att utvärdera en version som för närvarande är under utveckling innan den används för att styra processerna.
I enlighet med en utföringsforrn av uppfinningen innefattar metoden ytterligare steg om steget med utvärdering visar att den nya versionen fungerar korrekt. Nämligen stegen: att hindra utmatningarria från den version som för närvarande styr processen från att användas för att styra processen och att sätta en version som inte styr processen att aktivt styra processen. Alternativt, om steget att utvärdera visar att den nya versionen inte fungerar korrekt innefattar metoden det ytterligare steget att utmata från den version som för närvarande styr processen en utsignal erhållen under exekveringen för att styra nämnda process. Användaren har även möjligheten att ändra till en ny version (efter utvärdering) och om versionen fortfarande inte fungerar såsom förväntat kan användaren återgå till den gamla versionen. Användaren är således i stånd att utvärdera en ny version av en applikation och ta lämpliga åtgärder baserat på utvärderingen.
I enlighet med ytterligare en annan utföringsform av uppfinningen genomförs exekveringen av uppgifterna i sekvens för de olika versionerna eller i en alternativ utföringsform på ett kvasiparallellt sätt. Detta särdrag tillhandahåller ett flexibelt sätt att exekvera uppgifterna, båda sätten säkerställer att samma uppgifter genomförs för de olika versionerna och säkerställer således att jämförelserna som görs är relevanta.
I enlighet med ytterligare en annan utföringsforrn av uppfinningen innefattar steget att generera en rapport att jämföra utmatningarna från alla av åtminstone två versioner och upprätta skillnader mellan utmatningarna. En användare är därigenom i stånd att enkelt jämföra de olika versionerna.
I enlighet med ytterligare en annan utföringsforrn av uppfinningen innefattar metoden vidare steget att presentera funna skillnader för en användare. Detta underlättar utvärderingen och sådan presentation kan åstadkommas på vilket som helst önskat sätt, såsom till exempel i förrn av grafer, nummer eller diagram.
I enlighet med ännu en annan utföringsform av uppfinningen genomförs utvärderingen av de olika versionerna i syfte att upprätta funktionaliteten av en ny version av applikationen under riktiga processförhållanden. Andra applikationer av uppfinningen är också tänkbara, såsom att spåra fel eller liknande. Uppfinningen tillhandahåller således en generell metod för utvärdering som är tillämpbar för olika syften.
Uppfinningen hänför sig även till ett automationssystem och en styrenhet, varvid fördelar motsvarande de ovan beskrivna erhålls.
Kort beskrivning av ritningarna Figur 1 illustrerar schematiskt ett automationssystem.
Figur 2 illustrerar en typisk styrenhet använd inom ett system visat i figur 1.
Figur 3 är ett flödesdiagram över vissa steg innefattade i en utföringsforin av metoden i enlighet med föreliggande uppfinning.
Detaljerad beskrivning av föredragna utföringsformer Med hänvisning till figur 2 visas uppställningen av ett typiskt processtyrsystem.
Processtyrsystem 1 består typiskt av operatörs- och ingenjörsarbetsstationer 2a, 2b,. . ., 2n, ett antal servrar Sa, 3b för att genomföra olika typer av systemfunktionalitet och styrenheter (controllers) 4a, 4b,. . ., 4n som genomför de faktiska automationsprocesstyrfunktionerna. De olika delarna är 10 15 20 25 30 35 40 45 1529 676 sammankopplade genom ett kommunikationsnätverk 5. Styrenheterna 4a, 4b,. . ., 4n styr en respektive processektion eller funktion; i figuren visas styrenheten 4a styra en processektion 6 innefattande en tank och ett antal ventiler, manövreringsorgan och sensorer. Varje processektion eller funktion, såsom processektion 6, kan vara beroende av en uppströms- och/eller en nerströms liggande processektion eller funktion (ej visad), såsom indikeras genom pilarna P1 och P2.
En generell princip för exekvering av styrprogram i en styrenhet visas i figur 2.
Styrenhetema är typiskt programmerbara genom någon form av domänspecifikt högnivåprogrammeringsspråk, såsom till exempel IEC 61131-3. I det följande ges specifik hänvisning till styrenheter, såsom en processtyrenhet eller en pro grammerbar logisk styrenhet (PLC, programmable logic controller) som har 61131-3 applikationer, men det inses att principerna för uppfinningen kan implementeras och användas mer generellt och att vilken som helst lämplig styrenhet kan användas. Vidare, i det följ ande används terinerna applikation, applikationsprogram och styrprogram i lika betydelse.
En styrenhet 4 tar emot processinmatningar 8 såväl som externa variabler 9. Ett inmatningsarrangemang kopplar styrenheten 4 till sensorer (till exempel 7a i figur 1) använd i olika processektioner, till exempel temperaturindikatorer, vibrationssensorer, positionssensorer, gränslägesbrytare, flödesmätare, optiska sensorer, växelventiler eller reläer. Styrenheten 4 innefattar vidare interna variabler 11 och externa variabler 9. Interna variabler används för att hålla värden som representerar tillståndet för styrprograminet mellan skanningscykler (scan cycle), såsom derivata- och integrationskomponenter i en PID-funktion, eller en tirners utlöpta tid, eller stegnumret i en sekvens.
Externa variabler 9 används i syfie att utbyta information med andra styrpro gram, vilka kan köras i samma styrenhet 4 eller i andra styrenheter kopplade till styrsystemnätverket 5. Exempel på sådant informationsutbyte är späirsignaler, referenssignaler och återkoppling och frammatningssignaler.
Styrenheten 4 innefattar vidare en utmatningssektion 10 för att leverera processutmatningar till manövreringsorgan (till exempel 7b, ..., 7n i figur 1).
Styrenheten 4 är programmerad att reagera på insignaler och en skicklig ingenjör som har kunskap om den specifika industrin i fråga utvecklar vanligtvis programmen använda av en styrenhet.
Programmen i en styrenhet är generellt skrivna i en speciell applikation, eller applikationsprograrn, vilken nerladdas till styrenheten och lagras däri. Såsom nämnts, styrenheter använder konventionellt IEC (International Electrotechnical Commission) 61131-3 programmeringsspråkstandard, vilken definierar fem styrenhetsprogrammeringsspårkstandarder: steglogik, sekventiellt funktionsdiagram (SFC, sequentialfunctíon chart), funktionsblockdiagrarn, strukturerad text och instruktionslista.
Ett styrprogram eller applikation läser cykliskt värdena på processinmatningar 8 och extema variabler 9, genomför beräkningar baserat på dessa värden och även på värdena på interna variabler 11 och genererar som ett resultat värden till processutmatningar 10 och även till externa variabler 9. Varje sådan exekvering kallas en skanriingscykel. Styrenheten 4 innefattar en centralenhet (CPU) som exekverar instruktionerna i styrprogrammen och ett minne för att lagra instruktioner och data, inmatning/utmatningsenheter för att möjliggöra kommunikation med processerna och ett kommunikationsgränssnitt för att möjliggöra kommunikation med andra styrenheter och enheter.
CPU:n är även ansvarig för kommunikationen med andra anordningar och exekveringen av styrprogrammen.
I enlighet med uppfinningen tillhandahålls en metod för att förbättra bytet av ett styrprogram inom en styrenhet utan att löpa risk att använda ett felaktigt styrprogram och således riskera att orsaka stömingar i processen. Den innovativa metoden kan ses som innefattande tre faser: ladda, utvärdera, kör. 10 15 20 25 30 35 40 45 529 676 Då en ny version Vny av ett styrprogram, till exempel ett 61131-3 styrprogram eller applikation, har skapats testas den i en simulering som använder simulerade inmatningar. För det första, i laddningsfasen, ornkonfigureras åtminstone en operatörsarbetsstation med processgrafrk associerad med den nya versionen Vny av styrprograrrnnet. Det finns naturligtvis åtminstone en annan operatörsarbetsstation som år konfigurerad att arbeta mot den nuvarande versionen, dvs. den version som styr processerna och härefter kallad den gamla versionen eller den nuvarande versionen likabetydande. Den nya versionen Vny laddas ner till samma styrenhet som den innefattande den gamla versionen Vgmnma; som för närvarande styr processen.
Den andra fasen, utvärderingen, innefattar att starta den nya versionen Vny av styrprogrammet i en utvärderingsmod. Styrenheten exekverar nu båda versionerna, dvs. både nuvarande version Vgamml och den nya versionen Vny. Båda versionerna tar emot samma processinmatningar 8 och även samma externa variabler 9 och exekverar samma uppgifter. Båda versionerna läser samma samplade värden på processinmatningar och externa variabler. Detta kan åstadkommas genom att låta inmatningssamplingen göras separat från och innan exekveríngen av styrprogrammen. Samtidigt som man har resultaten från båda versionerna isoleras utmatningarna från den nya versionen Vny från att påverka processutmatningarna 10 och externa variablerna 9, dvs. de används inte för att styra processen och påverkar därför inte på något sätt de pågående processoperationerna. Utrnatningarna från den nuvarande versionen Vgamma] används fortfarande för att styra processen.
Det år möjligt att köra även ytterligare versioner av en applikation samtidigt, men två versioner, nämligen den nuvarande versionen och den nya, uppgraderade versionen som ska ersätta den, är den normalt förekommande situationen. Endast två olika versioner beskrivs för att förenkla beskrivningen.
Utvärderingsfasen av metoden innefattar vidare att generera en rapport som listar skillnadema, om några, mellan värdena på de interna variablerna, externa variablema, utmatningar och sekvenstillstånd för den nuvarande och den nya versionen. Denna rapport är företrädesvis dynamisk, därigenom möjliggörande för operatören att se om och hur skillnadema ändras över tiden. Till exempel kan ett visst variabelvärde, beräknat av båda versionerna, vara divergerande, konvergerande eller förbli på samma skillnad. Denna rapport kan till exempel åstadkommas som en skillnadsrapport som genereras automatiskt, med regelbundna intervall, eller på begäran av operatören. Rapporten sänds sedan företrädesvis till ingenj örsarbetsstationen för utvärdering. Operatören eller användaren kan använda dessa rapporter i syfte att bestämma huruvida någon av de existerande skillnaderna skulle orsaka en oj ämnhet (burnp) eller stegåndring i processutmatningarna om den nya versionen Vny skulle tas i användning, dvs. om den skulle styra processen. En oj ämnhet kan till exempel orsakas av en ändring i styrstrategi, där den nya versionen inte läser det svar från processen som den förväntar sig från dess styråtgärd och integrerar avvikelsen och driver utmatningen till saturation. Då användaren är övertygad om att det inte finns några skillnader som kommer att orsaka en ojärnhet, dvs, inga transienter, störningar eller liknande, är utvärderingsfasen av metoden fullbordad.
Om utvärderingen visar att den nya versionen inte fungerar tillfiedsställande eller som förväntat kan användaren avlägsna den nya versionen från styrenheten och låta den gamla versionen fortsätta styra processen.
Om å andra sidan utvärderingen visar att den nya versionen fungerar tillfredsställande och som förväntat går användaren in i den sista delen av metoden, ”kör”-delen, genom att växla över till den nya versionen Vny för att låta den nya versionen aktivt styra processen. Då detta görs isoleras alla utmatningar från den tidigare styrande versionen från processen, dvs. de används inte längre för att l0 15 20 25 30 35 40 45 529 676 styra processen och påverkar inte längre de pågående processoperationema. Istället tas utmatningarna för att styra processen från den nya versionen, som således nu är den nuvarande versionen.
Jämförelsen fortsätter, nu med den nya versionen aktivt styrande processen och den gamla versionen genomförande samma beräkningar men utan att påverka processen. Om denna fortsatta utvärdering visar att den nya versionen fortfarande presterar tillfredsställande och som förväntat avlägsnar användaren den gamla versionen från styrenheten och ”kör”-fasen avslutas. Om å andra sidan det visar sig att det finns ett problem med den nya versionen kan användaren växla tillbaka till den gamla versionen och avlägsna den nya versionen från styrenheten.
De mest kritiska värdena i en applikation eller styrprogram är värdena som påverkar omgivningarna i applikationen och i synnerhet processen, dvs. värden på variabler kopplade till I/O- utmatningskanaler, villkor till larmobj ekt, värden på variabler kopplade till accessvariabler (det vill säga, kommunikationsvariabler synliga och åtkomliga från andra applikationer), och tillstånd för SFC- steg. Emellertid inses det att vilka som helst värden i applikationerna kan jämföras. Jämförelsen av värden från olika versioner av en applikation kan även användas vid felspårning.
Vid exekvering av båda versionerna i samma styrenhet är det viktigt att värden från samma skanningscykel används i j ämförelserna. Därigenom säkerställs det att jämförelsen är korrekt och att värdena faktiskt är jämförbara, dvs. att de är från samma skanningscykel.
J ämíörelsema görs företrädesvis i styrenheten, varvid kommunikationslasten mellan styrenheten och en operatörs arbetsstation, såsom en PC eller liknande, kommer att vara väsentligt lägre än om värdena skulle jämföras i PC:n.
Då skillnader har hittats i styrenheten bör de presenteras för användaren av systemet.
Värdena som har befiinnits skilja sig packas och kodas till kommunikationstelegram eller paket, därigenom möjliggörande en sändning till en PC på begäran, eller automatiskt. Skulle en särskilt alarmerande skillnad förekomma är det möjligt att visa den framhävd, till exempel presentera den som blinkande värden eller utlösande ett hörbart larm.
I en alternativ utföringsforrn av uppfinningen exekveras de olika versionerna inte i sekvens, dvs. en exekveras efter den andra, utan på ett kvasiparallellt sätt. Detta kan åstadkommas genom att låta ett operativsystem eller någon annan schemaläggningsmekanism allokera CPU-tid till varje version på sådant sätt att båda versionerna fullbordar varje skanningscykel innan någon av versionerna börjar en ny skanningscykel.
I figur 3 visas en summering av vissa av stegen innefattade i metoden enligt föreliggande uppfinning i ett flödesdiagram 100. Den nya versionen av ett styrprogram laddas ner till samma styrenhet som exekverar den nuvarande versionen. Då nerladdningen är fullbordad startas den andra versionen i en utvärderingsmod, i vilken de två versionerna exekveras i sekvens för varje skanningscykel, till exempel nuvarande versionen först följt av den nya versionen. I det första steget i flödesdiagrammet 100, steg 101, samplas processinmatningar och externa variabler. Båda versionerna läser samma samplar av processinmatningar och externa variabler. Detta åstadkoms företrädesvis genom att låta göra inrnatningssamplingen separat från och innan exekveringen av styrprogrammen.
Därefter, i steg 102, exekveras en skanningscykel för den nuvarande versionen, efter vilket (steg 103) processutmatningarna och externa variablerna skrivs till en minnesplats. Härefter, i steg 104, exekveras skanningscykeln för den nya versionen. Därefler, i steg 105, genereras en skillnadsrapport, innefattande skillnader i utmatningar mellan de två versionerna.
Det inses således att alla stegen inte nödvändigtvis är innefattade och att andra kan innefattas. Vidare kan ordningen av vissa steg ändras. Det kunde till exempel vara tänkbart att exekvera den nya versionen innan den nuvarande versionen eller båda versionerna kan exekveras innan processutmatningar och externa variabler skrivs. I beskrivningen har två versioner av en 10 15 529 676 applikation använts för att illustrera uppfinningen, men tre eller fler versioner kan genomföras i en alternativ utföringsfonn. Till exempel, om det finns två olika versioner, Vny, och Vny 2, där en av dem är avsedd att ersätta en nuvarande version med en applikation kan alla tre versionerna köras i sekvens på ett sätt som motsvarar det ovan beskrivna, dvs. de två nya versionerna Vn, 1 och Vny 2 och den för närvarande använda Vgamnal.
Sammanfattningsvis tillhandahåller den innovativa metoden ett förbättrat sätt att byta versionen av ett styrprogram som styr en process. I enlighet med uppfinningen erfordras endast en styrenhet, därigenom elimineras behovet av en redundant styrenhet och således sänks kostnaderna. En annan fördel erhållen genom den innovativa metoden och erhållen genom användningen av en enda styrenhet är de eliminerade kraven på synkronisering och arbitrering mellan en nuvarande använd styrenhet och en redundant styrenhet. Vidare, eftersom de olika versionerna av styrprogrammet exekveras i sekvens i samma styrenhet och under identiska omständigheter kan uppträdandet av de olika versionerna jämföras innan den nya versionen utnyttjas. Genom uppfmningen säkerställs det att en ny version verkligen fungerar i en riktig omgivning innan den lanseras och dyra produktionsavbrott kan undvikas. Om en jämförelse skulle visa något motsägande resultat, till exempel att de olika versionema indikerar att motsatta omkopplingsoperationer ska utföras, så kan den nya versionen enkelt revideras innan den slutligen tas i drift. Ett förbättrat sätt att revidera ett automationssystem åstadkoms därmed.

Claims (20)

10 l5 20 25 30 35 40 45 = 529 676 Patentkrav
1. l. Metod för att utvärdera en applikation för styrning av en process inom ett automationssystem, varvid nämnda applikation finns inom en styrenhet, kännetecknad av att metoden innefattar stegen: - att inmata till alla av åtminstone två olika versioner av applikationen, vilka versioner finns inom samma styrenhet och av vilka en version styr nämnda process, en insignal erhållen från nämnda process, - att exekvera, i styrenheten, samma uppgifter baserat på nämnda insignal för de åtminstone två olika versionerna av applikationen, - att generera en rapport innefattande järnförelserna av utmatningar erhållna från exekveringen av de åtminstone två olika versionerna av applikationen och - att utvärdera, baserat på nämnda genererade rapport, versionen/versionerna som inte används för att styra processen.
2. Metod enligt krav 1, varvid om nämnda steg att utvärdera visar att den nya versionen fungerar korrekt innefattar metoden de ytterligare stegen: - att hindra utmatningar från den version som för närvarande styr processen från att användas för att styra processen och - att sätta en version som inte styr processen till att aktivt styra processen.
3. Metod enligt krav l, vidare innefattande steget att förhindra utmatningarna från alla versioner utom den version som för närvarande styr processen från att påverka processen.
4. Metod enligt krav 1, varvid om nämnda steg att utvärdera visar att den nya versionen inte fungerar korrekt innefattar metoden det ytterligare steget: - att utmata från den version som för närvarande styr processen en utsignal erhållen under nämnda exekvering för att styra nämnda process.
5. Metod enligt något av de föregående stegen, varvid nämnda steg att exekvera uppgifter genomförs i sekvens för de olika versionerna.
6. Metod enligt något av kraven 1-4, varvid nämnda steg att exekvera uppgifter genomförs på ett kvasiparallellt sätt för de olika versionerna.
7. Metod enligt något av de föregående kraven, varvid nämnda steg att generera en rapport innefattar att jämföra utmatningarna från alla av de åtminstone två versionerna och upprätta skillnader mellan nämnda utmatningar.
8. Metod enligt krav 7, varvid nämnda skillnadsrapport är dynamisk.
9. Metod enligt krav l, varvid nämnda steg att exekvera åtminstone två versioner av applikationen innefattar stegen: - att ta emot, av nämnda olika versioner, samma insignaler från ett I/O-arrangemang i nämnda styrenhet och exekvera samma uppgifter, - att genomföra, av nämnda olika versioner, processrelaterade beräkningar och - att använda resultaten från endast en av nämnda versioner för att styra processen.
10. Metod enligt något av de föregående kraven, varvid nämnda metod vidare innefattar steget att presentera funna skillnader för en användare.
11. l 1. Metod enligt något av de föregående kraven, varvid nämnda steg att generera en rapport om skillnader genomförs i syfte att upprätta funktionaliteten av en ny version av applikationen under riktiga processomständigheter.
12. Metod enligt något av de föregående kraven, varvid nämnda steg att inmata till alla av åtminstone två olika versioner av applikationen innefattar att inmata externa variabler. 10 15 20 25 30 35 529 676
13. Automationssystem innefattande en styrenhet, varvid nämnda styrenhet har lagrad däri en applikation för att styra en process inom automationssystemet, kännetecknat av att systemet innefattar: - organ för att inmata till alla av åtminstone två olika versioner av applikationen, vilka versioner finns inom styrenheten, en insignal erhållen från nämnda process, - organ för att exekvera, i styrenheten, uppgifter baserat på nämnda insignal för de åtminstone två olika versionerna av applikationen parallellt, - organ för att generera en rapport innefattande jämförelser av utmatningar erhållna från en exekvering av de åtminstone två olika versionerna av applikationen och - organ för att utvärdera, baserat på nämnda genererade rapport, versionen/versionema som inte används för att styra processen.
14. Automationssystem enligt krav 13, innefattande - organ för att hindra utmatningarna från versionen som för närvarande styr processen från att användas för att styra processen och - organ för att sätta en version som inte styr processen till att aktivt styra processen.
15. System enligt krav 13, vidare innefattande organ för att förhindra att utmatningarna från alla versionerna förutom den version som för närvarande styr processen påverkar processen.
16. Automationssystem enligt krav 13, 14 eller 15, varvid nämnda versioner av en applikation är anordnade att exekveras i sekvens under riktiga processförhållanden.
17. Automationssystem enligt något av kraven 13-16, vidare innefattande organ för att lagra på ytterligare minnesplatser variabelvärden som skiljer sig åt.
18. Automationssystem enligt något av kraven 13-17, vidare innefattande organ för att presentera funna skillnader för en användare.
19. Styrenhet (2) för att styra processer inom ett automationssystem, varvid nämnda styrenhet innefattar en applikation och/eller ett inmatnings/utmatningsarrangemang, källllefeCkllfld *W att nämnda styrenhet (2) innefattar: - åtminstone två olika versioner av nämnda applikation, varvid närrmda versioner är anordnade att ta emot samma data från nämnda inmatnings/utmatningsarrangemang, - organ för att exekvera samma uppgifter baserat på nämnda insignal för de åtminstone två olika versionerna av applikationen, - organ för att generera en rapport innefattande jämförelser av utmatningar från en exekvering av de åtminstone två olika versionerna av applikationen och - organ för att utvärdera, baserat på nämnda genererade rapport, den/de version/versionerna som inte används för att styra processen.
20. Styrenhet enligt krav 19, varvid nämnda I/0-arrangemang innefattar förbindelser som förbinder nämnda styrenhet till sensorer och manövreringsorgan belägna inom nämnda automations- system och relaterade till processer däri.
SE0600447A 2006-03-02 2006-03-02 En metod för att utvärdera en applikation, ett automationssystem och en styrenhet SE529676C2 (sv)

Priority Applications (5)

Application Number Priority Date Filing Date Title
SE0600447A SE529676C2 (sv) 2006-03-02 2006-03-02 En metod för att utvärdera en applikation, ett automationssystem och en styrenhet
EP07709392A EP1989616A4 (en) 2006-03-02 2007-02-28 METHOD OF EVALUATING, AUTOMATION SYSTEM AND CONTROL
PCT/SE2007/000189 WO2007100292A1 (en) 2006-03-02 2007-02-28 Method for evaluating, an automation system, and a controller
CN2007800072313A CN101395577B (zh) 2006-03-02 2007-02-28 用于评估的方法、自动化系统和控制器
US12/202,888 US8112165B2 (en) 2006-03-02 2008-09-02 Method for evaluating, an automation system and a controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0600447A SE529676C2 (sv) 2006-03-02 2006-03-02 En metod för att utvärdera en applikation, ett automationssystem och en styrenhet

Publications (2)

Publication Number Publication Date
SE0600447L SE0600447L (sv) 2007-09-03
SE529676C2 true SE529676C2 (sv) 2007-10-23

Family

ID=38459325

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0600447A SE529676C2 (sv) 2006-03-02 2006-03-02 En metod för att utvärdera en applikation, ett automationssystem och en styrenhet

Country Status (5)

Country Link
US (1) US8112165B2 (sv)
EP (1) EP1989616A4 (sv)
CN (1) CN101395577B (sv)
SE (1) SE529676C2 (sv)
WO (1) WO2007100292A1 (sv)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE531389C2 (sv) * 2006-03-01 2009-03-17 Abb Ab Metod för hantering av olika versioner av en applikation och ett automationssystem
FR2927436A1 (fr) * 2008-02-12 2009-08-14 Ingenico Sa Procede de securisation d'un programme informatique, dispositif, procede de mise a jour et serveur de mise a jour correspondants.
JP2010232217A (ja) * 2009-03-25 2010-10-14 Canon Inc 露光システム、露光装置のテスト方法及びデバイス製造方法
US8549476B2 (en) * 2009-07-30 2013-10-01 Hewlett-Packard Development Company, L.P. Comparison of result of program operation to result of an operation of a different version of the program
EP2309354B1 (de) * 2009-10-01 2013-03-20 Siemens Aktiengesellschaft Vorrichtung und Verfahren zur Simulation
US8893116B2 (en) * 2012-01-15 2014-11-18 Microsoft Corporation Installation engine and package format for parallelizable, reliable installations
US8813061B2 (en) * 2012-10-17 2014-08-19 Movimento Group Module updating device
CN104657667B (zh) * 2015-02-10 2017-09-29 国网四川省电力公司电力科学研究院 一种b/s架构系统状态评价与预测方法
US10309792B2 (en) 2016-06-14 2019-06-04 nuTonomy Inc. Route planning for an autonomous vehicle
US10126136B2 (en) 2016-06-14 2018-11-13 nuTonomy Inc. Route planning for an autonomous vehicle
US11092446B2 (en) 2016-06-14 2021-08-17 Motional Ad Llc Route planning for an autonomous vehicle
US10829116B2 (en) 2016-07-01 2020-11-10 nuTonomy Inc. Affecting functions of a vehicle based on function-related information about its environment
US10387238B2 (en) * 2016-09-22 2019-08-20 Rockwell Automation Technologies, Inc. Industrial control program sequence monitoring
US10331129B2 (en) 2016-10-20 2019-06-25 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US10473470B2 (en) 2016-10-20 2019-11-12 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US10681513B2 (en) 2016-10-20 2020-06-09 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US10857994B2 (en) 2016-10-20 2020-12-08 Motional Ad Llc Identifying a stopping place for an autonomous vehicle
US10843341B2 (en) 2017-05-05 2020-11-24 Brooks Automation, Inc. Method and apparatus for health assessment of a transport apparatus
TWI794229B (zh) * 2017-05-05 2023-03-01 美商布魯克斯自動機械美國公司 用於運送裝置的健康評估的方法及裝置
US10209982B2 (en) * 2017-05-16 2019-02-19 Bank Of America Corporation Distributed storage framework information server platform architecture
US10401816B2 (en) * 2017-07-20 2019-09-03 Honeywell International Inc. Legacy control functions in newgen controllers alongside newgen control functions
CN110333875A (zh) * 2019-07-02 2019-10-15 上海企创信息科技有限公司 一种服务程序更新方法、装置、服务器及存储介质
CN111679600B (zh) * 2020-05-28 2021-12-28 深圳市英维克信息技术有限公司 控制系统的比较方法、控制终端和计算机可读存储介质
DE102020005352A1 (de) * 2020-08-31 2022-03-03 Daimler Ag Verfahren zur Validierung eines neuen Software-Standes in einem redundanten System
EP4064045A1 (en) 2021-03-25 2022-09-28 ABB Schweiz AG Method for real-time updating of process software
JP2022185722A (ja) * 2021-06-03 2022-12-15 キヤノン株式会社 基板処理システムおよびその制御方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5062037A (en) * 1988-10-24 1991-10-29 Ibm Corp. Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network
US5491625A (en) * 1993-12-23 1996-02-13 The Dow Chemical Company Information display system for actively redundant computerized process control
AU6183798A (en) * 1997-02-27 1998-09-29 Siebel Systems, Inc. Method of migrating to a successive level of a software distribution incorporating local modifications
SE521056C2 (sv) * 1997-07-21 2003-09-23 Ericsson Telefon Ab L M Metod för genomförande av schemaförändringar i en databas
US6788980B1 (en) * 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
AU5483900A (en) * 1999-06-11 2001-01-02 Foxboro Company, The Control system with improved installation
US6976062B1 (en) * 1999-09-22 2005-12-13 Intermec Ip Corp. Automated software upgrade utility
GB2359385B (en) * 2000-02-16 2004-04-07 Data Connection Ltd Method for upgrading running software processes without compromising fault-tolerance
US6986132B1 (en) * 2000-04-28 2006-01-10 Sun Microsytems, Inc. Remote incremental program binary compatibility verification using API definitions
US6629227B1 (en) * 2000-05-04 2003-09-30 Scientific-Atlanta, Inc. System and method for a communication terminal to manage memory and maintain a current application version for multiple applications
US6954747B1 (en) * 2000-11-14 2005-10-11 Microsoft Corporation Methods for comparing versions of a program
US8458689B2 (en) * 2001-03-30 2013-06-04 Roderick A. Barman Method and apparatus for reprogramming engine controllers
US6951017B1 (en) * 2001-07-27 2005-09-27 Lsi Logic Corporation Design system upgrade migration
DE10144050A1 (de) * 2001-09-07 2003-03-27 Bosch Gmbh Robert Verfahren zur Softwareverifikation für Steuereinheiten und Verifikationssystem
US7305659B2 (en) * 2002-09-03 2007-12-04 Sap Ag Handling parameters in test scripts for computer program applications
US7124401B2 (en) * 2002-09-03 2006-10-17 Sap Aktiengesellschaft Testing versions of applications
JP3915808B2 (ja) * 2003-09-26 2007-05-16 オムロン株式会社 プログラマブルコントローラおよびプログラマブルコントローラシステムならびにcpuユニット
US7743224B2 (en) * 2006-01-06 2010-06-22 Dot Hill Systems Corp. Method and apparatus for virtual load regions in storage system controllers
SE531389C2 (sv) * 2006-03-01 2009-03-17 Abb Ab Metod för hantering av olika versioner av en applikation och ett automationssystem
US8108853B2 (en) * 2006-05-05 2012-01-31 Honeywell International Inc. Apparatus and method for allowing a fail-back to a prior software release in a process control system
US20080109647A1 (en) * 2006-11-07 2008-05-08 Lee Merrill Gavens Memory controllers for performing resilient firmware upgrades to a functioning memory
US8286156B2 (en) * 2006-11-07 2012-10-09 Sandisk Technologies Inc. Methods and apparatus for performing resilient firmware upgrades to a functioning memory
US7822963B2 (en) * 2007-06-05 2010-10-26 Hewlett-Packard Development Company, L.P. Remote computer operating system upgrade
US8898660B2 (en) * 2008-11-25 2014-11-25 Fisher-Rosemount Systems, Inc. Systems and methods to provide customized release notes during a software system upgrade of a process control system

Also Published As

Publication number Publication date
CN101395577B (zh) 2012-05-23
EP1989616A1 (en) 2008-11-12
EP1989616A4 (en) 2010-06-16
SE0600447L (sv) 2007-09-03
CN101395577A (zh) 2009-03-25
US20080319555A1 (en) 2008-12-25
US8112165B2 (en) 2012-02-07
WO2007100292A1 (en) 2007-09-07

Similar Documents

Publication Publication Date Title
SE529676C2 (sv) En metod för att utvärdera en applikation, ett automationssystem och en styrenhet
CN103168277B (zh) 用于调试包括多个子系统的过程或制造厂解决方案的方法
Vogel-Heuser et al. Challenges for software engineering in automation
US7865349B2 (en) Simulation, measurement and/or control system and method with coordinated timing
US5970243A (en) Online programming changes for industrial logic controllers
US8943467B2 (en) On-target rapid control prototyping
US7174225B2 (en) Method and system for simulating processing of a workpiece with a machine tool
US20020046397A1 (en) Method for debugging flowchart programs for industrial controllers
EP2687929A1 (en) Computation unit, output control method, and program
EP2887165A1 (en) Computation unit, output control method, and program
AU2010201386A1 (en) Method for executing sequential function charts as function blocks in a control system
EP3104234A1 (en) Programmable controller and device control method using said programmable controller
EP2533114B1 (en) Controller support device, controller support program to be executed in said device, recording medium storing said program, and method for estimating execution duration of control program
US20030033133A1 (en) Simulation system
US20180203973A1 (en) System and simulator for the disengageable simulation of installations or machines within programmable logic controllers
SE529634C2 (sv) En metod för att jämföra variabelvärden erhållna från olika versioner av ett applikationsprogram samt ett automationssystem och en styrenhet
JP2008242572A (ja) 制御処理シミュレーション装置
CN113692558B (zh) Plc系统及其输入输出刷新周期的控制方法
EP4040243A1 (en) Plc-based support for zero-downtime upgrades of control functions
Frey et al. “Safety automata”—A new specification language for the development of PLC safety applications
JP2007233930A (ja) 分散制御システム用シミュレータ
Menager et al. A toolchain for Rapid Control Prototyping using Rexroth controllers and open source software
JP7224261B2 (ja) プラント監視制御システム
JP6620653B2 (ja) プラント監視制御システム用エミュレータ
CN101840204A (zh) 一种自动化控制中的泛控制系统及方法