用s7-300编一段s7200调用子程序实例:一个按钮一个灯 第一次按灯常亮,第二次按灯闪亮,第三次按灯灭,如此循环。

基于S7-300/400 PLC的十字路口交通灯控制程序编写实例
添加时间:
来源: | 阅读量:2944
提示: 十字路口的交通灯控制,当合上起动按钮时,东西方向的绿灯亮4s,闪烁2s后灭;黄灯亮2s后灭;红灯亮8s后灭,如此循环;而对应东西方向绿灯、红灯、黄灯亮时,南北方向红灯亮8s后灭;接着绿灯亮4s,闪烁2s后灭;黄灯亮2s后灭,如此循环。艾特贸易网小编将画出接线图,并编写PLC控制程序。(1)软硬件的配置 ①1套STEP 7 V5.4 S
& &&十字路口的交通灯控制,当合上起动按钮时,东西方向的绿灯亮4s,闪烁2s后灭;黄灯亮2s后灭;红灯亮8s后灭,如此循环;而对应东西方向绿灯、红灯、黄灯亮时,南北方向红灯亮8s后灭;接着绿灯亮4s,闪烁2s后灭;黄灯亮2s后灭,如此循环。艾特贸易网小编将画出接线图,并编写PLC控制程序。
(1)软硬件的配置
&&& ①1套STEP 7 V5.4 SP4。
&&& ②1台CPU 314C-2DP。
&& &③1根编程电缆(或者CP5611卡)。
&&& ④电缆和继电器等。
(2)硬件组态
&&& 硬件组态的常规步骤参考例4-25,在此不做赘述,题目中要求绿灯闪烁,这可以在硬件组态时设置。如图4-164所示,在硬件组态界面中,选中“CPU 314C-2DP”,并双击之,弹出CPU的属性界面,选中“周期/时钟存储器”选项卡,勾选“时钟存储器”,并在它后面的方框中输入100,如图4-165所示。这样操作的目的是将MB100确定为时钟存储器,其中M100.5的脉冲频率为1Hz,具体可参考艾特贸易网前面的文章。
&&& 图4-164&&& 打开CPU的属性
&&& 图4-165&&& 确定时钟存储器为MB100
&&& 【关键点】修改时钟存储器的组态信息必须编译和保存,再下载到CPU中,才起作用,许多初学者,经常忘记把修改后的硬件组态或者修改后的程序下载到CPU中,这是要避免的。
(3)I/O分配和接线
&&& 首先根据题意画出东西和南北方向3种颜色灯的亮灭序图,再进行I/O分配。
&&& 输入:启动-I0.0;停止-I0.1。
&&& 输出(东西方向):红灯-Q1.0,黄灯-Q1.1;绿灯-Q1.2。
&&& 输出(南北方向):红灯-Q0.0,黄灯-Q0.1;绿灯-Q0.2。
&&& 东西和南北方向各有3盏,从时序图容易看出,共有6个连续的时间段,因此要用到6个定时器,这是解题的关键。用这6个定时器控制两个方向6盏灯的亮或灭,不难设计梯形图。交通灯时序图、I/O接线图和交通灯梯形图分别如图4-166~图4-169所示。
&&& 图4-166&&& 交通灯时序图
&&& 图4-167&&& 接线图
&&& 图4-168&&& 交通灯梯形图(基本指令)
&&& 图4-169&&& 交通灯梯形图(比较指令)
&&& 用基本指令编写交通灯的程序用到6个定时器,程序也比较长,阅读程序比较费力,而用比较指令编写程序,程序中只用1个定时器,程序的长度比较短,也比较容易阅读,程序如图4-170所示。程序MW20中的数值剩余的时间,其单位是0.1s,因此MW22=160- MW20,表示MW22中的数值是当前时问,其单位为0.1s。
&&& 图4-170&&& 单按钮控制起/停程序
(责任编辑: 艾特贸易网 )
本文关键字:
免责声明:本文章仅代表作者个人观点,与艾特贸易网无关。本站大部分技术资料均为原创文章,文章仅作为读者参考使用,请自行核实相关内容,如若转载请注明来源:
对于传统的硬开关技术变频......
将功率器件直接串、并联使......
USS_WPM_W(见图10-39)、US......
逻辑控制电路运行的基本条......
新闻热点排行西门子s7-300设计PLC梯形图或者语句表。要求1个按钮控制4个指示灯。按钮按一下A灯亮再按一下B灯亮A灯灭。
标签:数码、电脑&数码配件&USB HUB
浏览数:1485
西门子s7-300设计PLC梯形图或者语句表。要求1个按钮控制4个指示灯。按钮按一下A灯亮。再按一下B灯亮A灯灭。再按一下C灯亮A,B灯灭。再按一下D灯亮A,B,C灯灭。再按一下A,B,C,D4盏灯全亮。再按一下A,B,C,D4盏灯全灭。不用循环。
不懂,没用过西门子PLC编程,一个按键控制一个灯,按一下长亮,再按一下灭_百度知道
西门子PLC编程,一个按键控制一个灯,按一下长亮,再按一下灭
我有更好的答案
1、以S7-300为例,用你说的RS触发器就可以实现。按钮的信号取下降沿,就是(N)这个指令,并串上灯灭状态作为Set,串上灯亮状态作为Reset,RS触发器输出给灯。2、需要注意的是两个(N)指令不能使用同一个中间变量。
采纳率:74%
来自团队:
你做一个自锁电路就可以了。i----常闭------敞开----------灯
--灯的常开-
灯的敞开并联在常开上 不清楚的我给我留言
在问一下 怎么记录按钮通断额。好像有个命令。 灯 可以按一下 常亮, 再按一下 关闭,这样的要求 最简单的编程是怎么样的
最简单的就像楼下说的,直接来个按钮不用plc。plc太浪费了。或者直接置位,复位就可以了。
本回答被提问者采纳
如果使用上位控制则将上位按钮做成置为和复位,程序不用自锁就可以一个按钮实现要求。&如果按钮为开入点则如下图:
指令里的P是什么额?我学校是的三菱西门子的我看大不懂
P是上升沿触发命令,装个汉化的STET7看下说明就可以了上面什么都有
主要是看你想用一个按钮还是两个按钮了
如果是三菱的编程一个ALT的指令就可以了一键启停
用边沿 这个可以有三五个方法
这个应该可以,我试过了
其他5条回答
为您推荐:
其他类似问题
西门子plc的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。PLC概述
一、可编程控制器的产生及定义
①1969年美国数字设备公司(DEC)研制出世界第一台可编程控制器,并成功地应用在美国通用汽车公司(GM)的生产线上。但当时只能进行逻辑运算,故称为可编程逻辑控制器,简称PLC(programmable logic controller)。
②70年代后期,随着微电子技术和计算机技术的迅猛发展,使PLC从开关量的逻辑控制扩展到数字控制及生产过程控制域,真正成为一种电子计算机工业控制装置,故称为可编程控制器,简称PC(programmable controller)。但由于PC容易与个人计算机(personal computer)相混淆,故人们仍习惯地用PLC作为可编程控制器的缩写。
③1985年国际电工委员会(IEC)对PLC的定义如下:可编程控制器是一种进行数字运算的电子系统,是专为在工业环境下的应用而设计的工业控制器,它采用了可以编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字或模拟式的输入和输出,控制各种类型机械的生产过程。
④PLC是由继电器逻辑控制系统发展而来,所以它在数学处理、顺序控制方面具有一定优势。继电器在控制系统中主要起两种作用:(1)逻辑运算(2)弱电控制强电。
⑤PLC是集自动控制技术、计算机技术和通讯技术于一体的一种新型工业控制装置,已跃居工业自动化三大支柱(PLC、ROBOT、CAD/CAM)的首位。
二、可编程控制器的分类及特点
(一)分类
(1)从组成结构形式分
①一体化整体式PLC
②模块式结构化PLC
(2)按I/O点数及内存容量分
①超小型PLC
②小型PLC
③中型PLC
④大型PLC
⑤超大型PLC
(3)按输出形式分
①继电器输出------为有触点输出方式,适用于低频大功率直流或交流负载
②晶体管输出----------为无触点输出方式,适用于高频小功率直流负载
③晶闸管输出--------为无触点输出方式,适用于高速大功率交流负载
(二)特点
①可靠性高、抗干扰能力强
②编程简单、使用方便
③设计、安装容易,维护工作量少
④功能完善、通用性好,可实现三电一体化PLC将电控(逻辑控制)、电仪(过程控制)和电结(运动控制)这三电集于一体。
⑤体积小、能耗低
⑥性能价格比高
三、可编程控制器的应用
①开关量的逻辑控制
②位置控制
③过程控制
④数据处理
⑤通信联网
⑥CIMS的应用
四、PLC控制系统的分类
(一)、集中式控制系统
集中式控制系统是用一个PLC控制一台或多个被控设备。主要用于输入、输出点数较少,各被控设备所处的位置比较近,且相互间的动作有一定联系的场合。其特点是控制结构简单。
(二)、远程式控制系统
远程式控制系统是指控制单元远离控制现场,PLC通过通信电缆与被控设备进行信息传递。该系统一般用于被控设备十分分散,或工作环境比较恶劣的场合。其特点是需要采用远程通信模块,提高了系统的成本和复杂性。
(三)分布式控制系统
分布式控制系统即采用几台小型PLC分别独立控制某些被控设备,然后再用通信线将几台PLC连接起来,并用上位机进行管理。该系统多用于有多台被控设备的大型控制系统,其各被控设备之间有数据信息传送的场合。其特点是系统灵活性强、控制范围大,但需要增加用于通信的硬件和软件,系统的复杂性也更大。
可编程控制器原理
PLC的组成与基本结构
2.1.1 PLC的基本组成
PLC主要由中央处理单元、输入接口、输出接口、通信接口等部分组成,其中CPU是PLC的核心,I/O部件是连接现场设备与CPU之间的接口电路,通信接口用于与编程器和上位机连接。
对于整体式PLC,所有部件都装在同一机壳内;对于模块式PLC,各功能部件独立封装,称为模块或模板,各模块通过总线连接,安装在机架或导轨上。不同厂商生产的不同系列产品在每个机架上可插放的模块数是不同的,一般为3-10块。可扩展的机架数也不同,一般为2-8个机架。基本机架与扩展机架之间的距离不宜太长,一般不超过10M
2.1.2 PLC各组成部分
1、中央处理单元CPU
CPU通过输入装置读入外设的状态,由用户程序去处理,并根据处理结果通过输出装置去控制外设。
一般的中型可编程控制器多为双微处理器系统,一个是字处理器,它是主处理器,由它处理字节操作指令,控制系统总线,内部计数器,内部定时器,监视扫描时间,统一管理编程接口,同时协调位处理器及输入输出。另一个为位处理器,也称布尔处理器,它是从处理器,它的主要作用是处理位操作指令和在机器操作系统的管理下实现PLC编程语言向机器语言转换。
CPU处理速度是指PLC执行1000条基本指令所花费的时间。
存储器主要存放系统程序,用户程序及工作数据。
PLC所用的存储器基本上由PROM,EPROM,EEPROM及RAM等组成。
3、输入/输出部件
输入/输出部件又称I/O模块。PLC通过I/O接口可以检测被控对象或被控生产过程的各种参数,以这些现场数据作为PLC对控对象进行控制的信息依据。同时PLC又通过I/O接口将处理结果送给被控设备或工业生产过程,以实现控制。
4、编程装置和编程软件
PLC是以顺序执行存储器中的程序来完成其控制功能的。
5、电源部件
PLC的基本工作原理
2.2.1PLC的循环扫描工作过程
(一)PLC的循环扫描
PLC的CPU是采用分时操作的原理,每一时刻执行一个操作,随着时间的延伸一个动作接一个动作顺序地进行,这种分时操作进程称为CPU对程序的扫描。PLC的用户程序由若干条指令组成,指令在存储器中按序号顺序排列。CPU从第一条指令开始,顺序逐条地执行用户程序,直到用户程序结束,然后返回第一条指令开始新的一轮扫描。
(二)PLC工作过程
1、公共操作
公共操作是在每次扫描程序前进行的自检。
2、数据I/O操作
数据I/O操作也称为I/O状态刷新。它包括两种操作:
①采样输入信号,即刷新输入状态表的内容
②送出处理结果,即用输出状态表的内容刷新输出电路
3、执行用户程序操作
4、处理外设请求操作
外设的请求命令包括操作人员的介入和硬件设备的中断
2.2.2 PLC的I/O滞后现象
造成I/O响应滞后的原因:
①扫描方式
②电路惯性
输入滤波时间常数和输出继电器触点的机械滞后
③与程序设计安排有关
PLC的编程语言
梯形图编程
(一)PLC的编程特点
1、程序的执行顺序
两图实现相同的功能。当IS1闭合时,1Y1、1Y2输出。系统上电之后,当1S1闭合时,继电器梯形图中的1Y1、1Y2会同时得电,若不考虑继电器触点的延时,则1Y1、1Y2会同时输出。但在PLC梯形图中,因为PLC的程序是顺序扫描执行的,PLC的指令按从上向下,从左向右的扫描顺序执行,整个PLC的程序不断循环往复。PLC的“继电器”的动作顺序由PLC的扫描顺序和在梯形图中的位置决定,因此,当1S1闭合时,1Y1先输出而1Y2后输出。即继电器采用并行的执行方式,而PLC则采用串行的执行方式。
2、继电器自身的延时效应
传统的继电器的触点在线圈得电后动作时有一个微小的延时,
并且常开和常闭触点的动作之间有一微小的时间差。而PLC
中的继电器都为软继电器,不会有延时效应,当然,这里忽略
了PLC的扫描时间。
3、PLC中的软继电器
每个继电器有无数个常开和常闭触点。
(二)PLC编程的基本原则
(1)每个梯形图网络由多个梯级组成,每个输出元素可构成一
个梯级,每个梯级可由多个支路组成。
(2)梯形图每一行都是从左母线开始,而且输出线圈接在最右
边,输入触点不能放在输出线圈的右边。
(3)输出线圈不能直接与左母线连接。
(4)多个的输出线圈可以并联输出。
(5)在一个程序中各输出处同一编号的输出线圈若使用两次称为“双线圈输出”。双线圈输出容易引起误动作,禁止使用。
(6)PLC梯形图中,外部输入/输出继电器、内部继电器、定时器、计数器等器件的触点可多次重复使用。
(7)梯形图中串联或并联的触点的个数没有限制,可无限次的使用。
(8)在用梯形图编程时,只有在一个梯级编制完整后才能继续后面的程序编制。
(9)梯形图程序运行时其执行顺序是按从左到右,从上到下的原则。
(二)编程技巧及原则“上重下轻,左重右轻,避免混联”
(1)梯形图应把串联触点较多的电路放在梯形图上方
(2)梯形图应把并联触点较多的电路放在梯形图最左边
(3)为了输入程序方便操作,可以把一些梯形图的形式作适当变换
PLC的语句:操作码+操作数
操作码用来指定要执行的功能,告诉CPU该进行什么操作;操作数内包含为执行该操作所必需的信息,告诉CPU用什么地方的数据来执行此操作。
操作数的分配原则:
为了让CPU区别不同的编程元素,每个独立的元素应指定一个互不重复的地址
(2)所指定的地址必须在该型机器允许的范围之内。
其它编程语言
功能图编程.高级编程语言(C语言.Pascal语言等)
语句表(STL)
愿意用类似于机器码语言编程的用户
程序在运行时间和存贮空间要求上最优
梯形图(LAD)
习惯电路图的用户
编写逻辑控制程序
功能图(FBD)
熟悉布尔代数逻辑图的用户
编写逻辑控制程序
SCL(结构控制语言)可选软件包
用高级语言。如PASCAL或C语言编程的用户
数据处理任务程序
S7 Graph(顺序控制)可选软件包
有技术背景,没有PLC编程经验的用户
以顺序过程的描述很方便
S7 HiGraph(状态图形)可选软件包
有技术背景,没有PLC编程经验的用户
以异步非顺序过程的描述很方便
CFC(连续功能图)可选软件包
有技术背景,没有PLC编程经验的用户
适用于连续过程的描述
[ 本帖最后由 wuyounanhai 于
15:07 编辑 ]
第三章SIMATIC S7-300 PLC系统特性及硬件构成
3.1 S7-300 PLC系统结构
3.1.1 S7-300 PLC的组成
主要组成部分有导轨(RACK)、电源模块(PS)、中央处理单元CPU模块、接口模块(IM)、信号模块(SM)、功能模块(FM)等,通过MPI网的接口直接与编程器PG、操作员面板OP和其它S7PLC相连。
3.1.2 S7-300的扩展能力
CPU314一个机架上最多只能再安装八个信号模块或功能模块,最多可以扩展为四个机架。中央处理单元总是在0机架的2号槽位上,1号槽安装电源模块,3号槽总是安装接口模块,槽号4至11,可自由分配信号模块、功能块。
3.1.3 S7-300模块地址的确定
数字I/O模块每个槽划分为4Byte(等于32个I/O点),模拟I/O模块每个槽划分为16Byte(等于8个模拟量通道),每个模拟量输入或输出通道的地址总是一个字地址。
模板起始地址
怎样确定信号模板的地址
(一)确定数字量模板的地址
一个数字量模板的输入或输出地址由字节地址和位地址组成。字节地址取决于其模板起始地址。
例如:如果一块数字量模板插在第4槽里,其地址分配如下:
(二)确定模拟量模板的地址
模拟量输入或输出通道的地址总是一个字地址。通道地址取决于模板的起始地址。
例如:如果第一块模拟量模板插在第4号槽,其地址分配如下:
3.2 S7-300 PLC存储区简介
3.2.1 S7-300编程方式简介
S7-300 PLC的编程软件是STEP 7。
用户程序由组织块(OB)、功能块(FB,FC)、数据块(DB)构成。OB是系统操作程序与用户应用程序在各种条件下的接口界面,用于控制程序的运行。OB1是主程序循环块,在任何情况下,它都是需要的。功能块(FB,FC)实际上是用户子程序,分为带“记忆”的功能块FB和不带“记忆”的功能块FC。前者有一个数据结构与该功能块的参数表完全相同的数据块(DB)附属于该功能块,并随着功能块的调用而打开,随着功能块的结束而关闭。该附属数据块(DB)叫做背景数据块,存在背景数据块中的数据在FB块结束时继续保持,也即被“记忆”。功能块FC没有背景数据块,当FC完成操作后数据不能保持。数据块(DB)是用户定义的用于存放数据的存储区。
S7 CPU还提供标准系统功能块(SFB,SFC)。
3.2.2 S7-300 PLC的存储区
S7-300 CPU有三个基本存储区:
(1)系统存储区:RAM类型,用于存放操作数据(I/O、位存储、定时器、计数器等)。
(2)装载存储区:物理上是CPU模块中的部分RAM,加上内置的EEPROM或选用的可拆卸FEPROM卡,用于存放用户程序。
(3)工作存储区:物理上是占用CPU模块中的部分RAM,其存储内容是CPU运行时,所执行的用户程序单元(逻辑块和功能块)的复制件。
CPU程序所能访问的存储区为系统存储区的全部、工作存储区中的数据块DB、暂时局部数据存储区、外设I/O存储区等。
程序可访问的存储区及功能
存储区功能
输入过程映象表
扫描周期开始,操作系统读取过程输入值并录入表中,在处理过程中,程序使用这些值
每个CPU周期,输入存储区在输入映象表中所存放的输入状态值,它们是外设输入存储区头128Byte的映象
输出过程映象表
在扫描周期中,程序计算输出值并存放该表中,在扫描周期结束后,操作系统从表中读取输出值,并传送到过程输出口,过程输出映象表是外设输出存储区的头128Byte的映象
位存储区(M)
存放程序运算的中间结果
外设输入(PI)
外设输出(PQ)
I/O:外设输入
I/O:外设输出
外设存储区允许直接访问现场设备(物理的或外部的输入和输出),外设存储区可以字节,字和双字格式访问,但不可以位方式访问
为定时器提供存储区
计时时钟访问该存储区中的计时单元,并以减法更新计时值
定时器指令可以访问该存储区和计时单元
为计数器提供存储区,计数指令访问该存储区
临时本地数据(L)
本地数据堆栈(L堆栈)
在FB、FC可OB运行时设定。在块变量声明表中声明的暂时变量存在该存储区中,提供空间以传送某些类型参数和存放梯形图中间结果。块结束执行时,临时本地存储区再行分配。不同的CPU提供不同数量的临时本地存储区
数据块(DB)
DB块存放程序数据信息,可被所有逻辑块公用(“共享”数据块)或(被FB特定占用“背景”数据块)
<font color="#.3 S7-300 PLC中央处理单元CPU模块
3.3.1 CPU模块概述
中央处理单元CPU的主要特性,包括存储器容量、指令执行时间、最大I/O点数、各类编程元件(位存储器、计数器、定时器、可调用块)数量等。
S7-300可编程控制器CPU314的技术数据
程序存储量
每1K语句执行时间
64个(C0~C63)
计数范围:0~999
128个(T0~T127)
定时范围:10ms~9990s
2048个(MB0~MB255)
最多127(DB0保留)
大小:最大8KB
嵌套深度:8层
每个机架的信号模块数:最多8个
对编程范围和操作处理速度有高要求的大型设备
CPU模块的方式选择开关和状态指示二极管
S7-300的CPU有四种工作方式,通过可卸的专用钥匙控制:
(1)RUN-P:可编程运行方式。
(2)RUN:运行方式。
(3)STOP:停机方式。
(4)MRES:CPU清零
用钥匙开关进行程序的清除
在开始一个新的编程工作时,我们需要将中央处理器进行清零处理。它将很容易地通过操作CPU上的钥匙开关来实现。为此我们必须进行以下的操作步骤:
1.接通PLC工作电源,并等待至CPU的自检测运行完成
2.转动钥匙开关至MRES位置,并保持这个状态,直至STOP发光
二极管从闪动转为常亮状态
3.钥匙开关转至STOP位置并迅速转回MRES位置,保持这个状态,
STOP发光二极管开始快速闪动
4.STOP发光二极管的快速闪动,表示CPU已被清零
5.松开钥匙开关,这时钥匙会自动返回STOP位置
6.可编程控制器已被清零,并可以传输新的控制程序
程序的下传只能是钥匙开关在STOP或RUN-P位置进行
3.3.3 CPU单元的参数设置
(1)时钟存储器
S7-300有8个时钟存储器,每个频率都不一样。可以在0-255范围内定义任一字节为时钟存储器字节。
A period duration/frequency is assigned to each bit of the clock memory byte:
duration (s):2
Frequency(Hz):0.5
(2)循环中断参数
(3)最长循环时间
(4)MPI参数
3.3.4 CPU的循环时间计算
循环时间是一个程序循环所占用的时间,循环时间由过程映像传送时
间、操作系统的执行时间和用户程序的执行时间三大部分组成
[ 本帖最后由 wuyounanhai 于
08:22 编辑 ]
操作系统:操作系统由PLC的生产厂提供,它支持用户程序PLC的程序的运行
用户程序:用户程序是用户为完成特定的控制任务而编写的应用程序
       梯形图编程(LAD)
