为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

S7-200 SMART PLC编程及应用电子课件(廖常初)

2022-03-06 30页 ppt 6MB 9阅读

用户头像 个人认证

松林大了

暂无简介

举报
S7-200 SMART PLC编程及应用电子课件(廖常初)说明 与编程软件有关的教学内容请在教学时以软件演示为主,可参考视频教程中的讲法。在教案中仅给出提示。课件中的图都是书中的,作者和出版社对这些图拥有版权,请不要用到正式出版物中。希望能得到各位老师使用教材的情况,例如学时数、讲课的内容和实验内容。衷心希望老师们对教材和课件提出宝贵的意见。作者E-mail:liaosun@cqu.edu.cn。 廖常初2014年9月22日注:原课件分章节,此处合并S7-200SMARTPLC编程及应用重庆大学廖常初主编第1章PLC的硬件与工作原理1.1S7-200SMART系列PLC1.1.1 P...
S7-200 SMART PLC编程及应用电子课件(廖常初)
说明 与编程软件有关的教学内容请在教学时以软件演示为主,可参考视频教程中的讲法。在中仅给出提示。课件中的图都是书中的,作者和出版社对这些图拥有版权,请不要用到正式出版物中。希望能得到各位老师使用教材的情况,例如学时数、讲课的内容和实验内容。衷心希望老师们对教材和课件提出宝贵的意见。作者E-mail:liaosun@cqu.edu.cn。 廖常初2014年9月22日注:原课件分章节,此处合并S7-200SMARTPLC编程及应用重庆大学廖常初主编第1章PLC的硬件与工作原理1.1S7-200SMART系列PLC1.1.1 PLC的基本结构1.CPU模块CPU模块主要由CPU芯片和存储器组成。2.I/O模块I/O模块是输入(Input)模块和输出(Output)模块的简称。输入模块用来采集输入信号,输出模块用来控制外部的负载和执行器。I/O模块还有电平转换与隔离的作用。3.编程软件STEP7-Micro/WINSMART用来生成和编辑用户程序,和监控PLC的运行。4.电源PLC使用AC220V电源或DC24V电源。小型PLC可以为输入电路和外部的电子传感器提供DC24V电源。1.1.2 S7-200SMART的特点1.S7-200SMART的亮点1)品种丰富,配置灵活,10种CPU模块,CPU模块最多60个I/O点,型CPU最多可以配置6个扩展模块,经济型CPU价格便宜。2)有4种可安装在CPU内的信号板,使配置更为灵活。3)CPU模块集成了以太网接口和RS-485接口,可扩展一块通信信号板。4)场效应管输出的CPU集成了100kHz的2路或3路高速脉冲输出,集成了S7-200的位置控制模块的功能。5)使用MicroSD(手机存储卡)可以实现程序的更新和PLC固件升级。6)编程软件界面友好,编程高效,融入了更多的人性化设计。7)S7-200SMART、SMARTLINE触摸屏、V20变频器和V80/V60伺服系统完美整合,无缝集成。2.先进的程序结构3.灵活方便的存储器结构,大多数存储区可以按位、字节、字和双字读写。4.简化复杂编程任务的向导功能5.强大的通信功能6.支持文本显示器和三种系列的触摸屏。7.强大的运动控制功能1.1.3 CPU模块1.CPU模块的技术规范标准型CPUSR20/SR30/SR40/SR60、CPUST20/ST30/ST40/ST60,可扩展6个扩展模块,SR和ST分别是继电器输出和晶体管输出。经济型的CPUCR40/CR60价格便宜,不能扩展。定时器/计数器各256点。4点输入中断,2个定时中断。CPUSR60/ST60的用户存储器30KB,用户数据区20KB,最大数字量I/O252点。标准型CPU最大模拟量I/O36点,4点200kHz的高速计数器,晶体管输出的CPU有2点或3点100kHz高速输出。2.CPU模块中的存储器PLC的程序分为操作系统和用户程序。RAM(随机存取存储器)的工作速度高、价格便宜、改写方便。断电后储存的信息丢失。ROM(只读存储器)只能读出,不能写入。断电后储存的信息不会丢失。EEPROM(可以电擦除可编程的只读存储器)的数据可以读出和改写,断电后信息不会丢失。写入数据的时间比RAM长,改写的次数有限制。用EEPROM来存储用户程序和需要长期保存的重要数据。1.1.4数字量扩展模块与信号板1.数字量输入电路有8点输入、8点输出模块,16点、32点输入/输出模块。输出模块有DC24V和继电器两种。1M是同一组输入点各内部输入电路的公共点。输入电流为数毫安。外接触点接通时,发光二极管亮,光敏三极管饱和导通;反之发光二极管熄灭,光敏三极管截止,信号经内部电路传送给CPU模块。电流从输入端流入为漏型输入,反之为源型输入。图1-4输入电路2.数字量输出电路继电器输出电路可以驱动直流负载和交流负载,承受瞬时过电压和过电流的能力较强,动作速度慢,动作次数有限。场效应管输出电路只能驱动直流负载。反应速度快、寿命长,过载能力稍差。3.信号板SBAQ01:1点模拟量输出信号板。SBDT04:2点数字量直流输入/2点数字量场效应管输出。SBCM01:RS485/RS232信号板。SBBA01:电池信号板,使用CR1025纽扣电池,保持时间大约一年。1.1.5模拟量扩展模块1.PLC对模拟量的处理模拟量输入模块将模拟量转换为多位数字量。模拟量输出模块将PLC中的多位数字量转换为模拟量电压或电流。有4AI、2AO、4AI/2AO、2路热电阻、4路热电偶模块。2.模拟量输入模块EMAE04有4种量程(0~20mA、10V、5V和2.5V)。电压模式的分辨率为11位+符号位,电流模式的分辨率为11位。单极性满量程输入范围对应的数字量输出为0~27648。双极性满量程输入范围对应的数字量输出为−27648~+27648。3.将模拟量输入模块的输出值转换为实际的物理量【例1-1】压力变送器(0~10MPa)的输出信号为DC4~20mA,模拟量输入模块将0~20mA转换为0~27648的数字量,设转换后得到的数字为N,试求以kPa为单位的压力值。解:4~20mA的模拟量对应于数字量5530~27648,压力的计算公式为4.模拟量输出模块EMAQ02有10V和0~20mA两种量程,对应的数字量分别为−27648~+27648和0~27648。满量程时电压输出和电流输出的分辨率分别为10位+符号位和10位。5.热电阻扩展模块与热电偶扩展模块温度测量的分辨率为0.1°C/0.1°F,电阻测量的分辨率为15位+符号位。1.1.6I/O的地址分配与外部接线用系统块组态硬件时,编程软件自动地分配各模块和信号板的地址。硬件组态演示1.2PLC的工作原理1.2.1用触点和线圈实现逻辑运算用逻辑代数中的1和0来表示数字量控制系统中变量的两种相反的工作状态。线圈通电、常开触点接通、常闭触点断开为1状态,反之为0状态。在波形图中,用高、低电平分别表示1、0状态。图1-8基本逻辑电路图1-9异步电动机主电路、控制电路与波形图按下起动按钮SB1,电流经SB1和SB2的触点流过KM的线圈。KM的主触点闭合,电动机开始运行。KM的辅助常开触点同时接通。放开起动按钮,SB1的常开触点断开,电流经KM的辅助常开触点和SB2的常闭触点流过KM的线圈。KM常开触点的功能称为“自锁”或“自保持”。图1-9中的继电器电路称为起动-保持-停止电路,简称为起保停电路。逻辑代数式为逻辑代数式中的加号表示逻辑“或”,乘号(或*号)表示逻辑“与”,上划线表示逻辑“非”。逻辑运算的规则为先“与”后“或”,括号优先。1.4.2PLC的工作原理初始化后PLC反复不停地分5个阶段处理各种任务。每次循环的时间称为扫描周期。1.读取输入外部输入电路接通时,对应的过程映像输入寄存器为ON(1状态),梯形图中对应的常开触点闭合,常闭触点断开。反之过程映像输入寄存器为OFF(0状态)。2.执行用户程序如果没有跳转指令,CPU逐条顺序地执行用户程序。执行程序时,对输入/输出的读写通常是通过过程映像输入/输出寄存器,而不是实际的I/O点。3.通信处理4.CPU自诊断测试图1-10扫描过程示意图5.改写输出梯形图中某一输出位的线圈“通电”,对应的过程映像输出寄存器中的二进制数为1,对应的硬件继电器的常开触点闭合,外部负载通电。反之外部负载断电。可用中断程序和立即I/O指令提高PLC的响应速度。8.PLC的工作过程举例在读取输入阶段,SB1和SB2的常开触点的接通/断开状态被读入相应的过程映像输入寄存器。图1-11PLC外部接线图与梯形图LDI0.1OQ0.0ANI0.2=Q0.0执行第一条指令时,从过程映像输入寄存器I0.1中取出二进制数,存入堆栈的栈顶。执行第二条指令时,从过程映像输出寄存器Q0.0中取出二进制数,与栈顶中的二进制数相“或”,运算结果存入栈顶。执行第三条指令时,因为是常闭触点,取出过程映像输入寄存器I0.2中的二进制数后,将它取反,与前面的运算结果相“与”后,存入栈顶。执行第四条指令时,将栈顶中的二进制数传送到Q0.0的过程映像输出寄存器。在修改输出阶段,CPU将各过程映像输出寄存器中的二进制数传送给输出模块并锁存起来,如果Q0.0中存放的是二进制数1,外接的KM线圈将通电,反之将断电。填空1)PLC主要由、、和组成。2)继电器的线圈“断电”时,其常开触点,常闭触点。3)外部输入电路断开时,对应的输入过程映像寄存器为状态,梯形图中对应的常开触点,常闭触点____。4)若梯形图中输出Q的线圈“通电”,对应的输出过程映像寄存器为状态,在修改输出阶段后,继电器型输出模块中对应的硬件继电器的线圈,其常开触点,外部负载。第2章编程软件使用指南2.1编程软件概述2.1.1编程软件的界面1.安装编程软件操作系统可以是WindowsXPSP3、32位和64位的Windows7。双击setup.exe,开始安装,使用默认的安装语言简体中文。可以选择软件安装的目标文件夹。2.项目的基本组件1)程序块包括主程序(OB1)、子程序和中断程序,统称为POU(程序组织单元)。2)数据块用于给V存储器赋初值。3)系统块用于硬件组态和设置参数。4)符号表用符号来代替存储器的地址,使程序更容易理解。5)状态图表用来监视、修改和强制程序执行时指定的变量的状态。3.快速访问工具栏,可自定义工具栏上的命令按钮。4.菜单带状式菜单功能区的最小化、打开和关闭。5.项目树与导航栏项目树文件夹的打开和关闭,右键功能的使用,单击打开导航栏上的对象。项目树宽度的调节。6.状态栏插入(INS)、覆盖(OVR)模式的切换,梯形图缩放工具的使用。2.1.2窗口操作与帮助功能1.打开和关闭窗口2.窗口的浮动与停靠,定位器的作用3.窗口的合并4.窗口高度的调整5.窗口的隐藏与停靠6.帮助功能的使用(1)在线帮助:单击选中的对象后按〈F1〉键。(2)用帮助菜单获得帮助单击“帮助”菜单功能区的“帮助”按钮,打开在线帮助窗口。用目录浏览器寻找帮助主题。双击索引中的某一关键词,可以获得有关的帮助。在“搜索”选项卡输入要查找的名词,单击“列出主题”按钮,将列出所有查找到的主题。计算机联网时单击“帮助”菜单功能区的“支持”按钮,打开西门子的全球技术支持网站。2.2程序的编写与下载2.2.1创建项目1.创建项目或打开已有的项目,可打开S7-200的项目。2.硬件组态用系统块生成一个与实际的硬件系统相同的系统,设置各模块和信号板的参数。硬件组态给出了PLC输入/输出点的地址,为设计用户程序打下了基础。组态演示。3.保存文件4.控制要求2.2.2生成用户程序1.编写用户程序2.对程序段的操作梯形图中的一个程序段只能有一块不能分开的独立电路。语句表允许将若干个独立电路对应的语句放在一个网络中,这样的程序段不能转换为梯形图。选中单个、多个程序段或单个元件,可删除、复制、剪切、粘贴选中的对象。3.单击工具栏上的按钮,打开和关闭POU注释和程序段注释。4.单击工具栏上的“编译”按钮,编译程序。输出窗口显示出错误和警告信息。下载之前自动地对程序进行编译。5.设置程序编辑器的参数单击“工具”菜单功能区的“选项”按钮,打开“选项”对话框,选中“LAD”,可设置网格的宽度和字符属性等。选中“LAD”下面的“状态”,可以设置梯形图程序状态监控时的参数。选中“常规”,可设置指令助记符等。选中“项目”,可设置默认的文件保存位置。2.2.3以太网基础知识1.以太网用于S7-200SMART与编程计算机、人机界面和其它S7PLC的通信。2.MAC地址是以太网端口设备的物理地址,6个字节用短划线分隔,例如00-05-BA-CE-07-0C。3.IP地址由4个字节组成,用小数点分隔。4.子网掩码由4个字节组成,高位是连续的1,低位是连续的0,子网掩码将IP地址划分为子网地址和子网内的节点地址。S7-200SMARTCPU出厂时默认的IP地址为192.168.2.1,子网掩码为255.255.255.0。5.网关是局域网之间的链路器。2.2.4组态以太网地址1.用系统块设置CPU的IP地址如果选中多选框“IP地址数据固定为……”,不能用“通信”对话框和用户程序中更改IP信息。“背景时间”一般采用默认值。同一子网中各设备的IP地址中的子网地址和子网掩码应完全相同,各设备的子网内的地址不能重叠。2.用通信对话框设置CPU的IP地址用“网络接口卡”列表设置使用的以太网网卡,单击“查找CPU”按钮,显示出网络上所有可访问的设备的IP地址。“闪烁指示灯”按钮用来确认谁是选中的CPU。3.在用户程序中可用指令SIP_ADDR设置CPU的IP信息。4.设置计算机网卡的IP地址WindowsXP操作系统:双击控制面板中的“网络连接”,右键单击所用网卡的连接图标,执行“属性”命令。选中列表中的“Internet协议(TCP/IP)”,单击“属性”按钮,设置计算机的IP地址和子网掩码。Windows7操作系统:单击控制面板的“查看网络状态和任务”,再单击“本地连接”,单击“属性”按钮,选中列表框中的“Internet协议版本4”,单击“属性”按钮,设置计算机的IP地址和子网掩码。2.2.5下载与调试用户程序1.以太网电缆的安装与通信设置两台设备可以直接连接,多台设备需要使用交换机或路由器。2.下载程序单击工具栏上的“下载”按钮,如果弹出“通信”对话框并且找到的CPU的IP地址正确无误,单击“确定”按钮,出现下载对话框。用户可以用多选框选择要下载的块,单击“下载”按钮,开始下载。只选中“选项”区的“成功后关闭对话框”3.读取PLC信息单击“PLC”菜单功能区的“PLC”按钮,显示PLC的状态和实际的模块配置。可查看时间日志和扫描速度。4.上传项目组件新建一个空的项目,单击工具栏上的“上传”按钮。5.更改CPU的工作模式编程软件与PLC之间建立起通信连接后,单击工具栏上的运行按钮和停止按钮。6.运行和调试程序在RUN模式用外接的小开关模拟按钮信号和过载信号。2.3符号表与符号地址的使用1.打开符号表在符号表中定义的符号属于全局变量,可以在所有的POU中使用它们。单击导航栏或双击项目树的符号表图标,打开符号表。2.专用的符号表可用右键菜单命令删除或打开I/O符号表或系统符号表。不能改写POU符号表的内容。3.生成符号左边两列是地址重叠和未使用的符号列,绿色波浪下划线表示未定义的符号。红色的文本表示有语法错误,红色波浪下划线表示用法无效。4.用右键菜单命令生成用户符号表5.表格的通用操作调节列的宽度,用右键菜单命令插入新的行,用〈↓〉键在表格的底部增添一个新的行,按〈TAB〉键光标将移至右边下一个单元格。单击最左边的行号,选中整个行。单击某个单元格,按住〈Shift〉键,单击对角线的单元格,同时选中矩形范围内所有的单元格。删除、复制和粘贴选中的对象。6.用右键菜单命令在程序编辑器和状态图表中定义、编辑和选择符号。7.单击“符号”列和“地址”列的列标题,对符号表排序。8.切换地址的显示方式单击“视图”菜单功能区的“符号”区域中的按钮、单击工具栏上的“切换寻址”左边和右边的按钮、使用〈Ctrl+Y〉键,在三种符号显示方式之间切换。9.单击工具栏上的“符号信息表”按钮,打开或关闭符号信息表。2.4用编程软件监控与调试程序2.4.1用程序状态监控与调试程序1.梯形图的程序状态监控将程序下载到PLC后,单击工具栏上的按钮,启用程序状态监控。时间戳不匹配的处理。梯形图中蓝色表示带电和触点、线圈接通。红色方框表示指令执行出错。灰色表示无能流、指令被跳过、未调用、或处于STOP模式。用外接的小开关模拟按钮信号,观察程序状态的变化。执行右键快捷菜单中的“强制”、“写入”等命令。图2-22中的T38和它的常闭触点产生周期为2s的锯齿波。MB10每2s加1。用“暂停状态开/关”按钮启动和关闭T38当前值的采集。2.语句表程序状态监控切换到语句表编辑器后单击“程序状态”按钮,出现“时间戳不匹配”对话框。操作数3的右边是逻辑堆栈中的值。最右边的列是方框指令的使能输出位(ENO)的状态。用外接的小开关模拟按钮信号,观察程序状态的变化。单击“工具”菜单功能区的“选项”按钮,选中“选项”对话框左边窗口“STL”下面的“状态”,可以设置监控语句表程序状态的内容。2.4.2用状态图表监控与调试程序1.打开和编辑状态图表在程序运行时,用状态图表来读、写、强制和监控PLC中感兴趣的变量。双击指令树的“状态图表”文件夹中的“图表1”,或单击导航栏上的按钮,打开状态图表。2.生成要监控的地址在状态图表的“地址”列键入要监控的变量的地址,用“格式”列更改显示格式。格式BOOL监控的是T、C的位,格式“有符号”监控的是T、C的当前值。可将符号表中的符号或地址复制到状态图表的“地址”列。3.用右键菜单中的命令或状态图表工具栏上的按钮创建新的状态图表。4.单击工具栏上的“图表状态”按钮,起动和关闭状态图表的监控功能。5.STOP模式或未启动监控功能时,用工具栏上的按钮单次读取状态信息。7.趋势视图趋势视图用随时间变化的曲线跟踪PLC的状态数据。启动状态图表监控功能后,单击工具栏上的趋势视图按钮,切换表格视图与趋势视图。可用右键菜单中的命令,修改趋势视图的时间基准。用工具栏上的“暂停趋势图”按钮,“冻结”和“解冻”趋势视图。2.4.3写入与强制数值1.写入数据单击工具栏上的“写入”按钮,将状态图表的“新值”列所有的值传送到PLC,并在“当前值”列显示出来。在程序状态监控时,用右键菜单中的命令改写某个操作数的值。在RUN模式时修改的数值可能很快被程序改写为新的数值,不能用写入功能改写物理输入点(地址I或AI)的状态。2.强制的基本概念可以强制所有的I/O点,还可以同时强制最多16个V、M、AI或AQ地址。强制的数据用EEPROM永久性地存储。可以通过对输入点的强制来调试程序。3.强制的操作将要强制的值16#1234键入VW0的“新值”列,单击工具栏上的“强制”按钮,VW0被显式强制、VB0和V1.3被隐式强制,VW1被部分隐式强制。取消对单个操作数的强制:选择一个被显式强制的操作数,单击工具栏上的“取消强制”按钮。单击工具栏上的按钮取消全部强制。关闭状态图表监控时,单击工具栏上的按钮,读取全部强制。4.STOP模式下强制应先按下“调试”菜单功能区的“STOP下强制”按钮。2.4.4调试用户程序的其他方法1.使用书签单击工具栏上的按钮,生成和删除书签。可以用工具栏上的按钮使光标移动到下一个或上一个标有书签的程序段。2.单次扫描在STOP模式单击“调试”菜单功能区的“执行单次”按钮,执行一次扫描后,自动回到STOP模式,可以观察首次扫描后的状态。3.多次扫描在STOP模式单击“调试”菜单功能区的“执行多次”按钮,指定扫描的次数,执行完后自动返回STOP模式。4.交叉引用表用于检查程序中参数当前的赋值情况,防止重复赋值。编译程序成功后才能查看交叉引用表。2.5使用系统块设置PLC的参数2.5.1组态PLC的参数1.系统块概述系统块用于CPU、信号板和扩展模块的组态,下载后生效。2.设置PLC断电后的数据保存方式选中系统块中的CPU模块,选中“保持范围”,设置V、M、C和TONR(有记忆接通延时定时器)的地址偏移量(起始地址)和元素数目。上电时定时器位和计数器位被清除。断电时CPU将设置的保持性存储器的值保存到永久存储器。3.组态系统安全单击左边窗口的“安全”,默认的是完全权限,没有密码。最低权限禁止读写。设置了“不允许上传”,有密码也不能上载程序。密码由字母、数字和符号的组成,区分大小写。系统块下载后,密码才起作用。选中“限制”多选框,禁止通过通信改写I、Q、AQ、M存储区和用“偏移量”和“字节数”设置的V存储区。选中“允许”多选框,通过串行端口,无需密码,可以更改CPU的工作模式和读写实时时钟。4.设置启动方式只能用编程软件工具栏上的按钮来切换RUN/STOP模式。启动模式LAST用于程序开发或调试,正式投运后应选RUN模式。5.清除PLC的存储区CPU在STOP模式时,单击“PLC”菜单功能区的“清除”按钮,可删除选中的块。如果忘记了密码,需要在STOP模式插入专门为此创建的“复位为出厂默认存储卡”(见8.3.2节)。2.5.2组态输入输出参数1.组态数字量输入的滤波器时间为了消除触点抖动的影响,应选12.8ms。2.组态脉冲捕捉功能脉冲捕捉功能锁存输入状态的变化,保存到下一次输入刷新。脉冲捕捉功能在输入滤波器之后,使用脉冲捕捉功能时,必须同时调节输入滤波时间。3.组态数字量输出选中“将输出冻结在最后一个状态”,从RUN模式变为STOP模式时,所有数字量输出点将保持RUN模式最后的状态。如果未选“冻结”模式,进入STOP模式各输出点的状态用输出表来设置。4.组态模拟量输入设置模拟量信号的类型和测量范围,干扰抑制频率一般设为50Hz。采用平均值滤波,可选“无、弱、中、强”。滤波后的值是预选的采样次数的各次模拟量输入的平均值。5.组态模拟量输出设置模拟量信号的类型和测量范围,“将输出冻结在最后一个状态”选项的意义与数字量输出的相同。第3章S7-200SMART编程基础3.1PLC的编程语言与程序结构IEC61131-3标准的5种编程语言:1)顺序功能图(SequentialFunctionChart);2)梯形图(LadderDiagram,LAD);3)功能块图(FunctionBlockDiagram,FBD);4)指令表(InstructionList),西门子叫语句表(STL);5)结构文本(StructuredText)。1.顺序功能图用来编制顺序控制程序,将在第5章详细介绍。2.梯形图(LAD)程序被划分为若干个程序段,一个程序段只能有一块独立电路。触点接通时有“能流”流过线圈。“能流”只能从左向右流动。3.语句表(STL)程序由指令组成,适合程序设计经验丰富的程序员使用。4.功能块图(FBD)类似于数字逻辑电路,国内很少使用。5.结构文本是为IEC61131-3标准创建的一种专用的高级编程语言。6.编程语言的相互转换和选用在编程软件中,可以选用梯形图、功能块图和语句表。梯形图中输入信号(触点)与输出信号(线圈)之间的逻辑关系一目了然,易于理解。设计复杂的数字量控制程序时建议使用梯形图语言。语句表程序输入方便快捷,可以为每条语句加上注释,便于复杂程序的阅读。7.S7-200SMART的程序结构1)主程序OB1是程序的主体,每次扫描都要执行主程序。每个项目都必须有且只能有一个主程序。2)子程序仅在被调用时执行,使用子程序可简化程序代码、减少扫描时间。3)中断程序用来及时处理不能事先预测何时发生的中断事件。在中断事件发生时由PLC的操作系统调用中断程序。8.S7-200SMART与S7-200的指令基本上相同。3.2数据类型与寻址方式3.2.1数制1.二进制数(1)用1位二进制数表示数字量二进制数的1位只能为0和1。用1位二进制数来表示开关量的两种不同的状态,线圈通电、常开触点接通、常闭触点断开为1状态(ON),反之为0状态(OFF)。二进制位的数据类型为BOOL(布尔)型。(2)多位二进制数多位二进制数用来表示大于1的数字。从右往左的第n位(最低位为第0位)的权值为2n。2#0000010010000110对应的十进制数为(3)有符号数的表示方法用二进制补码来表示有符号数,最高位为符号位,最高位为0时为正数,反之为负数。正数的补码是它本身,最大的16位二进制正数为2#0111111111111111(32767)。将正数的补码逐位取反(0变为1,1变为0)后加1,得到绝对值与它相同的负数的补码。例如将1158的补码2#0000010010000110逐位取反后加1,得到−1158的补码1111101101111010。2.十六进制数十六进制数用于简化二进制数的表示方法,16个数为0~9和A~F(10~15),4位二进制数对应于1位十六进制数,例如2#1010111001110101可以转换为16#AE75(或AE75H)。十六进制数“逢16进1”,第n位的权值为16n。16#2F对应的十进制数为2161+15160=47。3.BCD码(BinaryCodedDecimal)是各位按二进制编码的十进制数,“逢10进1”,用4位二进制数来表示1位十进制数,每一位只能是2#0000~2#1001。4位BCD码对应于16位二进制数,允许范围为16#9999~16#0000。BCD码用于PLC的输入和输出。拨码开关用来设置多位十进制参数值,PLC用输入点读取的多位拨码开关的输出值就是BCD码。用16#表示BCD码,图3-5的拨码开关的输出为2#100000101001,其BCD码为16#829。电梯的楼层数转换为BCD码后,分别送给译码驱动芯片4547。3.2.2数据类型1.位:二进制位(bit)的数据类型为BOOL(布尔)。I3.2中的I表示输入,3是字节地址,2是字节中的位地址(0~7)。2.字节一个字节(Byte)由8个位数据组成,IB3由I3.0~I3.7这8位组成。3.字和双字相邻的两个字节组成一个字(Word),相邻的两个字或4个字节组成一个双字(DoubleWord)。用VB100的地址编号作为VW100和VD100的地址编号。组成字和双字的编号最小的字节VB100为VW100和VD100的最高位字节。字节、字和双字都是无符号数,它们的数值用16#表示。4.16位整数INT和32位双整数DINT都是有符号数。最高位为符号位。5.32位浮点数(REAL,实数)可以表示为1.m2E,IEEE标准格式的浮点数的格式为1.m2e,最高位为符号位。指数e=E+127,为8位正整数。第0~22位是尾数的小数部分m,第23~30位是指数部分e。在编程软件中,用小数表示浮点数。6.ASCII码字符:美国信息交换标准代码。用单引号表示,例如’AB12’。7.字符串的数据类型为STRING,由若干个ASCII码字符组成,第一个字节是字符串的长度(0~254),后面的每个字符占一个字节。字符串用双引号表示,例如”LINE2”。3.2.3CPU的存储区1.过程映像输入寄存器(I):外部输入电路接通时对应的过程映像输入寄存器为ON(1状态),反之为OFF(0状态)。2.过程映像输出寄存器(Q):梯形图中Q0.0的线圈“通电”时,输出模块中对应的硬件继电器的常开触点闭合。3.变量存储器(V):用来存放程序执行的中间结果和有关数据。4.位存储器(M):类似于继电器控制系统的中间继电器,32个字节。5.定时器存储器(T):定时器、计数器的当前值为16位有符号整数,定时器位用来描述定时器的延时动作的触点的状态。6.计数器存储器(C):计数器用来累计其计数脉冲上升沿的次数。计数器位用来描述计数器的触点的状态。7.高速计数器(HC):用来累计比CPU的扫描速率更快的事件。当前值为32位有符号整数。8.累加器(AC0~AC3):32位,可以按字节、字和双字来访问累加器中的数据。按字节、字只能访问累加器的低8位或低16位。常用于向子程序传递参数和从子程序返回参数,或用来临时保存中间的运算结果。9.特殊存储器(SM)特殊存储器用于CPU与用户程序之间交换信息。SM0.0一直为ON;SM0.1仅在执行用户程序的第一个扫描周期为ON。SM0.4和SM0.5分别提供周期为1分钟和1秒的时钟脉冲。SM1.0、SM1.1和SM1.2分别为零标志、溢出标志和负数标志。10.局部存储器(L):各POU都有自己的64字节的局部存储器,仅仅在它被创建的POU中有效。作为暂时存储器,或给子程序传递参数。同一调用级别的POU的局部变量使用分配给它们的公用的物理存储器。11.模拟量输入(AI):AI模块将模拟量按比例转换为一个字的数字量。AI地址应从偶数字节开始(例如AIW2),AI为只读数据。12.模拟量输出(AQ):AQ模块将一个字的数字值按比例转换为电流或电压。AQ地址应从偶数字节开始(例如AQW2),用户不能读取AQ。13.顺序控制继电器(S):用于顺序控制编程(见5.4节),32字节。I、Q、V、M、S、SM和L存储器区均可以按位、字节、字和双字来访问。3.2.4直接寻址与间接寻址直接寻址指定了存储器的区域、长度和位置,例如VB200。间接寻址给出一个被称为地址指针的存储单元的地址,32位地址指针里存放的是真正的操作数的地址。只能用V、L或累加器作指针。间接寻址可用于访问I、Q、V、M、S、AI、AQ、SM,以及T和C的当前值。不能访问单个位(bit)地址、HC、L存储区和累加器。指令“MOVD&VB200,AC1”将VB200的地址&VB200传送给AC1。指令“MOVW*AC1,AC0”将指针AC1所指的VW200中的数据(*AC1)传送给AC0。用指针访问相邻的下一个字节时,指针值加1;访问字时,指针值加2;访问双字时,指针值加4。【例3-1】从0时开始,某发电机计划发电时每个小时的有功功率给定值被依次存放在VW100~VW146中。VD20中是从实时时钟读取的小时值,用间接寻址读取当时的功率给定值,送给VW30。LDSM0.0MOVD&VB100,VD10//表的起始地址送VD10+DVD20,VD10//起始地址加偏移量+DVD20,VD10MOVW*VD10,VW30//读取表中的数据一个字由两个字节组成,地址相邻的两个字的地址增量为2(两个字节),所以用了两条加法指令。在上午8时,VD20的值为8,执行两次加法指令后VD10中为VW116的地址。3.3位逻辑指令3.3.1触点指令与堆栈指令1.标准触点指令常开触点对应的位地址为ON时,该触点闭合。常闭触点对应的位地址为OFF时,该触点闭合。2.输出指令输出指令(=)对应于梯形图中的线圈。梯形图中两个并联的线圈用两条相邻的输出指令来表示。【例3-2】已知图3-11中I0.1的波形,画出M0.0的波形。在I0.1的下降沿之前,I0.1为ON,它的两个常闭触点均断开,M0.0和M0.1均为OFF,其波形用低电平表示。在I0.1的下降沿,I0.1和M0.1的常闭触点同时闭合,M0.0变为ON。从I0.1下降沿之后的第二个扫描周期开始,M0.1为ON,其常闭触点断开,使M0.0为OFF。M0.0只是在I0.1的下降沿ON一个扫描周期。交换上下两行电路,M0.0的线圈不会通电。3.逻辑堆栈的基本概念S7-200SMART有一个32位的堆栈,最上面的第一层称为栈顶。堆栈中的数据一般按“先进后出”的原则访问。执行LD指令时,将指令指定的位地址中的二进制数装载入栈顶。执行A(与)指令时,指令指定的位地址中的二进制数和栈顶中的二进制数作“与”运算,运算结果存入栈顶。栈顶之外其他各层的值不变。执行O(或)指令时,指令指定的位地址中的二进制数和栈顶中的二进制数作“或”运算,运算结果存入栈顶。4.或装载指令OLD图3-15中前两条指令执行完后,“与”运算的结果S0存放在堆栈的栈顶,第3、4条指令执行完后,“与”运算的结果S1压入栈顶(见图3-16),原来在栈顶的S0被推到堆栈的第2层,下面各层的数据依次下移一层。OLD指令对堆栈第一、二层的二进制数作“或”运算,运算结果S2=S0+S1存入堆栈的栈顶,第3~31层中的数据依次向上移动一层。5.与装载指令ALD图3-15中OLD下面的两条指令并联运算的果S3被压入栈顶,堆栈中原来的数据依次向下一层推移。ALD指令对堆栈第一、二层的数据作“与”运算,运算结果S4=S2·S3存入堆栈的栈顶,第3~31层中的数据依次向上移动一层。【例3-3】已知图3-17中的语句表程序,画出对应的梯形图。首先将电路划分为若干块,各电路块从含有LD的指令(例如LD、LDI和LDP等)开始,在下一条含有LD的指令(包括ALD和OLD)之前结束;然后分析各块电路之间的串并联关系。OLD或ALD指令并、串联的是它上面靠近它的已经连接好的电路。6.其他堆栈操作指令逻辑进栈LPS指令复制栈顶的值并将其压入堆栈的第2层,堆栈中原来的数据依次向下一层推移。逻辑读栈LRD指令将堆栈第2层的数据复制到栈顶,原来的栈顶值被复制值替代。第2层~第31层的数据不变。逻辑出栈LPP指令将栈顶值弹出,堆栈各层的数据向上移动1层,第2层的数据成为新的栈顶值。装载堆栈指令LDS很少使用。下图中的第1条LPS指令将栈顶的A点逻辑运算结果保存到堆栈的第2层,第2条LPS指令将B点的逻辑运算结果保存到堆栈的第2层,A点的逻辑运算结果被“压”到堆栈的第3层。第1条LPP指令将堆栈第2层B点的逻辑运算结果上移到栈顶,第3层中A点的逻辑运算结果上移到堆栈的第2层。最后一条LPP指令将堆栈第二层的A点的逻辑运算结果上移到栈顶。7.立即触点立即触点指令只能用于输入位I,立即读入物理输入点的值,但是并不更新该物理输入点对应的过程映像输入寄存器。3.3.2输出类指令与其他指令1.立即输出图3-21中的立即输出将栈顶值立即写入指定的物理输出点和对应的过程映像输出寄存器。该指令只能用于输出位Q。2.置位与复位置位与复位指令分别将指定的位地址开始的N个连续的位地址置位(变为ON)和复位(变为OFF),N=1~255。两条指令有记忆和保持功能。可用复位指令清除定时器/计数器的当前值,同时将它们的位复位为OFF。3.立即置位与立即复位这两条指令分别将指定的位地址开始的N个连续的物理输出点立即置位或复位,N=1~255。它们只能用于输出位Q,新值被同时写入对应的物理输出点和过程映像输出寄存器。4.RS、SR双稳态触发器指令SR是置位优先双稳态触发器,RS是复位优先双稳态触发器。它们用置位输入和复位输入来控制方框上面的位地址,可选的OUT连接反映了方框上面位地址的信号状态。置位信号S1和复位信号R同时为ON时,M0.5被置位为ON。置位信号S和复位信号R1同时为ON时,M0.6被复位为OFF。5.其他位逻辑指令正跳变触点(P)到一次正跳变或负跳变触点(N)检测到一次负跳变时,触点接通一个扫描周期。取反(NOT)触点将存放在堆栈顶部的它左边电路的逻辑运算结果取反。取反触点左、右两边能流的状态相反。空操作指令(NOPN)不影响程序的执行(N=0~255)。6.程序的优化设计在设计并联电路时,应将单个触点的支路放在下面;设计串联电路时,应将单个触点放在右边。在有线圈的并联电路中,应将单个线圈放在上面。3.4定时器指令与计数器指令3.4.1定时器指令1.定时器的分辨率见表3-9。2.接通延时定时器和有记忆接通延时定时器定时器和计数器的当前值的数据类型均为整数(INT),允许的最大值为32767。接通延时定时器TON和保持型接通延时定时器TONR的使能(IN)输入电路接通后开始定时,当前值不断增大。当前值大于等于PT端指定的预设值时,定时器位变为ON。达到预设值后,当前值仍继续增加,直到最大值32767。定时器的预设时间等于预设值PT与分辨率的乘积。接通延时定时器的使能输入电路断开时,定时器被复位,其当前值被清零,定时器位变为OFF。还可以用复位(R)指令复位定时器和计数器。保持型接通延时定时器TONR的使能(IN)输入电路断开时,当前值保持不变。使能输入电路再次接通时,继续定时。累计的时间间隔等于预设值时,定时器位变为ON。只能用复位指令来复位TONR。图3-28是用接通延时定时器编程实现的脉冲定时器程序,在I0.3的上升沿,Q0.2输出一个宽度为3s的脉冲,I0.3的脉冲宽度可以大于3s,也可以小于3s。3.断开延时定时器使能输入电路接通时,定时器位立即变为ON,当前值被清零。使能输入电路断开时,开始定时,当前值等于预设值时,输出位变为OFF,当前值保持不变,直到使能输入电路接通。断开延时定时器用于设备停机后的延时,例如变频电机的冷却风扇的延时。4.分辨率对定时器的影响执行1ms分辨率的定时器指令时开始计时,其定时器位和当前值每1ms更新一次。扫描周期大于1ms时,在一个扫描周期内被多次更新。执行10ms分辨率的定时器指令时开始计时,记录自定时器启用以来经过的10ms时间间隔的个数。在每个扫描周期开始时,定时器位和当前值被刷新,一个扫描周期累计的10ms时间间隔数被加到定时器当前值中。定时器位和当前值在整个扫描周期中不变。100ms分辨率的定时器记录从定时器上次更新以来经过的100ms时间间隔的个数。在执行该定时器指令时,将从前一扫描周期起累积的100ms时间间隔个数累加到定时器的当前值。启用定时器后,如果在某个扫描周期内未执行某条定时器指令,或者在一个扫描周期多次执行同一条定时器指令,定时时间都会出错。【例3-4】用定时器设计输出脉冲的周期和占空比可调的振荡电路(即闪烁电路)。I0.3的常开触点接通后,T41开始定时。2s后定时时间到,T41的常开触点接通,Q0.7变为ON,T42开始定时。3s后T42的定时时间到,它的常闭触点断开,T41被复位。T41的常开触点断开,使Q0.7变为OFF,T42被复位。复位后T42的常闭触点接通,下一扫描周期T41又开始定时。Q0.7的线圈“通电”和“断电”的时间分别等于T42和T41的预设值。6.两条运输带的控制程序按下起动按钮I0.5,1号运输带开始运行,8s后2号运输带自动起动。按了停止按钮I0.6后,先停2号运输带,8s后停1号运输带。设置辅助元件M0.0,根据波形图,直接用T39和T40的触点控制Q0.5和Q0.4的线圈。3.4.1计数器指令1.加计数器(CTU)同时满足下列条件时,加计数器的当前值加1,直至计数最大值32767。1)复位输入电路断开。2)加计数脉冲输入电路由断开变为接通(CU信号的上升沿)。3)当前值小于最大值32767。当前值大于等于预设值PV时,计数器位为ON,反之为OFF。当复位输入R为ON或对计数器执行复位(R)指令时,计数器被复位,计数器位变为OFF,当前值被清零。在首次扫描时,所有的计数器位被复位为OFF。2.减计数器(CTD)在装载输入LD的上升沿,计数器位被复位为OFF,预设值PV被装入当前值寄存器。在减计数脉冲输入信号CD的上升沿,从预设值开始,当前值减1,减至0时,停止计数,计数器位被置位为ON。3.加减计数器(CTUD)在加计数脉冲输入CU的上升沿,当前值加1,在减计数脉冲输入CD的上升沿,当前值减1。当前值大于等于预设值PV时,计数器位为ON,反之为OFF。若复位输入R为ON,或对计数器执行复位(R)指令时,计数器被复位。【例3-5】用计数器设计长延时电路。定时器最长的定时时间为3276.7s。周期为1min的时钟脉冲SM0.4的常开触点为加计数器C0提供计数脉冲。定时时间为30000min(500h)。【例3-6】用计数器扩展定时器的定时范围。I0.2为ON时,T37开始定时,3000s后T37的定时时间到,其常开触点闭合,使C4加1。T37的常闭触点断开,使它自己复位,当前值变为0。下一扫描周期T37的常闭触点接通,又开始定时。总的定时时间为T=0.1KTKC(s)指出图3-43中的错误。第4章S7-200SMART的功能指令4.1功能指令概述4.1.1怎样学习功能指令功能指令分为较常用的指令、与数据的基本操作有关的指令、与PLC的高级应用有关的指令和用得较少的指令。初学功能指令时,首先可以按指令的分类浏览所有的指令。初学者没有必要花大量的时间去熟悉功能指令使用中的细节,应重点了解指令的基本功能和有关的基本概念。应通过读程序、编程序和调试程序来学习功能指令。4.1.2S7-200的指令规约1.使能输入与使能输出使能输入端EN有能流流入方框指令时,指令才能被执行。EN输入端有能流且指令执行时无错误,则使能输出ENO将能流传递给下一个方框指令或线圈。语句表用AENO指令来产生与方框指令的ENO相同的效果。删除AENO指令后,方框指令将由串联变为并联。2.梯形图中的指令条件输入指令必须通过触点电路连接到左侧母线上。不需要条件的指令必须直接连接在左侧母线上。键入语句表指令时,必须使用英文的标点符号。3.能流指示器双箭头是开路能流指示器,必须解决开路问题,程序段才能成功编译。可将其他梯形图元件附加到ENO端的可选能流指示器。没有在该位置添加元件,程序段也能成功编译。4.2数据处理指令4.2.1比较指令与数据传送指令1.字节、整数、双整数和实数比较指令比较触点中间的B、I、D、R、S分别表示无符号字节、有符号整数、有符号双整数、有符号实数和字符串比较。满足比较关系式给出的条件时,比较指令对应的触点接通。字符串比较指令的比较条件“x”只有==和<>。整数和双整数比较指令比较两个有符号数。IN1在触点的上面,IN2在触点下面。【例4-1】用接通延时定时器和比较指令组成占空比可调的脉冲发生器。T37的常闭触点控制它的IN输入端,使T37的当前值按锯齿波变化。比较指令用来产生方波,Q0.0为OFF的时间取决于比较指令第2个操作数的值。2.字符串比较指令字符串比较指令比较ASCII码字符串相等或不相等。常数字符串应是比较触点上面的参数,或比较指令中的第一个参数。3.字节、字、双字和实数的传送传送指令助记符中最后的B、W、DW(或D)和R分别表示操作数为字节、字、双字和实数。4.字节立即读写指令字节立即读取指令MOV_BIR读取IN指定的一个字节的物理输入,但是并不更新对应的过程映像输入寄存器。字节立即写入指令MOV_BIW将一个字节的数值写入OUT指定的物理输出,同时更新对应的过程映像输出字节。5.字节、字、双字的块传送指令块传送指令将起始地址为IN的N个连续的存储单元中的数据,传送到从地址OUT开始的N个存储单元,字节变量N=1~255。6.字节交换指令字节交换指令SWAP用来交换输入字IN的高字节与低字节。应采用脉冲执行方式。4.2.2移位与循环移位指令移位位数N的数据类型为BYTE。1.右移位和左移位指令移位指令将输入IN中的数各位的值向右或向左移动N位后,送给输出OUT指定的地址。移位指令对移出位自动补0,有符号的字和双字的符号位也被移位。如果移位次数非0,“溢出”标志位SM1.1保存最后一次被移出的位的值。2.循环右移位和循环左移位指令循环移位指令将输入IN中各位的值向右或向左循环移动N位后,送给输出OUT指定的地址。被移出来的位将返回到另一端空出来的位置。移出的最后一位的数值存放在溢出标志位SM1.1。如果移动的位数N大于允许值,执行循环移位之前先对N进行求模运算。例如字循环移位时,将N除以16后取余数,得到的有效移位次数为0~15。如果为0则不移位。符号位也被移位。3.移位寄存器指令下图中的14位移位寄存器由V30.0~V31.5组成,在I0.3的上升沿,I0.4的值从移位寄存器的最低位V30.0移入,寄存器中的各位左移一位,最高位V31.5的值被移到溢出标志位SM1.1。N为−14时,I0.4的值从最高位V31.5移入,寄存器中的各位右移一位,从最低位V30.0移到溢出标志位SM1.1。4.2.3数据转换指令1.标准转换指令除了解码、编码指令之外的10条指令属于标准转换指令。输入参数IN指定的数据转换后保存到输出参数OUT指定的地址。BCD码与整数相互转换的指令中,整数的有效范围为0~9999。如果转换后的数值超出输出的允许范围,溢出标志位SM1.1被置为ON。2.段码指令七段显示器的D0~D6段分别对应于段码指令输出字节的第0位~第6位,某段应亮时输出字节中对应的位为1,反之为0。段码指令很少使用。3.计算程序中的数据转换压力变送器的量程为0~10MPa,输出信号为0~10V,AI模块的量程为0~10V,转换后的数字量为0~27648,设转换后的数字为N,压力值转换公式为P=(10000N)/27648=0.36169×N(kPa)4.解码指令与编码指令解码指令DECO根据输入字节IN的最低4位表示的位号,将输出字OUT对应的位置为1,输出字的其他位均为0。16#0008=2#0000000000001000。编码指令ENCO将输入字IN中的最低有效位(为1的位)的位编号写入输出字节OUT的最低4位。16#0210=2#0000001000010000。存储器填充指令FILL用输入参数IN指定的字值填充从地址OUT开始的N个连续的字。4.2.5实时时钟指令1.用编程软件读取与设置实时时钟的日期和时间单击“PLC”菜单功能区的“设置时钟”按钮,打开“CPU时钟操作”对话框。可以读取PC、PLC的时钟,修改和下载日期时间。2.读取实时时钟指令READ_RTC从CPU的实时时钟读取当前日期和时间,8字节时间缓冲区依次存放年的低2位、月、日、时、分、秒、0和星期的代码,星期日为1。日期和时间的数据类型为字节型BCD码。3.设置实时时钟指令SET_RTC将8字节时间日期值写入CPU的实时时钟。【例4-2】用实时时钟定时控制设备。LDSM0.0TODRVB70//小时分钟值在VW73LDW>=VW73,VW78//VW78中是起始时、分值AW
/
本文档为【S7-200 SMART PLC编程及应用电子课件(廖常初)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索