← Back to Docs

DrvGpiod Driver (Custom)

DrvGpiod communicator driver documentation.

Custom Communicator DriversVersionV6.xUpdated2026-04-29OwnerScadaV6CommExt

DrvGpiod Communicator Driver (Custom)

Functional Description

DrvGpiod is a custom Communicator driver in ScadaV6CommExt for field device connectivity. Protocol details follow the source implementation.

Scope and Version

  • Source: ScadaV6CommExt/DrvGpiod.Logic
  • TFM: net8.0
  • Version: V6.x

Install and Enable

  1. Deploy driver binaries to Communicator folders.
  2. Activate driver in Administrator → Communicator → Drivers.
  3. Upload configuration and restart Communicator.

Line and Device Configuration

  1. Create a communication line with the proper channel type.
  2. Add device and set address/timeouts.
  3. Set polling options and CmdLine as required by this driver; see Functional notes and configuration (template and source) below for file names, address format, and line keys.

CustomOptions (extracted)

KeyDefaultNote
未在源码中匹配到明显的 GetValueAs* 调用,请在 Administrator 中打开该驱动的设备/线路配置界面逐项确认。

Code hints

42: ConnectionRequired = false;
48: scadaClient = new ScadaClient(base.CommContext.AppConfig.ConnectionOptions);
63: fileName = DeviceConfig.PollingOptions.CmdLine.Trim();

Administrator UI (DrvGpiod.View)

Configure in Administrator → Communicator. Labels below come from the View language pack.

  • View source: ScadaV6CommExt/DrvGpiod.View
  • Main forms:
    • FrmDeviceProps.cs
Phrase keyText
No phrases parsed; check Lang folder in View project.

Functional notes and configuration (template and source)

Derived from Logic/Common and device template XML: driver behavior and the Administrator/Communicator fields to set (address, CmdLine, line CustomOptions, template nodes).

Logic location

  • ScadaV6CommExt/DrvGpiod.Logic
  • Common: DrvGpiod.Common

Overrides

InitDeviceTags(), OnCommLineStart(), Session(), SendCommand(), OnCommLineTerminate()

CmdLine / template

  • PollingOptions.CmdLine.Trim();

DeviceConfig properties referenced

PropertyNote
PollingOptions源码中对 DeviceConfig 的引用
IsBound源码中对 DeviceConfig 的引用

Line CustomOptions

KeyDefault
未在 Logic 中检测到 CustomOptions.GetValueAs*(可能全部从设备模板 XML 读取)。

XML keys (Common)

NodeNote
Gpios来自 Common 配置加载/保存相关源码中的 XML 节点名
Gpio来自 Common 配置加载/保存相关源码中的 XML 节点名

Code excerpt

48: 
49:         public override void InitDeviceTags()
50:         {
51:             TagGroup tagGroup = new TagGroup("Pin");

60:         {
61:             fileName = DeviceConfig.PollingOptions.CmdLine.Trim();
62: 
63:             if (string.IsNullOrWhiteSpace(fileName))

266:         /// 
267:         public override void Session()
268:         {
269:             base.Session();

268:         {
269:             base.Session();
270: 
271:             if (!fileLoaded)

330:                 FinishRequest();
331:                 FinishSession();
332:             }
333:         }

Troubleshooting

  • No data: line, address, template, connectivity.
  • Template load errors: check logs.
  • Options ignored: verify option scope (line vs device).