PLC常用的编程语言
语句表编程(STL)
      
功能图编程(FBD)
注:对于数字量模块不一定要进行硬件组态,而对于模拟量模块一定要进行硬件组态。
4.1 指令及其结构指令是程序的最小独立单位,用户程序是由若干条顺序排列的指令构成.
4.1.1 指令的组成
1.语句指令
语句指令用助记符表示PLC要完成的操作。
指令:操作码+操作数
操作码用来指定要执行的功能,告诉CPU该进行什么操作;操作数内包含为执行该操作所必需的信息,告诉CPU用什么地方的数据来执行此操作。
例如: 操作码
有些语句指令不带操作数,因为它们的操作对象是唯一的。
例如:操作码
.梯形图指令
梯形图指令用图形元素表示PLC要完成的操作。在梯形图指令中,其操作码是用图素表示的,该图素形象表明CPU做什么,其操作数的表示方法与语句指令相同。
梯形图指令也可不带操作数。
4.1.2 操作数
1.标识符及标识参数
----主标识符(操作数存放的存储器的区域):
Q、PI、PQ、M、T、C、L、DB
----辅助标识符(操作数的位数长度):X、B、W、D
标识参数(操作数在该存储区域内的具体位置)
注释:I:输入过程映像存储区
Q:输出过程映像存储区
PI:外部输入
PQ:外部输出
M:位存储区
L:本地数据
DB:数据块
注意:①PLC物理存储器是以字节为单位的。
②当操作数长度是字或双字时,标识符后给出的标识参数是字或双字内的最低字节单元号。
③当使用宽度是字或双字的地址时,应保证没有生成任何重叠的字节分配,以免造成数据读写错误。
2.操作数的表示法
----物理地址(绝对地址)
操作数的表示法|
----符号地址(必须先定义后使用,而且符号名必须是唯一的)
关于定义符号地址的几点说明:
(一)当你在表中输入符号地址时,应注意以下几点:
列注意符号
在整个符号表中名字必须唯一。当你确认该区域的输入或退出该区域时,不唯一的符号则被标定出来。符号名最长可达24个字符。引号(“”)不允许使用。
当你确认该区域的输入或退出该区域时,程序会自动检查该地址输入是否是允许的。
当你确认或退出地址时,该区域被自动地赋予一个缺省数据类型。如果你修改这个缺省类型,程序会检查你的数据类型是否与地址相匹配。
你可以输入注释简单地解释该符号的功能(最多80个字符)。
(二)你必须区分局域(块定义)符号和共享符号
共享符号局域符号有效性
&#8226;在整个用户程序中有效&#8226;可以被所有的块使用&#8226;在所有的块中含义是一样的&#8226;在整个用户程序中是唯一的
&#8226;只在定义的块有效&#8226;相同的符号可在不同的块中用于不同的目的
允许使用的字符
&#8226;字母、数字及特殊字符。&#8226;除0X00,0XFF及引号以外的强调号&#8226;如使用特殊字符,则符号须写出在引号内。
&#8226;字母&#8226;数字&#8226;下划线(_)(注意:不允许使用两个连续的下划线)
你可以为以下各项定义共享符号:
&#8226;I/O信号(I,IB,IW,ID,Q,QB,QW,QD)&#8226;I/O输入与输出(PI,PQ)&#8226;存储位(M,MB,MW,MD)&#8226;定时器(T)/计数器(C)&#8226;逻辑块(FB,FC,SFB,SFC)&#8226;数据块(DB)&#8226;用户定义数据类型(UDT)
&#8226;变量表(VAT)
你可以为以下各项定义局域符号:&#8226;块参数(输入,输出和输入输出参数)&#8226;块的静态数据&#8226;块的临时数据
在哪里定义
块的变量声明表
(三)显示共享或局域符号
你可以在程序的指令部分区分开共享符号和局域符号。
&#8226;符号表中定义的符号(共享)显示在引号内。
&#8226;块变量声明表中的符号(局域)显示时前面加上“#”。
使用菜单命令View>Display>Symbolic Representation,你可以在所有声明的符号地址和绝对地址之间进行切换。
4.1.3 寻址方式
寻址方式是指令得到操作数的方式。
S7寻址方式---立即寻址:操作数本身直角接包含在指令中
|-直接寻址:指令中直接给出操作数的存储单元地址
    |-存储器间接寻址
