Remanent minneshantering TC2

Relevanta dokument
Remanent minneshantering TC2

Remanent minneshantering TC2

HANTERING AV UPS CX

H0008 Skrivskydd FBWF

Application Note SW

PROFINET MELLAN EL6631 OCH EK9300

Minneslagring med Novram

Application Note SW

XFC DISTRIBUERADE KLOCKOR

WAGO KNX komma igång guide

KOM IGÅNG GUIDE e!cockpit Av Carsten Holm

Safe Logic Compact. Konfigurering av Rexroth säkerhets PLC. Snabbguide Svenska

IndraView - VCPXX.2. Recepthantering Version 1

Beijer Electronics AB 2000, MA00336A,

Twincat: PLC Control

2.1 Installation of driver using Internet Installation of driver from disk... 3

Geo installationsguide

WAGO IO System Service Seminar. Diagnostik

Operatörspaneler. Magelis G5U. Kom-igång med HMIG5U. Skapad: Rev:

Ladda upp filer fra n PLC till PC

PNSPO! Använda NJ med NS System Memory. 14 mars 2012 OMRON Corporation

Drivrutinen DrvTC2 används för att kommunicera via ADS och PLC:er från Beckhoff.

Innehåll i detta dokument

Supportdokument. HVC Reset. Synpunkter, felaktigheter, önskemål etc. för dokumentet meddelas Fil: Malthe_Suppo_HVC Reset.

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

CoDeSys 2.3.x.x Svensk installationsguide

PNSPO! PLC Backup Tool. 14 mars 2012 OMRON Corporation

Office Quick 7.5. Handbok , Rev C CUSTOMERS, PARTNERS

OMRON. PLC till PLC kommunikation (CP1L-E) Ethernet. 22 april 2014 OMRON Corporation

Användarhandbok. Trio Visit Web. Trio Enterprise 4.1

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

InstalationGuide. English. MODEL:150NHighGain/30NMiniUSBAdapter

Styrteknik : Funktioner och funktionsblock

Lathund Autogiro NovaSecur

Allmänt. Välkommen till SVENSKA VÅGs datorprogram för räknevägning på PC.

Bättre logistik och vindkraft i kallt klimat

Installationsguide ELCAD 7.10

Allmänt. Välkommen till SVENSKA VÅGs datorprogram för viktinsamling på PC.

Styrteknik 7.5 hp distans: E-1000 och E-Designer

Föreläsning 4 IS1300 Inbyggda system

Installation av atmel Studio på mac / linux

Att lägga in BIP i MagiCAD för AutoCAD

Snabbguide. Lägg till PLC i IndraWorks-projekt IndraLogic som Profibusmaster

SND:s användarguide för Colectica for Excel

REGISTRERA DIG IDAG Din guide till Ronnebyporten

Alternativet är iwindows registret som ni hittar under regedit och Windows XP 32 bit.

PNSPO! Minneskort till CJ. 14 mars 2012 OMRON Corporation

Dokumentation för funktionsblocksbibliotek MwaCOMLI

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.

INSTALLATION AV VITEC MÄKLARSYSTEM

Retrieve a set of frequently asked questions about digital loans and their answers

Säkra pausade utskriftsjobb. Administratörshandbok

Microcat Authorisation Server (MAS ) Användarguide

BREDBAND MBIT REGISTRERA DIG IDAG. Din guide till Karlshamnsporten

Quick Start Guide Snabbguide

Design Collaboration Suite

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

Pipelining i Intel 80486

INSTALLATIONS MANUAL

Windlass Control Panel v1.0.1

Styrsystem. Quantum, M340 o Momentum. Kom-igång med konvertera Concept till Unity Rev

Installation av StruSofts låne-licensserver (nätverkslicens)

Svensk version. Inledning. Installation av Windows XP och Vista. LW056V2 Sweex trådlös LAN cardbus-adapter 54 Mbps

Programmera Avant 5 med PC mjukvara

MBIT BREDBAND VI ÄGS AV INVÅNARNA I KARLSHAMN REGISTRERA DIG IDAG. Din lokala elleverantör. Starka på hemmaplan. Din guide till Karlshamnsporten

Allmänt. Välkommen till SVENSKA VÅGs datorprogram för plock kontroll på PC.

Manual licenserver. Installations och konfigurations-manual för Adtollo licenserver

QUICK GUIDE Master reset, initiering och adressering. Master Reset av LCU6516

FactoryCast HMI. Premium & Quantum PLC. MySQL Server och FactoryCast HMI databastjänst

INSTALLATION AV KLIENT

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Instruktion för installation av etikettskrivare 2.27

PNSPO! Tips! Xpectia kommunikation till OMRON PLC via Seriellt. 14 mars 2012 OMRON Corporation

Installera SoS2000. Kapitel 2 Installation Innehåll

Styrsystem. SoMachine TM241 / 251. Kom-igång med SoMachine projekt. Skapad: Rev

LW053 Sweex Wireless LAN USB 2.0 Adapter 54 Mbps

Svensk version. Inledning. Installation av maskinvara. Installation av Windows XP. LW057V2 Sweex trådlösa LAN PCI-kort 54 Mbps

Gränslastberäkning en enkel och snabb väg till maximal bärförmåga

OBS!!! Anslut ej USB kabeln till dator eller GPS innan du först har installerat drivrutinerna för USB kabeln i din dator.

Kom igång med Etikettskrivaren 1. Ladda ner följande installationsprogram Ladda ner Drivrutiner för etikettskrivare Zebra

Installation av Microsoft Office Version 2.1

