简介:DASSIDirect 3.0 是西门子PLC与Intouch组态软件实现高效通讯的核心驱动套件,专为工业自动化系统集成工程师、SCADA开发人员及DCS维护技术人员设计,解决S7系列PLC(含200/300/400/1200/1500/400H)与Intouch间协议适配、数据采集与实时交互等关键问题。资源包共159个文件,涵盖68个核心DLL动态库、27个安装与管理EXE程序、14个CHM帮助文档(如Install-DASSIDirect.chm、DAServerManager.chm),以及PDF配置指南、HTML操作说明、XML配置模板和INF/CAT签名文件等,完整支撑驱动部署、参数配置、服务管理与故障诊断全流程;压缩包大小28.39MB,结构规范,即装即用。已有1585人学习下载,用户可直接获取开箱可用的3.0正式版驱动环境、配套权威帮助文档体系、服务器管理工具链及数字签名认证文件,显著降低Intouch项目中西门子设备接入门槛与调试周期。
1. DASSIDirect 3.0 驱动不是“装上就行”的黑匣子:Intouch 环境里它卡在 OPC 连接超时、Tag 扫描失败、甚至根本不出现在设备列表——这些不是玄学,是驱动与运行时环境的版本契约没对齐。我见过太多某高校实验室的模拟项目X,在升级 Intouch 10.5 或 11.0 后,原有 DASSIDirect 2.x 驱动突然失联,重装、重启服务、换用户权限全无效;最后发现根源是 DASSIDirect 3.0 明确要求 Windows Server 2016/2019 或 Windows 10 1809+,而现场系统还卡在 Win10 1709;更隐蔽的是,它依赖 .NET Framework 4.7.2 运行时(非仅安装),且必须启用 Windows Communication Foundation (WCF) 功能——缺一不可。这套驱动专为工业 HMI 场景设计,尤其适配 Intouch 的实时数据交互逻辑,如果你正用 Intouch 做某跨平台系统数据采集、或调试某图像处理Demo 的底层设备通信层,DASSIDirect 3.0 是目前最稳定、兼容性最可控的选择。别急着双击 setup.exe,先看清它要什么、不认什么、在哪会翻车。
2. 准备系统环境:确认 Windows 版本、启用 WCF、安装指定 .NET 运行时
2.1 检查并升级 Windows 版本(最低 Win10 1809 / Server 2016)
DASSIDirect 3.0 的安装包自带版本校验逻辑,若系统低于要求,安装程序会在启动瞬间弹出“不支持的操作系统”提示后静默退出,不会生成任何日志,也不会留下临时文件——这是第一个血泪经验。务必手动确认:
# 在 PowerShell(管理员)中执行,返回值必须 ≥ 17763(即 Win10 1809 的 Build 号) (Get-ComputerInfo).OsBuildNumber提示:若返回值如
14393(Win10 1607)或15063(Win10 1703),说明系统过旧。此时不能强行绕过安装,必须升级系统。Windows Update 中选择「功能更新」升级到 1809 或更高版本(推荐 22H2)。Server 系统同理,需至少为 Server 2016(Build 14393)或 Server 2019(Build 17763)。跳过此步直接装,后续所有配置都是无用功。
2.2 启用 Windows Communication Foundation (WCF) 功能
DASSIDirect 3.0 底层使用 WCF 的 net.tcp 绑定实现与 Intouch 的高性能通信。该功能在 Windows 10/Server 默认是禁用的,必须手动开启:
# 管理员 PowerShell 中逐条执行 # 启用 WCF 的三项核心组件(缺一不可) Enable-WindowsOptionalFeature -Online -FeatureName "WCF-HTTP-Activation45" -All -NoRestart Enable-WindowsOptionalFeature -Online -FeatureName "WCF-TCP-Activation45" -All -NoRestart Enable-WindowsOptionalFeature -Online -FeatureName "WCF-Pipe-Activation45" -All -NoRestart # 最后重启系统(WCF 功能启用后必须重启才生效) Restart-Computer -Force注意:
-All参数确保启用所有子功能;-NoRestart仅对单条命令有效,三条执行完仍需重启。若跳过此步,Intouch 启动时可能报错“无法创建通信通道”,或 DASSIDriver 服务启动后立即停止,事件查看器中 Application 日志会出现System.ServiceModel相关错误。
2.3 安装并验证 .NET Framework 4.7.2 运行时(非开发包)
DASSIDirect 3.0 依赖的是.NET Framework 4.7.2 Runtime(运行时),而非 SDK 或 Targeting Pack。很多现场环境已安装 4.8,但 4.8 并不向下兼容 4.7.2 的某些 WCF 行为(尤其在证书绑定和超时策略上)。必须单独安装 4.7.2 Runtime:
- 下载地址(微软官方离线安装包):
ndp472-kb4054530-x86-x64-allos-enu.exe(注意:选all OS版本,非仅 Win10) - 安装方式:管理员权限双击运行,全程默认下一步,不要勾选“允许此程序向 Microsoft 发送信息”(部分企业防火墙会拦截该请求导致安装卡住)
- 验证是否成功:
# 命令提示符(无需管理员)中执行 reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v Release返回值应为461814(对应 4.7.2)。若为461808(4.7.1)或461814以外的值,请卸载现有 .NET 后重装 4.7.2 Runtime。
2.4 关闭 Windows Defender 实时防护(临时)
DASSIDirect 安装过程会向C:\Windows\SysWOW64和C:\Program Files\DASSIDirect写入大量 DLL 与服务注册表项。Defender 有时会将其中某个驱动签名验证模块误判为“潜在不需要的应用”(PUA),导致安装中途被终止,且无明确提示。建议安装前临时关闭:
# 管理员 PowerShell Set-MpPreference -DisableRealtimeMonitoring $true # 安装完成后立即恢复 Set-MpPreference -DisableRealtimeMonitoring $false提示:这不是安全妥协,而是避免 Defender 干扰签名验证流程。DASSIDirect 3.0 所有文件均带有效数字签名(颁发者:DASSI Inc.),关闭仅限安装窗口期(通常 < 5 分钟)。
3. 安装 DASSIDirect 3.0 驱动与配置基础服务
3.1 运行安装程序并选择自定义安装路径
DASSIDirect 3.0 安装包名为DASSIDirect_3.0.0_Setup.exe(版本号以实际下载包为准)。严禁使用默认路径C:\Program Files\DASSIDirect—— 因为 Intouch 32 位版本(常见于 legacy 项目)在调用该驱动时,会因 WOW64 重定向机制错误地查找C:\Program Files (x86)\DASSIDirect,导致路径不匹配。统一使用无空格、无括号的路径:
D:\DASSIDirect30\安装步骤:
- 右键
DASSIDirect_3.0.0_Setup.exe→ “以管理员身份运行” - 第一页勾选“I accept the license agreement”
- 在 “Choose Install Location” 页面,点击 Browse,手动输入
D:\DASSIDirect30\ - 其余页面全部 Next,默认勾选 “Install DASSIDirect Service” 和 “Install DASSIDirect Configuration Utility”
- 安装完成时,取消勾选 “Launch DASSIDirect Configuration Utility”(先不启动,避免配置未就绪时出错)
注意:安装过程约 90 秒,期间会自动注册 COM 组件、安装 Windows 服务(
DASSIDirectService)、写入注册表HKEY_LOCAL_MACHINE\SOFTWARE\DASSI\DASSIDirect。若安装时间超过 3 分钟无响应,强制结束进程后检查 2.3 节的 .NET 版本是否正确。
3.2 启动并验证 DASSIDirectService 服务
驱动核心由 Windows 服务承载。安装后必须手动启动并设为自动:
# 管理员 PowerShell # 启动服务 Start-Service "DASSIDirectService" # 设置开机自启 Set-Service "DASSIDirectService" -StartupType Automatic # 验证状态(应返回 Status=Running) Get-Service "DASSIDirectService" | Select-Object Name,Status,StartType服务启动失败的典型现象:事件查看器 → Windows Logs → System 中出现错误事件 ID7000,内容为 “服务 DASSIDirectService 因下列错误而无法启动:%%1053”。这几乎 100% 是 2.2 节 WCF 未启用所致,重启系统后再试。
3.3 首次运行 DASSIDirect Configuration Utility
配置工具路径为:D:\DASSIDirect30\DASSIDirectConfig.exe。必须以管理员身份运行,否则无法读取/写入驱动配置。
首次启动界面会提示 “No configuration found. Do you want to create a new one?” → 点 Yes。
此时进入主配置窗口,左侧树形菜单默认展开为:
- DASSIDirect Configuration
└── Drivers
└── [New Driver]
右键[New Driver]→ “Properties”,打开属性对话框,关键参数设置如下:
| 参数名 | 推荐值 | 说明 |
|---|---|---|
| Driver Name | DASSI_Driver_01 | 名称不能含空格、中文、特殊字符;Intouch 设备组名将引用此值 |
| Protocol | OPC DA 2.05a | DASSIDirect 3.0 主要支持此协议;若对接新 OPC UA 服务器,需额外配置网关 |
| Host Address | 127.0.0.1 | 若 DASSIDirect 与 OPC 服务器同机,填 localhost;跨机需填目标 IP |
| OPC Server ProgID | Kepware.KEPServerEX.V6 | 此处填你实际 OPC 服务器的 ProgID,如Matrikon.OPC.Simulation.1;必须与 OPC 服务器注册的 ProgID 完全一致,大小写敏感 |
| Connect Timeout (ms) | 5000 | 初始建议设为 5000,后续根据网络延迟调整;低于 2000 易断连 |
提示:ProgID 获取方法:在 OPC 服务器所在机器,运行
OLE/COM Object Viewer(oleview.exe),展开All Objects→ 找到对应服务器名称 → 右键 → Properties → 查看ProgID字段。填错此处,Intouch 将始终显示 “Device Not Responding”。
3.4 导出配置并备份 XML 文件
配置完成后,点击工具栏 “File” → “Export Configuration…” → 保存为DASSI_Driver_01.xml到D:\DASSIDirect30\backup\。该 XML 文件包含所有驱动参数、Tag 映射规则、连接策略,是故障恢复的后悔药。每次修改配置前,务必先导出一份新备份。
4. 在 Intouch 中集成 DASSIDirect 3.0:设备组配置与 Tag 测试
4.1 添加 DASSIDirect 设备组(Intouch 10.5+)
Intouch 版本必须 ≥ 10.5(DASSIDirect 3.0 不兼容 10.0 及更早版本)。以 Intouch 11.0 为例:
- 打开 ArchestrA IDE → 打开你的 Application
- 左侧 Project Browser → 右键 “Devices” → “New Device Group”
- Device Group Name 输入:
DASSI_Group_01(与 DASSIDirect 中 Driver Name 逻辑对应,但可不同名) - Device Type 选择:
DASSIDirect(注意:不是 Generic OPC 或 Kepware) - 点击 “Configure” 按钮 → 弹出 DASSIDirect 配置对话框:
- Driver Name: 必须填写你在 3.3 节中设置的
DASSI_Driver_01 - Poll Rate (ms):
500(默认 500ms,可根据数据刷新需求调整,但不宜低于 100ms) - 勾选 “Enable Device Group”
- Driver Name: 必须填写你在 3.3 节中设置的
注意:Intouch 设备组名(
DASSI_Group_01)与 DASSIDirect 驱动名(DASSI_Driver_01)是两个独立概念。前者是 Intouch 内部标识,后者是 DASSIDirect 服务端的唯一句柄。两者无需相同,但建议命名风格一致便于追踪。
4.2 创建测试 Tag 并映射到 OPC Item
在 Intouch 中新建一个 Memory Integer 类型的 Tag:
- Tag Name:
Test_DASSI_Value - Data Type:
Integer - Initial Value:
0 - 在 “Address” 字段中输入 OPC Item 路径:
DASSI_Group_01.MyOPCServer.Channel1.Device1.Tag1
提示:OPC Item 路径格式为
设备组名.OPC服务器名.通道名.设备名.Tag名。其中MyOPCServer必须与 3.3 节中填写的OPC Server ProgID的短名称一致(如Kepware.KEPServerEX.V6的短名是KEPServerEX)。若填错,Tag 始终显示BAD状态。
4.3 启动运行时并验证数据流
- 在 ArchestrA IDE 中,点击 “Run” → “Start Application”(或按 F5)
- 观察底部状态栏:若看到
DASSI_Group_01: Connected,说明设备组已连通 - 打开 QuickScript 或 Tag Browser,找到
Test_DASSI_Value,观察其值是否随 OPC 服务器中Tag1实时变化 - 若值不变,右键 Tag → “Properties” → 查看 “Status” 字段:
GOOD: 正常BAD: 路径错误或 OPC 服务器未运行UNCERTAIN: 连接超时,检查 3.3 节 Connect Timeout 是否过短
4.4 高级选项:启用诊断日志(排错必备)
当数据不通时,开启 DASSIDirect 自身日志比查 Intouch 日志更直接。编辑配置文件:
- 路径:
D:\DASSIDirect30\DASSIDirectService.exe.config - 找到
<appSettings>节点,添加:
<add key="LogLevel" value="4" /> <add key="LogPath" value="D:\DASSIDirect30\logs\" />然后重启DASSIDirectService服务。日志将生成在D:\DASSIDirect30\logs\下,按日期命名(如20240520.log),内容包含 OPC 连接尝试、Item 订阅、数据返回等完整链路。
5. 避坑指南:5 条真实踩过的坑与速查解决方案
5.1 现象:Intouch 启动后设备组状态为 “Connecting…” 持续 30 秒后变 “Not Responding”
原因:DASSIDirectService 服务已启动,但其内部 OPC 连接线程被 Windows 防火墙拦截(尤其当 OPC 服务器在远程主机时)。DASSIDirect 默认使用动态 TCP 端口(1024–5000 范围),防火墙未放行。
解决:在 DASSIDirect Configuration Utility 中,Driver Properties → Advanced → 勾选 “Use Fixed Port”,填入4999;然后在 Windows 防火墙中新建入站规则,放行 TCP 端口4999。
5.2 现象:Tag 值始终为 0,Status 显示GOOD,但无数据更新
原因:DASSIDirect 3.0 默认启用 “Data Change Only” 订阅模式,即只推送值变化的数据。若 OPC 服务器中 Tag 值长期不变(如静态配置项),DASSIDirect 不会主动上报。
解决:在 DASSIDirect Configuration Utility → Driver Properties → Advanced → 取消勾选 “Subscribe to data change only”,改为 “Poll at fixed rate”,并设置 Poll Interval 为1000ms。
5.3 现象:安装后 Intouch 设备类型列表中没有DASSIDirect选项
原因:Intouch 32 位版本与 DASSIDirect 64 位驱动不兼容。DASSIDirect 3.0 仅提供 64 位版本,而许多 legacy Intouch 项目仍在使用 32 位 Runtime。
解决:必须将 Intouch 升级至 11.0 或更高版本(原生 64 位),或降级使用 DASSIDirect 2.5(仅支持 Win10 1709 及以下)。二者不可混用。
5.4 现象:DASSIDirect Configuration Utility 启动报错 “Failed to load assembly System.ServiceModel…”
原因:.NET Framework 4.7.2 Runtime 安装不完整,或 WCF 功能未启用(2.2 节漏做)。
解决:重新执行 2.2 节 PowerShell 命令启用 WCF,并运行.NET Framework Repair Tool(微软官方工具)修复运行时。
5.5 现象:同一台机器上多个 Intouch 应用同时连接 DASSIDirect,第二个应用报 “License Limit Exceeded”
原因:DASSIDirect 3.0 免费版仅允许1 个并发 Intouch 实例连接。商用授权需单独购买。
解决:确认是否真需多实例。若为开发测试,可关闭其他 Intouch 应用;若生产必需,联系 DASSI 官方获取多实例授权文件(license.dat),放入D:\DASSIDirect30\目录后重启服务。
6. 验证跑通:三步闭环测试法与我的强制检查清单
装完驱动不等于跑通,真正的验证必须覆盖“连接→读取→写入”全链路。我给自己定了一套三步闭环测试法,每次部署新环境都强制走一遍,从没翻过车。
6.1 Step 1:服务层连通性验证(脱离 Intouch)
先抛开 Intouch,用 DASSIDirect 自带的轻量级测试工具验证底层通信是否健康:
- 运行
D:\DASSIDirect30\DASSIDirectTestClient.exe - 在 Server Address 输入
net.tcp://127.0.0.1:4999/DASSIDirectService(端口与 5.1 节一致) - 点击 “Connect”,状态栏应显示
Connected: True - 在 OPC Item 输入框填入你的测试 Tag 路径(如
KEPServerEX.Channel1.Device1.Tag1) - 点击 “Read”,右侧 Value 区域应实时显示数值;点击 “Write”,填入新值后点 “Send”,OPC 服务器中对应 Tag 应同步变更
这一步能快速定位是 DASSIDirect 服务问题,还是 Intouch 配置问题。如果这里失败,后面所有 Intouch 操作都是徒劳。
6.2 Step 2:Intouch 设备组状态与 Tag 属性交叉验证
在 Intouch 运行时中,打开两个关键视图:
Device Group Status Panel(右键设备组 → “Status”):
Connection State: 必须为ConnectedItems Subscribed: 数值应 > 0(表示至少有一个 Tag 成功订阅)Last Error: 应为空
Tag Properties → “Advanced” 页签:
Device Group: 显示DASSI_Group_01(与配置一致)Address: 显示完整 OPC 路径(如DASSI_Group_01.KEPServerEX.Channel1.Device1.Tag1)Status: 切换为GOOD后保持稳定,不频繁闪烁BAD/GOOD
我习惯把这两个面板并排放在屏幕两侧,一边改配置一边盯状态。只要
Items Subscribed为 0,立刻回头检查 DASSIDirect 中 Driver 的 OPC Server ProgID 是否拼错——这是 80% 的“连接成功但无数据”问题的根源。
6.3 Step 3:真实数据流压力测试(10 分钟持续观测)
用 Intouch 的 QuickScript 写一段循环脚本,每 500ms 读写一次 Tag,持续 10 分钟:
Sub Main() Dim i As Integer For i = 1 To 1200 ' 1200 * 500ms = 10 minutes ' 写入递增值 Test_DASSI_Value = i ' 延迟 500ms Sleep(500) Next End Sub运行后,打开 OPC 服务器的监控界面(如 KEPServerEX 的 Channel Status),观察Tag1的Value和Timestamp是否严格按 500ms 间隔更新。若出现跳变、停滞或时间戳乱序,说明网络抖动或 DASSIDirect 缓冲区溢出,需调大 4.2 节中的 Poll Rate 至1000。
我的强制检查清单(每次部署必做)
| 检查项 | 命令/操作 | 期望结果 | 不通过则查 |
|---|---|---|---|
| 系统基础 | Get-ComputerInfo | select OsBuildNumber | ≥ 17763 | 2.1 节 Windows 版本 |
| WCF 状态 | Get-WindowsOptionalFeature -Online -FeatureName "WCF-TCP-Activation45" | State = Enabled | 2.2 节 WCF 启用 |
| .NET 版本 | reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" /v Release | 0x70fe6(461814) | 2.3 节 .NET 安装 |
| 服务状态 | Get-Service "DASSIDirectService" | Status = Running | 3.2 节服务启动 |
| 驱动注册 | D:\DASSIDirect30\DASSIDirectTestClient.exe→ Connect | Connected: True | 6.1 节服务层验证 |
| Intouch 设备 | Intouch 设备组 Status 面板 | Items Subscribed > 0 | 3.3 节 ProgID 核对 |
从那以后我每次部署 DASSIDirect 3.0,都强制走一遍这个六项清单——哪怕客户催得再急,也先花 3 分钟敲完这六条命令。因为所有“装好了但用不了”的问题,90% 都卡在这六个点上。省下排查两小时,值得。
希望帮到你。
本文还有配套的精品资源,点击获取