产品简介
6SL3216-5BE17-5CV0西门子V20变频器380V
6SL3216-5BE17-5CV0西门子V20变频器380V
产品价格:
上架日期:2019-02-26 16:09:35
产地:本地
发货地:本地至全国
供应数量:不限
最少起订:1件
浏览量:560
资料下载:暂无资料下载
其他下载:暂无相关下载
详细说明

    6SL3216-5BE17-5CV0西门子V20变频器380V

    SINAMICS V20 380-480 V AC 三相交流 - 15/+ 10 % 47-6 标称功率 0.75 kW 有 60 秒 150 % 过载 集成过滤器 C3 I/O 接口: 4 DI,2 DO,2 AI,1 AA 现场总线:USS/MODBUS RTU 安装有 BOP 防护等级 IP20/UL 开放 尺寸:尺寸A 90x150x115(宽x高x深) 平板式散热器

    S7-1200 作为Modbus RTU 主站

    S7-1200 支持Modbus RTU通信模式的模块可作为Modbus RTU主站。以下以 CPU1215C DC/DC/DC和CM1241 RS485 模块为例,介绍S7-1200 Modbus RTU 主站通信组态及编程步骤。

    硬件和软件需求及所完成的通信任务:

    硬件:
    ① CPU1215C DC/DC/DC (订货号: 6ES7 215-1AG31-0XB0)
    ② CM1241 RS485 (订货号:6ES7 241-1CH30-0XB0)
    ③ PS 307电源(订货号:6ES7307-1KA02-0AA0) 
    ④ PC(带以太网卡) 
    ⑤ TP以太网电缆

    软件:
    ① STEP 7 Professional V11 SP2 UPD4+HSP
    ② ModSim(该软件是第三方软件,可以从 Internet 网络下载)

    所完成的通信任务:
    将Modbus RTU从站ModSim中Modbus地址从40001开始的5个字中的数据,分别读取到Modbus RTU主站CPU1215C 中地址从DB1.DBW0开始的5 个字中。

    1.组态Modbus RTU 通信模块

    在硬件目录里找到“通信模块”→“点到点”→“CM1241(RS485)”,双击或拖拽此模块至CPU左侧即可,如下图1所示:

    图1 组态通信模块

    接下来,在“设备视图”中用鼠标选中CM1241(RS485)模块,在“属性”→“端口组态”中配置此模块硬件接口参数。如下图2所示:

    以下以传输率=9.6Kbps,奇偶校验=无奇偶校验,数据位=8位字符,停止位=1,其它保持默认设置为例。

    图2 RS485 端口设置

    最后在“硬件标识符”里确认一下硬件标识符为271,如下图3所示:

    图3 硬件标识符

    2.添加启动OB

    在项目树下选择“CPU1215C DC/DC/DC”→“程序块”→“添加新块”,在弹出的窗口中选择“OB 组织块”→ “Startup”,添加启动OB 100,如下图4所示:

    图4 添加启动OB

    3.调用MB_COMM_LOAD指令

    为使端口一启动就被设置为Modbus RTU通信模式,可在OB 100中调用“MB_COMM_LOAD”指令。调用“MB_COMM_LOAD”指令时会自动弹出创建相应背景数据块的界面,如下图5所示:

    图5 调用MB_COMM_LOAD指令

    点击“确认”为该指令创建背景数据块后,为各输入/输出引脚分配地址。尤其需注意MB_DB输入引脚需指向“MB_MASTER”指令的背景数据块,如下图6所示:

    注意: “MB_COMM_LOAD”指令输入位“REQ”需使用上升沿触发。由于OB 100只在S7-1200启动时执行一次,因此,此例中将“REQ”设为“TRUE”。

    图6 MB_COMM_LOAD指令

    MB_COMM_LOAD指令参数意义如下表1所示:

    引脚

    说明

    EN

    使能端

    REQ

    在上升沿执行该指令

    PORT

    通信端口的硬件标识符

    BAUD

    波特率选择:3600,6000,12000,2400,4800,9600,19200,38400,57600,76800,115200 (注意:所有其它值均无效)

    PARITY

    奇偶检验选择:0-无;1-奇校验;2-偶校验

    FLOW_CTRL

    流控制选择:0-(默认值)无流控制

    RTS_ON_DLY

    RTS延时选择:0-(默认值)

    RTS_OFF_DLY

    RTS关断延时选择:0-(默认值)

    RESP_TO

    响应超时: 默认值 = 1000 ms。MB_MASTER 允许用于从站响应的时间(以毫秒为单位)。

    MB_DB

    对 MB_MASTER 或 MB_SLAVE 指令所使用的背景数据块。

    DONE

    完成位:指令执行完成且未出错置1

    ERROR

    错误位:0-未检测到错误;1-检测到错误。在参数STATUS中输出错误代码。

    STATUS

    表1 MB_COMM_LOAD指令参数意义

    4.创建DATA_PTR数据发送、接收缓冲区

    通过“程序块”→ “添加新块”,选择“数据块(DB)”创建 DB 块,选择“标准与S7- 300/400兼容” ,点击“确认”键。在DB中创建数据类型为5个字的数组,如下图7所示:

    注意:DATA_PTR数据发送、接收缓冲区使用的DB访问类型必须是标准与S7- 300/400兼容。

    图7 创建DATA_PTR 数据发送、接收缓冲区

    5.调用MB_MASTER指令

    在OB1中调用“MB_MASTER”指令,调用该指令时会自动弹出创建相应背景数据块的界面,如下图8所示:

    图8 调用MB_MASTER指令

    点击“确认”为该指令创建背景数据块后,并为各输入/输出引脚分配地址,如下图9所示:

    注意:“MB_MASTER”指令的输入位“REQ”必须使用上升沿触发。

    以下以S7-1200作为Modbus RTU主站,用F03功能码读取Modbus RTU从站2,从Modbus地址40001开始的五个字,接收的数据存放在缓冲区DB3.DBW0开始区域为例。设置如下所示:MB_ADDR=2,MODE=0,DATA_ADDR=40001,DATA_LEN=5。

    地址对应关系如下表2所示:

    Modbus RTU主站CPU1215C 数据缓冲区地址 Modbus RTU从站Modbus地址
    DB3.DBW0 40001
    DB3.DBW2 40002
    DB3.DBW4 40003
    DB3.DBW6 40004
    DB3.DBW8 40005

    表2 Modbus地址对应关系

    图9 MB_MASTER指令

    MB_MASTER指令参数意义如下表3所示:

    引脚 说明

    EN

    使能端

    REQ

    在上升沿执行该指令,请求将数据发送或读取到Modbus从站

    MB_ADDR

    Modbus RTU从站地址。默认地址范围:0至247;扩展地址范围:0至65535。值0被保留用于将消息广播到所有Modbus从站。

    MODE

    模式选择:指定请求类型

    DATA_ADDR

    从站中的起始地址:指定Modbus从站中将供访问的数据的起始地址。

    DATA_LEN

    数据长度:指定要在该请求中访问的位数或字数。

    DATA_PTR

    数据指针: 指向要写入或读取的数据的 M 或 DB 地址(DB访问类型必须是标准与S7-300/400兼容)。

    DONE

    完成位:上一请求已完成且没有出错后,DONE 位将保持为 TRUE 一个扫描周期时间。

    BUSY

    0 – 无正在进行的 MB_MASTER 操作; 1 – MB_MASTER 操作正在进行

    EEROR

    错误位: 上一请求因错误而终止后,ERROR 位将保持为 TRUE 一个扫 
    描周期时间。 STATUS 参数中的错误代码值仅在 ERROR =TRUE 的一个扫描周期内有效。

    STATUS

    错误代码

    表3 MB_MASTER指令参数意义

    关于MODE,DATA_ADDR,DATA_LEN可在下表4中查看:

    MB_MASTER Modbus功能
     

    Modbus地址参数

    地址类型

    Modbus数据长度参数

    Modbus功能

    模式0

    读取

    00001到09999

    输出位

    1到2000

    01

    10001到19999

    输入位

    1到2000

    02

    30001到39999

    输入寄存器

    1到125

    04

    40001到49999

    400001到465535(扩展)

    保持寄存器

    1到125

    03

    模式1
    写入

    00001到09999

    输出位

    1(单个位)

    05

    40001到49999

    400001到465535(扩展)

    保持寄存器

    1(单个字)

    06

    00001到09999

    输出位

    2到1968

    15

    40001到49999

    400001到465535(扩展)

    保持寄存器

    2到123

    16

    模式2
    有些Modbus从站不支持使用Modbus功能05H或06H写入单个位或字。在这样的情况下,可通过模式2强制使用Modbus功能15H或16H写入单个位或字

    写入

     

    00001到09999

    输出位

    2到1968

    15

    40001到49999

    400001到465535(扩展)

    保持寄存器

    1到123

    16

    模式11

    读出从站的通信状态字和事件计数器:状态字指示指令的执行状态(0:未在执行;0xFFFF:正在执行)。 每次成功传送一条消息时,事件计数器值将递增。使用该功能时,忽略“MB_MASTER”指令的 DATA_ADDR 和 DATA_LEN 参数。

    模式80

    通过读取错误代码 (0x0000) 检查从站状态:每个请求1个字

    模式81

    通过诊断代码 0x000A 复位从站的事件计数器:每个请求1个字

    表4 MB_MASTER Modbus功能表

    6. Modbus 从站软件设置

    注意:Modbus RTU从站采用ModSim软件测试,该软件是第三方软件,可以从 Internet 网络下载。

    在打开的ModSim软件中建立连接,并设置RTU模式的参数:波特率Baud=9600,数据位Data=8,停止位Stop=1,校验Parity=NONE,如下图10所示:

    图10 建立ModSim连接

    选择“File”→“New”打开ModSim通信界面,设置Modbus RTU从站的地址Device Id=2,开始地址Address=0001,数据长度Length=5,Modbus数据类型功能码03。分别双击各Modbus地址后的数据区,出现“Write Register"对话框,在此写入数据值,如下图11所示:

    注意:Device Id设置必须与“MB_MASTER”指令中输入引脚“MB_ADDR”设置的地址一致。

    图11 设置ModSim

    7. Modbus RTU测试结果

    在STEP 7 Professional V11 UPD4软件中打开该项目CPU1215C DC/DC/DC的“监控表”,触发“MB_MASER”指令的输入位M10.0。Modbus RTU主站将ModSim从站地址40001中的数值11,40002中的数值12,40003中的数值13,40004中的数值14,40005中的数值15,分别读取到了地址DB3.DBW0,DB3.DBW2,DB3.DBW4,DB3.DBW6,DB3.DBW8中,如下图12所示:

    图12 Modbus RTU测试结果

    S7-1200 Modbus RTU通信模式的多地址或多站点轮询

    多个CM 1241 RS485 通讯模块之间可以使用 PROFIBUS 电缆相互连接。可以将 1 个主站和最多 31 个 MODBUS 从站使用 PROFIBUS 电缆连接组网。

    S7-1200 Modbus RTU轮询需要通过上一条”MB_MASTER“指令输出位“Done“=1来触发下一条“MB_MASTER“指令。具体说明及编程思路请参考以下链接:

    如何使用STEP 7(TIA Portal)V11为SIMATIC S7-1200建立Modbus RTU通讯?

    http://support.automation.siemens.com/CN/view/zh/47756141

    MB_COMM_LOAD和MB_MASTER指令STATUS错误代码

    STATUS(W#16#) 说明
    0000 端口无错误
    8180 端口ID值无效
    8181 波特率值无效
    8182 奇偶校验值无效
    8183 流控制值无效
    8184 响应超时值无效
    8185 MB_DB参数不是MB_MASTER或MB_SLAVE的背景数据块

    表5 MB_COMM_LOAD指令STATUS错误代码

     

    STATUS(W#16#)
    说明
    0000
    无错误
    80C8
    从站超时。检查波特率,奇偶校验和从站的接线
    80D1
    接收方发出了暂停主动传输的流控制请求并在指定的等待时间内未重新激活该传输。

    如果接收方在等待时间内未检测到 CTS,则在硬件流控制期间也会生成该错误。

    80D2
    由于没有从 DCE 接收到 DSR 信号,传送请求终止
    80E0
    接收缓冲区已满,消息被终止
    80E1
    奇偶校验错误,消息被终止
    80E2
    组帧错误,消息被终止
    80E3
    超时错误,消息被终止
    80E4
    指定长度超出总缓冲区大小,消息被终止
    8180
    无效端口ID值
    8186
    Modbus站地址无效
    8188

    对于广播调用,参数 MODE 的值无效。

    8189
    数据地址值无效
    818A
    数据长度值无效
    818B
    指向本地数据源/目标的指针无效
    818C
    DATA_PTR的指针无效:使用指向位存储区或访问类型为“标准 - 与 S7-300/400 兼容”的数据块的指针。
    8200
    端口正忙于处理传送请求

    表6 MB_MASTER指令STATUS错误代码(指令的通信和组态错误消息)

     

    STATUS(W#16#) 从站的响应代码
    说明
    8380 -
    CRC错误
    8381 01
    不支持此功能码
    8382 03
    数据长度错误
    8383 02

    数据地址错误或地址超出 DATA_PTR 的有效范围

    8384 >03
    数据值错误
    8385 03
    不支持此数据诊断代码
    8386 -
    响应中的功能代码与传送中的功能代码不匹配
    8387 -
    响应的从站错误
    8388 -
    从站对写请求的响应不正确

    表7 MB_MASTER指令STATUS错误代码(Modbus 协议的错误消息)

    常问问题:

    如何检查S7-1200 通信模块CM1241是否已被成功设置为Modbus RTU通信模式?

    可在程序或监控表中查看“MB_COMM_LOAD”指令的输出位“DONE”,“ERROR”以及“STATUS”状态来判断S7-1200 通信模块CM1241是否已被成功设置为Modbus RTU通信模式。

    • 如果该模块被成功设置为Modbus RTU通信模式:“MB_COMM_LOAD”指令输出位“DONE”=1,“ERROR”=0,输出状态字“STATUS”=0;
    • 如果该模块未被成功设置为Modbus RTU通信模式:“MB_COMM_LOAD”指令输出位“DONE”=0,“ERROR”=1,输出状态字“STATUS”输出错误代码。具体错误原因可查看“MB_COMM_LOAD指令STATUS错误代码”表。

    执行“MB_MASTER”指令,总是显示输出位“Busy”=1,为什么?

    因为端口正忙于处理传送请求。出现该错误时请检查“MB_MASTER“指令输入位”REQ“是否为上升沿触发,或是否有其它的多个“MB_MASTER”指令在执行。

    通过执行“MB_MASTER”指令无法写入或读取Modbus RTU丛站地址的数据,但程序中监视“MB_MASTER”指令错误位“Error”=0,错误代码“STATUS”=16#0,为什么?

    “MB_MASTER”指令上一请求因错误而终止后,ERROR 位将保持为 TRUE 一个扫描周期时间,并且 STATUS 参数中的错误代码值仅在 ERROR =TRUE 的一个扫描周期内有效,因此无法通过程序或监控表查看到。可采用如下所示的编程方式将ERROR 和 STATUS 参数读出。

    S7-1200 作为Modbus RTU 主站,如何对Modbus RTU从站进行0-65535扩展寻址?

    通常,“MB_MASTER”指令的背景数据块“MB_MASTER_DB”中的“EXTENDED_ADDRESSING”默认为0,可以对Modbus RTU从站地址0-247进行访问。

    将“MB_MASTER”指令的背景数据块“MB_MASTER_DB”中的“EXTENDED_ADDRESSING”设置为1,才能对Modbus RTU从站进行0-65535扩展寻址。可按照如下步骤设置“EXTENDED_ADDRESSING”:

    首先找到“系统块”→“程序资源”,双击“MB_MASTER_DB”,在“MB_MASTER”指令的背景数据块“MB_MASTER_DB”中查看“EXTENDED_ADDRESSING”。

    在“监控表”内输入“MB_MASTER_DB.EXTENDED_ADDRESSING”,将该位置1。

    6SL3216-5BE17-5CV0西门子V20变频器380V

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