Övning 1: Skapa virtuell maskin för utveckling.

PM Dokumentation

Detta dokument beskriver enbart konfigurering av FX3U-ENET för att programmera/monitorera via Ethernet.

F Secure Booster är ett verktyg för att snabba upp och städa upp i din pc eller

Instruktion för installation av etikettskrivare 2.31

Lumitester PD-20. Användarmanual. Innehållsförteckning. Styrprogram

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Föreläsning 3. Programmering, C och programmeringsmiljö

Svensk version. Installation av Windows XP och Vista. LW311 Sweex trådlösa LAN Cardbus-adapter 300 Mbps

Bruksanvisning. Swema AB Tel: För support och nedladdning av aktuell programvara kontakta:

6. Nu skall vi ställa in vad som skall hända när man klickar på knappen samt att markören skall ändra sig till en hand när markören är på knappen.

Installera CET Designer och Extensions

IndraDrive Open-loop. Styrning av asynkronmotor över Profibus. Version 1

Styrsystem. SoMachine TM241 / 251. Kom-igång med SoMachine projekt. Skapad: Rev

Svensk version. Inledning. Innehåll. Specifikationer. PU101 Sweex 2 Port Serial ATA RAID PCI Card

Kunskapsbank ICARUS DB

Användarmanual Onepix MDX Installer 1.1 SVENSK

Komponenter med COM (och COM+/VC++ 7.0)

Transkript:

Remanent minneshantering TC2 Alla Beckhoff-system har möjlighet att lagra data vid spänningsbortfall. När spänningen bryts nollställs data som inte har lagrats och i vissa applikationer behöver en del variabler bibehålla sitt värde när systemet startas upp igen, i andra applikationer skall systemet starta upp med samma förinställda grundvärden varje gång. Minneslagring kan ske på olika sätt, det beror på vilken typ av data som skall sparas, hur ofta ändringar skall lagras, mängden data samt vilken typ av hårdvara som skall användas. Detta dokument beskriver endast minneslagring med remanent data i CX och PC-system. Det finns också en överskådlig presentation av UPS hantering beskriven i slutet av dokumentet. Teknisk bakgrund Dokumentet skall användas som hjälp för att använda retain och persistent minnet i Beckhoff-systemen, beskrivningen är endas överskådlig och ej fullständig. De Beckhoffsystem som har använts i olika exempel i detta dokument är listade i tabellen nedan, samt vilket bibliotek som behöver installeras för de respektive systemen: CX Bibliotek Funktionsblock TwinCAT version CX1020 TcUtilities.lib FB_WritePersistentData TwinCAT v2.10 eller högre CX5020 TcSUPS.lib FB_S_UPS TwinCAT v2.11 R3 build 2016 eller högre CX51x0 TcSUPS _CX51x0.lib FB_S_UPS _CX51x0 TwinCAT v2.11 R3 build 2245 eller högre CX8090 TcSystemCX80xx.lib FB_S_UPS_CX80xx TwinCAT v2.11 R3 build 2220 eller högre CX9020 TcSUPS_CX9020_U900 FB_S_UPS_CX9020_U900 TwinCAT v2.11 R3 build 2246 eller CP6606-0001-0020.lib TcSUPS_CX9020_U900.lib FB_S_UPS_CX9020_U900 högre TwinCAT v2.11 R3 build 2246 eller högre Hanteringen av remanent data i Beckhoff-system är i grunden densamma men CX5xx0 och CX80x0 har inbyggd UPS med möjlighet att skriva persistent data vid spänningsbortfall. För att få en 1-sekunders UPS till CX9020/CP6606-0001-0020 behöver en option (CX9020-U900/ C9900-U213) integreras vid tillverkningen. Denna kan inte i efterhand monteras. Exemplen för CX5xx0 samt CX8090 bygger på funktionsblock för att skriva persistent data med hjälp av den integrerade 1-sekund UPS:en vid spänningsbortfall eller omstart. I exemplet för CX1020 finns ingen UPS integrerad, skrivning av persistent data hanteras händelsestyrt med anrop av funktionsblock i PLC koden. Page 1 of 36

1 Remanent data Remanent data är data som bibehåller sin information efter spänningsbortfall. Exempel på lagringsmedium med remanenta egenskaper är hårddiskar, Novram och flashminnen. Retain data och Persistent data är exempel på Remanent data, detta kan skrivas både cykliskt och acykliskt. En UPS är att rekommendera vid användning av retain och persistent data eftersom det är viktigt att kunna stänga ner PLC:n kontrollerat, bryts spänningen vid skrivning till fil kan data annars bli korrupt. Remanent data på Beckhoff CX-system uppnås med hjälp av Novram eller genom att deklarera variabler som Var Retain eller Var Persistent. Det finns också funktionsblock för att kontrollera skrivning av persistent data. Vid kontrollerad nerstängning av TwinCAT skrivs variabler som är deklarerade som Var Retain eller Var Persistent till respektive fil under Boot mappen på målsystemet. 1.1 Persistent data Persistent data är data som ändras i PLC programmet under exekveringen och bibehåller sitt aktuella värde efter en avstängning eller spänningsbortfall av anläggningen. Behåller även data efter förändringar i den befintliga koden t.ex. vid onlineändringar eller när en ny projekt nerladdning görs. Värdena behålls tills de blir överskrivna av PLC kod eller en Reset All görs i TwinCAT PLC Control. Notera! Om en persistent deklarerad variabel är en del av en instans (funktionsblock eller datastrukt) kommer hela instansen att lagras persistent. 1.2 Retain data Retain data är data som behålls efter ett spänningsbortfall, onlineändringar och återstart av TwinCAT men kommer att nollställas av ny nerladdning av PLC-projekt eller vid en Reset All i TwinCAT PLC Control. För att retain data skall kunna användas måste Load/Store Retain Data vara ikryssad i System Managern PLC Configuration under fliken PLC Settings (Target). Page 2 of 36

