← Back to Docs

DrvCnlDLMS Driver (Custom)

DrvCnlDLMS communicator driver documentation.

Custom Communicator DriversVersion6.0.0Updated2026-04-29OwnerScadaV6CommExt

DrvCnlDLMS Communicator Driver (Custom)

Functional Description

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

Scope and Version

  • Source: ScadaV6CommExt/DrvCnlDLMS.Logic
  • TFM: net8.0
  • Version: 6.0.0

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

(当前未提取到典型配置片段,请直接查阅源码目录中的 Logic 文件。)

Administrator UI (DrvCnlDLMS.View)

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

  • View source: ScadaV6CommExt/DrvCnlDLMS.View
  • Main forms:
    • FrmSerialPortChannelOptions.cs
    • FrmTcpClientChannelOptions.cs
    • FrmUdpChannelOptions.cs
Phrase keyText
pbConnectionModeHint.ToolTipIndividual - Communicator establishes an individual TCP connection with each device. Shared - Communicator establishes a single shared connection for all devices of the communication line using specified remote IP address. Shared connection is used, for example, if the devices are connected via an Ethernet-Serial gateway.
pbRemoteUdpPortHint.ToolTipThe default remote UDP port. The same for all devices of the communication line.
pbBehaviorHint.ToolTipMaster - Communicator sends request to a device and receives answer. Slave - Communicator passively waits for data from a device.
pbTcpPortHint.ToolTipIn individual connection mode it is used as a default TCP port if no port is specified for a device. In shared connection mode the parameter is required. The 502 port is the default Modbus TCP port.
pbBehaviorHint.ToolTipMaster - Communicator sends request to a device and receives answer. Slave - Communicator passively waits for data from a device.
pbRemoteIpAddressHint.ToolTipThe default remote IP address. It can be used, for example, if the devices are connected via an Ethernet-Serial gateway.
thisSerial Port Options
gbPortSerial Port
lblTcpPortRemote TCP port
cbDeviceMapping.Items[0]By IP address
pbDeviceMappingHint.ToolTipThe method of binding a new incoming connection to a device: By IP address - remote IP address equals a device string address. Driver determined - algorithm is implemented in the device driver.
lblLocalUdpPortLocal UDP port
pbLocalUdpPortHint.ToolTipLocal UDP port for incoming connections. Incoming connections must be allowed by a firewall.
lblRemoteUdpPortRemote UDP port
lblPortNamePort name
lblBaudRateBaud rate
cbBehavior.Items[0]Master
cbBehavior.Items[1]Slave
thisTCP Client Options
pbHostHint.ToolTipRemote DNS name or IP address in case of using shared connection.
thisUDP Options
lblDeviceMappingDevice mapping
cbDeviceMapping.Items[1]Driver determined
lblRemoteIpAddressRemote IP address
ChannelTypeNotFoundCommunication channel type not found.
lblDataBitsData bits
lblParityParity
cbParity.Items[0]None
cbParity.Items[1]Odd
cbParity.Items[2]Even

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/DrvCnlDLMS.Logic
  • Common: n/a

Overrides

n/a

CmdLine / template

未匹配到 PollingOptions.CmdLine 单行片段。

DeviceConfig properties referenced

PropertyNote
未检测到 DeviceConfig.* 引用(可能使用基类封装)。

Line CustomOptions

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

XML keys (Common)

NodeNote
未在 Common 中解析到 GetChildAs*/AppendElem 节点(或无 Common 工程)。

Code excerpt

80:         {
81:             options = new UdpChannelOptions(channelConfig.CustomOptions);
82:         }
83: 

127:         {
128:             options = new TcpClientChannelOptions(channelConfig.CustomOptions);
129:         }
130: 

Troubleshooting

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