关注官方微信

EN

EN.

隔离型串口服务器和西门子1500PLC和通讯案例

发布时间:2021-09-21 作者:上海卓岚 浏览量:3534
一、设备搭建

起始搭建环境为无锡安泰起重量限制器、隔离型串口服务器ZLAN5143I、西门子1513

485 在工业历史长河中扮演的重要的角色,随着工业体系的加快,485 慢慢的被其他的通讯接口所替代,但在历史长河中还是需要 485 的存在。

本文以无锡安泰的起重量限制器为例,它是标准的 485RTU 接口,也就是如果用普通 485 通讯可以直接读取,本次采用上海卓岚的隔离型串口服务器用网络读取,在配置一些项目中可以节省项目资金,隔离型串口服务器可以按照 485 总线形式接一串 485设备到卓岚上。

隔离型串口服务器设备连接图


图一 隔离型串口服务器设备连接图

无锡安泰 485 接口接到卓岚隔离型串口服务器的 485 接口上,的网口用网线接到交换机即可,和plc以及电脑同网段,首先设置卓岚隔离型串口服务器的参数配置。本次项目见下图,卓岚的隔离型串口服务器的ip一定是没有用过的,防止ip冲突,调试时候使用过使用的ip会发生连接不上的窘境。

二、参数配置

隔离型串口服务器配置参数


图二 隔离型串口服务器配置参数

西门子1500PLC客户端程序块设置

图三 西门子1500PLC客户端程序块设置

博图环境 V16,随便打开的 FC 函数调用 MB_CLIENT_DB,本次我的 1513 作为客户端使用,管脚解释可以用F1参见西门子博图提供的解释,这里不做解释,解释下40001 和“485 实验.AA”,40001 参见《安泰电器设备公司起重量限制器 Modbus 通信协议》中第二个的 标准通讯格式。

串口设备参数

图四 串口设备参数

无锡安泰标准的通讯格式中选择使用功能码 03,03在485 通讯中指的是读取寄存器低值内的数据,根据西门子博图对客户端的帮助 提示中可以看出客户端设置40001即可,由于无锡安泰的读取不需要太多数据本次一次性读取 10 个数据放在m60.0开始的10个word里面。

485 实验.aa是在 DB 块里面新建的命令,使用 TCON_IP_v4 数据类型,DB 块建立时取消属性里面的优化块选项,由于本次只是跟一个 485RTU 通讯因此直接DB块里设置,如果轮训时候需要更改DB块需要自己编程写。Interfaceld 是看 CPU 组态中 net 接口后面的数字一般都为 64(只能是十进制),ID默认都是1由于我们是TCPIP 通讯可以忽略,CONNECTIONTYPE 默认就是16#0b就是 TCPIP 模式。Active Established是建立连接1主动连接,0被动连接(服务器模式)ADDR是卓岚的IP地址,RemotePort是卓岚的端口号本次是502。

西门子1500PLC数据块详情


图五 西门子1500PLC数据块详情


重点是需要打开客户端的背景数据块 DB 需要更改 MB_Unit_ID 为 1(无锡安泰默认是1)如果是轮训需要在询问前将这个地址修改成需要的485rtu地址。

西门子1500PLC数据块


图六 西门子1500PLC数据块

配置好后下载,在线监控这个时候由于M0.0 是系统中的自带的 触发信号(自己组态时候勾选)但是客户端会报错,这个时候需要停掉CPU完后再运行即可,跟组S7通讯都会遇到的问题。观察到客户端正常显示即可,STATUS会显示 7006或者7002,本次只是作为监控没有做轮训可以无所谓。