2 Översikt på enheter med Remanent minne Tabellen visar de olika interna minnen som finns tillgängliga för olika CX-modeller. CX Novram* Flash Minne (Remanent data) Option för 1-sek UPS CX9000 128 KB integrerat Novram 16 Mbyte (internt, går inte att utöka) CX9001 128 KB integrerat Novram 32 Mbyte (internt, går inte att utöka) CX9010 128 KB integrerat Novram 32 Mbyte (internt, går inte att utöka) CX9020 128 KB integrerat Novram 512 Mbyte (microsd, går att utöka) CX9020-U900 1-sekund UPS CP6606-0001-0020 Inget integrerat Novram 512 Mbyte (microsd, går att utöka) C9900-U213 1-sekund UPS + 128 kbyte NOVRAM CX80x0 Inget integrerat Novram Integrerad 1-Sekund UPS, 1 Mbyte på microsd kort CX10x0 Integrerat 8 kbytes i separat spänningsaggregat CX1100-000x 64 Mbyte (CF kort, går att utöka) CX5010/CX5020 Inget integrerat Novram Integrerad 1-Sekund UPS, 1 Mbyte på CF kort CX51x0 Inget integrerat Novram Integrerad 1-Sekund UPS, 1 Mbyte på CF kort CX20x0 128 KB integrerat Novram 4 el 8 Gbyte (CFast kort, går att utöka) PC/IPC Inget integrerat Novram HDD, SSD, CF kort, CFast kort C9900-U211, C9900-U212, C9900-U213, C9900-U214 * Novram finns inbyggt i vissa system, en form av remanent minne. Hanteras i ett separat dokument. 3 Hantering av Retain och Persistent data i Beckhoff system Vid uppstart av CX-system, Embedded PC och PC- system läses filer från Boot mappen i flashminnet, där finns information om program och parametrar (data-backup). Boot mappen ligger under c:\twincat\boot för system med Windows Embedded Standard/XP operativ och för system med Windows CE/Compact 7 operativ ligger Boot mappen under \Hard Disk\TwinCAT\Boot. BC-och BX-systemen fungerar annorlunda och har en intern minnesarea specificerad för remanent data och hanteringen är helt annorlunda mot CX-systemen. Där är det adresseringen av variabeln som avgör om den är remanent eller inte, detta förklaras inte i detta dokument. CX5xx0, CP6606-0001-0020 och CX8090 har inget Novram, använd 1-sekund UPS för att säkert lagra persistent data på Compact Flash/microSD kort, retain data supportas inte av 1-sekund UPS:en. Upp till 1 MB data kan lagras med 1-sekund UPS. Page 3 of 36

Exempel på hur variabeldeklaration kan se ut: När TwinCAT stängs ner kontrollerat kommer retain och persistent data att skrivas i sina respektive filer på hårddisken, TCPLC_R_x.wbp och TCPLC_T_x.wbp. Grundinställt hamnar dessa två filer under Boot mappen. Bryts spänningen utan en korrekt nedstängning av systemet kommer ingen retain eller persistent fil att hinna skapas och vid uppstart finns ingen fil att läsa. När systemet startar upp på nytt kommer dessa filer att läsas in och wbp filen byter samtidigt namn till wb~ och blir en back-up fil. En ny wbp fil skapas inte förrän en ny skrivning sker. Det kan därför bli problem om ett system startas om två gånger eftersom det inte finns någon wpa fil att läsa andra gången om inte en sparning har gjorts mellan avstängningarna (och en ny fil har hunnit skapas). På Windows Embedded Operativ finns möjlighet att aktivera skrivskydd, EWF och FBWF. Kontrollera att Boot mappen inte är skrivskyddad, i det fallet går det inte att skapa retain eller persistent fil. Tabell: Backup-filer remanent data Fil namn TCPLC_P_x.wbp TCPLC_R_x.wbp TCPLC_T_x.wbp TCPLC_R_x.wb~ TCPLC_T_x.wb~ Beskrivning Boot projekt (x = nummer på run-time systemet) RETAIN variabler (x = nummer på run-time systemet) PERSISTENT variabler (x = nummer på run-time systemet) Backup kopia på RETAIN variabler (x = nummer på run-time systemet) Backup kopia på PERSISTENT variabler (x = nummer på run-time systemet) Fördelen med att skriva den persistenta datan till fil med funktionsblock är att kunna på ett kontrollerat sätt spara data och på så sätt vara säker på att det finns en wpb fil. Rekommendationen är att använda sig av funktionsblocket (FB_WritePersistentData) som skapar wpb fil, och efter uppstart med en korrekt inläsning skriva tillbaka filen. Vid uppläsning av wpb fil skapas en wb~ fil. Då finns alltid har en korrekt skriven backupfil Page 4 of 36

