Forum Home › Forums › Development and Integration › Extension DLL Constraints
- This topic has 4 replies, 3 voices, and was last updated 1 month ago by Mikhail.
-
AuthorPosts
-
September 12, 2024 at 3:32 am #15403showmustgoonParticipant
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:
- Driver
- Module Placement: \ScadaComm\Drv
- Configuration Interface Placement: \ScadaAdmin\Lib
- Notes: None
- Module
- Module Placement: \ScadaServer\Mod
- Configuration Interface Placement: \ScadaAdmin\Lib
- Notes: Will recursively load the folder.
- 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:
- Drv (Data Driver)
- Constraint: Drv*.View.dll
- Location 1: ScadaAdmin\OpenExtensions\ExtCommConfig\Controls\CtrlLinePolling.cs
- Location 2: ScadaAdmin\OpenExtensions\ExtCommConfig\Forms\FrmDrivers.cs
- DrvDs (Data Source Driver)
- Constraint: DrvDs*.View.dll
- Location: ScadaAdmin\OpenExtensions\ExtCommConfig\Forms\FrmDataSources.cs
- DrvCnl (Channel Driver)
- Constraint: DrvCnl*.View.dll
- Location: ScadaAdmin\OpenExtensions\ExtCommConfig\Controls\CtrlLineMain.cs
- Mod (Regular Module)
- Constraint: Mod*.View.dll
- Location: ScadaAdmin\OpenExtensions\ExtServerConfig\Forms\FrmModules.cs
- ModArc (Archive Module)
- Constraint: ModArc*.View.dll
- Location: ScadaAdmin\OpenExtensions\ExtServerConfig\Forms\FrmArchives.cs
- Plg (Web Page Plugin)
- Constraint: Plg*.View.dll
- Location 1: ScadaAdmin\OpenExtensions\ExtWebConfig\Control\CtrlPluginAssignment.cs
- Location 2: ScadaAdmin\OpenExtensions\ExtWebConfig\Forms\FrmPlugins.cs
September 12, 2024 at 5:25 am #15404manjey73Participant*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 driverFor 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.
September 12, 2024 at 5:49 am #15408showmustgoonParticipantYes,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.
- This reply was modified 1 month ago by showmustgoon.
September 12, 2024 at 9:47 am #15430MikhailModeratorModule 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.
September 12, 2024 at 9:49 am #15432MikhailModeratorName Constraints
Class names and namespaces are important. Locations of the classes’ files are about code style. - Driver
-
AuthorPosts
- You must be logged in to reply to this topic.