第6章STEP7结构化程序设计(2)精品PPT课件

合集下载

step7的使用方法

step7的使用方法

2021/7/1
27
字节寻址
2021/7/1
28
字寻址
字寻址时,访问一个16位的存储区域,包含 两个字节。寻址时采用以下结构:
存储区关键字+字的关键字(W)+第一字 节地址
例如:IW10
I:表示输入过程暂存区
W:表示字word
10:表示从第10个字节开始,包括 两个字节的存储空间,即IB10和IB11。
S7的系统存储区集成在CPU中,不能被扩 展。系统存储区根据功能分为不同的区域 供用户使用。
S7的寻址方式为: 符号地址寻址 绝对地址寻址
2021/7/1
23
3.4.1系统存储区
输入过程暂存区(I) 输出过程暂存区(Q) 位存储区(M) 外部输入输出(PI/PQ) 计时器(T) 计数器(C) 数据块(DB) 局部数据(L)
41
位逻辑指令 负跳沿(下降沿)检测指令
2021/7/1
42
位逻辑指令
地址正跳沿检测 地址负跳沿检测
SAVE指令
2021/7/1
43
位逻辑指令 地址上升沿检测指令示例
2021/7/1
44
位逻辑指令 以上程序的时序图
2021/7/1
45
3.6实训四:PLC控制一台电机正反转
使用S7-300PLC实现一台电动机的正反 转控制。控制要求如下:要求能实现电 机的正转和反转控制,并能进行正反转 的直接切换。另外,还可进行正反向的 点动控制,当电机处于正常运行时,点 动按钮不起作用。
2021/7/1
4
2.循环执行的程序组织块
OB1是循环执行的组织块。其优先级为最 低。PLC在运行时将反复循环执行OB1中 的程序,当有优先级较高的事件发生时, CPU将中断当前的任务,去执行优先级较 高的组织块,执行完成以后,CPU将回到 断点处继续执行OB1中的程序,并反复循 环下去,直到停机或者是下一个中断发生。 一般用户主程序写在OB1中。

第六章 结构化编程

第六章  结构化编程

二. 功能块编程及举例
• FB块带有一个存储区,即背景数据块,那么背景数据块 是如何生成的,有2中方法。
• 1)在调用FB并为它指定一个背景数据块后,如果该数据 块并不存在,则弹出一下提示信息:”Instance data block DBx does not exist. Do you want to generate it ?” 单击”Yes” 按钮可自动生成一个新的背景数据块。
正转,反转,停止,输出信号是电机正转,电机反转。
• 案例2:设计故障I1.3出现时,在操作面板上用一个指 示灯(Q4.3)来指示,指示灯以2HZ的频率闪烁,系 统复位输入是I1.2,用来检测故障是否存在,如果故障 存在,指示灯停止闪烁,转为常亮,故障消除,指示 灯熄灭。
故障信号 复位信号 存储器 指示灯
• 2)创建一个新的数据块时,选择其属性为“Data block referencing a function block”。
• 功能块FB的优点:当编写FC的程序时,用户必须寻找空 的标志区或数据区来存储需要保持的数据,并且要自己编 写程序来保存他们;而FB的静态变量可由STEP7的软件 自动保存。
• 一个功能块可以有多个背景数据块,使功能块可以被不同的对 象使用。
• 数据块包含共享数据块和背景数据块两种类型,共享数据块存 储的是全局变量,所有的逻辑块都可以从共享数据块中读取数 据,背景数据块则从属于某个功能块,用于传递参数。
• 块的调用即为子程序调用,块可以嵌套调用,嵌套的层数与 CPU的型号有关。
配料A
流量传感器 进料阀 进料泵 入口阀 M
流量传感器 进料阀 进料泵 入口阀
混合罐
配料B
排料阀
搅拌区功能为:
1.搅拌电动机 当液面指示“液面高 度低于最低限位”时,或者排料阀

naj_C_教案_01讲解

naj_C_教案_01讲解