som kan användas om ett spänningsbortfall skulle uppstå som gör att systemet ej hinner skriva ned den persistenta filen korrekt. För att kunna kontrollera om persistent och retain data är korrekt läst från fil finns en systemvariabel, bootdataflags (1 byte stor) i biblioteket TcSystem.lib. Denna byte indikerar status på boot data efter laddande av den. De övre fyra bitarna (b4-b7) talar om status för den persistenta datan och de under fyra bitarna (b0-b3) indikerar status på retaindatan. Exempelvis går det att kontrollera att den persistenta datan är korrekt uppladdad med nedan kod (bit 4 i bootdataflags): Bit nummer Beskrivning 0 RETAIN variabler: LOADED (utan fel) 1 RETAIN variabler: INVALID (back-up kopian blev laddad, eftersom ingen giltig data fanns tillgänglig) 2 RETAIN variabler: REQUESTED (RETAIN variabler ska laddas, en inställning i TwinCAT System Control) 3 Reserverad 4 PERSISTENT variabler: LOADED (utan fel) 5 PERSISTENT variabler: INVALID (back-up kopian blev laddad, eftersom ingen giltig data fanns tillgänglig) 6 Reserverad 7 Reserverad Page 5 of 36

Om det inte går att skriva till retain eller persistent filen då TwinCAT stängs ner eller om filen blir korrupt av annan anledning, kommer backupfilen att laddas vid uppstart av systemet och bit 1 sätts i bootdataflags för retain respektive bit 5 för persistent. Vill man inte att denna backup fil skall laddas kan man i System Managern välja bort detta genom att kryssa för Clear Invalid Retain Data eller Clear Invalid Persistent Data. Väljer man detta alternativ kommer retain och persistenta variabler att starta med initieringsvärdet eller värdet 0 om ingen retain/persistent fil finns att ladda, dvs. den laddar ingen backupfil. Notera! Load/Store Retain Data i bilden ovan skall endast kryssas i om retain data skall användas, den har inget med persistent data att göra. Routerminnet måste vara tillräckligt stort för att kunna spara persistent data. Normalt behöver inte detta ökas men om Exceed countern i Tasken ökar när persistent data skrivs skulle detta kunna bero på att Routerminnet behöver utökas. Page 6 of 36

4 Exempel 1, Persistent data med funktionsblock för en CX1020. För att använda persistent data till CX och PC så rekommenderas att använda funktionsblock som finns i bibliotek TcUtilities.Lib. Detta följer med vid installation av TwinCAT men behöver länkas in i mjukvaran. Funktionsblocket FB_WritePersistentData kan nyttjas för att vid önskat tillfälle skriva ner den persistenta datan till lagringsmediet. Notera att det endast är persistent data, inte retain data som skrivs med detta funktionsblock. Val av CPU PLC bibliotek att inkludera TwinCAT version PC eller CX (x86) TwinCAT v2.9.0 Build >= 959 CX med Intel (x86 processor) TcUtilities.Lib TwinCAT v2.10.0 Build >= 1301 CX med ARM processor (Standard.Lib; TcBase.Lib; TcSystem.Lib inkluderas per automatik) Page 7 of 36

4.1 Lägg till bibliotek i PLC Control Börja med att addera biblioteket i TwinCAT - PLC Control. Skapa ett nytt projekt. Gå in i menyn File New. Välj flik Resources. Markera Library Manager, dubbelklicka på den, högerklicka någonstans i det vita fältet (se bilden nedan) och välj Additional Library. Öppna biblioteket som heter TcUtilities. Page 8 of 36

Biblioteket är nu adderat och funktionsblocket går att använda i projektet. I programexemplet är Main programmet skapat i Strukturerad Text och programdelen med persistent data funktionsblock är skapat i Funktions Blocks Diagram editorn. Lägg till en box, markera texten AND, klicka F2 för att öppna Input assistant. Välj funktionsblock FB_WritePersistentData, klicka OK. Page 9 of 36

Funktionsblocket skall deklareras med ett instansnamn, i exemplet nedan heter den fbpersistent. Skriv namnet ovan funktionsblocket och tryck på Enter, deklarera variabeln genom att klicka OK. Nu är funktionsblocket deklarerat enligt bilden nedan. 4.2 Beskrivning av funktionsblocket FB_WritePersistentData Page 10 of 36

Beskrivning på ingångspinnar till funktionsblocket FB_WritePersistentData Var Input Typ Beskrivning NETID T_AmsNetId AmsNetId adress, på lokal PC skriv en tom sträng PORT UINT ADS portnummer på den PLC runtime persistent data skall skrivas till START BOOL Positiv flank på denna bit aktiverar skrivning TMOUT Time Ange längden på den timeout som inte får överskridas under exekveringen av ADS kommandon (ADSWRTCTRL) MODE E_PersistentMode Persistent data mode SPDM_2PASS := 0 *1) All persistentdata är från samma PLC cykel (skrivs ner under ett scanvarv). Kan när skrivning sker påverka så att PLC cykel tid SPDM_VAR_BOOST := 1 överskrids Data i varje persistentvariabel är från samma PLC cykel (skrivning delas upp under flera scanvarv). Överskrider endast PLC cykeltiden ifall skrivning av den största persistenta variabeln tar längre tid att skriva än vad PLC cykeltiden är. (Rekommenderas ej med 1-sekunds UPS:en) *1) Rekommenderas i normalfallet, är det mycket persistent data så kan det dock vara bättre att dela upp skrivningen med mode SPDM_VAR_BOOST. Kontrollera om Exceed counter räknar upp i System Manager, byt då till SPDM_VAR_BOOST. Med 1- sekund UPS bör endast grundinställd parameter SPDM_2PASS användas, detta för att undvika att kondensatorn hinner ladda ur innan all data hunnit skrivas vilket skulle kunna bli fallet om det är mycket data och alternativet SPDM_VAR_BOOST valts. Beskrivning på utgångspinnar till funktionsblocket FB_WritePersistentData Var Output Typ Beskrivning BUSY BOOL Denna bit är satt så länge funktionsblocket exekveras, så länge skrivning/läsning pågår ERR BOOL Fel flagga, indikerar ADS error ERRID UDINT Om ERR är satt kan ADS felkoden utläsas i denna "ADS Return Codes Page 11 of 36

