简介:面向具备基本自动化设备安装调试能力的技术人员,尤其是需要将 Intouch 2020R2 SP1 与西门子 S7-1500 PLC 接入同一监控系统的工程师,这份通讯配置手册围绕实际工程中的连接建立与运行稳定性展开。内容从博图软件中的 CPU 型号选择、上位机通讯 IP 配置、变量表与 DB 块权限设置讲起,依次覆盖 SMC 中的 Siemens SIDIRECT 端口添加、Intouch 通讯程序创建、访问名与标记名配置,以及画面动画链接的建立方法,并对 PUT/GET 通信访问、优化块访问取消等关键点作出提示。压缩包仅含 1 个 PDF 文件,大小约 1.42MB,目录按配置环节划分,便于现场按步骤查阅;文中同时强调安装调试前的安全信息与操作注意事项,可帮助读者减少调试错误、提升系统联调效率。已有 287 人学习。
1. Intouch 2020R2 SP1 与西门子 1500 PLC 通讯配置:真正卡人的往往不是 IP
Intouch 2020R2 SP1 与西门子 1500 PLC 的通讯配置,流程拆开看只有三件事:博图里放行、System Platform Management Console(下面统一叫 SMC)里建连接、Intouch 里建访问名和标记名。可真到现场,最容易翻车的不是 IP 填错,而是 TIA Portal 里那两个不起眼的地方——“允许来自远程对象的 PUT/GET 通信访问”没勾、DB 块的“优化的块访问”没取消。这两处只要漏一个,SMC 里点了 Activate 照样是红的,标记名一路显示问号,你在 Intouch 和博图之间来回切半天也定位不到原因。
这套组合在产线上位机改造里太常见了:老 HMI 换 Intouch 2020R2 SP1,下位机是已经跑了两年的 S7-1500,中间隔着一层 OI Server。装的人如果只照着菜单点,不看驱动版本和块属性,基本都会在“连上了但读不到数”这一步停下。下面按我实际动手的顺序走一遍,从版本对齐、驱动安装,到博图三个开关、SMC 的 Port 和 Device Group,再到访问名、标记名和最后的验证,每一步都写清楚为什么这么填、填错了会怎样。
2. 环境与版本:把 SIDIRECT 驱动装在上位机哪一层
先把“装什么”定死,再谈怎么装。Intouch 侧不是一个孤立的 exe,它由 HMI 组态环境、OI Server 和具体的设备驱动三部分组成,S7-1500 走的是 Siemens SIDIRECT 这一支。三者的版本如果东拼西凑,最常见的症状就是 SMC 树里能看到节点、也能 Activate,但连接状态一直起不来,日志里翻不到有用的信息,纯属玄学。
2.1 版本组合与安装顺序
我一般按下面这张表核对,缺一项就先补,不急着往下配。
| 组件 | 版本要求 | 作用 | 装错的典型表现 |
|---|---|---|---|
| Intouch HMI | 2020R2 SP1 | 画面组态与运行 | 工程打不开、模板缺失 |
| System Platform / SMC | 与 2020R2 配套 | 管理 OI Server 与驱动节点 | 树里没有 Siemens 分支 |
| Siemens SIDIRECT 驱动 | 随 2020R2 配套发布 | 与 S7-1500 建立 ISO-on-TCP 连接 | Activate 失败、状态红 |
| TIA Portal | V15 及以上 | 组态 S7-1500、下载硬件 | 无法打开项目、固件不匹配 |
| S7-1500 CPU 固件 | 与博图版本匹配 | 提供 PUT/GET 能力 | 勾选项灰掉或不可用 |
安装顺序上有讲究,血泪经验是:SIDIRECT 驱动必须在打开 SMC 之前装完并重启。驱动安装过程会往 OI Server 的节点树里注册设备类型,如果先开 SMC 再装驱动,树里那一支不会自己长出来,得重启服务甚至重启机器才认。合理的顺序是:操作系统补丁和依赖组件 → TIA Portal(可以和上位机分开两台机器)→ Intouch HMI 2020R2 主体 → SP1 补丁 → SIDIRECT 驱动 → 重启 → 导入授权 → 打开 SMC 验证节点是否存在。
还有一点容易被忽略:Intouch 主体和 SP1 补丁之间不要夹装别的 AVEVA 组件,补丁升级过程会替换部分 OI Server 的注册信息,中间插一脚容易出现版本号对得上、功能对不上的怪状态。
2.2 SIDIRECT 驱动安装与授权确认
驱动安装包里通常包含 DAServer 和 OI Server 两部分,安装时保持默认路径,不要自己改到带中文或空格的目录,后面 SMC 读取配置时路径解析会出问题。安装完成后先别急着配参数,做两件事确认环境是干净的。
第一件是确认授权。打开授权管理工具,看 Siemens SIDIRECT 对应的授权项是否存在、是否已激活。没有授权时 SMC 里节点照样在,也能点 Activate,但运行一段时间后会掉线或者直接拒绝连接,这种“时好时坏”最容易误导排查方向。
第二件是确认服务状态。SMC 依赖后台的 OI Server 服务,驱动装完后这些服务应该处于自动启动状态。如果服务是停止的,右键启动一次,再打开 SMC,否则你会在一个空树里找节点。
2.3 网络与系统前置条件
上位机和 PLC 必须在同一网段,这句话听起来像废话,但双网卡工控机是最常见的翻车点:一块网卡连办公网、一块连设备网,Windows 按跳数选路由,结果通讯报文从办公网那块卡出去了。配置之前先把无关网卡禁用,只留设备网那块。
网络通不通不要靠“感觉”,用命令确认,IP 按自己项目的实际值改:
# 查看本机所有网卡的地址,确认设备网卡在目标网段 ipconfig /all # 连续 ping PLC,观察是否有丢包,-t 表示一直 ping 直到手动停 ping -n 20 192.168.0.1 # 查看 102 端口(ISO-on-TCP)是否有本地程序占用 netstat -ano | findstr :102第一条命令重点看设备网卡的 IP 和子网掩码,掩码写错会导致“能 ping 通网关但 ping 不通 PLC”。第二条命令看的是丢包率,工业现场网线接头氧化、交换机端口协商异常都会表现为偶发丢包,这种链路下就算配置全对,标记名也会时不时跳成问号。第三条是排查端口冲突用的,如果 102 端口已经被别的软件占着,SIDIRECT 起连接时会直接失败,现象和 PLC 没开机一模一样。
提示:Windows 防火墙默认会拦掉部分入站连接。调试阶段可以在专用网络配置文件下放行 OI Server 相关程序,但不要图省事直接全关,配置完记得恢复。
3. 博图与 SMC 两侧:三个开关加一条连接
这一章是整个流程里信息密度最高的部分。博图侧决定“PLC 让不让你读”,SMC 侧决定“上位机怎么去读”,两边必须对上,缺一边都不通。
3.1 博图里先抄三个数:IP、机架号、槽号
打开 TIA Portal,新建项目,选实际的 CPU 型号,先在硬件组态里把 PROFINET 接口的 IP 地址配好。这个 IP 后面要原样填进 SMC,不要中途改,改一次 SMC 里就得重新配一次连接。
机架号和槽号在设备视图里看,选中 CPU 后看属性里的硬件标识。S7-1500 的取值规律比较固定:
| CPU 类型 | 机架号 | 槽号 | 说明 |
|---|---|---|---|
| S7-1500 标准 CPU | 0 | 1 | 最常见的组合 |
| S7-1500 带 ET200 站点的分布式结构 | 0 | 1 | 站点号另算,不影响机架槽 |
| 部分紧凑型 CPU | 0 | 1 | 以博图实际显示为准 |
这三个数必须从博图里抄,不能凭经验猜。填错槽号时 SMC 里连接能建立,但读数据全部失败,报错信息往往只说“无法访问”,不会告诉你是槽号写错了。这一步我习惯截图存一份,后面填 SMC 时对着抄。
3.2 两个放行开关:PUT/GET 与访问权限
选中 CPU,打开属性,找到“防护与安全”里的“连接机制”,勾上“允许来自远程对象的 PUT/GET 通信访问”。这个选项默认是不勾的,而 SIDIRECT 走的就是这条通道,不勾等于把门焊死。
接着处理变量表和 DB 块的访问权限。按手册的要求,把允许访问的权限设为“无保护”,这样上位机访问数据块时不需要额外的认证协商。这里要说清楚取舍:无保护意味着任何能连到 PLC 的节点都能读写这些块,只适合在隔离的设备网内使用,如果现场网络和办公网有互通,这个设置要慎重,至少要配合交换机侧的访问控制。
注意:改完防护与安全设置后,必须重新编译硬件配置并下载到 PLC。只编译不下载,PLC 里跑的仍然是旧配置,你会以为勾已经生效,实际一点变化都没有。
3.3 取消“优化的块访问”:DB 块必须改的一处
这是最容易漏也最致命的一处。S7-1500 新建 DB 块时默认勾选“优化的块访问”,这种块按符号寻址,没有固定偏移量;而 SIDIRECT 是按绝对地址去读的,两者对不上,结果就是连接正常、地址也对,读回来的数永远是 0 或者报无效地址。
操作是:在项目树里找到每个要通讯的 DB 块,右键属性,在属性页里取消勾选“优化的块访问”,确定后重新编译并下载。DB 块里已有的变量不会丢,但偏移量会重新排布,所以取消优化之后要重新核对一遍每个变量对应的偏移地址,之前按优化块算出来的地址全部作废。
我一般会在 DB 块里显式留出对齐空间,比如每个变量按字或双字对齐,避免出现跨字访问时高低字节顺序对不上的问题。这一步多做五分钟,后面调画面能省两小时。
3.4 SMC 里添加 Legacy Connection
驱动装好、重启完成,从开始菜单打开 AVEVA 的 System Platform Management Console。左边树按这个路径展开:
Operations Integration Server Manager → Default Group → Local → Operations Integration Supervisory Servers → Siemens – SIDIRECT → Configuration → Port
在 Port 上右键,选 Add Legacy Connection。弹出的对话框里几个字段这样填:
| 字段 | 填法 | 说明 |
|---|---|---|
| Name | 默认或自定义,如 PLC1500 | 只作标识,随意但不建议用中文 |
| IP Address | PLC 的 IP | 不是上位机 IP,这里最常填错 |
| Rack | 0 | 从博图抄 |
| Slot | 1 | 从博图抄 |
填完先别急着下一步,回头对照博图里的三个数再核一遍。IP 填成上位机自己的地址是最常见的低级错误,现象是连接状态一直显示正在连接,永远不成功。
3.5 Device Group 与 Activate
连接建好后,在 Device Group 上右键空白处,选 Add,Name 里填一个组名,比如 PLC。这个组名很关键,后面 Intouch 的访问名里“主题名”要跟它一字不差地对上,改一个字就通不了。组的作用是把同一台 PLC 下的数据项归到一起,多台 PLC 就建多个组,命名上建议带设备编号,别都用默认名。
配完点右上角保存图标,保存项目。然后右键 OI.SIDIR.1,选 Activate 激活。激活成功的标志是节点状态变成运行态,点开连接能看到 PLC 的信息。如果激活后状态是红的,先别在 Intouch 里折腾,回到 3.2 和 3.3 检查那两个开关,八成是那里没生效。
4. Intouch 侧:访问名和标记名怎么对上 SMC
到这里通讯链路的下半截已经通了,剩下的是让 Intouch 知道“去哪个 OI Server、读哪个组、读哪个地址”。这三层分别对应访问名、主题名和标记名的项目字段。
4.1 新建工程并选定模板
从开始菜单打开 AVEVA Intouch HMI → Intouch HMI Application Manager,在空白处右键新建。模板选择“独立型带符号库的模板”,这个模板自带符号库,后面做动画链接时可以直接拖元件,不用从零画。
工程名按项目习惯填,比如“通讯”,存储路径不要带中文和空格。路径问题在 Windows 上属于老生常谈,但每年还是有人栽在这上面:工程能建成功,运行的时候找不到文件,报错信息还特别含糊。
建完后在列表里双击打开,进入 Intouch WindowMaker。
4.2 访问名的四个字段
在 WindowMaker 里打开访问名配置,新建一条,字段对应关系如下:
| 字段 | 填法 | 出错后果 |
|---|---|---|
| 访问名 | 自定义,如 PLC1500 | 标记名引用不到 |
| 节点名 | 留空表示本机,远程 OI Server 填机器名 | 填错连不上 OI |
| 应用程序名 | 与 SMC 树中 OI Server 节点名一致 | 连接建立失败 |
| 主题名 | 与 SMC 中 Device Group 的组名一致 | 连接成功但读不到项 |
这里最稳的做法是回到 SMC,把树里 OI Server 的节点名原样抄过来填进“应用程序名”,把 Device Group 的组名抄进“主题名”。不要凭记忆写,大小写和点号都算数。主题名填错的表现特别有迷惑性:SMC 里一切正常,Intouch 里也不报连接错误,但所有标记名都是问号,因为它在向一个不存在的组要数据。
4.3 标记名与地址写法
标记名是 Intouch 和 PLC 变量之间的桥。新建标记名时,类型按数据类型选(离散、整型、实型、字符串),访问名选上一步建的那条,项目名填 PLC 侧的地址。
SIDIRECT 的地址写法跟驱动版本有关,常见的是“DB 块号 + 数据类型 + 偏移”的组合形式,比如 DB1 里偏移 0 开始的一个字。写的时候注意两点:一是偏移量要按取消优化访问之后的绝对地址算,二是数据类型要和 DB 块里声明的一致,DB 块里是整型你按实型读,读回来的数看着像乱码。
标记名建完后先别急着做画面,在标记名列表里看状态。刚建好的 I/O 型标记名会有一个短暂的初始化过程,等几秒刷新,如果值列出现实际数据,说明整条链路是通的;如果一直是问号,问题在访问名或 SMC,不在标记名本身。
4.4 动画链接与运行验证
在 WindowMaker 里新建一个窗口,放一个矩形或文本对象,双击打开动画配置,选“填充颜色”或“值显示”,表达式里选刚才建的标记名。保存窗口,然后从 Application Manager 切到 WindowViewer 运行。
运行时观察两件事:画面上的对象是否随 PLC 变量变化,以及 Intouch 的运行日志里有没有通讯相关的告警。前者验证读通路,后者帮你抓偶发断线。写通路要单独测,在画面上放一个输入框,绑定同一个标记名的输入动画,改一个值,回博图的监控表里看 PLC 侧是否收到。读写都通了,这套配置才算闭环。
5. 避坑与排查:五条现场记录
下面这几条都是配置过程中真实会遇到的,每条按现象、原因、解决写,顺序大致对应从底层到上层的排查路径。
5.1 SMC 树里找不到 Siemens – SIDIRECT 分支
现象:打开 SMC,展开到 Operations Integration Supervisory Servers 下面,只有默认节点,没有 Siemens 这一支,怎么刷新都不出来。
原因:SIDIRECT 驱动没有安装,或者安装时 SMC 已经在运行,注册信息没有写入节点树。还有一种情况是驱动装了但服务没有启动,树结构加载不完整。
解决:先确认控制面板里有 SIDIRECT 的安装记录,再检查相关服务是否处于运行状态。如果都正常还是看不到,关掉 SMC、重启机器、重新打开。顺序上一定要先装驱动后开 SMC,这个顺序错了就得靠重启补救。
5.2 Activate 后状态一直红,ping 却是通的
现象:PLC 能 ping 通,SMC 里连接也建好了,点 Activate 之后状态图标一直是红的,日志里没有明确报错。
原因:九成是博图里“允许来自远程对象的 PUT/GET 通信访问”没勾,或者勾了但没有重新编译下载。剩下的一成是机架号或槽号填错。
解决:回博图逐项核对连接机制和硬件组态,改完必须下载到 PLC,不能只保存项目。下载完成后在 SMC 里先 Deactivate 再 Activate,让连接重新握手,直接点 Activate 有时会复用旧的失败状态。
5.3 连接正常但读回来的数全是 0
现象:SMC 状态正常,Intouch 里标记名不是问号,但值一直是 0,PLC 侧监控表里明明是变化的。
原因:DB 块还带着“优化的块访问”,SIDIRECT 按绝对偏移读,读到的位置根本没有数据;或者取消优化后没有重新下载,PLC 里跑的仍是旧块。
解决:逐个检查参与通讯的 DB 块属性,取消优化访问后重新编译并下载,然后按新偏移量重新核对标记名的地址。这一步建议一次性把所有要用的 DB 块都改完再下载,避免反复停机。
5.4 标记名全是问号,但 SMC 一切正常
现象:SMC 里 OI Server 运行正常,连接状态绿色,Intouch 里新建的标记名刷新后仍然是问号。
原因:访问名的主题名和 SMC 里 Device Group 的组名不一致,或者应用程序名写错。大小写、空格、点号都可能是原因。
解决:打开访问名配置,把主题名和应用程序名逐个字符对照 SMC 树里的节点名重填一遍,保存后重启 WindowViewer。改访问名之后必须重启运行环境,热改有时不生效。
5.5 白天正常,夜里偶发断线
现象:白天调试一切正常,晚上无人操作时偶尔断线,第二天看画面数据停在某个值上不动。
原因:工控机双网卡路由抖动,或者交换机端口节能协商导致的链路瞬断。也可能是授权到期或服务被系统策略重启。
解决:禁用无关网卡,在设备网卡上固定速率和双工模式,关掉交换机的节能特性。同时在 Intouch 里对关键标记名做状态监视,断线时能第一时间看到而不是靠人发现。这类问题没有一劳永逸的办法,只能靠监控提前暴露。
6. 装完怎么验证:从 PLC 往上倒推的五层检查
配置做完不等于跑通,我习惯按从下往上的顺序做一次完整验证,每层都有明确的通过标准,哪一层不过就停在哪一层,不要跳着查。这套顺序的好处是把问题范围一次次缩小,而不是在 Intouch 和博图之间反复横跳。
第一层,物理与网络。用长 ping 跑二十分钟,丢包率必须是 0。命令不用复杂,关键是时长要够,短 ping 看不出偶发问题:
# 长 ping 观察链路稳定性,20 分钟约 1200 个包 ping -n 1200 192.168.0.1 # 单独确认 102 端口可达(需系统自带 telnet 客户端) telnet 192.168.0.1 102第一条第 0 丢包才算过,任何丢包都先换网线或换交换机端口,不要带着链路问题往下查。第二条能连上会显示空白或直接进入连接状态,连不上说明 PLC 侧没有开放这个服务或者中间有设备拦截。
第二层,PLC 侧配置。打开博图在线监控,确认 CPU 的防护与安全里 PUT/GET 已勾选并已下载,逐个打开参与通讯的 DB 块属性,确认“优化的块访问”处于取消状态。这一层的通过标准是“在线看到的配置和项目里的一致”,不是“我记得改过”。
第三层,SMC 连接状态。打开 SMC,确认 OI Server 处于激活状态,连接节点是绿色,Device Group 名称与访问名里的主题名完全一致。可以在这里断开再激活一次,看是否能稳定恢复,恢复不了说明配置有隐性问题。
第四层,Intouch 标记名。打开标记名列表逐个刷新,看值是否跟随 PLC 变化。这一层我一般会做一个交叉验证表:
| 检查项 | 通过标准 | 不通过先查 |
|---|---|---|
| 标记名数值 | 与 PLC 监控表一致 | 地址偏移、数据类型 |
| 写入测试 | PLC 侧收到新值 | 访问权限、DB 块写保护 |
| 断线恢复 | 拔网线再插回能自动重连 | SMC 重连策略 |
| 长时间运行 | 连续 8 小时无问号 | 授权、服务状态 |
第五层,画面联动。在 WindowViewer 里跑完整画面,手动触发几个关键变量,确认动画响应没有明显延迟,切换窗口时数据不断流。
这套流程我每次都强制走一遍,不管项目多小。有一回赶工期跳过了第一层的长 ping,结果上线第三天开始随机断线,最后查出来是现场一根网线水晶头压接不良,返工的成本远比二十分钟的 ping 高。从那以后我每次配完通讯,第一件事就是挂上长 ping 去泡杯茶,回来再看结果。希望这套顺序能帮到你,少在“连上了但读不到数”这种地方耗时间。
本文还有配套的精品资源,点击获取