Extension DLL Constraints

Forum Home Forums Development and Integration Extension DLL Constraints

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #15403
    showmustgoon
    Participant

    When extending and developing SCADA, the component names and their placement must conform to SCADA conventions in order to be detected, enabled, and configured. If dynamic libraries such as modules or plugins fail to load or configure during development, please check the corresponding matching rules.

    Below are all the matching rules based on regular expressions. Some modules I have not yet been developed, their usage is unclear for me.

    If anyone has experience with these naming and placement conventions in SCADA development, please help confirm whether the constraints and locations are accurate, or if any adjustments are needed. Your feedback would be greatly appreciated!

    Location Constraints:

    1. Driver
      • Module Placement: \ScadaComm\Drv
      • Configuration Interface Placement: \ScadaAdmin\Lib
      • Notes: None
    2. Module
      • Module Placement: \ScadaServer\Mod
      • Configuration Interface Placement: \ScadaAdmin\Lib
      • Notes: Will recursively load the folder.
    3. Plugin
      • Module Placement: \ScadaWeb\wwwroot\plugins
      • Configuration Interface Placement: \ScadaAdmin\Lib
      • Notes: The Editor also seems to read from ScadaAdmin\Lib, but this is not confirmed.

    Name Constraints:

    1. Drv (Data Driver)
      • Constraint: Drv*.View.dll
      • Location 1: ScadaAdmin\OpenExtensions\ExtCommConfig\Controls\CtrlLinePolling.cs
      • Location 2: ScadaAdmin\OpenExtensions\ExtCommConfig\Forms\FrmDrivers.cs
    2. DrvDs (Data Source Driver)
      • Constraint: DrvDs*.View.dll
      • Location: ScadaAdmin\OpenExtensions\ExtCommConfig\Forms\FrmDataSources.cs
    3. DrvCnl (Channel Driver)
      • Constraint: DrvCnl*.View.dll
      • Location: ScadaAdmin\OpenExtensions\ExtCommConfig\Controls\CtrlLineMain.cs
    4. Mod (Regular Module)
      • Constraint: Mod*.View.dll
      • Location: ScadaAdmin\OpenExtensions\ExtServerConfig\Forms\FrmModules.cs
    5. ModArc (Archive Module)
      • Constraint: ModArc*.View.dll
      • Location: ScadaAdmin\OpenExtensions\ExtServerConfig\Forms\FrmArchives.cs
    6. Plg (Web Page Plugin)
      • Constraint: Plg*.View.dll
      • Location 1: ScadaAdmin\OpenExtensions\ExtWebConfig\Control\CtrlPluginAssignment.cs
      • Location 2: ScadaAdmin\OpenExtensions\ExtWebConfig\Forms\FrmPlugins.cs
    #15404
    manjey73
    Participant

    *View drivers and modules are installed in ScadaAdmin/Lib
    All the forms that the View uses are added directly to the View code. With the exception of some pre-made windows from the Scada core. But they are configured and called anyway from the View code. For example, the Options window for the driver

    1

    Options Window

    For example, the SNMP (View) driver immediately calls the parameters window, or you can arrange to call this window through a button. Everything that changes in this window is included in the device polling parameters. There are other ready-made windows that can be called from the View of your driver or module.

    • This reply was modified 1 month ago by manjey73.
    #15408
    showmustgoon
    Participant

    Yes,I had previously overlooked this correspondence. when modules/drivers are enabled, the corresponding module/driver code is recorded in the configuration file of either Comm or Server. Eventually, during runtime, the service loads the {0}.Logic.dll
    The namespace of the Logic class that it implements also needs to be: Scada.Server.Modules.{0}.Logic.{0}Logic,
    or
    Scada.Comm.Drivers.{0}.Logic.{0}Logic

    where {0} represents the code returned by the View for the module/driver.

    #15430
    Mikhail
    Moderator

    Module Placement: \ScadaWeb\wwwroot\plugins

    Plugins include DLL which is located in \ScadaWeb\ and static files in \ScadaWeb\wwwroot\plugins

    • This reply was modified 1 month ago by Mikhail.
    #15432
    Mikhail
    Moderator

    Name Constraints
    Class names and namespaces are important. Locations of the classes’ files are about code style.

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.