4.3 Exempelkod i TwinCAT PLC Control för CX1020 Deklarera de variabler som skall vara persistenta som VAR PERSISTENT När PLC koden är klar skall programdelen PersistentData läggas till i Main programmet, se bild nedan: Persistent data kommer att skrivas till fil i Boot mappen på positiv flank när bstart i exemplet ovan aktiveras. Page 12 of 36

5 Exempel 2, Persistent data och UPS med funktionsblock för en CX5020. CX50x0 har inbyggd 1-sekund UPS med kapacitet att lagra 1 MB persistent data och göra en QuickShutdown av operativet vid spänningsbortfall. Använd funktionsblocket FB_S_UPS som finns i biblioteket TcSUPS. Detta bibliotek följer med vid installation av TwinCAT 2.11 (build 2021 och högre) men behöver länkas in i mjukvaran. Funktionsblocket FB_WritePersistentData kan nyttjas för att vid önskat tillfälle skriva ner den Persistenta datan till minnet. Notera att det endast är persistent data, inte retain data som skrivs med detta funktionsblock. Det går att kombinera funktionsblocket FB_S_UPS och funktionsblocket FB_WritePersistentData som hanterades i exempel 1 (sidan 7), funktionsblocken skall ha unika instansnamn. 5.1 Lägg till bibliotek i PLC Control Börja med att addera biblioteket i TwinCAT - PLC Control. Skapa ett nytt projekt. Gå in i menyn File New. Välj flik Resources. Markera Library Manager, dubbelklicka på den, högerklicka någonstans i det vita fältet (se bilden nedan) och välj Additional Library. Page 13 of 36

Öppna biblioteket som heter TcSUPS. Biblioteket är nu adderat och funktionsblocket går att använda i projektet. I programexemplet är Main programmet skapat i Strukturerad Text och programdelen med Persistent data funktionsblock är skapat i Funktions Blocks Diagram editorn. Page 14 of 36

Lägg till en box, markera texten AND, klicka F2 för att öppna Input assistant. Välj funktionsblock FB_S_UPS, klicka OK. Funktionsblocket skall deklareras med ett instansnamn, i exemplet nedan heter den fbpersistent. Skriv namnet ovan funktionsblocket och tryck på Enter, deklarera variabeln genom att klicka OK. Page 15 of 36

Nu är funktionsblocket deklarerat enligt bilden nedan. 5.2 Beskrivning av funktionsblocket FB_S_UPS Beskrivning på ingångspinnar till funktionsblocket FB_S_UPS Var Input Typ Beskrivning snetid T_AmsNetId AmsNetId adress, på lokal PC skriv en tom sträng iplcport UINT ADS portnummer på den PLC runtime persistent data skall skrivas till iupsport UINT 16#4A8 port för att läsa Power state på UPS ttimeout Time ADS Timeout eupsmode E_PersistentMode esups_wrpersistdata_shutdown (grundinställning): esups_wrpersistdata_noshutdown esups_immediateshutdown esups_checkpowerstatus Skriver persistent data och därefter genomförs en QuickShutdown Endast skrivning av persistent data (ingen QuickShutdown) Endast QuickShutdown (ingen skrivning av persistent data) Endast status kontroll (ingen skrivning av persistent data eller QuickShutdown) epersistentmode E_PersistentMode Persistent data mode SPDM_2PASS := 0 *1) All persistent data är från samma PLC cykel (skrivs ner under ett scanvarv). Kan när skrivning sker påverka så att PLC cykel tid överskrids SPDM_VAR_BOOST := 1 Data i varje persistent variabel är från samma PLC cykel (skrivning delas upp under flera scanvarv). Rekommenderas ej med 1-sekunds UPS:en trecovertime Time Tid för att återhämta sig från korta strömavbrott i läge esups_wrpersistdata_noshutdown / esups_checkpowerstatus *1) Rekommenderas i normalfallet. Med 1-sekund UPS bör endast grundinställd parameter SPDM_2PASS användas, detta för att undvika att kondensatorn hinner ladda ur innan all data hunnit skrivas vilket skulle kunna bli fallet om det är mycket data och alternativet SPDM_VAR_BOOST valts. Page 16 of 36

Beskrivning på utgångspinnar till funktionsblocket FB_S_UPS Var Output Typ Beskrivning bpowerfaildetect BOOL Denna bit är till då spänningsbortfall detekteras estate E_S_UPS_State esups_powerok: Spänning är OK esups_powerfailure: Spänningsbortfall detekterats (endast till ett scanvarv) esups_writepersistentdata: Skriving av persistent data är aktiv esups_quickshutdown: QuickShutdown är aktiv esups_waitforrecover: väntar i 10s innan PowerOK går till igen (gäller endast då mode valts utan Shutdown) esups_waitforpoweroff: Väntar på att stänga av PC med UPS 5.3 Exempelkod i TwinCAT PLC Control för CX5020 Deklarera de variabler som skall vara persistenta som VAR PERSISTENT När PLC koden är klar skall programdelen UPS_Persistent läggas till i Main programmet, se bild nedan: Page 17 of 36

