热门搜索:

上海西邑电气技术有限公司成立于1996年。在西门子公司广大同仁和工控领域各界朋友的关怀下埋头发展,一路走来已成西门子合作伙伴中的佼佼者。总部设在上海,办公面积1500多平方米,员工150余人。

    西门子6ES7407-0KA02-0AA0

    更新时间:2024-05-02   浏览数:450
    所属行业:电气 电气成套设备
    发货地址:上海市金山区  
    产品规格:西门子6ES7407-0KA02-0AA0
    产品数量:10000.00台
    包装说明:全新原装
    价格:面议
    产品规格西门子6ES7407-0KA02-0AA0包装说明全新原装

    西门子6ES7407-0KA02-0AA0

    6ES7407-0KA02-0AA0
    SIMATIC S7-400,电源 PS407:10A,宽电压范围, UC 120/230V,5V/10A DC
    blob

    S7-200与V20的MODBUS RTU通讯

    1、本例程的系统配置:

    (1)安装Step7 Micro/Win software和Modbus协议库,西门子在Micro/WIN V4.0 SP5
              中正式推出Modbus RTU主站协议库。
    (2)PC/PPI电缆、S7-200、电源模块、通信电缆。
    (3)V20驱动装置和一台PC机。

    2、在使用MicroWin software 创建项目之前,确认Modbus Master 库文件已经安装:

    3、创建一个例程:

    3.1 设置通讯接口

    本例程使用PC/PPI电缆。

    3.2 建立PC和PLC之间的连接

    “双击刷新”搜索到PLC后,点击”确认”。

    3.3 用电缆将S7-200 Port 1端口与V20的RS485接口相连(注意端口连接规则:V20的
    P+对3、N-对8),如下图所示:

    3.4 变频器参数设置:

    V20 可以通过选择连接宏Cn011实现Modbus RTU控制,也可以通过直接更改变频器参数的方法来实现。参数设置如下表所示:

    参数 描述 Cn011默认值 实际设置 备注
    P0700[0] 选择命令源 5 5 RS485为命令源
    P1000[0] 选择频率 5 5 RS485为速度设定值
    P2023[0] RS485协议选择 2 2 MODBUS RTU协议
    P2010[0] USS/MODBUS波特率 6 6 波特率为9600bps
    P2021[0] MODBUS地址 1 3 V20的MODBUS 地址
    P2022[0] MODBUS应答**时 1000 2000 向主站发回应答的较大时间
    P2014[0] USS/MODBUS报文间断时间 100 0 接收数据时间

       
    3.5 V20常用寄存器说明

      寄存器编号 描述 访问类型 定标系数 读取 写入
    控制数据 40100 控制字 R/W 1 PZD1 PZD1
    40101 主设定值 R/W 1 PZD2 PZD2
    状态数据 40110 状态字 R 1 PZD1  
    40111 速度实际值 R 1 PZD2  
    P1120 40322 斜坡上升时间 R/W 100 P1120 P1120
    P1121 40323 斜坡下降时间 R/W 100 P1121 P1121

    更多的V20寄存器信息,请访问下面链接:

    67267484

    3.6 库存储区分配:在编译程序之前,选择 “程序块” ->“ 库” 右键,选择“库存储区”。在点击 “建议地址” 选择V存储区的地址后点击 “OK”退出。

    西门子6ES7407-0KA02-0AA0

     

    3.6 初始化Modbus Master端口:

    EN 使能: 必须保证每一扫描周期都被使能(使用 SM0.0) 。
    Mode 模式: 为 1 时,使能 Modbus 协议功能;为 0 时恢复为系统 PPI 协议 。
    Baud 波特率: 支持的通讯波特率为4800,9600,19200 。
    Parity 校验: 校验方式选择 (V20采用偶校验)

    0=无校验
    1=奇较验
    2=偶较验

    Timeout **时: 主站等待从站响应的时间,以毫秒为单位,典型的设置值为 1000 毫秒(1 秒),允许设置的范围为 1 - 32767。
    注意: 这个值必须设置足够大以保证从站有时间响应。
    Done 完成位: 初始化完成,此位会自动置1。
    Error:初始化错误代码。

    3.7 调用 Modbus RTU 主站读写功能块MBUS_MSG,发送一个Modbus 请求:

    3.7.1 写入控制字1和速度实际值:

    EN 使能: 同一时刻只能有一个读写功能(即 MBUS_MSG)使能 。
    注意:V20对于写指令同一时刻只运行对一个保持寄存器操作;读指令同一时刻较大允许操作125 个保持寄存器。
    First 读写请求位: 每一个新的读写请求必须使用脉冲触发。
    Slave 从站地址: 可选择的范围 1 - 247 。
    RW 请求方式: 0 = 读, 1 = 写 。
    Count 数据个数 通讯的数据个数(位或字的个数) 。
    注意: Modbus主站可读/写的较大数据量为120个字(是指每一个 MBUS_MSG 指令)。
    DataPtr 数据指针: 1. 如果是读指令,读回的数据放到这个数据区中 ;
    2. 如果是写指令,要写出的数据放到这个数据区中 。

    Done 完成位:读写功能完成位 。
    Error 错误代码: 只有在 Done 位为1时,错误代码才有效。
    常用的控制字:

    047E :运行准备
    047F :正转启动
    0C7F :反转启动
    04FE :故障确认

    3.7.2 读取状态字1和速度实际值:

     

    3.7.3 读取斜坡上升时间P1120:

     

    3.7.4 写入斜坡下降时间P1121:

    3.8 通过状态表控制和读取变频器的状态:

    对于斜坡上升时间P1120,从寄存器列表中可以看到40322的寄存器的定标系数是100,读取过来的值为:VW1310=1000,所以参数P1120=1000/100=10。

    3.我们需要创建一个简单的例程:

    ? 第一步:设置通讯接口

    ? 第二步:建立PC与S2-200之间连接(注意:PC通过PC/PPI电缆与S7-200PORT1口连接;)

    ? 第三步:用串口电缆将S7-200PORT0端口与6SE70的X103或X300端口相连(注意:端口连接的规则是3对3、8对8)

    ? 第四步:使用USS协议的初始化模块初始化S7-200的PORT0端口

    二进制值2#1000 0000 0000表示要初始化USS地址11的6SE70驱动装置,波特率为9600,此波特率要与PC/PPI电缆设置的相同,详细情况请参看USS_INIT的帮助文件;此外我们还需要在6SE70装置上设置相应的参数。

    表一:

    参数 USS/SCom1(X300) USS/SCom2(X103)
    P053 7 23
    P700 P700.1=11 P700.2=11
    P701 P701.1=6 P701.2=6
    P702 P702,1=127 P702.2=127
    P703 P703,1=2 P703.2=2
    P704 P704.1=0 P704.2=0
    P443 P443.1=2002 P443.1=6002
    P554 P554.1=2100 P554.1=6100

    ? 第五步:使用USS_CTRL模块来控制USS地址11的6SE70装置,为了运行6SE70需要按照表一设置参数

    ? 第六步:在编译程序之前,选择 Program Block -> Library then right mouse click: select Library Memeory. 在点击Suggested Address选择V存储区的地址后点击 “OK”退出,如下图所示:

    ? 第七步:编译程序并下载到S7-200,将RUN位置1,并在状态表中输入速度给定,这样6SE70变频器就可以运行起来了,如下图状态表所示:(注意:由于MM440和6SE70的工作方式和控制字的定义并不完全相同,所以你需要将OFF2、OFF3、F_ACK命令位连接到6SE70相应的参数,它们才能起作用;此外,由于控制字的定义不相同,DIR方向控制位并不能起到方向控制的作用;详细情况请参看USS_CTRL的帮助文件及6SE70控制字的定义)

      

    4. 读写O2类型参数:如读写参数P100,使用USS_RPM_W和USS_WPM_W(这两个功能块用来读写16位无符号整数)

    ? 读参数P100,其数据类型为O2,表示16位无符号整数;其程序块如下图所示:

    在运行此程序块的情况下,只要给S7-200的I0.3置一个上升沿,就可以完成一次对参数P100的读操作,读入的值被保存到R_P100。需要特别注意的是USS_RPM_W的INDEX值必须置1,因为MM440默认的是PXXXX.0参数组,而6SE70默认的是PXXX.1参数组

    ? 写参数P100,其程序块如下图所示:

    在运行此程序块的情况下,只要给S7-200的I0.4置一个上升沿,就可以完成一次对参数P100的写操作,将W_P100中保存的值写入到参数P100。USS_WPM_W的EEPROM是逻辑“0”时,写入的值只被保存到6SE70的RAM中,当EEPROM是逻辑“1”时,写入的值同时被保存到6SE70的RAM和EEPROM中,但向EEPROM中写数据是有次数限制,较多不要**过50000次

    5. 读写I4类型参数:如读写参数P401,使用USS_RPM_D和USS_WPM_D(这两个功能块用来读写32位无符号整数)

    ? 读参数P401,其数据类型为I4,表示32位有符号整数;其程序块如下图所示:

    在运行此程序块的情况下,只要给S7-200的I1.3置一个上升沿,就可以完成一次对参数P401的读操作,读入的值被保存到R_P401。需要特别注意的是USS_RPM_W的INDEX值必须置1,因为MM440默认的是PXXXX.0参数组,而6SE70默认的是PXXX.1参数组

    ? 写参数P401,其程序块如下图所示:

    在运行此程序块的情况下,只要给S7-200的I0.6置一个上升沿,就可以完成一次对参数P401的写操作,将W_P401中保存的值写入到参数P401。USS_WPM_D的EEPROM是逻辑“0”时,写入的值只被保存到6SE70的RAM中,当EEPROM是逻辑“1”时,写入的值同时被保存到6SE70的RAM和EEPROM中,但向EEPROM中写数据是有次数限制,较多不要**过50000次

    ? 参数P401的数据类型是I4(32位有符号的整数),而USS功能块USS_RPM_D和USS_WPM_D是根据MM440参数数据类型的定义,用来读写32无符号的整数。因此用这两个功能块读写6SE70的I4型参数时会产生一定的问题,如参数值是正数是能够正确读写,当参数值是负数时,读操作能够正常进行

    西门子6ES7407-0KA02-0AA0




    http://zx2015888.cn.b2b168.com