西门子S7-200串口通讯研究与应用实例

2016-03-02 07:14卢建宁孟祥宇栗中夏张世超
制造业自动化 2016年4期
关键词:计数器条码字符

姜 川,卢建宁,孟祥宇,栗中夏,张世超

(北京机械工业自动化研究所,北京 100120)

0 引言

二十世纪六十年代,世界首台可编程逻辑控制器(PLC),诞生于在美国DEC公司。七十年代,这一技术被日本和西欧一些国家引进,并得到了长足的发展。2015年政府发布的《中国制造2025》报告中提到,建设重点领域智能工厂/数字化车间,必将把PLC的应用推向新的高度。

西门子作为全球电子电气工程专业领头羊公司,其生产的小型可编程逻辑控制器S7-200系列,具有极高的稳定性、多种内置功能和强劲的通讯能力,在工业、农业、化工业等领域得到了广泛的应用。

1 串口通讯方式

S7-200本身配置了两个通讯/编程接口,具有Pointto-Point Interface模式、Multi Point Interface模式及自由口通讯三种通讯模式。三种方式均可实现与计算机的通讯,但MPI和PPI模式多用于对程序的编译与传输,自由口通讯方式更多的完成与第三方设备的通讯任务。

1.1 MPI通讯方式

Multi Point Interface(简称MPI)多点通讯,是一种保密的通讯协议。应用的系统对通讯速率要求不高、通讯量不大时,MPI通信不失为一种简约经济的通讯方式。其网络的通信速率为19.2Kbps~12Mbps,能够连接最高32个节点,通信距离亦可通过中继器来进行扩展。

1.2 PPI通讯方式

Point-to-Point Interface(简称PPI)点对点接口,是PLC中央处理器的默认通讯协议。其采用了一种主从式通讯方式,主站设备发出控制指令,从站设备响应,但从站设备不主动发出信息[2]。

1.3 自由端口通讯方式

选择自由端口通讯方式,编译者可以通过发送中断、接收中断、RCV指令、XMT指令来

控制通信端口的操作,用户可自行定义通讯协议。自由口除了可以连接组态工具监控PLC,也可以读写变量存储区(V区)、位存储区(M区)等存储区域内的数据。使用自由口通讯,可以将多种兼容RS232接口的设备连接到PLC上,应用更加灵活。

2 通讯实例

2.1 硬件配置

本例硬件配置依托于某型视觉检测系统,通过S7-200PLC本体的两个串口实现PLC与上位系统及下位数据采集设备之间的信息交互。具体为Port 0端口用于PLC与数据采集设备通讯,Port 1端口执行PLC与上位系统的数据交互任务。其他电平信号与PLC的过程映像寄存器(I/O)连接。

上位系统计算机串口与PLC串口均为RS485接口,可利用屏蔽电缆将两设备直接连接。

下位数据采集设备采用RS232接口,例如SYMBOL MS1204固定式扫码器。数据采集设备与PLC连接时需要信号转换。该信号转换通过RS 232/RS 485通信协议转换模块实现,PLC、转换器、扫码器的接线示意如图1所示。

图1 RS232/RS485转换器

2.2 程序设计

图2 通讯流程图

2.2.1 通讯端口设置

PLC串口设置自由口通讯方法,如表1所示。

2.2.1 使能中断

LD 系统位_始终为1:SM0.0

ATCH INT_8_FORT0接收:INT8, 8

ATCH INT_9_PORT0发送完:INT9, 9

ENI

LD 系统位_始终为1:SM0.0

ATCH INT_25_PORT1接收:INT25, 25

ATCH INT_26_PORT1发送完:INT26, 26

ENI

2.2.2 端口0接收数据

当接收字符不是回车、换行时,当前中断接收的字符拼接在接收字符串的最后一个,并将指针VD690、接收计数器VW694分别自加1

图3 数据采集算法流程图

LDB<> SMB2, 13

AB<> SMB2, 10

MOVB SMB2, *VD690

INCD VD690

INCW VW694

端口0接收到回车时,表示接收结束,置位PORT0接收完成标志M4.3,清空入口SN条码区;将接收字符计数器VW694赋给入口SN条码区的首字节VB1500、将接收区VB660的接收字符串赋给入口SN条码区的字符区;对指针、接收字符计数器设定初始值。

LDB= SMB2, 13

LPS

S 状态_PORT0读码接收完成:M4.3, 1

BMB 空字串长度:VB1900, 入口条码_SN码_长度:VB1500, 30

ITB VW694, 入口条码_SN码_长度:VB1500

AENO

BMB VB660, 入口条码_SN码_起始字:VB1501, 入口条码_SN码_长度:VB1500

LPP

MOVD &VB660, VD690

表1 端口0、端口1的初始化设置

AENO

MOVW +0, VW694

2.2.3 端口1接收数据

当接收字符不是;时,当前中断接收的字符拼接在接收字符串的最后一个,并将指针VD650、接收字符计数器VW654分别自加1。

LDB<> SMB2, 59

MOVB SMB2, *VD650

INCD VD650

INCW VW654

PLC检测到;时PORT1接收结束,将PORT1接收完成标志M4.4置位;清空入口SN条码区;将接收字符计数器VW654以字节的形式存在VB640中,对指针VD650、接收字符计数器VW654赋初值。

LDB= SMB2, 59

S 状态_PORT1视觉接收完成:M4.4, 1

MOVB 0, *VD650

ITB VW654, VB640

MOVD &VB641, VD650

AENO

MOVW +0, VW654

PORT1的接收数据最终输出在VB640开始的若干字节中,且VB640存放的是该字串的长度。因此字串长度赋值对像是VB640,而对指针VD650赋初值时,是指定VB641的地址作为VD650的初值的,这一点与PORT0不同。

2.2.4 端口1发送数据

使用XMT指令通过PORT1向视觉PC发送拍照前查询型号指、拍照/坐标指令等。此处以发送预先设置好的复位指令”RESET;”为例;

LD 视觉发送复位:V15.2

EU

XMT VB600, 1

R 状态_PORT1视觉发送完成:M4.6, 1

发送完成触发中断26,置位PORT1发送完成状态位M4.6。

LD 系统位_始终为1:SM0.0

S 状态_PORT1视觉发送完成:M4.6, 1

3 结论

本文对S7-200的串口通讯方式进行分析研究。结合理论,应用性价比高、易操作的器件,将自由通讯模式应用到工程实例中。经过工程验证,此种通讯方式编程简单,易于移植,运行稳定,安全可靠。

[1] PLC的发展历程浅析[OL].中国工控网,2014.

[2] 潘必胜.西门子PLC的PPI通讯协议协议研究[J].单片机与嵌入式系统应用,2009(12).

[3] 西门子S7-200可编程控制器系统手册,2008.

猜你喜欢
计数器条码字符
采用虚拟计数器的电子式膜式燃气表
热线互动
浅析影响商品条码质量的主要因素
论高级用字阶段汉字系统选择字符的几个原则
关于74LS90计数器的Multisim仿真分析
日杂商品条码质量现状研究
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
SR620型与53230A型计数器的性能测试