|-寄存器间接寻址
S7指令的操作对象   常数
S7状态字中的状态位
S7的各种寄存器
     
功能块FB、FC和系统功能块SFB、SFC
S7的各存储区中的单元
4.1.4 数据类型
数据类型决定了你以什么方式或格式理解或访问存储区中的数据。
基本数据类型:定义不超过32位的数据
复式数据类型:定义超过32位或由其它数据类型组成的数据
参数类型:定义传给FB块和FC块的参数
4.1.5 状态字
状态字用于表示CPU执行指令时所具有的状态。
如何输入梯形图组件:
1、在段中选择一点,你想在该点后面插入一个梯形图组件。
2、用下列方法之一,在段中插入所需的组件:
&#8226; 在菜单“Insert”中选择合适的菜单命令,例如,
Insert>LAD Element>Normally Open Contact
&#8226; 用功能键F2、F3或F7输入一个常开触点、常闭触点或输出线圈。
&#8226; 选择菜单命令Insert>Program Elements 打开“program Elements(编程组件)”对话框并在目录中选择所需的组件。
所选的梯形图组件被插入,问号被用来表示地址和参数。
如何输入语句表语句:
   1、通过点击灰色注释框下面的任意区域就可打开正文框(或者若不显示段注释则在段标题的下面)。
