描述:
可以使用“RCV_341”程序块从Modbus主站系统接收数据。
这个块调用FB122, FB80和SFB35,并且通过Alarm 8P支持消息上传。n
接收的数据类型取决于Modbus功能码。 功能码决定了什么类型的数据可以被读取或写入。
下表显示了各功能代码及其含义和地址。
读取数据 | 写入数据 | Modbus 数据区 ("DPRAM") |
起始地址 |
FC 01 | FC 05 | Single Coil (HC) | 1 Hex |
FC 15 | Multiple HC | ||
FC 02 | Input Status (IC) | 10001 Hex | |
Reserve (not used) | 20001 Hex | ||
FC 04 | Input Register (IR) | 30001 Hex | |
FC 03 | FC 06 | Holding Register (HR) | 40001 Hex |
FC 16 | Multiple H |
关于不同功能码的详细信息请见Entry ID: 1220184。n
硬件和软件要求
下面是在PCS 7中将ET 200M 作为Modbus从站使用的软硬件要求:n
- CP 341 模块:6ES7 341-1xH01-0AE0 (x:= A: RS232; x:= B: TTY; x:= C: RS422 / 485)
PtP通讯的安装CD随这个模块一起提供。n - 单机版授权 (MODBUS slave):6ES7 870-1AB01-0YA0
这个订货号包括了各种MODBUS从站驱动软件的安装CD光盘,文档,和CP341的硬件dongle。MODBUS从站的单机版授权还可以不包括软件和文档的订货:6ES7870-1AB01-0YA1。
在ET 200M的冗余配置中,需要两个CP341模块和两个授权。这种情况下,可以只定购一个带软件和文档的授权,一个不带软件和文档的授权。
配置:
按照以下步骤操作,通过“RCV_341”块作为Modbus从站接收数据。
序号. | 步骤 |
1 | 在硬件组态中连接一个DP主站系统,并通过拖拽添加一个ET200M。 |
2 | 在ET 200M中插入CP341。
|
3 | 打开CP341属性[1]并且在“General”标签页中,点击“Parameter”按钮 [2]。 |
4 | 设置“Modbus slave”的协议。[3] |
5 | 双击“Protocol”打开协议设置窗口[4]。 对于各种功能码设置相应的存储区域和限值。 比如,对于功能码03,06和16设定DB20。
如果MODBUS主站发送一条报文,从站会分析这条报文,并根据报文中的功能码,将数据存储在CP341定义的数据块和存储区中。(比如对应FC 03,06,16的DB20) |
6 | 将驱动下载到CP341中。(如图02 [5]点击“Load Drivers”)。 |
7 | 编译下载硬件组态。 |
8 | 在MODBUS从站上新建一个CFC。 |
9 | 在CFC中插入一个“RCV_341”块。 |
10 | 在硬件组态中通过“LADDR”参数设置CP341的参数。 |
11 | 将“MODB_SL”参数改成1(这种情况下,“R_DATA”不能改值,因为这个块在从站模式下工作)。
编译后,参数“MODE”,“SUBN1_ID”,“SUBN2_ID”,“RACK_NO”和“SLOT_NO”都会被参数化并自动连接。
|
12 | 在CP341属性中建立DB20, 作为存储接收数据的数据块。 |
13 | 下载CFC之后,可以在相应的变量表中监视接收数据。举例如下。
|
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc334013.html