S7-200PLC的自由口通信工程应用

  • 格式:docx
  • 大小:553.13 KB
  • 文档页数:5

S7-200PLC的自由口通信工程应用

笫1章S7-200 PLC的自由口通信工程应用

本章由浅到深循序渐进地例举了S7-200 PLC自由口通信的三个工程应用实例。分别从任务描述、任务剖析、解决方案、实施步骤和常见故障及排故方法这五个方面进行了描述。第一个实例“智能立体车库系统中IC卡的应用”讲述了S7-200 PLC的自由口通信的只读功能实现方法,第二个实例“RFID在

AGV(Automated Guided Vehicle)中的应用”讲述了S7-200

PLC的自由口通信的读写功能实现方法,第三个实例“S7-200 PLC在无线通信上的应用”讲述了S7-200 PLC 的自由口通过自定义通信协议实现一对多的无线通信功能。

1.1智能立体车库系统中IC卡的应用

1.1.1 任务描述

智能立体车库系统要求采用刷卡方式完成车辆自动出入立体车库。当司机刷卡并设定密码后,卡信息与车辆进行绑定,车辆将自动进入车库相应的车位,当司机想取出车辆时,司机只需刷卡并通过密码验证,系统将自动从车库中寻找该卡对应的车辆并将车取出到车库。其中控制车辆进出的控制器采用西门子S7 - 200 系列CPU226 型可编程控制器来实现。

1.1.2 任务剖析

智能立体车库要求采用刷卡方式作为车辆出入立体车库的凭证,这就要求控制系统能读出卡上的信息,利用卡的信息作为身份识别把卡和车辆绑定起来。选用在弱电系统中作为门禁或停车场系统使用者身份识别的ID卡就能满足要求。ID卡全称为身份识别卡(Identification Card),是一种只读的感应卡,每张ID卡有一个全球唯一的芯片编码。它靠读卡器设备感应供电并读出存储在芯片EEPROM中的唯一卡号,该卡号在封卡前一次写入,封卡后不能更改,该ID卡完全能满足车辆身份识别的要求。同时S7-200 PLC的自由口通信能实现通过读卡器设备读出卡上信息从而完成车辆身份识别的功能。

1.1.3 解决方案

该任务实现的关键是要求S7-200 PLC能读出ID卡的信息,考虑到大多数的ID读卡器设备提供了与电脑直接通信的RS232通信方式,而S7-200 CPU的通信口电气上是标准的RS-485半双工串行通信口,因此硬件上需要通过RS-232到RS485转换器把ID读卡器设备连接到S7-200 CPU的通信口上,由于PC/PPI电缆本质上就是RS-232到RS485的转换,所以也可以通过PC/PPI电缆把ID读卡器设备连接到S7-200 CPU的通信口上。软件上则需要通过编程把S7-200 CPU

通信口缺省的PPI通信设置成自由口通信,通过对S7-200 PLC进行自由口通信来读取ID卡号。

1.1.4 实施步骤

1、了解所选读卡器和ID卡的技术参数

本实例中选用的读卡器为纽贝尔CHD603B,通信方式为RS232,USB口供电。工作环境:温度-10~50℃、相对湿度5~95%。电压:额定值12V/范围值12V-18V;电流:静态30mA-40mA/动态60mA-70mA。通信速率:9600BPS。8个数据位, 无校验位。ID卡上能读出的信息为19位字符。如下图所示。

2、连接读卡器设备和S7-200 PLC

因为纽贝尔CHD603B读卡器通信方式为RS232, 而S7-200 CPU的通信端口是RS485接口,所以需要通过RS-232转RS485接口转换器或S7-200 PLC的编程电缆PC/PPI电缆把读卡器设备连接到S7-200

CPU的通信端口Port 0上,同时通过USB接头外接12V电源给读写器设备供电。

3、对S7-200 PLC的通信端口进行自由口通信编程

1)设置自由口控制寄存器SMB30(口0)或SMB130(口1)

自由口控制寄存器各位的定义如下:

本实例中读卡器设备连接到S7-200 CPU的通信端口Port 0上, 通信速率:9600BPS,8个数据位, 无校验位。对照上表应设置控制字SMB30,相应各位的设置如下: 7 0 pp=00 不校验 d=0 8位/字符 bbb=010 9600波特 mm=01 自由口协议由此可见SMB30应该设置为9。

2) 设置接收信息控制寄存器SMB87

接收信息控制寄存器各位的定义如下:

本实例中允许接收信息,无信息起始位(即忽略SMB88),结束字符是ASCII 码13(即使用SMB89并设置成“16#0D”),使用SMW90检测空闲状态,定时器使用内部字符定时器,忽略SMW92。对照上表设置控制字SMB87,相应各位的设置如下:

7 0 使用SMB89作为结束信息忽略SMW92

由此可见SMB87应该设置为16#D0。

3) 按照步骤2中的说明设置相关特殊内存寄存器

SMB89设置成结束字符“16#0D”;

SMW90设置成检测空闲时间5(即空闲时间超过5ms后收到的第一个字

符是新信息的开始);

SMB94设置成最大接收字符数20。

4) 用ENI指令启用所有中断

5) 用ATCH指令将接收信息完成中断(即事件号23)与中断处理程序相关联

6) 用RCV指令指定端口接收的信息存储在指定的数据缓冲区中

7) 在中断处理程序中把接收到的信息存到相应的内存单元中

1.1.5 常见故障及排故方法