6 Exempel 2, Persistent data och UPS med funktionsblock för en CX51x0. CX51x0 har inbyggd 1-sekund UPS med kapacitet att lagra 1 MB persistent data och göra en QuickShutdown av operativet vid spänningsbortfall. Använd funktionsblocket FB_S_UPS_CX51x0 som finns i biblioteket TcSUPS_CX51x0. Detta bibliotek följer med vid installation av TwinCAT 2.11 R3 (build 2245 och högre) men behöver länkas in i mjukvaran. Funktionsblocket FB_WritePersistentData kan nyttjas för att vid önskat tillfälle skriva ner den Persistenta datan till minnet. Notera att det endast är persistent data, inte retain data som skrivs med detta funktionsblock. Det går att kombinera funktionsblocket FB_S_UPS_CX51x0 och funktionsblocket FB_WritePersistentData som hanterades i exempel 1 (sidan 7), funktionsblocken skall ha unika instansnamn. 6.1 Lägg till bibliotek i PLC Control Börja med att addera biblioteket i TwinCAT - PLC Control. Skapa ett nytt projekt. Gå in i menyn File New. Välj flik Resources. Markera Library Manager, dubbelklicka på den, högerklicka någonstans i det vita fältet (se bilden nedan) och välj Additional Library. Page 18 of 36

Öppna biblioteket som heter TcSUPS_CX51x0. Biblioteket är nu adderat och funktionsblocket går att använda i projektet. Page 19 of 36

I programexemplet är Main programmet skapat i Strukturerad Text och programdelen med Persistent data funktionsblock är skapat i Funktions Blocks Diagram editorn. Lägg till en box, markera texten AND, klicka F2 för att öppna Input assistant. Välj funktionsblock FB_S_UPS_CX51x0, klicka OK. Funktionsblocket skall deklareras med ett instansnamn, i exemplet nedan heter den fbpersistent. Skriv namnet ovan funktionsblocket och tryck på Enter, deklarera variabeln genom att klicka OK. Page 20 of 36

Nu är funktionsblocket deklarerat enligt bilden nedan. 6.2 Beskrivning av funktionsblocket FB_S_UPS_CX51x0 Beskrivning på ingångspinnar till funktionsblocket FB_S_UPS_CX51x0 Var Input Typ Beskrivning snetid T_AmsNetId AmsNetId adress, på lokal PC skriv en tom sträng iplcport UINT ADS portnummer på den PLC runtime persistent data skall skrivas till iupsport UINT 16#4A8 port för att läsa Power state på UPS ttimeout Time ADS Timeout eupsmode E_PersistentMode esups_wrpersistdata_shutdown (grundinställning): esups_wrpersistdata_noshutdown esups_immediateshutdown esups_checkpowerstatus Skriver persistent data och därefter genomförs en QuickShutdown Endast skrivning av persistent data (ingen QuickShutdown) Endast QuickShutdown (ingen skrivning av persistent data) Endast status kontroll (ingen skrivning av persistent data eller QuickShutdown) epersistentmode E_PersistentMode Persistent data mode SPDM_2PASS := 0 *1) All persistent data är från samma PLC cykel (skrivs ner under ett scanvarv). Kan när skrivning sker påverka så att PLC cykel tid överskrids SPDM_VAR_BOOST := 1 Data i varje persistent variabel är från samma PLC cykel (skrivning delas upp under flera scanvarv). Rekommenderas ej med 1-sekunds UPS:en trecovertime Time Tid för att återhämta sig från korta strömavbrott i läge esups_wrpersistdata_noshutdown / esups_checkpowerstatus *1) Rekommenderas i normalfallet. Med 1-sekund UPS bör endast grundinställd parameter SPDM_2PASS användas, detta för att undvika att kondensatorn hinner ladda ur innan all data hunnit skrivas vilket skulle kunna bli fallet om det är mycket data och alternativet SPDM_VAR_BOOST valts. Page 21 of 36

Beskrivning på utgångspinnar till funktionsblocket FB_S_UPS_CX51x0 Var Output Typ Beskrivning bpowerfaildetect BOOL Denna bit är till då spänningsbortfall detekteras estate E_S_UPS_State esups_powerok: Spänning är OK esups_powerfailure: Spänningsbortfall detekterats (endast till ett scanvarv) esups_writepersistentdata: Skriving av persistent data är aktiv esups_quickshutdown: QuickShutdown är aktiv esups_waitforrecover: väntar i 10s innan PowerOK går till igen (gäller endast då mode valts utan Shutdown) esups_waitforpoweroff: Väntar på att stänga av PC med UPS 6.3 Exempelkod i TwinCAT PLC Control för CX51x0 Deklarera de variabler som skall vara persistenta som VAR PERSISTENT När PLC koden är klar skall programdelen UPS_Persistent läggas till i Main programmet, se bild nedan: Page 22 of 36

7 Exempel 3, Persistent data och UPS med funktionsblock för en CX8090. CX80x0 har inbyggd 1-sekund UPS med kapacitet att lagra 1 MB persistent data och göra en QuickShutdown av operativet vid spänningsbortfall. Använd funktionsblock som finns i biblioteket TcSystemCX80xx. Detta bibliotek finns med vid installation av TwinCAT 2.11 R3 (build 2220 eller högre) men behöver länkas in i mjukvaran. Funktionsblocket FB_WritePersistentData kan nyttjas för att vid önskat tillfälle skriva ner den persistenta datan till minnet. Notera att det endast är Persistent data, inte Retain data som skrivs med detta funktionsblock. Det går att kombinera funktionsblocket FB_S_UPS_CX80xx och funktionsblocket FB_WritePersistentData som hanterades i exempel 1 (sidan 7), funktionsblocken skall ha unika instansnamn. 7.1 Lägg till bibliotek i PLC Control Börja med att addera biblioteket i TwinCAT - PLC Control. Skapa ett nytt projekt. Gå in i menyn File New. Välj flik Resources. Page 23 of 36

