DrvCameraControl Communicator Driver (Custom)
Functional Description
DrvCameraControl is a custom Communicator driver in ScadaV6CommExt for field device connectivity. Protocol details follow the source implementation.
Scope and Version
- Source:
ScadaV6CommExt/DrvCameraControl.Logic - TFM:
net8.0 - Version:
6.1.6
Install and Enable
- Deploy driver binaries to Communicator folders.
- Activate driver in Administrator → Communicator → Drivers.
- Upload configuration and restart Communicator.
Line and Device Configuration
- Create a communication line with the proper channel type.
- Add device and set address/timeouts.
- 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)
| Key | Default | Note |
|---|---|---|
未在源码中匹配到明显的 GetValueAs* 调用,请在 Administrator 中打开该驱动的设备/线路配置界面逐项确认。 | ||
Code hints
26: protected class TemplateDict : Dictionary
40: protected DeviceTemplate deviceTemplate; //KP 数据使用的设备模板
41: private int ServerPort = 9300;// 服务端口
47: ConnectionRequired = false; //不使用默认连接池
107: deviceTemplate = GetDeviceTemplate();
143: protected virtual DeviceTemplate GetDeviceTemplate()
145: DeviceTemplate deviceTemplate = null;
156: if (templateDict.TryGetValue(fileName, out DeviceTemplate existingTemplate))
164: DeviceTemplate newTemplate = new DeviceTemplate();
Administrator UI (DrvCameraControl.View)
Configure in Administrator → Communicator. Labels below come from the View language pack.
- View source:
ScadaV6CommExt/DrvCameraControl.View - Main forms:
FrmConfig.cs
| Phrase key | Text |
|---|---|
| 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/DrvCameraControl.Logic- Common:
DrvCameraControl.Common
Overrides
Session(), SendCommand(), InitDeviceTags(), OnCommLineStart(), OnCommLineTerminate()
CmdLine / template
未匹配到 PollingOptions.CmdLine 单行片段。
DeviceConfig properties referenced
| Property | Note |
|---|---|
| 未检测到 DeviceConfig.* 引用(可能使用基类封装)。 | |
Line CustomOptions
| Key | Default |
|---|---|
| 未在 Logic 中检测到 CustomOptions.GetValueAs*(可能全部从设备模板 XML 读取)。 | |
XML keys (Common)
| Node | Note |
|---|---|
ElemGroups | 来自 Common 配置加载/保存相关源码中的 XML 节点名 |
ElemGroup | 来自 Common 配置加载/保存相关源码中的 XML 节点名 |
Code excerpt
48:
49: public override void Session()
50: {
51: base.Session();
50: {
51: base.Session();
52:
53: foreach (var tag in valDic)
59: FinishRequest();
60: FinishSession();
61: }
62:
88: ///
89: public override void InitDeviceTags()
90: {
91: TagGroup tagGroup = new TagGroup("监控列表");
104: {
105: deviceTemplate = GetDeviceTemplate();
106: base.OnCommLineStart();
107: }
140: ///
141: protected virtual DeviceTemplate GetDeviceTemplate()
142: {
143: DeviceTemplate deviceTemplate = null;
Troubleshooting
- No data: line, address, template, connectivity.
- Template load errors: check logs.
- Options ignored: verify option scope (line vs device).