【组态王】与S7-200PLC连接–PPI协议

    组态王 站长 27558次浏览 扫描二维码

    欢迎添加工控笔记微信公众号和站长微信,交流讨论,共同进步!

    【组态王】与S7-200PLC连接--PPI协议

    正文

    概述

    1、定义组态王设备

    组态王定义设备时请选择:PLC\西门子\S7-200系列\PPI

    设备向导页选项的特殊说明:

    是否选串口
    是否有地址选择页
    通讯方式 RS232
    描述 PPI
    通讯卡名

    说明:建议使用西门子串口PPI电缆

    2、设备地址及通讯参数定义

    设备地址格式为:由于S7-200系列PLC 的型号不同,设备地址的范围不同,所以对于某一型号设备的地址范围, 请见相关硬件手册。组态王的设备地址要与PLC的PORT口设置一致.PLC默认地址为2。

    建议的通讯参数:

    设定值 推荐值
    波特率 9600
    数据位 8
    停止位 1
    校验位 偶校验

    3、组态王数据词典-IO变量定义

    1)、组态王中寄存器列表

     寄存器格式  寄存器范围  数据类型  变量类型  读写属性  寄存器含义
    Vdd 0~65535 BYTE,SHORT,USHORT,

    LONG,FLOAT

    I/O整型、I/O实型 读写 V数据区
    Idd 0.0~9999.7 BIT I/O离散 只读 数字量输入区,按位读取
    0~9999 BYTE I/O整型 数字量输入区,按字节(8位)读取
    Qdd 0.0~9999.7 BIT I/O离散 读写 数字量输出区,按位操作
    0~9999 BYTE I/O整型 数字量输出区,按字节(8位)操作
    Mdd 0.0~9999.7 BIT I/O离散 读写 中间寄存器区,按位操作
    0~9999 BYTE I/O整型 中间寄存器区,按字节(8位)操作
    Vx.y 0.0-65535.7 BIT I/O离散 读写 按位读写V区数据

    二级通道范围0-7

    Vx.y x:0-65534
    Y:1-127并且
    X+Y<=65535
    USHORT I/O整型 读写 X为字符串的起始地址

    Y为字符串的长度

    DELAY 0~1 USHORT I/O整型 读写 DELAY0为PC向PLC发送数据帧的准备期
    DELAY1为PC接收PLC返回数据帧的准备期

    2)特殊寄存器说明:

    1.对于只写寄存器,请将采集频率设置为0.

    2.关于字符串数据类型:

    二级通道表示 x.y

    X 表示读/写字符串的起始地址; y表示字符串的长度。

    Y=1时:

    读取的字符串为地址X的当前ASCII 字符。

    Y=N(N>1)时:

    读取长度为 N 的字符串,从地址 X 开始。

    3.组态王支持可输入的 ASCII 码。

    4.组态王支持简体和繁体汉字输入并画面显示, STEP7 无法监测汉字。

    5.通用版下单个# 字符不能读写,嵌入版下可正常读写。

    6.长度问题:字符串长度为 N ,但在内存中还有一位结束符,实际共占 N+1 位。

    即若写入 N 长度的字符串,实际在内存中写入 N+1 位。

    若用户设定长度的字符串所在内存中有结束符‘ \0 ‘,则字符串的读取以 ‘\ 0’ 的出现为准 , 而不是用户设定的字符串的长度。字符串显示截取到内存中的字符串结束符 ‘\ 0’

    7. 若要读取字符串的第一位内存中即为字符串结束符,则组态王显示为之前的所存的值,不作改变。若此时关掉组态王重新启动。则组态王画面显示 0 。

    具体情况:

    原始值:

    内存:地址 0 1 2 3 4 5

    实际的字符 a a a a a a

    此时组态王读出:

    V0.2 : aa

    V0.5 : aaaaa

    V2.2 : aa

    给 V0.2 写入 bb 此时内存中:

    内存:地址 0 1 2 3 4 5

    实际的字符 b b \ 0 a a a

    此时组态王读出

    V0.2 : bb

    V0.5 : bb

    V2.2 : aa

    注意: 此时内存中地址 2 就是 ‘\ 0’ ,但组态王的值并没有变化。实际驱动中赋给组态王的字符串为“ \ 0 a ”,但组态王没有接受这个值变动。这时关掉 组态王重新启动,则显示为:

    V0.2 : bb

    V0.5 : bb

    V2.2 : 0

    8.为达到最高效的使用内存,定义字符串时不要重复使用同一内存。如第一个字符串定义为 V3.3 ,下一个应定义为 V7.2

    即下一个字符串的起始地址=前一个字符串的x+y+1(7=3+3+1)。

    2)、寄存器使用举例:

     寄存器名称  读写属性  数据类型  变量类型  寄存器说明
    V400 读写 BYTE IO整数 V区地址为400的寄存器(一个字节)
    V416 读写 LONG IO整数 V区地址为416的寄存器(四个字节416、417、418和419)
    Q0 读写 BYTE IO整数 对应Q区的Q0.0-Q0.7,一个字节(八位)
    I0.0 只读 BIT I/O离散< 对应I区的I0.0位

    操作

    1.组态王设置PPI协议,工程界面下,COM1—新建—PLC—西门子—S7-200系列—PPI

    【组态王】与S7-200PLC连接--PPI协议

    2.自定义通信协议的名称

    【组态王】与S7-200PLC连接--PPI协议

    3.设置串口号,先在设备管理器中查看电脑的串口号,与电脑的一致

    【组态王】与S7-200PLC连接--PPI协议【组态王】与S7-200PLC连接--PPI协议

    4.设置PLC的PPI地址,需要与PLC系统块中设置的一致

    【组态王】与S7-200PLC连接--PPI协议

    5..组态王PPI协议设置完成,双击上一步编辑完成的串口,设置波特率,奇偶校验,停止位,数据位等

    【组态王】与S7-200PLC连接--PPI协议

    6.编辑PLC程序如下图:将VW0的数据写入VW2中

    【组态王】与S7-200PLC连接--PPI协议

    7.在系统块中设置要连接的端口PLC地址与波特率

    【组态王】与S7-200PLC连接--PPI协议

    8.创建变量,详情如下图【组态王】与S7-200PLC连接--PPI协议

    9.在界面中关联变量

    【组态王】与S7-200PLC连接--PPI协议

    测试

    【组态王】与S7-200PLC连接--PPI协议


    喜欢 (26)
    支付宝[]
    分享 (0)