简介:面向高职院校工业互联网相关专业师生与技能竞赛备赛团队的赛项样题PDF,聚焦“工业互联网集成应用师生同赛”的完整任务框架与考核要求,可用于熟悉赛题结构、梳理训练重点和开展模拟演练。文件仅1个PDF,压缩包约360KB,篇幅紧凑却覆盖竞赛须知、职业素养与安全意识、扣分项、选手须知,以及加盖拧盖、智能物流分类存储、工业互联网平台状态控制等工作过程说明。资源还给出模块一“工业互联网设备安装与调试”的任务描述,涉及RFID读写器安装接线、PLC与读写器通讯编程、IP地址分配表和截图提交要求,便于读者据此还原赛项流程、定位技能短板并组织针对性训练。已有274人学习,适合作为赛前资料核对与教学案例参考。
1. 从一瓶没盖上盖子的物料说起:这套工业互联网集成应用环境到底要装什么
工位装完那天,PLC 的 RUN 灯是绿的,平台页面也显示设备在线,可瓶子走到加盖位就是不动。卡了半小时才发现,RFID 那一路根本没通,接收数组躺在DB1.DBX0.0里的是16#C8。这类“硬件全亮灯、流程跑不通”的场面,在制造与互联网融合的集成应用环境里太常见了:PLC 编程软件、智能阀岛/智能 IO 的 GSDML、RFID 读写器的 TCP 通讯、上层平台的建模与网关配置,四层里任何一层少配一个参数,瓶子就停在输送带上。这份记录是照着一份工业互联网集成应用赛项样题,把整套工位从裸机搭到能跑通订单的完整过程,适合要备赛的师生,也适合第一次接这类产线调试的人。
2. 版本与环境清单:TIA Portal、PLC 固件、GSDML 与平台镜像怎么搭
动手之前先把“装什么”钉死。这类工位的麻烦之处在于它不是装一个软件:设备侧的编程软件要能打开参考资料里给的工程,组态文件要认得出阀岛和智能 IO,平台侧要有一个能连上的网关。三者版本对不上,最典型的表现就是工程能打开但硬件目录里找不到那块模块,或者网关在线、点位一个都读不上来。
2.1 硬件版图和 IP 规划:先画表再动线
我习惯先把 IP 表抄在纸上贴在工位边上,再动手接线。样题里两个单元的地址是分段的,加盖拧盖单元在.21段,智能物流单元在.51段,两个 RFID 读写头则各自跟在所属单元的号段后面。这张表抄错一位,后面所有“能 ping 通但读不到数据”的玄学问题都会找上门。
| 单元 | 设备 | IP 地址 | 备注 |
|---|---|---|---|
| 加盖拧盖单元 | PLC | 192.168.1.21 | 与平台网关通讯的一端 |
| 加盖拧盖单元 | 智能阀岛/智能 IO | 192.168.1.22 | 设备名 pn-dev2 |
| 加盖拧盖单元 | RFID 读写头 | 192.168.1.24 | 端口 9000 |
| 智能物流单元 | PLC | 192.168.1.51 | 独立网段号,别和上一台混 |
| 智能物流单元 | RFID 读写头 | 192.168.1.54 | 端口 9000 |
| 平台 | 平台服务器 | 192.168.1.100 | Web 访问端口 30000 |
| 调试侧 | 应用电脑 | 192.168.1.200 | 自定,只要不冲突 |
应用电脑这块要单独说。工位上通常只有两台编程计算机,一台连设备一台开平台页面,两块网卡如果都开 DHCP,很容易出现“这台能连、那台连不上”的假故障。我一般把调试网卡直接钉死成静态地址,避开.21、.22、.24、.51、.54、.100这几个已经占掉的号。
# 把调试网卡固定到 192.168.1.0/24,避免和现场 DHCP 抢地址 New-NetIPAddress -InterfaceAlias "以太网 2" -IPAddress 192.168.1.200 -PrefixLength 24 # 顺手确认这块网卡真的在链路上,而不是插到了另一块闲置网口 Get-NetIPAddress -AddressFamily IPv4 | Where-Object { $_.IPAddress -like "192.168.1.*" }-InterfaceAlias写的是网卡在系统里的名字,两台电脑的“以太网 2”不一定指同一块,改名或先跑Get-NetAdapter看清楚再填。这里没写默认网关,是因为这一网段只做设备直连,设了网关反而会让应用电脑把平台流量甩到不存在的路由上去。现场遇到过有人把网关填成.1,结果平台页面打不开、ping 设备却正常,查半天查不出所以然。
2.2 软件版本对齐:工程文件、GSDML 和平台镜像的三角关系
版本这块我给的经验很直接:以 U 盘“参考资料”里那份参考程序为准,别自己在工位上另装一份“更新”的。TIA Portal 的工程文件后缀能直接看出是哪个版本创建的,.ap16是 V16,.ap17是 V17,往上还有.ap19之类。拿低版本去开高版本工程,界面会提示“项目已升级”,升完再想回退就麻烦了,而且现场裁判的检查机很可能打不开。
GSDML 文件同理。智能阀岛和智能 IO 在硬件目录里不是自带条目,必须先导入厂家给的设备描述文件。常见做法是把 U 盘里那个 GSDML 包解压到本地固定路径,再从“选项 → 管理通用站描述文件”导入,导入后重启一次 TIA Portal 才会出现在目录里。别图省事把文件放在中文路径或者 U 盘根目录直接导,某些版本会在解析时报设备系列名乱码。
| 组件 | 怎么确认版本 | 版本错配的典型症状 |
|---|---|---|
| 编程软件 | 看参考工程后缀.ap16/.ap17 | 工程打不开,或提示升级后无法回退 |
| PLC 固件 | 在线诊断里读实际固件号 | 组态里选高版本,下载时报固件不匹配 |
| GSDML | 与阀岛手册同批次 | 硬件目录里找不到模块,或设备名带乱码 |
| 平台镜像 | 由赛方统一下发,别自行更新 | 页面能进,网关配置项对不上 |
平台镜像这一条最容易忽视。平台跑在192.168.1.100:30000,浏览器地址栏要带端口,少了:30000就是一个 404。账号密码由现场下发,样题里的账号只是示例,实际以工位任务书为准,别照着样题抄完发现登录不进去就以为平台挂了。
2.3 装机前的开机清单:网卡、防火墙、U 盘和那台不能关的虚拟机
通电之前我会过一遍清单,这套流程踩过坑之后就成了肌肉记忆。第一项是应用电脑上的虚拟机,样题里明确写了比赛过程中虚拟机不要关闭、电脑不要重启,因为平台侧的采集服务和一些中间件跑在里面,重启恢复要等十几分钟,四小时的赛程根本耗不起。日常调试也一样,虚拟机起来之后先确认那几个服务是 active 的再动设备。
第二项是防火墙。Windows 默认会拦掉进入方向的连接,PLC 的 102 端口、读写头的 9000 端口在调试阶段经常被挡在外面,表现是“网线插好了、灯亮着、就是连不上”。
# 调试机现场常用做法:临时关掉防火墙,或者只放行 102 / 9000 Test-NetConnection -ComputerName 192.168.1.24 -Port 9000 Test-NetConnection -ComputerName 192.168.1.21 -Port 102Test-NetConnection的两个参数,一个是设备 IP,一个是端口,TcpTestSucceeded : True才算通。只 ping 通不代表端口通,这一点坑过太多人:读写头 ping 得通,9000 端口却是关的,PLC 的 TSEND 一直返回忙,程序就卡在发送那一步。
第三项是 U 盘。参考资料里的器件手册、参考程序、点位表全在里面,有些工位是只读挂载的,中途拔掉再插可能盘符会变,路径一断,导入的 GSDML 和参考工程就找不着了。我的习惯是先整体拷到本地一个纯英文路径下,比如D:\ref\,再从本地导入。
3. 设备侧安装与组态:PLC、智能阀岛、RFID 读写器接进同一张网
设备侧这块是整篇文章里最费时间的部分,也是最容易“看着都对、跑起来就不对”的部分。它由三件事组成:PLC 工程骨架、现场总线上挂的从站组态(智能阀岛/智能 IO)、以及走 TCP 的读写器通讯。三件事的先后顺序不能乱,先建工程再加设备,先组态再写程序,否则后面改一处要连带改三处。
3.1 TIA Portal 安装与项目骨架搭建
安装本身没什么花活,双击安装包、选典型安装、等它跑完,中途会要求重启一次。真正要注意的是安装完成后先别急着新建项目,去“选项 → 设置 → 常规”里把项目保存路径设到一个纯英文、无空格的目录。带中文或空格的路径在下装 GSDML 和导出点位时会报路径错误,这个报错信息还特别含糊,只说“无法写入”。
新建项目之后的第一件事是添加 PLC。型号按工位实际设备选,加盖拧盖单元和智能物流单元是两台独立的 PLC,要建成两个设备而不是一个设备下挂两个 CPU。建完先别下载,先在“设备组态”里把 PROFINET 接口的 IP 地址改成表里的值,.21和.51各归各的。这一步在离线组态里做,比在线改省事得多。
网络视图里两台 PLC 之间要连线,样题要求两个单元之间完成网络接线并实现与平台网关的通讯。常见做法是把两台 PLC、两个读写头、阀岛全部挂到同一台交换机下,用一个 192.168.1.0/24 的网段,省去跨网段路由的麻烦。真要分段,就得在网关那侧配路由,工位上做这个不值当。
3.2 GSDML 导入与智能阀岛/智能 IO 组态
导入 GSDML 之后,硬件目录里会多出一个厂商分类,把智能阀岛和智能 IO 拖到网络视图里,然后做两件事:分配设备名、设 IP。设备名这一项是 PROFINET 的灵魂,样题表里写的是pn-dev2,名字必须和实际设备里存的一模一样,大小写敏感。名字对不上,PLC 会报“找不到设备”,即使 IP 填对了也连不上。
组态里还有个容易漏的点是模块槽位。智能阀岛/智能 IO 下面要按实际硬件插槽插入对应的 IO 模块,插错一个槽,后面的地址就全部错位。插完核对一遍总字节数,和手册里的输入/输出点数对上再往下走。
下载组态之后做在线诊断,正常情况下设备应该显示绿色对勾。如果是黄色感叹号,看诊断缓冲区,最常见的是“设备名不匹配”和“IP 地址已被占用”。前者的解决是在“在线访问”里右键设备 →“分配设备名”,把pn-dev2写进去;后者多半是同一网段里有人手工改过 IP,扫一遍网段就能找出来。
3.3 IO 地址映射:硬件 I0:0 到软件 I2.0 的换算
地址映射是这套环境里最反直觉的一环。接线端子上的I0:0并不等于程序里的I0.0,样题给的地址分配表里,硬件I0:0对应的是软件地址I2.0。中间差的那 2 个字节是模块自身的状态区占掉的,具体偏移由模块组态时的起始地址决定。
| 硬件接线 | 软件地址 | 功能描述 |
|---|---|---|
| I0:0 | I2.0 | 瓶盖料筒检测 |
| I0:1 | I2.1 | 加盖位检测 |
| I0:2 | I2.2 | 拧盖位检测 |
| I0:3 | I2.3 | 加盖前限 |
| I0:4 | I2.4 | 加盖后限 |
| I0:5 | I2.5 | 加盖上限 |
| I0:6 | I2.6 | 加盖下限 |
| I0:7 | I2.7 | 加盖定位后限 |
| I1:0 | I3.0 | 拧盖定位后限 |
| I1:1 | I3.1 | 拧盖上限 |
| Q0:0 | Q2.0 | 输送带电机 |
| Q0:1 | Q2.1 | 拧盖电机 |
| Q1:0 | Q4.0 | 加盖伸缩气缸 |
| Q1:1 | Q4.1 | 加盖升降气缸 |
| Q1:2 | Q4.2 | 加盖定位气缸 |
| Q1:3 | Q4.3 | 拧盖升降气缸 |
| Q1:4 | Q4.4 | 拧盖定位气缸 |
智能物流单元那张表用的是另一套命名,输入是X100起、输出是Y100起,和上面这套I/Q不能照抄。我见过有人把两张表混着用,结果分拣气缸在加盖单元上动作,现场一片混乱。改地址的正确入口是设备组态里模块的“I/O 地址”属性,改起始地址,下面的点位会自动跟着走。
这块的验证方式是单个点位强制。在监控表里把I2.0拖进去,用手遮一下料筒检测传感器,看值是否从 0 变 1。一个点一个点过一遍,二十分钟能干完,比后面程序跑飞了再回头查快得多。
3.4 RFID 读写器通讯:9000 端口和 DB1 收发数组
读写器走的是开放式用户通讯,PLC 作为客户端主动连读写头的 9000 端口。工程里已经预置了两个数组变量:"RFID 数据".发送和"RFID 数据".接收,都是Array[0..71] of Byte,接收数组落在DB1.DBX0.0。这两个数组的长度必须和读写器的报文长度一致,改短了会截断,改长了会一直等不满。
连接参数在“设备组态 → 硬件接口 → 开放式用户通讯”里建,新建一个 TCP 连接,本地填.21,远程填192.168.1.24,端口 9000。连接 ID 记下来,后面 TSEND/TRCV 都要引用它。
// "RFID" 函数:按样题流程 a→f 组织的收发状态机,在 OB1 里循环调用 CASE #step OF 0: // a) 等触发位 M21.1,先把延时位 M21.5 复位 IF "触发读取标签" THEN "标签读取延时" := FALSE; #step := 1; END_IF; 1: // b) 发送:72 字节的发送数组整包推给读写头 #rc := TSEND(REQ := TRUE, ID := #connID, DATA := "RFID 数据".发送, LEN := 72); IF #rc = 0 THEN #step := 2; // c) 发送成功才进接收 END_IF; 2: // d) 接收:落到 DB1.DBX0.0 起始的接收数组 #rc := TRCV(EN_R := TRUE, ID := #connID, DATA := "RFID 数据".接收, LEN := 72); IF #rc = 0 THEN #step := 3; END_IF; 3: // e) 判成功字节:C5 成功,C8 失败回发送重试 IF "RFID 数据".接收[0] = 16#C5 THEN "读取标签成功" := TRUE; // M20.5,交给下一流程 #step := 0; ELSIF "RFID 数据".接收[0] = 16#C8 THEN "标签读取延时" := TRUE; // M21.5,延时后重来 #step := 1; END_IF; END_CASE;这段是骨架,几个参数得说清楚。ID是连接 ID,必须和组态里那条 TCP 连接一致,抄错一位就是“连接不存在”。LEN是字节数,和数组长度 72 对齐,不要写成 71 或 73。TSEND和TRCV都是异步块,每个块要各带一个背景数据块,重复用同一个实例 DB 会互相打断,表现是偶发地收不到数据——这种偶发最坑,单次测试永远正常,连跑十次才挂一次。
#rc的判断我写的是= 0,实际工程里更稳的写法是判断完成位加错误码,STATUS非零时记日志。样题要求的是“发送成功才接收、接收成功才置成功位”,用状态机把这条路径卡死,比用一堆置位复位位去拼要可靠。
3.5 PLC 侧给平台网关开的三个口子
平台要读到 PLC 的数据,中间隔着网关。这一层最常见的翻车是“平台显示网关在线,但所有点位都是空的”,根子在 PLC 侧三个开关没开。
第一个是允许 PUT/GET 通讯访问,在 CPU 属性的“保护与安全 → 连接机制”里勾上。不勾这一项,网关发来的读请求会被 CPU 直接拒绝。
第二个是数据块取消“优化的块访问”。新建的 DB 默认是优化访问,只有符号名没有绝对地址,网关按DB1.DBX0.0这种地址去读就会读空。右键数据块 → 属性 → 取消勾选“优化的块访问”,编译一次,偏移量才会固定下来。
第三个是连接资源。S7-1200 的开放式用户通讯连接数是有上限的,读写器占一条、网关占一条,如果还开着在线监控,可能就满了。诊断缓冲区里会明确写“连接资源不足”,看到这条就去把不用的连接关掉。
# 网关侧联通性自查:PLC 的 102 端口和平台 30000 端口都要通 Test-NetConnection -ComputerName 192.168.1.21 -Port 102 Test-NetConnection -ComputerName 192.168.1.100 -Port 30000两条都返回TcpTestSucceeded : True,才说明网络层没问题,剩下的就是组态和权限的事了。这个顺序别反过来,先查端口再查组态,能省掉一大半无效排查。
4. 平台侧部署:从登录到网关点位、可视化与订单下发
设备侧通了,平台侧才算真正开始。这部分的工作量比想象中大,因为它不是“装个软件”,而是把现场的设备在平台里重新描述一遍:建模型、建设备、配网关、做可视化、下发订单。每一样都对应界面上的一串操作,漏一步数据就上不来。
4.1 平台访问与采集前置条件
浏览器打开http://192.168.1.100:30000,端口不能省。登录账号由现场下发,用管理员权限进去才能建设备和改网关配置,普通账号只能看页面。
进去之后先做连通性检查,一般在“网关管理”里能看网关的在线状态。这里有个细节:网关自己在线不代表它底下的 PLC 在线,网关到 PLC 那一段是单独的一条链路,要在网关详情里看子设备状态。我见过网关绿灯、PLC 灰灯的情况,最后查到是网关那侧的 IP 配成了.22而不是.21。
采集前置条件里还有一项是时间同步。平台侧的告警规则、订单时间戳都依赖时间,设备和平台时间差太多会导致告警刷不出来或者订单状态错乱。现场有 NTP 就用 NTP,没有就在平台里手动对一次。
4.2 数字化建模:模型、属性与设备资产
建模是平台侧最花心思的一步。思路是这样的:先按单元建模型,加盖拧盖单元一个、智能物流单元一个;模型下面定义属性,属性就是你要采集的点位,比如“当前产量”“运行状态”“报警字”;然后再用模型实例化出设备资产,把具体的网关和 PLC 绑上去。
属性定义的时候,数据类型要和 PLC 侧对上。PLC 里是Bool的点,平台里定义成整型,采上来永远是 0,看着像没采到,其实是类型转换失败。这一条我踩过,折腾了一个下午,最后在网关日志里看到类型不匹配的报错才反应过来。
设备资产建完之后,回到网关里做子设备添加,把 PLC 的 IP、机架槽位、通讯协议填进去。北向配置是平台往外送数据的那一侧,样题要求截图北向配置页面,说明这一项是要检查的,别只配了南向就交卷。
4.3 网关点位与北向配置
点位配置是整个平台侧最琐碎的工作,一个单元几十个点,每个点都要填地址、数据类型、采集周期。我的做法是先导出一份点位模板,按地址分配表批量填,再导入,比在界面上一行行点快得多,也不容易漏。
点位配完必须做一次导出核对,样题里要求截图“网关导出的加盖拧盖单元点位”和“智能物流单元点位”,本质就是让你确认点位真的是从网关里出来的,而不是手填的表。导出文件里能看到每个点的寄存器地址,和 PLC 侧的数据块结构一一对应,对不上就是地址写错了。
采集周期不要一刀切。状态位这类要快的点设短一点,产量统计这类设长一点,全都设成最短周期会把网关压满,表现是页面刷新卡顿、数据跳变。
4.4 可视化页面与订单下发:三个指令与 1 秒延时
可视化这块反而是最不容易出错的,拖组件、绑点位、预览,三步走。关键在绑定,组件的值来源要选到具体的模型属性,选到设备层是不生效的。
真正容易翻车的是订单下发。样题里写得很明确:下发控制指令时要下发三个指令,比如开机指令,需要设定停机为 0、复位为 0、开机为 1,三个指令里值为 1 的那个放在最后,三个指令之间要延时 1 秒。
// 平台侧下发指令的时序:先清状态位,再置目标位,中间留 1 秒 const cmds = [ { prop: "stop", val: 0 }, { prop: "reset", val: 0 }, { prop: "start", val: 1 } // 值为 1 的必须排最后 ]; for (const c of cmds) { await writePoint(deviceId, c.prop, c.val); await sleep(1000); // 每条之间 1 秒,别省 }writePoint是往点位写值的动作,sleep(1000)是那 1 秒延时。为什么不能省:PLC 侧的状态机是按顺序判断的,三个值同时到达时,PLC 可能先看到start = 1,此时stop和reset还是上一轮的 1,状态机判定为非法状态直接忽略,表现就是“指令下发了,设备一动不动”。
还有一个前置条件:设备必须处于复位状态才能接收启动指令。样题的控制流程里写得很清楚,停止态可以复位、复位态可以停止或启动、启动态只能停止且只能接一个订单。所以订单下发之前先看设备当前状态,不在复位态就先复位,别硬下发。
订单本身也有讲究。样题给的例子是 5 瓶钙片、每瓶填装 2 粒,分三批完成,第一批 60%、第二批 20%、第三批剩余。排程里这三个数字要分开建三条,别想着一条订单填 5 瓶让它自己分。第一批下 3 瓶,跑完联机复位,再下第二批 1 瓶,第三批同理。下第二个订单之前不联机复位,平台会拒单。
5. 避坑与排查:现场最容易翻车的 5 个环节
这套环境装下来,真正卡住人的从来不是“安装失败”,而是装完了不工作。下面五条是我印象最深的,每条都按现象、原因、解决三段记。
5.1 读写器 ping 得通,却一直读不到标签
现象:应用电脑ping 192.168.1.24通,PLC 在线诊断也正常,但"RFID 数据".接收[0]一直是16#C8,或者压根不更新,程序停在发送那一步不动。
原因:9000 端口没通,或者 TCP 连接根本没建起来。读写器的 ICMP 和 TCP 是两套东西,ping 通只说明网络层活着。另一种情况是连接 ID 用错了,组态里建的是连接 1,程序里写成了 2,TSEND直接返回错误。
解决:先用Test-NetConnection -ComputerName 192.168.1.24 -Port 9000确认端口,不通就查读写器侧的端口配置和交换机 ACL。端口通了再看程序,把TSEND的返回码打到监控表里,STATUS非零就照错误码查手册。最后核对连接 ID 和数组长度,72 字节一个不能少。
5.2 阀岛组态下载完,在线报“模块不可用”
现象:组态编译无错、下载成功,但网络视图里智能阀岛/智能 IO 挂着黄色感叹号,诊断缓冲区写“设备名不匹配”或“找不到设备”。
原因:PROFINET 的设备名没分配,或者分配的名字和组态里的pn-dev2不一致。这个名字区分大小写,PN-DEV2和pn-dev2在协议层是两个设备。
解决:在“在线访问”里找到对应网卡,扫描到设备后右键“分配设备名”,手动输入pn-dev2,确认后重新下载组态。分配完断电重启一次设备,让名字落到设备的非易失区。还有一种情况是同一网段里有别的设备占了同样的名字,扫一遍整个网段就能看出来。
5.3 限位信号灯亮了,程序里那个点就是不认
现象:手动挡住传感器,传感器本体指示灯亮,但监控表里I2.3一直是 FALSE,程序判断“加盖前限未到位”,流程停在那里。
原因:软件地址和硬件接线对不上。硬件I0:3对应软件I2.3,中间差了两个字节的偏移。如果组态时模块起始地址填成了 0,实际映射就变成I0.3,程序按I2.3去读,永远读不到。
解决:进设备组态看模块的“I/O 地址”属性,起始地址改成和地址分配表一致的偏移,重新编译下载。改完拿监控表逐个点位强刷一遍验证,别只测一个点就认为全对了。
5.4 平台网关显示在线,点位全是空
现象:网关管理页面里网关是绿色,子设备也在线,但设备资产里所有属性值都是空的,可视化页面上全是--。
原因:PLC 侧的 PUT/GET 没允许,或者数据块还是优化访问。网关按绝对地址去读,优化块没有固定偏移,读回来就是空。还有一种可能是属性类型和 PLC 数据类型不匹配,Bool定义成了整型。
解决:CPU 属性里勾上“允许来自远程对象的 PUT/GET 通讯访问”,数据块属性里取消“优化的块访问”,编译后重新下载。改完在网关里点一次“同步点位”,让平台重新拉一遍地址。类型不匹配的,在网关日志里能看到具体是哪个点报错,按报错改属性类型。
5.5 订单下发成功,设备一动不动
现象:排程里订单状态显示“已下发”,平台日志也没有报错,但设备既不加盖也不输送,PLC 程序停在第 0 步。
原因:三个指令的顺序或延时出了问题。三个值同时写下去,PLC 先看到start = 1,此时stop和reset还没清,状态机判定为非法状态直接丢弃。另一种情况是设备当前不在复位态,启动指令被状态机挡掉。
解决:按“停机 0 → 复位 0 → 开机 1”的顺序下发,每条之间留 1 秒,值为 1 的最后发。下发之前先看设备状态,不在复位态就先发复位。改完拿一条最小订单试跑,跑通了再批量下。
6. 装完怎么验证:从 16#C5 开始的一次贯穿测试
装完不等于跑通,我一般会走一遍从网络层到业务层的贯穿测试,顺序不能跳。第一步永远是端口:Test-NetConnection打三个目标,PLC 的 102、两个读写头的 9000、平台的 30000,全绿再往下。只要有一个红,后面所有的现象都是它的衍生问题,不用查别的。
第二步是单点强制。监控表里把I2.0到I3.1逐个拖进去,手动触发每个传感器,看值是否翻转。这一步能一次性把地址映射的问题全暴露出来,比在流程里一个个试快得多。
第三步是 RFID 单事务。手动把M21.1置位,看状态机是不是走到第 2 步、TRCV是不是返回 0、"RFID 数据".接收[0]是不是16#C5。不是C5就照第 5 章第 1 条查。这一步通了,说明标识解析这一层是活的。
第四步是空跑一遍单元流程。不放瓶子,直接启动,看输送带、加盖气缸、拧盖气缸的动作顺序对不对,有没有撞机。空跑的时候手放在急停上,别嫌麻烦。
第五步才是带料跑。放一个贴了 RFID 标签的瓶子进去,看它从输送带始端走到加盖位、加盖、拧盖、进入智能物流单元、按规则分拣到对应存储区。样题的分拣规则要记牢:单机模式下第 1、2 瓶进 3 号区,第 3、4 瓶进 2 号区,第 5、6 瓶进 1 号区,第 7、8 瓶回 3 号区,依此类推;联机模式则全部进 1 号区,1 号区满 4 个要人为拿走。启动前记得清空三个存储区,这是样题里明确写的操作注意。
第六步收在平台上。订单下发、可视化页面刷新、实时数据变化,三样同时看。生产 2 瓶药,两瓶都进存储区后截一张可视化页面,这是样题要求的提交内容之一。最后触发一次告警规则:把设备温度模拟到 40 度以上,看二级高温报警有没有弹出来;再让加盖拧盖单元在未完成订单时停机,看 8 级其它类型告警有没有触发。规则不弹,多半是属性没绑对或者时间不同步。
| 验证阶段 | 关键判据 | 不通过先查什么 |
|---|---|---|
| 端口连通 | 102 / 9000 / 30000 全 True | 网卡配置、防火墙 |
| 单点强制 | 每个传感器值能翻转 | IO 地址偏移 |
| RFID 事务 | 接收首字节 16#C5 | 连接 ID、数组长度 |
| 单元空跑 | 动作顺序无撞机 | 气缸限位、程序步序 |
| 带料运行 | 分拣区号符合规则 | 计数变量、存储区清零 |
| 平台联动 | 订单下发后数据实时变化 | 点位类型、北向配置 |
这套流程走完大概四十分钟,比出问题之后一点点回查快得多。我现在的习惯是,每次动过任何一个组态参数或者程序块,都强制把前三步重走一遍——端口、单点、RFID 单事务,这三步红了,后面的活都是白干。血泪经验是有一回改完数组长度忘了编译,现场跑了三个小时才发现下载的还是旧程序,从那以后我每次下载完都先看一眼编译时间戳。
工位上那套设备最后跑通的时候,瓶子一个接一个过去,加盖、拧盖、分拣,平台页面上的数字跟着跳。整套东西不难,难的是每一层都要对。这份赛项样题里该有的 IP 表、IO 分配表、流程图、点位说明都在,照着一步步对下来,基本能把一套裸机工位盘活。希望帮到你。
本文还有配套的精品资源,点击获取