Hop til indhold
  • 0

Enum Forviring


JohnDK
 Share

Spørgsmål

Hej alle

 

Dette er nok et "dummy" spørgsmål.

Jeg er løbet ind i nogle problemer med hensyn til sammenkobling af FB til Alarm styring.

PT benyttes følgende alarm blokke:

 

6.2.02.#1b. Pir og Magnetkreds - Zone x (Modificeret til 4 magnetkredse + 2 pir kredse)

6.2.02.#2b. Alarm Hovedblok (Modificeret med hensyn til Enum struktur)

6.2.02.#3b. Log af Tyverialarm og røgalarm

 

Alarm hovedblokken er blevet modificeret således at Zone 2 er blevet modificeret således at log skrivninger passer til 4 magnet kredse og 2 pir kredse.

I Enum 6.2.02 alarm er der blevet tilføjet nye konstanter.

 

Nu er mit problem at IHC visual ikke vil sammenkoble Enum fra "6.2.02.#3b. Log af Tyverialarm og røgalarm" sammen med Enum fra "6.2.02.#2b. Alarm Hovedblok", da disse er længere er af samme type.

Hvordan får jeg FB "6.2.02.#3b. Log af Tyverialarm og røgalarm" til at "pege" på den Enum som jeg har opdateret med flere værdier?

 

Mvh John

Link til kommentar
Del på andre sites

7 svar på dette spørgsmål

Recommended Posts

  • 0

Man skifter ikke imellem forskellige enum menuer.

Hvis du er heldig kan du nøjes med at tilføje dine nye i de øvrige fb'er, du må IKKE slette nogen uden et GRUNDIGT check af programmet.

Hvis du ikke er heldig - ja så er der kun een vej tilbage, udskiftning. Hvilket er et stort arbejde, og et arbejde som i et komplekst system som alarmen hurtigt kan gribe om sig. Hvis f.eks andre end de tre fb'er du nævner bruger den samme enum skal den også rettes i denne fb, ellers ender du med en stribe fb'er som ikke kan "snakke" sammen.

Gem endelig dine rettede fb'er under et nyt navn.

Link til kommentar
Del på andre sites

  • 0

Hej Henning

 

Ja nu er det jo prøvet, men jeg viste jo nok svaret på forhånd.

Man ikke blot tilføje de samme konstanter mellem forskellige enum'er. DEnu'en skal være af samme type, og i og med Visual ikke kan ved hvad de forskellige Enum'er indeholder og kun kan læse typen er det ikke muligt at tilføjde variable.

MAGE til ELENDIGT programmeringsværktøj skal man sg lede længe efter. Tænk hvis C, C++, C#, CodeSys, TIA portal... Ja "you name it" var bygget således at du IKKE kunne tilføje flere værdier til en struct. Det er jo fuldstændigt nyttelyst. ALLE FB der bruger den pågældende Enum skal være tilstede i projektet før man kan tilføje variable/kontanter i Enum.

Det er sg da bondegårds programmering af største skuffe. 

Hvis man f.eks har brugt f.eks 4 stk "6.2.02.#1b. Pir og Magnetkreds - Zone x", tilføjet disse til projektet og ændret Enum, så virker det.. Men lad os så sige at projektet bliver udvidet et par år senere med endnu en "6.2.02.#1b. Pir og Magnetkreds - Zone x", så vil der blive oprettet endnu en Enum med samme navn (se vedhæftet screenshot), men med færre værdier... Og de to kan IKKE snakke sammen.

Med andre ord projektet er låst og kan ikke udvides.

Hvis der er nogen fra Schneider der følger dette forum, så må I sg gerne bringe videre at jeres Ecosystem til bygningsbranchen / automation er det absolut ringeste på markedet :-(

 

Den eneste grund til at jeg bruger IHC er IHC wireless. Ellers hed det KNX hos mig.

I nybyggeri vil jeg til enhver foretrække KNX.

Min løsning ud af dette mareridt er at slette ALLE alarm FB, og derefter tilføje alle Alarm FB igen + 9-10 ekstra FB som Dummy FB af forskellig art til videre udvidelse, derefter ændre Enum og tilføje 100 dummy variable/konstanter. Det er efter min opfattelse den eneste måde at løse problemet på. videre udvidelse, derefter ændre Enum og tilføje 100 dummy variable/konstanter. Det er efter min opfattelse den eneste måde at løse problemet på. 

post-6691-0-14077400-1430934686_thumb.jp

Link til kommentar
Del på andre sites

  • 0

Det er rigtigt at enum skal være samme slags, for at de kan "snakke" sammen... Det kræver lige at man holder tungen lige i munden, hvis man begynder at tilføje ekstra værdier. Især i de alarm funktionsblokke du anvender der, grundet opbygningen med at flere fb. skal kobles sammen, og man derved også skal ind og tilføje nye caseværdier i hovedalarmblokken, for at eksempelvis funktionsblokken til log af alarmer også kan vise de nye værdier.

Hvis man senere vil tilføje flere  "6.2.02.#1b. Pir og Magnetkreds - Zone x" til sit projekt, efter man har rettet i enum, kan man i stedet for at indsætte den/dem på normal vis fra funktionsblokbiblioteket, kopiere en af dem man har sat ind med rettet enum, ved at markere den og trykke "ctrl+c" og tilføje den under lokationen med "ctrl+v". Så fungerer den uden at man skal rette enum igen igen igen....

Link til kommentar
Del på andre sites

  • 0

Det er rigtigt at enum skal være samme slags, for at de kan "snakke" sammen... Det kræver lige at man holder tungen lige i munden, hvis man begynder at tilføje ekstra værdier. Især i de alarm funktionsblokke du anvender der, grundet opbygningen med at flere fb. skal kobles sammen, og man derved også skal ind og tilføje nye caseværdier i hovedalarmblokken, for at eksempelvis funktionsblokken til log af alarmer også kan vise de nye værdier.

Hvis man senere vil tilføje flere  "6.2.02.#1b. Pir og Magnetkreds - Zone x" til sit projekt, efter man har rettet i enum, kan man i stedet for at indsætte den/dem på normal vis fra funktionsblokbiblioteket, kopiere en af dem man har sat ind med rettet enum, ved at markere den og trykke "ctrl+c" og tilføje den under lokationen med "ctrl+v". Så fungerer den uden at man skal rette enum igen igen igen....

 

Hej Torben

 

Det vil jeg prøve, for det lyder som en noget mere overskuelig løsning. Så skal der jo blot være en kopi af hver af de fb som bruges, som så kan kopieres.

Så er der måske alligevel lys for enden af tunnelen :-)

Link til kommentar
Del på andre sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gæst
Svar på dette spørgsmål

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loader...
 Share

×
×
  • Tilføj...

Important Information

Privatlivspolitik og We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

1200x630bb.png

ok