简介面向西门子博途自动化项目的工程师与学习者内容系统讲解PLC与HMI之间的集成连接和非集成连接组态方法。文档以S7-1200/S7-1500和TP1500 Comfort为例既说明同一项目内通过拖拽连接PROFINET接口、配置IP和子网掩码的集成方式也介绍跨项目或跨软件场景下手动添加连接、选择SIMATIC S7驱动并填写PLC地址的非集成方式并对比两者的适用场景与优缺点。文档还详细列出通信协议匹配、站号与传输速率等参数设置以及组态完成后进行通信测试的注意事项帮助读者避开常见配置错误。资源包共1个docx文档约187KB结构清晰、图文对照可在博途V15.1及以上环境中边看边练。目前已有2183人浏览学习适合需要快速掌握HMI通信组态的现场工程师、电气维护人员和职业院校学生。1. 集成连接与非集成连接博途里PLC与HMI之间那条看不见的线做设备集成的人对TIA博途里那条看不见的连接都不会陌生。它不在梯形图里也不在画面里而是藏在HMI设备下的连接表中。PLC与HMI之间到底用集成连接还是非集成连接决定了你下载完程序后HMI画面上的按钮是能正常启动一台电机还是点了半天只剩一个翻车现场。集成连接专属于同一项目内的设备由博途自动维护非集成连接则是手动指定通信伙伴适合HMI项目独立、PLC是第三方设备或者需要维护旧系统的场景。搞清楚这两种连接怎么建立、参数怎么填比多写几十行PLC逻辑更影响竣工时间。这篇文章适合正在做TIA博途组态调试、准备做HMI仿真验证的工程师S7-1200/1500、S7-300/400以及第三方S7协议的接入差别都体现在连接参数上。2. 集成连接组态从设备添加到自动建连的完整路径2.1 集成连接到底集成在哪里符号寻址与自动维护集成连接的集成是指HMI的连接对象与PLC设备对象绑定在一起。组态时博途会为HMI和PLC生成一条连接连接表里显示集成HMI变量表可以直接引用PLC中的DB变量、I/O地址不需要像老WinCC那样手工维护一大堆地址映射。你改了PLC变量名HMI变量引用可以同步刷新。这一点在项目调试阶段特别重要变量名在程序里反复调整时集成连接能省掉很多重复劳动。但集成连接也并非完全免配置。你至少要让HMI和PLC的以太网接口处于同一个子网并且HMI的访问点要和下载时使用的PG/PC访问点一致。集成连接在连接表里能看到HMI侧和PLC侧的接口、IP地址但看不到TSAP、机架、插槽这些传统参数因为它们在建立连接时由博途根据设备组态自动计算并隐藏了。这个特性在排错时要注意如果连接不可达在集成连接里你能改的只有IP和接口不能直接改机架插槽。换句话说集成连接省下的是日常维护量牺牲的是对底层通信参数的可见性。在开始组态之前还有一件事值得养成习惯在设备视图中给HMI和PLC的以太网接口分别分配固定IP然后放到同一个Ethernet子网下。不要用DHCP做调试HMI一旦获取到别的网段地址连接表里再正确也是白搭。子网名称可以随便起但必须保证HMI接口和PLC接口引用的是同一个子网对象。很多初学者编译时看到接口/子网不存在的警告就是因为HMI在子网A、PLC在子网B虽然IP地址看起来在同一个网段博途仍然认为二者不在同一个网络域里。2.2 建立集成连接的两个入口HMI向导和变量拖拽在TIA博途里建立集成连接有两条常用路径。第一条是添加HMI设备时使用向导在PLC连接页面直接选择目标CPU。项目里如果已经有S7-1200/1500则在添加HMI后的向导步骤中会看到连接到已组态的PLC选项勾选后博途自动生成一条集成连接。这是最小的可行路径也是很多自动化培训课里演示的做法。如果你当时跳过了向导也不用重来后面手动建连接即可。第二条路径是在HMI连接表里手动新建。具体步骤如下双击项目树中HMI设备下的连接打开连接表。在表格名称列的最后一行下拉选择新连接弹出新建连接对话框。在新建连接对话框中将连接区域选为集成然后在PLC下拉框中选择当前项目里的CPU。连接ID会自动分配默认无需修改。确认后回到连接表会看到一条连接连接区域显示集成通信驱动程序根据HMI和PLC自动确定。编译整个项目确保没有硬件错误或连接错误。下载到HMI设备完成组态。第三条路径是后期补变量的常用技巧打开HMI变量表在PLC变量选项卡中浏览到PLC里的DB块或I/O地址直接用鼠标把变量拖到HMI变量表。拖拽过程中如果当前HMI还没有连接对应PLC博途会自动创建一条集成连接。这种方式的好处是不用记住变量地址缺点是连接名称比较随意建议建完连接后在连接属性里把名称改成有含义的名字比如HMI_MAIN_PLC。连接建立后集成连接里比较重要的参数集中在参数区域HMI侧要选择正确的本地接口访问点通常保持默认的PN/IEPLC侧会自动带出IP地址。这里有个细节连接表里的PLC IP是建立连接时的快照后面你修改了PLC设备的IP这里不一定自动跟着变。所以完整流程是先改设备组态里的IP再去连接表核对一次如果不一致就手动改掉。2.3 用变量关联验证集成连接是否真正可用建完连接后验证不只是看连接表里有没有绿勾黄金标准是HMI变量能否读到PLC值。我一般会做一个极小的验证组态避免在项目后期才发现连接根本没挂上。先在PLC程序里新建一个数据块DB1建议取消优化的块访问定义两个变量一个Bool型叫启动一个Real型叫速度设定。然后在HMI变量表中新建两个变量参数如下HMI变量名数据类型连接选择PLC变量地址示例启动Bool集成连接DB1.启动DB1.DBX0.0速度显示Real集成连接DB1.速度设定DB1.DBD4编译后在HMI画面上放一个按钮绑定启动放一个IO域绑定速度显示。下载PLC和HMI到设备或模拟器中如果画面能实时反映PLC里的值变化说明集成连接已经真正打通。这个验证组态在后续排查中还能复用当HMI通信出现问题先看这两个变量是否正常就能快速区分是连接问题还是其他变量组态问题。为什么把DB1设为非优化访问因为非优化DB的偏移地址可见后续用诊断工具、报表或第三方系统访问时都方便。优化访问在HMI符号访问下也能用可一旦HMI侧遇到非集成连接、仿真或上位机二次开发优化块反而会制造障碍。所以我的习惯是跟HMI有关的DB都用非优化访问省得给自己埋坑。3. 非集成连接组态跨项目、老PLC和特殊协议的地址直连方案3.1 什么时候必须抛弃集成连接改用非集成连接最常见的场景是项目分工。HMI项目由电气工程师单独维护PLC项目由设备厂商或工艺人员维护两边不在同一个博途项目里。此时HMI无法建立集成连接因为PLC根本不在当前项目树中。另一个常见场景是改造老设备PLC是S7-300/400甚至S7-200HMI更换成新的KTP系列连接只能手动填写。还有一类是第三方设备比如某些控制器支持标准S7协议HMI要透过以太网读写它的数据区这时没有博途里的PLC对象也只能用非集成连接。集成连接和非集成连接的本质区别不在人机界面而在连接对象的来源一个是博途根据设备对象动态维护一个是完全静态地保存一份通信参数。非集成连接一旦建立PLC的IP、机架、插槽发生变化博途不会自动追踪你必须手动改连接表。这也是非集成连接让不少人头疼的原因但在跨项目场景中它没有替代方案。在博途的HMI连接表中非集成连接的连接区域列显示为非集成连接。有些版本新建连接后默认就是非集成连接你不需要额外操作如果你的连接区域显示的是集成想改手动直连就把这个值改成非集成连接此时下方参数区会解锁机架、插槽、TSAP等编辑项。这一步操作说起来简单却是很多工程师卡住的地方他们看到的参数区是灰色的根本没法填PLC地址原因就是连接区域还在集成状态。3.2 非集成连接的最小组态步骤连接表里从零到一在HMI设备的连接表中非集成连接的创建路径如下双击项目树中HMI设备下的连接打开连接表。在最后一行名称单元格输入连接名比如PLC300_HMI。连接区域列选择非集成连接如果不是这个值先改掉。通信驱动程序下拉选择实际协议S7-1200/1500选择SIMATIC S7-1200/S7-1500S7-300/400选择SIMATIC S7-300/400S7-200系列选择SIMATIC S7-200。在下方参数区域中HMI一侧选择本机网口比如PROFINET接口设置HMI IP地址访问点选择PN/IE。PLC一侧填写目标IP。S7-1200/1500机架号默认0插槽号填1S7-300/400机架号和插槽号以PLC硬件组态为准比如CPU 315-2 PN/DP在机架0插槽2就填0和2。编译项目然后下载到HMI设备。如果HMI面板上只有一个网口第5步基本不会出错。如果HMI有多个网口比如带第三方通讯模块或USB转串口一定要在接口下拉中选择正确的物理接口否则连接表里填得再对物理链路也不通。关于TSAPS7-300/400的以太网S7通讯TCP端口固定为102不需要填但TSAP是需要的。在连接属性中找到地址详情把TSAP相关选项打开博途会根据机架和插槽自动生成一个值一般不需要手动修改。如果你手改过TSAP导致连接失败把它恢复成自动大概率比你在网上搜到的某个数值更可靠。S7-1200/1500不需要TSAP机架0插槽1是默认值也不要多余地去改它。3.3 连接参数对照表不同协议下到底填什么下表是我在实际项目中常用的参数底线抄作业时先按这个填再根据现场情况调整。通信驱动程序HMI侧接口访问点PLC侧地址机架号插槽号备注SIMATIC S7-1200/S7-1500PROFINET接口PN/IE192.168.0.101不需要TSAP协议自动处理SIMATIC S7-300/400PROFINET接口PN/IE192.168.0.302TSAP由机架/插槽自动生成SIMATIC S7-300/400 MPIIF1串口MPIMPI站号02需要配置MPI网络站号不能冲突SIMATIC S7-200PROFINET接口PN/IE192.168.0.10--使用S7协议无需机架插槽访问点这个概念很多人不重视但它直接影响连接。访问点是在控制面板的设置PG/PC接口里配置的常见名称是PN/IE。TIA博途下载程序时能用不代表HMI连接也会自动使用同一个访问点。如果现场电脑装了多个工业软件访问点被改掉HMI仿真或下载时会出现无法建立连接到HMI之类的问题。遇到这种情况先打开控制面板把访问点重新指向实际使用的以太网卡。3.4 为什么S7-1200/1500也经常被建议用非集成连接很多人以为S7-1200/1500是新一代PLC天然应该用集成连接。实际工作中S7-1200/1500用非集成连接的场合也不少。最常见的就是项目移交场景甲方只给乙方一个HMI项目PLC项目在设备原厂手里这时候HMI里必须手动建一条非集成连接指向现场PLC的IP。另一个场景是仿真验证。用S7-PLCSIM Advanced做PLC仿真时虚拟PLC的IP地址是通过仿真软件分配的它并不是博途项目里那个真实设备对象。HMI如果使用集成连接仿真时博途有可能把连接指向真实的硬件组态地址导致虚拟PLC收不到HMI的请求。我一般会专门复制一个HMI变量连接改用非集成连接并指向虚拟PLC的IP这样仿真调试时逻辑更清晰。这个习惯在项目前期能节省大量排查时间尤其是需要频繁验证HMI脚本和按钮逻辑的时候。4. 连接组态避坑最常见的五个现场翻车记录与排查顺序4.1 现象连接表里红叉下载后HMI按钮无反应很多工程第一次上电HMI可以进到运行画面但按钮点击后PLC输出完全不动。打开TIA博途连接表看到集成连接状态是红色叉或者在线状态显示连接不存在。原因HMI的IP与PLC不在同一网段或者HMI根本没有下载连接组态。尤其是添加HMI时是离线组态的现场PLC实际IP被电气人员在调试过程中改过连接表里还停留在旧地址。解决先确定HMI和PLC各自的IP。在TIA博途里分别打开两个设备的视图切换到在线状态读取实际IP和子网掩码。确认HMI和PLC在同一个网段后再到HMI连接表里核对目标地址是否与PLC实际IP一致。如果不一致在连接表中改成实际值重新编译并下载HMI。如果是集成连接还需要同时检查PLC设备组态里的IP否则下次编译连接参数可能又被设备组态覆盖。4.2 现象修改PLC的IP后集成连接的目标地址还停留在旧IP这是集成连接很常见的翻车点。理论上集成连接跟随设备对象但连接参数是独立保存的。PLC的以太网IP从192.168.0.1改成192.168.0.100后HMI连接表里的PLC侧IP可能仍显示192.168.0.1。原因是博途在建立连接时把设备地址写到了连接对象里设备地址变更后连接对象并不会每次都自动刷新。解决打开HMI连接表手动把目标地址改成新IP。如果改完编译出现IP与设备不一致的警告就说明PLC设备组态里的IP和连接表里不一致需要把两边改到同一值。更省事的办法是删除这条集成连接重新通过变量拖拽或连接表新建一条。这个坑在第3章末尾也提到过无论集成还是非集成连接表里的IP都是需要人工确认的。养成改完IP就查连接表的习惯能省掉一次现场出差。4.3 现象非集成连接S7-300/400总是显示不能建立连接诊断提示伙伴不可达现场常见于用非集成连接对老PLC做替换改造。HMI连接参数里填了IP但PLC侧参数完全不对。博途连S7-300/400需要正确的机架号和插槽号多数S7-300 CPU在机架0插槽2也有在0插槽3的S7-400可能在插槽4甚至更高。如果你填了插槽0连接肯定建立不了。解决确认CPU实际所在位置。如果还有原PLC项目在硬件组态里查看机架和插槽按实际数值填写。如果没有原项目看CPU模块侧面的订货号和安装导轨上的位置通常S7-300 CPU在单排机架上的插槽号不超过3。填写完机架插槽后再到连接属性的地址详情里打开TSAP自动生成。如果还是不通检查PLC的以太网接口是否配置了IP并且确认PLC的防护等级没有禁用S7通信。有些老CPU还需要在编程软件里设置允许HMI连接这一步很容易被忽略。4.4 现象仿真时博图HMI仿真按钮无反应不是组态问题而是虚拟PLC没配对用TIA博途做HMI仿真时最让人头痛的就是HMI仿真窗口能打开点击按钮却没有任何反应。很多教程只说用集成连接后仿真但在实际调试机上HMI仿真默认访问的是S7-PLCSIM Advanced创建的虚拟PLC。如果你只启动了S7-PLCSIM却没有给虚拟PLC设置与HMI连接一致的IP或者HMI连接指向了一个不存在的外部设备按钮当然没反应。解决路径先启动S7-PLCSIM Advanced加载PLC程序让虚拟PLC进入RUN再在S7-PLCSIM Advanced的实例属性中设置虚拟网卡的IP让它和HMI连接表里的PLC目标地址一致。然后在TIA博途中启动HMI仿真并使用同样的访问点。如果HMI连接是集成连接仿真时博途会尝试映射到物理PLC对象这个映射经常出问题我的做法是给仿真单独建一个非集成连接目标IP填写虚拟PLC的IP并把这个连接临时指定给HMI画面进行验证。仿真结束后再切回正式连接这样逻辑清晰也避免反复修改原连接参数。4.5 现象HMI画面所有变量显示####在线状态显示连接已建立但数据不刷新这个现象容易把排错思路带偏。连接状态在诊断里是绿色但画面变量全是####。原因是变量地址或数据类型不匹配尤其是使用DB块时你读的是优化访问的DBHMI侧却用了物理偏移地址。集成连接通常自动处理符号访问而非集成连接手动指定地址时很容易写错比如把Bool变量在DB里的第0字节第0位写成第0字节第7位编译不报错运行就是####。解决在HMI变量表里逐个核对变量地址。最好的方式是让变量通过PLC变量浏览器选择而不是手动键盘输入。手动输入不受保护错一位地址在编译阶段完全看不出来。对S7-300/400建议把非优化DB的偏移地址打印出来对着地址表填HMI变量对S7-1200/1500尽量使用符号访问把变量名直接绑定到DB的符号而不是依赖偏移地址。如果变量地址都正确还出现大片####再检查PLC里对应DB是否被多条连接同时访问某些CPU的连接访问资源有限多重绑定会造成访问冲突。以上五个案例也是我排查连接问题时的固定顺序先看物理链路再看连接表参数再看变量地址最后才怀疑PLC程序。凡是连接问题按照这个顺序走很少会绕远路。5. 进阶连接组态诊断三板斧与一个值得养成的习惯5.1 第一板斧先分清物理通不通再谈组态对不对HMI连不上PLC时不要急着在博途里改参数先用最简单的工具验证链路。HMI和PLC之间走以太网那么Windows命令行是你的照妖镜。在调试电脑上执行ping 192.168.0.1 -t telnet 192.168.0.1 102第一行的IP换成PLC实际地址-t表示持续ping方便你边拔网线边观察通断第二行的102是S7通信固定的TCP端口号所有西门子S7以太网连接默认使用这个端口。如果ping不通问题一定在IP地址、网线、交换机VLAN或防火墙如果ping能通但telnet失败说明有中间设备拦截了102端口或者PLC的以太网接口本身没有激活S7通信。在我自己的调试经历里这类问题十有八九出在防火墙和多个网卡上用这两条命令可以快速定位。5.2 第二板斧在连接表里看具体报错链路通了之后回到TIA博途。编译并下载HMI后在连接表里找到目标连接右键查看在线状态博途会显示当前连接是否建立。注意看报错信息里的关键词是连接伙伴不可达还是访问点错误还是协议错误。这三个方向的排查完全不同。连接伙伴不可达重点查IP和机架插槽访问点错误重点查控制面板的PG/PC接口设置协议错误重点查通信驱动程序是否选对比如把S7-1200/1500选成了S7-300/400。5.3 第三板斧保留一份连接参数变更记录实际项目中我会在交付前把HMI连接表里的关键参数截到技术交底文档里不仅截连接表整体截图还包括对方修改IP时需要同步修改的每一条连接记录。为什么因为非集成连接不会自动跟随PLC设备地址而集成连接也可能因为快照问题显示旧地址。现场电气人员最容易犯的错就是在PLC属性里改了IP以为HMI会自动跟着变结果第二天现场电话就打过来了。把连接表当作备份的一部分存档并且在文档里用红字标出改IP后必须同步修改HMI连接表这个习惯帮我和交付方避免过多次返工。这也是我吃了好几次亏以后才养成的习惯希望帮到你。本文还有配套的精品资源点击获取
