简介这份《ET200SP和S7-1200以太网连接的具体步骤》文档面向工业自动化初学者与现场调试人员聚焦西门子S7-1200 PLC与ET200SP分布式IO通过以太网建立通信的组态流程帮助读者理解从设备添加到地址分配的关键环节。文档共1个docx文件压缩包约225KB内容以图文步骤和注意事项为主便于按章节对照组态软件中的网络视图与设备视图操作。已有2043人学习说明该主题在PLC网络配置入门中具有较高关注度。读者可据此掌握CPU版本要求、添加分布式IO、同网段IP设置、接口模块与CPU连接、分配IO控制器及保存编程等要点并参考路由器功能、未分配地址排查、软硬件兼容性和生产环境安全设置等提示减少组态过程中的常见错误适合作为ET200SP与S7-1200以太网连接的自学与现场排错资料。1. ET200SP 和 S7-1200 以太网连接灯亮着、点读不到问题常常不在网线调试台上电CPU1214C 的 RUN 灯是绿的ET200SP 的 BF 灯在红闪监视表里 IW64 一直是 0。这套 ET200SP 和 S7-1200 以太网连接网线是通的、链路灯是亮的程序却读不到一个点——现场十次有八次不是线的问题而是设备名没落地或者分布式 IO 压根没挂到控制器下面只停在网络视图里当一个孤儿设备。这份材料把整条链路拆成了能照着抄的步骤从 CPU 固件 V4.0 这道硬门槛起加 CPU、加接口模块、拖网口连线、分配给 IO 控制器到编译下载后在线分配设备名称。适合刚上手博途、手边正摆着一台 ET200SP 和一台 S7-1200 要连夜通电的人也适合能连上但总在换件、掉站上翻车的熟手回头对参数。2. 先把前提锁死固件版本、硬件清单与 IP 规划表2.1 固件 V4.0 这道门槛到底卡在哪里S7-1200 要作为 PROFINET IO 控制器去带 ET200SPCPU 固件必须在 V4.0 及以上。这条不是建议是硬限制V4.0 之前的固件里CPU 的 PROFINET 接口只承担编程、HMI 连接和少量 S7 通信IO 控制器这块能力没有放开你在网络视图里怎么拖都建立不了 IO 通信关系。项目正文里用的是 CPU1214C V4.1这是当年最常见的一档现在新设备大概率是 V4.4 甚至更高组态时按实物标签选别图省事选最高版本。组态版本选高了会翻车。博途在下载前会做一致性检查组态里写的固件版本高于实物往往在编译 硬件这一步就报固件版本不兼容或者下载后接口模块起不来、BF 灯常亮。我一般会先翻 CPU 正面的标签把订货号和固件版本拍照记下来再回博途里逐位对齐。反过来实物版本比组态高是允许的向下兼容没问题只是新版本的一些功能用不上。还有一种情况你手上的接口模块型号比装的博途版本还新硬件目录里翻不到那就得装 GSDML 文件。ET200SP 是原厂自家设备正常都在硬件目录里只有遇到新发布、老版本博途没收录的接口模块才走这条路。装完 GSD 后设备会出现在其他现场设备 PROFINET IO下面用法和目录里的设备一样但组态参数会略少一些。2.2 硬件清单与网口拓扑怎么排先把要用的东西在桌上摆齐再开博途能省掉大量来回。CPU1214C 本体只有一个 PROFINET 口RJ45这点很多人记错——1215、1217 才是双口。而 ET200SP 的 IM 155-6 PN 接口模块背面有两个 RJ45这两个口是模块内置的二口交换机可以拿来做线形菊花链拓扑CPU 的网口进第一台接口模块的 P1第二台从 P2 出去。这也是原文里说那俩网口有路由器功能的实际含义它做的是二层交换不是三层路由。真要跨网段得去 CPU 的 PROFINET 接口属性里勾启用 IP 转发再给 IO 设备配上网关地址。这个功能平时用不上一旦你的 ET200SP 和 CPU 不在同一个网段又不想加路由器它就是那根救命稻草。但我不建议一上来就开跨网段会让诊断路径变长排查时先怀疑的地方多了一层。设备订货参考关键参数备注CPU 1214C DC/DC/DC单 PN 口固件 ≥ V4.0固件版本必须与组态一致IM 155-6 PN ST/BA二口交换机2×RJ45支持线形拓扑型号决定可用信号模板数量信号模板 DI/DQ按点数选24VDC 漏型/源型断电插拔注意背板供电24V 电源≥ 3A给 CPU 与接口模块分别供电两组电源共 0V 更稳网线工业级屏蔽双绞长度 ≤ 100m现场用普通跳线是常见隐患电源这块要多说一句。接口模块的负载电压和 CPU 的供电建议分开走共 0V 但不共熔断器。现场出现过接口模块一上电就掉站最后查到是信号模板的负载电流把 CPU 那一路电源拉塌了属于典型的看起来是通信问题其实是电源问题。上电顺序也讲究先给接口模块和信号模板上电再给 CPU 上电让控制器起来时从站已经在线能少看一屏诊断报文。2.3 建项目与 IP 规划先画表再动手动手之前拿张纸把设备名和 IP 写死后面每一步都对着这张表填比在博途里来回翻属性页快得多。设备名PROFINET 设备名称是这套系统真正的身份证IP 只是寄生在上面的东西这一点后面单独拿一章讲。设备PROFINET 设备名IP 地址子网掩码说明CPU 1214Cplc-01192.168.0.1255.255.255.0控制器兼编程口IM 155-6 PNim155-01192.168.0.2255.255.255.0与 CPU 同网段编程电脑—192.168.0.10255.255.255.0固定 IP别用 DHCP设备名的规则要留意只能用字母、数字、连字符和点不能以数字开头不能带下划线和空格长度有限制。名字起得随意后面在线分配时会吃闭门羹。IP 段选 192.168.0.x 是习惯用法但如果你现场有办公网、监控网在同一台交换机上最好挑一段不冲突的比如 172.16.10.x避免哪天网管换设备撞车。3. 组态实操从 CPU1214C 到接口模块的完整配置链路3.1 添加 CPU 并设置 PROFINET 接口参数打开博途新建项目进项目树 添加新设备路径是控制器 SIMATIC S7-1200 CPU CPU 1214C DC/DC/DC。设备版本那栏一定要和实物对齐我习惯在这里多停三秒因为选错了后面改起来要连带重编一大堆东西。点确定后自动跳进设备视图。接着双击设备视图里那个绿色的 PROFINET 接口图标进属性页展开常规 以太网地址。这里要填三样IP 地址、子网掩码、新建一个子网。第一次做的时候添加新子网是必点的不点这一步后面拖线会提示没有公共子网。IP 填 192.168.0.1掩码 255.255.255.0子网名随便起比如 PN_IO。同一页下面还有个PROFINET标签里面有设备名和自动生成 PROFINET 设备名称的勾选项。CPU 自己作为控制器设备名一般不用管真正要盯的是从站那边的名字。有意思的是很多人就在这一步把 IP 改成了别的网段然后回网络视图拖线博途提示设备不在同一子网来回折腾半小时——IP 是在这一步定的别在别的地方找。3.2 添加分布式 IO 与信号模板先别管地址回到网络视图右侧硬件目录往下翻其他现场设备 PROFINET IO I/O ET200SP 接口模块 IM 155-6 PN ST。用鼠标拖到网络视图空白处松手接口模块就出现了但此时它连在一条虚线未分配的链路上谁都不认识它。双击这个接口模块进设备视图在硬件目录里找 ET200SP 的信号模板比如 DI 8×24VDC 和 DQ 8×24VDC/0.5A拖到接口模块右侧的槽位 1、槽位 2。这里有个容易犯的错接口模块本身占用槽位 0信号模板从 1 开始槽位号不能跳着插中间留空博途会报错。加完之后你会看到 IO 地址那一列是灰色或者显示问号这是正常的因为设备还没分配给控制器地址分配逻辑没被触发。槽位模块起始地址示例说明0IM 155-6 PN ST—接口模块占位不可删1DI 8×24VDCI0.0 ~ I0.7地址可在属性里改2DQ 8×24VDC/0.5AQ0.0 ~ Q0.7与后续槽位连续地址分配规则很简单博途从 CPU 已有的最后一段地址往后顺延按添加顺序排。想改就双击槽位进属性把起始地址手动填成你要的值改完不影响功能只是程序里用起来直观。我一般会把 ET200SP 的点统一放在 IW64 以后和 CPU 本体自带的点隔开回头查故障一眼就能分清是本地还是分布式。3.3 网络视图连线与分配给 IO 控制器的真正含义这是整套流程里最关键的一步也是最多人卡住的一步。回到网络视图现在屏幕上左边是 CPU右边是那个孤零零的接口模块。把鼠标放到 CPU 的 PROFINET 接口上光标变成十字按住拖到接口模块的 P1 口上松手一条绿色的线就画出来了。此时博途会自动给接口模块分配一个同网段的 IP通常就是 192.168.0.2你可以改成别的只要保证和 CPU 在同一网段。但拖完线事情只做完一半。现在的状态是物理上连上了逻辑上还没认主。选中接口模块右键菜单里有分配给新 IO 控制器点进去选 CPU1214C。这一步做了之后接口模块才会挂到 CPU 的 IO 系统下面信号模板的地址才真正生成出来。原文里把这一步叫许配给 CPU其实就是建立 IO 通信关系PROFINET 里的说法是 IO 控制器与 IO 设备之间的 AR应用关系建立。如果右键里没有分配给新 IO 控制器而是显示未分配那就要往上看一层可能是 CPU 那边已经有别的 IO 系统占着了或者你拖线的时候连到了别的控制器上。网络视图里可以拉一下设备位置看看那条绿线到底连到谁。还有一种情况是接口模块的 IP 被手工改到了不同网段右键菜单会变灰先把 IP 改回来。分配完成后接口模块会被收进 CPU 下面的 IO 系统框里图标边框变实。此时再回设备视图看信号模板的地址一栏已经填上了具体数值不再是问号。到这一步组态层面的活基本干完了剩下的就是编译和下载。3.4 编译、下载与在线分配设备名称点编译 硬件完全重建看编译结果窗口有没有红色报错。绿色勾出来之后选中 CPU 那一行点下载到设备选择接口类型PN/IE、PG/PC 接口选你电脑的网卡、扫描可访问的设备、找到 CPU 后下载。第一次下载会提示停止模块确认就行。下载完成后切到在线和诊断看 CPU 的诊断缓冲区正常应该是干净的。但很多时候你会发现 BF 灯还是红的CPU 这边报IO 设备不可用。原因基本只有一个接口模块上电时出厂设备名是空的而控制器是按设备名找设备的。博途的组态信息里写了它该叫 im155-01可实际模块身上没这个名字DCP 报文喊它它不应答。解决办法是在在线访问下面找到你的网卡双击更新可访问的设备等它扫出接口模块的 MAC 地址然后选中它右键分配设备名称选 im155-01勾上分配 IP 地址确定。执行成功后再看那只 BF 灯会从红闪变成常灭或者闪几下就稳了。这一下点下去心里那块石头才落地程序里的 IW64 立刻就有数了。# 下载完成后想先确认链路层通不通最省事的还是 ping ping 192.168.0.1 -t # 先确认电脑能到 CPU ping 192.168.0.2 -t # 再确认能到接口模块 # 注意ping 得通只说明 IP 层通不代表 PROFINET 通信已建立 # 设备名没分配时接口模块可能不应答 ping这不是网线问题上面这两条命令只做一件事把物理链路和设备名这两个变量分开。如果 CPU 能 ping 通、接口模块 ping 不通八成是设备名没落地或者 IP 没下发如果两个都 ping 不通先查网线和电脑自己的 IP 是不是还在 192.168.0.x 段上——我见过有人电脑网卡设的是 10.0.0.x然后对着 192.168.0.2 一顿猛 ping最后发现是自己的地址没改。4. 设备名、IP 与拓扑PROFINET 寻址的三层关系4.1 设备名是主键IP 是附属品PROFINET 和普通以太网 TCP/IP 最大的区别就在这儿。控制器上线后不是对着 IP 找设备而是用 DCP 协议在网段里广播喊谁叫 im155-01接口模块应答我是控制器再把组态里的 IP 地址、子网掩码、网关一起下发过去。也就是说设备名才是设备的身份证IP 只是被分配给它的一个属性。这解释了两个常见现象为什么你手工把接口模块的 IP 改成想要的重新上电后又变回去了为什么换了个同型号的新模块组态下载了还是不认——新模块出厂是空名字谁都没给它发证。理解这一层之后排错思路就变了。以前遇到 IO 不通第一反应是 ping IP现在第一反应是打开可访问的设备看设备名对不对。设备名对不上IP 再怎么 ping 通也没用因为控制器压根不往那个 IP 上下发数据。反过来说只要设备名一致、同一网段、没有别的控制器抢IP 哪怕暂时不对控制器也会自己把它纠正过来。设备名和 IP 的对应关系在博途里有两处可查一是设备视图里接口模块属性下的PROFINET 接口 以太网地址二是在线和诊断 功能 分配设备名称那个窗口能看到在线设备的实际名字和组态名的比对。这个比对窗口在换件之后特别好用扫一眼就知道哪个名字没对上。4.2 拓扑组态、MRP 环网与介质冗余设备名靠人分配是逻辑层面的活拓扑是物理层面的活。在网络视图里点拓扑视图可以看到两台设备之间那条线把 CPU 的 P1 和接口模块的 P1 手动连一下博途就记住了这条物理连接关系。别嫌麻烦这一步是后面介质冗余和设备替换的基础。如果现场做的是环网接口模块的 P1、P2 分别接到环的两侧最后回到交换机那就得在 CPU 的属性里启用 MRP介质冗余协议指定一台设备做 MRP 管理器其余做客户端。环形拓扑的好处是任何一段线断了网络能在毫秒级内切到另一侧ET200SP 不会掉站。代价是调试期要多留个心眼环没合上、或者两台都配成了管理器反而会不停闪断比单线还难受。参数典型值调整建议更新时间8ms默认站点多、扫描周期长时放宽到 16~32ms看门狗倍数3保持默认除非链路抖动明显介质冗余关闭只有环网才启用 MRP发送时钟1ms与更新时间联动别乱改更新时间和看门狗这两个参数容易被忽略。更新时间设得太小网络稍微有点抖动就从站掉线你会以为是硬件坏了设得太大IO 数据刷新跟不上控制精度受影响。我一般是先按默认 8ms 跑起来看诊断缓冲区有没有看门狗超时的记录有就往上翻一档没有就不动它。盲目调参数带来的问题往往比解决的问题多。4.3 用 SCL 把设备状态读进程序里BF 灯在柜子里人在现场跑一趟不容易。S7-1200 提供了 DeviceStates 指令可以在程序里周期读取 IO 设备的连接状态把结果丢到 HMI 上省得每次开柜门。这条指令在指令树扩展指令 诊断下面调用时要建背景数据块。// OB1 中周期调用用于监视 ET200SP 的连接状态 // LADDR 填接口模块的硬件标识符设备视图 属性 硬件标识符 可查 // MODE 1 读设备状态MODE 0 读模块状态 DeviceStates_DB(LADDR : 269, // 硬件标识符按实际组态填 MODE : 1, // 1 设备级状态 STATE #stDevState); // RET_VAL 非 0 表示指令执行异常STATE[1] 为 FALSE 表示设备未连接 IF DeviceStates_DB.RET_VAL 0 THEN DB_Diag.CmdError : TRUE; END_IF; IF NOT #stDevState[1] THEN DB_Diag.ET200SP_Fault : TRUE; // 送 HMI 报警 ELSE DB_Diag.ET200SP_Fault : FALSE; END_IF;逻辑不复杂LADDR 是你在组态里给这台设备分配的硬件标识符这个数每个项目都不一样抄别人的没用必须回设备视图里看。MODE 选 1 是问这个设备整体在不在STATE 数组里第一个位为真表示设备已连接、数据有效MODE 选 0 是深入到每个模块能定位到是哪一个信号模板掉了。RET_VAL 是功能块的执行结果非 0 一般是背景块没建好或者 LADDR 填错。这段代码的价值在于把黑匣子变成可观测的。以前掉站只能靠人到柜子前面看灯现在 HMI 上有个点变红就知道是哪台从站出问题。我还会顺手把 STATE 的每一位取出来做个移位显示哪个模块不在线一目了然。5. 避坑排查五个现场翻车现场的现象、原因与处置5.1 BF 灯红闪但 ping 得通现象CPU 的 ERR 灯亮ET200SP 的 BF 灯红闪博途在线诊断里写着IO 设备不可用可你拿电脑 ping 接口模块的 IP 是通的。原因十有八九是设备名没分配或者分配的名字和组态里写的不一致。ping 通只证明 IP 层通PROFINET 的 IO 通信走的是另一套寻址逻辑名字对不上就不建立连接。还有一种可能是你改过组态里的设备名却没重新下载给模块控制器喊旧名字模块应新名字两边对不上。解决进在线访问 更新可访问的设备找到模块的 MAC右键分配设备名称选组态里那个名字勾上分配 IP。执行完等几秒BF 灯灭。养成习惯每次改完设备名下载组态和在线分配名字这两步一起做别只做一半。5.2 下载时提示固件版本不兼容现象编译硬件通不过或者下载到一半弹出对话框说组态的固件版本高于设备实际版本有时能下载下去但接口模块起不来。原因添加设备时手快设备版本选了最新那档实物还是几年前的 V4.1。博途的一致性检查会卡这个。解决回设备视图右键 CPU 选更改设备把版本降到实物标签上的那一档重新编译下载。注意降版本后有些指令块可能不可用编译时会提示按提示删掉或替换就行。这一步做完记得再整体重建一次别只做增量编译。5.3 信号模板地址是问号程序里读不到点现象设备视图里信号模板的地址栏显示灰色或问号程序里写 I0.0 编译报错说地址不存在。原因接口模块没有分配给 IO 控制器它还悬在网络视图里当独立设备博途不知道该从哪个控制器的地址池里给它分地址。解决网络视图选中接口模块右键分配给新 IO 控制器选 CPU1214C。如果这一项是灰的先看 IP 是不是在同一网段再看 CPU 的 PROFINET 接口有没有建子网。分配完成后地址自动生成回到程序里重新编译就能用了。5.4 单网口 CPU 同时挂 HMI 和 ET200SP改一个掉一个现象CPU 只有一个网口HMI 和 ET200SP 都接在同一台交换机上运行一段时间后随机掉站或者改了 HMI 的 IP 之后分布式 IO 连不上。原因把 PROFINET 当普通以太网用了以为有交换机就能随便加设备。实际上除了链路带宽还有更新时间、广播风暴的问题尤其是环网没配好或者有人把两个口接成环路的时候。解决单网口 CPU 后面必须过交换机别用线形拓扑硬串。交换机选工业级、支持 IGMP Snooping 的HMI 和 IO 分在不同端口。如果确实要做环网老老实实配 MRP指定一台管理器别自己想当然地接。这条血泪经验是用一次停产换来的。5.5 换了个同型号接口模块下载组态还是不认现象接口模块坏了现场换了台同型号新的把原来的名字和 IP 都分配了一遍还是起不来或者能起来但程序里点全丢。原因新模块出厂的设备名是空的你只做了在线分配名字但没做拓扑组态或者做了拓扑但没下载。另外如果原程序里用了设备替换功能不依赖可移动存储介质的替换前提是拓扑关系组态正确且已经下载到 CPU。解决先确认拓扑视图里两台设备的连接关系画了没有、下载了没有再做在线分配设备名称最后下载一次硬件组态。三步做完再上电。我现在的习惯是备件柜里每台模块都贴一张小标签写设备名和 IP换件的时候照抄比现场查组态快得多也算给自己的后悔药。6. 进阶把换件做成标准动作以及一份上电前的核查清单上面那些坑单看每一条都不难难的是现场赶时间的时候想不起来查哪一条。我现在把整套流程压缩成一张核查清单每次新站上电或者换件之后强制走一遍比凭记忆靠谱。顺序检查项判定标准不做会怎样1CPU 固件版本与组态一致≥ V4.0下载报不兼容2电脑 IP 段与设备同网段扫描不到设备3接口模块已分配给控制器图标收进 IO 系统框地址为问号4设备名在线分配与组态完全一致BF 灯红闪5拓扑连接已组态并下载拓扑视图连线为实线自动替换失效6诊断缓冲区无看门狗超时设备不可用随机掉站清单之外我自己还加了一个小动作整套系统跑起来之后先把 DeviceStates 的状态位接到 HMI 上做成一个设备在线的总览页。这不是为了好看是为了下次出问题的时候能一眼看出是全部掉站还是单独一台掉站。全部掉说明网络或控制器有问题单独一台掉说明是那台的供电、网线或者接口模块本身。这个判断方向一确定排查范围立刻缩小到一两个环节。最后说一个我觉得最值钱的进阶技巧把设备名 IP 槽位表做成项目的附属文档和程序一起归档每次改完组态同步更新。项目交接的时候后来的人拿到这份表不用再去翻每个设备的属性页照着表就能对上现场。我吃过一次亏一个改造项目做完没留文档半年后另一拨人来加模块把设备名改了结果整条线停了四个小时才找到原因。从那以后我每次改完组态都强制走一遍导出设备列表 更新命名表哪怕只加了一个信号模板。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?