7:08:48 PM
C语言组成
• C程序由函数构成。一个C程序至少由一个 函数构成,而且至少包含一个名为main的主 函数。
【例1.1】 #include<stdio.h> void main( ) //函数首部 { printf("I like Programming!\n"); //输出一串字符 }
说明:分析五部件在程序中的作用过程。
7:08:48 PM
程序设计的过程
• • • • • • 分析和定义实际问题 建立处理模型 设计算法 设计流程图 编写程序 调试程序和运行程序
7:08:48 PM
算法的概念和特性
• 算法:解决一个问题所采取的一系列步骤。 • Nikiklaus Wirth提出一个公式 :
7:08:48 PM
语言的分类
• 1.机器语言 :
– 指令 10101011 00111101 11001100
• 2.汇编语言 :
– 语句 ADD AX, DX
• 3.高级语言 :
– 语句 c=a+b
• 4.面向对象的程序设计语言:
7:08:48 PM
语言的分类
• (1)编译执行:
– 将源程序翻译生成一个可执行的目标程序,该目 标程序可以脱离编译环境和源程序独立存和执行
第一种算法:书写“1+2+3+4+5+6+…+100”的表达式 第二种算法:
n (1 100) *100/ 2
n 1
7:08:48 PM
100
显然,第二种算法要简单得多
算法举例
【例1.4】求 5!=1*2*3*4*5。 step1: p=1 step2: i=2 step3: p=p*i step4: i=i+1 step5: 如果i<=5,那么转入step3执行 step6: 输出p,算法结束

S7-1200 PLC编程及应用 第4版配套课件

S7-1200 PLC编程及应用 第4版配套课件
1.1.3 信号板与信号模块
1.信号板 CPU正面可以安装一块信号板,有4DI、4DQ、2DI/2DQ、热电偶、热电阻、 1AI、1AQ、RS485信号板和电池板。DI、DQ信号板的最高频率200kHz。 2.数字量I/O模块 可以选用8点、16点的DI或DQ模块,或8DI/8DQ、16DI/16DQ模块。DQ模 块有继电器输出和DC 24V输出两种。
1.3 TIA博途使用入门与硬件组态 1.3.1 项目视图的结构
1.Portal视图与项目视图 可用Portal视图完成某些操作,使用得最多的是项目视图,二者可切换。 2.项目树 可以用项目视图的项目树访问所有的设备和项目数据,添加新的设备,编 辑已有的设备,打开处理项目数据的编辑器。项目中的各组成部分在项目树 中以树型结构显示,分为项目、设备、文件夹和对象4个层次。 可以关闭、打开项目树和详细视图,移动子窗口之间的分界线,用标题栏 上的按钮启动“自动折叠”或“永久展开”功能。 3.详细视图 选中项目树中的“默认变量表”,详细窗口显示出该变量表中的符号。可 以将其中的符号地址拖拽到程序中的地址域。可以隐藏和显示详细视图和巡 视窗口。 4.工作区 可以同时打开几个编辑器,用编辑器栏中的按钮切换工作区显示的编辑器。 单击工具栏上的按钮,可以垂直或水平拆分工作区,同时显示两个编辑器。
1.3.3 信号模块与信号板的参数设置
1.信号模块与信号板的地址分配 打开PLC_1的设备视图,再用向左的小三角形按钮打开“设备概览”视图, 可以看到CPU集成的I/O模块和信号模块的字节地址。I、Q地址是自动分配的。 可以关闭“设备概览”视图,或移动它左侧的分界线。双击设备概览中某个 插槽的模块,可以修改自动分配的I、Q地址。 2.数字量输入点的参数设置
《S7-1200 PLC编程及应用第4版》 配套课件

结构化程序设计应用举例.ppt

