学会这几招,没有连不上的PLC
大家好!我是付工。
西门子、三菱、欧姆龙是我们自动化行业使用最多的三个PLC品牌。
今天跟大家以西门子PLC为例,分享一下上位机连接不上PLC,如何去排查。
一、网络检查
首先,我们要排除网络的问题,保证可以Ping通。
具体可以通过cmd命令行,输入Ping + IP地址。

如果Ping不通,那就要检查以下几个方面:
IP地址是否正确
网线是否连接,不要出现乌龙事件
上位机与PLC是否在同一网段
防火墙是否关闭
如果可以Ping通,那么我们进入下一步。
二、TCP连接
上位机与西门子PLC通信一般都是走S7通信协议。S7通信协议是基于TCP/IP的,西门子PLC作为TCP服务器,端口号是102,上位机作为TCP客户端。
那么接下来,我们打开网络调试助手去连接PLC,看看能不能连接上。
一般情况下,如果可以Ping通,一定是可以连接上的,除非IP地址弄错了,因为西门子PLC的102端口是自动开放的。

如果可以连接上,那么我们进入下一步。
三、读取M区
为什么要先读取M区呢?
因此M区是西门子PLC都自带的存储区,DB存储区需要手动创建,当然读取I和Q也可以。
如果读取不到M区的数据,那么要检查以下几个方面。
M区不要读太大,有的M区范围很小
检查PLC是否处于RUN状态
检查是否勾选允许远程PutGet
检查CPU的通信负载,可以适当增大
如果M区读取正常,那么我们进入下一步。
四、读取DB区
基本上M区可以读取到,就说明PLC不存在问题了。
如果读取不到DB存储区的数据,那么检查一下方面:
确认读取的DB存储区是否创建
确认是否取消DB优化的块访问
检查读取的地址是否在DB范围内
此外,如果可以读到数据,但是值不对,那就是数据解析的问题了。
基本上按照此步骤去检查,没有连接不上的西门子PLC。