某机器的字长为8,符号位站一位,数据位占七位,采用补码表示的最小整数位-2^7+1,那么不是-2^8+1
某机器的字长为8,符号位站一位,数据位占七位,采用补码表示的最小整数位-2^7+1,那么不是-2^8+1那么不是-2^8+1吗求解?
都说了有符号位,这是有符号数,当然不是-2^8+1了,符号位占去了一位啊,不能计算进去.而且有符号数转换成十进制也不是这样转的,取反加1,1111111取反是0啊,0再加1为1,带上符号位则为-1如果第一位不是符号位,是个无符号数的话,那么它的值等于2^8有符号数、无符号数、补码等这些概念要好好搞清楚
与《某机器的字长为8,符号位站一位,数据位占七位,采用补码表示的最小整数位-2^7+1,那么不是-2^8+1》相关的作业问题
99h,对应的十进制数是( -104), 过程如下: [x]补 =98H =b ,补码末位减1得反码: [x]反 =b,将反码数据位取反得原码: [x]原 =b x= -110 1000b = -68h = -104d
F5单元格输入公式=rank(E5,E$5:E$12,1)下拉填充 再问: 还有点小问题 能加QQ 讨教下么 再答:
=IF(E5>=0,RANK(E5,E$5:E$12,1),RANK(E5,E$5:E$12)-COUNTIF($E$5:$E$12,">=0"))
由题意可知:原来男女生比为4:3后来男女生比为11:12由于女生不变,将原来男女比转换为16;12发现男生比原来不了5份,因为走出去5人,即一份就是一人,共16+12份,所以共28人
根据四舍法:就是舍去整数后的小数,最大当然是7.04了,因为7.05根据“五入”法是进位得7.1.所以最小进位为7的就是6.95 了明白了吧
设原来有女同学x人,则原来全组有3x人列方程:(3x+4)/2=x+4x=4,全组原有3x=12人
7分之1=0.2857循环)6位一循环……2所以七分之一化成小数,小数点后2012位后上的数是4
最大的两位数是99 最小一位小数是0.1 即 10-(99×0.1)=0.1
3的倍数的最小两位奇数是:15最大的两位偶数是:96肯定对.祝你考个高分.
原码:-1补码:-127反码:-126移码:1 再问: 亲…过程呢? 再答: 原码:-1
最高位是符号位。0000001就是值为1。 补码:-127 X补===>X反===>X原= 最高位1表示负数,1111111表示127 反码:-126 X反=100
83H 的原码: (把十六进制的83转换为二进制的)对于字长8位的机器,83H()等价于十进制数的-125 (对于,最高位1是负号,它相当于十进制数的-128)→ -128 + 2^1 + 2^0 = -128 + 2 + 1 = - 1
[A-B]补=[A]补+[-B]补[A]补=11 0101001[B]补=00 0110101 [-B]补=11 0100结果的符号位为 10,所以结果有溢出,负溢 再问: 不用考虑机器位的限制吗? 再答: 这是手工运算的过程,如果要在机器上完成,那
原码:反码:补码:
BAH:右移后为:即:CCH. 再问: +1是13,是D吧 再答: 哦,是DDH。
[x+y]没有溢出[x-y]溢出了x+y=60,正数补码还是本身,没有溢出而x-y=-142,而机器是八位的,能表示的数范围是-128-127,溢出了
如果81H是无符号数,它代表十进制的:129;如果81H是原码,它代表十进制的:-1;如果81H是反码,它代表十进制的:-126;如果81H是补码,它代表十进制的:-127;如果81H是移码,它代表十进制的:+1.可以查看:http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blo
再问: 求步骤和解释 再答: -1: -2: …… -128:
嘿嘿 俺来帮你做吧1 机器数采用8位补码形式(含一位符号位),则十进制数 [26]原码=1AH[ -26]原码=9AH [ -26]反码=0E5H [ -26]补码=0E6H 2 可以将它存入工作寄存器R4中保存MOV R4,#0E6H
其实就是1/128,即2^(-7) 再问: 为什么要1/128,呀,128怎么说扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
7( )7( )7( )1=50 在括号内填任意符号
作业帮用户
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
7*(7+1/7)=50
为您推荐:
其他类似问题
7.7x7+1=50
可打乱顺序吗?7*{7+(1/7)}=50
(7+(1/7))*7=50
7×(7+1÷7)=50
不打乱顺序7( √)7( √)7(+)1=50 (√为根号)
扫描下载二维码【图文】第7章 指令系统_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
第7章 指令系统
&&第7章 指令系统
大小:926.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢当前位置: >>
step7的使用方法
第三章 STEP7编程技术3.1 STEP 7中的块在STEP7软件中主要有以下几种类型的块: ? 组织块: OB(Organization Block) ? 功能: FC(Function) ? 功能块: FB(Function Block) ? 系统功能: SFC(System Function) ? 系统功能块:SFB(System Function Block) ? 背景数据块:DB(Instance Data Block) ? 共享数据块:DB(Share Data Block)3.1.1组织块OB启动组织块 循环执行的程序组织块 定期执行的程序组织块 事件驱动执行的程序组织块? ? ??1.启动组织块???(1)OB100为完全再启动类型(暖启动)。启动时,过程映像 区和不保持的标志存储器、定时器及计数器被清零,保持的标志 存储器、定时器和计数器以及数据块的当前值保持原状态,执行 OB100,然后开始执行循环程序OB1。一般S7-300PLC都采用 此种启动方式。 (2) OB101为再启动类型(热启动)。启动时,所有数据 (无论是保持型和非保持型)都将保持原状态,并且将OB101 中的程序执行一次。然后程序从断点处开始执行。剩余循环执行 完以后,开始执行循环程序。热启动一般只有S7-400具有此功 能。 (3) OB102为冷启动方式。CPU318-2和CPU417-4具有 冷启动型的启动方式,冷启动时,所有过程映像区和标志存储器、 定时器和计数器(无论是保持型还是非保持型)都将被清零,而 且数据块的当前值被装载存储器的原始值覆盖。然后将OB102 中的程序执行一次后执行循环程序。2.循环执行的程序组织块OB1是循环执行的组织块。其优先级为最 低。PLC在运行时将反复循环执行OB1中 的程序,当有优先级较高的事件发生时, CPU将中断当前的任务,去执行优先级较 高的组织块,执行完成以后,CPU将回到 断点处继续执行OB1中的程序,并反复循 环下去,直到停机或者是下一个中断发生。 一般用户主程序写在OB1中。3.定期的程序执行组织块??OB10、OB11~OB17为日期中断组织块。通过 日期中断组织块可以在指定的日期时间执行一次 程序,或者从某个特定的日期时间开始,间隔指 定的时间(如一天,一个星期,一个月等)执行 一次程序。 OB30、OB31~OB38为循环中断组织块。通过 循环中断组织块可以每隔一段预定的时间执行一 次程序。循环中断组织块的间隔时间较短,最长 为1分钟。最短为1毫秒。在使用循环中断组织块 时,应该保证设定的循环间隔时间大于执行该程 序块的时间,否则CPU将出错。4.事件驱动的程序执行组织块? ? ??延时中断组织块 硬件中断组织块 异步错误组织块 同步错误组织块延时中断组织块OB20~OB27:延时中断,当某一事件发 生后,延时中断组织块(OB20)将延时 指定的时间后执行。OB20~ OB27只能 通过调用系统功能SFC32而激活,同时可 以设置延时时间。?硬件中断组织块?OB40~OB47:硬件中断。一旦硬件中断 事件发生,硬件中断组织块OB40~OB47 将被调用。硬件中断可以由不同的模块触 发,对于可分配参数的信号模块DI、DO、 AI、AO等,可使用硬件组态工具来定义 触发硬件中断的信号;对于CP模块和FM 模块,利用相应的组态软件可以定义中断 的特性。异步错误组织块?OB80~OB87:异步错误中断。异步错误 是PLC的功能性错误。它们与程序执行时 不同步地出现,不能跟踪到程序中的某个 具体位置。 在运行模式下检测到一个故障 后,如果已经编写了相关的组织块,则调 用并执行该组织块中的程序。如果,发生 故障时,相应的故障组织块不存在,则 CPU将进入STOP模式。同步错误组织块???OB121、OB122:同步错误中断。如果在某特 定的语句执行时出现错误,CPU可以跟踪到程序 中某一具体的位置。由同步错误所触发的错误处 理组织块,将作为程序的一部分来执行,与错误 出现时正在执行的块具有相同的优先级。 编程错误,例如在程序中调用一个不存在的块, 将调用OB121。 访问错误,例如程序中访问了一个有故障或不存 在的模块,将调用OB122。3.1.2功能FC和功能块FB?FC和FB都是用户自己编写的程序块,用 户可以将具有相同控制过程的程序编写在 FC或FB中,然后在主程序OB1或其他程 序块中(包括组织块和功能、功能块)调 用FC或FB。 FC或FB相当于子程序的功能, 都可以定义自己的参数1. FC和FB的变量声明表的差别2.FC和FB参数赋值不同? ? ??FC没有自己的背景数据块 FB有自己的背景数据块 FC的参数必须指定实参 FB的参数可根据需要决定是否指定实参3.1.3系统功能SFC和系统功能块SFB?SFC和SFB是预先编好的可供用户调用的 程序块,它们已经固化在S7PLC的CPU中, 其功能和参数已经确定。一台PLC具有哪 些SFC和SFB功能,是由CPU型号决定的。 具体信息可查阅CPU的相关技术手册。通 常SFC和SFB提供一些系统级的功能调用, 如通讯功能、高速处理功能等。注意:在 调用SFB时,需要用户指定其背景数据块 (CPU中不包含其背景数据块),并确定 将背景数据块下载到PLC中。3.1.4背景数据块和共享数据块背景DB是和某个FB或SFB相关联,其内 部数据的结构与其对应的FB或SFB的变量 声明表一致。 共享DB的主要目的是为用户程序提供一 个可保存的数据区,它的数据结构和大小 并不依赖于特定的程序块,而是用户自己 定义。需要说明的是,背景DB和共享DB 没有本质的区别,它们的数据可以被任何 一个程序块读写。??3.2STEP7的程序结构和编程语言STEP7的程序结构可分为以下三类: 1.线性程序结构 2.分块程序结构 3.结构化程序结构 ? 编程语言 (三种基本编程语言) 1.梯形图LAD 2.语句表STL 3.功能图FBD?3.3数据类型数据是程序处理和控制的对象,在程序运行 过程中,CPU处理的一串二进制符号所代 表的意义是由数据类型决定的,数据类型 决定了数据的属性,例如数据长度,取值 范围等。 ? STEP7中的数据可分为以下三大类: ? 基本数据类型 ? 复合数据类型 ? 参数数据类型基本数据类型(一)? ? ??? ? ?位(BOOL) 字节(BYTE) 字(WORD) 双字(DOUBLE WORD) 整数(INT) 双整数(DOUBLE INT) 浮点数(REAL)基本数据类型(二)? ? ???S5TIME(SIMATIC时间) IEC时间(TIME) IEC日期(date) 日计时(TIME_OF_DAY) 字符(CHAR)3.3.2复杂数据类型? ? ???日期时间数据类型( Data_And_Time ) 字符串类型(String) 数组类型Array 结构(STRUCT) 用户定义类型(UDT)3.3.3参数数据类型参数数据类型是一类用于功能FC或功能块 FB的数据类型,主要包括以下两种: ? Pointe指针类型 6字节指针类型,传递数据块号和数据地址 ? Any指针类型 10字节指针类型,传递数据块号、数据地 址、数据数量以及数据类型3.4S7的系统存储区和寻址方式??S7的系统存储区集成在CPU中,不能被扩 展。系统存储区根据功能分为不同的区域 供用户使用。 S7的寻址方式为: 符号地址寻址 绝对地址寻址3.4.1系统存储区? ? ? ? ? ???输入过程暂存区(I) 输出过程暂存区(Q) 位存储区(M) 外部输入输出(PI/PQ) 计时器(T) 计数器(C) 数据块(DB) 局部数据(L)3.4.2绝对地址寻址?位寻址 字节寻址 字寻址 双字寻址???位寻址位寻址是最小存储单元的寻址方式。寻址时, 采用以下结构: 存储区关键字+字节地址+位地址: 例如: Q 10.3 ? Q:表示输出过程暂存区; ? 10:表示第十个字节;字节地址从0开始, 最大值由该存储区的大小决定; ? 3:表示位地址为3,位地址的取值范围是 0~7。字节寻址? ??? ? ?字节寻址时,访问一个8位的存储区域。 寻址时,采用以下结构进行寻址: 存储区关键字+字节的关键字(B)+字节 地址 例如:MB0 M:表示位存储区 B:表示字节byte 0:表示第0个字节。其中最低位的位 地址为M0.0,最高位的为M0.7字节寻址字寻址字寻址时,访问一个16位的存储区域,包含 两个字节。寻址时采用以下结构: 存储区关键字+字的关键字(W)+第一字 节地址 ? 例如:IW10 ? I:表示输入过程暂存区 ? W:表示字word ? 10:表示从第10个字节开始,包括 两个字节的存储空间,即IB10和IB11。字寻址双字寻址双字寻址时,访问一个32位的存储区域,包含4个 字节。寻址时采用以下结构:存储区关键字+字 的关键字(D)+第一字节地址 ? 例如:LD20 ? L:表示局部数据暂存区 ? D:表示字word ? 20:表示从第20个字节开始,包括4个 字节的存储空间。包括LB20、LB21、LB22和 LB23四个字节双字寻址3.4.3符号地址寻址??STEP7中的符号寻址是先给需要使用的绝 对地址或参数变量定义符号,然后在程序 中使用所定义好的符号进行编程寻址 STEP7中可以定义的符号有两种: 全局符号 局部符号全局符号 和局部符号全局符号 ? 在符号编辑器中定义 ? 适用于所有的程序块 ? 以双引号表示 局部符号 ? 在块中的变量申明表中定义 ? 所定符号只在本程序块中有效 ? 符号前加#号表示3.5STEP7指令系统(一)S7系列PLC的CPU中的寄存器 累加器(Accumulators) 地址寻址寄存器(Address Register) 数据块寄存器(Data Block Register) 状态字(Status Word) ? 位逻辑指令?3.5.1S7系列PLC的CPU中的寄存器? ? ? ? ? ? ? ? ?状态字 /FC:首次检查位。 RLO:逻辑操作结果位。 STA:状态位 OR:或位 OV:溢出位 OS:溢出存储位 CC0和CC1:条件码 BR:二进制结果3.5.2 位逻辑指令? ? ??常开接点 常闭接点 输出线圈 程序实例:位逻辑指令? ? ???中间输出单元 信号流反向指令 复位线圈 置位线圈 复位置位触发器和置位复位触发器位逻辑指令?程序实例?对应时序图如下所示:位逻辑指令?时序图位逻辑指令 正跳沿(上升沿)检测指令位逻辑指令 负跳沿(下降沿)检测指令位逻辑指令? ?地址正跳沿检测 地址负跳沿检测?SAVE指令位逻辑指令 地址上升沿检测指令示例位逻辑指令 以上程序的时序图3.6实训四:PLC控制一台电机正反转使用S7-300PLC实现一台电动机的正反 转控制。控制要求如下:要求能实现电 机的正转和反转控制,并能进行正反转 的直接切换。另外,还可进行正反向的 点动控制,当电机处于正常运行时,点 动按钮不起作用。3.6.1实训目的:? ??掌握S7-300PLC输入输出模块接线方法; 掌握西门子S7-300PLC编程软件的使用 方法和程序输入、下载和调试方法; 掌握基本指令的使用方法;3.6.2实训设备:? ? ??? ?PLC实验板(西门子S7-300) 开关按钮5个 直流继电器两个(线圈电压为24V) 直流电动机一台(额定电压9V) 导线若干 PC机和STEP 7编程调试软件3.6.3实训内容:? ? ?? ?系统分析(预习): PLC硬件配置 分析控制要求进行输入输出点分配,并 根据资源分配画出外部接线图。 根据控制要求设计程序。 在线调试程序3.6.4实训步骤:? ????按照输入输出模块接线图以及直流电动 机主电路接线图进行外部接线; 使用STEP-7软件创建项目,进行硬件配 置和参数设置; 打开项目中的OB1程序块编写并书写控 制程序; 下载,并调试程序; 打开直流电动机主电路电源进行整体调 试;参考硬件配置表序号 1 2 3 4 5 名称 CPU 电源模块 开关量输入模块 开关量输出模块 前连接器 型号说明 CPU313 PS307 SM321 SM322 20针 数量 1 1 1 1 2参考输入输出地址分配表序号 1 2 3 4 5 序号 1 2 输入信号名称 正向长动按钮SB1(常开) 正向点动按钮SB2(常开) 反向长动按钮SB3(常开) 反向点动按钮SB4(常开) 停止按钮SB5(常开) 输出信号名称 正转继电器KM1 反转继电器KM2 地址 I0.0 I0.1 I0.2 I0.3 I0.4 地址 Q4.0 Q4.13.7STEP7指令系统(二)??定时器指令 1.脉冲定时器:--(SP) 2.扩展脉冲定时器--(SE) 3.开通延时定时器--(SD) 4.保持型开通延时定时器--(SS) 5.关断延时定时器--(SF) 数据装载和传送指令(MOVE)1、脉冲定时器 --(SP)?--(SP)指令是产生指定时间宽度脉冲的 定时器。参数 数据 类型 存储区 T 说明 地址表示要起动 的计时器号LADTIME &地址& R 时间值S5TI I,Q,M, 定时时间值 ME D,L (S5TIME格式)1、脉冲定时器 --(SP)?如图所示程序,定时器定义的时间值为2S1、脉冲定时器 --(SP)?上图程序对应的时序图如图所示1、脉冲定时器 --(SP)?T1接点控制Q0.0线圈,因此T1接点的状 态与Q0.0的状态一致。由时序图可以看出, 脉冲定时器每次起动的条件是逻辑位有正 跳沿发生,定时器启动计时,T1接点开始 输出高电平“1”。从时序图可以看到,-(SP)指令计时的过程中,逻辑位的状态 若变为“0”(如图3.7.2第7秒处)则定时 器停止计时,且输出为“0”。因此,脉冲 定时器输出的高电平的宽度小于或等于所 定义的时间值。1、脉冲定时器 --(SP)?脉冲定时器的方框指令如表所示LAD 参数 &地址 & S 数据类 型 TIMER BOOL 说明 要启动的计时器号如 T0 启动输入端 定时时间(S5TIME格 式) 复位输入端 定时器的状态 当前时间(整数格式) 当前时间(BCD码格 式) 存储区 TTVR Q BI BCDS5TIMEBOOL BOOL WORD WORDI,Q, M,D, L1、脉冲定时器 --(SP)?如图所示的程序中,可从MW10和MW12 中以不同的格式读出定时器计时T1剩余的 时间。1、脉冲定时器 --(SP)?上图所示的程序对应的时序图如图所示2、扩展脉冲定时器 --(SE)?--(SE)指令与--(SP)指令相似,但-(SE)指令具有保持功能。参数 数据类型 存储区 说明 地址表示要起动的计时器 号LAD&地址&TIMERT时间值S5TIMEI,Q,M, D,L定时时间值(S5TIME格 式)2、扩展脉冲定时器 --(SE)?如图所示的程序2、扩展脉冲定时器 --(SE)?上图所示的程序对应的时序图如图所示2、扩展脉冲定时器 --(SE)?一旦逻辑位(即I0.0的状态)有正跳沿发 生,定时器T0启动,同时输出高电平“1”。 定时时间到后,输出将自动变成低电平 “0”。如果定时时间尚未到达,逻辑位的 状态就由“1”变为“0”,这时定时器仍然 继续运行,直到计时完成。这一点是-(SE)指令与--(SP)指令的不同之处。2、扩展脉冲定时器 --(SE)?扩展脉冲定时器的方框指令如表所示LAD 参数 数据类 型 TIMER BOOL S5TIME BOOL BOOL 说明 要启动的计时器号如T0 启动输入端 定时时间(S5TIME格 式) 复位输入端 定时器的状态 I,Q, M,D, L 存储 区 T&地 址&S TV R QBI BCDWORD当前时间(整数格式)WORD 当前时间(BCD码格式)3、开通延时定时器--(SD)?开通延时定时器指令--(SD),相当于继 电器控制系统中的通电延时时间继电器。LAD 参数 数据类型 存储区 说明&地址 &TIMERT地址表示要起动的计时器号时间 值S5TIMEI,Q,M,D, 定时时间值(S5TIME格式) L3、开通延时定时器--(SD)?如图所示的程序:3、开通延时定时器--(SD)?上图所示的程序对应的时序图如图所示3、开通延时定时器--(SD)?--(SD)对应的方框如表所示LAD 参数 &地址& S 数据类型 TIMER BOOL 说明 要启动的计时器号如 T0 启动输入端 定时时间(S5TIME格 式) 复位输入端 定时器的状态 当前时间(整数格式) 当前时间(BCD码格 式) 存储区 TTVR Q BI BCDS5TIMEBOOL BOOL WORD WORDI,Q, M,D, L4、保持型开通延时定时器--(SS)?保持型开通延时--(SS)与开通延时定时 器--(SD)类似,但--(SS)指令有保 持功能。LAD 参数 数据类型 存储区 说明&地址&TIMERT地址表示要起动的计时器号时间值S5TIMEI,Q,M, D,L定时时间值(S5TIME格式)4、保持型开通延时定时器--(SS)?保持型开通延时定时器的应用方法如图所 示4、保持型开通延时定时器--(SS)?上图中的程序对应的时序图如图所示4、保持型开通延时定时器--(SS)?保持型开通延时定时器的方框指令如表所 示LAD 参数 &地址& S 数据类型 TIMER BOOL 说明 要启动的计时器号如 T0 启动输入端 存储区 TTVR Q BI BCDS5TIMEBOOL BOOL WORD WORD定时时间(S5TIME格 式)复位输入端 定时器的状态 当前时间(整数格式) 当前时间(BCD码格 式) I,Q, M,D, L5、关断延时定时器--(SF)?关断延时定时器--(SF)相当于继电器控 制系统中的断电延时时间继电器。也是定 时器指令中唯一的一个由下降沿启动的定 时器指令。参数 数据类型 存储区 说明地址表示要起动的计时器 号LAD&地址&TIMERT时间值S5TIMEI,Q,M,D, 定时时间值(S5TIME格式) L5、关断延时定时器--(SF)?如图所示的程序5、关断延时定时器--(SF)?上图中的程序对应的时序图如图所示5、关断延时定时器--(SF)?关断延时计时器的方框指令如下表所示LAD 参数 &地址& S TV 数据类型 TIMER BOOL S5TIME 说明 要启动的计时器号如 T0 启动输入端 定时时间 (S5TIME格式) 存储区 TRQ BI BCDBOOLBOOL WORD WORD复位输入端定时器的状态 当前时间(整数格式) 当前时间(BCD码格 式)I,Q, M,D, L定时器应用举例:?1、使用--(SP)或--(SE)指令构成 脉冲发生器:使用脉冲定时器如图所示 的程序可产生周期性变化的脉冲信号。定时器应用举例:?上图中的程序对应的时序图如图所示定时器应用举例:?程序又可写成如图所示的程序定时器应用举例:2、使用--(SD)指令产生周期性变化的 脉冲信号: 使用--(SD)指令可以采用下图所示的程 序得到脉冲信号?定时器应用举例:?上图所示的程序对应的时序图如图所示定时器应用举例:?使用 --(SD)指令还可以用二分频电路 产生一个方波。程序如图所示定时器应用举例:?时序图如图所示数据装载和传送指令:(MOVE)?数据装载和传送指令(MOVE)如表所示LAD 参数 EN ENO 数据类型 BOOL BOOL 长度为8位、16位、 32位的所有数据类型 长度为8位、16位、 32位的所有数据类型 说明 允许输入 允许输出 I,Q,M, D,L 存储区IN源数据OUT目的地地址数据装载和传送指令:(MOVE)?如图3.7.20所示程序3.8实训5:交通信号灯控制??? ?实训目的 1.掌握交通信号的工作原理 2.熟悉西门子S7-300PLC编程软件的使用方法和程序输入、 下载和调试方法 3.掌握S7-300PLC定时器的使用方法 实训设备 1. PLC实验板(西门子S7-300) 2.开关按钮1个 3.指示灯6个(也可直接使用S7-300PLC输出模块输出指 示灯) 4. PC机和STEP 7编程调试软件 实训内容:交通信号灯的控制要求 实训步骤实训内容:交通信号灯的控制要求?交通信号灯模型如图所示实训内容:交通信号灯的控制要求?控制要求如下:自动开关合上之后,东西 绿灯亮8秒灭,黄灯亮3秒之后灭,红灯亮 10秒后闪2秒然后绿灯亮......循环,对应 东西绿黄灯亮时,南北红灯亮9秒后闪2秒, 接着绿灯亮9秒后闪秒灭,黄灯亮3秒,红 灯又亮....循环。当断开自动开关时,交 通信号灯立刻停止工作。实训内容:交通信号灯的控制要求?根据控制要求画出交通信号灯的时序图如 图所示实训内容:交通信号灯的控制要求? ?系统分析 1.PLC硬件配置:控制系统中的硬件配置如下序号 1 2 3 4 5 名称 CPU 电源模块 开关量输入模块 开关量输出模块 前连接器 型号说明 CPU313 PS307 SM321 SM322 20针 数量 1 1 1 1 2实训内容:交通信号灯的控制要求?2.分析控制要求进行输入输出点分配,并根据 分配画出外部接线图。序号 输入信号名称 地址1序号 1 2 3 4自动开关QS(常开)输出信号名称 东西绿灯HL1 东西黄灯HL2 东西红灯HL3 南北绿灯HL4I0.0地址 Q4.0 Q4.1 Q4.2 Q4.356南北黄灯HL5南北红灯HL6Q4.4Q4.5实训内容:交通信号灯的控制要求?输入输出模块接线如图所示实训内容:交通信号灯的控制要求?3.程序设计: 设计提示:可先采用SE指 令,产生周期为23秒,占空比为11:12 的矩形波。再将其分割成所需要的矩形波。 参考程序见附录光盘实训步骤????1.按照输入输出模块接线图以及直流电 动机主电路接线图进行外部接线; 2.使用STEP-7软件创建项目,并进行硬 件配置和参数设置 3.打开项目中的OB1程序块编写控制程 序 4.下载,调试程序3.9STEP7指令系统(三)? ? ?移位指令和循环指令 控制转移指令及应用 比较指令及其应用移位指令和循环指令??? ? ? ? ? ? ?字左移指令SHL_W 字右移指令SHR_W 双字左移指令SHL_DW 双字右移指令SHR_DW 整数右移指令SHR_I 双整数右移指令SHR_DI 循环指令能够将累加器1整个内容逐位向左或者 向右循环移位。可使用的循环指令有: 双字左循环指令ROL_DW 双字右循环指令ROR_DW1.字左移指令?当允许输入EN位为高电平“1”时,将执行 移位指令,将IN端指令的内容送入累加器 1低字中,并左移N端指定的位数,然后写 入OUT端指令的目的地址中。LAD 参数 数据类 型 说明 存储 区ENENOBOOLBOOL允许输入允许输出 I、Q、 M、D、 LINNWORDWORD移位对象移动的位数OUTWORD移动操作的结果1.字左移指令?字左移指令的工作方式如图所示1.字左移指令?如图所示的程序中,当I0.2的状态为“1” 时,CPU把MW2中的数据读入累加器1低 字中,并将累加器1低字的内容左移2位 (N=W#16#2),然后再将移位后的内 容写入到MW10中,注意MW2中的内容 并没有变化1.字左移指令?要想在同一个存储字中看到移位的效果, 可以将IN和OUT端指定相同的地址。如图 所示1.字左移指令?注意:移位指令是高电平执行。要每次按 下I0.2的外部输入按钮,移位指令只执行 一次,可以在I0.2的常开接点后加上升沿 检测指令--(P),将EN端的信号变成只 有一个扫描周期的高电平信号。如图所示2.字右移指令?字右移指令执行时,当允许输入EN的状态 为“1”时,将执行移位指令LAD 参数EN ENO IN N数据类型BOOL BOOL WORD WORD说明允许输入 允许输出 移位对象 移动的位数存储区I、Q、 M、D、 LOUTWORD移动操作的结果2.字右移指令?字右移指令工作方式如图所示2.字右移指令?如图所示的程序3.双字左移指令?双字左移指令是移位对象是32位,当EN端的为 “1”时,CPU将IN端的内容读入累加器1,并将累 加器1中的内容整体左移N端指定的位数。移位过 程中,按照高位丢失低位补“0”的原则进行LAD 参数 EN ENO IN N OUT 数据类 型 BOOL BOOL DWORD WORD DWORD 说明 允许输入 允许输出 移位对象 移动的位数 移动操作的结果 I、Q、 M、D、 L 存储区4.双字右移指令?双字右移指令移位的对象是32位,当EN端的状态 为“1”时,CPU将IN端指定的内容读入累加器1中, 并将累加器1整体右移N端指定的位数,按照低位 丢失高位补“0”的原则进行LAD 参数 EN ENO 数据类 型 BOOL BOOL 说明 允许输入 允许输出 I、Q、 M、D、 L 存储 区INN OUTDWORDWORD DWORD移位对象移动的位数 移动操作的结果5.整数右移指令?整数右移指令与字移位指令不同。整数只有右移指 令,移位时按照低位丢失,高位补符号位状态的原 则,也就是正数高位补“0”,负数高位补“1”的原 则LAD 参数 EN ENO IN N OUT 数据类型 BOOL BOOL INT WORD INT 说明 允许输入 允许输出 移位对象 移动的位数 移动操作的结果 存储区I、Q、 M、D、 L5.整数右移指令?整数右移指令工作原理如图所示6.双整数右移指令?双整数右移指令与整数右移类似,双整数 移位对象为32位LAD 参数 EN ENO IN N 数据类型 BOOL BOOL INT WORD 说明 允许输入 允许输出 移位对象 移动的位数 I、Q、 M、D、 L 存储区OUTINT移动操作的结果7.双字左循环指令?双字左循环指令的循环移位对象为32位,当EN端 的状态为“1”时,将执行指令:CPU将IN端指定的 内容读入累加器1中,然后将累加器1中的内容循 环左移N端指定的位数,并写入OUT端指定的目的 地址中LAD 参数 EN ENO IN N 数据类型 BOOL BOOL WORD WORD 说明 允许输入 允许输出 移位对象 移动的位数 I、Q、 M、D、 L 存储区OUTWORD移动操作的结果7.双字左循环指令?双字左循环的工作过程如图所示7.双字右循环指令LAD 参数 数据类型 说明 存储区ENENOBOOLBOOL允许输入允许输出INN OUTWORDWORD WORD移位对象移动的位数 移动操作的结果I、Q、 M、D、 L7.双字右循环指令?双字右循环指令的工作方式如图所示控制转移指令及应用? ?1.转移指令(JMP) 2.若非转移指令(JMPN)1.转移指令(JMP)?当逻辑位RLO的状态为“1”时,将触发转 移指令,程序将直接跳转至标号指定的网 路,并从此网路开始顺序执行以下的程序, 在转移指令和标号之间的程序将不予执行1.转移指令(JMP)?如图所示程序1.转移指令(JMP)?如图所示程序2.若非转移指令(JMPN)?若非转移指令(JMPN)与转移指令相似, 其转移条件是当逻辑位的状态为“0”时。2.若非转移指令(JMPN)?如图所示程序: 当I0.1的状态为 “1”,时,跳转条 件不成立,CPU 将按正常顺序执 行程序。当I0.1 的状态为“0”时, 跳转条件成立, CPU将跳过程序 段2,直接执行程 序段3的指令。2.若非转移指令(JMPN)?使用跳转指令的 以下结构,可实 现选择性执行程 序段的功能。程 序如图所示比较指令及其应用?????? ? ? ?两个整数的比较(每一整数均为16位); 两个双整数的比较(每一双整数均为32位); 两个实数的比较(每一实数均为32位); 比较类型有以下几种类型: 等于(EQ) : IN1等于(= =)IN2; 不等于(NQ): IN1不等于(& &)IN2; 大于(GT): IN1大于(&)IN2; 小于(LT): IN1小于(&)IN2; 大于或等于(GE):IN1大于或等于(& =)IN2; 小于或等于(LE):IN1小于或等于(& =)IN2;1.整数等于比较指令?整数比较指令关键字符为I。整数等于比较 指令是判断两个正数是否相等,如果相等, 则逻辑结果为“1”,如果不相等则逻辑结 果为“0”。LAD 参数 IN1 数据类 型 INT 说明 比较的第一个数值 I、Q、 M、D、 L 存储 区IN2INT比较的第二个数值1.整数等于比较指令?如图所示的程序,当MW10中的内容等于 23时,Q0.0的状态为“1”,否则,Q0.0 的状态为“0”。1.整数等于比较指令?注意:比较指令的使用接点类似,因此比 较指令不能放在逻辑串的最后。如图所示注意:上图所示程序是一个不完整的程序, 不能被保存或下载。比较指令只能放在逻 辑串的中间。2.整数不等于比较指令?整数不等于比较指令是指当两个整数不相 等时,比较的逻辑结果为“1”,而当两个 数相等时逻辑结果为“0”。这一指令相当 于等于比较指令的“非”操作。LAD 参数 IN1 数据类型 INT 说明 比较的第一个数值 I、Q、 M、D、 L 存储区IN2INT比较的第二个数值3.双整数大于比较指令?双整数的关键字为D。大于比较指令是当 第一个数值大于第二个数值时,即IN1大 于IN2,比较逻辑结果为“1”,否则逻辑 结果为“0”。LAD 参数 IN1 数据类型 DINT 说明 比较的第一个数值 I、Q、 M、D、 L 存储 区IN2DINT比较的第二个数值4.实数小于等于比较指令?实数比较指令的关键字为R。小于等于比 较指令是当第一个数值小于或等于第二个 数值时,即IN1&=IN2时,比较逻辑结果 为“1”,否则逻辑结果为“0”。LAD 参数 IN1 数据类型 DINT 说明 比较的第一个数值 I、Q、 M、D、 L 存储区IN2DINT比较的第二个数值3.10实训六 彩灯循环????实训目的 1.掌握移位指令的使用。 2.锻炼PLC的程序编制和调试能力 实验设备 1.PLC实验板(西门子S7-300) 2.开关按钮1个 3.指示灯6个(也可直接使用S7-300PLC输出模块输出 指示灯) 4.PC机和STEP 7编程调试软件 实验内容 实验步骤实验内容用西门子公司S7系列的PLC实现一个1 6个彩灯循环闪烁的控制系统。控制要求 如下 : 控制项目1:单向手动控制:要求通过按 钮SB1使得16灯泡按照HL1、HL2~ HL16的顺序亮灭,移到最高位HL16以后, 再回到HL1、重复循环下去。按下停止按 钮SB2后,彩灯熄灭,停止工作。?实验内容?控制项目2:往复手动控制:要求通过按 钮SB1使得16灯泡按照HL1、HL2~ HL16的顺序亮灭,移到最高位HL16以后, 再按HL16、HL15~HL2、HL1的顺序亮 灭,如此反复循环下去。按下停止按钮 SB2后,彩灯熄灭,停止工作。实验内容?控制项目3:单向自动控制:彩灯亮灭的 顺序与实验1要求相同,但要求彩灯能自 动循环,彩灯移动的时间间隔为1秒钟 (可根据实际情况修改)实验内容?控制项目4:往复自动控制:彩灯亮灭的 顺序与实验2要求相同,但要求彩灯能自 动循环,彩灯移动的时间间隔为2秒钟 (可根据实际情况修改)实验内容?控制项目5:要求按下启动按钮SB1彩灯 按照从小到大(HL1、HL2~HL16)的顺 序自动亮灭,第一次时间间隔为1秒钟, 第二次移动的时间间隔为2秒钟,第三次 移动的时间间隔为3秒钟,移动三次后完 成一个循环,重复循环。按下停止按钮 SB2后彩灯全灭。系统分析1. PLC硬件配置控制系统中的硬件配置如下序号 1 2 3 4 5 名称 CPU 电源模块 开关量输入模块 开关量输出模块 前连接器 型号说明 CPU313 PS307 SM321 SM322 20针 数量 1 1 1 1 2系统分析2.分析控制要求进行输入输出点分配,并根据分 配画出外部接线图。资源分配表如表所示序号1 2输入信号名称开始按钮SB1(常开) 停止按钮SB2(常开)地址I0.0 I0.1系统分析序号 1 2 输出信号名称 彩灯HL1 彩灯HL2 地址 Q5.0 Q5.1 序号 9 10 输出信号名称 彩灯HL9 彩灯HL10 地址 Q4.0 Q4.134 5 6 7 8彩灯HL3彩灯HL4 彩灯HL5 彩灯HL6 彩灯HL7 彩灯HL8Q5.2Q5.3 Q5.4 Q5.5 Q5.6 Q5.71112 13 14 15 16彩灯HL11彩灯HL12 彩灯HL13 彩灯HL14 彩灯HL15 彩灯HL16Q4.2Q4.3 Q4.4 Q4.5 Q4.6 Q4.7系统分析?输入输出模块接线图系统分析3.分析控制要求写出程序清单实验步骤? ? ??1.根据实验要求编写PLC程序 2.按照PLC实验线路接线并合上电源 3.启动编程软件,编写程序 4.进行模拟在线调试。3.11STEP7指令(四)? ? ??计数器指令 算数运算指令 转换指令 字逻辑指令计数器指令? ? ?计数器置初值指令(SC) 加法计数器线圈(CU) 减法计数器线圈(CD)1.计数器置初值指令(SC)?当逻辑位RLO有正跳沿时,计数器置初值线圈将预 置值装入指定计数器中。若RLO位的状态没有正跳 沿发生,则计数器的值保持不变。参数 数据类型 存储区 说明LAD计数器号COUNTERC地址表示预置初值的计数 器号预置值WORDI,Q,M, 预置值(必须是BCD码格 D,L 式,即为C#,例如C#23)2.加法计数器线圈?当逻辑位RLO有正跳沿时,加法计数器线圈使指定 计数器的值加1,如果RLO位的状态没有正跳沿发 生,或者计数器数值已经达到最大值999,则计数 器的值保持不变。参数 数据类型 存储区 说明LAD计数器号 COUNTERC地址表示要执行加法计 数的计数器号3.减法计数器线圈?当逻辑位RLO有正跳沿时,减法计数器线圈使指定 计数器的值减1,如果RLO位的状态没有正跳沿发 生,或者计数器数值已经达到最小值0,则计数器 的值保持不变。LAD 参数 数据类型 存储区 说明计数器号 COUNTERC地址表示要执行减法计数 的计数器号计数器指令的使用举例?如图所示计数器指令的使用举例?当I0.0的状态由“0”变为“1”时,(SC)指令 将数值23装入计数器C0中,当I0.1的状态由“0” 变为“1”时,计数器C0的值将减1,当I0.2的状 态由“0”变为“1”时,计数器C0的值将加1。计 数器的位状态与计数器值的关系如表所示计数器的计数值 不等于0 等于0 计数器的位状态 “1”(高电平) “0”(低电平)计数器指令的使用举例?如图所示,若I0.3的状态为“1”,则计数 器C0所计的数值立刻变为零,由于(R) 指令是高电平执行,因此若I0.3的状态保 持“1”,则计数器C0始终处于清零状态而 无法正常使用。用户在使用指令时,应注 意指令的执行方式。4.可逆计数器S_CUDLAD 参数 数据类型 COUNT ER BOOL BOOL BOOL WORD BOOL BOOL WORD WORD 说明 存储 区&地址&CU CD S PV R Q CV CV_BCD计数器标识号加计数输入 减计数输入 计数器预置输入C计数器预置值(C#格 式) I,Q, M,D, 复位输入 L 计数器状态计数器当前值(整数 格式) 计数器当前值(BCD 格式)4.可逆计数器S_CUD?可以看到,可逆计数器方框指令可以完成 计数器的加(CU)、减(CD)计数和置 初值(S、PV)以及计数器值清零(R) 等功能,还可以将计数器当前值以不同的 格式输出,整数格式(CV)和BCD格式 (CV_BCD)。计数器的状态可以Q端输 出,也可以由计数器的触点输出。4.可逆计数器S_CUD?例如,前面例子中两图所示的程序可以由 下图所示的程序代替4.可逆计数器S_CUD? ?使用计数器时应该注意下面几点问题 (1)计数器指令的加、减计数输入端以 及预置值输入端均为上升沿执行,即逻辑 位必须有从“0”到“1”的变化时,指令才 会执行。4.可逆计数器S_CUD?(2)计数器的预置的初始值及PV端的数 据格式为BCD码二~十进制格式。如果在 PV端使用地址如MW10,而不是直接数 C#...,应该保证在执行置初值指令时, 地址MW10中保存的数据满足BCD码格式, 否则执行程序时,CPU将会出错。4.可逆计数器S_CUD?(3)计数器触点的状态由计数器的值决 定,如果计数值等于零,则计数器触点的 状态为低电平“0”,如果计数值不等于零 (无论等于几),则计数器触点的状态为 高电平“1”。算数运算指令? ? ??加法运算指令 减法运算指令 乘法运算指令 除法运算指令ADD SUB MUL DIV1.整数加法运算ADD_ILAD 参数 EN ENO IN1 IN2 OUT 数据类 型 BOOL BOOL INT INT INT 说明 允许输入 允许输出 相加的第1个值 相加的第2个值 相加的结果 I、Q、 M、D、 L 存储区1.整数加法运算ADD_I?程序示例如图所示1.整数加法运算ADD_I?如图所示的程序中1.整数加法运算ADD_I?若I0.0后面没有边沿检测指令,程序段1 如图所示2.整数减法运算SUB_I?减法指令运算规则为:LAD 参数 EN ENO IN1 IN2 OUT 数据类型 BOOL BOOL INT INT INTIN1 ― IN2=OUT说明 允许输入 允许输出 被减数 减数 减法运算的结果 I、Q、 M、D、 L 存储区3.整数乘法运算MUL_I?允许输入EN的状态为“1”时,启动乘法运算指令, 将IN1乘以IN2,并将计算结果送至OUT端。如果 计算结果正确,ENO端输出为“1”。LAD 参数 EN ENO IN1 IN2 OUT 数据类 型 BOOL BOOL INT INT INT 说明 允许输入 允许输出 第1个乘数 第2个乘数 乘法运算的结果 I、Q、 M、D、 L 存储区4.整数除法运算DIV_I?除法指令的运算规则为:LAD 参数 EN ENO IN1 IN2 OUT 数据类 型 BOOL BOOL INT INT INTIN1÷IN2=OUT说明 允许输入 允许输出 被除数 除数 除法运算的结果 I、Q、 M、D、 L 存储区4.整数除法运算DIV_I?例如如图所示的程序,运算结果为6。5.双整数取余数指令MOD_DI?双整数取余数指令,是将两个双整数进行 除法运算,并将余数作为结果送到OUT端LAD 参数 EN ENO IN1 IN2 OUT 数据类型 BOOL BOOL DINT DINT DINT 说明 允许输入 允许输出 被除数 除数 除法运算取余数的结 果 I、Q、 M、D、 L 存储区5.双整数取余数指令MOD_DI?例如27与4两个整数相处的余数为3,利 用如图所示的程序可以计算出来转换指令? ? ? ? ? ???BCD转换为整数: BCD_I 整数转换为BCD: I_BCD 整数转换为双整数: I_DI BCD转换为双整数: BCD_DI 双整数转换为BCD: DI_BCD 双整数转换为实数: DI_R 整数二进制码的位取反: INV_I 双整数二进制码的位取反: INV_DI转换指令? ? ??? ? ?整数的二进制补码: NEG_I 双整数的二进制补码: NEG_DI 实数求反: NEG_R 实数四舍五入为双整数: ROUND 实数舍去小数部分为双整数:TRUNC 实数向上取整为双整数: CEIL 实数向下取整为双整数: FLOOR1.BCD转换为整数BCD_I?BCD_I指令是将IN指定的内容以BCD码 二~十进制格式读出,并将其转换为整数 格式,输出到OUT端LAD 参数 EN ENO IN OUT 数据类型 BOOL BOOL WORD INT 说明 允许输入 允许输出 BCD数 BCD数的整数值 存储区I、Q、 M、D、 L1.BCD转换为整数BCD_I?注意:如果IN端指定的内容超出BCD码的 范围(例如四位二进制数出现 的几种组合),则执行指令 时将会发生错误,使CPU进入STOP方式, 或者调用编程错误组织块OB121(如果 OB121被编程且下载到PLC中)。1.BCD转换为整数BCD_I?如图所示的程序中2.整数转换为BCD:I_BCD?I_BCD指令是将IN端指定的内容以整数的 格式读出,然后将其转换为BCD码格式输 出到OUT端。LAD 参数 EN ENO IN OUT 数据类型 BOOL BOOL INT WORD 说明 允许输入 允许输出 整数 整数转换为BCD码 存储区I、Q、 M、D、 L2.整数转换为BCD:I_BCD??在使用I_BCD指令可能会遇到以下情况 (1)IN端的整数大于999。 这时,PLC不停机,仍然正常运行。由于字的BCD 码最大只能表示C#999(最高四位为符号位)。 若IN端的内容大于999,CPU将IN端的内容直接 送到OUT端输出,不经过I_BCD的转换。这时 OUT输出的内容可能超出BCD码的范围。另外 OUT端的内容若为BCD码,也有可能是超过999的 整数转换出来的,例如整数2457通过I_BCD指令 以后,OUT的值为C#999。因此在使用I_BCD指 令时应该保证整数的小于等于999。2.整数转换为BCD:I_BCD?如图所示程序段1(Network1)中,由于整数 2457的二进制码为2#01_1001。 因此MW10与MW12中的内容相同,以二进制格式 表示均为2#01_1001。2.整数转换为BCD:I_BCD?(2)IN端的整数为负整数时。转换出的BCD码最高四 位为“1”。如下图中程序段2所示,MW14中的内容以 二进制表示为2#01_1001。但 MW16中的内容为整数-2457的二进制码(负整数以正 整数二进制补码形式保存),为 2#10_0111。因此,应保证IN端的 内容不小于-999。3.整数二进制码的位取反运算:INV_I?INV_I指令是将IN的指定的内容与 W#16#FFFF作逻辑“或”运算,其结果 是IN端输入的状态与OUT输出的状态每一 位都相反。LAD 参数 EN ENO IN 数据类 型 BOOL BOOL INT 说明 允许输入 允许输出 整数 整数二进码的取反运算 结果 I、Q、 M、D、 L 存储区OUTWORD3.整数二进制码的位取反运算:INV_I?如图所示的程序中,MW20中的内容与 MW22中的内容完全相反。MW20为 2#10_1110,而MW22 中为2#01_0001。4.整数的二进制补码: NEG_I?NEG_I是将IN端的内容进行补码运算(将 IN端的内容每一位取反以后再加1)。其 结果如果以整数格式读出的话,即为整数 值取反。LAD 参数 EN ENO IN OUT 数据类 型 BOOL BOOL INT WORD 说明 允许输入 允许输出 整数 整数的二进制补码结果 I、Q、 M、D、 L 存储区5.实数四舍五入为双整数:ROUND?ROUND指令是将实数进行四舍五入取整 后转换成双整数的格式LAD 参数 EN数据类 型BOOL存储区 说明 允许输入ENOIN OUTBOOLREAL DINT允许输出实数 四舍五入后为双整数I、Q、 M、D、 L6.实数舍去小数部分为双整数:TRUNC?TRUNC指令是将实数舍弃小数部分,并 将其转换为双整数格式。LAD 参数 数据类 型 BOOL BOOL REAL DINT 存储区 说明 允许输入 允许输出 实数 舍去小数部分后为双整 数 I、Q、 M、D、 LEN ENO IN OUT7.实数向上取整为双整数:CEIL?CEIL指令是将实数向上取整,结果为大于 指定实数的最小双整数。LAD 参数 EN ENO IN OUT 数据类 型 BOOL BOOL REAL DINT 说明 允许输入 允许输出 实数 向上取整为双整数 I、Q、 M、D、 L 存储区8.实数向下取整为双整数:FLOOR?FLOOR指令是将实数向下取整,结果为小 于指定实数的最大双整数。LAD 参数 EN ENO IN OUT 数据类 型 BOOL BOOL REAL DINT 说明 允许输入 允许输出 实数 向下取整为双整数 I、Q、 M、D、 L 存储区字逻辑指令? ? ??? ?字与字相“与”指令:WAND_W 双字与双字相“与”指令:WAND_DW 字与字相“或”指令:WOR_W 双字与双字相“或”指令:WOR_DW 字与字相“异或”指令:WXOR_W 双字与双字相“异或”指令: WXOR_DW1.字与字相“与”指令: WAND_W?当EN端状态为“1”时,执行指令。这一指 令根据“与”真值表将IN1端和IN2端的 内容逐位组合,并将结果送至OUT端指定 的地址。LAD 参数 EN ENO 数据类 型 BOOL BOOL 说明 允许输入 允许输出 I、Q、 M、D、 L 存储区IN1IN2 OUTWORDWORD WORD逻辑运算第1个值逻辑运算第2个值 逻辑与运算的结果1.字与字相“与”指令: WAND_W?如图所示的程序:字逻辑“与”指令的操 作结果(MW12中的内容)为 2#00_1001。2.字与字相“或”指令:WOR_W?当EN端状态为“1”时,执行字“或”指令,这一 指令根据“或”真值表将输入IN1和IN2端指定的 内容逐位组合,并将结果送至OUT端指定的地址。LAD 参数 EN ENO IN1 IN2 OUT 数据类 型 BOOL BOOL WORD WORD WORD 说明 允许输入 允许输出 逻辑运算第1个值 逻辑运算第2个值 逻辑或运算的结果 I、Q、 M、D、 L 存储区3.字与字相“异或”指令:WXOR_W?当EN端状态为“1”时,执行字“异或”指令,这 一指令根据“异或”真值表将输入IN1和IN2端指 定的内容逐位组合,并将结果送至OUT端指定的地 址。LAD 参数 数据类 型 说明 存储区ENENO IN1 IN2 OUTBOOLBOOL WOR D WOR D WOR D允许输入允许输出 逻辑运算第1个值 逻辑运算第2个值 逻辑异或运算的结果 I、Q、 M、D、 L3.12实训7 仓库存储控制系统? ? ??实训目的 实训设备 实训内容: 仓库存储控制系统 实训步骤实训目的? ? ?1.掌握计数器指令的使用方法。 2.掌握算术指令的使用方法。 3.掌握转换指令的使用方法。实训设备? ? ???1.PLC实验板(西门子S7-300) 2.数字量给定板 3.数字量输出板 4.导线 5.PC机和STEP 7编程调试软件实训内容: 仓库存储控制系统?仓库存储控制系统模型如图所示实训内容: 仓库存储控制系统?在两台传送带之间有一个仓库区。传送带 1将包裹运送至仓库区,传送带1由电动机 M1驱动。传送带2将包裹运出仓库区,传 送带2有电动机M2驱动。传送带1靠近仓 库一端安装光电开关PEB1确定入库的包 裹数,传送带2靠近库区一端安装光电开 关PEB2确定出库的包裹数。实训内容: 仓库存储控制系统? ??控制要求如下: (1)5个指示灯(HL1~HL5)显示仓库区 的占用程度 (2)电机M1的起停由按钮SB1和SB2控 制,若仓库装满则传送带1自动停止。电 动机M2的起停由按钮SB3和SB4控制, 若仓库已空,则传送带2自动停止。实训内容: 仓库存储控制系统??(3)库区存储量由MW0中的值决定,MW0的 初值为100。MW0中的内容可以通过按钮SB5 增加,每按一次SB5,MW0中的内容增加10, 每按一次按钮SB6,MW0中的内容减10。MW0 的内容最小不能少于10,最大不能大于200。只 用当两台电动机都处于停止状态时才可修改 MW0中的值。 (4)仓库内剩余空间的包裹存储数以BCD码格 式保存在MW10中。实训内容: 仓库存储控制系统??系统分析 1.PLC硬件配置控制系统中的硬件配置如下名称 CPU 电源模块 开关量输入模块 开关量输出模块 前连接器 型号说明 CPU313 PS307 SM321 SM322 20针 数量 1 1 1 1 2 1 2 3 4 5序号实训内容: 仓库存储控制系统??2.分析控制要求进行输入输出点分配,并 根据分配画出外部接线图。 输入信号名称 地址 输入:序号12 3M1开始按钮SB1(常开)M1停止按钮SB2(常开) M2开始按钮SB3(常开)I0.0I0.1 I0.245 6M2停止按钮SB4(常开)加数按钮SB5(常开) 减数按钮SB6(常开)I0.3I0.4 I0.578光电开关PEB1光电开关PEB2I0.6I0.7实训内容: 仓库存储控制系统?输出:序号 1 输出信号名称 指示灯HL1 地址 Q4.0 序号 5 输出信号名称 指示灯HL5 地址 Q4.423 4指示灯HL2指示灯HL3 指示灯HL4Q4.1Q4.2 Q4.367电动机M1(KM1)电动机M2(KM2)Q4.5Q4.6实训内容: 仓库存储控制系统?输入输出模块接线图如图所示实训内容: 仓库存储控制系统? ?3.分析控制要求,写出程序清单。 参考程序见附录光盘实训步骤? ?? ?1.按照PLC实验线路接线并合上电源 2.启动编程软件,创建项目,进行硬件 设置 3.输入程序。 4.进行模拟在线调试。3.13实训8自动混合装置? ? ??实训目的 实训设备 实训内容:两种液体自动混合装置 实训步骤实训目的? ?1.掌握顺控程序的编制方法 2.掌握PLC程序的编制方法和调试过程实训设备? ? ???1.PLC实验板(西门子S7-300) 2.数字量给定板 3.数字量输出板 4.导线 5.PC机和STEP 7编程调试软件实训内容:两种液体自动混合装置?自动混合装置的系统模型如图所示实训内容:两种液体自动混合装置? ?具体控制要求如下: (1)初始状态:容器是空的,Y1、Y2、 Y3电磁阀,搅拌机M和电炉H的状态均为 OFF(即“0”状态)液面传感器L1、L2、 L3的状态均为OFF。实训内容:两种液体自动混合装置???(2)按下起动按钮SB1时开始下列操作: 电磁阀Y1得电,开始注入液体A,至液面 高度为L2,停止注入液体A,同时开启电 磁阀Y2开始注入液体B,当液面高度至 L1时,停止注入液体B。 (3)停止注入液体后开启电炉H,加热 时间为5秒钟。 (4)5秒后,开启搅拌机同时加热搅拌 10秒。实训内容:两种液体自动混合装置???(5)10秒后,停止加热,继续搅拌15秒 钟。 图3.13.1 (6)15秒后,停止搅拌同时放出混合液 体C,当液面高度降至L3后,等待2秒以 后停止放出,同时开启电磁阀Y1,开始注 入液体A进入下一混合过程。 (7)停止操作:按下停止按钮SB2后, 在当前操作完成后停止,回到初始状态。实训内容:两种液体自动混合装置? ?系统分析 1. PLC硬件配置、控制系统中的硬件配置如下序号 1 2 3 4 5 名称 CPU 电源模块 开关量输入模块 开关量输出模块 前连接器 型号说明 CPU313 PS307 SM321 SM322 20针 数量 1 1 1 1 2实训内容:两种液体自动混合装置??2.分析控制要求进行输入输出点分配,并根据 分配画出外部接线图。 输入:序号 1 2 输入信号名称 开始按钮SB1(常开) 停止按钮SB2(常开) 地址 I0.0 I0.134液位测量开关(常开)L1液位测量开关(常开)L2I0.2I0.35液位测量开关(常开)L3I0.4实训内容:两种液体自动混合装置?输出:输出信号名称 电磁阀Y1 电磁阀Y2 电磁阀Y3 地址 Q4.0 Q4.1 Q4.2 序号 4 5 输出信号名称 搅拌电机M(KM1) 加热电炉H(KM2) 地址 Q4.3 Q4.4序号 1 2 3实训内容:两种液体自动混合装置?输入输出模块接线图如图所示:实训内容:两种液体自动混合装置??3.分析控制要求,画出程序流程图并写 出程序清单。 参考程序见附录光盘实训步骤? ? ??1.根据实验要求编写PLC程序 2.按照PLC实验线路接线并合上电源 3.启动编程软件,编写程序 4.进行模拟在线调试。}