结构化程序设计应用举例.ppt
C=60
D=50
PJF=(A*12+B*16+C*6+D*5)/(12+16+6+5) 输出平均成绩PJF
输出平均成绩
结束
结束
13
开始
输入X的值 N Y 输出X 是 输入一个数给X X>0 否
X>0
输出X
结束
14
开始
N=1
N<=10 Y
输入X的值
N 当N<=10
N=1
输入一个数给X
N
是 输出X
X>0
程序的每一行只能书写一条语句,并且一行
最多只能有255个字符(包括空格)。如果一条语 句一行写不完,可以用“;”续行,每一个语句 用回车键结束。
7
三、 Visual FoxPro程序的构成
* 程序名: AREA.PRG * 功能: 求圆的面积 程序的前 * 设计人 张大民 文 *设计日期 1998年3月 SET TALK OFF 程序的设 SET COLOR TO GR+/B+ 置部份 CLEAR INPUT“圆半径R=”TO R S=3.1415926*R*R 程序的主体部份 ?“圆面积S=”,S CLEAR ALL 程序的关闭部份 SET TALK ON RETURN 程序的退出部份
27
◆例 3
已知 S1=1,S2=1+2,S3=1+2+3,…, Sn= 1+2+3,…+n,编写一程序求
S1+ S2+ …+S100的和。
MODI COMM EX738.PRG
28
SET TALK OFF CLEAR N=1 S=0 DO WHILE N<=100 I=1 SUB=0 DO WHILE I<=N SUB=SUB+I

S7300-03编程软件的使用方法-文档资料

S7300-03编程软件的使用方法-文档资料
38
双击DB1就可以打开并对DB1进行编辑,DB编辑器分为了“数据视图”和“说明视图”,在“说明视图”下,只能看到DB的数据定义,在“数据视图”下,还可 以对值进行修改。通过【查看】菜单在两种视图间切换。DB1和DB2的设置如图7-34所示。
S7-300编程方式简介
S7-300系列PLC的编程语言是STEP 7。用文件块的形式管理 用户编写的程序及程序运行所需的数据,组成结构化的用户程序。 这样,PLC的程序组织明确,结构清晰,易于修改。 为支持结构化程序设计,STEP 7用户程序通常由组织块(OB)、 功能块(FB)或功能块(FC)等三种类型的逻辑块和数据块(DB)组成。 OB1是主程序循环块,在任何情况下,它都是需要的。
25
周期/时钟存储器 周期/时钟存储器(图7-19)页面主要包含以下参数设置。
26
保持存储器 保持存储器页面(图7-21)包含了下面的项目:
27
诊断/时钟 诊断/时钟页(图7-22)包括以下设置:
28
保护 保护页面(图7-23)包括以下参数:
29
7.4 使用LAD编程
• 任务描述
在本例中,我们模拟一个饮料灌装线的控制系统。系统中有两条 饮料灌装线和一个操作员面板 。 (1)每一条灌装线上,有一个电机驱动传送带;两个瓶子传感器能 够检测到瓶子经过,并产生电平信号;传送带中部上方有一个可 控制的灌装漏斗,打开时及开始灌装。当传送带中部的传感器检 测到瓶子经过时,传送带停止,灌装漏斗打开,开始灌装。1号线 灌装时间为3s(小瓶),2号线灌装时间为5s(大瓶),灌装完毕 后,传送带继续运。位于传送带末端的传感器对灌装完毕的瓶子 计数。 (2)在控制面板部分,有四个点动式按钮分别控制每条灌装线的启 动和停止;一个总控制按钮,可以停止所有生产线;两个状态指 示灯分别表示生产线的运行状态;两个数码管显示器显示每条线 灌装的数目。

FMEA培训ppt课件


宏观的描述:装护板
将护板取出

对护板进行检查


护板放置到底座上


操作工拿出5颗螺钉
将螺钉放置到护板上
操作工将螺钉打紧





32
PFMEA -- 过程定义
详细叙述各个流程的作用(用动词+名词的方式)
------进行这样的分析是为后面用头脑风暴的方法来分析失效模式做准备
工步 列出要研究的各个工步 将护板取出 对护板进行检查 护板放置到底座上 操作工拿出5颗螺钉 将螺钉放置到护板上 操作工将螺钉打紧
关键日期—(5) FMEA计划完成日期,APQP进度计 划安排日期。 FMEA编号/版本—(6) 用于追溯FMEA的内部编号与版本 编制人—(7) FMEA编制人的姓名、电话及所属 公司 日期—(8) 原始稿编制日期、修订号和日期
22
製程名稱: 核心小組:
工程放行日期: 製 表 人 員:
措施執行的結果
已采取的 措施
严频探 R
重度测 度数度 (S)(O)(D)ss FMEA 开发思路
团队组建
•多功能小组 •成员来自各个级别的人员,如客户、产品设计、过程设计 、生产 线等 •确定小组组长 • 获得领导支持
过程定义
过程流程图 识别过程中每一工步的目的(采用“动词+名词”形式)
采取降低风险的行动
• 更改产品/过程设计,降低严重度(伤害性风险与设计风险); • 更改产品/过程设计,降低频度数; • 采用防错技术,提高可探测性,降低不可探测度数; • 提高在线检测技术和不合格品控制,提高可探测性,降低不可探测风险; • 变更过程控制计划; • 改进加工工艺、工装刀具。