2、输入指令、按空格键,然后是地址(直接或间接地址)。
3、按空格键并输入以双斜线//开始的注释(可选)。
4、在完成一条(一行)带注释或不带注释的语句后按RETURN。一行完成后,运行语法检查,这条语句形成并显示,指令中或绝对地址中的任何小写字母都转换为大写。任何查到的语法错误都显示为红色斜体,在存储该逻辑块之前必须修改所有错误。
4.2 位逻辑指令
位逻辑指令
位逻辑运算指令
    定时器指令
计数器指令
位测试指令
4.2.1 位逻辑运算指令
1.“与”、“或”、“异或”指令
(1)语句指令
布尔逻辑串内的真值表(根据下列表可以确定第二条布尔位操作后的RLO)
助记符指令指令前RLO地址状态RLO结果A
布尔逻辑串开始的真值表:
助记符指令地址状态RLO结果A 与 0101AN 与非 0110O 或 0101ON 或非 0110X 异或 0101XN 异或非 0110
(2)梯形图逻辑指令
①常开接点(动合触点)元素和参数
      ②常闭接点(动断触点)元素和参数
2.输出指令
输出指令把状态字中RLO的值赋给指定的操作数STL指令LAD指令功能操作数数据类型存储区=<地址>
<地址>---(
)逻辑串赋值输出<位地址>BOOL I,Q,M,D,L
<地址>--(#)--中间结果赋值输出<位地址> BOOL I,Q,M,D,L
例一 二分频器
二分频器是一种具有一个输入端和一个输出端的功能单元,输出频率为输入频率的一半。如下,输入为I0.0,输出为Q4.0。
梯形图程序:
语句表程序:
风机监控程序
某设备有三台风机,当设备处于运行状态时,如果风机至少有两台以上转动,则指示灯常亮;如果仅有一台风机转动,则指示灯以0.5Hz的频率闪烁;如果没有任何风机转动,则指示灯以2Hz的频率闪烁。当设备不运行时,指示灯不亮。梯形图程序:
语句表程序:输入位I0.0,I0.1,I0.2分别表示风机1,2,3。存储位M100.3为2Hz的频率信号,M100.7为0.5Hz的信号。风机转动状态指示灯由Q4.0控制。存储位10.0为1时用于表示至少有两台风机转动,M10.1为1时表示没有风机转动。例三
启动和自锁程序
程序功能:输入X0闭合时,输出Y0闭合且自锁。只有在X1闭合时,其动断触点打开,Y0断开。其时序图如下。
梯形图程序:语句表程序:
练习:请指出以下实现输出Q0.0、Q0.1互锁程序的错误,并改正。例四
优先程序执行时,能在多个输入信号中仅接收最先一个输入信号作出反映,其后的输入信号不接收。此原则常用于抢答器中。
[ 本帖最后由 wuyounanhai 于
08:56 编辑 ]
灯泡控制程序
一盏灯泡由一个按钮来控制,已知第一次按下按钮,灯泡亮,第二次按下按钮,灯光灭。(一)PLC接线图(二)定义符号地址符号地址绝对地址类据类型说明S0I0.0BOOL按钮L0Q0.0BOOL灯泡M0M0.0BOOL标标位(三)梯形图程序例六
双作用气缸连续往复运动控制
按启动按钮双作用气缸连续往复运动,按停止按钮,停止运动。
(一)气控回路(二)PLC接线(三)定义符号地址符号地址绝对地址类据类型说明S0I0.0BOOL启动按钮S1I0.1BOOL停止按钮1S1I0.2BOOL位置传感器1S2I0.3BOOL位置传感器1Y1Q0.0BOOL换向阀电磁线圈1Y2Q0.1BOOL换向阀电磁线圈M0M0.0BOOL启动线圈(四)梯形图程序练习:编制电动机点动和连续运转控制程序。输入端控制触点控制功能输出端执行器件实现功能I0.0 停止按钮(常开)停止 Q0.0 KM1 控制电动机电源I0.1 点动按钮(常开)点动 Q0.1 保护指示灯当保护动作时闪亮I0.2 连续运转按钮(常开)连续运转启动
I0.3 热继电器触点(常闭)过载保护动作使得电机停止
参考程序:(一)定义符号地址(二)LAD程序练习:编制双控灯控制程序,要求开关K1或K2任意一个开关的开和关的操作均可以控制灯L的亮和灭。完成后可再编制三控灯。参考程序程序1:3.置位/复位指令STL指令LAD指令功能操作数数据类型存储区S<位地址>
<位地址>---(S)置位输出<位地址>BOOL I,Q,M,D,LR<位地址>
<位地址>--(R)复位输出<位地址> BOOL,TIMER,COUNTERI,Q,M,D,L,T,C复位/置位指令根据RLO的值,来决定被寻址位的信号状态是否需要改变。若RLO的值为1,被寻地址位的信号状态被置1或清0;若RLO的值为0,被寻址位的信号保持原状态不变。这一特性又称为静态的置位/复位。相应地,赋值输出被称为动态赋值输出。在LAD中置位/复位指令要放在逻辑串最右端,而不能放在逻辑串中间。4. RS触发器置位复位触发器真值表:SRQ00-010101110复位置位触发器真值表RS Q00-011100111在LAD中,RS触发器可以用在逻辑串最右端,结束一个逻辑串,也可用在逻
辑串中,影响右边的逻辑操作结果。例一
控制传送带
一个由电气启动的传送带,在传送带的起点有两个按钮开关:用于START的S1和STOP的S2。在传送带的尾部也有两个按钮开关:用于START的S3和STOP的S4。可以从任何一端起动或停止传送带。另外,当传送带上的物件到达末端时,传感器S5使传送带停机。
(一)PLC接线(二)定义符号地址符号地址绝对地址类据类型说明S1I0.0BOOL起点启动按钮S2I0.1BOOL起点停机按钮S3I0.2BOOL尾部启动按钮S4I0.3BOOL尾部停机按钮S5I0.4BOOL末端传感器MOTOR_ONQ0.0BOOL电机梯形图程序:思考题:
如下的程序有什么不足之处?应如何改正?例二 双缸顺序动作控制程序
设计程序,使两个气缸顺序动作,其顺序为:A1B1B0A0。
(一)气控回路
(二)位移-步骤图(三)I型障碍信号分析(四)PLC接线(五)定义符号地址(六)梯形图程序
[ 本帖最后由 wuyounanhai 于
19:28 编辑 ]
5.RLO上升沿、下降沿检测指令
FP<位地址>
RLO上升沿检测
<位地址>存储旧RLO的边沿存储位
BOOLI、Q、M、D、L
FN<位地址>
RLO下降沿检测
[/td]<位地址> [td=1,1,84]BOOL[/td]
[td=1,1,77]I、Q、M、D、L
RLO上升沿检测指令识别RLO从0至1(上升沿)的信号变化,并且在操
作之后以RLO=1表示这一变化。用边沿存储位比较RLO的现在的信号状态与该地址上周期的信号状态,如果操作之前地址的信号状态是0,并且现在RLO=1,那么操作之后,RLO将为1(脉冲),所有其它的情况为0。在该操作之前,RLO存储于地址中。
RLO下降沿检测指令识别RLO从1至0(下降沿)的信号变化,并且在操
作之后以RLO=1表示这一变化。用边沿存储位比较RLO的现在的信号状态与该地址上周期的信号状态,如果操作之前地址的信号状态是1,并且现在RLO=0,那么操作之后,RLO将为1(脉冲),所有其它的情况为0。在该操作之前,RLO存储于地址中。
如果RLO在相邻的两个扫描周期中相同(全为1或0),那么FP或FN语
句把RLO位清0。
6.地址上升沿、下降沿检测指令
地址上升沿检测指令将的信号状态与存储在中的先前信号状态检查时的信号状态比较。如果有从0至1的变化的话,输出Q为1,否则为0。
地址下降沿检测指令将的信号状态与存储在中的先前信号状态检查时的信号状态比较。如果有从1至0的变化的话,输出Q为1,否则为0。
在梯形图中,地址跳变沿检测方块和RS触发器方块可被看作一个特殊常开触点。该常开触点的特性:若方块的Q为1,触点闭合;若Q为0,则触点断开。
7.对RLO的直接操作指令
在逻辑串中,对当前的RLO取反;取反指令或置位STA
把RLO无条件置1并结束逻辑串;使STA置1,OR FC清0
把RLO无条件清0并结束逻辑串;清0 STA,OR FC
把RLO存入状态字的BR位,该指令不影响其它状态位
例一 检测传送带的方向
装备有两个光电传感器(PEB1和PEB2)的传送带,该设计能够检测传送带上物件的运动方向,并通过左右两端的指示灯(LEFT灯和RIGHT灯)显示。
(一)PLC接线
(二)定义符号地址
(三)梯形图程序
二分频器是一种具有一个输入端和一个输出端的功能单元,输出频率为输入频率的一半。如下,输入为I0.0,输出为Q4.0。
分析二分频的时序图看到,输入每有一个正跳沿,输出便反转一次。据此,可用跳变沿检测指令实现分频功能。
梯形图程序1:
梯形图程序2:
传送带定位控制
一电动机带动一个传送带运动,要求移动传送带向前或向后到达某一确定的位置,其结构示意图如下,为了正确定位该传送带,有时需要按下向后(REV)或向前(FWD)按钮进行手动调整。
梯形图程序:
一旦有按钮按下,立即驱动输出,电动机运转一个扫描周期。这也意味着按钮时间长短与电动机驱动的时间没有关系。
练习:第一次按按钮指示灯亮,第二次按按钮指示灯闪亮,第三次按下按钮指示灯灭,如此循环,试编写其PLC控制的LAD程序。
4.2.2 定时器指令
定时器可以提供等待时间或监控时间,定时器还可产生一定宽度的脉冲,亦可测量时间。定时器是一种由位和字组成的复合单元,定时器的触点由位表示,其定时时间值存储在字存储器中。
定时器的种类
脉冲定时器(SP)、
扩展脉冲定时器(SE)、接通延时定时器(SD)、保持型接通延时定时器(SS)、关断延时定时器(SF)
1. 定时器组成
在CPU的存储器中留出了定时器区域,该区域用于存储定时器的定时时间值。每个定时器为2Byte,称为定时字。在S7-300中,定时器区为512Byte,因此最多允许使用256个定时器。S7中定时时间由
时基和定时值两部分组成,定时时间等于时基与定时值的乘积。当定时器运行时,定时值不断减1,直至减到0,减到0表示定时时间到。定时时间到后会引起定时器触点的动作。
定时器的第0到第11位存放二进制格式的定时值,第12,13位存放二进制格式的时基。
时基与定时范围
时基的二进制代码
10ms至9s_990ms
100ms至1m_39s_900ms
1s至16m_39s
10s至2h_46m_30s
为累加器1装入定时时间值的表示方法:
W#16#wxyz
其中,w,x,y,z均为十进制数;
w=时基,取值0,1,2,3,分别表示时基为:10ms,100ms,1s,10s;
xyz=定时值,取值范围:1到999。
S5T#aH_bbM_ccS_dddMS
2.定时器启动与运行
PLC中的定时器相当于时间继电器。在使用时间继电器时,要为其设置定时时间,当时间继电器的线圈通电后,时间继电器被启动。若定时时间到,继电器的触点动作。当时间继电器的线圈断电时,也将引起其触点的动作。该触点可以在控制线路中,控制其它继电器。
3.定时器启动指令
启动脉冲定时器
启动扩展脉冲定时器
启动接通延时定时器
启动保持型接通延时定时器
启动关断延时定时器
允许再启动定时器
各种定时器的工作特点:
4.定时器的梯形图方块指令
定时器标识号,与CPU有关
设定定时间(S5TIME格式)
定时器状态输出
剩余时间输出(二进制格式)
剩余时间输出(BCD码格式)
5.定时器应用举例
脉冲发生器
用定时器可构成脉冲发生器,这里用了两个定时器产生频率占空比均可设置的脉冲信号。如下图的脉冲发生器的时序图,当输入I0.0为1时,输出Q0.0为1或0交替进行,脉冲信号的周期为3s,脉冲宽度为1s。
梯形图程序:
频率监测器
频率监测器用于监测脉冲信号的频率,若其低于下限,则指示灯亮,“确认”按键能使指示灯复位。为此,使用了一个扩展脉冲定时器,每当频率信号有一个上升沿就启动一次定时器。如果超过了定时时间没有启动定时器,则表明两个脉冲之间的时间间隔太长,即频率太低了。
梯形图程序:
顺序循环执行程序
当X0接通,灯Y0亮;经5s后,灯Y0灭,灯Y1亮;经5s后,灯Y1灭,灯Y2亮,再过5s后,灯Y2灭,灯Y0亮,如此顺序循环,其时序图如下。
梯形图程序:
电动机顺序启动控制程序
有三台电动机M1、M2、M3,按下启动按钮后M1启动,延时5s后M2启动,再延时16s后M3启动。
(一)PLC接线
(二)定义符号地址
(三)梯形图程序
分段传送带的电动机按制程序
为了节省能源的损耗,可使用PLC来启动和停止分段传送带的驱动电动机,使那些只载有物体的传送带运转,没有载物的传送带停止运行。金属板正在传送带上输送,其位置由相应的传感器检测。传感器安放在两段传送带相邻近的地方,一旦金属板进入传感器的检测范围,PLC便发出相应的输出信号,使后一段传送带的电动机投入工作;当金属板被送出检测范围时,PLC内部定时器立即开始计时,在达到预定的延时时间后,前一段传送带电动机便停止运行。
(一)PLC接线
(二)定义符号地址
(三)梯形图程序
[ 本帖最后由 wuyounanhai 于
21:05 编辑 ]
(1)有4个答题人,出题人提出问题,答题人按动按钮开关抢答,只有最
早按动按钮的人有输出。出题人按复位按钮,引出下一个问题,试编
写PLC梯形图程序。
(2)若传送带上30s内无产品通过,检测器下的检测点则报警,试编写其梯形图程序。
(3)试编写PLC梯形图程序具备下述功能:
(a)按钮接通后A灯先亮,过5s后B灯亮;
(b)B灯亮5s后,自动关闭;
(c)B灯灭5s后,A灯关闭。
(4)如下图(a)A,B,C三条传输皮带,分别受M1,M2,M3三个电动机拖动;图(b)是此三条传输皮带运转的时序图。编写一个用PLC控制它们运转的梯形图程序。要求它们按A-B-C顺序启动,而后按C-B-A的顺序停止。
(5)十字路口的交通指挥信号灯布置如下图:
一、控制要求
(1)信号灯系统由一个启动开关控制,当启动开关接通时,该信号灯系统开始工作,当启动开关关断时,所有信号灯都熄灭。
(2)南北绿灯和东西绿灯不能同时亮。如果同时亮应关闭信号灯系统,并立刻报警。
(3)南北红灯亮维持25s。在南北红灯亮的同时东西绿灯也亮,并维持20s。到20s时,东西绿灯闪亮,闪亮3s后熄灭,此时,东西黄灯亮,并维持2s。到2s时,东西黄灯熄灭,东西红灯亮。同时,南北红灯熄灭,南北绿灯亮。
(4)东西红灯亮维持30s。南北绿灯亮维持25s,然后闪亮3s后熄灭。同时南北黄灯亮,维持2s后熄灭,这时南北红灯亮,东西绿灯亮。
(5)以上南北、东西信号灯周而复始地交替工作状态,指挥着十字路口的交通,其时序如下所示。
二、PLC接线
三、定义符号地址
四、梯形图程序
(6)PLC控制的气缸延时控制回路,当气缸的活塞伸出到位停留5s后再返回,退回到位停留3s再伸出,如此往复运动。
(一)气控回路
(二)PLC接线
(三)定义符号地址
位置传感器
位置传感器
换向阀电磁线圈
换向阀电磁线圈
(四)梯形图程序
(8)多种液体自动混合装置的PLC控制
如图所示为三种液体混合装置,SQ1、SQ2、SQ3和SQ4为液面传感器,液面淹没时接通,液体A、B、C与混合液阀由电磁阀YV1、YV2、YV3、YV4控制,M为搅匀电动机,其控制要求如下:
1.初始状态
装置投入运行时,液体A、B、C阀门关闭,混合液阀门打开20s将容器放空后关闭。
2.起动操作
按下启动按钮SB1,装置开始按下列给定规律运转:
①液体A阀门打开,液体A流入容器。当液面达到SQ3时,SQ3按通,关闭液体A阀门,打开液体B阀门。
②当液面达到SQ2时,关闭液体B阀门,打开液体C阀门。
③当液面达到SQ1时,关闭液体C阀门,搅匀电动机开始搅拌。
④搅匀电动机工作1min后停止搅动,混合液体阀门打开,开始放出混合液体。
⑤当液面下降到SQ4时,SQ4由接通变断开,再过20s后,容器放空,混合液阀门关闭,开始下一周期。
3.停止操作
按下停止按钮SB2后,要将当前的混合操作处理完毕后,才停止操作(停在初始状态)
参考程序:
(9)如下所示是三层楼电梯示意图。电梯的上升、下降由一台电动机控制;正转时电梯上升、反转时电梯下降。各层设一个呼叫开关(SB1、SB2、SB3)、一个呼叫指示灯(H1、H2、H3)、一个到位行程开关(ST1、ST2、ST3)。
控制要求:
(1)各层的呼叫开关为按钮式开关,SB1、SB2及SB3均为瞬间接通有效(即瞬间接通的即放开仍有效)。
(2)电梯箱体上升途中只响应上升呼叫,下降途中只响应下降呼叫,任何反方向呼叫均无效,简称为不可逆响应。具体动作要求,如下表。
(3)各楼层间有效运行时间应小于10S,否则认为有故障、自动令电动机停转。
上升到3层停,这期间经过2层时不停
上升到3层停
上升到2层停
下降到2层停
下降到1层停
下降到1层停,这期间经过2层时不停
先升到2层暂停2S后,再升到3层停
下降到1层停
上升到3层停
先降到2层暂停2S后,再降到1层停
楼层间运行时间必须小于10S,否则停
参考程序:
10)霓虹灯广告屏控制器的设计
用PLC对霓虹灯广告屏实现控制,其具体要求如下:
该广告屏中间8个灯管亮灭的时序为第1根亮→第2根亮→第3根亮→…→第8根亮,时间间隔为1s,全亮后,显示10s,再反过来从8→7→…→1顺序熄灭。全灭后,停亮2s,再从第8根灯管开始亮起,顺序点亮7→6→…→1,时间间隔为1s,显示20s,再从→2→…→8顺序熄灭。全熄灭后,停亮2s,再从头开始运行,周而复始。
参巧梯形图程序:
[ 本帖最后由 wuyounanhai 于
17:12 编辑 ]
4.2.3 计数器指令
S7中的计数器用于对RLO正跳沿计数。
计数器的种类:加计数器、
减计数器、
可逆计数器
1.计数器的组成
在CPU中保留一块存储区作为计数器计数值存储区,每个计数器占用两个字节,称为计数器字。计数器字中的第0至11位表示计数值(二进制格式),计数范围是0到999。当计数值达到上限999时,累加停止。计数值到达下限0时,将不再减小。2.计数器指令LAD指令STL指令功能说明
C no.-(SC)<预置值> SC C no. 计数器置初始值该指令为计数器置初始值,其中no.为计数器编号,数据类型为COUNTER;的数据类型为WORD,可用存储区为I、Q、M、D、L,也可为常数;STL指令的初始值在累加器1中.
C no.--(CU)CU C no.加计数 执行指令时,RLO每有一个正跳沿计数值加1.若达上限999,则停止累加.
C no.--(CD)CD C no.减计数 执行指令时,RLO每有一个正跳沿计数值减1.若达下限0,则停止减。
FR C no. 允许计数器再启动若RLO为1,则初始值再次装入,它不是计数器正常运行的必要条件。当计数大于0时在输出Q上的1信号状态检查产生结果1;当计数等于0时,信号状态检查产生结果0。
3. 计数器的梯形图方块指令参数数据类型存储区说明N0.COUNTER 计数器标识号CUBOOLI,Q,M,D,L加计数输入CDBOOLI,Q,M,D,L减计数输入SBOOLI,Q,M,D,L计数器预置输入PVWORDI,Q,M,D,L计数初始值(0至999)RBOOLI,Q,M,D,L复位计数器输入QBOOLI,Q,M,D,L计数器状态输出CVWORDI,Q,M,D,L当前计数值输出(整数格式)CV_BCDWORDI,Q,M,D,L当前计数值输出(BCD格式)4.计数器应用举例 例一 计数器扩展为定时器
当定时器不够用时,可以用计数器扩展为定时器.程序中使用了CPU的时钟存储器,设置MB100为时钟存储器,则M100.0的变化周期为0.1s。在程序中,如果I0.1的正跳沿为减计数器C0置数.若I0.0为1,则C0每0.1s减1。当C0减到0后,输出Q0.0为1.I0.1的又一个正跳沿使C0置数并使输出为0.这样,在I0.0为1后2s(20*0.1s=2s),Q0.0为1,I0.1的正跳沿使Q0.0复位.例二 长时间延时程序
采用定时器和计数器可以组成长时间延时程序,如下:参考程序当输入I0.0接通时,定时器T0经过10s时间延时后,其动合触点T0闭合,计数器C0开始递减运算,与此同时T0的动断触点是断开的,造成T0线圈断电,使T0的动合触点断开,C0仅计数一次,而后T0线圈又接通,如此循环.当C0经过10s*10=100s时间后,计数器C0输出为0,输出Q0.0接通,具有长时间延时的功能.例三 货仓区的控制
如下图,装有两台传送带的系统,在两台传送带之间有一个仓库区。传送带1将包裹运送至临时仓库区。传送带1靠近仓库区一端安装的光电传感器确定已有多少包裹运送至仓库区。传送带2将临时库区中的包裹运送至装货场,在这里货物由卡车运送至顾客。传送带2靠近仓库区一端安装的光电传感器确定已有多少包裹从库区运送至装货场。梯形图程序:例四 气缸运动计数控制
要求: 气缸连续往复运动20次便自动停止
(一)气控回路(二)PLC接线(三)定义符号地址符号地址绝对地址类据类型说明S0I0.0BOOL启动按钮S1I0.1BOOL停止按钮1S1I0.2BOOL位置传感器1S2I0.3BOOL位置传感器1Y1Q0.0BOOL换向阀电磁线圈1Y2Q0.1BOOL换向阀电磁线圈M0M0.0BOOL启动线圈(四)梯形图程序练习:当X0接通,灯Y0亮;经5s后,灯Y0灭,灯Y1亮;经5s后,灯Y1灭,灯Y2亮,再过5s后,灯Y2灭,灯Y0亮,如此顺序循环10次后自动停止。参考程序:
[ 本帖最后由 wuyounanhai 于
14:15 编辑 ]
4.3 数字指令
数字指令:
装入和传送指令、比较指令、转换指令、逻辑运算指令、算术运算指令、数字系统功能指令 4.3.1 装入和传送指令
装入(L)和传送(T)指令可以在存储区之间或存储区与过程输入、输出之间交换数据。CPU执行这些指令不受逻辑操作结果RLO的影响。L指令将源操作数装入累加器1中,而累加器原有的数据移入累加器2中,累加器2中原有的内容被覆盖。T指令将累加器1中的内容写入目的存储区中,累加器的内容保持不变。L和T指令可对字节、字、双字数据进行操作,当数据长度小于32位时,数据在累加器右对齐,其余各位填0。
1. 对累加器1的装入和传送指令
2. 读取或传送状态字
L STW //将状态字中0-8位装入累加器1中,累加器9-31位被清0
T STW //装累加器1中的内容传送到状态字中
3. 装入时间值或计数值
T1 //将定时器T1中二进制格式的时间值直接装入累加器1的低字中
LC T1 //将定时器T1中的时间值和时基以BCD格式装入累加器1的低字中
C1 //将计数器C1中二进制格式的计数值直接装入累加器1的低字中
LC C1 //将计数器C1中的计数值以BCD格式装入累加器1的低字中
4. 地址寄存器装入和传送
//将操作数的内容装入地址寄存器AR1
//将操作数的内容装入地址寄存器AR2
//将AR1的内容传送给存储区或AR2
//将AR2的内容传送给存储区
//交换AR1和AR2的内容
对于地址寄存器,可以不经过累加器1而直接将操作数装入或传出,或将两个地址寄存器的内容直接交换.
5. 梯形图方块传送指令注意:高位赋值给低字节,低位赋值给高字节。如下程序,当按下按钮I0.0,输出Q0.0为1.4.3.2 比较指令
比较指令用于比较累加器2与累加器1中的数据大小。比较时应确保两个数的类型相同,数据类型可以是整数、长整数或实数。若比较的结果为真,则RLO为1,否则为0。
1.比较两个整数或长整数指令说明==I==D在累加器2低字中的整数是否等于累加器1低字中的整数在累加器2中的长整数是否等于累加器1中的长整数<>I<>D在累加器2低字中的整数是否不等于累加器1低字中的整数在累加器2中的长整数是否不等于累加器1中的长整数>I>D在累加器2低字中的整数是否大于累加器1低字中的整数在累加器2中的长整数是否大于累加器1中的长整数<I<D在累加器2低字中的整数是否小于累加器1低字中的整数在累加器2中的长整数是否小于累加器1中的长整数>=I>=D在累加器2低字中的整数是否大于等于累加器1低字中的整数在累加器2中的长整数是否大于等于累加器1中的长整数<=I<=D在累加器2低字中的整数是否小于累加器1低字中的整数在累加器2中的长整数是否小于累加器1中的长整数2.比较两个实数
指令说明==R在累加器2中的32位实数是否等于累加器1中的实数<>R在累加器2中的32位实数是否不等于累加器1中的实数>R在累加器2中的32位实数是否大于累加器1中的实数<R在累加器2中的32位实数是否小于累加器1中的实数>=R在累加器2中的32位实数是否大于等于累加器1中的实数<=R在累加器2中的32位实数是否小于等于累加器1中的实数3.梯形图方块比较指令方块比较指令在逻辑串中,等效于一个常开触点,如果比较结果为“真”,则该常开触点闭合,否则触点断开。例如:4.3.3 算术运算指令
在STEP 7中可以对整数、长整数和实数进行加、减、乘、除算术运算。算术运算指令在累加器1和2中进行,在累加器2中的值作为被减数或被除数。算术运算的结果存在累加器1中,累加器1原有的值被运算结果覆盖,累加器2中的值保持不变。
1. 整数算术运算指令说明+I将累加器1,2低字中的16位整数相加,16位整数结果保存在累加器1低字中-I将累加器2低字中的16位整数减去累加器1低字中的内容,结果保存在累加器1低字中*I将累加器1,2低字中的16位整数相乘,32位整数结果保存在累加器1低字中/I将累加器2低字中的16位整数除以累加器1低字中的内容,商为16位整数并保存在累加器1低字中,余数存放在累加器1的高字中+D将累加器1,2中的32位整数相加,32位整数结果保存在累加器1中-D将累加器2中的32位整数减去累加器1中的内容,结果保存在累加器1中*D将累加器1,2中的32位整数相乘,32位整数结果保存在累加器1中/D将累加器2中的32位整数除以累加器1中的内容,商为32位整数并保存在累加器1中,余数被丢掉MOD将累加器2中的32位整数除以累加器1中的内容,余数保存在累加器1中,商被丢掉+累加器1中加一个16位或32位整数常量,结果保存在累加器1中2. 实数算术运算:指令说明+R将累加器1,2中的32位实数相加,32位结果保存在累加器1中-R将累加器2中的32位实数减去累加器1中的内容,结果保存在累加器1中*R将累加器1,2中的32位实数相乘,32位乘积保存在累加器1中/R将累加器2中的32位实数除以累加器1中的内容,商为32位实数并保存在累加器1中ABS对累加器1中的32位实数取绝对值3. 梯形图算术运算方块指令 例一 解数学问题用算术运算指令解以下的方程:
梯形图程序:练习:(1)自动售货机的PLC控制
如下图所示的自动售货机示意图,其工作要求如下:1.此售货机可投入1元、5元或10元硬币。
2.当投入的硬币总值超过12元时,汽水按钮指示灯亮;当投入的硬币总值超过15元时,汽水及咖啡按钮指示灯都亮。
3.当汽水按钮灯亮时,按汽水按钮,则汽水排出7s后自动停止,这段时间内,汽水指示灯闪动。
4.当咖啡按钮灯亮时,按咖啡按钮,则咖啡排出7s后自动停止,这段时间内,咖啡指示灯闪动。
5.若投入硬币总值超过按钮所需的钱数(汽水12元,咖啡15元)时,找钱指示灯亮,表示找钱动作,并退出多余的钱。
例二 时钟脉冲发生器
使用定时器实现自由设定时钟脉冲发生器功能(脉冲占空系数1:1)。
存储字节MB101和MB100的单个位获得的频率:
MB101/MB100
持续时间(S)
0.0312532M101.7
存储字节MB101各位的信号状态:
存储字节MB101各位的信号状态7
M101.1的信号状态:
练习:当按启动按钮时,L1灯以0.5s的周期闪烁,L2灯以1s的周期闪烁,L3灯以2s的周期闪烁,L4灯以4s的周期闪烁,按下停止按钮,所有灯熄灭。
参考答案:
[ 本帖最后由 wuyounanhai 于
20:33 编辑 ]
Copyright& CO土木在线 http://m.co188.com
(window.slotbydup=window.slotbydup || []).push({
id: '2481545',
container: s,
size: '20,3',
display: 'inlay-fix'}

我要回帖

更多关于 s7 200cn编程程序 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信