电话/手机:联系客服
优质评论内容
先给结论:
功能不是“没了”,而是两处常见坑:①地址/用法在 FactoryTalk View(SE v10)里跟 RSView32 不同;②Excel 的 DDE 默认被拦截或没在同一交互会话中运行。
按下面步骤做,通常就能恢复“把 PLC 数据写到 Excel 并画曲线”的场景。
一次到位的“最小可行配置”(强烈建议这样做)
目标:FTView SE 从/向 Excel 单元格读写(DDE)。
A. Excel 侧准备
取消 Excel 拦截 DDE:文件 → 选项 → “高级” → 取消勾选
“忽略使用动态数据交换 (DDE) 的其他应用程序”。
把工作簿放在受信任位置(或把当前目录加到“受信任位置”)。
先手动打开该工作簿,保持前台运行(DDE 以“已打开的主题”最好)。
文件名与扩展名要正确:是 .xls 或 .xlsx,你写的 FILE.XLX 是错的。
DDE 主题典型格式:[Book1.xls]Sheet1 或 [MyLog.xlsx]Data。
目标单元格建议用命名区域(比如 Cell_R2C2),更稳。
B. FactoryTalk View SE(v10)侧设置
不要在 Tag 的 Address 里直接写 DDE:EXCEL|[...]!R2C2(这是 RSView32 的老写法)。
在 FTView Studio 里这样做:
Data Servers → 右键 DDE/OPC → New DDE Server(或 New Server)。
Application 填:EXCEL
Topic 填:[Book1.xls]Sheet1(与你 Excel 实际一致)
给这个服务器起个名字,例如:ExcelDDE.
建立 HMI Tag:
Data Source 选 Direct
Address 填:::[ExcelDDE]R2C2(或 ::[ExcelDDE]Cell_R2C2 如果用了命名区域)
Data Type 选与单元格匹配(常用 Float / String)。
SE Client 一定要在交互桌面运行(不要以服务方式、不要跑在 Session 0)。
Excel 和 SE Client 必须在同一 Windows 用户会话里,否则 DDE 传不到。
先用一个 Numeric Display 绑定该 Tag 做读测试,再用 Numeric Input 做写测试。
Excel 单元格需未保护、未共享冲突。
你当前写法的问题点逐条对照
DDE:EXCEL|[FILE.XLX]SHEET1!R2C2
扩展名:XLX 错,应为 XLS / XLSX。
语法:这是 RSView32 的“节点/话题/项”直写法;在 FTView SE 里,先建 DDE Data Server,再在 Tag 用 ::[ServerName]Item。
Excel 必须先打开该文件,否则主题不可用。
若 Excel 打开但仍无数据,多半是:
Excel 勾了“忽略使用 DDE 的其他应用程序”;
SE Client 跑在服务/不同会话;
工作簿不在受信任位置被阻止;
64 位/权限冲突导致 Excel 未以同一用户实例被激活(可先全用同一账号/同一位宽测试)。
可靠性与替代方案(生产环境更推荐)
DDE 是历史机制,不可靠且易受会话/前台窗口影响。生产建议改为以下之一:
FactoryTalk Transaction Manager → 直接把 PLC Tag 写入 CSV/ODBC/SQL,Excel 用 Power Query 拉取;
FT Historian / PI / SQL → Excel 取数画图;
HMI 侧用 VBA(SE Client)通过 ADO/ODBC 写数据库,再由 Excel 订阅数据源。
快速排错清单(5 分钟内定位)
Excel 已打开?工作簿与表名完全匹配?
Excel 选项里 DDE 拦截已关闭?
FTView 已创建 DDE Data Server(Application=EXCEL, Topic=[Book]Sheet)?
Tag 地址格式 ::[ServerName]Item 正确?数据类型匹配?
Excel 与 SE Client 同一交互会话运行?(都不是服务、同一用户登录)
尝试把地址的 R2C2 改成一个命名区域,排除 R1C1 参考样式差异。
把你现在的 Data Server 配置截图 和 HMI Tag 属性(Address 那一行)发我,我可以按你的实际项目名和表名,直接给你可复制的最终地址字符串。