西门子模块6ES7516-3UN00-0AB0性能参数
1 引言
PLC因为稳定可靠、结构紧凑、简单易学、功能强大和使用方便已经成为应用面、泛的通用工业控制装置,成为现代工业自动化控制的主要支柱之一[1]。而单片机因为成本低廉,使用灵活,功能多样,在自动化领域应用及其广泛,往往在一个控制系统中可能会出现单片机和PLC共存的情况,如果使二者互相联系,互相通信,具有非常重要的现实意义。
2 硬件以及通讯原理分析
西门子S7-200系列PLC拥有RS-485串行口,所以要使MCS51单片机与S7-PLC进行通讯,可以采用几种通讯方式。其中之一就是可以通过MCS-51的串行口与MAX485芯片相接,然后与S7-200 PLC的RS-485口进行通讯,其硬件连接如图1所示。
S7-200 PLC是串行通讯方式为丰富的小型PLC,支持多种通信协议,如点对点接口协议(PPI协议)、多点接口协议(MPI协议)和PROFIBUS协议以及自由通信协议等。其中自由通信协议又叫用户定义协议,利用自由端口模式,可以实现用户定义的通信协议,连接多种智能设备,使用起来非常方便,在第三方工程接入中取得了巨大的成功。
在自由端口模式下,PLC的串行通信接口由用户来控制,通过梯形图程序以及和单片机的汇编语言进行配合,来使用完成中断、字符接收中断、发送完成中断等,通信协议由用户控制。这时单片机处于主机状态,由单片机主动发送握手信号,PLC接到信号后被动反馈信息即可。
图1 MCS-51单片机与S7-200的硬件接线图
3 通信系统设计
3.1 通信协议设计
定义根据经验和有关参考资料,定义协议结构和参数。
(1)通信波特率为9.6kbps,无校验,8个数据位,1个可编程位,1位起始位,1位停止位。
(2)定义通信协议的数据流结构的格式为起始码、命令码、元件首址、字节数、数据块、BCC校验码和结束码。
● 起始码:表示单片机与PLC开始发送数据,是数据流个字符,告诉PLC开始进行通信了,可以用00H表示
● 命令码:表示单片机对PLC的各种操作:
40H:读取目标元件 I、Q、V、M、SM、L、T、C等的数据或状态;
41H:修改目标元件 I、Q、V、M、SM、L、T、C等的数据或状态;
42H:强制目标单元为ON;
43H:强制目标单元为OFF;
● 元件首址:表示PLC内部的元件类型以及寄存器的地址(但不能表示一个位地址)。前两个字节表示寄存器类型,后两个字节表示寄存器号。00 00(H):I寄存器区 01 00(H):Q寄存器区。02 00(H):M寄存器区 08 00(H):V寄存器区;
● 字节数:从元件首地址起,读取或写入PLC元件的数据个数数据块:准备读取或者写入PLC的数据或状态;
● BCC校验码:在传输过程中,指令有可能受到任何的干扰而使原来的数据信号发生扭曲,此时的指令当然是错误的,为了侦测指令在传输过程中发生的错误,接收方必须对指令作进一步的确认工作,以防止错误的指令被执行,的方法就是使用校验码。BCC校验码的方法就是将要传送的字符串的ASCII码以字节为单位作异或和,并将此异或和作为指令的一部分传送出去;同样地,接收方在接到指令后,以相同的方式对接收到的字符串作异或和,并与传送方所送过来的值作对比,若其值相等,则代表接收到的指令是正确的,反之则是错误的
● 结束码:结束字符标志着指令的结束,在本例中被定义为FFH,不同的PLC从站可以定义不同的结束字符以接收针对该PLC的指令。
3.2 通信程序的实现
(1)单片机端程序的实现。单片机在主程序中初始化,采用串行口工作方式3[2],波特率为9.6kbps,采用单片机作为主机,向PLC进行呼叫,定期读取数据或者写入数据,其程序流程图参见图2。
图2 单片机端通讯程序流程图
(2)PLC端程序流程图的实现。PLC端作为从机,采用梯形图或者STL编程,主要是先设置通讯协议,然后按照协议把采集到的数据进行处理,再发送给主机单片机,其具体的程序流程图如图3所示。
图3 PLC端通讯程序流程图
4 结束语
本文利用单片机与PLC的串行通信方法,成功的应用于多个项目中,实际表明该方法简单可靠,成本低,而且易于扩充经济实用的其它功能,如A/D、D/A等功能,取得了较好的社会效益和经济效益
CPU设计
模式选择器有:MRES=模块复位功能;STOP=停止模式,程序不执行;RUN=程序执行,编程器只读操作;RUN-P=程序执行,编程器可读写操作。
状态指示器:SF,BATF=电池故障;DC5V=内部5 V DC电压指示;FRCE=表示至少有一个输入或输出被强制;RUN=当CPU启动时闪烁,在运行模式下常亮;STOP=在停止模式下常亮,有存储器复位请求时慢速闪烁,正在执行复位时快速闪烁。
MPI接口用来连接到编程设备或其他设备,DP接口用来直接连接到分布式I/O。
S7-400
同300的区别主要是规模和性能上更强大,启动类型有冷启动(CRST)和热启动(WRST)之分,其他基本一样。哦,它还有一个外部的电池电源接口,当在线更换电池时可以向RAM提供后备电源。
编程设备
编程设备主要有PG720 PG740 PG760——可以理解成装有编程软件的手提电脑;也可以直接用安装有STEP7(SIEMENS的编程软件)的PC来完成。而实现通讯(要编程首先要和PLC的CPU通讯上)的要求主要在于接口:1.可以在PC上装CP5611卡——上面有MPI口,可用电缆直接连接。2.加个PC适配器,把MPI口转换成RS-232口后接到PC上。3.PLC加CP343卡,使它具有以太网口。
一个工程的建立
项目管理
每个自动化过程都是由许多较小的部分和子过程组成,所以工程建立的个任务是分解子任务。而每个子任务定义了自动化系统要完成的硬件和软件要求。其中硬件包括输入/输出数目和类型,对应模块序号和类型,所用机架号,CPU型号和容量,HMI(人机界面)系统,网络系统。软件方面主要是程序结构,自动化过程中的数据管理,组态数据、通讯数据及程序和项目文档。在SIEMENS的S7中,上述工作都在项目管理(SIMATIC 管理器),包括必须的硬件(+组态),网络(+组态),所有程序和自动化解决方案的数据管理。 F1在线帮助。
SIMATIC管理器管理STEP 7项目,编写 STEP 7用户程序的工具,有梯形图LAD,语句表STL,和功能块图FBD,编程语言。利用编程器或外部编程器可以把用户程序保存到EPROM卡上。
SIMATIC管理器是一个在线/离线编辑S7对象的图形化用户界面,这些对象包括项目、用户程序、快、硬件站和工具。此管理器的用户界面中工具条和bbbbbbS差不多,就是多了几个PLC菜单——显示访问节点、存储器卡、下载、仿真模块。
注::由于目前主流系统是S7-300,所以下面的操作基本以S7-300为主,而实际过程由于配置的不同可能会有所不同。
STEP 7项目结构:项目中,数据以对象形式存储,按树型结构组织。
级:包含项目图表,每个项目代表和项目存储有关的一个数据结构。
第二级:站(如S7-300)用于存放硬件组态和模块参数等信息,站是组态硬件的起点。
S7程序文件夹是编写程序的起点,所有S7系列的软件均放在S7程序文件夹下,它包含程序块文件和源文件夹。
SIMATIC的网络图表(MPI、PROFIBUS、工业以太网)
第三级和其他级:和上级对象类型有关。
编程器可离线/在线查看项目——OFFLINE:编程器硬盘上的内容;ONLINE:通过网线从PLC读到的内容。
菜单选项: 在OPTIONS-CUSTOMIZE 设置语言、助记符、常用特性(存储位置、系统信息显示)。
创建一个项目:FILE NEW NEW PROJECT
插入 S7程序块:INSERT PROGRAM S7 PROGRAM
插入 S7 块: INSERT S7 BLOCK 然后可选:1:组织块(OB)被操作系统调用,他们是操作系统和用户程序的接口。 2:功能FC和功能块FB是实际的用户程序利用他们可以 把复杂的程序分解成小的,易于调试的单元。3:数据块存储用户的数据。选择所需块类型后,会打开一个属性对话框,其中可输入块序号和要使用的编程语言,及其他设置。
补充一下:
1、内存总清——MRES=MEMORY RESET,经过MRES的模块相当于一个新模块,所以请务必谨慎。方法是:放在MRES足够时间,到STOP指示灯闪2下;弹回到STOP再迅速放到MRES,此时STOP快速闪6下——内存清空,将删除所有用户程序数据,硬件测试和初始化,如果此时装有EPROM卡,把卡内容COPY到内部RAM区。
2、SIEMENS的信号模块(SM)结构设计,接线非常方便,更换摸板无需接线(可拔下来)。固定方式有弹簧和螺钉连接两种。
3、对于软件的授权:在光盘安装后以后,一定要用软盘(权盘)授权,对于重装系统或软件的,一定要先"收回“权到软盘以后,才进行,以便重装以后再次授权,否则只能联系西门子了。
硬件组态和存储器概念
节 PLC概念
1、PLC的基本概念
可编程控制器(Programmable Controller)是计算机家族中的一员,是为工业控制应用而设计制造的。早期的可编程控制器称作可编程逻辑控制器(Programmable Logic Controller),简称PLC,它主要用来代替继电器实现逻辑控制。随着技术的发展,这种装置的功能已经大大超过了逻辑控制的范围,因此,这种装置称作可编程控制器,简称PC。但是为了避免与个人计算机(Personal Computer)的简称混淆,所以将可编程控制器简称PLC
2、PLC的基本结构
PLC实质是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相同,如图所示:
a. 中央处理单元(CPU)
中央处理单元(CPU)是PLC的控制中枢。它按照PLC系统程序赋予的功能接收并存储从编程器键入的用户程序和数据;检查电源、存储器、I/O以及警戒定时器的状态,并能诊断用户程序中的语法错误。当PLC投入运行时,首先它以扫描的方式接收现场各输入装置的状态和数据,并分别存入I/O映象区,然后从用户程序存储器中逐条读取用户程序,经过命令解释后按指令的规定执行逻辑或算数运算的结果送入I/O映象区或数据寄存器内。等所有的用户程序执行完毕之后,后将I/O映象区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行,直到停止运行。
为了进一步提高PLC的可*性,近年来对大型PLC还采用双CPU构成冗余系统,或采用三CPU的表决式系统。这样,即使某个CPU出现故障,整个系统仍能正常运行。
b、存储器
存放系统软件的存储器称为系统程序存储器。
存放应用软件的存储器称为用户程序存储器。
C、电源
PLC的电源在整个系统中起着十分重要得作用。如果没有一个良好的、可*得电源系统是无法正常工作的,因此PLC的制造商对电源的设计和制造也十分重视。一般交流电压波动在+10%(+15%)范围内,可以不采取其它措施而将PLC直接连接到交流电网上去。
3、PLC的工作原理
一. 扫描技术
当PLC投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期间,PLC的CPU以一定的扫描速度重复执行上述三个阶段。
(一) 输入采样阶段
在输入采样阶段,PLC以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应得单元内。输入采样结束后,转入用户程序执行和输出刷新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。
(二) 用户程序执行阶段
在用户程序执行阶段,PLC总是按由上而下的顺序依次地扫描用户程序(梯形图)。在扫描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的控制线路,并按先左后右、先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后根据逻辑运算的结果,刷新该逻辑线圈在系统RAM存储区中对应位的状态;或者刷新该输出线圈在I/O映象区中对应位的状态;或者确定是否要执行该梯形图所规定的特殊功能指令。即,在用户程序执行过程中,只有输入点在I/O映象区内的状态和数据不会发生变化,而其他输出点和软设备在I/O映象区或系统RAM存储区内的状态和数据都有可能发生变化,而且排在上面的梯形图,其程序执行结果会对排在下面的凡是用到这些线圈或数据的梯形图起作用;相反,排在下面的梯形图,其被刷新的逻辑线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用。
(三) 输出刷新阶段
当扫描用户程序结束后,PLC就进入输出刷新阶段。在此期间,CPU按照I/O映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外设。这时,才是PLC的真正输出。
比较下二个程序的异同:
程序1:
程序2:
这两段程序执行的结果一样,但在PLC中执行的过程却不一样。
※ 程序1只用一次扫描周期,就可完成对%M4的刷新;
※ 程序2要用四次扫描周期,才能完成对%M4的刷新。
这两个例子说明:同样的若干条梯形图,其排列次序不同,执行的结果也不同。另外,也可以看到:采用扫描用户程序的运行结果与继电器控制装置的硬逻辑并行运行的结果有所区别。当然,如果扫描周期所占用的时间对整个运行来说可以忽略,那么二者之间就没有什么区别了。
一般来说,PLC的扫描周期包括自诊断、通讯等,如下图所示,即一个扫描周期等于自诊断、通讯、输入采样、用户程序执行、输出刷新等所有时间的总和。
二. PLC的I/O响应时间
为了增强PLC的抗干扰能力,提高其可*性,PLC的每个开关量输入端都采用光电隔离等技术。
为了能实现继电器控制线路的硬逻辑并行控制,PLC采用了不同于一般微型计算机的运行方式(扫描技术)。
以上两个主要原因,使得PLC得I/O响应比一般微型计算机构成的工业控制系统满的多,其响应时间至少等于一个扫描周期,一般均大于一个扫描周期甚至更长。
所谓I/O响应时间指从PLC的某一输入信号变化开始到系统有关输出端信号的改变所需的时间。其短的I/O响应时间与长的I/O响应时间如图所示:
第(n-1)个
扫描周期
短I/O响应时间:
长I/O响应时间
SIEMENS PLC在中国的产品,根据规模和性能的大小,主要有 S7-200 S7-300 和S7-400三种,下面就简单介绍一下该三种产品的一些特性。
S7-200
针对低性能要求的摸块化小控制系统,它多可有7个模块的扩展能力,在模块中集成背板总线,它的网络联接有RS-485通讯接口和PROFIBUS两种,可通过编程器PG访问所有模块,带有电源、CPU和I/O的一体化单元设备。
其中的扩展模块(EM)有以下几种:数字量输入模块(DI)——24VDC 和 120/230VAC;数字量输出(DO)——24VDC 和 继电器;模拟量输入模块(AI)——电压、电流、电阻和热电偶;模拟量输出模块——电压和电流。 还有一个比较特殊的模块-通讯处理器(CP)——该块的功能是可以把S7-200作为主站连接到AS-接口(传感器和执行器接口),通过AS-接口的从站可以控制多达248个设备,这样就可以显著的扩展S7-200的输入和输出点数。
CPU设计
有3种手动选择操作模式:STOP——停机模式,不执行程序;TERM——运行程序,可以通过编程器进行读/写访问;RUN——运行程序,通过编程器仅能进行读操作。
状态指示器(LED):SF——系统错误或(和)CPU内部错误;RUN——运行模式,绿灯;STOP——停机模式,黄灯;DP——分布式I/O(仅对CPU-215)。
存储器卡——用来在没电的情况下不需要电池就可以保存用户程序。PPI口用来连接编程设备、文本显示器或其他CPU。
S7-300
相比较S7-200,S7-300针对的是中小系统,他的模块可以扩展多达32个模块,背板总线也在模块内集成,它的网络连接已比较成熟和流行,有MPI(多点接口)、PROFIBUS和工业以太网,使通讯和编程变的简单和多选性,并可以借助于HWConfig工具可以进行组态和设置参数。
S7-300的模块稍微多一点,除了信号模块(SM)和200的EM模块同类型之外,它还有接口模块(IM)——用来进行多层组态,把总线从一层传到另一层;占位模块(DM)——为没有设置参数的信号模块保留一个插槽或为以后安装的接口模块保留一个插槽;功能模块(FM)——执行特殊功能,如计数、定位、闭环控制相当于对CPU功能的一个扩展或补充;通讯处理器(CP)——提供点对点连接、PROFIBUS和工业以太网。