产品简介
6SL3256-0VE00-6AA0西门子V20扩展模块
6SL3256-0VE00-6AA0西门子V20扩展模块
产品价格:
上架日期:2019-02-26 16:58:59
产地:本地
发货地:本地至全国
供应数量:不限
最少起订:1件
浏览量:579
资料下载:暂无资料下载
其他下载:暂无相关下载
详细说明

    6SL3256-0VE00-6AA0西门子V20扩展模块

    SINAMICS V20 I/O 扩展模块 I/O 接口:2 DI,2 Rela

    上海丽丞工业自动化设备有限公司

    全新原装,质量保证,保修一年

    专业销售及维修西门子各类工控自动化配件;

    S7-200CN、S7-200SMART、S7-300、S7-400、 S7-1200、S7-1500、ET200、LOGO逻西门子可编程控制器辑控制模块

    西门子HMI人机界面:触摸屏

    西门子变频器:MM420、MM430、MM440、G110、G120、6SE70

    西门子工业以太网:通讯网卡、通讯电缆、通讯接头、总线连接器 工控机、交换机、自动化软件等系型号齐全,快速报价,买我们的产品无忧所值,我们的产品都承诺质保一年,让您买的省心舒心,用的放心!

    S7-1200集成PN接口MODBUS TCP通信概述

    Modbus TCP是标准的网络通信协议,通过CPU上PN接口进行TCP/IP通信,不需要额外的通信硬件模块,Modbus TCP使用开放式用户通信连接作为Modbus通信路径,所支持的混合客户机和服务器连接数最大为CPU所允许的最大开放式用户通信连接数8个。

    软件 STEP7 V11 SP1版本开始,S7-1200CPU 从Firmware V1.0.2开始,不再需要安装Modbus TCP的库文件,可以直接调用Modbus TCP的库指令“MB_CLIENT”和“MB_SERVER”使用实现Modbus TCP通信功能,如图1.所示。

    图1. Modbus TCP的库指令

    S7-1200 做Modbus Tcp Client(客户端)

    MB_CLIENT 进行客户机和服务器TCP连接、发送命令消息、接收响应以及控制服务器的断开。


    1.调用MB_CLIENT通信指令,进入 “Program blocks” > “OB1” 主程序中,调用MODBUS TCP客户机指令,如图2.所示。

    图2. MB_CLIENT通信指令

    功能块参数意义如下表1.:

    管脚 说明
    REQ 使能: False-无Modbus通讯请求,True-请求与服务器通讯,Done完成位来后才可以执行下次请求,建议采用上升沿触发请求;
    DISCONNECT 控制与服务器建立和终止连接:0-建立与指定IP地址和端口号的通讯连接,默认为0;1-断开通讯连接,在终止连接的过程中,不执行任何其他功能;
    CONNECT_ID 连接的ID号:每个连接只有一个唯一的ID号;
    IP_OCTET_1~4 服务器的IP地址: 如图2.中通讯对方的IP地址是192.168.0.210;
    IP_PORT 服务器上使用TCP/IP协议与客户端建立通讯的IP端口号,默认值:502;
    MB_MODE 选择请求模式(读取、写入或诊断),具体对照参照表1.;
    MB_DATA_ADDR 访问数据的起始地址;
    MB_DATA_LEN 数据长度:数据访问的位数或字数;
    MB_DATA_PRT 指向Modbus数据寄存器的指针:用于缓存从Modbus服务器接收的数据或将发送到Modbus服务器数据的缓冲区,可以是DB块或M区,如果是DB块则需要定义为“标准与S7- 300/400兼容”的类型,见下图3;
    DONE 完成位:作业完成,无错误,该位置1;
    BUSY 作业状态位:0-当前没有正在处理的“MB_CLIENT”作业;1-“MB_CLIENT”作业正在处理;
    ERROR 错误位:0-无错误;1-出现错误,错误原因查看STATUS;
    STATUS 错误代码;

    表1. 功能块参数意义

    2.MB_DATA_PTR数据块的新建

    通过“Program blocks”>“Add new block”,选择“Data block”创建 DB 块,选择“标准与S7- 300/400兼容” ,点击“OK”键,定义数据区为100个字的数组,如图3.所示。

    图3. 创建MB_DATA_PTR数据块

    3. MB_MODE、MB_DATA_ADDR和功能码的关系

    MB_CLIENT指令中,MB_MODE、MB_DATA_ADDR和MB_DATA_LEN三个参数组合定义了当前Modbus消息中所用的功能代码,如表2.。

    Modbus 功能 MB_MODE MB_DATA_ADDR 操作和数据类型 数据长度
    FC01 0 00001~09999 读取输出位 每个请求1~2000个位 1~2000
    FC02 0 10001~19999 读取输入位 每个请求1~2000个位 1~2000
    FC03 0 40001~49999 或 400001~465535 读取保持寄存器 每个请求1~125个字 1~125
    FC04 0 30001~39999 读取输入字 每个请求1~125个字 1~125
    FC05 1 00001~09999 写一个输出位 每个请求1个位 1
    FC06 1 40001~49999 或 400001~465535 写一个保持寄存器 每个请求1个字 1
    FC15 1 00001~09999 写多个输出位 每个请求2~1968个位 2~1968
    FC16 1 40001~49999 或 400001~465535 写多个保持寄存器 每个请求2~123个字 2~123
    FC15 2 00001~09999 写一个或多个输出位 每个请求1~1968个位 1~1968
    FC16 2 40001~49999 或 400001~465535 写一个或多个保持寄存器 每个请求1~123个字 1~123
    FC11 11   读取服务器通信状态字和事件计数器:状态字反映处理状态(0-未处理;0XFFFF-处理中);每次成功发送一条消息后,事件计数器都将递增。执行功能时,MB_CLIENT指令的MB_DATA_ADDR和MB_DATA_LEN参数都将被忽略。 0
    FC08 80   通过数据诊断代码0X0000检查服务器状态 每次请求1个字 1
    FC08 81   通过数据诊断代码0X000A重新设置服务器事件计数器 每次请求1个字 1
      3~10、12~79、82~255   保留  

    表2. MB_MODE、MB_DATA_ADDR和功能码的关系

    如上例中S7-1200作客户机,用FC03功能码读取服务器的两个字,起始从Modbus地址40001开始,接收的数据存放在缓冲区DB3.DBX0.0开始区域,设置如上:MB_MODE=0,MB_DATA_ADDR=40001,MB_DATA_LEN=2,对应关系为:40001->DB3.DBW0 ,40002->DB3.DBW2。

    4.服务器端Modbus Slave 软件设置

    注意:服务器采用Modbus Slave软件测试,该软件是第三方软件,可以从 internet 网络上下载。

    首先将测试电脑的IP地址设置成192.168.0.210,如图4.所示,打开Modbus Slave 软件,在Modbus Slave的“Set up->Slave Definition”中设置功能码、起始地址、长度等,如图5.所示。

    图4. 电脑的IP地址设置

    图5. 服务器端Modbus Slave软件设置

    创建Modbus TCP/IP连接,在“Connection->connect...”中打开连接属性对话框,选择“Modbus TCP/IP” ,TCP/IP Server Port本地服务器端口为502,并可以勾选“Ignore Unit ID”选项,如图6.所示。

    图6. 连接属性

    注意:图5.中的Slave ID 是服务器的站地址,和客户机中“MB_CLIENT” 中的“CONNECT_ID” 不是一个概念,实际上与客户机中“MB_CLIENT”的背景数据块中的STAT变量“MB_UNIT_ID”需要一致,在1200中该地址默认为16#00FF,如图7 所示,可以在变量表中修改与实际服务器站地址一致。如果在图6中勾选“Ignore Unit ID”,则不需要考虑一致情况,如果不勾选,则需要修改一致。

    图7. 客户机中“MB_CLIENT”的背景数据块中的STAT变量“MB_UNIT_ID”

    5.通讯测试

    S7-1200作客户机,用FC03功能码读取服务器的两个字,设置客户机和服务器的功能、起始地址、端口等参数相对应,具体设置如上,设置M5.0和M0.0为1,触发请求,如图8.所示。

    图8. S7-1200作客户机,用FC03功能码读取服务器的两个字

    通讯结果如图9.所示,从服务器读到数据20,30到客户机的DB3.DBW0和DB3.DBW2区域。

    图9. 通讯结果

    6.MB_CLIENT 参数 STATUS 错误代码查询参考下面两个列表3.和表4.。

    STATUS(W#16#) 响应Modbus客户机的代码(B#16#) 错误说明
    8381 01 不支持功能代码
    8382 03 数据长度错误
    8383 02 数据地址错误或访问的数据超出MB_DATA_PRT的地址区
    8384 03 数据值错误
    8385 03 不支持诊断错误代码(功能代码08)

    表3. 协议错误代码

    STATUS(W#16#) 错误说明
    7001 MB_CLIENT 正在等待Modbus服务器响应指定TCP端口处的连接或断开连接请求,仅在第一次执行连接或断开操作时才报告此代码
    7002 MB_CLIENT 正在等待Modbus服务器响应指定TCP端口处的连接或断开连接请求,等待连接或断开操作完成时,将针对任何后续执行报告此代码
    7003 断开操作已成功完成(仅在一个PLC扫描周期内有效)
    80C8 服务器在指定的时间内无响应,请检查与Modbus服务器设备的连接,尝试过任何组态的重试操作后,才报告此错误
    8188 参数MB_MODE的值无效
    8189 参数MB_DATA_ADDR的值无效
    818A 参数MB_DATA_LEN的长度无效
    818B 参数MB_DATA_PTR中的指针无效
    818C 参数MB_DATA_PTR指向优化的区域,必须为“标准与S7- 300/400兼容”的DB或M区
    8200 端口正在处理另一个Modbus请求
    8380 接收到的Modbus桢有缺陷或接收到的字节太少
    8387 指定的连接ID与用于先前请求的ID不同,只能有一个单个连接ID与每个MB_CLIENT背景数据块配合使用
    8388 Modbus服务器返回一些和请求内容不同的数据,这只适合Modbus功能15或16

    表4. 参数错误代码

    除了上面列出的MB_CLIENT错误外,也可以从底层传输通信指令(TCON、TDISCON、TSEND和TRCV)返回错误,参考相应指令的错误代码。

    6SL3256-0VE00-6AA0西门子V20扩展模块

在线询盘/留言
  • 免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责,本网对此不承担任何保证责任。我们原则 上建议您选择本网高级会员或VIP会员。
    0571-87774297