第2章 STEP7 V5.1基础


功能块(FB) 功能(FC) 背景数据块(背景DB) 数据块(DB)
其中OB、FB、SFB、FC和SFC都可构成程序的组成 部分,因此也称之为逻辑块。
几种常用块的解释 1.组织块(OB) ⑴ 组织块(OB:Organization block)是操作系统和 用户程序的接口。它们决定着用户程序的结构,决定 着程序的各个组成部分执行的顺序。组织块由操作系 统直接调用,通过组织块控制程序的循环和中断、控 制 PLC 的启动方式,通过组织块处理 CPU 对错误的响应 等。 ⑵ OB1 组织块,是用户程序的主程序,是用于实现程 序循环的组织块,操作系统通过调用OB1来实现对用户 程序的循环执行,因此OB1是用户程序中必要的组成部 分。
第2章 STEP 7 V5.1 基础
2.1 概述 STEP 7是用于SIMATIC 可编程逻辑控制器的组态 和编程的标准软件包。它是SIMATIC工业软件的组成部 分。

STEP 7标准软件包具有强大的功能,主要有: 建立和管理项目 对硬件和通讯作组态和参数赋值 创建程序 向PLC下载程序 测试系统 诊断设备故障等
⑵如果对话 框中显示的 项目结构符 合你的要求, 你可以单击 【Finish】 按钮完成操 作,否则, 单击【Next】 按钮,进入 下一步操作。
⑶初步确定 CPU 的类型, 选择完毕,进 入下一步操作。
⑷选择OB块 及其编程语 言。一般都 要选择选择 OB1(默 认),选择 完毕,点击 [Next]按钮, 进入下一步 操作。
3.功能块(FB ) 功能块(FB:Function block)属于另一种用户 编程用块,在用户程序的结构中属于子程序,FB必须 通过其它的逻辑块调用才能被执行。 FB 是具有自己的存储区的逻辑块,这是 FB 与 FC 的重要区别,除此之外,FB与FC在编程时没有什么区 别。FB是以数据块作为存储区的,该数据块称为背景 数据块。传递给FB的参数和静态变量都保存在背景数 据块中,临时变量是保存在本地数据堆栈中。保存在 背景数据块(背景DB)中的数据是不会因FB的执行结 束而丢失的,而保存在本地数据堆栈中的数据则不然。

北航的C语言课件

第一讲:C语言基础
本章目标

了解C语言的历史及现状;在某个操作系统环境下(Windows)一个C程序 的编写过程;

掌握变量、常量、简单数据类型、类型转换、表 达式及部分C语言运算符;
知道运算符优先级及结合律

晏海华
5
程序设计与程序设计语言

程序设计(Programming): 为计算机解决问题所需的 分析、设计、编写及调试程序过程。(The process of planning, writing, testing, and correcting the steps required for a computer to solve a problem or perform an operation.)


C语言是目前广泛流行的面向对象语言C++、C#及Java的基 础
晏海华
7
C语言历史

C语言的产生与UNIX操作系统是密不可分的:

UNIX 由Bell Lab 的K.Thompson 和 D.M.Ritchie 最先在 1969年开发的O.S.(它的前身是 MIT和AE开发的 Multies)。 1970年,V1,V2版在PDP-7机上用汇编语言实现
高级语言程序设计(一)
(C Programming)
晏海华 北京航空航天大学计算机学院软件所
作业及参考书

教师:晏海华
联系方式:柏彦大厦708,Tel: 82328212, Email:yhh@
参考书:


