【文档说明】S7-200-SMART-PLC编程及应用电子课件.ppt,共(234)页,6.763 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45435.html
以下为本文档部分文字说明:
说明与编程软件有关的教学内容请在教学时以软件演示为主,可参考视频教程中的讲法。在教案中仅给出提示。课件中的图都是书中的,作者和出版社对这些图拥有版权,请不要用到正式出版物中。希望能得到各位老师使用教材的情况,例如学
时数、讲课的内容和实验内容。衷心希望老师们对教材和课件提出宝贵的意见。作者E-mail:liaosun@cqu.edu.cn。廖常初2014年9月22日注:原课件分章节,此处合并S7-200SMARTPLC编程及应用重庆大学廖常初主编第1章PLC的
硬件与工作原理1.1S7-200SMART系列PLC1.1.1PLC的基本结构1.CPU模块CPU模块主要由CPU芯片和存储器组成。2.I/O模块I/O模块是输入(Input)模块和输出(Output)模块的简称。输入模块用来采集输入信
号,输出模块用来控制外部的负载和执行器。I/O模块还有电平转换与隔离的作用。3.编程软件STEP7-Micro/WINSMART用来生成和编辑用户程序,和监控PLC的运行。4.电源PLC使用AC220V电源或DC24V电源。小型PLC可以为输入电路和外部的电子传感器提供D
C24V电源。1.1.2S7-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.3CPU模块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/RS2
32信号板。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,试求以k
Pa为单位的压力值。解: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的工作原理初始化后P
LC反复不停地分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.1O
Q0.0ANI0.2=Q0.02.0IQ0.0)(I0.1Q0.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.更改C
PU的工作模式编程软件与PLC之间建立起通信连接后,单击工具栏上的运行按钮和停止按钮。6.运行和调试程序在RUN模式用外接的小开关模拟按钮信号和过载信号。2.3符号表与符号地址的使用1.打开符号表在符号表中定义的符号属于全局变量,可以在所有的POU中使用它们。单击导航栏或双击项目树的符号表图
标,打开符号表。2.专用的符号表可用右键菜单命令删除或打开I/O符号表或系统符号表。不能改写POU符号表的内容。3.生成符号左边两列是地址重叠和未使用的符号列,绿色波浪下划线表示未定义的符号。红色的文本表示有语法错误,红色波浪下划线表
示用法无效。4.用右键菜单命令生成用户符号表5.表格的通用操作调节列的宽度,用右键菜单命令插入新的行,用〈↓〉键在表格的底部增添一个新的行,按〈TAB〉键光标将移至右边下一个单元格。单击最左边的行号,选中整个行。单击某个单元格,按住〈S
hift〉键,单击对角线的单元格,同时选中矩形范围内所有的单元格。删除、复制和粘贴选中的对象。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.强制的操作方法将要强制的值1
6#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在S
TOP模式时,单击“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-200SM
ART与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对应的
十进制数为1158222212710(3)有符号数的表示方法用二进制补码来表示有符号数,最高位为符号位,最高位为0时为正数,反之为负数。正数的补码是它本身,最大的16位二进制正数为2#011111
1111111111(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对应的十进制数为216
1+15160=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#82
9。电梯的楼层数转换为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为VW1
00和VD100的最高位字节。字节、字和双字都是无符号数,它们的数值用16#表示。4.16位整数INT和32位双整数DINT都是有符号数。最高位为符号位。5.32位浮点数(REAL,实数)可以表示为1.m2E,IEEE标准格式的浮点数的格式为1.m2e,最高位为符号
位。指数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&VB2
00,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*V
D10,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时间间隔数被加到定时器当前值中。定时器位和当前值在整个扫描周期中不变。10
0ms分辨率的定时器记录从定时器上次更新以来经过的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怎样学习功能指令功能指令分为较常用的指令、与数据的基本操作有关的指令、与PL
C的高级应用有关的指令和用得较少的指令。初学功能指令时,首先可以按指令的分类浏览所有的指令。初学者没有必要花大量的时间去熟悉功能指令使用中的细节,应重点了解指令的基本功能和有关的基本概念。应通过读程序、编程序和调试程序来学习功能指令。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.字节、字、双字的块传送指令块传送指令将起始地址为I
N的N个连续的存储单元中的数据,传送到从地址OUT开始的N个存储单元,字节变量N=1~255。6.字节交换指令字节交换指令SWAP用来交换输入字IN的高字节与低字节。应采用脉冲执行方式。4.2.2移位与循环移位指令移位位数N的数据类型为BYTE。1.右移位和左移位指令移位指令将输入IN
中的数各位的值向右或向左移动N位后,送给输出OUT指定的地址。移位指令对移出位自动补0,有符号的字和双字的符号位也被移位。如果移位次数非0,“溢出”标志位SM1.1保存最后一次被移出的位的值。2.循环右移位和循环左移位指令循环移位指令将输入I
N中各位的值向右或向左循环移动N位后,送给输出OUT指定的地址。被移出来的位将返回到另一端空出来的位置。移出的最后一位的数值存放在溢出标志位SM1.1。如果移动的位数N大于允许值,执行循环移位之前先对N进行求模运算。例如字循环移位时,将N除以16后取余数,得到的有效移位次数为0~1
5。如果为0则不移位。符号位也被移位。3.移位寄存器指令下图中的14位移位寄存器由V30.0~V31.5组成,在I0.3的上升沿,I0.4的值从移位寄存器的最低位V30.0移入,寄存器中的各位左移一位,最高位V
31.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=(10000N)/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<VW73,VW80//VW80中是结束时、分值=Q0.2//在设置的时间范围内,Q0.2为1状态4.3数学运算指令4.3.1四则运算指令与递增递减指令1
.加减乘除指令梯形图IN1+IN2=OUT,IN1–IN2=OUT,IN1*IN2=OUT,IN1/IN2=OUT语句表IN1+OUT=OUT,OUT–IN1=OUT,IN1*OUT=OUT,OUT/IN1=OUT指令影响SM1.0(零
标志)、SM1.1(溢出标志)、SM1.2(负数标志)和SM1.3(除数为0)。MUL将两个16位整数相乘,产生一个32位乘积。DIV指令将两个16位整数相除,运算结果的高16位为余数,低16位为商。【例4
-3】压力变送器的压力计算公式为P=10000×(N–5530)/22118(kPa),N为整数。MUL指令得到的乘积为双整数。用右键菜单命令强制AIW16。2.递增与递减指令梯形图中IN+1=OUT,语句表中OUT+1=OUT4.3.2浮点数函数运算指令浮点数函
数运算指令的输入参数IN与输出参数OUT均为实数。1.三角函数指令输入值是以弧度为单位的浮点数,角度值乘以π/180转换为弧度值。2.自然对数和自然指数指令3.平方根指令将正实数开平方4.3.3逻辑运算指令1.取反指令取反指令将多位二进制数逐位取反,各位由0变为1,由1变为0。2.逻辑运算指令字节
、字、双字“与”运算时,如果两个操作数的同一位均为1,运算结果的对应位为1,否则为0。“或”运算时如果两个操作数的同一位均为0,运算结果的对应位为0,否则为1。“异或”(ExclusiveOr)运算时如果两个操作数的同一位不同,运算结果的对应位为1,否则为0。3.逻辑运算指令应用举例用字节逻
辑“或”运算将QB0的最低3位置为1,其余各位保持不变。QB0的某一位与1作“或”运算,运算结果为1,与0作“或”运算,运算结果不变。IW4的低12位用来读取3位拨码开关的BCD码,IW4的高4位另作他用。16#0FFF的最高4位二进制数为0,低
12位为1。与IW4作“与”运算后,VW12的低12位与IW4的低12位的值相同,VW12的高4位为0。4.4程序控制指令4.4.1跳转指令1.跳转与标号指令JMP线圈通电时,跳转条件满足,跳转指令使程序流程跳转到对应的标号处。JMP与LBL指令的操作数n为常数0
~255,只能在同一个程序块中跳转。I0.3的常开触点断开时,跳转条件不满足,顺序执行下面的指令。I0.3的常开触点接通时,跳转到标号LBL2处,不执行第二个程序段。2.跳转指令对定时器的影响在各定时器正
在定时时跳转,100ms定时器停止定时,当前值保持不变。10ms和1ms定时器继续定时,定时时间到时跳转区外的触点也会动作。停止跳转时100ms定时器继续定时。3.跳转对功能指令的影响未跳转时INC_B指令使VW2每秒加1。跳
转条件满足时VW2的值保持不变。【例4-6】用跳转指令实现图4-28中的流程图的要求。4.4.2循环指令1.单重循环驱动FOR指令的逻辑条件满足时,反复执行FOR与NEXT之间的指令。执行到NEXT指令时,INDX的值加1,如果INDX的值小于等于结束值F
INAL,返回去执行FOR与NEXT之间的指令。如果INDX的值大于结束值,循环终止。【例4-7】在I0.5的上升沿,求VB130~VB133这4个字节的异或值,用VB134保存。首先将VB134清0,并设置地址指针AC1的初始值。第一次循环将指针AC1所指的VB130与VB134异
或,然后将指针值加1,指针指向VB131,为下一次循环的异或运算做好准备。VB130~VB133同一位中1的个数为奇数时,VB134对应位的值为1,反之为0。2.多重循环循环最多可以嵌套8层。在I0.6的上升沿,执行10次外层循环,如果I0.7为ON,每执行一次外层循环,将执行8次内
层循环。执行完后,VW10的值增加80。4.4.3其他指令1.条件结束指令与条件停止指令条件结束指令END的逻辑条件满足时终止当前的扫描周期。条件停止指令STOP使CPU从RUN模式切换到STOP模式。2.GET_ERROR(获取非致
命错误代码)指令很少使用。3.监控定时器复位指令T32等组成一个脉冲发生器,从I0.4的上升沿开始,M0.2输出一个宽度等于T32预设值的脉冲。在脉冲期间反复执行JMP指令,因此扫描时间略大于T32的预设值。扫描周期超过500ms时,CPU自
动切换到STOP模式。可用WDR指令重新触发监控定时器,以扩展允许使用的扫描时间。4.5局部变量与子程序4.5.1局部变量1.局部变量与全局变量每个程序组织单元(POU)均有由64字节局部(L)存储器组成的局部变量。局部变量只在它被创建的POU中有效,全局符号在各POU中均有效。局部变量有以下优
点:1)尽量使用局部变量的子程序易于移植到别的项目。2)同一级POU的局部变量使用公用的物理存储区。3)局部变量用来在子程序和调用它的程序之间传递输入参数和输出参数。2.查看局部变量表单击“视图”菜单的“组件”按钮,再单击打开的下拉式菜单中的
“变量表”。3.局部变量的类型临时变量(TEMP)是暂时保存在局部数据区中的变量。主程序或中断程序只有TEMP变量。IN(输入参数)用来将调用它的POU提供的数据值传入子程序。OUT(输出参数)用来将子程序的执行结果返回给调用它的POU。IN_OUT(输入_输出参数)的初始值由调
用它的POU传送给子程序,并用同一参数将子程序的执行结果返回给调用它的POU。每个子程序最多可以使用16个输入/输出参数。4.在局部变量表中增加和删除变量子程序中变量名称前面的“#”表示局部变量,是软件自动添
加的。5.局部变量的地址分配由编程软件自动分配局部变量的地址。6.局部变量数据类型检查局部变量表中指定的数据类型应与调用它的POU的变量的数据类型匹配。4.5.2子程序的编写与调用1.子程序的作用子程序将程序分成容易管理的小块
,使程序结构简单清晰,易于查错和维护。可以多次调用同一个子程序,使用子程序可以减少扫描时间。2.子程序中的定时器停止调用子程序时,如果子程序中的定时器正在定时,100ms定时器将停止定时,当前值保持不变,重新调用时继续定时;1ms、10ms定时器继续定时,定时时间到时,其常开触点可以
在子程序之外起作用。3.子程序举例子程序的重命名,生成局部变量,编写程序。4.子程序的调用:将指令树中的子程序“拖”到程序编辑器中需要的位置。如果用语句表编程,子程序调用指令的格式为CALL子程序名称,参数1,参数2,……参数nn=1~16。在语句表中调用带参数的子程序时,输入参数在最前面,其
次是输入/输出参数,最后是输出参数。梯形图中从上到下的同类参数,在语句表中按从左到右的顺序排列。在调用子程序时,CPU保存当前的逻辑堆栈,将栈顶值置为1,堆栈中的其他值清零,控制转移至被调用的子程序。该子程序执行完后,CPU将堆栈恢复为调用时保存的
数值,并将控制权交还给调用子程序的POU。子程序在同一个周期内被多次调用时,子程序内部不能使用上升沿、下降沿、定时器和计数器指令。如果在使用子程序调用指令后修改了该子程序中的局部变量表,调用指令将变为
无效。必须删除无效调用,重新调用修改后的子程序。子程序调用最多可以嵌套8级,从中断程序调用子程序时嵌套深度是4级。5.用地址指针作输入参数的子程序【例4-8】对VB30开始的4B数据作异或运算,并将运算结果存放
在VB40中。6.子程序的有条件返回在子程序中的RET(从子程序有条件返回)线圈通电时停止执行子程序,返回调用它的程序。7.有保持功能的电路的处理如果参数“电机”的数据类型为输出(OUT),两次调用子程序SBR_0,因为保存参数“电机”(L0.2)的存储器是共用的,接通I0.0外接的小开
关,Q0.0和Q0.1同时变为ON。将输出参数“电机”的变量类型改为IN_OUT,参数“电机”返回的运算结果分别用Q0.0和Q0.1保存,解决了上述问题。4.6中断程序与中断指令4.6.1中断的基本概念在中断事件
发生时由操作系统立即调用中断程序。中断程序是用户编写的。中断程序不能再被中断,中断程序越短越好。中断事件号见表4-12。4.6.2中断指令1.中断允许指令与中断禁止指令中断允许指令ENI允许处理所有被连接的中断事件。禁止中断指令DI
SI禁止处理所有中断事件。进入RUN模式时自动禁止中断。2.中断连接指令与中断分离指令中断连接指令ATCH建立中断事件EVNT与对应的中断程序INT的联系。中断事件由中断事件号指定,中断程序由中断程序号指定。中断分离
指令DTCH断开中断事件与中断程序之间的联系。3.中断程序的执行CPU自动调用中断程序需要满足下列条件:1)执行了全局中断允许指令ENI。2)执行了中断事件对应的ATCH指令。3)出现对应的中断事件。4.中断优先级与中断队列溢出中断优先级分组:通信(最高优先级)
、I/O中断和定时中断。在优先级范围内,CPU按照先来先服务的原则处理中断。4.6.3中断程序举例1.通信端口中断在自由端口模式,接收消息完成、发送消息完成和接收一个字符均可以产生中断事件。2.I/O中断I/O中断包括I0.0~I0.3的上升沿、下降沿中
断;高速计数器的当前值等于设定值、计数方向改变和计数器外部复位中断。【例4-9】在I0.0的上升沿通过中断使Q0.0立即置位。在I0.1的下降沿通过中断使Q0.0立即复位。//主程序OB1LDSM0.1//第一次扫描时ATCHINT_0,0//I0.0上升沿时执行0号中断程序ATCHINT_1,3
//I0.1下降沿时执行1号中断程序ENI//允许全局中断LDSM5.0//如果检测到I/O错误DTCH0//禁用I0.0的上升沿中断DTCH3//禁用I0.1的下降沿中断//中断程序0(INT_0)LDSM0.
0//该位总是为ONSIQ0.0,1//使Q0.0立即置位TODRVB10//读实时时钟//中断程序1(INT_1)LDSM0.0//该位总是为ONRIQ0.0,1//使Q0.0立即复位TODRVB18//读实时时钟3.定时中断
定时中断0、1的周期为1~255ms,分别写入SMB34和SMB35。每当定时时间到时,执行相应的定时中断程序。【例4-10】用定时中断0实现周期为2s的高精度定时。//主程序OB1LDSM0.1//第一次扫描时MOVB0,VB10//将中断次数计数器清0MOV
B250,SMB34//设置定时中断0的中断时间间隔为250msATCHINT_0,10//指定产生定时中断0时执行0号中断程序ENI//允许全局中断//中断程序INT_0,每隔250ms中断一次LDSM0.0//该位总是为ONINCBVB10//中断次数计数器加1LDB=8,VB10//
如果中断了8次(2s)MOVB0,VB10//将中断次数计数器清0INCBQB0//每2s将QB0加14.T32/T96中断【例4-11】使用T32中断控制8位节日彩灯,每3s循环左移一位。1ms定时器T3
2定时时间的中断事件号为21,最长定时时间为32.767s。//主程序OB1LDSM0.1//第一次扫描时MOVB16#F,QB0//设置彩灯的初始状态,最低4位的灯被点亮ATCHINT_0,21//指定T32定时时间到时执行
中断程序INT_0ENI//允许全局中断LDNM0.0//T32和M0.0组成脉冲发生器TONT32,3000//T32的预设值为3000msLDT32=M0.0//中断程序INT_0LDSM0.0RLBQB0,1//彩灯循环左移1位4.7高速计数器与高速脉冲输出指令4.7.1
高速计数器的工作模式与外部输入信号1.增量式编码器高速计数器一般与增量式编码器配合使用,单通道增量式编码器只产生一个脉冲序列。双通道A、B相型编码器提供转速和转轴旋转方向的信息。三通道增量式编码器的Z相零位脉冲用作系统清零信号,或作为坐标的原
点。2.绝对式编码器绝对式编码器输出多位二进制数,反映了运动物体所处的绝对位置。3.高速计数器的工作模式HSC0和HSC2有8种计数模式:1)无外部方向控制信号的单相加/减计数器(模式0、1)。2)带外部方向
控制信号的单相加/减计数器(模式3、4)。3)有加、减计数时钟脉冲输入的双相计数器(模式6、7)。4)A/B相正交计数器(模式9、10),两路计数脉冲的相位互差90°。根据有无复位输入和启动输入,上述4类工作模式又可以各分为两种。图
4-381倍速A/B相正交计数器A/B相正交计数器可以选择1倍速模式和4倍速模式,1倍速模式在时钟脉冲的每一个周期计1次数,4倍速模式在两个时钟脉冲的上升沿和下降沿都要计数。HSC1和HSC3因为只有一个时钟脉冲输入,只支持模式0。4.
高速计数器的外部输入信号见表4-15。4.7.2高速计数器的程序设计1.高速计数器指令HDEF指令定义高速计数器的工作模式,HSC指令用来激活高速计数器。【例4-12】要求高速计数器HSC0用模式0的计数来周期性地控制Q0.1和Q0.2,计数脉冲的周期为1ms。第1页选中配置“HC0”,
计数模式为默认的模式0。第2页采用默认的计数器名称HSC0。第3页(模式)设置计数模式为默认的模式0。第4页采用默认的计数器初始化子程序的符号名HSC0_INIT。设置计数器的预设值PV为4000,当前值CV为默认的0,初始计
数方向为加计数。第5页(中断)设置当前值等于预设值时产生中断,使用默认的中断程序符号名COUNT_EQ。第6页(步)设置步数为3步。第7页(第1步)自动选中“连接此事件到一个新的中断程序”,采用默认的新的中断程序的名称HSC0_STEP1。设置“新PV”为7000,不更新计数当前值和
计数方向。单击上面的“下一步”按钮。第8页(第2步)自动选中“连接此事件到一个新的中断程序”,采用默认的新的INT的名称HSC0_STEP2。设置“新PV”为3000,不更新计数当前值,新的计数方向为减计数。第9页(第3步)选中“连接此事件
到一个新的中断程序”,设置新INT的名称为COUNT_EQ。预设值更新为4000,当前值更新为0,计数方向改为加计数。实际上是开始下一周期的计数操作。单击下面的“下一步”按钮。第10页(组件)显示将要生成的初始化子程序HSC_INIT和3
个中断程序。在第11页(完成)单击“生成”按钮,自动生成上述的4个程序。主程序在I0.1的上升沿时调用HSC_INIT。程序中对Q0.1和Q0.2置位和复位的指令是人工添加的。4.7.3高速脉冲输出与开环位置控制1.PWM发
生器占空比是脉冲宽度与脉冲周期之比。脉冲列(PTO)功能提供周期与脉冲数目可以由用户控制的占空比为50%的方波脉冲输出。脉冲宽度调制(PWM)功能提供连续的、周期与脉冲宽度可以由用户控制的输出。CPUST20有两个脉冲输出通道Q0.0和Q0.1,CPUST30/ST40/S
T60有3个脉冲输出通道Q0.0、Q0.1和Q0.3,支持的最大脉冲频率为100kHz。用脉冲输出向导生成PWM指令PWMx_RUN,时间基准为µs。输入参数RUN为ON时输出脉冲。4.8数据块应用与
字符串指令4.8.1数据块概述1.在数据块中对地址和数据赋值数据块用来给V存储器的字节、字和双字地址赋初始值。数据块的第一行必须包含明确的地址(包括符号地址),以后的行可以不包含明确的地址。在单地址值后面键入多个
数据或键入只包含数据的行时,由编辑器进行地址赋值。2.错误处理输入错误的地址和数据、地址在数据值之后、数值超出允许范围、使用非法语法或无效值、使用了符号地址或中文的标点符号时,错误行的左边出现红色的叉,出错的地址
或数据的下面用波浪线标示。用输出窗口显示编译错误。4.8.2字符、字符串与数据的转换指令1.字符和字符串的表示方法字符串常量的第一个字节是字符串的长度(即字符个数)。在符号表和程序编辑器中,字节、字和双字的ASCII字符用英语的单引号表示,例如‟A‟、‟AB‟
和‟AB12‟。ASCII常量字符串用英语的双引号表示,例如”ABCDE”。数据块用英语的单引号定义字符常量,可以将VB地址分配给任意个字符的常量,将VW和VD地址分别分配给2个和4个字符的常量。用英语的双引号定义最多254个字符的字符串,只能将V或VB地址用于字符串分配。程序编辑
器中用英语的单引号表示1个、2个、4个ASCII字符常量。用英语的双引号定义最多126个字符的字符串。有效的地址为VB。字符、字符串与数据转换指令见表4-17。4.8.3字符串指令求字符串长度指令SLEN返回输入参数IN指定的字符串的长度值。字符串复制指令SCPY将参数IN指定的字
符串复制到OUT指定的字符串。字符串连接指令SCAT将参数IN指定的字符串附加到OUT指定的字符串后面。【例4-13】字符串指令应用举例。LDI0.3SCPY"HELLO",VB70//将字符串"HELLO"复制到VB70开始的存储区SCAT"WORLD",V
B70//将字符串"WORLD"附到VB70开始的字符串的后面SLENVB70,VB82//求VB70开始的字符串的长度4.从字符串中复制子字符串指令执行完例4-13中的程序后,SSTR_CPY指令将IN指定的字符串“HELLOWORLD”中的第7个字符开始的5个字符
„WORLD‟复制到VB83开始的新字符串中。5.字符串搜索指令STR_FIND指令在IN1指定的字符串“HELLOWORLD”中,搜索字符串“WORLD”,用地址VB89保存字符„WORLD‟的首个字符W在字符串IN1中的位置。V
B89的初始值为1表示从第一个字符开始搜索。如果没有找到,OUT被清零。第5章数字量控制系统梯形图程序设计方法5.1梯形图的经验设计法经验设计法在一些典型电路的基础上,根据被控对象对控制系统的具体要求,不断地修改和完善梯形图。1.有记忆功能的电路2.经验设计法
举例按下起动按钮SB2或SB3,要求小车在左、右限位开关之间不停地循环往返,直到按下停车按钮SB1。用分开的两个起保停电路来分别控制小车的右行和左行。将Q0.0和Q0.1的常闭触点分别与对方的线圈串联,称为“互
锁”。通过“按钮联锁”,不按停车按钮就可以改变电机的旋转方向。在PLC外部设置由KM1和KM2的辅助常闭触点组成的硬件互锁电路,以确保不会出现因为两个接触器同时动作使三相电源相间短路的故障。限位开关的常闭触点使小车在极限位置停止运行
,限位开关的常开触点使小车反向起动。图5-43.常闭触点输入信号的处理如果将图5-3中FR的触点改为常闭触点,未过载时它是闭合的,I0.5为ON,梯形图中I0.5的常开触点闭合。梯形图中应将I0.5的常开触点与Q0.0或Q0
.1的线圈串联。过载时FR的常闭触点断开,I0.5变为OFF,梯形图中I0.5的常开触点断开,使Q0.0或Q0.1的线圈断电,起到了过载保护的作用。梯形图中I0.5的触点类型与继电器电路中对应的FR的触点类型相反。5.2顺序控制
设计法与顺序功能图所谓顺序控制,就是按照生产工艺预先规定的顺序,在各个输入信号的作用下,根据内部状态和时间的顺序,在生产过程中各个执行机构自动地有秩序地进行操作。顺序控制设计法首先根据系统的工艺过程,画出顺序功能图,然后根据顺序功能图画出梯形图。5.2.1步与动作1.步的基本概念顺序
控制设计法最基本的思想是将系统的一个工作周期划分为若干个顺序相连的阶段,这些阶段称为步,并用编程元件(例如M)来代表各步。按下图5-5中的起动按钮I0.0,先开引风机,延时6s后再开鼓风机。按了停机按钮I0.1,先停鼓风机,5s后再
停引风机。根据Q0.0和Q0.1状态的变化,一个工作期间分为3步,分别用M0.1~M0.3来代表它们,另外还设置了一个等待起动的初始步M0.0。用矩形方框表示步。2.初始步与系统的初始状态相对应的步称为初始步,初始步用双线方框表示,每一个顺序功能图至少应该有一个初始
步。3.活动步当系统正处于某一步所在的阶段时称该步为“活动步”。步处于活动状态时,相应的动作被执行;处于不活动状态时,相应的非存储型动作停止执行。4.与步对应的动作或命令可以用图5-6中的两种画法来表
示多个动作。图5-5中的Q0.1为非存储型动作,在步M0.2为活动步时,Q0.1为ON;步M0.2为不活动步时,Q0.1为OFF。图5-5中的T37在步M0.1为活动步时定时,T37的IN输入为ON。T37的IN输入相当于步
M0.1的一个非存储型动作,所以将T37放在步M0.1的动作框内。图5-5中的动作Q0.0在连续的3步都应为ON,图5-7用动作的修饰词“S”在它应为ON的第一步M0.1将它置位,用动作的修饰词“R”在它应为ON的最后一步的下一步M0.0,将它复位。Q0.
0这种动作是存储性动作。5.2.2有向连线与转换条件1.有向连线在画顺序功能图时,将代表各步的方框按它们成为活动步的先后次序顺序排列,并用有向连线将它们连接起来。步的活动状态习惯的进展方向是从上到下或从左至右,在这两个方向有向连
线上的箭头可以省略。如果不是上述的方向,则应在有向连线上用箭头注明进展方向。2.转换步的活动状态的进展是由转换的实现来完成的,用有向连线上与有向连线垂直的短划线来表示转换。3.转换条件使系统由当前步进入下一步的信号称为转换条件。图5-5中的转换条件T37对应于T37延时接通的常开触点。转换条件I
0.0和分别表示当输入信号I0.0为ON和OFF时转换实现。转换条件↑I0.0和↓I0.0分别表示在I0.0的上升沿和下降沿时转换实现。5.2.3顺序功能图的基本结构1.单序列没有分支与合并2.选择序列选择序列的开始称为分支,
转换符号只能标在水平连线之下。如果步5是活动步,并且转换条件h为ON,则由步5→步8。如果步5是活动步,并且k为ON,则由步5→步10。选择序列的结束称为合并,转换符号只允许标在水平连线之上。如果步9是活动步,并且转换条件j
为ON,则由步9→步12。如果步11是活动步,并且n为ON,则由步11→步12。3.并行序列并行序列用来表示系统的几个同时工作的独立部分的工作情况。并行序列的开始称为分支,当步3是活动步,并且转换条件e为ON,从步3转换到步4和步6。为了强调转换的同步实现,水平连线用双线表示。
并行序列的结束称为合并,在水平双线之下,只允许有一个转换符号。步5和步7都处于活动状态,并且转换条件i为ON时,从步5和步7转换到步10。4.复杂的顺序功能图举例某专用钻床进入自动运行之前,两个钻头在最上面,上限位开关I0.3和I0.5为ON,系统处于初始步,减计数器
C0的设定值3被送入计数器字。操作人员放好工件后,按下起动按钮I0.0,转换条件I0.0*I0.3*I0.5满足,由初始步转换到步M0.1,工件被夹紧。夹紧后压力继电器I0.1为ON,由步M0.1转换到步
M0.2和M0.5,两只钻头同时开始向下钻孔。钻到由下限位开关设定的深度时,钻头上升,升到由上限位开关设定的起始位置时停止上升,进入等待步。在步M0.5,C0的当前值加1,C0的常闭触点闭合,转换条件满足。两个钻头都上升到位后,将转换到步M1.0。工
件旋转120到位时返回步M0.2和M0.5,开始钻第二对孔。3对孔都钻完后,计数器的当前值变为3,其常开触点闭合,转换条件C0满足,进入步M1.1,工件松开。松开到位时,I0.7为ON,系统返回初始步M0.0。
图5-10专用钻床控制系统的示意图与顺序功能图用并行序列来描述两个钻头同时工作的过程。在步M0.1之后,有一个并行序列的分支。当M0.1为活动步,且转换条件I0.1得到满足,并行序列的两个单序列中的第1步(步M0.2和M0.5)同时变为活动步。此后两个单序列内部各步的活动
状态的转换是相互独立的。两个单序列的最后1步应同时变为不活动步。但是两个钻头一般不会同时上升到位,所以设置了等待步M0.4和M0.7来同时结束两个并行序列。在步M0.4和M0.7之后,有一个选择序列的分支。没有钻完3对孔时C0的常闭触点闭合,转换条件满足,如果两个钻头都上升到位,将
从步M0.4和M0.7转换到步M1.0。如果已经钻完了3对孔,C0的常开触点闭合,转换条件C0满足,将从步M0.4和M0.7转换到步M1.1。在步M0.1之后,有一个选择序列的合并。当步M0.1为活动步,而且转换条件I0.1得到满足(I0.1为ON),将转换到步M0.2和M0.5。当步M1.0为活
动步,而且转换条件↑I0.6得到满足,也会转换到步M0.2和M0.5。5.2.4顺序功能图中转换实现的基本规则1.转换实现的条件1)该转换所有的前级步都是活动步。2)相应的转换条件得到满足。2.转换实现应完成的操作1)使所有的后续步变为活动步。2)
使所有的前级步变为不活动步。3.绘制顺序功能图时的注意事项1)两个步绝对不能直接相连,必须用一个转换将它们分隔开。2)两个转换也不能直接相连,必须用一个步将它们分隔开。3)不要漏掉初始步。4)在顺序功能图中一般应有由步和有
向连线组成的闭环。4.顺序控制设计法的本质经验设计法试图用输入信号I直接控制输出信号Q,由于不同的系统的输出量Q与输入量I之间的关系各不相同,不可能找出一种简单通用的设计方法。顺序控制设计法则是用输入量I控制代表各步的编程元
件(例如M),再用它们控制输出量Q。步是根据输出量Q的状态划分的,输出电路的设计极为简单。任何复杂系统的代表步的存储器位M的控制电路的设计方法都是通用的,并且很容易掌握。5.3使用置位复位指令的顺序控制梯形图设计方法一般采用图5-12所示的典型结构,自动方式和手动方式都需要执行的操作放在公用程序
中,公用程序还用于自动程序和手动程序相互切换的处理。I2.0是自动/手动切换开关,当它为ON时调用手动程序,为OFF时调用自动程序。5.3.1单序列的编程方法1.步的控制电路的设计在梯形图中,用编程元件(例如M)代表步,当某步为活动步时,该步
对应的编程元件为ON。当该步之后的转换条件满足时,转换条件对应的触点或电路接通。将转换条件对应的触点或电路与代表所有前级步的编程元件的常开触点串联,作为与转换实现的两个条件同时满足对应的电路。该电路接通时,
将所有后续步对应的存储器位置位,和将所有前级步对应的存储器位复位。图5-13中的转换条件对应于I0.1的常闭触点和I0.3的常开触点组成的并联电路,两个前级步对应于M1.0和M1.1,所以将M1.0和M1.1的常开触点组成
的串联电路与I0.1和I0.3的触点组成的并联电路串联,作为转换实现的两个条件同时满足对应的电路。该电路接通时,将代表前级步的M1.0和M1.1复位,同时将代表后续步的M1.2和M1.3置位。图5-15中用SM0.1的常开触点
,将初始步M0.0置位为活动步,将非初始步M0.1~M0.3复位为不活动步。初始步M0.0下面的转换条件为I0.0,用M0.0和I0.0的常开触点组成的串联电路来表示转换实现的两个条件。该电路接通时,两
个条件同时满足。用置位指令将后续步对应的M0.1置位,用复位指令将前级步对应的M0.0复位。每一个转换对应一块这样的电路。2.输出电路的设计Q0.1仅仅在步M0.2为ON,因此用M0.2的常开触点控制Q0
.1的线圈。T37仅在步M0.1为活动步时定时,因此用M0.1的常开触点控制T37。动作Q0.0在步M0.1~M0.3均为ON,将M0.1~M0.3的常开触点并联后,来控制Q0.0的线圈。3.程序的调试应根据顺序功能图而不是梯形图来调试顺序控制程序。用状态
图表监控包含所有步和动作的MB0和QB0。此外还可以用状态图表监控两个定时器的当前值和IB0。图5-15OB1中的梯形图5.3.2选择序列与并行序列的编程方法1.选择序列的编程方法如果某一转换与并行序列的分支、合并无关,它的前级步和后续步都只有一个,需要复位、置位的
存储器位也只有一个,因此选择序列的分支与合并的编程方法与单序列的编程方法完全相同。2.并行序列的编程方法图5-17中步M0.2之后有一个并行序列的分支,用M0.2和转换条件I0.3的常开触点组成的串联电路,将后续步对应的M0.3和M0.5同时置位
,将前级步对应的M0.2复位。I0.6对应的转换之前有一个并行序列的合并,用两个前级步M0.4和M0.6的常开触点,和转换条件I0.6的常开触点组成的串联电路,将后续步对应的M0.0置位,和将前级步对应的M0.4、M0.6复位。图5-17调试复杂的顺序功能图对应
的程序时,应充分考虑各种可能的情况,对系统的各种工作方式、顺序功能图中的每一条支路、各种可能的进展路线,都应逐一检查,不能遗漏。首先调试经过步M0.1的流程,然后调试跳过步M0.1的流程。应注意并行序列中各子序列的第1步是否同时变为活动步,最
后一步是否同时变为不活动步。最后是否能返回初始步。5.3.3应用举例1.程序结构打开随书光盘中的例程“专用钻床控制”。OB1中符号名为“自动开关”的I2.0为ON时调用自动程序,为OFF时调用手动程序。在手动方式,将初始步对应的M0.0置位,将非初始步对应的M0.1~M
1.1复位。上述操作主要是防止由自动方式切换到手动方式,然后又返回自动方式时,可能会出现同时有两个活动步的异常情况。2.手动程序手动程序用8个手动按钮分别独立操作大、小钻头的升降、工件的旋转和夹紧、松开。每对相反操作的输出点
用对方的常闭触点实现互锁,用限位开关对钻头的升降限位。3.自动程序当步M0.1是活动步,并且转换条件I0.1为ON时,步M0.2和M0.5同时变为活动步,两个序列开始同时工作。在梯形图中,用M0.1和I0.1的常开触点组成的串联电路来控制对M0.2和M0.5的同时置位,以及对前级步
M0.1的复位。另一种情况是当步M1.0为活动步,并且在转换条件I0.6的上升沿时转换实现。并行序列合并处的转换有两个前级步M0.4和M0.7,它们均为活动步且转换条件满足时,将实现并行序列的合并。未钻完3对孔时,C0的常闭触点闭合,转换条件满
足,将转换到步M1.0。在梯形图中,用M0.4、M0.7常开触点和C0的常闭触点组成的串联电路将M1.0置位,使后续步M1.0变为活动步;同时将M0.4和M0.7复位,使前级步M0.4和M0.7变为不活动步。另一种情况是从步M0.4和M0.7转换到步M1.1。图5-225.4使用S
CR指令的顺序控制梯形图设计方法5.4.1顺序控制继电器指令1.顺序控制继电器指令顺序控制继电器(SCR)专门用于编制顺序控制程序。装载顺序控制继电器指令LSCRS_bit用来表示一个SCR段的开始。S_bit是顺序控制继电器的地
址,该顺序控制继电器为ON时,执行对应的SCR段中的程序,反之则不执行。顺序控制继电器结束(SCRE)指令用来表示SCR段的结束。顺序控制程序被划分为LSCR与SCRE指令之间的若干个SCR段,一个SCR段对应
于顺序功能图中的一步。顺序控制继电器转换指令“SCRTS_bit”的线圈通电时,用S_bit指定的后续步对应的SCR被置位为ON,同时当前活动步对应的SCR被操作系统复位为OFF,当前步变为不活动步。2.单序列的编程方法按下起动按钮I0.0
,1号运输带开始运行,10s后2号运输带自动起动。按下停机按钮I0.1,2号运输带立即停机,10s后1号运输带停机。用SCR指令和SCRE指令表示SCR段的开始和结束。在SCR段中用SM0.0的常开触点来驱动在
该步应为ON的输出点Q的线圈,并用转换条件对应的触点或电路来驱动转换到后续步的SCRT指令。“程序状态”中每一个SCR方框都是蓝色的。各SCR段内所有的线圈和指令实际上受到对应的顺序控制继电器的控制。图5-24中的步S0.2为
活动步,只执行指令“SCRS0.2”开始的SCR段内的程序,该SCR段内控制Q0.1的SM0.0的常开触点闭合,SCRE线圈通电。此时其他SCR段内的触点、线圈和定时器方框均为灰色,SCRE线圈断电。首次扫描时,将初始步对应的S0.0置位,只执行S0.0对应的SCR段,将其他步
对应的S0.1~S0.3复位。按下起动按钮I0.0,指令“SCRTS0.1”对应的线圈得电,使S0.1变为ON,操作系统使S0.0变为OFF,系统从初始步转换到第2步,只执行S0.1对应的SCR段。在该段中T37开始定时。S0.1的常开触点闭合,Q0.0的线圈通电,2号运输带开始运行。T
37的定时时间到时,其常开触点闭合,转换到步S0.2……Q0.0在S0.1~S0.3这3步中均应工作,不能在这3步的SCR段内分别设置一个Q0.0的线圈,所以用各SCR段之外的S0.1~S0.3的常开触点组成
的并联电路来驱动一个Q0.0的线圈。5.4.2选择序列与并行序列的编程方法1.选择序列的编程方法图5-25的S0.0为ON时,它对应的SCR段被执行,此时若转换条件I0.0的常开触点闭合,指令“SCRTS0.1”被执行,从步S0.0转换到步
S0.1。如果I0.2的常开触点闭合,指令“SCRTS0.2”被执行,从步S0.0转换到步S0.2。步S0.3之前有一个选择序列的合并,当步S0.1为活动步(S0.1为ON),并且转换条件I0.1满足,或步S0.2为活动步,并且转换条件I0.3满足,步S0.3
都应变为活动步。在步S0.1和步S0.2对应的SCR段中,分别用I0.1和I0.3的常开触点驱动指令“SCRTS0.3”,就能实现选择系列的合并。2.并行序列的编程方法步S0.3之后有一个并行序列的分支,用S0.3
对应的SCR段中I0.4的常开触点同时驱动指令“SCRTS0.4”和“SCRTS0.6”,来将两个后续步同时置位为活动步。同时S0.3被操作系统自动复位。步S0.0之前有一个并行序列的合并,因为转换条件为1,将S0.5和S0.7的常开触点串联,来控制对S0.0的置位和对S0
.5、S0.7的复位。5.4.3应用举例3条运输带顺序相连,按下起动按钮I0.2,下面的1号运输带开始运行,5s后2号运输带自动起动,再过5s后3号运输带自动起动。按了停止按钮I0.1后,先停3号运输带,5s后停2号运输带,再过5s
停1号运输带。在顺序起动3条运输带的过程中,操作人员如果发现异常情况,可以由起动改为停车(见左图)。步S0.1和步S.02之后有一个选择序列的分支,步S0.5和步S0.0之前有一个选择序列的合并。分3种不同的情况进行调试:1)从初始步开始,按正常起动和停车的顺序调试
程序。2)从初始步开始,模拟调试在起动了一条运输带时停机的过程。3)从初始步开始,模拟调试在起动了两条运输带时停机的过程。即在第3步M0.2为活动步时,按下和放开停止按钮I0.3,观察是否能跳过步M0.
3和步M0.4,进入步M0.5,延时后是否能返回初始步。5.5具有多种工作方式的系统的顺序控制梯形图设计方法5.5.1系统的硬件结构与工作方式1.硬件结构机械手用来将工件从A点搬运到B点,Q0.1为ON时工件被夹紧,为OFF时被松开。交流接触器KM用于在紧急情况下切断PLC的负载电
源。2.工作方式1)在手动工作方式,用6个按钮独立控制机械手的升、降、左、右行和松开、夹紧。2)在单周期工作方式的初始状态按下起动按钮I2.6,从初始步M0.0开始,按图5-37中的顺序功能图的规定完成一个周期的工作后,返回并停留在初始
步。3)在连续工作方式的初始状态按下起动按钮,从初始步开始,反复连续地工作。按下停止按钮,完成最后一个周期的工作后,返回并停留在初始步。4)在单步工作方式,从初始步开始,按一下起动按钮,系统转换到下一步,完成该步的任务后,自动停止工作并停留在该步。再按一下起动按钮,才开始执行下一步的操作。单
步工作方式用于系统的调试。5)机械手在最上面和最左边且夹紧装置松开时,称为系统处于原点状态。进入单周期、连续和单步工作方式之前,系统应处于原点状态。如果不满足这一条件,在回原点工作方式按起动按钮I2.6,可使系统自动
返回原点状态。3.程序的总体结构在主程序中用调用子程序的方法来实现不同的工作方式的控制(图5-33)。同时只能选择一种工作方式。公用程序是无条件调用的。方式选择开关在手动位置时调用手动程序,在回原点位置时调用回原点程序。为了简化程序,将单步、单周期和连续这3
种工作方式的程序合并为自动程序。5.5.2公用程序与手动程序1.公用程序公用程序用于处理各种工作方式都要执行的任务,以及不同的工作方式之间相互切换的任务。机械手在最上面和最左边、夹紧装置松开时,左限位开关I
0.4、上限位开关I0.2的常开触点和Q0.1的常闭触点组成的串联电路接通,原点条件M0.5为ON。在开始执行用户程序(SM0.1为ON)、系统处于手动状态或自动回原点状态(I2.0或I2.1为ON)时,如果M0.5为ON(满足原点条件),初始步对应的M0.0将被置位,为进入单
步、单周期和连续工作方式做好准备。如果此时M0.5为OFF,M0.0将被复位,按下起动按钮也不能进入步M2.0,系统不能在单步、单周期和连续工作方式工作。各种工作方式切换的处理:1)当系统从自动工作方式切换到手动或自动回原点工作方式时,I2.0和I2.1为ON,将图5-
37的顺序功能图中M2.0~M2.7复位,否则返回自动工作方式时,可能会出现同时有两个活动步的异常情况。2)退出自动回原点方式时,回原点开关I2.1的常闭触点闭合。此时将图5-39自动回原点的顺序功能图中的存储器位M1.0~M1.5复位。3)非连续工作方式时,I2.4的
常闭触点闭合,将连续标志位M0.7复位。2.手动程序为了保证系统的安全运行,在手动程序中设置了一些必要的联锁:1)用限位开关I0.1~I0.4的常闭触点限制机械手移动的范围。2)设置上升与下降之间、左行与右行之间的互锁。3)上限位开关I0.2的常开触点与控制左、右行的Q0.4
和Q0.3的线圈串联,机械手升到最高位置才能左、右移动。4)左、右限位开关I0.4或I0.3为ON时,才允许进行松开工件、上升和下降的操作。5.5.3自动程序图5-37顺序功能图最上面的转换条件与公用程序有关。单周期、连续和单步这3种工作方式主要是用“连续标志”M
0.7和“转换允许”标志M0.6来区分的。1.单周期与连续的区分上电后如果原点条件不满足,应进入手动或回原点方式,使原点条件满足,初始步M0.0为ON后切换到自动方式。系统工作在连续和单周期方式时,单步开关I2.2的常闭触点接通,转换允许标志M0.6的常开触点接
通,允许步与步之间的正常转换。在连续工作方式的初始步时,如果满足原点条件,按下起动按钮I2.6,连续标志M0.7的线圈“通电”并自保持。图5-38左边第3个网络的4个触点全部接通,从初始步转换到“A点降步”,机械手下降。碰到下限位开关I0.1时,
转换到“夹紧”步M2.1,T37定时时间到时,转换到“A点升”步,系统将这样一步一步地工作下去。在“左行”步M2.7返回最左边时,左限位开关I0.4变为ON,因为“连续”标志位M0.7为ON,转换条件M0.7·I0.4满足,系统将返回“A点降”步M2.0,反复连续地工作下去。
按下停止按钮I2.7,M0.7变为OFF,完成当前工作周期的全部操作后,在步M2.7机械手返回最左边,左限位开关I0.4变为ON,转换条件满足,系统才返回并停留在初始步。图5-38图5-37在单周期工作方式的步M2.7返回最左边时,左限位开关I0.4为ON,因为连续标志M0.7为OFF,
转换条件满足,返回初始步。按一次起动按钮,只工作一个周期。2.单步工作方式在单步工作方式,单步开关I2.2的常闭触点断开,“转换允许”标志M0.6在一般情况下为OFF,不允许步与步之间的转换。设初始步时系统处于原点状态,按下起动按钮I2.6,M
0.6在一个扫描周期为ON,转换到“A点降”步M2.0,机械手下降。在起动按钮上升沿之后,M0.6变为OFF。机械手碰到下限位开关I0.1时,与下降阀Q0.0的线圈串联的下限位开关I0.1的常闭触点断开,使下降阀Q0.0的线圈“断电”,机械手停止下降。此时图5-38左边第4个网络的下限位
开关I0.1的常开触点闭合,如果没有按起动按钮,转换允许标志M0.6处于OFF,不会转换到下一步。一直要等到按下起动按钮,M0.6的常开触点接通,才能使转换条件I0.1(下限位)起作用,转换到夹紧步。完成每一步的操作后,都必须
按一次起动按钮,才能转换到下一步。3.输出电路4个限位开关I0.1~I0.4的常闭触点是为单步工作方式设置的。机械手碰到右限位开关I0.3后,“右行步”M2.3不会马上变为OFF,如果右行电磁阀Q0.3的线
圈不与右限位开关I0.3的常闭触点串联,机械手还会继续右行,对于某些设备,可能造成事故。图5-384.自动返回原点程序在回原点工作方式,回原点开关I2.1为ON,调用回原点程序。根据机械手所处的位置和夹紧装置
的状态,分为3种情况分别进行处理。(1)夹紧装置松开夹紧装置松开时Q0.1为OFF,机械手应上升和左行,直接返回原点位置。按下起动按钮I2.6,进入“B点升”步M1.4。如果机械手已经在最上面,上限位开关I0.2为ON,进入“B点升”步后,马上转换到“左行”步。自动返回原点的操作结束后,原点条
件满足。图5-37中的初始步M0.0在公用程序中被置位,可以认为步M0.0是“左行”步M1.5的后续步。(2)夹紧装置处于夹紧状态,机械手在最右边此时应将工件放到B点后再返回原点位置。按下起动按钮I2.6
,机械手应进入“B点降”步M1.2,首先执行下降和松开操作,释放工件后,机械手再上升和左行,返回原点位置。如果机械手已经在最下面,下限位开关I0.1为ON,进入“B点降”步后,因为转换条件已经满足,将马上转换到“松开”步。(3)夹紧装置处于夹紧状态,机械手不在最右边按下起动
按钮I2.6,进入“A点升”步M1.0,机械手首先上升,然后右行、下降和松开工件,将工件放到B点后再上升、左行,返回原点位置。如果机械手已经在最上面,上限位开关I0.2为ON,进入“A点升”步后,因为转
换条件已经满足,将马上转换到“右行步”。第6章PLC的通信与自动化通信网络6.1计算机通信概述6.1.1串行通信1.并行通信与串行通信并行数据通信以字节或字为单位传输数据,已很少使用。串行数据通信每次只传送二进制数的一位。最少只需要两根线就可以
组成通信网络。2.异步通信与同步通信接收方和发送方的传输速率的微小差异产生的积累误差,可能使发送和接收的数据错位。异步通信采用字符同步方式(见图6-1),通信双方需要对采用的信息格式和数据的传输速率作相同的约定。接收方将停止位和起始位之间的下降沿作为接收的起
始点,在每一位的中点接收信息。奇偶校验用硬件保证发送方发送的每一个字符的数据位和奇偶校验位中“1”的个数为偶数或奇数。接收方用硬件对接收到的每一个字符的奇偶性进行校验,如果奇偶校验出错,SM3.0为ON。可以设置为无奇偶校验。同步通
信的发送方和接收方使用同一个时钟脉冲。接收方可以通过调制解调方式得到与发送方同步的接收时钟信号。3.单工通信与双工通信单工通信只能沿单一方向传输数据,双工通信每一个站既可以发送数据,也可以接收数据。全双工方式通信的双方都能在同一时刻接收和发送
数据。半双工方式通信的双方在同一时刻只能发送数据或只能接收数据。4.传输速率单位为bit/s或bps。6.1.2串行通信的端口标准1.RS-232CRS-232C的最大通信距离为15m,最高传输速率为20kbit/s,只能进行一对一的通信。RS-2
32C使用单端驱动、单端接收电路,容易受到公共地线上的电位差和外部引入的干扰信号的影响。2.RS-422ARS-422A采用平衡驱动、差分接收电路,因为接收器是差分输入,两根线上的共模干扰信号互相抵消。在最大传输速率10Mbit/s时,最大通信距离为12m
。传输速率为100kbit/s时,最大通信距离为1200m,一台驱动器可以连接10台接收器。6.2计算机通信的国际标准6.2.1开放系统互连参考模型物理层的下面是物理媒体,例如双绞线、同轴电缆和光纤等。物理层定义了传输媒体端口的机械、电气功能和规程的特性。
数据链路层的数据以帧为单位传送,每一帧包含数据和同步信息、地址信息和流量控制信息等。通过校验、确认和要求重发等方法实现差错控制。应用层为用户的应用服务提供信息交换,为应用接口提供操作标准。3.RS-485RS-422A是全双工,用4根导线传送数据。RS-485是
RS-422A的变形,为半双工,使用双绞线可以组成串行通信网络,构成分布式系统。6.2.2IEEE802通信标准1.CSMA/CD(带冲突检测的载波侦听多路访问)的基础是以太网。每个站都是平等的,采用竞争方式发送信息到传输线上,“先听后讲”和“边听边讲”。其控
制策略是竞争发送、广播式传送、载体监听、冲突检测、冲突后退和再试发送。以太网越来越多地在底层网络使用。2.令牌总线令牌绕逻辑环周而复始地传送。要发送报文的站等到令牌传给自己,判断为空令牌时才能发送报文。令牌沿环网循环
一周后返回发送站时,如果报文已被接收站复制,发送站将令牌置为“空”,送上环网继续传送,以供其他站使用。3.令牌环用得少4.主从通信方式主从通信网络有一个主站和若干个从站。主站向某个从站发送请求帧,该从站接收到后才能向主站
返回响应帧。主站按事先设置好的轮询表的排列顺序对从站进行周期性的查询。6.2.3现场总线及其国际标准1.现场总线IEC对现场总线的定义:“安装在制造和过程区域的现场装置与控制室内的自动控制装置之间的数字式、串行、多点通信的数据总线”。2
.现场总线的国际标准(1)IEC61158IEC61158第4版采纳了经过市场考验的20种现场总线(见表6-1)。其中约一半是实时以太网。(2)IEC62026IEC62026是供低压开关设备与控制设
备使用的控制器电气接口标准。6.3基于以太网的S7协议通信6.3.1S7-200SMART之间的以太网通信1.S7协议S7协议是专为西门子控制产品优化设计的通信协议,它是面向连接的协议。S7-200SMART只有S7单向连接功能。单向连接中的客户机(Client
)是向服务器(Server)请求服务的设备,客户机调用GET/PUT指令读、写服务器的存储区。服务器是通信中的被动方,用户不用编写服务器的S7通信程序,S7通信由服务器的操作系统完成。2.GET指令与PUT指令G
ET指令从远程设备读取最多222B的数据。PUT指令将最多212B的数据写入远程设备。连接建立后,该连接将保持到CPU进入STOP模式。3.用GET/PUT向导生成客户机的通信程序用GET/PUT向导建立的连接为主动连接,CPU是S7通信的客户机。通信伙伴作为S7通信的客户机
时,不需要用GET/PUT指令向导组态,建立的连接是被动连接。在第1页(操作)生成名为“写操作”和“读操作”的两个操作。最多允许组态24项独立的网络操作。通信伙伴可以具有不同的IP地址。在第2、3页设置操作的类型分别为PUT
和GET、要传送的数据的字节数、远程CPU的IP地址、本地和远程CPU保存数据的起始地址。在第4页(存储器分配)设置用来保存组态数据的V存储区的起始地址。第5页(组件)显示用于实现要求的组态的项目组件默认的名称。在第6页
(生成)单击“生成”按钮,自动生成用于通信的子程序等。4.调用子程序NET_EXE客户机和服务器的程序首次扫描时将保存接收到的数据的地址区清零,给要发送的地址区置初始值。每秒钟将要发送的第一个字VW100加1。5.S7-200SMART之间的以太网通信实验将用户程序和系统块下载到作为客户机和服务
器的两块CPU。用以太网电缆连接编程计算机、客户机和服务器,令CPU运行在RUN模式,如果通信成功,可以看到双方接收到的第一个字VW300每秒钟加1,接收到的其他的字应是对方用FILL_N指令写入的初始值。6.3.2S7-200SMART与其他S7PLC的以太网通信1.S7-300作客
户机的S7通信在S7通信中,S7-300/400作客户机,S7-200SMART作服务器。在STEP7的硬件组态工具中,设置以太网端口的IP地址和子网掩码。在网络组态工具中,创建一个S7连接,连接伙伴为默认的“未指定”。在S7连接属
性对话框中,设置S7-200SMART的IP地址和双方的TSAP(传输层服务访问点)。连接由S7-300/400建立。在S7-300/400的OB1中调用功能块GET/PUT来读写S7-200SMART的数据区。2.S7-1
200作客户机的S7通信S7-1200有集成的以太网端口,在博途中设置S7-1200的IP地址和子网掩码,生成以太网,添加一个S7连接。连接伙伴为“未指定”,由S7-1200建立连接。在该连接的属性视图的“属
性”选项卡中,设置S7-200SMART的以太网端口的IP地址和通信双方的TSAP。在OB1中调用GET和PUT功能块来读写S7-200SMART的数据区。3.S7-1200作服务器的S7通信S7-200SMART作客户机的程序见例程“以太网客户机”。在S7-120
0的项目中,只需要设置S7-1200的IP地址和子网掩码,不用编写通信程序。6.4PPI网络1.S7-200SMART的串行通信端口S7-200SMARTCPU有一个集成的RS-485端口(端口0),还可以选配一块RS232/RS485CM01信号
板(端口1),它们分别可以与变频器、人机界面(HMI)等设备通信,每个端口支持4个HMI设备。RS-485每个网络最多可以有126个节点。中继器用来将网络分段,每个网段最多32个设备,网络中各设备的地址不能重叠。12Mbit/s时最大传输距离为100m,187.5kbit
/s时为1000m。4.网络连接器终端电阻可吸收网络上的反射波,有效地增强信号强度。网络终端的连接器上的开关应放在On位置(接入终端电阻),网络中间的连接器上的开关应放在Off位置。5.网络中继器中继器用来将网络分段,每个网段最多3
2个设备,中继器可扩展网络长度。6.PPI协议PPI是一种主站-从站协议,HMI是通信主站,S7-200SMART在通信网络中作为从站。6.5自由端口模式通信6.5.1通信指令1.自由端口模式自由端口模式由用户自定义与其他设备通信的协议。Mod
busRTU通信协议和USS协议就是自由端口模式的通信协议。RS-232/PPI多主站电缆和将USB映射为COM口的国产USB/PPI电缆支持自由端口通信。2.自由端口模式的参数设置CPU处于STOP模式时,自由端口模式被禁止,CPU通过PPI协议与编程
设备通信。只有当CPU处于RUN模式时,才能使用自由端口模式。自由端口模式用控制字节SMB30/130设置端口的波特率和奇偶校验等参数(见表6-6)。3.发送指令XMT发送指令可发送1~255字节的数据。发送缓冲区的第一个字节是要发送的字节数,它本身并不发送出去。4.接收指令RCV接收指令RC
V用于起动或终止接收消息的服务。接收结束后产生中断。消息接收的状态字节见表6-7。5.接收指令开始接收数据的条件见表6-8。6.接收指令终止接收的方式见表6-8。6.5.2自由端口模式的串行通信程序设计1.接收消息的过程采用主从方式和异或校验,计算机为主站,PLC为从站。1)在逻辑条件满
足时,启动RCV指令,进入接收等待状态。2)在设置的消息起始条件满足时,进入消息接收状态。3)如果满足了设置的消息结束条件,CPU结束消息的接收,退出接收状态。【例6-1】用RCV指令和接收完成中断接收数据。用空闲线条件和初始字符作为消息开始的条件。用
消息定时器来结束消息接收,最大字符数为20。消息定时器的定时时间为实际的传输时间的1.5倍。采用异或校验保证通信的可靠性。RCV指令的数据缓冲区的第一个字节VB100用来累计接收到的字节数,它本身不是接收到的。6.5.3串口通信调试软件与串口通信实验1.USB/
PPI适配器USB/PPI适配器用于连接计算机的USB端口和S7-200SMART的串行端口。某些国产的USB电缆实际上是USB/RS-232C转换器和PC/PPI适配器的组合,它将USB端口映射为一个RS-232C端口(俗称为COM口)。2.计
算机与PLC串口通信的组态安装好USB电缆的驱动程序后,USB端口被映射为RS-232C端口(例如COM3)。在控制面板中打开“设置PG/PC接口”对话框。选中通信接口列表中的“PC/PPICable(PPI)”,单击“属性”按钮,设置传输速率和计算机与PLC通信使用的映射的CO
M端口。3.串口通信调试软件简介可以选择字符串、十进制或十六进制这3种数据格式,可计算常用的校验码,生成常用的多种协议格式的帧。6.串口通信调试软件应用实例将例程“接收完成中断Port0通信”下载到CPU,将CPU切换到RUN模式。关闭编程软件,打开串口通信调试软件,设置端口
的参数。将要发送的十六进制数输入“发送帧”文本框。单击“计算校验码”按钮,再单击“异或”按钮,将生成的校验码附在“发送帧”文本框中数据字节之后。添加起始字符16#FF。单击“发送”按钮,应能接收到PLC返回的内容相同的消息。关闭串口通信调试软件,将CPU切换到STOP模式。打开编程软件,用状态
图表观察从VB100开始的接收缓冲区中的数据。发送一个错误的校验码,显示接收超时,校验错误指示位Q1.0被置为ON。6.6Modbus协议在通信中的应用6.6.1Modbus通信协议Modbus串行链路协议是主-从协议,有一个主站,1~247个子站。RTU模式用循环冗余校验(CRC)
进行错误检查,消息最多256B。通信端口被Modbus通信占用时,不能用于其他用途。6.6.2ModbusRTU从站协议通信的编程用S7-200SMART作Modbus从站,其程序见图6-29。其V存储区(保持寄存器)的起始地址HoldStart为VB200,库存储区的起始地址为VB2200
。3个Max参数是主站可访问的I、Q和保持寄存器的最大个数。1.MBUS_INIT指令首次扫描时执行一次MBUS_INIT指令,初始化Modbus从站协议。设置从站地址为1,端口0的波特率为19200b
it/s,无奇偶校验,延迟时间为0,允许访问所有的I、Q、AI和从VB200开始的1000个保持寄存器字。2.MBUS_SLAVE指令用于处理来自Modbus主站的请求服务。3.分配库存储器4.ModbusRTU通信帧的结构与Modbus从站协议功能本节的
内容主要供上位计算机软件的编程人员编写Modbus主站通信程序时使用。《PLC编程及应用》第4版给出了各Modbus功能的请求帧和响应帧的结构,以及计算机作主站、PLC作从站的通信实例。实际中使用得最多的是PLC作ModbusRTU主站,变频器等其他设备作从站。6.6.3基于Modbu
sRTU主站协议的通信1.MBUS_CTRL指令MBUS_CTRL指令用于初始化、监视或禁用Modbus通信。图6-31中该指令设置端口0的模式为1,启用Modbus协议。波特率为19200bit/s,无奇偶校验,等待从站作出响应的时间Timeout为1000m
s。指令如果被成功执行,输出位Done为ON。Error包含指令执行后的错误代码。2.MBUS_MSG指令MBUS_MSG指令用于向Modbus从站发送请求消息,以及处理从站返回的响应消息。EN输入和输入参数First同时接通
时,MBUS_MSG指令向Modbus从站发送主站请求。Slave是Modbus从站的地址(1~247)。参数RW(读写)为0时为读取,为1时为写入。参数Addr(地址)是要读写的Modbus起始地址。参数Count用于设置要读写的位数据的位数或字
数据的字数。最多120个字或1920个位。参数DataPtr是间接寻址的地址指针,指向主站CPU中保存与读/写请求有关的数据的V存储区。Modbus地址表中的保持寄存器对应于S7-200的V存储器字。CP
U在发送请求和接收响应时,Done(完成)输出为OFF。响应完成或MBUS_MSG指令因为错误中止时,Done(完成)输出为ON。某一时刻只能有一条MBUS_MSG指令处于激活状态。4.从站的程序从站程序见图6-29。图6-31中MBUS_MSG指令的Modbus地址400
01对应于从站的VB200;40005对应于VB208。5.程序的执行过程1)首次扫描时,用FILL_N指令将保存读取的数据的地址区VW108~VW114清零,复位MBUS_MSG指令的使能标志M2.0和M2.1。2)在I0.0的上升沿置位M2.0,执行第一条MBU
S_MSG指令,将主站的VW100~VW106的值写入保持寄存器40001~40004,即从站的VW200~VW206。3)第一条MBUS_MSG指令执行完时,Done(M0.1)变为ON,M2.0被复位,停止执行第一条MBUS_MSG指令。M2.1被置位,开始执行第二条MBUS
_MSG指令,读取保持寄存器40005~40008(从站VW208开始的4个字),保存到主站从VW108开始的4个字。指令执行出错则置位Q0.1。4)第二条MBUS_MSG指令执行完时,Done(M0.2
)变为ON,M2.1被复位,停止执行第二条MBUS_MSG指令。指令执行出错则置位Q0.2。6.7S7-200SMART与变频器的USS协议通信6.7.1硬件接线与变频器参数设置1.连接宏连接宏类似于配方,V20变频器的手册提供了每种连接宏的外部接线图,选中某种连接宏后,有关的参数被自动设置为该
连接宏的默认值,用户只需按自己的要求修改少量的参数值。应用宏针对某种特定的应用提供一组相应的参数设置。有水泵、风机、压缩机和传送带4个应用宏。2.硬件接线见图6-36,两侧的0V端子不能通过保护接地网络相连。4
.设置连接宏、应用宏和其他参数用V20内置的基本操作面板设置变频器的额定参数,选中USS连接宏Cn010,通信参数见表6-12。6.7.2USS通信的组态与编程2.USS指令在USS通信中,PLC作主站,变频器作从
站。3.调用USS_INIT指令USS_INIT指令用于启用、初始化或禁用与西门子变频器的通信。一般在首次扫描时执行一次USS_INIT指令。图6-38的参数Mode为1时启用USS协议,波特率为19200bit/s。如
果要激活的变频器的地址为N(N=0~31),令双字Active的第N位为1。可以同时激活多台变频器。图6-38仅激活了1号变频器。指令执行完后,Done输出位被立即置位,输出字节Error中为协议执行的错误
代码。4.调用USS_CTRL指令USS_CTRL指令用于控制一台激活的变频器。Drive是变频器的地址(0~31),V20系列变频器的类型(Type)为1。Speed_SP是用组态的基准频率的百分数表示的频率设定值,负值将使变频器反方向旋转。参数RUN用于起/停变频器,OFF2
为ON电动机惯性停车,OFF3为ON快速停车。DIR用于控制电动机的旋转方向。F_ACK是故障确认位。Speed是基准频率的百分数表示的变频器输出频率的实际值。Status是变频器返回的状态字。Run_EN为ON表示变频器正在运行。D_Dir是电
动机的旋转方向。5.设置USS通信的V存储器区单击“文件”菜单中的“存储器”按钮,设置USS库所需V存储器的起始地址。6.7.3USS协议通信的实验1.PLC监控变频器的实验用基本操作面板BOP设置好变频器的参数。将程序下载后运行程序。用以太网端口监控PLC,启动程序状态监控功能。用BOP显
示变频器的频率。用右键菜单命令设置以百分数为单位的VD36中的实数频率设定值。用I0.0启动、停止电动机,用I0.2和I0.3使电机自然停机和快速停机。用I0.3改变电机的旋转方向。通过改变VD36中的频率设定值的符号改变电机方向。6.7.4用PLC
读/写变频器的参数1.读/写变频器参数的指令2.读/写变频器参数的编程图6-43的指令分别用来改写和读取1号变频器的参数724(数字量输入的防抖动时间)。该参数没有下标,指令中的下标Index的值可以设为0。DB_Ptr用来设置大小
为16B的缓冲区的地址。Value是要写入变频器的参数值或读取到的参数值。第7章PLC在模拟量闭环控制中的应用7.1闭环控制与PID控制器7.1.1模拟量闭环控制系统1.模拟量闭环控制系统被控量c(t)被传感器和变送器转换为标准量程的直流电流、电压信号PV
(t),AI模块中的A-D转换器将它们转换为多位二进制数过程变量PVn。SPn为设定值,误差en=SPnPVn。AO模块的D-A转换器将PID控制器的数字量输出值Mn转换为模拟量M(t),再去控制执行机构。PID程序的执行是周期性的操作,其间隔时间称为采样周期TS。加热炉温度
闭环控制系统举例。2.闭环控制的工作原理闭环负反馈控制可以使过程变量PVn等于或跟随设定值SPn。假设实际温度值c(t)低于给定的温度值,误差en为正,M(t)将增大,使执行机构(电动调节阀)的开度增大,进入加热炉的天然气流量增加,加热炉的温度升高,最终使实际温度接近或等
于设定值。3.变送器的选择AI模块的电压输入端的输入阻抗很高,微小的干扰信号电流将在模块的输入阻抗上产生很高的干扰电压。远程传送的模拟量电压信号的抗干扰能力很差。电流输出型变送器具有恒流源的性质,恒流源的内阻很大。AI模块的输入为电流时,输入阻抗较
低,例如250。干扰信号在模块的输入阻抗上产生的干扰电压很低,模拟量电流信号适用于远程传送。四线制电流输出变送器有两根电源线和两根信号线。二线制变送器只有两根外部接线,它们既是电源线,也是信号线,输出4~20mA的信号电流。4.闭环控制反馈极性的确定闭环控制必须保证系统是负反馈,如果系
统接成了正反馈,将会失控。调试时断开AO模块与执行机构之间的连线,在开环状态下运行PID控制程序。如果控制器有积分环节,因为反馈被断开了,AO模块的输出会向一个方向变化。这时如果假设接上执行机构,能减小误差,则为负反馈,反之为正反馈。5.闭环控制系统主要性能指
标系统进入并停留在稳态值c(∞)上下±5%(或2%)的误差带内的时间tS称为调节时间。被控量c(t)从0上升,第一次到达稳态值c(∞)的时间称为上升时间tr。稳态误差是指响应进入稳态后,输出量的期望值与实际值之差。6.闭环控制带来的问题由于闭环中
的滞后因素,PID控制器的参数整定得不好时,阶跃响应曲线将会产生很大的超调量,系统甚至会不稳定。7.1.2PID控制器的数字化1.连续控制系统中的PID控制器KC是回路增益,TI和TD分别是积分时间和微分时间。initialt0IC])()(1
)([)(MdttdeTdtteTteKtMD2.PID控制器的数字化上式中的积分对应于图7-5中误差曲线e(t)与坐标轴包围的面积(图中的灰色部分)。一般用图7-5中的矩形面积之和来近似精确积分。在误差曲线e(t)上作一条切线,该切线与x轴正方向的夹
角α的正切值tgα即为该点处误差的一阶导数de(t)/dt。TS是采样时间间隔。导数的近似表达式:数字PID控制器输出值的计算公式:3.反作用调节在开环状态下,PID输出值控制的执行机构的输出增加使被控量增大的是正作用(加热炉);使被控量减小的是
反作用(空调压缩机)。把PID回路的增益KC设为负数,就可以实现PID反作用调节。7.1.3PID指令向导的应用1.用PID指令向导生成PID程序双击项目树“向导”文件夹中的“PID”,打开“PID指令向导”对话框,完成每一步
的操作后,单击“下一步>”按钮。1)设置PID回路的编号(0~7)为0。2)设置回路给定值范围和回路参数。比例增益为2.0,积分时间为0.03min,微分时间为0.01min,采样时间为0.2s。3)设置回路输入量(过程变量PV)和回路
输出量的极性均为默认的单极性,范围为默认的0~32000。4)启用过程变量PV的上限报警功能,上限值为95%。5)设置用来保存组态数据的120B的V存储区的起始地址为VB200。6)采用默认的初始化子程序和中断程序的名称,选中多选框“增加PID手动控制”。2.回路表见
表7-1。7.2PID控制器的参数整定方法7.2.1PID参数的物理意义1.对比例控制作用的理解PID控制器输出中的比例部分与误差成正比。如果增益太小,调节的力度不够,使调节时间过长。如果增益过大,调节力度太强,造成调节
过头,使被控量来回震荡,超调量过大。如果闭环系统没有积分作用,单纯的比例控制的稳态误差与增益成反比,很难兼顾动态性能和静态性能。2.对积分控制作用的理解积分控制根据当时的误差值,每个采样周期都要微调PID的输出。只要误差不为零,控制器的输出就会因为积分作用而不断变化。积分部分的作用是消除稳态
误差,提高控制精度。积分有滞后特性,积分作用太强,会使系统的动态性能变差,超调量增大。积分作用太弱,消除稳态误差的速度太慢。3.对微分控制作用的理解微分项与误差的变化速率成正比,微分部分反映了被控量变化的趋势。在图7-13中启动过程的上升阶段,被控量尚未超过其稳态值,超调还没
有出现。但是因为被控量不断增大,误差e(t)不断减小,控制器输出量的微分分量为负,使控制器的输出量减小,相当于减小了温度控制系统加热的功率,提前给出了制动作用,以阻止温度上升过快。因此微分具有超前和预测的作用,适当的微分控制作用可
以减小超调量,缩短调节时间。微分作用太强(TD太大),将会使响应曲线变化迟缓。4.采样周期的确定确定采样周期时,应保证在被控量迅速变化的区段,有足够多的采样点,以保证不会因为采样点过稀而丢失被采集的模拟量中的重要信息。7.2.2PID参数整定的规则1.
PID参数的整定方法1)为了减少需要整定的参数,首先可以采用PI控制器。给系统输入一个阶跃给定信号,观察系统输出量的波形。由PV的波形可以获得系统性能的信息,例如超调量和调节时间。2)如果阶跃响应的超调量太大,经过多次振荡才能进入稳态或
者根本不稳定,应减小控制器的增益KC或增大积分时间TI。如果阶跃响应没有超调量,但是被控量上升过于缓慢,过渡过程时间太长,应按相反的方向调整上述参数。3)如果消除误差的速度较慢,应适当减小积分时间,增强积分作用。4)反复调节增益和积分时间,如果超调量仍然较大,
可以加入微分作用,即采用PID控制。微分时间TD从0逐渐增大,反复调节KC、TI和TD,直到满足要求。需要注意的是在调节增益KC时,同时会影响到积分分量和微分分量的值,而不是仅仅影响到比例分量。5)如果响应曲线第一次到达稳态值的上升时间较长(上升缓慢),可以适当增大增益KC。如
果因此使超调量增大,可以通过增大积分时间和调节微分时间来补偿。2.怎样确定PID控制器的初始参数值为了保证系统的安全,避免在首次投入运行时出现系统不稳定或超调量过大的异常情况,在第一次试运行时增益不要太大,积分时间不要太小,以保证不会出现较大的超调量。试运行后根据响应曲线的特征和调整PI
D控制器参数的规则,来修改控制器的参数。7.2.3PID控制器参数整定的实验2.被控对象仿真的S7-200SMARTPID闭环程序用作者编写的子程序“被控对象”来模拟PID闭环中的被控对象(见图7-12),被控对象的数学模型为3个串联的惯性环节,其增益为GAIN,
3个惯性环节的时间常数分别为TIM1~TIM3。DISV是系统的扰动输入值。主程序中T37和T38组成了方波振荡器,用来提供周期为60s、幅值为20.0%和70.0%的方波设定值。在主程序中调用PID向导生成的子程序PID0_CTRL。CPU按PID向导中
组态的采样周期调用PID中断程序PID_EXE,在PID_EXE中执行PID运算。PID_EXE占用了定时中断0,模拟被控对象的中断程序INT_0使用定时中断1。设定值Setpoint_R是以百分数为单位的
浮点数。Auto_Manual(I0.0)为ON时为自动模式。实际的PID控制程序不需要调用子程序“被控对象”,在主程序中只需要调用子程序PID0_CTRL,其输入参数PV_I应为实际使用的AI模块的通道地址(例如AIW0),其输出参数Output应为实际使用的AO模块的
通道地址(例如AQW0)。3.PID整定控制面板操作要点:用左边窗口选中要调试的回路,接通I0.0外接的小开关,出现3条曲线。选中多选框“启用手动调节”在右边的“调节参数”区的“计算值”列输入新的参数,单击“更新CPU”按钮
,将参数写入PLC。4.PID闭环控制仿真演示初始参数为KC=2.0,TI=0.03,TD=0.01,超调量大。TI增大为0.1min,超调量减小。KC和TI不变,TD减小到0.00,超调量增大。所以适当的微分能减小超调量。KC和TI不变,TD=0.08,超调
量比TD=0.01时大,反应迟缓。令TI=0.1,TD=0.00(PI),KC=0.7比KC=2.5的超调量小,但是上升时间长。将增益由0.7增大到1.5,减少了上升时间,但是超调量增大到16%。将积分时间增大到0.3min,超
调量减小到13%。但是因为减弱了积分作用,在设定值减小后,过程变量下降的速度太慢。将TI减小到0.15min,反复调节微分时间,在0.01min时效果较好。7.3PID参数自整定7.3.1自整定的基本方法与自整定过程起动自整定之前,控制过程应处于稳定状态,过程变量应接近设定
值。自动确定了滞后值和偏差值之后,PID的输出量多次阶跃变化,开始执行自整定过程。自整定过程完成后,回路的输出将恢复到初始值,开始正常的PID计算。7.3.2PID参数自整定实验1.实验的准备工作将例程“PI
D参数自整定”下载到CPU,令PLC处于RUN模式。全部采用自整定默认的参数设置,自动计算滞后和偏差值。被控对象的增益为3.0,两个惯性环节的时间常数为2s和5s。采样周期为0.2s。令I0.0为ON,采用“自动调节”模式。用I0.3外接的小开关使给定值
SP在0.0%和70.0%之间切换。2.第一次PID参数自整定实验演示增益为2.0、积分时间为0.025min,微分时间为0.005min。用I0.3外接的小开关使设定值SP从0.0%跳变到70.0%,过程变量PV曲线的超调量太大,衰减震荡的时间太长。在
过程变量曲线PV沿设定值SP曲线上下小幅波动,这两条曲线几乎重合时,单击“开始自动调节”按钮,启动自动整定过程。显示“调节算法正常完成。按下更新CPU按钮接受建议的调节参数”时,进入正常的PID控制,“调节参数”区的“计算值”列给出了
PID参数的建议值。单击“更新CPU”按钮,将“计算值”列的推荐参数写入CPU。令I0.3为OFF,PV曲线下降到0后,再令I0.3为ON,设定值阶跃变化到70%,超调量减小。为了进一步减小超调量,可切换到手动调节,增大积分时间。3.第二次PID参
数自整定实验演示增益为0.5,积分时间为0.5min,微分时间为0.1min。没有超调,但是响应过于迟缓。自整定过程与第一次相同。两次实验的初始参数相差甚远,参数整定前的响应曲线也是天差地别。自整定得到的推荐参数值却相差很小。第8章PLC应用中的一些问题8.1PLC控
制系统的可靠性措施8.1.1硬件的可靠性措施1.电源的抗干扰措施干扰较强时,可以在PLC的电源输入端加接带屏蔽层的隔离变压器和低通滤波器,或使用抗干扰电源和净化电源产品。2.布线的抗干扰措施PLC不能与高压电器安装在同一个开关柜内,在柜内PLC应远离动力线。长距离数
字量信号、模拟量信号、高速信号和通信应使用屏蔽电缆。中性线与火线、公共线与信号线应成对布线。模拟量信号的传输线应使用双屏蔽的双绞线(每对双绞线和整个电缆都有屏蔽层)。不同的模拟量信号线应独立走线,不要把不同的模拟量信号置于同一个公共返回线。I/O线与电源线、交流信号与直流信号、数字量与模拟量I
/O线应分开敷设。DC24V和AC220V信号不要共用同一条电缆。远程传送的模拟量信号应采用4~20mA的电流传输方式。干扰较强的环境应选用有光隔离的模拟量I/O模块。应短接未使用的A-D通道的输入端,以防止干扰信号进入
PLC。3.PLC的接地1)安全保护地又叫做电磁兼容性地,车间里一般有保护接地网络。应将电动机的外壳和控制屏的金属屏体连接到安全保护地。CPU模块上的PE(保护接地)端子必须连接到大地或者柜体上。2)信号地(或称控制地、仪表地)是电子设备的电位参考点,例如PLC输入回路电源的负极应接到信号
地。应使用等电位连接导线连接各控制屏,西门子推荐的导线截面积为16mm2。控制系统中所有的控制设备需要接信号地的端子应保证一点接地。如果将各控制屏或设备的信号地就近连接到当地的安全保护地网络上,烧电焊可能烧毁设备的通信
接口或通信模块。一般情况下数字信号电缆的屏蔽层应两端接地。模拟量电缆的屏蔽层可以在控制柜一端接地,另一端通过一个高频小电容接地。4.防止变频器干扰的措施变频器已经成为PLC最常见的干扰源。变频器的输入、
输出电流含有丰富的高次谐波,它通过电力线干扰其他设备。可以在变频器输入侧与输出侧串接电抗器,或安装谐波滤波器(见图8-1),以吸收谐波,抑制高频谐波电流。PLC的信号线和变频器的输出线应分别穿管敷设,变频器的输出线一定要使用屏蔽
电缆或穿钢管敷设。变频器应使用专用接地线,且用粗短线接地。5.强烈干扰环境中的隔离措施强烈的干扰可能使PLC输入端的光耦合器中的发光二极管发光,使PLC产生误动作。可以用小型继电器来隔离用长线引入PLC的
开关量信号。长距离的串行通信信号可以用光纤来传输和隔离,或使用带光耦合器的通信接口。6.PLC输出的可靠性措施负载要求的输出功率超过PLC的允许值或负载电压为DC220V时,应设置外部继电器。7.感性负载的处理PLC内控制感性负载的触点或电子元件断
开时,电路中会产生高于电源电压数倍甚至数十倍的反电势,对系统产生干扰。PLC的输出端接有感性元件时,直流电路可以在负载两端并联型号为IN4001的续流二极管,要求提高关断速度时,可以串接一个稳压管。交流电路应在负载两端并联阻容电路,要求较高时,可以在负载两端并联压敏电
阻。8.1.2故障的检测与诊断的编程为了及时发现故障和保护系统,可以用梯形图程序实现故障的自诊断和自动处理。1.逻辑错误检测某龙门刨床在前进运动时如果碰到“前进减速”行程开关I0.4,将进入步M0.2,工作台减速前进。碰到“前进换向”行程开关I0.2,将进入再下一步。在
前进步M0.1,如果没有碰到前进减速行程开关,就碰到了前进换向行程开关,说明前进减速行程开关出现了故障。这时转换条件满足,将从步M0.1转换到步M0.6,工作台停止运行,并用触摸屏显示“前进减速行程开关故障”。操作人员按下故障复位按钮
I1.2后,故障信息被清除,系统返回初始步。2.超时检测机械设备在各工步的动作所需的时间一般是固定的。在图8-3中的减速前进步M0.2,用定时器T33监视步M0.2的运行情况,T33的设定值比减速前进步正常
运行的时间略长,正常运行时T33不会动作。如果前进换向行程开关I0.2出现故障,在T33设置的时间到时,T33的常开触点闭合,系统由步M0.2转换到步M0.7,工作台停止运行,触摸屏显示“前进换向行程开关故障”
。8.2触摸屏的组态与应用8.2.1人机界面与触摸屏1.人机界面人机界面(HMI)是用于操作人员与控制系统之间进行对话和相互作用的专用设备。2.触摸屏触摸屏是人机界面的发展方向,用户可以在触摸屏的屏幕上生成满足自己要求的
触摸式按键。现在使用的基本上都是TFT液晶显示器。3.人机界面的工作原理(1)对监控画面组态用组态软件对人机界面组态,生成满足用户要求的人机界面的画面,实现人机界面的各种功能。(2)编译和下载项目文件编译成功后,需要将可执行文件下载到人机界面的存储器中。(3)运行阶段人机
界面与PLC之间通过通信来交换信息,从而实现人机界面的各种功能。4.SMARTLINEIE触摸屏SMART700IE和SMART1000IE是专门与S7-200和S7-200SMART配套的触摸屏,显示器的对角线分别为7in和10in。采用800×480高分辨率宽屏、64KB色真彩色显
示。集成了以太网端口和RS-422/485端口。SMART700IE的价格便宜,具有很高的性能价格比。西门子人机界面组态和应用的详细方法见编者写的《西门子人机界面(触摸屏)组态与应用技术》第2版。SMART700IE用WinCCflexible200
8SP4组态。8.2.2生成项目与组态变量PLC的程序M0.0和M0.1是触摸屏上的按钮产生的起动信号和停止信号。PLC进入RUN模式时,将定时器T37的预置值传送给VW2,T37和它的常闭触点组成了一个锯齿波
发生器,T37的当前值按锯齿波变化。用触摸屏显示VW0中T37的当前值,和修改VW2中T37的预设值。用画面上的指示灯显示Q0.0的状态。1.创建WinCCflexible的项目打开WinCCflexible项目
向导,单击其中的选项“创建一个空项目”。在出现的“设备选择”对话框中,用鼠标双击文件夹“SmartLine”中的Smart700IE,创建一个新的项目。用鼠标双击项目视图中的某个对象,将会在中间的工作区打开对应的编辑器。单击工作区上面的某
个编辑器标签,将会显示对应的编辑器。单击右边工具箱中的“简单对象”、“增强对象”、“图形”和“库”,将打开对应的文件夹。工具箱包含过程画面经常使用的对象。工具箱内有哪些对象与人机界面的型号有关。2.组态连接单击项目视图中的“连
接”,打开“连接”编辑器,用鼠标双击连接表的第一行,自动生成的连接默认的名称为“连接_1”,默认的通信驱动程序为“SIMATICS7-200”。连接表的下面是连接属性视图,用“参数”选项卡设置“接口”为以太网,PLC和HMI设备的IP地址分别为192.168.2.1和192.168.2.3,
其余的参数使用默认值。3.画面的生成与组态生成项目后,自动生成和打开一个名为“画面_1”的空白画面。选中画面编辑器下面的属性对话框左边的“常规”类别,将画面名称修改为“初始画面”。单击“背景色”选择框
的按钮,用出现的颜色列表将画面的背景色改为白色。用工具栏上的按钮将画面缩小。4.变量的组态外部变量是PLC存储单元的映像,其值随PLC程序的执行而改变。人机界面和PLC都可以访问外部变量。内部变量仅用于人机界面。内部变量用名称来区分,没有地址。用鼠标双击项目窗口中的“变
量”图标,打开变量编辑器。用鼠标双击变量表的第一行,将会自动生成一个新的变量,然后修改变量的参数。在“数据类型”列的列表中选择变量的数据类型。Int为有符号的16位整数,Bool为用于数字量的二进制位。“连接_1”表示是与HMI连接的S7-200SMART中的变量。8.2
.3组态指示灯与按钮1.组态指示灯指示灯用来显示位变量“电动机”的状态。将工具箱的“简单对象”中的“圆”拖到画面上希望的位置。松开左键,对象被放在当前所在的位置。用画面下面的属性视图设置其边框为黑色,边框宽度为6个像素点,填充色为深绿色
,通过动画功能,使指示灯在变量“电动机”为0和1时的颜色分别为深绿色和绿色。2.用鼠标改变对象的位置和大小3.生成按钮将工具箱中的“简单对象”的按钮图标拖放到画面上。调整按钮的位置和大小。4.设置按钮的属性单击选中生成的按钮,选中属性视图的“常规”类别,用
单选框选中“按钮模式”和“文本”域中的“文本”。将“„OFF‟状态文本”中的Text修改为“起动”。选中属性视图左边窗口“属性”类别的“文本”子类别,设置按钮上文本的字体为宋体、24个像素点。水平对齐方式为“居中”,垂直对齐
方式为“中间”。5.按钮功能的设置选中属性视图的“事件”类别中的“按下”子类别,单击右边窗口最上面一行右侧隐藏的按钮,选中系统函数列表的“编辑位”文件夹中的函数“SetBit”(置位)。单击表中第2行右侧隐藏的按钮,打开变量表,单击其中的变量“起动按钮”(M0.0)。在运
行时按下该按钮,将变量“起动按钮”置位为ON。用同样的方法,设置在释放该按钮时调用系统函数“ResetBit”,将变量“起动按钮”复位为OFF。该按钮具有点动按钮的功能。用“复制”和“粘贴”功能生成一
个相同的按钮。用鼠标调节它在画面上的位置,将按钮上的文本修改为“停止”。组态在按下和释放按钮时分别将变量“停止按钮”置位和复位。8.2.4组态文本域与IO域1.生成与组态文本域将工具箱中标有“A”的文本域图标拖放到画面上。单
击生成的文本域,选中属性视图的“常规”类别,在右边窗口的文本框中键入“T37当前值”。选中属性视图左边窗口“属性”类别中的“外观”子类别,在右边窗口修改文本的颜色、背景色和填充样式。可以用“边框”域中的“样式”选择框选择有、无边框。单击“属性”类别
中的“布局”子类别,选中右边窗口中的“自动调整大小”复选框。选中左边窗口“属性”类别中的“文本”子类别,设置文字的大小和对齐方式。选中画面上生成的文本域,执行复制和粘贴操作,生成文本域“T37预设值”和“电动机”,然后修改它们的边框和背景色。2.生成
与组态IO域将工具箱中的IO域图标拖放到画面上,选中生成的IO域。单击属性视图的“常规”类别,用“模式”选择框设置IO域为输出域,连接的过程变量为“当前值”。采用默认的格式类型“十进制”,设置“格式样式”为99999(5位整数)。设置IO域的外观和文本的格式。选中生成的IO域,
执行复制和粘贴操作。设置该IO域连接的变量为“T37预设值”,模式为输入/输出,其余的参数不变。8.2.5用控制面板设置触摸屏的参数将Smart700IE组态为用以太网端口下载项目文件,用RS-485与PLC通信。1.启动触摸屏接通电源后,
Smart700IE的屏幕点亮,几秒后显示进度条。启动后出现“装载程序”对话框。如果触摸屏已经装载了项目,在出现装载对话框后经过设置的延时时间,将自动打开项目。2.控制面板Smart700IE用控制面板设置触摸屏的各种参数。单击图8-12中的“ControlPanel”按钮
,打开触摸屏的控制面板。3.设置以太网端口的通信参数用鼠标双击控制面板的“Ethernet”图标,打开以太网设置对话框。用单选框选中“SpecifyanIPaddress”(用户指定IP地址)。输入IP地址192.168.1.3,“SubnetMask”(
子网掩码)是自动生成的。不用输入“Def.Gateway”(网关)。选中复选框“AutoNegotiation”(复选框中出现叉),激活自动检测和设置以太网的连接模式和传输速率,同时激活“自动交叉”功能。采用MODE选项卡默认的以太网的传输速率10Mbit/s和默认的通信连接“Half-
Duplex”(半双工)。单击“OK”按钮,关闭对话框并保存设置。4.传输设置双击控制面板中的“Transfer”图标,打开“传输设置”对话框。选中“Channel2”(通道2)域以太网(Ethernet)通信的“EnableChannel”(激活通
道)和“RemoteControl”(远程控制)多选框,HMI和PLC通过以太网通信。8.2.6PLC与触摸屏通信的实验1.设置WinCCflexible与触摸屏通信的参数单击WinCCflexible工具栏上的按钮,打开“选择设备进行传送”对话框,设置通信模式为以太网。将Smart700I
E的IP地址设置为192.168.1.3,应与用Smart700IE的控制面板和WinCCflexible的“连接”编辑器中设置的IP地址相同。2.下载项目文件到HMI用以太网电缆连接计算机和触摸屏的以太网端口,单击“选择设备进行传
送”对话框中的“传送”按钮,项目编译成功后,该项目将被传送到触摸屏。下载成功后,Smart700IE自动返回运行状态,显示下载的项目的初始画面。3.将程序下载到PLC打开例程“HMI测试”,用以太网将程序和系统块下载到S7-200
SMART。4.系统运行实验关闭Smart700IE和S7-200SMART的电源,用以太网电缆连接它们。接通它们的电源,S7-200SMART进入运行模式。触摸屏显示出初始画面后,可以看到PLC中T37的预设值100,和0~100之间不断变化的T37的当前值,在达到
预设值时又从0开始增大。单击画面上“T37预设值”右侧的输入/输出域,画面上出现一个数字键盘。键入200,按确认键后传送给PLC中保存T37预设值的VW2。屏幕显示的T37的当前值将在0~200之间变化。单击画面上的“起动”按钮和“停止”按钮,由于PLC程序的运行,变量“电
动机”(Q0.0)的状态变化,画面上与该变量连接的指示灯被点亮或熄灭。5.Smart700IE与CPU集成的串口通信的实验随书光盘中S7-200SMART的例程“HMI测试”的系统块中设置的CPU集成的RS-485端口的波特率为187.5kbit/s,P
PI站地址采用默认的2号站。用以太网将程序和系统块下载到CPU。WinCCflexible的例程“HMI485通信Port0”与例程“HMI以太网通信”的区别在于“连接”表下面的连接属性视图中的“参数”选项卡的“接口”为“IF1B”,波特率采用默认的187.5kbit/s,HMI和
PLC的MPI站地址分别为默认的1和2,其余的参数使用默认值。用以太网将项目文件下载到HMI。在HMI的传输设置对话框,选中“Channel1”(通道1)域中Serial(串行)端口的“EnableChanne
l”(激活通道)多选框,多选框中出现叉。Smart700IE使用RS-485/422端口与PLC通信。关闭Smart700IE和S7-200SMART的电源,用PROFIBUS电缆连接它们的RS-485通信端口。接通它们的电源,令S7-200SMART进入运行模式。触摸屏显
示出初始画面后,可以看到PLC中T37的预设值100,和不断变化的T37的当前值。实验的方法和步骤与Smart700IE和PLC使用以太网通信的相同。