操作示例|北辰XCNet-MB-S实现S7-1200的Modbus主从站功能
前
言
西门子S7-1200/1500或西门子以太网口PLC如S7-1200/1500,CPU315-2PN/DP,CP343-1等,通过网口连接北辰XCNet-MB-S协议网关,既可以实现ModbusTCP的服务器和客户机功能,又可以实现2路ModbusRTU的主站和从站功能(每路最多32个从站),在实际的自动化和信息化项目的应用中,非常的方便。本文重点介绍ModbusRTU的主站和从站功能。
1
作为ModbusRTU的主站
XCNet-MB-S的串口X1或串口X2作为Modbus主站运行,连接外部Modbus仪表,根据预置命令在西门子网口PLC(S7-1200、S7-1500、SMART S7-200等)和Modbus仪表之间交换数据。应用于西门子网口PLC和Modbus仪表之间的Modbus通讯。
XCNet-MB-S可最多配置72条数据交换命令,可以传送的数据类型包括位、字节和字。单条命令最多一次传送连续的100个字(寄存器),对Modbus站点数目并无限制。
1
通讯线连接
XCNet-MB-S的串口X1或串口X2总线接口连接外部Modbus仪表,XCNet-MB-S串行通讯口的针脚定义:
2
XCNet配置
配置以串口X1为例,串口X2配置方法一致;
配置步骤:BCDevice搜索修改设备参数基本参数配置串口X1配置Modbus主站。
1.电脑连接XCNet-MB-S模块,运行BCDevice(V1032版本以上)配置软件,选择查找到的BCDevice模块,点击按钮栏【修改设备参数】按钮。
2.在参数配置界面左侧选择【基本参数配置】,右侧页面选择【LAN配置】,设置PLC的IP地址、模块LAN的IP地址、子网掩码、TSAP等。
3.在参数配置界面左侧选择【基本参数配置】,右侧页面选择【串口1配置】,设置【功能选择】为Modbus主站,设置波特率、数据位、停止位和奇偶校验参数。如果为多Modbus从站设备的总线网络,建议设定通讯同步时间,一般为30~50mS;
4.在参数配置界面左侧选择【Modbus主站1】对应串口X1,右侧页面点击【新建命令】配置数据交换命令。
5.编辑新建Modbus数据传送命令对话框,配置完成后点击【检查】查看有无错误,点击【确定】保存该命令。
1) 数据传送方向
● ModbusS7:Modbus仪表数据读取到西门子PLC;
● S7Modbus:西门子PLC数据写入到Modbus仪表;
传送的数据个数、数据类型和数据区域
● 位传送,只能传送一个位,数据区域:COIL和INPUT;
● 字节传送,最多连续的200个字节,数据区域:COIL和INPUT;字节传送只能是ModbusS7方向。
● 字传送,最多连续的100个字,数据区域:INPUT REG和HOLDING REG(输入寄存器和保持寄存器)。
2) S7站点的起始地址 :指定PLC传送区域,对于S7-200的V区请选择DB1。另外对于S7-200的SM/AI区只能读取,不能写入。
3) Modbus站点的起始地址 :指定Modbus站号和数据区起始地址。另外对于INPUT REG只能读取不能写入。
6.命令示例
1) ModbusS7位传送 :Modbus 1号站的000001(Coil线圈0)数据读取到PLC的Q0.0。
2) S7Modbus位传送 :PLC的Q1.0写入到Modbus 1号站的000011(Coil线圈10)。
3) ModbusS7字传送 :Modbus 1号站的400001(HoldingRegsiter保持寄存器0)开始的10个字数据读取到PLC的DB1.DBW0~18。
4) S7Modbus字传送 :PLC的DB1.DBW10~14写入到Modbus 1号站的400011(HoldingRegsiter保持寄存器10)开始的3个字。
7.配置完成后点击【下载参数】按钮,将参数下载到XCNet-MB-S;设备重启运行后可对Modbus主站1运行状态进行监视;
3
通讯测试
Modbus仪表较常见的有各种智能温控仪,以集成ModbusRTU从站通讯口的温控器仪表为例,说明如何实现XCNet-MB-S的Modbus主站数据通讯。
示例功能:将两台温控仪表的实际温度值(PV)分别读取到S7-1200的DB1.DBW100和DB1.DBW102数据区;将S7-1200的DB1.DBW200和DB1.DBW202数据作为温度设定值(SV)分别传送到两台温控仪表。
1.接线:用屏蔽双绞线将两台温控器和XCNet-MB-S串口X1串联,首尾最好放置终端电阻,保证通讯稳定性。XCNet-MB-S的6P端子的1脚接RS485+(接温控器A端口),2脚接RS485-(接温控器B端口),3脚接RS485地。
2.设置温控器参数为Modbus通讯协议,地址分别为1和2,设置9600bps波特率,8数据位,偶校验,一个停止位;
3.配置XCNet-MB-S串口X1参数,下载参数。
1) 扩展总线接口参数 :Modbus主站,9600bps波特率,8位数据位,1位停止位,偶校验。
2) 配置Modbus主站1命令 :
温控器的当前温度(PV值)在保持寄存器16#14,即保持寄存器的20;设定值(SP值)在保持寄存器的16#28,即保持寄存器的40。
按示例要求配置如下命令:
4.点击参数配置页面的【Modbus执行监视】,查看命令执行信息。
5.打开PortalV16软件,连接S7-1200,在监控表中输入DB1.DBW100,DB1.DBW102,DB1.DBW200和DB1.DBW202,查看DB1.DBW100/1002是否为温控器的实际温度,修改DB1.DBW200/2002查看温控器设定温度是否一致。
6.总结:
1) XCNet-MB-S的Modbus主站功能依据预先配置的数据交换命令自动执行Modbus仪表和PLC之间的数据传输,无须在PLC中编程;
2) XCNet-MB-S的Modbus主站通讯并不影响上位机的以太网通讯,上位机(如编程软件、监控组态软件、以太网触摸屏等)仍然可以通过LAN读写PLC数据;
3) 利用命令的连续数据区多字节/字传送可减少每个站点的命令数,从而增加可通讯站点;
4) 对于位传送,可以采用字节数据类型,连续的8个位值将直接传送到PLC中的一个字节地址;
5) 提高XCNet-MB-S串口X1的波特率(最高256Kbps)可以加快Modbus数据交换的速度;如果Modbus通讯线较长应适当降低波特率;
6) 所有的Modbus站点需设置为站地址不一样,波特率、数据位和校验位应该相同并和XCNet-MB-S串口X1参数一致。
2
作为ModbusRTU的从站
上面我们介绍了XCNet-MB-S的ModbusRTU的主站功能,下面介绍下XCNet-MB-S实现西门子S7-1200的ModbusRTU从站功能,通讯连接线与上述接法一致,这里不再重复。
1
XCNet配置
配置以串口X1为例,串口X2配置方法一致;
配置步骤:BCDevice搜索修改设备参数基本参数配置串口1配置Modbus从站。
1.电脑连接XCNet-MB-S模块,运行BCDevice(V1032版本以上)配置软件,选择查找到的XCNet-MB-S模块,点击按钮栏【修改设备参数】按钮。
2.在参数配置界面左侧选择【基本参数配置】,右侧页面选择【LAN配置】,设置PLC的IP地址、模块LAN的IP地址、子网掩码、TSAP等。
3.在参数配置界面左侧选择【基本参数配置】,右侧页面选择【串口1配置】,设置【功能选择】为Modbus从站,设置波特率、数据位、停止位和奇偶校验参数。
[注意]上述项可编辑Modbus从站地址,当多个模块Modbus从站串联时,需要配置不同的Modbus从站地址;
4.编辑Modbus映射,在参数配置界面左侧选择【Modbus映射表】;
5.设置好后点击【下载参数】按钮,将参数下载到XCNet-MB-S。
2
Modbus测试
Modbus测试可采用ModScan软件,该软件作Modbus主站,去连接XCNet-MB-S。
1.采用一根USB转RS485的转换线,USB端口接入计算机,RS485端子通过屏蔽双绞线连接至XCNet-MB-S的串口X1端子。
2.在计算机上运行ModScan.exe,点击“Connection”,设置相应的连接参数,此处USB连接的串口号为COM6;
3.读取了线圈00001的100个线圈状态,查Modbus映射表可知为Q0.0~Q12.4的值;
4.注意:1.选择Direct Connection to COM(USB转换器对应的COM口);2.波特率、校验位等,这里的参数要和XCNet-MB-S的串口X1设置一致;
5.用BCDevice诊断XCNet-MB-S串口X1的状态。
6.总结:
1) XCNet-MB-S的Modbus从站功能根据预置Modbus映射表进行通讯,无须在PLC中编写程序;
2) XCNet-MB-S的Modbus从站通讯并不影响XCNet-MB-S的以太网通讯,上位机(如编程软件、监控组态软件、以太网触摸屏等)仍然可以通过ModbusTCP读写PLC数据。
3) 提高XCNet-MB-S串口X1的波特率(最高256Kbps)可以加快Modbus数据采集的速度;如果Modbus通讯线较长应适当降低波特率。
(无锡市北辰自动化技术有限公司供稿)
END
多种PLC之间互相交换数据的方法,建议收藏
自动化工程师朋友们都知道,工控现场有许多 PLC 之间需要通讯和数据交换,实现项目之间的数据对接和共享。
但对于不同品牌的 PLC 来说,由于接口、协议不同,程序不开放等诸多因素,往往令人头疼,也很无解,给项目的顺利实施增加了很多困扰。
北辰 S 系列,是实现 PLC 数据交换的神器。
之所以称它为神器,是因为 S 系列可以把 PLC 的串口和网口都统一成通用的 ModbusTCP 以太网协议,PLC 之间以 ModbusTCP 服务器(从站)和客户机(主站)的形式进行通讯,解决了 PLC 协议转换和数据交换的难题。
北辰 S 系列具有 ModbusTCP 服务器功能,Modbus 数据区可自动或编辑映射至 PLC 寄存器,ModbusTCP 的客户机如组态软件、OPC、DCS 系统、PLC 都可以便捷访问。
S 系列还具有 ModbusTCP客户机功能,西门子、三菱、欧姆龙、松下、台达等 PLC 配上北辰 S 系列模块,即可轻松实现 ModbusTCP主从站通讯和数据交换。
所以,北辰模块既可用于编程监控、数据采集和设备联网,还可用于协议转换和数据交换,既可用于有线网络环境,也可用于无线网络环境的协议转换和数据交换。
以适用于西门子 S7300/400 的 BCNet-S7300-S 为例,ModbusTCP 和 ModbusRTU 数据交换应用如下:
除此之外,S 系列还可应用于三菱、欧姆龙、松下、台达、施耐德、信捷、MODBUS RTU等PLC和设备之间的数据交换,在这里不一一列举。
示例
以 FX3U 与 FX5U 交换数据为例,数据交换采用 ModbusTCP 协议实现,其它支持 ModbusTCP从站协议的 PLC(如施耐德 PLC),均可实现该数据交换,步骤类似不再重复介绍。
对于支持ModbusTCP 从站协议的仪表,FX3U 可直接通过 BCNet-FX-S 进行仪表数据采集。
BCNet-FX-S 的 MD8(X1)连接 FX3U 的圆形编程口,FX5U 自带以太网口与 BCNet-FX-S 的以太网口连接,BCNet-FX-S 通过 BCDevice 工具配置交换命令,实现实时高效的 FX3U 和 FX5U 数据交换。
该功能基于 BCNet-FX-S 的 ModbusTCP 客户机功能实现,通过 BCDevice(软件版本 V1027 及以上)进行主站命令配置,无需 PLC 编程,提高应用开发速度和便捷性。
数据交换也可采用 BCNet-FX-S 的 WiFi 接口实现,可实现两个 PLC 直接的无线数据交换;具体在建立客户机时,本地网卡可选择 WiFi 接口。
一、配置 FX5U
STEP 1
1. 打开 GX Work3,新建项目,以太网配置(内置以太网口)中,配置“Modbus/TCP 连接设备”。
2. 编辑 PLC 软元件分配,按下表配置所示,D0 映射的Modbus地址为 40001(HoldingRegister的 0 地址)。
二、配置 BCNet 模块数据交换命令
STEP 2
1. 打开 BCDevice,搜索到 BCNet-FX-S 后,选择【修改设备参数】
2. 新建客户机
【1】点击数据交换,右键创建新的客户机 0;
【2】ModbusTCP协议用于连接远端的从站设备,此例中为 FX5U 的网口,该网口通过配置,已经支持 ModbusTCP 服务器功能,且 PLC 的数据和 Modbus 地址映射关系也已配置;
【3】本地网卡选择,选择 LAN 时,基于以太网口进行数据交换;选择 WiFiStation 或者 WiFiAP时,采用 WiFi 无线方式进行数据交换,该方式应当确保设备之间的 WiFi 连接已经建立;
【4】远程服务器的 IP 地址为 FX5U 的 IP 地址,这里设置为 192.168.1.130;远程服务器的通讯端口号,默认为 502;连接超时时间默认为 10s;
【5】点击确认,创建客户机。
3. 在客户机中配置数据交换命令
【1】点击新建命令(FX3U 的 D0 读取 FX5U 的 D0);
【2】选择[远程→本地],传输 1 个字;传输超时设置层 2s;
【3】本地站点(FX3U)设置数据区域选择 D 寄存器,起始地址为 0,即选择软元件 D0;
【4】 远程站点(FX5U)的 D0 由上一章映射表可知被映射成 HoldingRegister 的 0 地址;故数据区域选择 HoldingRegsiter,偏移地址填 0,站点地址是 ModbusTCP 协议中的单元号,这边由于 FX5U 不是网关,故可忽略;
【5】点击“检查”按钮可进行规则检查,点击“确认”按钮即可生成命令;
4. 客户机监视
点击客户机监视按钮,【错误信息】为无错误,且【正确】有数据跳动,说明通信成功。
三、验证数据交换
STEP 3
1. 打开 GXWork3 变量监视表,对 FX5U 的 D0 进行数据修改为 BC12H;
2. 打开 GXWork2 变量监视表,对 FX3U 的 D0 进行数据监视,值为 BC12H;
3. 上述监视说明已经将 FX5U 的 D0 数据读取到 FX3U 的 D0 中,实现了数据交换功能;数据交换功能亦可实现 FX3U 到 FX5U、FX5U 到 FX3U 的位、字节和字的数据交换功能。
S 系列的型号及适用 PLC
相关问答
网上买的公户车,联系不上法人怎么办-找法网
plcb4分钟前提交了咨询mszo****bseydq8分钟前提交了咨询2vnq****jb32ap11分...北辰区律师津南区律师武清区律师宝坻区律师静海区律师宁河区律师蓟州区....
签了代持协议,我能收回出资人股份吗-找法网
plc5分钟前提交了咨询837s****d5yp0k7分钟前提交了咨询wb7p****2nebpu11分钟...北辰区律师津南区律师武清区律师宝坻区律师静海区律师宁河区律师蓟州区....
请问杭州隔离开关哪一家比较好
A:广州洗之朗电器有限公司地址:广州市天河区员村二横路8号全丰商业大厦210室B:佛山市南海施霸电器制品有限公司地址:广州市天河区黄埔大道中124号C:广州市北辰公...
我朋友骑青桔电动车让我陪着他去那东西,路上有一块地方我朋...
立即咨询plc0****fvox1411分钟前提交了咨询ax2r****gccsnt2分钟前提交了咨询...北辰区律师津南区律师武清区律师宝坻区律师静海区律师宁河区律师蓟州区...