C程序设计语言》,B.W.Kernighan, D.M.Ritchie, 机械工业出 版社,徐宝文等译 《从问题到程序—程序设计与C语言引论》,裘宗燕编著 ,机械工业出版社

第4章_s7300编程语言与指令系统


CPU
9 6
BCD
正数
W#16#296
0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
整数
0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 +296 28
= 256 +
25
23
= = 32 + 8 = 296
Page: 14
§4.2.2 复杂数据类型
数组(ARRAY) 结构(STRUCT)
字符串(STRING)
日期和时间(DATE_AND_TIME)
用户定义的数据类型(UDT)
功能块类型(FB、SFB)
Page: 15
返回本节
1.数组(ARRAY)
数组是由一组同一类型的数据组合在一起而形成的复 杂数据类型。数组的维数最大可以到6维;数组中的元素 可以是基本数据类型或者复杂数据类型中的任一数据类型 (Array类型除外,即数组类型不可以嵌套);数组中每 一维的下标取值范围是-32768~32767,要求下标的下限 必须小于下标的上限。 数组定义必须说明书组的维数、元素类型和每一维的 上、下标范围。
用户输出设备
循环程序执行
启动块 (OB 100) 上电后执行一次 输入 模块
循环监视时间的开始
从模块读信号状态,并保存到过程映象区 (PII)
CPU 循环
执行OB1中的程序 (循环执行) 事件 (日期时间中断、硬件中断等) 调用其他 OB,FB,FC
块OB 1
A I 0.1 A I 0.2 = Q8.0
外设输入pibpibpiwpiwpidpid外设输出外设输出pqbpqbpqwpqwpqdpqd用户输入设备输入端子输入锁存器输入映像寄存器程序执行输出锁存器输出端子用户输出设备输出映像寄存器执行ob1中的程序循环执行事件日期时间中断硬件中断等调用其他obfbfc输出模块q80块ob循环监视时间的开始启动块ob100上电后执行一次从模块读信号状态并保存到过程映象区pii把过程映象输出表piq写到输出模块输入模块循环程序执行page
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
各CPU可以使用的硬件中断OB的个数与CPU 的型号有关, S7-300 的型号有关,S7-300的CPU (不包括 CPU 318) 只能使用OB40。表6-28 所示描述了OB40
只有用户程序中有相应的组织块, 才能执行硬件中断。否则操作系 统会向诊断缓冲区中输入错误信息, 并执行异步错误处理组织块OB80。
信号模板指定参数。对于可分配参数的信号模板(DI 、DO 、AI 、
AO ),可以用STEP 7的硬件组态功能 CONFIGURATION工具来设定
信号模块哪一个通道在什么条件下产生硬件中断, 将执行哪个硬件中断
OB, OB4O 被默认用于执行所有的硬件中断;对于CP 模板和FM模板,
利用相应的组态软件在对话框中设置相应的参数来启动硬件中断OB。
“Input”选项卡中 , 设置在Il24.0的上升沿和Il24.1 的下降沿来产生中
断。下面是用STL编写的OB1的程序。 Network 1:在 Il24.2 的上升沿激活硬件中断
(二) 硬件中断组织块(QB40~OB47) 1.概述 延时中断组织块 OB20~OB23 在过程事件出现后延时一定的时间
再执行中断程序。硬件中断组织块OB40~OB47 用于需要快速响应的 过程事件,事件出现时马上中止循环程序,执行对应的中断程序。即 硬件中断组织块用于快速响应信号模块 (SM, 即输入 / 输出模块 ) 、通 信处理模块 (CP) 和功能模块(FM)的信号变化。当具有中断能力的信 号模块(并非所有的信号模块都具有中断能力)将中断信号传送到 CPU时, 或者当功能模块产生一个中断信号时, 将触发硬件中断。硬件 中断被SM、CP或FM等模块触发后, 操作系统将自动识别是哪一个槽 的模块和模块中哪一个通道产生的硬件中断。硬件中断OB执行完后, 将发送通道确认信号。
图6-41所示为硬件中断程序OB40。在Network2 中利用局部变量 OB40_MDL_ADDR和 OB40_POINT_ADDR, 在MW10和MD12中得到 输入模块的起始地址和产生的中断号。
本例共使用了2个OB40的局部变量OB40_MDL_ADDR和 OB40_POINT_ADDR,用于观察中断是由哪个模块的哪个通道产生的。 利用变量表监控程序的运行,如图6-42所示。MW0当前值为000D, 它 自动加1已经是13了,表示已经中断了13 次;MW10为0000,表示这 个硬件中断由起始字节地址为0的模块产生;MD12为3, 表示由第3个 通道(第4位)产生,即 I0.3 的上升沿产生的硬件中断。当然也可使 用这个模块的其他通道,但必须在图6-40所示的组态时激活这些通道。
②如果正在处理某一中断信号时,同一模块中其它通道产生了中断 事件, 新的中断不会被立即触发, 但是不会丢失。在当前己激活的硬件 中断执行完后, 再处理被暂存的中断。
③如果有硬件中断被触发, 并且它的中断模块OB已被其它模块中的 硬件中断激活, 新的中断请求将被记录, 空闲后再执行该中断。
2.应用方法 首先可以在 STEP 7 中查看可支持的硬件中断组织块。具体方法
如果在处理硬件中断的同时, 又出现了其他硬件中断事件, 新的中断 按以下方法识别和处理:
①如果正在处理某一中断事件, 又出现了同一模块同一通道产生的完 全相同的中断事件, 新的中断事件将丢失, 即不处理它。图 6-37中,若 在数字量模块输入信号的第一个上升沿时触发中断, 由于正在用OB40 处理中断, 第2个和第3个上升沿产生的中断信号将丢失。
是: 在 STEP 7 的硬件组态窗口中 , 双击项目中机架上CPU 所在的行, 打开 CPU 属性对话框, 点击 “Interrupts”选项页, 可以看到CPU支持 的硬件中断块, 如图6-38所示。在此也可以为硬件中断OB选择优先级。
通过STEP 7 进行参数赋值, 可以为能够触发硬件中断的每一个
说明:也可以用例3 的方法 , 用 SFC39 “DIS_IRT”和 SFC40 “EN_IRT”来取消和激活中断。在此, 我们只设置中断模块,并在 OB40中编程即可完成功能,如下例所示。
例7 CPU313C-2DP 集成的16 点数字量输入 Il24.0~Il25.7 可以逐 点设置中断特性。通过OB40对应的硬件中断, 在 Il24.0 的上升沿将 CPU313C-2DP 集成的数字量输出 Q124.0 置位, 在 Il24.1 的下降沿将 Q124.0 复位。此外要求在 Il24.2 的上升沿时激活OB40对应的硬件中 断, 在 Il24.3 的下降沿禁止OB40 对应的硬件中断。
在STEP7中生成名为 “OB40 例程”的项目。选用 CPU313terrupts ”选项卡
可知,在硬件中断中, 只能使用OB40。双击机架中CPU 313C-2DP 内
的集成I/O “DIl6/DO16” 所在的行 (见图6-43), 在打开的对话框的
硬件中断OB的缺省(默认)优先级为16~23, 用户可以设置参数改变优
先级。 也可用 SFC39~SFC42 来禁止、延迟和再次激活硬件中断。
3.应用实例 例6 用I0.0的上升沿作为硬件中断触发脉冲, 使用硬件中断OB40, 当来一次I0.0 的上升沿, 就使 MW0自动加1。
首先在硬件组态中设置中断触发信号。如上所述, 并不是所有的信 号模块都具有中断功能。此例中, 需要一个数字量输入模块。图6-39所 示为硬件组态, 其右视图硬件目录的“DI-300”中, 有此版本软件支持的 所有SM321。单击一个模块后, 右下角处将出现这个模块的基本信息。 然后插入CPU 313C-2DP和一块具有中断功能的数字量输入模板 ( 如 SM321, 订货号6ES7 321-7BH01-0AB0) 。双击模块, 选择“Inputs”选 项, 同时激活“Hardware interrupt”和“Trigger for Hardware Interrupt”选项, 图6-40所示为设置数字量输入模块的中断。
相关文档
最新文档