S7-1200_PLC的程序设计基础.ppt_第1页
S7-1200_PLC的程序设计基础.ppt_第2页
S7-1200_PLC的程序设计基础.ppt_第3页
S7-1200_PLC的程序设计基础.ppt_第4页
S7-1200_PLC的程序设计基础.ppt_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 2 章 S7-1200 PLC的程序设计基础,2.1 S7-1200的编程语言国际标准,IEC(国际电工委员会)是为电子技术的所有领域制定全球标准的国际组织。 IEC 61131是PLC的国际标准,其中第三部分IEC 61131-3是PLC的编程语言标准。 IEC 61131-3是世界上第一个,也是至今唯一的工业控制系统的编程语言标准,已经成为DCS、IPC、FCS、SCADA和运动控制系统事实上的软件标准。 IEC 61131-3的5种编程语言:指令表(Instruction List)、结构文本(Structured Text, ST)、梯形图(Ladder Diagram, LD)、功能块图(Function Block Diagram, FBD)、顺序功能图(Sequential Function Chart, SFC)。,2.1 S7-1200的编程语言梯形图和功能块图,梯形图(LAD)是使用得最多的PLC图形编程语言,由触点、线圈和用方框表示的指令框组成。 触点和线圈组成的电路称为程序段(network,网络),Step 7 Basic自动为程序段编号。 功能块图(FBD)使用类似于数字电路的图形逻辑来表示控制逻辑。,2.2 系统存储区与数据类型物理存储器,PLC使用的物理存储器类型: RAM, ROM, Flash EPROM(简称为FEPROM),装载存储器:非易失性的存储区,用于保存用户程序、数据和组态信息。所有的CPU都有内部的装载存储器,CPU插入存储卡后,用存储卡做装载存储器。类似于计算机的硬盘,具有断电保持功能。 工作存储器:集成在CPU中的高速存取的RAM。类似于计算机的内存,断电时内容丢失。 断电保持存储器:用来防止在电源关闭时丢失数据,可以用不同方法设置变量的断电保持功能。 存储卡:可选的存储卡用来存储用户程序,或用于传送程序。,2.2 系统存储区与数据类型基本数据类型,2.2 系统存储区与数据类型字节,字节.位寻址,“字节. 位”寻址方式 :如I3.2,首位字母表示存储器标识符,I表示输入过程映像区,8位二进制数组成1个字节(Byte):,以起始字节的地址作为字和双字的地址。 起始字节为最高位的字节。,2.2 系统存储区与数据类型字,双字寻址,MW100,MD100,32位的浮点数又称为实数(Real)。浮点数的优点是用很小的存储空间(4B)表示非常大和非常小的数。 PLC输入和输出的数值大多是整数,例如模拟量输入和输出值,用浮点数来处理这些数据需要进行整数和浮点数之间的转换,浮点数的运输速度不及整数的运算速度慢一些。 在编程软件中,用十进制小数来表示浮点数,例如50是整数,50.0为浮点数。,2.2 系统存储区与数据类型浮点数,2.2 系统存储区与数据类型系统存储区,2.3 位逻辑指令,常开触点、常闭触点、取反触点,输出线圈、取反输出线圈,复位、置位,区域置位、区域复位,复位优先锁存器、置位优先锁存器,上升沿检测触点、下降沿检测触点,上升沿检测线圈、下降沿检测线圈,上升沿触发器、下降沿触发器,2.3 位逻辑指令置位复位指令,最主要的特点是有记忆和保持功能。,2.3 位逻辑指令多点置位复位指令,多点置位指令将指定的地址开始的连续若干个地址置位(变为1状态并保持)。 多点复位指令将指定的地址开始的连续若干个地址复位(变为0状态并保持)。,2.3 位逻辑指令复位优先、置位优先锁存器,复位优先锁存器、置位优先锁存器:,输出线圈可选,2.3 位逻辑指令边缘检测触点指令,如果输入信号I0.6由0变为1状态(即输入信号I0.6的上升沿),则该触点接通一个扫描周期。 触点下面的M4.3为边缘存储位,用来存储上一个扫描循环是I0.6的状态,通过比较输入信号的当前状态和上一次循环的状态来检测信号的边沿。边沿存储位的地址只能在程序中使用一次,它的状态不能在其他地方被改写。只能使用M、全局DB和静态局部变量来作边沿存储位,不能使用临时局部数据或I/O变量来作边沿存储位。,2.3 位逻辑指令边缘检测线圈指令,边缘检测线圈指令:,上升沿检测线圈仅在流进该线圈的能流的上升沿,输出位M6.1为1状态,M6.2为边沿存储位。 在I0.7的上升沿,M6.1的常开触点闭合一个扫描周期,使M6.6置位,在I0.7的下降沿,M6.3的常开触点闭合一个扫描周期,使M6.6复位。,2.3 位逻辑指令P_TRIG与N_TRIG指令,在流进P_TRIG指令的CLK输入端的能流的上升沿,Q端输出一个扫描周期的能流,使M8.1置位,方框下面的M8.0是脉冲存储器位。 P_TRIG指令与N_TRIG指令不能放在电路的开始处和结束处。,2.3 位逻辑指令3种边沿检测指令的功能,以上升沿检测为例: 在P触点指令中,触点上面的地址的上升沿,该触点接通一个扫描周期,因此P触点用于检测触点上面地址的上升沿,并且直接输出上升沿脉冲。 在P线圈的能流的上升沿,线圈上面的地址在一个扫描周期为1状态,因此P线圈用于检测能流的上升沿,并用线圈上面的地址来输出上升沿脉冲。 P_TRIG指令用于检测能流的上升沿,并且直接输出上升沿脉冲。 如果P_TRIG指令左边只有I1.0触点,可以用I1.0的P触点来代替P_TRIG指令。,2.3 位逻辑指令故障信息显示电路举例 1/2,设计故障信息显示电路,从故障信号I0.0的上升沿开始,Q0.7控制的指示灯以1Hz的频率闪烁。操作人员按复位按钮I0.1后,如果故障已经消失,则指示灯灭,如果没有消失,则指示灯转为常亮,直至故障消失。,2.3 位逻辑指令故障信息显示电路举例 2/2,2.4 定时器指令定时器的基本功能 1/2,使用定时器指令可创建编程的时间延迟,S7-1200 PLC有4种定时器: TP: 脉冲定时器可生成具有预设宽度时间的脉冲。 TON:接通延迟定时器输出Q在预设的延时过后设置为 ON。 TOF:关断延迟定时器输出 Q 在预设的延时过后重置为 OFF。 TONR:保持型接通延迟定时器输出在预设的延时过后设置为ON。在使用 R 输入重置经过的时间之前,会跨越多个定时时段一直累加经过的时间。 RT:通过清除存储在指定定时器背景数据块中的时间数据来重置定时器。 每个定时器都使用一个存储在数据块中的结构来保存定时器数据。 在编辑器中放置定时器指令时可分配该数据块。,2.4 定时器指令定时器的基本功能 2/2,2.4 定时器指令定时器的输入输出参数 1/4,TP、TON 和 TOF 定时器具有相同的输入和输出参数。,TONR 定时器具有附加的复位输入参数 R。 可创建自己的“定时器名称”来命名定时器数据块,还可以描述该定时器在过程中的用途。,RT 指令可重置指定定时器的定时器数据。,2.4 定时器指令定时器的输入输出参数 2/4,参数 IN从0变为1将启动TP、TON 和 TONR,从1变0 将启动 TOF。 ET 为定时开始后经过的时间,或称为已耗时间值(可以不为ET指定地址),它们的数值类型为32位的Time,单位为ms,最大定时时间为T#24D_20H_31M_23S_647MS。,2.4 定时器指令定时器的输入输出参数 3/4,IEC定时器和IEC计数器属于功能块,调用时需要指定配套的背景数据块,定时器和计数器指令的数据保存在背景数据块中。 在梯形图中输入定时器指令时,打开右边的指令窗口将“定时器操作”文件夹中的定时器指令拖放到梯形图中适当的位置,在出现的“调用选项”对话框中修改将要生成的背景数据块的名称,或采用默认的名称。点击“确定”按钮,自动生成数据块。,2.4 定时器指令定时器的输入输出参数 4/4,2.4 定时器指令脉冲定时器TP时序图,2.4 定时器指令接通延时定时器TON时序图,2.4 定时器指令断开延时定时器TOF时序图,2.4 定时器指令保持型接通延时定时器TONR时序图,2.4 定时器指令举例 1/6,用接通延时定时器设计周期和占空比可调的振荡电路。,M2.7只接通一个扫描周期,振荡电路实际上是一个有正反馈的电路,两个定时器的输出Q分别控制对方的输入IN,形成了正反馈。 振荡电路的高、低电平时间分别由两个定时器的PT值确定。,2.4 定时器指令举例 2/6,2.4 定时器指令举例 3/6,用3种定时器设计卫生间冲水控制电路。,2.4 定时器指令举例 4/6,2.4 定时器指令举例 5/6,两条运输带顺序相连,为避免运送的物料在1号运输带上堆积,按下起动按钮I0.3,1号带开始运行,8s后2号带自动起动。停机的顺序与起动的顺序相反,按了停止按钮I0.2后,先停2号带,8s后停1号带。Q1.1和Q0.6控制两台电动机M1和M2。,2.4 定时器指令举例 6/6,2.5 计数器指令计数器的数据类型,S7-1200有3种计数器:加计数器(CTU)、减计数器(CTD)和加减计数器(CTUD)。它们属于软件计数器,其最大计数速率受到它所在的OB的执行速率的限制。 如果需要速率更高的计数器,可以使用CPU内置的高速计数器。 调用计数器指令时,需要生成保存计数器数据的背景数据块。 CU和CD分别是加计数输入和减计数输入,在CU或CD由0变为1是,实际计数值CV加1或减1。 复位输入R为1时,计数器被复位,CV被清0,计数器的输入Q变为0。,2.5 计数器指令计数器的输入输出 参数,2.5 计数器指令加计数器,CTU: 参数 CU 的值从 0 变为 1 时,CTU 使计数值加 1。如果参数 CV(当前计数值)的值大于或等于参数 PV (预设计数值)的值,则计数器输出参数 Q = 1。如果复位参数 R 的值从 0 变为 1,则当前计数值复位为 0。,PV = 3,2.5 计数器指令减计数器,CTD: 参数 CD 的值从 0 变为 1 时,CTD 使计数值减 1。如果参数 CV (当前计数值)的值等于或小于 0,则计数器输出参数 Q = 1。如果参数 LOAD 的值从 0 变为 1,则参数PV (预设值)的值将作为新的 CV (当前计数值)装载到计数器。,PV = 3,2.5 计数器指令加减计数器 1/2,CTUD: 加计数 (CU, Count Up) 或减计数 (CD, Count Down) 输入的值从 0 跳变为 1时,CTUD 会使计数值加 1 或减 1。 如果参数 CV(当前计数值)的值大于或等于参数PV(预设值)的值,则计数器输出参数 QU = 1。如果参数 CV 的值小于或等于零,则计数器输出参数 QD = 1。 如果参数 LOAD 的值从 0 变为 1,则参数 PV(预设值)的值将 作为新的 CV(当前计数值)装载到计数器。 如果复位参数 R 的值从 0 变为 1,则当前计数值复位为 0。,2.5 计数器指令加减计数器 2/2,PV = 4,2.6 用STEP 7 Basic生成用户程序程序编辑器,2.6 用STEP 7 Basic生成用户程序电机启动主电路,2.6 用STEP 7 Basic生成用户程序电机启动控制电路,2.6 用STEP 7 Basic生成用户程序电机启动控制程序,2.6 用STEP 7 Basic生成用户程序生成用户程序,打开主程序OB1,生成如下用户程序:,2.6 用STEP 7 Basic生成用户程序工具栏上的按钮,在选中的程序段下面插入一个新的程序段,删除选中的程序段,打开、关闭所有的程序段,设置变量的显示方式:显示绝对地址、符号地址或同时显示,关闭或打开程序段的注释,显示或隐藏收藏夹,跳转到前一个或下一个语法错误,更新不一致的块调用,打开或关闭程序状态监视,2.6 用STEP 7 Basic生成用户程序设置程序编辑器参数1/2,“选项”“设置”:,2.6 用STEP 7 Basic生成用户程序设置程序编辑器参数2/2,操作数与其他对象(例如触点)之间的垂直间距,操作数水平方向和垂直方向可以输入的最大字符数,2.6 用STEP 7 Basic生成用户程序生成和修改变量 1/2,2.6 用STEP 7 Basic生成用户程序生成和修改变量 2/2,2.6 用STEP 7 Basic生成用户程序快速生成变量,2.6 用STEP 7 Basic生成用户程序设置变量的断电保护功能,设置后有保持功能的M区的变量的“保持性”列的多选框中出现,2.6 用STEP 7 Basic生成用户程序全局变量和局部变量,PLC变量表中的变量可用于整个PLC中所有的代码块,在所有的代码中具有相同的意义和唯一的名称,可以在变量表中,为输入I、输出Q和位存储器M的位、字节、字和双字定义全局变量。 在程序中,全局变量被自动添加双引号,例如“起动”。 局部变量只能在它被定义的块中使用,同一个变量的名称可以在不同的块中分别使用一次。可以在块的界面区定义块的输入/输出参数(Input, Output, Inout)和临时数据(Temp),以及定义FB的静态变量(Static)。 在程序中,局部变量被自动添加#号,例如#起动。,2.6 用STEP 7 Basic生成用户程序使用详细窗口,打开项目树下面的详细窗口,选中项目树中的“PLC变量”,详细窗口显示出变量表中的符号。 可以将详细窗口中的符号地址或代码块界面区种定义的局部变量,拖放到程序中需要设置地址的处。 拖放到已设置的地址上时,原来的地址被替换。,2.7 下载用户程序,通过CPU与运行STEP 7 Basic的计算机的以太网通信,可以执行项目的下载、上传、监控和故障诊断等任务。 一对一的通信不需要交换机,两台以上的设备通信则需要交换机。CPU可以使用直通的或交叉的以太网电缆进线通信。,2.7 下载用户程序设置计算机网卡的IP地址,计算机也CPU的子网地址一般采用默认的192.168.0.2,第4个字节是子网内设备的地址。 子网掩码一般采用默认的255.255.255.0。,2.7 下载用户程序组态CPU的PROFINET接口,设置的地址在下载后才起作用。,2.7 下载用户程序下载项目到新出厂的CPU 1/4,选择计算机中使用的网卡,选中该选项,计算机与CPU无连接,CPU在线,网络中的CPU 原IP,CPU上的LED会闪烁,2.7 下载用户程序下载项目到新出厂的CPU 2/4,组态的 新IP,2.7 下载用户程序下载项目到新出厂的CPU 3/4,2.7 下载用户程序下载项目到新出厂的CPU 4/4,新IP,2.7 下载用户程序利用快捷菜单下载 1/2,2.7 下载用户程序利用快捷菜单下载 2/2,2.7 下载用户程序上载程序块,将下面在线的“程序块”文件夹拖放到上面离线的“程序块”文件夹:,2.7 下载用户程序上传硬件配置,将CPU连接到编程设备,创建一个新的项目; 添加一个新设备,但要选择“非特定的CPU 1200”,而不是选择特定的CPU; 执行菜单命令“在线”“硬件检测”,打开“PLC-1的硬件检测”对话框。选中“目标子网中的可访问设备”列表中的PLC-1,点击“上载”,上传CPU和所有模块的组态信息。在设备视图中可以看到上传的模块,如果已经为CPU分配了IP,将会上传该IP地址,但是不会上传其他设备(例如模拟量I/O的属性)。必须在设备视图中手动组态CPU和各模块的配置。,2.8 调试程序,有两种调试用户程序的方法:程序状态监视与监视表。 程序状态可以监视程序的运行,显示程序中操作数的值和网络的逻辑运算结果,查找到用户程序的逻辑错误,还可以修改某些变量的值; 使用监视表可以监视、修改和强制用户程序或CPU内的各个变量,可以在不同的情况下向某些变量写入需要的数值来测试程序或硬件。例如为了检查接线,可以在CPU处于STOP模式时给物理输出点指定固定的值。,2.8 调试程序程序状态监视 1/2,与PLC建立好在线连接后,打开需要监视的代码块,点击工件栏上的 ,启动程序状态监视。 启动程序状态监控后,梯形图用绿色实线来表示状态满足,用蓝色虚线表示状态不满足,用灰色实现表示状态未知。,2.8 调试程序程序状态监视 2/2,用鼠标右键点击程序状态中的某个变量,执行出现的“修改”“修改为1”或“修改为0”。 不能修改连接外部硬件输入电路的I的值。,2.8 调试程序监视表,使用程序状态功能,可以在程序编辑器中形象直观地监视梯形图程序的执行情况,触点和线圈的情况一目了然。但是程序状态监控功能只能在屏幕上显示一小块程序,调试较大的程序时,往往不能同时看到与某一程序功能有关的全部变量的状态。 监视表(Watch Table)可以有效地解决上述问题。使用监视表可以在工作区同时监视、修改和强制用户感兴趣的全部变量。一个项目可以生产多个监视表,以满足不同的调试要求。 监视表可以赋值或显示的变量包括I、Q、I_:P、 I_:P、M和数据库DB内的存储单元。,2.8 调试程序监视表功能,监视变量:显示用户程序或CPU中变量的当前值; 修改变量:将固定值赋给用户程序或CPU中的变量,这一功能可能会影响到程序运行结果; 对物理输出赋值:允许在停机状态下将固定值赋给CPU的每一个物理输出点,可用于硬件调试时检查接线; 强制变量:给物理输入点/物理输出点赋一个固定值,用户程序的执行不会影响被强制的变量; 可以选择在扫描循环周期开始、结束或切换到STOP模式时读写变量的值;,2.8 调试程序用监视表监视变量,与CPU建立在线连接后,点击工具栏上的 按钮,启动“监视全部”功能,将在“监视值”列连续显示变量的动态实际值。 再次点击该按钮,将关闭监视功能。 点击工具栏上的 按钮,可以对所选变量的数值作一次立即更新,该功能主要用于STOP模式下的监视和修改。,2.8 调试程序用监视表修改变量 1/2,监视全部,立即一次性监视所有值,立即修改,使用触发器修改,2.8 调试程序用监视表修改变量 2/2,RUN模式修改变量时,各变量同时又受到用户程序的控制。 假设用户程序运行的结果使Q0.0的线圈断电,用监视表不可能将Q0.0修改和保持为1状态。在RUN模式不能改变I区分配给硬件的数字量输入点的状态,因为它们的状态取决于外部输入电路的通/断状态。,2.8 调试程序用监视表在STOP模式下改变物理输出的状态,在调试设备时,利用在STOP模式改变物理输出的状态,检查输出点连接的过程设备的接线是否正确。,如果有输入点或输出点被强制,则不能使用这一功能。为了在STOP模式下允许物理输出,应取消强制功能。,切换到扩展模式,启用外围设备输出,2.8 调试程序定义监视表的触发器,触发器用来设置在扫描循环的哪一点来监视或修改选中的变量,可以选择在扫描循环开始、扫描循环结束或从RUN模式切换到STOP模式时监视或修改某个变

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论