Showing results 1 to 3 of 3

Thread: Zugriff auf den Grenzwerttext einer Rema

  1. #1
    Join Date
    16.11.2011
    Posts
    44

    Default Zugriff auf den Grenzwerttext einer Rema

    Hallo,

    ich möchte in einer ProjectWizardExtension auf einen bestimmten Grenzwert einer Variablen zugreifen und diesen dann in eine andere kopieren.

    Soll heißen:
    In einer Integer-Variablen wird der Wert 15 reingeschrieben-> Der Grenzwerttext von Position 15 der Rema "StoerRema" soll in den String "Grenzwert" kopiert werden.


    Folgenden Code habe ich bis jetzt:

    using System;
    using Scada.AddIn.Contracts;
    using Scada.AddIn.Contracts.Variable;
    using Scada.AddIn.Contracts.ReactionMatrix;
    
    
    
    
    namespace TransferStoertexte
    {
        /// 
        /// Description of Project Wizard Extension.
        /// 
        [AddInExtension("TransferStoertexte", "Kopiert den Grenzwerttext der Störung in eine Variable")]
        public class ProjectWizardExtension : IProjectWizardExtension
            
        {
            #region IProjectWizardExtension implementation
    
    
            public void Run(IProject context, IBehavior behavior)
            {
    
    
                // enter your code which should be executed on triggering the function "Execute Project Wizard Extension" in the SCADA Runtime
    
                string zzstrTest;
    
    
                IVariable myVar = context.VariableCollection["zziAWIndex"]; // Position in Rema
                IVariable myVar2 = context.VariableCollection["zzstrTest"];   // Grenzwerttext aus Remaposition
    
    
                IReactionMatrixCollection zenonRemas = context.ReactionMatrixCollection;        // Sammel alle zenon Remas
                IReactionMatrix zenonRema = zenonRemas["Gesamt_Stoer_Z1"];                      // Wähle Rema "Gesamt_Stoer_Z1" aus
    
    
                int Stoernummer;//
    Stoernummer = (int)myVar.GetValue(0);  //Zuweisung: Wert aus myVar -> Stoernummer
    
    
                //store reference of Condition
                ICondition remaCondition = zenonRema[Stoernummer];                               // Position gemäß Variable "Stoernummer"
                zzstrTest = remaCondition.LimitValueText;
    
    
                myVar2 = zzstrTest;                                                      //Hier stimmt irgendwas nicht
    
    
    
            }
    
    
            #endregion
        }
    
    
    }
    Last edited by wenzm : 2nd April 2020 at 13:08

  2. #2
    Join Date
    10.12.2007
    Posts
    204

    Default AW: Zugriff auf den Grenzwerttext einer Rema

    Hier gilt gleiches wie im anderen Post: Du kannst nicht ein Variablenobjekt einfach mit einem String gleich setzen. Auch hier musst Du wieder mit myVar2.SetValue(0,zzstrTest); arbeiten.
    Ich glaub aber das geht auch viel kürzer ohne die Rema überhaupt zu benutzen mit myVar2.SetValue(0, myVar.GetCurrentViolatedRema.Text); Funktioniert aber nur wenn die Variable eine Rema hat, da wäre vorher die Abfrage myVar.IsRemaActive sinnvoll.

    @Edit: Sorry, muss feststellen bei AddIn sieht das vermutlich etwas anders aus: myVar2.SetValue(0, myVar.CurrentViolatedCondition.LimitValueText);
    Das würd ich auch so machen, weil der Zugriff ICondition remaCondition = zenonRema[Stoernummer]; nicht den Zustand zum Wert Stoernummer liefert, sondern Stoernummer als Index benutzt. Also wenn Du z.B. eine Rema mit 2 Zuständen hast: 1. <10, 2. >=10 und eine mit dieser Rema verknüpfte Variable den Wert 20 hat, dann bekommst Du einen Fehler weil die Rema keine 21 Zustände hat.
    Last edited by mst : 3rd April 2020 at 07:53 Reason: Berichtigung

  3. #3
    Join Date
    16.11.2011
    Posts
    44

    Default Re: Zugriff auf den Grenzwerttext einer Rema

    Irgendwann werde auch ich das auch kapieren ;-)...
    Es läuft jetzt einwandfrei.

    Vielen Dank.
    Last edited by wenzm : 3rd April 2020 at 14:09

Similar Threads

  1. Grenzwerttext in Variable kopieren
    By wenzm in forum zenon Operator
    Replies: 1
    Last Post: 27th May 2020, 14:36
  2. Grenzwerttext auslesen
    By armins in forum VSTA
    Replies: 8
    Last Post: 23rd May 2017, 14:33
  3. Projektname einer Variablen
    By jochmannp in forum VBA
    Replies: 2
    Last Post: 6th May 2015, 12:46
  4. Replies: 3
    Last Post: 27th September 2013, 17:42
  5. Variablenzahl im dyn Grenzwerttext
    By elric in forum VBA
    Replies: 2
    Last Post: 9th October 2008, 09:26

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •