详细介绍:
西门子S7-1200PLC应用——高速脉冲输出完成打印
两个智能设备之间的通讯,可以通过很多途径实现。发送方将数据调制在某个信号上传送,接收方能从信号中解调出原始数据,就能实现数据通讯。
SIEMENS S7-1200 PLC可通过配置标准的通讯口,用来与其它智能设备进行通讯。通讯口功能非常全,但数量有限,对于一些简单的通讯,比如单纯的显示、打印等,用此通讯口显得大材小用。而且占用也会随之带来通讯口不够用。本文探讨不用标准通讯口,而采用DO输出进行通讯的方法并给出一个实例。
研究通讯的原理可知,通讯大致分为并行和串行两大类,本文使用串行通讯。一般的串行通讯,利用信号的两种状态,按预定的规则,把要传送的数据,调制在两种状态的变化序列中。其中关键的参数有,空闲状态、起始、位速率、位长、停止状态等。
按上面的叙述,研究S7-1200 PLC发现,其高速脉冲串输出(Pulse Train Output,PTO)功能,非常适合做DO通讯,既可以满足速度要求,也可以做到定时准确。
一、PTO简介
西门子S7-1200的PTO总是产生一个可变频率的方波。通过PTO向导配置功能,可以实现脉冲输出控制多种配置框架。详细的功能描述,请参考《S7-1200可编程控制器系统手册》脉冲指令介绍部份。
每个S7-1200CPU有二个PTO产生高速脉冲波形,一个PTO分配在Q0.0,另一个PTO分配在Q0.2。PTO提供指定脉冲个数的方波(50%占空比),周期(CycleTime)可以用微秒(us)或毫秒(ms)为单位指定,周期的范围是50~65,535us,或2~65,535ms,脉冲数的范围是1~4,294,967,295。
PTO功能允许脉冲串的排队,当激活的脉冲串完成时,立即开始新脉冲的输出,这保证了顺序输出脉冲串的连续性。PTO能自动读取在DB块中存放的脉冲描述数据,在连续多个脉冲输出时,能减少PLC6ES7 214-1BG40-0XB0程序的负担。
PTO脉冲串的多段管线:在多段管线模式,CPU自动从V存储器区的包络表中读出每个脉冲串的特性。在该模式下,仅使用特殊存储器区的控制字节和状态字节。选择多段操作,必须装入包络表在V存储器中的起始地址偏移量(SMW168或SMW178)。时间基准可以选择微秒或者毫秒,但是,在包络表中的所有周期值必须使用同一个时间基准,而且在包络正在运行时不能改变。执行PLS指令来启动多段操作。
每段记录的长度为8个字节,由16位周期值、16位周期增量值和32位脉冲个数值组成。
二、通讯格式
明白多段PTO功能后,接下来叙述一个byte的传送方式,如图2所示。CPU 1214C
思路:未传数据前,先经历一个空闲间隔时间,此时间比任何一个数据脉冲都要长,以便能明显地区别开来;空闲间隔之后是起始脉冲,用来同步和时间校准用;起始脉冲过后,就是数据脉冲了,定义比起始脉冲宽者为二进制1,比起始脉冲窄者为0;传完8位二制位后结束,进入空闲状态。
事例:在DB块中建立表格数据,表2,以完成上述脉冲的输出。6ES7 214-1BG40-0XB0
按表2包络表的数据流程如下,PTO第1段发送周期为32ms间隔脉冲,然后第2段发送周期为2ms起始脉冲,接着发送周期为1ms(Byte数据位为0时)或 3ms(Byte数据位为1时)数据脉冲,连续8组数据脉冲,总共10段脉冲数据,完成一个字节的发送。
表2在第一个SCAN时建立,并置PTO为脉冲串输出,指向表2。需传数据时,将字节值按位拆解,在Bit0~Bit7的位置填入1000(0)或3000(1),然后发PLS指令,开始脉冲输出。输出完成状态可以从SM66.7(PTO0)或SM76.7(PTO1)监视。
三、PTO实现打印
下面介绍如何利用PTO通讯实现S7-1200的打印输出。打印机的种类很多,本文用的是微型针式打印机,26芯并行接口(8位打印并行接口兼容),IDC 26线插座,TTL信号电平,接口定义如表3。
所以,控制打印机,至少得用10根控制线,TTL电平。
本文选用一片单芯片微控制器(MCU,ATMEL AVR ATtiny15L),接收PLC6ES7 214-1BG40-0XB0送来的PTO数据脉冲,解调出其中的原始数据,再驱动打印机,将数据(字符)打印出来。原理如图3。
PTO脉冲输出经光耦合器隔离后,送入MCU中。PLC6ES7 214-1BG40-0XB0和MCU间没有电气连接,没有相互间干扰和共地的问题。又由于连线少,信号强(24V脉冲),可以长距离传送。
MCU接收PTO脉冲后,按约定的时序,解调出原始数据,经串/并转换电路,变为打印接口所需的8位并行输出。MCU检测Busy信号,当为低电平时,在-STB上发一个低脉冲,将并行数据送入打印机。
根据本文所介绍的方法,已成功制作硬件电路,实现了S7-1200 PLC 6ES7 214-1BG40-0XB0通过PTO进行打印的功能。 PTO通讯为单向和慢速的通讯,且要求PLC为晶体管输出类型,只能用在特定的应用场合,如打印输出、LED数码显示等。该方法占用PLC6ES7 214-1BG40-0XB0资源少,有利于降低系统成本,则是其优点。
|