Menu

Write data structures

2024-10-30
2024-11-19
  • MIkhail Rodkin

    MIkhail Rodkin - 2024-10-30

    Hello,

    can I write the whole structure like the following at once ?

          <DAType id="Oper_3">
             <BDA bType="FLOAT32" desc="Setpoint" name="ctlVal"/>
             <BDA bType="Struct" name="origin" type="origin_0"/>
             <BDA bType="INT8U" name="ctlNum"/>
             <BDA bType="Timestamp" name="T"/>
             <BDA bType="BOOLEAN" name="Test"/>
             <BDA bType="Check" name="Check"/>
          </DAType>
    

    In IEDE Explorer 0.80a I did not find this option (only "Read Data, Expand Subtree, Collapse Subtree" from the context menu). I found option for writing single data attribute like ctlVal in the SCL snippet above. In that case the context menu contains "Write Data" option.

    Unfortunately, my IED refuses to accept changes in this way :

    Write failed for ACSM5LD0/AVCO0.CurSpt.Oper.ctlVal, failure: 3, (objectAccessDenied)

     
  • Pavel Charvat

    Pavel Charvat - 2024-10-31

    Sending a control command is implemented. Right click ctlVal node in the tree and choose Send Command (NOT Write Data!). This opens the dialog box for the command parameters, and writes the structure according to standard.
    The command can be sent ONLY if CF$Pos$ctlModel > 0!!!

     
  • MIkhail Rodkin

    MIkhail Rodkin - 2024-11-04

    Pavel,
    I got exception as soon as choose "Send command (As MMS Structure) - Preferred" from the context menu for ctlVal node (sorry for Spanish language) :

    Consulte el final de este mensaje para obtener más detalles sobre cómo invocar a la depuración 
    Just-In-Time (JIT) en lugar de a este cuadro de diálogo.
    
    ************** Texto de la excepción **************
    System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.
       en IEDExplorer.Iec61850Controller.PrepareSendCommand(NodeBase data)
       en IEDExplorer.Views.IedTreeView.<DoSendCommandClick>d__34.MoveNext()
    --- Fin del seguimiento de la pila de la ubicación anterior donde se produjo la excepción ---
       en System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
    
    
    ************** Ensamblados cargados **************
    mscorlib
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.8.9277.0 built by: NET481REL1LAST_B
        Código base: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
    ----------------------------------------
    IEDExplorer
        Versión del ensamblado: 1.0.9007.29337
        Versión Win32: 1.0.0.0
        Código base: file:///C:/Users/mikhail.rodkin/Downloads/IEDExplorer_0.80b.exe
    ----------------------------------------
    System.Windows.Forms
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.8.9251.0 built by: NET481REL1LAST_C
        Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.8.9261.0 built by: NET481REL1LAST_C
        Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Drawing
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.8.9032.0 built by: NET481REL1
        Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    iec61850dotnet
        Versión del ensamblado: 1.0.5938.19079
        Versión Win32: 1.0.0.0
        Código base: file:///C:/Users/mikhail.rodkin/Downloads/IEDExplorer_0.80b.exe
    ----------------------------------------
    mscorlib.resources
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.8.9032.0 built by: NET481REL1
        Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_es_b77a5c561934e089/mscorlib.resources.dll
    ----------------------------------------
    PcapDotNet.Base
        Versión del ensamblado: 1.0.3.20967
        Versión Win32: 1.0.0.0
        Código base: file:///C:/Users/mikhail.rodkin/Downloads/IEDExplorer_0.80b.exe
    ----------------------------------------
    PcapDotNet.Core.Extensions
        Versión del ensamblado: 1.0.3.20980
        Versión Win32: 1.0.0.0
        Código base: file:///C:/Users/mikhail.rodkin/Downloads/IEDExplorer_0.80b.exe
    ----------------------------------------
    PcapDotNet.Packets
        Versión del ensamblado: 1.0.3.20968
        Versión Win32: 1.0.0.0
        Código base: file:///C:/Users/mikhail.rodkin/Downloads/IEDExplorer_0.80b.exe
    ----------------------------------------
    System.Configuration
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.8.9032.0 built by: NET481REL1
        Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    System.Core
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.8.9277.0 built by: NET481REL1LAST_B
        Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    ----------------------------------------
    System.Xml
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.8.9032.0 built by: NET481REL1
        Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    Accessibility
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.8.9032.0 built by: NET481REL1
        Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
    ----------------------------------------
    System.Windows.Forms.resources
        Versión del ensamblado: 4.0.0.0
        Versión Win32: 4.8.9032.0 built by: NET481REL1
        Código base: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_es_b77a5c561934e089/System.Windows.Forms.resources.dll
    ----------------------------------------
    
    ************** Depuración JIT **************
    Para habilitar la depuración Just In Time (JIT), el archivo de configuración de esta
    aplicación o equipo (machine.config) debe tener el
    valor jitDebugging establecido en la sección system.windows.forms.
    La aplicación también se debe compilar con la depuración
    habilitada
    
    Por ejemplo:
    
    <configuration>
        <system.windows.forms jitDebugging="true" />
    </configuration>
    
    Cuando esté habilitada la depuración JIT, cualquier excepción no controlada
    se enviará al depurador JIT registrado en el equipo
    en lugar de controlarlo mediante el cuadro de diálogo.
    
     
  • Pavel Charvat

    Pavel Charvat - 2024-11-12

    This I cannot reproduce. Maybe sending SCD/ICD file of the server can help.

     
    • MIkhail Rodkin

      MIkhail Rodkin - 2024-11-12

      Hello, Pavel !
      IEDE explorer connects to IEC server (CID file attached)

       
  • MIkhail Rodkin

    MIkhail Rodkin - 2024-11-15

    Pavel, can you reproduce exception with the CID file above ? Please, let me know if you need any further testing or assistance from my side.

     
  • Pavel Charvat

    Pavel Charvat - 2024-11-19

    Still cannot reproduce, for me it is working.

     
  • Pavel Charvat

    Pavel Charvat - 2024-11-19

    If you load the CID to Iedexplorer, run the server simulation and connect, does it work like in my case (means the dialogue shows without crash)? - in other words, is the problem isolated to your external server connection?

     
    • MIkhail Rodkin

      MIkhail Rodkin - 2024-11-19

      Pavel,
      it does not crash, nor establish the connection (screenshot attached). Log output:

      [19/11/2024 12:15:49.738] Information: Starting main program ...
      [19/11/2024 12:15:49.801] Information: Verbosity selected: Information
      [19/11/2024 12:16:51.848] Information: Reading SCL file Z:\utc.cid
      [19/11/2024 12:17:35.285] Information: Starting new communication, hostname = localhost, port = 102.
      [19/11/2024 12:17:35.285] Information: [TCP_STATE_START]
      [19/11/2024 12:17:37.395] Information: StopClient: Socket shutdowned.
      [19/11/2024 12:17:37.425] Error: System.Net.Sockets.SocketException (0x80004005): No se puede establecer una conexión ya que el equipo de destino denegó expresamente dicha conexión 127.0.0.1:102
         en System.Net.Sockets.Socket.InternalEndConnect(IAsyncResult asyncResult)
         en System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
         en IEDExplorer.TcpRw.ConnectCallback(IAsyncResult ar)
      [19/11/2024 12:17:37.848] Information: [TCP_STATE_SHUTDOWN]
      [19/11/2024 12:17:37.848] Information: Communication to hostname = localhost, port = 102 stopped.
      [19/11/2024 12:17:47.879] Information: StopClient: Socket shutdowned.
      
       
  • Pavel Charvat

    Pavel Charvat - 2024-11-19

    Added some code to avoid crash, however, if there is a problem in data structure, the dialogue will not show. Try rev 0.80c

     
    • MIkhail Rodkin

      MIkhail Rodkin - 2024-11-19

      Now (with 0.80c) it does not crash, but the dialog does not appear also.
      Error: Command structure objects mismatch for UTCLDevice1/CCGR0.FanCtl.Oper.ctlVal

      The whole log file :

      [19/11/2024 12:32:03.361] Information: Starting main program ...
      [19/11/2024 12:32:03.407] Information: Verbosity selected: Information
      [19/11/2024 12:32:21.173] Information: Starting new communication, hostname = 10.83.1.40, port = 102.
      [19/11/2024 12:32:21.189] Information: [TCP_STATE_START]
      [19/11/2024 12:32:42.013] Information: StopClient: Socket shutdowned.
      [19/11/2024 12:32:42.013] Error: System.Net.Sockets.SocketException (0x80004005): Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder 10.83.1.40:102
         en System.Net.Sockets.Socket.InternalEndConnect(IAsyncResult asyncResult)
         en System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
         en IEDExplorer.TcpRw.ConnectCallback(IAsyncResult ar)
      [19/11/2024 12:32:42.323] Information: [TCP_STATE_SHUTDOWN]
      [19/11/2024 12:32:42.323] Information: Communication to hostname = 10.83.1.40, port = 102 stopped.
      [19/11/2024 12:32:51.584] Information: StopClient: Socket shutdowned.
      [19/11/2024 12:37:02.745] Information: Starting new communication, hostname = 10.83.1.40, port = 102.
      [19/11/2024 12:37:02.745] Information: [TCP_STATE_START]
      [19/11/2024 12:37:02.761] Information: ConnectCallback: Socket connected to 10.83.1.40:102
      [19/11/2024 12:37:02.761] Information: [OSI_CONNECT_COTP]
      [19/11/2024 12:37:02.791] Information: [OSI_CONNECT_PRES]
      [19/11/2024 12:37:02.854] Information: Services Supported: status,getNameList,identify,read,write,getVariableAccessAttributes,getNamedVariableListAttributes,informationReport,conclude,cancel,
      [19/11/2024 12:37:02.870] Information: [IEC61850_STATE_START] (Send IdentifyRequest)
      [19/11/2024 12:37:02.917] Information: Received Identify: Faramax Trafo, UTC, PIS10_VERSION$V2.06.28$May  6 2024
      [19/11/2024 12:37:02.917] Information: Reading domain (LD) names: [IEC61850_READ_NAMELIST_DOMAIN]
      [19/11/2024 12:37:02.933] Information: Reading variable names: [IEC61850_READ_NAMELIST_VAR]
      [19/11/2024 12:37:02.995] Information: Reading variable specifications: [IEC61850_READ_ACCESSAT_VAR]
      [19/11/2024 12:37:03.104] Information: Reading variable values: [IEC61850_READ_MODEL_DATA]
      [19/11/2024 12:37:03.386] Information: Reading named variable lists: [IEC61850_READ_NAMELIST_NAMED_VARIABLE_LIST]
      [19/11/2024 12:37:03.402] Information: Reading variable lists attributes: [IEC61850_READ_ACCESSAT_NAMED_VARIABLE_LIST]
      [19/11/2024 12:37:03.433] Information: Init end: [IEC61850_FREILAUF]
      [19/11/2024 12:37:43.715] Error: Command structure objects mismatch for UTCLDevice1/CCGR0.FanCtl.Oper.ctlVal!
      
       
  • Pavel Charvat

    Pavel Charvat - 2024-11-19

    this is expected - there is something wrong in your data model coming from your server. In CID file, there is all right, but in the real datamodel read from the server, there is something non-standard. Check differences in the structure between utc.cid/IEDVIew (MMS) definitions (from CID) and IedTreeView/IedView(MMS) from Server. There must be a mistake.

     
    • MIkhail Rodkin

      MIkhail Rodkin - 2024-11-19

      utc.cid/IEDVIew (MMS) definitions from ICD and IedTreeView/IedView(MMS) from Server
      look exactly the same. I tried setting Logging level to Debug, but still don't have any log messages except for the

      Error: Command structure objects mismatch for UTCLDevice1/CCGR0.FanCtl.Oper.ctlVal!
      

      Can you give me a hint how can I debug further ?

       

      Last edit: MIkhail Rodkin 2024-12-03

Log in to post a comment.

MongoDB Logo MongoDB