Markera Library Manager, dubbelklicka på den, högerklicka någonstans i det vita fältet (se bilden nedan) och välj Additional Library. Öppna biblioteket som heter TcSystemCX80xx. Biblioteket är nu adderat och funktionsblocket går att använda i projektet. Page 24 of 36

I programexemplet är Main programmet skapat i Strukturerad Text och programdelen med Persistent data funktionsblock är skapat i Funktions Blocks Diagram editorn. Lägg till en box, markera texten AND, klicka F2 för att öppna Input assistant. Välj funktionsblock FB_S_UPS_CX80xx, klicka OK. Funktionsblocket skall deklareras med ett instansnamn, i exemplet nedan heter den fbpersistent. Skriv namnet ovan funktionsblocket och tryck på Enter, deklarera variabeln genom att klicka OK. Page 25 of 36

Nu är funktionsblocket deklarerat enligt bilden nedan. 7.2 Beskrivning av funktionsblocket FB_S_UPS_CX80xx Beskrivning på ingångspinnar till funktionsblocket FB_S_UPS_CX80xx Var Input Typ Beskrivning snetid T_AmsNetId AmsNetId adress, på lokal PC skriv en tom sträng iplcport UINT ADS portnummer på den PLC runtime persistent data skall skrivas till ttimeout Time ADS Timeout eupsmode E_PersistentMode esups_wrpersistdata_shutdown (grundinställning): esups_wrpersistdata_noshutdown esups_immediateshutdown esups_checkpowerstatus Skriver persistent data och därefter genomförs en QuickShutdown Endast skrivning av persistent data (ingen QuickShutdown) Endast QuickShutdown (ingen skrivning av persistent data) Endast status kontroll (ingen skrivning av persistent data eller QuickShutdown) epersistentmode E_PersistentMode Persistent data mode SPDM_2PASS := 0 *1) All persistent data är från samma PLC cykel (skrivs ner under ett scanvarv). Kan när skrivning sker påverka så att PLC cykel tid överskrids SPDM_VAR_BOOST := 1 Data i varje persistent variabel är från samma PLC cykel (skrivning delas upp under flera scanvarv). Rekommenderas ej med 1-sekunds UPS:en trecovertime Time Tid för att återhämta sig från korta strömavbrott i läge esups_wrpersistdata_noshutdown / esups_checkpowerstatus *1) Rekommenderas i normalfallet. Med 1-sekund UPS bör endast grundinställd parameter SPDM_2PASS användas, detta för att undvika att kondensatorn hinner ladda ur innan all data hunnit skrivas vilket skulle kunna bli fallet om det är mycket data och alternativet SPDM_VAR_BOOST valts. Page 26 of 36

Beskrivning på utgångspinnar till funktionsblocket FB_S_UPS_CX80xx Var Output Typ Beskrivning bpowerfaildetect BOOL Denna bit är till då spänningsbortfall detekteras estate E_S_UPS_State esups_powerok: Spänning är OK esups_powerfailure: Spänningsbortfall detekterats (endast till ett scanvarv) esups_writepersistentdata: Skriving av persistent data är aktiv esups_quickshutdown: QuickShutdown är aktiv esups_waitforrecover: väntar i 10s innan PowerOK går till igen (gäller endast då mode valts utan Shutdown) esups_waitforpoweroff: Väntar på att stänga av PC med UPS 7.3 Exempelkod i TwinCAT PLC Control för CX8090 Deklarera de variabler som skall vara persistenta som VAR PERSISTENT När PLC koden är klar skall programdelen UPS_Persistent läggas till i Main programmet, se bild nedan: Page 27 of 36

8 Exempel 4, Persistent data och UPS med funktionsblock för en CX9020 eller CP6606-0001- 0020. CX9020 och CP6606-0001-0020 har en option för 1-sekund UPS med kapacitet att lagra 1 MB persistent data. Använd funktionsblock FB_S_UPS_CX9020_U900 som finns i biblioteket TcSUPS_CX9020_U900.lib. Detta bibliotek finns med vid installation av TwinCAT 2.11 R3 (build 2247 eller högre) men behöver länkas in i mjukvaran. Funktionsblocket FB_WritePersistentData kan nyttjas för att vid önskat tillfälle skriva ner den persistenta datan till minnet. Notera att det endast är Persistent data, inte Retain data som skrivs med detta funktionsblock. Det går att kombinera funktionsblocket FB_S_UPS_CX9020_U900 och funktionsblocket FB_WritePersistentData som hanterades i exempel 1 (sidan 7), funktionsblocken skall ha unika instansnamn. 8.1 Lägg till bibliotek i PLC Control Börja med att addera biblioteket i TwinCAT - PLC Control. Skapa ett nytt projekt. Gå in i menyn File New. Välj flik Resources. Markera Library Manager, dubbelklicka på den, högerklicka någonstans i det vita fältet (se bilden nedan) och välj Additional Library. Page 28 of 36

Öppna biblioteket som heter TcSUPS_CX9020_U900.lib. Biblioteket är nu adderat och funktionsblocket går att använda i projektet. Page 29 of 36

I programexemplet är Main programmet skapat i Strukturerad Text och programdelen med Persistent data funktionsblock är skapat i Funktions Blocks Diagram editorn. Lägg till en box, markera texten AND, klicka F2 för att öppna Input assistant. Välj funktionsblock TcSUPS_CX9020_U900, klicka OK. Funktionsblocket skall deklareras med ett instansnamn, i exemplet nedan heter den fbpersistent. Skriv namnet ovan funktionsblocket och tryck på Enter, deklarera variabeln genom att klicka OK. Page 30 of 36

Nu är funktionsblocket deklarerat enligt bilden nedan. 8.2 Beskrivning av funktionsblocket TcSUPS_CX9020_U900 Beskrivning på ingångspinnar till funktionsblocket FB_S_UPS_CX9020_U900 Var Input Typ Beskrivning snetid T_AmsNetId AmsNetId adress, på lokal PC skriv en tom sträng iplcport UINT ADS portnummer på den PLC runtime persistent data skall skrivas till ttimeout Time ADS Timeout eupsmode E_PersistentMode esups_wrpersistdata_shutdown (grundinställning): esups_wrpersistdata_noshutdown esups_immediateshutdown esups_checkpowerstatus Skriver persistent data och därefter genomförs en QuickShutdown Endast skrivning av persistent data (ingen QuickShutdown) Endast QuickShutdown (ingen skrivning av persistent data) Endast status kontroll (ingen skrivning av persistent data eller QuickShutdown) epersistentmode E_PersistentMode Persistent data mode SPDM_2PASS := 0 *1) All persistent data är från samma PLC cykel (skrivs ner under ett scanvarv). Kan när skrivning sker påverka så att PLC cykel tid överskrids SPDM_VAR_BOOST := 1 Data i varje persistent variabel är från samma PLC cykel (skrivning delas upp under flera scanvarv). Rekommenderas ej med 1-sekunds UPS:en trecovertime Time Tid för att återhämta sig från korta strömavbrott i läge esups_wrpersistdata_noshutdown / esups_checkpowerstatus *1) Rekommenderas i normalfallet. Med 1-sekund UPS bör endast grundinställd parameter SPDM_2PASS användas, detta för att undvika att kondensatorn hinner ladda ur innan all data hunnit skrivas vilket skulle kunna bli fallet om det är mycket data och alternativet SPDM_VAR_BOOST valts. Page 31 of 36

Beskrivning på utgångspinnar till funktionsblocket FB_S_UPS_CX9020_U900 Var Output Typ Beskrivning bpowerfaildetect BOOL Denna bit är till då spänningsbortfall detekteras estate E_S_UPS_State esups_powerok: Spänning är OK esups_powerfailure: Spänningsbortfall detekterats (endast till ett scanvarv) esups_writepersistentdata: Skriving av persistent data är aktiv esups_quickshutdown: QuickShutdown är aktiv esups_waitforrecover: väntar i 10s innan PowerOK går till igen (gäller endast då mode valts utan Shutdown) esups_waitforpoweroff: Väntar på att stänga av PC med UPS 8.3 Exempelkod i TwinCAT PLC Control för CX9020 eller CP6606-0001-0020 Deklarera de variabler som skall vara persistenta som VAR PERSISTENT När PLC koden är klar skall programdelen UPS_Persistent läggas till i Main programmet, se bild nedan: Page 32 of 36

UPS Används ingen UPS och spänningen till systemet bryts så kommer TwinCAT inte att stängas ner korrekt och ingen skrivning sker av Retain eller Persistent data. Vid återstart kommer variablerna att initieras med senast sparad data (backupdata) som kan vara gammal, från senaste korrekta TwinCAT nedstängning eller 0. Med UPS kommer informationen om ett spänningsbortfall att ges till TwinCAT System Service som stänger ner TwinCAT kontrollerat och skriver ner Persistent och Retain data till respektive fil. Efter lagring av data kommer TwinCAT System Service att stänga ner Windows operativsystem. Page 33 of 36

Det finns olika UPS som kan användas till Beckhoff systemen: Standard UPS (C9900-U330 + (C9900-U209 eller C9900-P209)) - 24V UPS med batteripaket till Beckhoff Industri PC och Control Paneler CX1190-UPS (CX1100-09x0) - För CX1010, CX1020 och CX1030 CX2100-UPS (CX2100-0904) - För CX2020, CX2030 och CX2040 1 sekund UPS (gör en Quickshutdown) - Finns inbyggt i CX50x0 och CX80x0 - Tillval (C9900-U211) till Control Panel CP62xx, CP77xx med Intel Atom moderkort - Tillval (C9900-U213) till Control Panel CP6606-0001-0020 - Tillval (C9900-U900) till CX9020 - Tillval (C9900-U212) till Control Panel CP26xx, CP66xx med ARM processor - Tillval till Industri PC C6915 Page 34 of 36

Page 35 of 36

Exempel med UPS Fel i och förbättringar av detta dokument meddelas till support@beckhoff.se. This publication contains statements about the suitability of our products for certain areas of application. These statements are based on typical features of our products. The examples shown in this publication are for demonstration purposes only. The information provided herein should not be regarded as specific operation characteristics. It is incumbent on the customer to check and decide whether a product is suit-able for use in a particular application. We do not give any warranty that the source code which is made available with this publication is complete or accurate. This publication may be changed at any time with-out prior notice. No liability is assumed for errors and/or omissions. Our products are described in detail in our data sheets and documentations. Product-specific warnings and cautions must be observed. For the latest version of our data sheets and documentations please visit our website (www.beckhoff.com). Beckhoff Automation GmbH, September 2009 The reproduction, distribution and utilisation of this document as well as the communication of its contents to others without express authorisation is prohibited. Offenders will be held liable for the payment of damages. All rights reserved in the event of the grant of a patent, utility model or design. Page 36 of 36