利用西门子S7-200自由通讯接口实现与条码扫描枪的通讯
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用西门子S7-200自由通讯接口实现与条码扫描枪的通讯许静;朱晓民;程金;李文娟;张希
【摘要】本文介绍了一种成本低廉,稳定可靠的串口通讯方式,利用小型可编集成的自由通讯接口实现与串口设备的通讯.详细描述了自由通讯口的通讯模式,给出了与
条码扫描枪实现通讯的编程实例,为低成本实现通讯提供了一种解决方法.
【期刊名称】《制造业自动化》
【年(卷),期】2011(033)020
【总页数】3页(P82-84)
【关键词】可编程控制器;通讯;自由通讯接口;条码扫描枪
【作者】许静;朱晓民;程金;李文娟;张希
【作者单位】北京机械工业自动化研究所,北京100120;北京机械工业自动化研究所,北京100120;北京机械工业自动化研究所,北京100120;北京机械工业自动化研
究所,北京100120;北京机械工业自动化研究所,北京100120
【正文语种】中文
【中图分类】TP273
0 引言
小型可编程控制器,一般结构小巧、多功能、价格低廉,本身集成CPU、I/O点、电源并且还提供了简洁、开放的通讯功能。
性价比、通讯和实时性等方面的优点,使它成为制定较复杂自动化系统解决方案的理想之选。
本文介绍的系统应用在奇瑞
汽车厂缸盖装配线线上扫描条码识别机型。
1 系统功能
系统要求根据条码录用数据判断出产品装配工件的型号,从而执行该型号工件装配的相应程序段。
条码信息可在人机界面上直接显示,使操作者一目了然。
并且可以翻阅查看历史工件的相关信息。
2 系统配置
控制单元采用西门子的CPU226。
CPU226集成两个串口,port0端口作为连接人机界面和CPU的接口,另一端口port1用于连接条码扫描枪,集成的I/O点用于控制装配的执行机构。
由于条码扫描枪为232接口,而自由通讯口为485口,所以还需一个232-485转换模块,系统中选用了一根西门子编程电缆线。
但是一般
串口扫描仪大多用于与计算机相连,线的插头通常为孔状,而可编的接口也为孔状,因此需用一根两头针状的交叉式连接转接线(2,3交叉,5直通)否者通讯出现
错误。
3 自由通讯接口介绍
S7-226有两个接口port0口,port1口,它们可以是PPI接口,也可以是自由通讯接口。
可以通过程序来自由设定它们的通讯形式。
3.1 可利用的用于通讯的殊寄存器
1)控制字寄存器SM130: port1口的通讯模式协议通过SMB130设置,
SMB130各位的含义如下图所示。
本系统中设置SMB130为00001001即自由口协议,波特率为9600,数据长度8位,无校验。
图1 寄存器SM130
2)通讯接收字符缓冲器SMB2:SMB2是一个暂态寄存器,用于存放在自由通讯方式下接收到的当前字符,在下一步应从这里取走其中内容,通过编程控制将接收到的字符一个一个由SMB2移入接收缓存区。
3)通讯校验结果标志位SM3.0:PLC按SM130规定的奇偶校验方式对所接收到的数据作校验。
如果校验有错,PLC自动将SM3.0置1,SM3.0表示奇偶校验正确。
根据这个标志,决定对当前信息的取舍,在出错的情况下,将此错误位发给条码,请求重发。
4)工作方式标志位SM0.7:S7-200系列PLC只有处于运行(RUN)方式时才能进行自由口模式通讯,而在停止(STOP)方式时只能已PPI模式通讯。
当PLC处于RUN方式是SM0.7=1,否则SM0.7=0,通过SM0.7的状态来确认自由口通讯的状态。
3.2 通讯中断方式实现接收数据
S7-200PLC的通讯port0口具有三个中断事件:接收字符8号中断,发送结束9号中断,接收信息23号中断。
在用户程序中可用ENI指令开放全局中断,用DISI指令禁止所有中断;在全局中断开放的前提下,单个中断可用ATCH、DTCH 指令独立的开放和禁止。
通讯port1口具有24,25,26号三个中断事件。
本系统中调用24号中断接收字符,程序如图2所示。
4 软件设计
1)SM0.1第一扫描周期接通,给port1口初始化。
SMB130:00001001即波特率为9600,自由口协议。
系统中SMB187=11110000。
3)SMB188=‘b’检测条码扫描枪的开始码为‘b’后开始记录数据。
条码枪设置开始识别符为“b”。
4)SMB189=‘e’检测条码扫描枪结束符为‘e’为信息字符的结束。
条码枪设置结束识别符为“e”。
5)SMB190为检测空闲时间5ms。
在空闲时间结束后接收的新的字符为新信息的开始。
图3 接口定义
6)SMB194为接收字符的最大数。
7)接收完成事件连接到中断。
8)允许用户中断。
9)端口1的接收信箱缓冲区指向VB200。
在中断程序中调用9)语句,执行中断时,即将条码输送到VB200开始的寄存器中。
在人机界面上定义一个字符形式输出域,域变量为VB200,20个字符显示。
那么每当扫描一次条码后人机界面上就可显示本次条码的值,方便、清晰。
本例中还可查询上一次录用的值。
指令如图4所示。
图4 指令
当Q0.1的下降延到达时把本次的条码由VB200寄存器区存储到VB300开始的寄存器区,在此之前把VB300寄存器区的内容已传给VB400寄存器区存储。
VB300为本次数据,而VB400为上一次数据。
简单的做了一个数据存储。
那么在人机界面上定义两个字符形式输出域,域变量分别为VB300和VB400,即可查阅到本次条码和上次条码。
同理还做多一些数据的存储。
5 结论
本文介绍了利用SIEMENS S7-226 PLC集成的自由通讯接口与条码扫描枪通讯的实例,阐述了自由接口通讯的相关知识。
系统在奇瑞汽车厂缸盖装配线上运行多年,PLC与条码扫描枪间通讯安全可靠。
整个系统成本低廉,体现了小型可编的优越性,为低成本实现通讯提供了一种解决方法。