第一章 可编程控制器简介
可编程控制器是60年代末在美国首先出现,当时叫可编程逻辑控制器PLC(Programmable Logic Controller),目的是用来取代继电器,以执行逻辑判断、计时、计数等顺序控制功能。PLC的基本设计思想是把计算机功能完善、灵活、通用等优点和继电器控制系统的简单易懂、操作方便、价格便宜等优点结合起来,控制器的硬件是标准的、通用的。根据实际应用对象,将控制内容编成软件写入控制器的用户程序存储器内。控制器和被控对象连接方便。
随着半导体技术,尤其是微处理器和微型计算机技术的发展,到70年代中期以后,PLC已广泛地使用微处理器作为处理器,输入输出模块和外围电路也都采用了中、大规模甚至超大规模的集成电路,这时的PLC已不再是逻辑判断功能,还同时具有数据处理、PID调节和数据通信功能。
可编程控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用了可编程序的存储器,用来在其内部存储执行逻辑运算,顺序控制、定时、计算和算术运算等操作的指令,并通过数字式和模拟式的输入输出,控制各种类型的机械或生产过程。PLC是微机技术与传统的继电接触控制技术相结合的产物,它克服了继电接触控制系统中机械触点的接线复杂、可靠性低、功耗高、通用性和灵活性差的缺点,充分利用微处理器的优点。
可编程控制器对用户来说,是一种无触点设备,改变程序即可改变生产工艺,因此可在初步设计阶段选用可编程控制器,在实施阶段再确定工艺过程。另一方面,从制造生产可编程控制器的厂商角度看,在制造阶段不需要根据用户的订货要求专门设计控制器,适合批量生产。由于这些特点,可编程控制器问世以后很快受到工业控制界的欢迎,并得到迅速的发展。目前,可编程控制器已成为工厂自动化的强有力工具,得到了广泛的应用。
一、PLC的结构及各部分的作用 可编程控制器的结构多种多样,但其组成的一般原理基本相同,都是以微处理器为核心的结构。通常由处理单元(CPU)、存储器(RAM、ROM)、输入输出单元(I/O)、电源和编程器等几个部分组成。
1.处理单元(CPU)
CPU作为整个PLC的核心,起着总指挥的作用。CPU一般由控制电路、运算器和寄存器组成。这些电路通常都被封装在一个集成电路的芯片上。CPU通过地址总线、数据总线、控制总线与存储单元、输入输出接口电路连接。CPU的功能有以下一些:从存储器中读取指令,执行指令,取下一条指令,处理中断。
2.存储器(RAM、ROM)
1
可编程控制器实验与指导(西门子)
存储器主要用于存放系统程序、用户程序及工作数据。存放系统软件的存储器称为系统程序存储器;存放应用软件的存储器称为用户程序存储器;存放工作数据的存储器称为数据存储器。常用的存储器有RAM、EPROM和EEPROM。RAM是一种可进行读写操作的随机存储器存放用户程序,生成用户数据区,存放在RAM中的用户程序可方便地修改。RAM存储器是一种高密度、低功耗、价格便宜的半导体存储器,可用锂电池做备用电源。掉电时,可有效地保持存储的信息。EPROM、EEPROM都是只读存储器。用这些类型存储器固化系统管理程序和应用程序。
3.输入输出单元(I/O单元)
I/O单元实际上是PLC与被控对象间传递输入输出信号的接口部件。I/O单元有良好的电隔离和滤波作用。接到PLC输入接口的输入器件是各种开关、按钮、传感器等。PLC的各输出控制器件往往是电磁阀、接触器、继电器,而继电器有交流和直流型,高电压型和低电压型,电压型和电流型。
4.电源
PLC电源单元包括系统的电源及备用电池,电源单元的作用是把外部电源转换成内部工作电压。PLC内有一个稳压电源用于对PLC的CPU单元和I/O单元供电。
5.编程器
编程器是PLC的最重要外围设备。利用编程器将用户程序送入PLC的存储器,还可以用编程器检查程序,修改程序,监视PLC的工作状态。除此以外,在个人计算机上添加适当的硬件接口和软件包,即可用个人计算机 对PLC编程。利用微机作为编程器,可以直接编制并显示梯形图。
二、PLC的工作原理
PLC采用循环扫描的工作方式,在PLC中用户程序按先后顺序存放,CPU从第一条指令开始执行程序,直到遇到结束符后又返回第一条,如此周而复始不断循环。PLC的扫描过程分为内部处理、通信操作、程序输入处理、程序执行、程序输出几个阶段。全过程扫描一次所需的时间称为扫描周期。当PLC处于停状态时,只进行内部处理和通信操作服务等内容。在PLC处于运行状态时,从内部处理、通信操作、程序输入、程序执行、程序输出,一直循环扫描工作。
1.输入处理
输入处理也叫输入采样。在此阶段,顺序读入所有输入端子的通断状态,并将读入的信息存入内存中所对应的映象寄存器。在此输入映象寄存器被刷新。接着进入程序执行阶段。在程序执行时,输入映象寄存器与外界隔离,即使输入信号发生变化,其映象寄存器的内容也不会发生变化,只有在下一个扫描周期的输入处理阶段才能被读入信息。
2.程序执行
2
可编程控制器实验与指导(西门子)
根据PLC梯形图程序扫描原则,按先左后右先上后下的步序,逐句扫描,执行程序。遇到程序跳转指令,根据跳转条件是否满足来决定程序的跳转地址。从用户程序涉及到输入输出状态时,PLC从输入映象寄存器中读出上一阶段采入的对应输入端子状态,从输出映象寄存器读出对应映象寄存器,根据用户程序进行逻辑运算,存入有关器件寄存器中。对每个器件来说,器件映象寄存器中所寄存的内容,会随着程序执行过程而变化。
3.输出处理 程序执行完毕后,将输出映象寄存器,即器件映象寄存器中的Y寄存器的状态,在输出处理阶段转存到输出锁存器,通过隔离电路,驱动功率放大电路,使输出端子向外界输出控制信号,驱动外部负载。 三、PLC编程语言
1.梯形图编程语言
梯形图沿袭了继电器控制电路的形式,它是在电器控制系统中常用的继电器、接触器逻辑控制基础上简化了符号演变来的,形象、直观、实用。
梯形图的设计应注意以下三点:
(一)梯形图按从左到右、从上到下的顺序排列。每一逻辑行起始于左母线,然后是触点的串、并联接,最后是线圈与右母线相联。
(二)梯形图中每个梯级流过的不是物理电流,而是“概念电流”,从左流向右,其两端没有电源。这个“概念电流”只是形象地描述用户程序执行中应满足线圈接通的条件。
(三)输入继电器用于接收外部输入信号,而不能由PLC内部其它继电器的触点来驱动。因此,梯形图中只出现输入继电器的触点,而不出现其线圈。输出继电器输出程序执行结果给外部输出设备,当梯形图中的输出继电器线圈得电时,就有信号输出,但不是直接驱动输出设备,而要通过输出接口的继电器、晶体管或晶闸管才能实现。输出继电器的触点可供内部编程使用。
2.语句表编程语言
指令语句表示一种与计算机汇编语言相类似的助记符编程方式,但比汇编语言易懂易学。一条指令语句是由步序、指令语和作用器件编号三部分组成。
3
可编程控制器实验与指导(西门子)
第二章 可编程控制器梯形图设计规则
1.触点的安排
梯形图的触点应画在水平线上,不能画在垂直分支上。 2.串、并联的处理
在有几个串联回路相并联时,应将触点最多的那个串联回路放在梯形图最上面。在有几个并联回路相串联时,应将触点最多的并联回路放在梯形图的最左面。
3.线圈的安排
不能将触点画在线圈右边,只能在触点的右边接线圈。 4.不准双线圈输出
如果在同一程序中同一元件的线圈使用两次或多次,则称为双线圈输出。这时前面的输出无效,只有最后一次才有效,所以不应出现双线圈输出。
5.重新编排电路
如果电路结构比较复杂,可重复使用一些触点画出它的等效电路,然后再进行编程就比较容易。
6.编程顺序
对复杂的程序可先将程序分成几个简单的程序段,每一段从最左边触点开始,由上之下向右进行编程,再把程序逐段连接起来。
4
可编程控制器实验与指导(西门子)
第三章 可编程控制器基础实验
实验一 位逻辑指令实验
一、实验目的
1.掌握位逻辑指令的使用。 2.掌握位逻辑指令参数的设置。
二、实验内容 1.触点
标准触点:常开触点指令(LD、A和O)与常闭触点指令(LDN、AN和ON)从存储器或者过程映像寄存器中得到参考值,标准触点指令从存储器中的到参考值。当位值为1时,常开触点闭合;当位值为0时,常闭触点闭合。
2.线圈
输出:输出指令(=)将新值写入输出点的过程映像寄存器,当输出指令执行时,可编程控制器将输出过程映像寄存器中的位接通或者断开。
对下面程序进行编程练习
梯形图
图1-1
语句表说明 步 序 1 2 3 4 5
指 令 LD A = NOT = 器件号 I0.0 I0.1 Q0.0 Q0.1 说明 要想激活Q0.0,常开触点I0.0和I0.1必须为接通(闭合)。NOT指令作为一个但向器使用,在RUN模式下,Q0.0和Q0.1具有相反的逻辑状态。 5
可编程控制器实验与指导(西门子)
实验二 时钟/通讯指令实验
一、实验目的
1.熟悉读实时时钟指令(TODP)和写实时时钟指令(TODW)的设置和使用。 2.熟悉网络读写指令的设置和使用。
二、实验内容
1.读实时时钟和写实时时钟
读实时时钟(TODP)指令从硬件时钟中读当前时间和日期,并把它装载到一个8字节,起始地址为T的时间缓冲区中,写实时时钟(TODW)指令将当前时间和日期写入硬件时钟,当前时钟存储在地址T开始的8字节时间缓冲区中。你必须按照BCD码的格式编码所有的日期和时间值。
使END=0的错误条件: 1.0006(间接寻址) 2.0007(TOD数据错误),只对写实时时钟指令有效。 3.000才(时钟模块不存在)
时钟指令的有效操作数 表2-1 输入/输出 T 数据类型 BYTE 操 作 数 IB、QB、VB、MB、SMB、SB、LB、*VD、*LD、*AC
2.通讯指令
网络读指令(NETR)初始化一个通讯操作,通过指定端口(PORT)从远程设备上采集数据并形成表(TBL),网络写指令(NETW)初始化一个通讯操作,通过指定端口(PORT)向远程设备写表(TBL)中的数据。
使ENO=0的错误条件: 1.0006(间接寻址)
2.如果功能返回出错信息,会置位表状态字节中的E
网络读指令可以从远程站点读取最多16个字节的信息,网络写指令可以向远程站点写最多16个字节的信息。在程序中,你可以使用任意条网络读写指令,但是在同一时间,最多只能有网络读写指令被激活。例如,在所给的可编程控制器中,可以有4条网络读指令和4条网络写指令,或者2条网络读指令和6条网络写指令在同一时间被激活。
网络读写指令的有效操作数 表2-2 输入/输出 TBL PORT 数据类型 BYTE BYTE 操 作 数 VB、MB、*VD、*LD、*AC 常数 对于CPU:0 6
可编程控制器实验与指导(西门子)
TBL参数参照表 表2-3 D A E 0 错误代码 D完成(操作已完成) 0=未完成 1=完成 A有效(操作已被排队) 0=无效 1=有效 远程站地址 E错误(操作返回一个错误) 0=无错误 远程站的 1=错误 数据区 指针 远程站地址:被访问的PLC的地址。 (I、Q、M或V) 数据长度:远程站上被访问数据的字节数 数据长度 数据字节0 接收和发送数据区:描述的保存数据的1到数据字节1 16个字节。 ┆ 对NETR,执行NETR指令后,从远程站读到
数据字节15 的数据放在这个数据区。
对NETW,执行NETW指令前,要发送到远程站的数据放在这个数据区。
TBL参数的错误代码表 表2-4
定 义 无错误 时间溢出错,远程站点不响应 接收错:奇偶校验错,响应时帧或校验出错 离线错:相同的站地址或无效的硬件引发冲突 队列溢出错:激活了超过8个NETR/NETW方框 违反通信协议:没有在SMB30中允许PPI,就试图执行NETR/NETW指令 非法参数:NETR/NETW表中包含非法或无效的值 没有资源:远程站点正在忙中(上装或下装程序在处理中) 第7层错误:违反应用协议 信息错误:错误的数据地址或不正确的数据长度 未用:(为将来的使用保留) 0 1 2 3 4 5 6 7 8 9 A-F 错误代码 梯形图程序
图2-1
7
可编程控制器实验与指导(西门子)
语句表说明 步 序 1 2 3
指 令 LD MOVB FILL 器件号 SM0.1 2,SMB30 +0,VW200,68 说明 在第一个扫描周期,使能PPI主站模式,并且清除所有接收和发送缓冲区 8
可编程控制器实验与指导(西门子)
实验三 比较指令实验
一、实验目的
1.掌握数值比较的使用方法。 2.进一步熟悉PLC的输入。
二、实验内容 数值比较
比较指令用于比较两个数值
IN1=IN2 IN1﹥=IN2 IN1﹤=IN2 IN1﹥IN2 IN1﹤IN2 IN1﹤﹥IN2
字节比较操作是无符号的,整数比较操作是有符号的,双字比较操作是有符号的,实数比较操作是有符号的。
对于LAD和FBD:当比较结果为真时,比较指令使能点闭合(LAD)或者输出接通(FBD)。
对于STL:当比较结果为真时,将栈顶值置1。
当你使用IEC比较指令时,你可以使用各种数据类型作为输入,但是,两个输入的数据类型必须一致。
梯形图
图3-1
语句表说明 表3-1 步 序 1 2 3 4 5 6 7
指 令 LD LPS AB﹤﹦ = LPP AB﹥= = 器件号 I0.0 SMB28,50 Q0.0 SMB28,150 Q0.1 说明 调节模拟调节电位器0来改变SMB28的数值。当SMB28中的数值小于等于50时,Q0.0输出 当SMB28中的数值大于等于150时,Q0.1输出 当比较结果为真时,状态指示器点亮。 9
可编程控制器实验与指导(西门子)
实验四 计数/高速计数指令实验
一、实验目的
1.掌握计数器指令的使用和设置
2.了解高速计数器不同的操作模式下,模块的功能。 3.进一步的熟悉PLC的指令输入。
二、实验内容 1.增计数器
增计数指令(CTU)从当前计数值开始,在每一个(CU)输入状态从低到高时递增计数,当CXX的当前值大于等于预置值PV时,计数器位CXX置位,当复位端(R)接通或者执行复位指令后,计数器被复位,当它达到最大值(32,767)后,计数器停止计数。
STL操作:
(1)复位输入:栈顶
(2)计数输入:其值被装载在第二个堆栈中。 2.减计数器
减计数指令(CTD)从当前计数值开始,在每一个(CD)输入状态的低到高时递减计数。当CXX的当前值等于0时,计数器位CXX置位。当装载输入端(LD)接通时,计数器的当前值设为预置值PV。当计数值到0时,计数器停止计数,计数器位CXX接通。
STL操作:
(1)装载输入:栈顶
(2)计数输入:其值被装载在第二个堆栈中。 3.增/减计数器
增/减计数指令(CTUD),在每一个增计数输入(CU)的低到高时增计数,在每一个减计数输入(CD)的低到高时减计数。计数器的当前值CXX保存当前计数值,在每一次计数器执行时,预置值PV与当前值作比较。
当达到最大值(32767)时,在增计数输入处的下一个上升沿导致当前计数值变为最小值(-32768)。当达到最小值(-32768)时,在减计数输入端的下一个上升沿导致当前计数值变位最大值(32767)。
当CXX的当前值大于等于预置值PV时,计数器位CXX置位。否则,计数器位关断。当复位端(R)接通或者执行复位指令后,计数器被复位。当达到预置值PV时,CTUD计数器停止计数。
STL操作:
(1)复位输入:
(2)计数输入:其值被装载在第二个堆栈中。
10
可编程控制器实验与指导(西门子)
梯形图
图4-1
图4-2 时序图
语句表说明 表4-1 步 序 1 2 3 4 5 6
指 令 LD LD LD CTUD LD = 器件号 I0.0 I0.1 I0.2 C48,+4 C48 Q0.0 说明 I0.0增计数 I0.1减计数 I0.2将当前值复位为0 当当前值=4时,将增/减计数器C48接通 11
可编程控制器实验与指导(西门子)
实验五 脉冲输出指令实验
一、实验目的
1.掌握脉冲指令的操作。 2.了解脉冲指令的功能。
3.进一步的熟悉PLC的指令输入。
二、实验内容 脉冲输出指令(PLS)用于在高速输出(Q0.0和Q0.1)上控制脉冲串输出(POT)和脉宽调制(PWM)功能。
1.脉冲串操作(PTO)
PTO按照给定的脉冲个数和周期输出一串方波(占空比50%)。(见图5-1)PTO可以生产单段脉冲串或者多段脉冲(使用脉冲包络)。可以指定脉冲数和周期(以微秒或毫秒为增加量):
图5-1 脉冲输出(PTO)
PTO功能的脉冲个数及周期 表1-1 脉冲个数/周期 周期<2个时间单位 脉冲个数=0 结果 将周期缺省地设定为2个时间单位 将脉冲个数缺省地设定为1个脉冲
(1)PTO脉冲串的单段管线
在单段管线模式,需要为下一个脉冲串更新特殊寄存器。一旦启动了起始PTO段,就必须按照第二个波形的要求改变特殊寄存器,并再次执行PLS指令。第二个脉冲串的属性在管线中一直保持到第一个脉冲串发送完成。在管线中一次只能存储一段脉冲串的属性。当第一个脉冲串发送完成时,接着输出第二个波形,此时管线可以用于下一个新的脉冲串。重复这个过程可以再次设定下一个脉冲串的特性。
除去以下两种情况之外,脉冲串之间可以做到平滑转换:时间基准发生了变化或者在利用PLS捉到新脉冲之前,启动的脉冲串已经完成。
12
可编程控制器实验与指导(西门子)
(2)PTO脉冲串的多段管线
在多段管线模式,CPU自动从V存储区的包络表中读出每个脉冲串的特性。在该模式下,仅使用特殊存储区的控制字节和状态字节。选择多段操作,必须装入包络表在V存储器中的起始地址偏移量(SMW168或SMW178)。时间基准可以选择微秒或毫秒,但是,在包络表中的所有周期值必须使用同一个时间基准,而且在包络正在运行时不能改变。执行PLS指令来启动多段操作。
每段记录的长度为8个字节,有16位周期表、16位周期增量值和32位脉冲个数值组成。表6-34种给出了包络表的格式。您可以通过编程的方式使脉冲的周期自动增减。在周期增量处输入一个正值将增加周期;输入一个负值将减少周期;输入0将不改变周期。
当PTO包络执行时,当前启动的段的编号保存在SMB166(或SMB176)
多段PTO操作的包络表格式 表5-2 字节偏移量 包络段数 0 1 3 5 9 11 13 (连续) ﹟3 ﹟2 ﹟1 段数1到255¹ 初始周期(2到65535时间基准单位) 每个脉冲的周期增量(有符号值)(-32768到32767时间基准单位) 脉冲数(1到4294967295) 初始周期(2到65535时间基准单位) 每个脉冲的周期增量(有符号值)(-32768到32767时间基准单位) 脉冲数(1到4294967295) (连续) 描 述 1 输入0作为脉冲串的段数会产生一个非致命错误,将不产生PTO输出。
(3)脉宽调制(PWM)
PWM产生一个占空比变化周期固定的脉冲输出,你可以以微秒或毫秒为单位指定其周期和脉冲宽度:
1.周期: 10us到65,535us或者2ms到65,535ms。 2.脉宽: 0us到65,535us或者0ms到65,535ms。
图5-2 脉宽调制(PWM)
13
可编程控制器实验与指导(西门子)
如表5-3所示,设定脉宽等于周期(使占空比为100%),输出连续接通。设定脉宽等于0(使占空比为0%),输出断开。
脉宽、周期和PWM功能的执行结果 表5-3
脉宽/周期 脉宽≥周期 脉宽=0 周期<2个时间单位 结果 占空比为100%:输出连续接通 占空比为0%:输出断开 将周期缺省地设定2个时间单位 有两个方法改变PWM波形的特性:
1.同步更新:如果不需要改变时间基准,就可以进行同步更新。利用同步更新,波形特征的变化发生在周期边沿,提供平滑转换。 2.异步更新:PWM的典型操作是当周期时间保持常数时变化脉冲宽度。所以,不需要改变时间基准。但是,如果需要改变PTO/PWM发生器的时间基准,就要使用异步更新。异步更新会造成PTO/PWM功能被瞬时禁止,和PWM波形不同步。这会引起被控设备的振动。由于这个原因,建议采用PWM同步更新。选择一个适合于所有周期时间的时间基准。
14
可编程控制器实验与指导(西门子)
实验六 逻辑操作指令实验
一、实验目的
1.掌握逻辑操作指令的设置。
2.熟悉逻辑操作指令在程序中的功能。
二、实验内容 1.取反指令
字节、字和双字取反
字节取反(INVB)\\字取反(INVW)和双字取反(INVD)指令将输出IN取反的结果存入OUT中。
使ENO=0的错误条件:0006(间接寻址) 受影响的SM标志位:SM1.0(结果为0)
图6-1 取反指令范例
语句表说明 表6-1 步 序 1 2 指 令 LD INVW 器件号 I4.0 AC0 说明 字取反 AC0(1101 0111 1001 0101) AC0(0010 1000 0110 1010) 与、或和异或指令
(1)字节与、字与和双字与 字节与(ANDB)、字与(ANDW)和双字节与(ANDD)指令将输入值IN1和IN2的相应位进行与操作,将结果存入OUT中。
(2)字节或、字或和双字或 字节或(ORB)、字或指令(ORW)和双字或(ORD)指令将两个输入值IN1和IN2的相应位进行或操作,将结果存入OUT中。
(3)字节异或、字节或和双字异或 字节异或(ROB)、异或(ORW)和双字异或(ORD)指令将两个输入值IN1和IN2的相应位进行异或操作 ,将结果存入OUT中。
15
可编程控制器实验与指导(西门子)
图6-2 与、或和异或指令
语句表说明 表6-1 步 序 1 2 3 4 指 令 LD ANDW ORW XORW 器件号 I4.0 AC1,AC0 AC1,VW100 AC1,AC0 说明 指令说明
字与AC1(0001 1111 0110 1101) 字或AC1(0001 1111 0110 1101) AND OR
AC0(1101 0011 1110 0110) VW100(1101 0011 1010 0000)
等于 等于
AC0(0001 0011 0110 0100) VW100(1101 1111 1110 1101) 字异或AC1(0001 1111 0110 1101)
XOR
AC0(0001 0011 0110 0100) 等于
AC0(0000 1100 0000 1001)
16
可编程控制器实验与指导(西门子)
实验七 传送指令实验
一、实验目的
1.掌握传送指令的设置。 2.了解指令是如何传送的。
二、实验内容
1.字节、字、双字或者实数传送 字节传送(MOVB)、字传送(MOVW)、双字传送(MOVD)和实数传送指令在不改变原值的情况下将IN是的值传送到OUT。
对于IEC传送指令,输入和输出的数据类型可以不同,但数据长度必须相同。
使ENO=0的错误条件:0006(间接寻址) 2.字节立即传送(读和写)
字节立即传送指令允许您在物理I/O和存储器之间立即传送一个字节数据。 字节立即读(BIR)指令读物理输入(IN),并将结果存入内存地址(OUT),但过程映像寄存器并不刷新。字节立即写指令(BIW)从内存地址(IN)中读取数据,写入物理输出(OUT),同时刷新相应的过程映像区。
使ENO=0的错误条件:(1)0006(间接寻址)(2)不能访问扩展模块 3.块传送指令
字节、字、双字的块传送 字节块传送(BMB)、字块传送(BMW)、双字块传送(BMD)指令传送指定数量的数据到一个新的存储区,数据的起始地址IN,数据长度为N个字节、字或者双字,新块的起始地下为OUT 。
N的范围人1到255。 使ENO=0的错误条件:(1)0006(间接寻址)(2)0091(操作数超出范围)
梯形图
图7-1 快指令梯形图
语句表说明 表7-1 步 序 1 2 指 令 LD BMB 器件号 I2.1 说明 将数组1(VB20到VB23)传送至数组2VB20,VB100,4 (VB100到VB103) 17
可编程控制器实验与指导(西门子)
实验八 数字运算指令实验
一、实验目的
1.掌握数算指令中的加、减、乘、除指令的设置。 2.进一步熟悉PLC程序的输入。
二、实验内容
数算指令:加、减、乘、除指令
加法 减法
1N1+1N2=OUT 1N1-1N1=OUT LAD和 FBD
1N1+OUT=OUT OUT-1N1=OUT STL
整数加法(+1)或者整数减法(-1)指令,将两个16位整数相加或者相减,产生一个16位结果。双整数加法(+D)或者双敕数减法(-D)指令,将两个32位整数相加或者相减,产生一个32位结果。实数加法(+R)和实数减法(-R)指令,将两个32位实数相加或相减,产生一个32位实数结果。
乘法 除法
1N1*1N2=OUT 1N1/1N2=OUT LAD和 FBD
1N1*OUT=OUT OUT/1N1=OUT STL
整数乘法(*1)或者整数除法(/1)指令,将两个16位整数相乘或者相除,产生一个16位结果。(对于除法,余数不被保留)双整数乘法(*D)或者双整数除法(/D)指令,将两个32位整数相乘或者相除,产生一个32位结果。(对于除法,余数不被保留。)实数乘法(*R)或实数除法(/R)指令,将两个32位实数相乘或相除,产生一个32位实数结果。
SM标志位和EMO
SM1.1表示溢出错误和非法值。如果SM1.1置位,SM1.0和SM1.2的状态不再有效而且原始输入操作数不会发生变化。如果SM1.1和SM1.3没有置位,那么数字运算产生一个有效的结果,同时SM1.0和SM1.2有效。在除法运算中,如果SM1.3置位,其它数算标志位不会发生变化。 使ENO=0的错误条件: 受影响的特殊存储器位: SM1.1(溢出) SM1.0(结果为0)
SM1.3(被0除) SM1.1(溢出,运算过程中产生非法数值或者
输入参数非法)
0006(间接寻址) SM1.2(结果为负) SM1.3(被0除)
18
可编程控制器实验与指导(西门子)
整数运算指令梯形图
图8-1 整数运算指令梯形图
语句表说明 表8-1 步 序 1 2 3 4 指 令 LD +1 *1 /1 器件号 I0.0 AC1,AC0 AC1,VW100 VW10,VW200 说明
指令说明:
加法:40(AC1)+60(AC0)=100(AC0) 乘法:40(AC1)*20(VW100)=800(VW100) 除法:4000(VW200)/40(VW10)=100(VW200)
19
可编程控制器实验与指导(西门子)
实验九 中断指令实验
一、实验目的
1.掌握中断允许指令的设置。
2.掌握中断条件返回指令(CRETI)、中断连接指令(ATCH)、中断分离指令(DTCH)的使用方法。
二、实验内容
1.中断允许和中断禁止
中断允许指令(ENI)全局地允许所有被连接的中断事件。中断禁止指令(DISI)全局地禁止处理所有中断事件。
当进入RUN模式时,中断被禁止。在RUN模式,您可以执行全局中断允许指令(ENI)允许所有中断。全局中断禁止指令(DSI)不允许处理中断服务程序,但中断事件仍然会排队等候。
2.中断条件返回
中断条件返回指令(CRETI)用于根据前面的逻辑操作的条件,从中断服务程序中返回。
3.中断连接
中断连接指令(ATCH)将中断事件EVNT与中断服务程序号INT相关联,并使能该中断事件。
4.中断分离
中断分离指令(DTCH)将中断事件EVNT与中断服务程序之间的关联切断,并禁止该中断事件。
5.清除中断事件
清除中断事件指令从中断队列中清除所有EVNT类型的中断事件。使用此指令从中断队列中清除不需要的中断事件。如果此指令用于清除假的中断事件,在从队列中清除事件之前要首先分离事件。否则,在执行清除事件指令之后,新的事件将被增加到队列中。
中断指令梯形图
图9-1中断指令梯形图
20
可编程控制器实验与指导(西门子)
语句表说明 表9-1 步 序 1 2 3 4 5 6 7
指 令 LD ATCH ENI LD DTCH LD DISI 器件号 SM0.1 INT_0,1 SM5.0 1 M5.0 说明 首次扫描1.定义I0.0的下降沿中断服务程序为INT_0 2.全局中断允许 如果检测到I/O错误,禁止I0.0的下降沿中断。该程序段是可选的。 当M5.0接通时,禁止所有中断 21
可编程控制器实验与指导(西门子)
实验十 程序控制指令实验
一、实验目的
1.掌握条件结束指令在程序控制中的作用。 2.熟悉跳转指令的使用方法。 3.掌握如何使用顺控指令(SCR)。
二、实验内容 1.条件结束指令
(1)条件结束指令(END)根据前面的逻辑关系终止当前扫描周期。可以在主程序中使用条件结束指令,但不能在子程序或中断服务程序中使用该命令。
(2)停止指令(STOP)导致CPU从RUN到STOP模式从而可以立即终止程序的执行。如果STOP指令在中断程序中执行,那么该中断立即终止,并且忽略所有挂起的中断,继续扫描程序的剩余部分。完成当前周期的剩余动作,包括主用户程序的执行,并在当前扫描的最后,完成从RUN到STOP模式的转变。
(3)看门狗复位指令(WDR)允许S7--200 CPU的系统看门狗定时器被重新触发,这样可以在不引起看门狗错误的情况下,增加此扫描所允许的时间。
使用WDR指令时要小心,因为如果您用循环指令去阻止扫描完成或过度的延迟扫描完成的时间,那么在终止本次扫描之前,下列操作过程将被禁止: (1)通讯(自由端口方式除外) (2)I/O更新(立即I/O除外) (3)强制更新
(4)SM位更新(SM0,SM5~SM29不能被更新) (5)运行时间诊断
(6)由于扫描时间超过25秒,10ms和100ms定时器将不会正确累计时间。 (7)在中断程序中的STOP指令
(8)带数字量输出的扩展模块也包含一个看门狗定时器,如果模块没有被可编程控制器写,则此看门狗定时器将关断输出。在扩展的扫描时间内,对每个带数字量输出的扩展模块进行立即写操作,以保持正确的输出。请按照这段描述后,对下面的程序进行实验。
22
可编程控制器实验与指导(西门子)
图10-1 停止、条件结束和看门狗复位指令程序梯形图
语句表说明 表10-1 步 序 1 2 3 4 5 6 7 指 令 LD STOP LD WDR BIW LD END 器件号 SM5.0 M5.6 QB2,QB2 I0.0 说明 当检测到I/O错误时,强制切换到STOP模式 当M5.6接通时,允许扫描周期扩展:1.重新触发CPU的看门狗2.重新触发第一个输出模块的看门狗 当I0.0接通时,终止当前扫描周期 2.跳转指令
跳转到标号指令(JMP)执行程序内标号N指定的程序分支。标号指令标记跳转目的地的位置N。
您可以在主程序、子程序或者中断服务程序中,使用跳转指令。跳转和与之相应的标号指令必须位于同一段程序代码(无论是主程序、子程序还是中断服务程序)。
不能从主程序跳到子程序或中断程序,同样不能从子程序或中 断程序跳出。
可以在SCR程序段中使用跳转指令,但相应的标号指令必须也 在同一个SCR段中。 实验梯形图如下:
图10-2 跳转指令梯形图
23
可编程控制器实验与指导(西门子)
语句表说明 表10-2 步 序 1 2 3 指 令 LDN JMP LBL 器件号 SM0.2 4 4 说明 如果掉电保持的数据没有丢失,跳转到LBL4 3.顺控继电器(SCR)指令
SCR指令使您能够按照自然工艺段在LAD、FBD或STL中编制状态控制程序。
只要您的应用中包含的一系列操作需要反复执行,就可以使用SCR使程序更加结构化,以至于直接针对应用。这样可以使得编程和调试更加快速和简单。
装载SCR指令(LSCR)将S位的值装载到SCR和逻辑堆栈中。
SCR堆栈的结果值决定是否执行SCR程序段。SCR堆栈的值会被复制到逻辑堆栈中,因此可以直接将盒或者输出线圈连接到左侧的能流线上而不经过中间触点。
当使用SCR时,请注意下面的限定:
(1)不能把同一个S位用于不同程序中。例如:如果在主程序中用了S0.1,在子程序中就不能再使用它。
(2)在SCR段之间不能使用JMP和LBL指令,就是说不允许跳入、跳出。可以在SCR段附近使用跳转和标号指令或者在段内跳转。 (3)在SCR段中不能使用END指令。 实验梯形图
图10-3 顺控继电器梯形图
24
可编程控制器实验与指导(西门子)
语句表说明 表10-3 步 序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
25
指 令 LD S LSCR LD S R TON LD SCRT SCRE LSCR LD S TON LD SCRT SCRE 器件号 SM0.1 S0.1,1 S0.1 SM0.0 Q0.4,1 Q0.5,2 T37,+20 T37 S0.2 S0.2 SM0.0 Q0.2,1 T38,+250 T38 S0.3 说明 在首次扫描使能状态1。 状态1控制开始 控制第一条街的信号:1.置位:接通红灯。2.复位:关断黄灯和绿灯。3.启动2秒定时器 延时2秒后,切换到状态2。 状态1的SCR区结束 状态2的控制区开始, 控制第二条街的信号:1.置位:接通绿灯。2.启动25秒定时器 延时25秒后,切换到状态3 状态2的SCR区结束 可编程控制器实验与指导(西门子)
实验十一 移位和循环指令实验
一、实验目的
1.掌握左移指令、右移位指令的使用。
2.掌握循环右移指令和循环左移指令的使用。
二、实验内容 1.右移和左移指令
移位指令将输入值IN右移或左移N位,并将结果装载到输出OUT中。 移位指令对移出的位自动补零。如果位数N大于或等于最大允许值( 对于字节操作为8,对于字节操作为16,对于双字操作为32),那么移位操 作的次数为最大允许值。如果移位次数大于0,溢出标志位(SM1.1)上就 是最近移出的位值。如果移位操作的结果为0,零存储器位(SM1.0)置位。
字节操作是无符号的。对于字和双字操作,当使用有符号数据类型时,符号位也被移动。
使ENO=0的错误条件:H 0006(间接寻址)
受影响的SM标志位:1. H SM1.0(结果为0) 2. H SM1.1(溢出)
2.循环右移和循环左移指令
循环移位指令将输入值IN循环右移或者循环左移N位,并将输出结果装载到OUT中。循环移位是圆形的。
如果位数N大于或者等于最大允许值(对于字节操作为8,对于 字操作为16,对于双字操作为32),S7--200在执行循环移位之前,会执行取模操作,得到一个有效的移位次数。移位位数的取模操作的结果,对于字节操作是0到7,对于字操作是0到15,而对于双字操作是0到31。
如果移位次数为0,循环移位指令不执行。如果循环移位指令执行,最后一个移位的值会复制到溢出 标志位(SM1.1)。
如果移位次数不是8(对于字节操作)、16(对于字操作)和32(对于双字操作)的整数倍,最后
被移出的位会被复制到溢出标志位(SM1.1)。当要被循环移位的值是零时,零标志位(SM1.0)被置位。
字节操作是无符号的。对于字和双字操作,当使用有符号数据类型时,符号位也被移位。
使ENO=0的错误条件:1.H 0006(间接寻址)
受影响的SM标志位:1.H SM1.0(结果为0)2.H SM1.1(溢出)
26
可编程控制器实验与指导(西门子)
实验梯形图
图11-1 移位和循环指令梯形图
语句表说明 表11-1 步 序 1 2 3
指令说明
指 令 LD RRW SLW 器件号 I4.0 AC0,2 VW200,3 说明
27
可编程控制器实验与指导(西门子)
实验十二 字符串指令实验
一、实验目的
1.掌握字符串指令的设置。
2.掌握字符串指令在程序中的使用。
二、实验内容 1.字符串长度
字符串长度指令(SLEN)返回IN中指定的字符串的长度值。 2.字符串复制
字符串复制指令(SCPY)将IN中指定的字符串复制到OUT中。 3.字符串连接
字符串连接指令(SCAT)将IN中指定的字符串连接到OUT中指定字符串的后面。
对于字符串长度、字符串复制和字符串连接指令,下列条件影响ENO。 使ENO=0的错误条件:1. H 0006(间接寻址)2. H 0091(操作数超出范围)
实验梯形图
图12-1 字符串连接、字符串复制和字符串长度梯形图
语句表说明 表12-1 步 序 1 2 3 4
指 令 LD 器件号 I0.0 说明 1.将“WORLD”上的字符串附加到VB0上SCAT “WORLD”,VB0 的字符串之后。 STRCPY VB0,VB100 2.将VB0中的字符串复制到VB100中。 STRLEN VB100,AC0 3.得到VB100中存储的字符串的长度。 28
可编程控制器实验与指导(西门子)
实验十三 表指令的实验
一、实验目的
1.掌握表指令的设置。
2.掌握表指令在程序中的使用。
二、实验内容 1.填表
ATT指令向表(TBL)中增加一个数值(DATA)。表中第一个数是最大填表数(TL),第二个数是实际填表数(EC),指出已填入表的数据个数。新的数据填加在表中上一个数据的后面。每向表中填加一个新的数据,EC会自动加1。
一个表最多可以有100条数据。 使ENO=0的错误条件: (1)H SM1.4(表溢出) (2)H 0006(间接寻址)
(3)H 0091(操作数超出范围)
实验梯形图
图13-1 填表指令梯形图
语句表说明 表13-1 步 序 1 2 3 4
指 令 LD MOVW LD ATT 器件号 SM0.1 +6,VW200 I0.0 VW100,VW200 说明 装载表的最大长度 29
可编程控制器实验与指导(西门子)
实验十四 定时器实验
一、实验目的
1.掌握SIMATIC定时器指令的设置。 2.熟悉各定时器在PLC中的作用。
二、实验内容
SIMATIC定时器指令
1.接通延时定时器(有记忆的接通延时定时器) 接通延时定时器(TON)和有记忆的接通延时定时器在使能输入接通时记时。定时器号(Txx)决定了定时器的分辨率,并且分辨率现在已经在指令盒上标出了。
2.断开延时定时器
断开延时定时器用于在输入断开后延时一段时间断开输出。定时器号(Txx)决定了定时器的分辨率,并且分辨率现在已经在指令盒上标出了。
实验梯形图
图14-1接通延时定时器 图14-2断开延时定时器
接通延时定时器语句表说明 表14-1 步 序 1 2 3 4
指 令 LD TON LD = 器件号 I0.0 T37,+10 T37 Q0.0 说明 100ms定时器T37在(10×100ms=1s)后到时,I0.0 ON=T37使能,I0.0 OFF=禁止并复位T37 定时器T37控制Q0.0 30
可编程控制器实验与指导(西门子)
断开延时定时器语句表说明 表14-2 步 序 1 2 3 4
指 令 LD TOF LD = 器件号 I0.0 T33,+100 T33 Q0.0 说明 10ms定时器T33在1秒后到时。I0.0关断使能T33。I0.0接通T33复位。 定时器T33用其输出位控制Q0.0。 31
可编程控制器实验与指导(西门子)
实验十五 子程序指令实验
一、实验目的
1.掌握如何带参数调用子程序。 2.熟悉字程序的使用。
二、实验内容 1.子程序指令
子程序调用指令(CALL)将程序控制权交给子程序SBR_N。调用子程序时可以带参数也可以不带参数。子程序执行完成后,控制权返回到调用子程序的指令的下一条指令。
子程序条件返回指令(CRET)根据它前面的逻辑决定是否终止子程序。 要添加一个子程序可以在命令菜单中选择:Edit > Insert >Subroutine。 使ENO=0的错误条件:
H 0008(超过子程序嵌套最大) H 0006(间接寻址)
在主程序中,可以嵌套调用子程序(在子程序中调用子程序),最多嵌套8层。在中断服务程序中,不能嵌套调用子程序。
在被中断服务程序调用的子程序中不能再出现子程序调用。不禁止递归调用(子程序调用自己),但是当使用带子程序的递归调用时应慎用。
2.带参数调用子程序
子程序可以包含要传递的参数。参数在子程序的局部变量表中定义。参数必须有变量名(最多23个字符)、变量类型和数据类型。一个子程序最多可以传递16个参数。
局部变量表中的变量类型区定义变量是传入子程序(IN)、传入和传出子程序(IN_OUT)或者传出子程序(OUT)。表6-79中描述了一个子程序中的参数类型。要加入一个参数,把光标放到要加入的变量类型区(IN、IN_OUT、OUT)。点击鼠标右键可以得到一个菜单选择。选择插入选项,然后选择下一行选项。这样就出现了另一个所选类型的参数项。
子程序参数表 表15-1
参 数 中断描述
参数传入子程序。如果参数是直接寻址(如:VB10),指定位置的值被传递到子程序。如果参数是间接寻址(如:*AC1),指针
IN
指定位置的值被传入子程序;如果参数是常数(如:16#1234),或者一个地址(如:&VB100),常数或地址的值被传入子程序。
IN_OUT 指定参数位置的值被传到子程序,从子程序的结果值被返回到同
32
可编程控制器实验与指导(西门子)
OUT
TEMP
样地址。常数(如:16#1234)和地址(如:&VB100)不允许作为输入/输出参数。
从子程序来的结果值被返回到指定参数位置。常数(如:16#1234)和地址(如:&VB100)不允许作为输出参数。由于输出参数并不保留子程序最后一次执行时分配给它的数值,所以必须在每次调用子程序时将数值分配给输出参数。注意:在电源上电时,SET和RESET指令只影响布尔量操作数的值。
任何不用于传递数据的局部存储器都可以在子程序中作为临时存储器使用。
子程序调用实验梯形图
图15-1 子程序调用梯形图
语句表说明 表15-1 步 序 1 指 令 LD 器件号 I0.0 说明 可以在LAD和FBD中正确显示: LD I0.0 = L60.0 SBR_O,I0.1,LD I0.1 VB10,I1.0,﹠= L63.7 VB100, ﹡AC1,LD L60.0 VD200 CALL SBR0,L63.7,VB10,I1.0, ﹠VB100,﹡AC1,VD200 2 CALL
33
可编程控制器实验与指导(西门子)
实验十六 比例/积分/微分(PID)回路指令实验
一、实验目的
1.掌握(PID)回路指令的设置。
2.熟悉和了解(PID)回路指令在PLC中的使用。
二、实验内容
PID回路控制指令(PID)根据输入和表(TBL)中的配置信息,对相应的LOOP执行PID回路计算。
使ENO=0的错误条件:1. H SM1.1(溢出)2. H 0006(间接寻址) 受影响的特殊存储器位:1. H SM1.1(溢出)
PID回路指令(包含比例、积分、微分回路)可以用来进行PID运算。但是,可以进行这种PID运算的前提条件是逻辑堆栈栈顶(TOS)值必须为1。该指令有两个操作数:TBL和LOOP。其中TBL是回路表的起始地址;LOOP是回路号,可以是0到7的整数。
在程序中最多可以用PID指令。如果两个或两个以上的PID指令用了同一个回路号,那么即使这些指令的回路表不同,这些PID运算之间也会相互干涉,产生不可预料的结果。
回路表包含9个参数,用来控制和监视PID运算。这些参数分别是过程变量当前值(PVn),过程变量前值(PVn--1),给定值(SPn),输出值(Mn),增益(Kc),采样时间(Ts),积分时间(TI),微分时间(TD)和积分项前值(MX)。
为了让PID运算以预想的采样频率工作,PID指令必须用在定时发生的中断程序中,或者用在主程序
中被定时器所控制以一定频率执行。采样时间必须通过回路表输入到PID运算中。
理解PID算法
PID控制器调节输出,保证偏差(e)为零,使系统达到稳定状态,偏差(e)是给定值(SP)和过程变量(PV)的差。PID控制的原理基于下面的算式;输出M(t)是比例项、积分项和微分项的函数。
输出= 比例项+ 积分项+ 微分项
为了能让数字计算机处理这个控制算式,连续算式必须离散化为周期采样偏
34
可编程控制器实验与指导(西门子)
差算式,才能用来计算输出值。数字计算机处理的算式如下:
从这个公式可以看出,积分项是从第1个采样周期到当前采样周期所有误差项的函数,微分项是当前采样和前一次采样的函数,比例项仅是当前采样的函数。在数字计算机中,不保存所有的误差项,实际上也不必要。
由于计算机从第一次采样开始,每有一个偏差采样值必须计算一次输出值,只需要保存偏差前值和积
分项前值。作为数字计算机解决的重复性的结果,可以得到在任何采样时刻必须计算的方程的一个简化算式。简化算式是:
CPU实际使用以上简化算式的改进形式计算PID输出。这个改进型算式是:
1.理解PID方程的比例项
比例项MP是增益(KC)和偏差(e)的乘积。其中KC决定输出对偏差的灵敏度,偏差(e)是给定值(SP)与过程变量值(PV)之差。S7--200解决的求比例项的算式是:
35
可编程控制器实验与指导(西门子)
2.理解PID方程的积分项
积分项值MI与偏差和成正比。S7--200解决的求积分项的算式是:
积分和(MX)是所有积分项前值之和。在每次计算出MIn之后,都要用MIn去更新MX。其中MIn可以被调整或限定(详见“变量和范围一节)。MX的初值通常在第一次计算输出以前被设置为Minitial( 初值)。积分项还包括其他几个常数:增益(KC),采样时间间隔(TS)和积分时间(TI)。其中采样时间是重新计算输出的时间间隔,而积分时间控制积分项在整个输出结果中影响的大小。
3.理解PID方程的微分项
微分项值MD与偏差的变化成正比。S7--200使用下列算式来求解微分项:
为了避免给定值变化的微分作用而引起的跳变,假定给定值不变(SPn = SPn -- 1)。这样,可以用过程变量的变化替代偏差的变化,计算算式可改进为:
控制方式
PLC的PID回路没有设置控制方式,只有当PID盒接通时,才执行PID运算。在这种意义上说,PID运算存在一种“自动“运行方式。当PID运算不被执行时,我们称之为“手动”模式。
同计数器指令相似,PID指令有一个使能位。当该使能位检测到一个信号的正跳变(从0到1),PID
指令执行一系列的动作,使PID指令从手动方式无扰动地切换到自动方式。为了达到无扰动切换,在转变到自动控制前,必须把手动方式下的输出值填入回路表中的Mn栏。PID指令对回路表中的值进行下列动作,以保证当使能位
36
可编程控制器实验与指导(西门子)
正跳变出现时,从手动方式无扰动切换到自动方式: - 置给定值(SPn)=过程变量(PVn)
- 置过程变量前值(PVn--1)=过程变量现值(PVn) - 置积分项前值(MX)=输出值(Mn)
PID使能位的默认值是1,在CPU启动或从STOP方式转到RUN方式时建立。CPU进入RUN方式后首
次使PID块有效,没有检测到使能位的正跳变,那么就没有无扰动切换的动作。
37
可编程控制器实验与指导(西门子)
实验十七 ASCII码转换指令实验
一、实验目的
1.掌握ASCLL码的设置
2.熟悉如何将数值转为ASCLL码
二、实验内容
1.在ASCII码和十六进制数之间相互转换 ASCII码转十六进制数指令(ATH)将一个长度为LEN从IN开始的ASCII码字符串转换成从OUT开始的十六进制数。十六进制数转ASCII码指令(HTA)将从输入字节IN开始的十六进制数,转换成从OUT开始的ASCII码字符串。被转换的十六进制数的位数由长度LEN给出。
能够被转换的ASCII码字符串或者十六进制数的最大数量为255。有效ASCII码输入有效的ASCII码输入字符是0到9的十六进制数代码值30到39,和大写字符A到F的十六进制数代码值41到46这些字母数字字符。
使ENO=0的错误条件:
H SM1.7(非法的ASCII码)只对ATH有效 H 0006(间接寻址)
H 0091(操作数超出范围) 受影响的SM标志位:
H SM1.7(非法的ASCII码) 2. 将数值转为ASCII码
整数转ASCII码(ITA)、双整数转ASCII码(DTA)和实数转ASCII码(RTA)指令,分别将整数、双整数或实数值转换成ASCII码字符。
(1)整数转ASCLL码指令的操作数
整数转ASCII码(ITA)指令将一个整数字IN转换成一个ASCII码字符串。格式FMT指定小数点右侧的转换精度和小数点是使用逗号还是点号。转换结果放在OUT指定的连续8个字节中。
使ENO=0的错误条件:1. H 0006(间接寻址)2. H 非法的格式3. H nnn>5 ASCII码字符串始终是8个字节。
整数转ASCII码指令的格式操作数如图6-15所示。输出缓冲区的大小始终是8个字节,nnn表示输出缓冲区中小数点右侧的数字位数。nnn的合理范围是0到5。将小数点右侧的位数定为0,使得所显示的数值没有小数点。对于nnn大于5的情况,输出缓冲区会被空格键的ASCII码填冲。c指定是用逗号(c=1)或者点号(c=0)作为整数和小数的分隔符。高4位必须为0。
图17-1中给出了一个数值的例子,其格式为使用点号(c=0),小数点右侧有三位小数(nnn=011)。输出缓冲区的格式符合以下规则:
1)正数值写入输出缓冲区时没有符号位。
38
可编程控制器实验与指导(西门子)
2)负数值写入输出缓冲区时以负号(--)开头。
3)小数点左侧的开头的0(除去靠近小数点的那个之外)被隐藏。 4)数值在输出缓冲区中是右对齐的。
图17-1
3.双整数转ASCII码指令操作
双整数转ASCII码(DTA)指令将一个双字IN转换成一个ASCII码字符串。格式操作数FMT指定小数点右侧的转换精度。转换结果存储在从OUT开始的连续12个字节中。
使ENO=0的错误条件:1. H 0006(间接寻址)2. H 非法的格式3. H nnn>5 输出缓冲区的大小总是12个字节。
图17-2描述了双整数转ASCII码指令的格式操作数。nnn表示输出缓冲区中小数点右侧的数字位数。nnn的合理范围是0到5。将小数点右侧的位数定为0,使得所显示的数值没有小数点。对于nnn大于5的情况,输出缓冲区会被空格键的ASCII码填冲。c指定是用逗号(c=1)或者点号(c=0)作为整数和小数的分隔符。高4位必须为0。
图17-2中给出了一个数值的例子,其格式为使用点号(c=0),小数点右侧有四位小数(nnn=100)。输出缓冲区的格式符合以下规则:
1)正数值写入输出缓冲区时没有符号位。
2)负数值写入输出缓冲区时以负号(--)开头。
3)小数点左侧的开头的0(除去靠近小数点的那个之外)被隐藏。 4)数值在输出缓冲区中是右对齐的。
图17-2
4.实数转ASCII码指令操作
实数转ASCII码指令(RTA)将一个实数值IN转为ASCII码字符串。格式操作数FMT指定小数点右侧的转换精度,小数点是用逗号还是用点号表示和输出缓冲区的大小。
39
可编程控制器实验与指导(西门子)
转换结果存储在从OUT开始的输出缓冲区中。
使ENO=0的错误条件:1. H 0006(间接寻址)2. H nnn>5 3. H ssss<3 4. H ssss PLC的实数格式支持最多7位小数。试图显示7位以上的小数会产生一个四舍五入错误。 图17-3是对RTA指令中格式操作数FMT的描述。ssss表示输出缓冲区的大小。0、1或者2个字节的大小是无效的。nnn表示输出缓冲区中小数点右侧的数字位数。nnn的有效范围为0到5。将小数点右侧的位数定为0,使得所显示的数值没有小数点。对于nnn大于5或者指定的输出缓冲区太小以致于无法存储转换值的情况,输出缓冲区会被空格键的ASCII码填冲。c指定是用逗号(c=1)或者点号(c=0)作为整数和小数的分隔符。 图17-3中给出了一个数值的例子,其格式为:使用点号(c=0)、小数点右侧有1位小数(nnn=001)和6个字节的缓冲区大小(ssss=0110)。输出缓冲区的格式符合以下规则: 1)正数值写入输出缓冲区时没有符号位。 2)负数值写入输出缓冲区时以负号(--)开头。 3)小数点左侧的开头的0(除去靠近小数点的那个之外)被隐藏。 4)小数点右侧的数值按照指定的小数点右侧的数字位数被四舍五入。 5)输出缓冲区的大小应至少比小数点右侧的数字位数多三个字节。 6)数值在输出缓冲区中是右对齐的。 图17-3 实验梯形图 图17-4整数转ASCII码指令梯形图 40 可编程控制器实验与指导(西门子) 语句表说明 表17-1 步 序 指 令 1 2 LD ITA 器件号 I2.3 说明 将VW2中的整数值转换为从VB10开始的8个ASCII码字符,使用16#0B的格式,VW2,VB10,16#0B 用逗号作小数点,保留3位小数 41 可编程控制器实验与指导(西门子) 第四章 PLC综合实验练习 实验一 数码显示的模拟控制 一、实验目的 用PLC构成数码显示控制系统 二、实验内容 1. 控制要求 A→B→C→D→E→F→G→H→ABCDEF→BC→ABDEG→ABCDG→BCFG→ACDFG→ACDEFG→ABC→ABCDEFG→ABCDFG→A→B→C ……循环下去 2. I/O分配 输入 输出 起动按钮SB1:I0.0 A:Q0.0 E:Q0.4 停止按钮SB2:I0.1 B:Q0.1 F:Q0.5 C:Q0.2 G:Q0.6 D:Q0.3 H:Q0.7 3.按图所示的梯形图输入程序。 4.调试并运行程序。 A FB G EC D H 图2-1 数码显示控制示意图 42 可编程控制器实验与指导(西门子) 实验二 天塔之光的模拟控制 一、实验目的 用PLC构成天塔之光控制系统 二、实验内容 1控制要求 L12→L11→L10→L8→L1→L1、L2、L9→L1、L5、L8→L1、L4、L7→L1、L3、L6→L1→L2、L3、L4、L5→L6、L7、L8、L9→L1、L2、L6→L1、L3、L7→L1、L4、L8→L1、L5、L9→L1→L2、L3、L4、L5→L6、L7、L8、L9→L12→L11→L10 ……循环下去 2 I/O分配 输入 输出 起动按钮SB1:I0.0 L1:Q0.0 L7:Q0.6 停止按钮SB2:I0.1 L2:Q0.1 L8:Q0.7 L3:Q0.2 L9:Q1.0 L4:Q0.3 L10:Q1.1 L5:Q0.4 L11:Q1.2 L6:Q0.5 L12:Q1.3 3.按图所示的梯形图输入程序。 3. 调试并运行程序。 L6 L2L3L1 L9L7 L5L4 L8 L10 L11 L12 图2-1 天塔之光控制示意图 43 可编程控制器实验与指导(西门子) 实验三 交通灯的模拟控制 一、实验目的 用PLC构成交通灯控制系统 二、实验内容 1.控制要求 起动后,南北红灯亮并维持25s。在南北红灯亮的同时,东西绿灯也亮,1s后,东西车灯即甲亮。到20s时,东西绿灯闪亮,3s后熄灭,在东西绿灯熄灭后东西黄灯亮,同时甲灭。黄灯亮2s后灭东西红灯亮。与此同时,南北红灯灭,南北绿灯亮。1s后,南北车灯即乙亮。南北绿灯亮了25s后闪亮,3s后熄灭,同时乙灭,黄灯亮2s后熄灭,南北红灯亮,东西绿灯亮,循环。 2.I/O分配 输入 输出 起动按钮SB1:I0.0 南北红灯:Q0.0 东西红灯:Q0.3 南北黄灯:Q0.1 东西黄灯:Q0.4 南北绿灯:Q0.2 东西绿灯:Q0.5 甲车灯: Q0.7 乙车灯:Q0.6 3.按图所示的梯形图输入程序。 4.调试并运行程序。 图3-1 交通灯控制示意图 44 可编程控制器实验与指导(西门子) 实验四 四节传送带的模拟控制 一、实验目的 用PLC构成四节传送带控制系统 二、实验内容 1. 控制要求 起动后,先起动最末的皮带机,1s后再依次起动其它的皮带机;停止时,先停止最初的皮带机,1s后再依次停止其它的皮带机;当某条皮带机发生故障时,该机及前面的应立即停止,以后的每隔1s顺序停止;当某条皮带机有重物时,该皮带机前面的应立即停止,该皮带机运行1s后停止, 再1s后接下去的一台停止,依此类推 2.I/O分配 输入 输出 起动按钮SB1:I0.0 M1:Q0.1 停止按钮SB2:I0.5 M2:Q0.2 负载或故障A:I0.1 M3:Q0.3 负载或故障B:I0.2 M4:Q0.4 负载或故障C:I0.3 负载或故障D:I0.4 3.按图所示的梯形图输入程序。 4.调试并运行程序。 A M1 B M2 C M3 D A B SB1SB2 C D图4-1 四节传送带控制示意图 45 可编程控制器实验与指导(西门子) 实验五 装配流水线的模拟控制 一、实验目的 用PLC构成装配流水线控制系统 二、实验内容 1. 控制要求 起动后,再按一下移位,将按以下规律显示:D→E→F→G→A→D→E→F→G→B→D→E→F→G→C→D→E→F→G→H→D→E→F→G→A……循环,D、E、F、G分别是用来传送的,A是操作1,B是操作2,C是操作3,H是仓库。 2.I/O分配 输入 输出 起动按钮SB1:I0.0 A:Q0.0 E:Q0.4 复位按钮SB2:I0.1 B:Q0.1 F:Q0.5 移位按钮SB3:I0.2 C:Q0.2 G:Q0.6 D:Q0.3 H:Q0.7 3.按图所示的梯形图输入程序。 4.调试并运行程序。 123 ABC DEFG H 图5-1 装配流水线控制示意图 46 可编程控制器实验与指导(西门子) 实验六 液体混合的模拟控制 一、实验目的 用PLC构成液体混合控制系统 二、实验内容 1.控制要求 按下起动按钮,电磁阀Y1闭合,开始注入液体A,按L2表示液体到了L2的高度,停止注入液体A。同时电磁阀Y2闭合,注入液体B,按L1表示液体到了L1的高度,停止注入液体B,开启搅拌机M,搅拌4s,停止搅拌。同时Y3为ON,开始放出液体至液体高度为L3,再经2s停止放出液体。同时液体A注入。开始循环。按停止按扭,所有操作都停止,须重新启动。 2.I/O分配 输入 输出 起动按钮SB1:I0.0 Y1:Q0.1 停止按钮SB2:I0.4 Y2:Q0.2 L1按钮:I0.1 Y3:Q0.3 L2按钮:I0.2 M:Q0.4 L3按钮:I0.3 3.按图所示的梯形图输入程序。 4.调试并运行程序。 Y1 A Y2 B L1 L2 L3 M Y3 图6-1 液体混合控制示意图 47 可编程控制器实验与指导(西门子) 实验七 机械手的模拟控制 一、实验目的 用PLC构成机械手控制系统 二、实验内容 1.控制要求 按起动后,传送带A运行直到按一下光电开关才停止,同时机械手下降。下降到位后机械手夹紧物体,2s后开始上升,而机械手保持夹紧。上升到位左转,左转到位下降,下降到位机械手松开,2s后机械手上升。上升到位后,传送带B开始运行,同时机械手右转,右转到位,传送带B停止,此 时传送带A运行直到按一下光电开关才停止……循环 2.I/O分配 输入 输出 起动按钮SB1:I0.0 上升YV1:Q0.1 停止按钮SB2:I0.5 下降YV2:Q0.2 上升限位SQ1:I0.1 左转YV3:Q0.3 下降限位SQ2:I0.2 右转YV4:Q0.4 左转限位SQ3:I0.3 夹紧YV5:Q0.5 右转限位SQ4:I0.4 传送带A:Q0.6 光电开关 PS: I0.6 传送带B:Q0.7 3.按图所示的梯形图输入程序。 4.调试并运行程序。 YV1 YV2 YV5 BAPS YV3 YV4 图7-1 机械手控制示意图 48 可编程控制器实验与指导(西门子) 实验八 三层电梯的模拟控制 一、实验目的 用PLC构成三层电梯控制系统 二、实验内容 1. 控制要求 把可编程控制器拨向RUN后,按其它按扭都无效,只有按SQ1,才有效E1亮,表示电梯原始层在一层。 电梯停留在一层: 1. 按SB5或SB6(SB2)或SB5,SB6(SB2),电梯上升,按SQ2,E1灭,E2亮,上升停止。 2. 按SB7(SB3),电梯上升,按SQ3无反应,应先按SQ2,E1灭,E2亮,电梯仍上升,再按SQ3,E2灭,E3亮,电梯停止。 3.按SB5,SB7(SB3) ,电梯上升,按SQ2, E1灭,E2亮,电梯仍上升,按SQ3,E2灭,E3亮,电梯停止2秒后下降,按SQ2,E3灭,E2亮,电梯停止。 4.按SB6(SB2),SB7(SB3) ,电梯上升,按SQ2, E1灭,E2亮,电梯停止2秒后上升,按SQ3,E2灭,E3亮,电梯停止。 5.按SB5,SB6(SB2),SB7(SB3) ,电梯上升,按SQ2, E1灭,E2亮,电梯停止2秒后上升,按SQ3,E2灭,E3亮,电梯停止2秒后下降,按SQ2,E3灭,E2亮,电梯停止。 电梯停留在二层: 1. 按SB7(SB3),电梯上升,反方向呼叫无效,按SQ3,E2灭,E3亮,电梯停止。 2.按SB3(SB1),电梯下降,反方向呼叫无效,按SQ1,E2灭,E1亮, 电梯停止。 电梯停留在三层的情况跟停留在一层的情况类似。 2.I/O分配 输入 输出 内呼一层SB1:I0.1 一层指示灯E1:Q0.1 内呼二层SB2:I0.2 二层指示灯E2:Q0.2 内呼三层SB3:I0.3 三层指示灯E3:Q0.3 一层上呼SB4:I0.4 一层呼叫灯E4:Q0.4 二层下呼SB5:I0.5 二层向下呼叫灯E5:Q0.5 二层上呼SB6:I0.6 二层向上呼叫灯E6:Q0.6 三层下呼 SB7:I0.7 三层呼叫灯E7:Q0.7 一层到位开关SQ1:I1.0 轿厢下降KM1:Q1.0 二层到位开关SQ2:I1.1 轿厢上升KM2:Q1.1 三层到位开关SQ3:I1.2 49 可编程控制器实验与指导(西门子) 3.按图所示的梯形图输入程序。 4.调试并运行程序。 50 可编程控制器实验与指导(西门子) 实验九 水塔水位的模拟控制 一、实验目的 用PLC构成水塔水位控制系统 二、实验内容 1.控制要求 按下SB4,水池需要进水,灯L2亮;直到按下SB3,水池水位到位,灯L2灭;按SB2,表示水塔水位低需进水,灯L1亮,进行抽水;直到按下SB1,水塔水位到位,灯L1灭,水塔放完水后重复上述过程即可。 2.I/O分配 输入 输出 SB1:I0.1 L1:Q0.1 SB2:I0.2 L2:Q0.2 SB3:I0.3 SB4:I0.4 3.按图所示的梯形图输入程序。 4.调试并运行程序。 SB1SB2 L1L2 SB3 SB4 图10-1 水塔水位控制示意图 51 可编程控制器实验与指导(西门子) 实验十 五相步进电机的模拟控制 一、实验目的 用PLC构成五相步进电机控制系统 二、实验内容 1.控制要求 按下启动按钮SB1,A相通电(A亮)→B相通电(B亮)→C相通电(C亮)→D相通电(D亮)→E相通电(E亮)→A→AB→B→BC→C→CD→D→DE→E→EA→A→B……循环下去。按下停止按扭SB2,所有操作都停止需重新起动。 2.I/O分配 输入 输出 起动按钮SB1:I0.0 A:Q0.1 D:Q0.4 停止按钮SB2:I0.1 B:Q0.2 E:Q0.5 C:Q0.3 3.按图所示的梯形图输入程序。 4.调试并运行程序。 A EB DC 图15-1 五相步进电机控制示意图 52 可编程控制器实验与指导(西门子) 实验十一 Y/△换接起动的模拟控制 一、实验目的 用PLC构成Y/△换接起动控制系统。 二、实验内容 1.控制要求 按下启动按钮SB1,电动机运行,U1、V1、W1亮,表示是Y型起动,2s后,U1、V1、W1灭,U2、V2、W2亮表示△型起动。按下停止按钮SB2,电动机停止运行。 2.I/O分配 输入 输出 起动按钮SB1:I0.0 U1:Q0.0 U2:Q0.3 停止按钮SB2:I0.1 V1:Q0.1 V2:Q0.4 W1:Q0.2 W2:Q0.5 3.按图所示的梯形图输入程序。 4.调试并运行程序。 图11-1Y/△换接起动控制示意图 53 可编程控制器实验与指导(西门子) 实验十二 扎钢机的模拟控制 一、实验目的 用PLC构成扎钢机控制系统。 二、实验内容 1.控制要求 当起动按钮按下,电动机M1、M2运行,按S1表示检测到物件,电动机M3正转,即M3F亮。再按S2,电动机M3反转,即M3R亮,同时电磁阀Y1动作。再按S1,电动机M3正转,重复经过三次循环,再按S2时,则停机一段时间(3s),取出成品后,继续运行,不需要按起动。当按下停止按钮时,必须按起动后方可运行。必须注意不先按S1,而按S2将不会有动作。 2.I/O分配 输入 输出 起动按钮SB1:I0.0 M1:Q0.0 M3(F):Q0.2 停止按钮SB2:I0.3 M2:Q0.1 M3R:Q0.3 S1按钮:I0.1 Y1:Q0.4 S2按钮:I0.2 3.按图所示的梯形图输入程序。 4.调试并运行程序。 图12-1 扎钢机控制示意图 可编程控制器实验与指导(西门子) 实验十三 邮件分拣的模拟控制 一、实验目的 用PLC构成邮件分拣控制系统 二、实验内容 1.控制要求 XcXDXEXF用拨码开关输入,当XCXDXEXF取值不是1、2、3、4、5(0001、0010、0011、0100、0101)时,L1闪亮表示出错,按停止按钮无效。必须取XCXDXEXF为1、2、3、4、5(0001、0010、0011、0100、0101)后,再按停止按钮,复位一下,再按起动按钮,则L2亮表示可以进邮件,同时M5亮,SB1产生的脉冲信号。在这基础上当XCXDXEXF取值1(0001)时,表示邮编第一个数字为1,当按下S2表示检测到了,按SB1产生脉冲开始计数,经五个脉冲后M1亮2s,表示开头为1的邮编进北京的邮箱,同时M5、L2、灭2s。当XCXDXEXF取值2(0010)时,表示邮编第一个数字为2,当按下S2表示检测到了,按SB1产生脉冲开始计数,经十个脉冲后M2亮2s,表示开头为2的邮编进上海的邮箱,同时M5、L2、S1灭2s。当XCXDXEXF取值3(0011)时,表示邮编第一个数字为3,当按下S2表示检测到了,脉冲开始计数,经十五个脉冲后M3亮2s,表示开头为3的邮编进天津的邮箱,同时M5、L2灭2s。当XCXDXEXF取值0100时,表示邮编第一个数字为4,当按下S2表示检测到了,按SB1产生脉冲开始计数,经二十个脉冲后M4亮2s,表示开头为4的邮编进武汉的邮箱,同时M5、L2灭2s。当XCXDXEXF取值5(0101)时,表示邮编第一个数字为5,当按下S2表示检测到了,脉冲开始计数,经二十五个脉冲后,M5、L2灭2s,表示开头为5的邮编进广州的邮箱。当开头为1的邮编检测到了,但M1还没亮时,转变XCXDXEXF的值,发生错误L1闪亮,情况就跟开头说的一样了,以此类推当其他号码检测到了,但还没投进箱子时,转变号码就发生错误。当邮编投进邮箱后再按S1表示检测到邮件工作。 2.I/O分配 输入 输出 起动按钮S2:I0.0 M1:Q0.1 停止按钮S3:I0.1 M2:Q0.2 S1按钮:I1.0 M3:Q0.3 SB1按钮(用基本指令区):I0.7 M4:Q0.4 XC拨码开关(8):I0.3 BV:Q0.5 XD拨码开关(4):I0.4 L1:Q0.6 XE拨码开关(2):I0.5 L2:Q0.7 XF拨码开关(1):I0.6 55 可编程控制器实验与指导(西门子) 3.按图所示的梯形图输入程序。 4.调试并运行程序。 图13-1 邮件分拣控制示意图 56 可编程控制器实验与指导(西门子) 实验十四 喷泉的模拟控制 一、实验目的 用PLC构成喷泉控制系统 二、实验内容 1.控制要求 各灯闪烁:L1亮0.5秒后灭,接着L2亮0.5秒后灭,接着L3亮0.5秒后灭,接着L4亮0.5秒后灭,接着L5、L9亮0.5秒后灭,接着L6、L10亮0.5秒后灭,接着L7、L11亮0.5秒后灭,接着L8、L12亮0.5秒后灭,L1亮0.5秒后灭,如此循环下去。 2.I/O分配 输入 输出 起动按钮SB1:I0.0 L1:Q0.0 L5、L9:Q0.4 停止按钮SB2:I0.1 L2:Q0.1 L6、L10:Q0.5 L3:Q0.2 L7、L11:Q0.6 L4:Q0.3 L8、L12:Q0.7 3.按图所示的梯形图输入程序。 4.调试并运行程序。 图14-1 喷泉控制示意图 57 可编程控制器实验与指导(西门子) 实验十五 四层电梯的模拟控制 一、实验目的 用PLC构成四层电梯控制系统 二、实验内容 1.控制要求 把可编程控制器拨向RUN后,按其他按钮都无效,只有按SQ1,才有效E1亮,表示电梯原始层在一层。 电梯停留在一层: 1.按SB6或SB7(SB2)或SB6、SB7(SB2),电梯上升,按SQ2、E1灭,E2亮,上升停止。 2.按SB8或SB9(SB3)或SB8、SB9(SB3),电梯上升,按SQ3无反应,应先按SQ2、E1灭,E2亮,电梯仍上升,再按SQ3、E2灭,E3亮,电梯停止。 3.按SB10(SB4),电梯上升,按SQ4无反应,应先按SQ2、E1灭E2亮,电梯仍上升,再按SQ3、E2灭,E3亮,电梯仍上升,再按SQ4、E3灭,E4亮,电梯停止。 4.按SB6、SB8或SB6、SB8、SB3或SB6、SB3,电梯上升,按SQ2、E1灭,E2亮,电梯仍上升,按SQ3、E2灭,E3亮,电梯停止2秒后下降,再按SQ2、E3灭,E2亮,电梯停止。 5.按SB6、SB8、SB2或SB6、SB8、SB2、SB3或SB6、SB2、SB3,电梯上升,按SQ2,E1灭,E2亮,电梯停止2秒后上升,按SQ3,E2灭,E3亮,电梯停止2秒后下降,再按SQ2,E3灭,E2亮,电梯停止。 6.按SB6、SB9或SB6、SB9、SB3电梯上升,按SQ2,E1灭,E2亮,电梯仍上升,按SQ2,E2灭,E3亮,电梯停止2秒后上升,再按SQ4,E3灭,E4亮,电梯停止2秒后下降。按SQ3,E4灭,E3亮,电梯仍下降,按SQ2,E3灭,E2亮,电梯停止。 7.按SB6、SB9、SB2或SB6、SB9、SB2、SB3,电梯上升,按SQ2,E1灭,E2亮,电梯停止2秒后上升,按SQ3,E2灭,E3亮,电梯停止2秒后上升,再按SQ4,E3灭,E4亮,电梯停止2秒后下降。按SQ3,E4灭,E3亮,电梯仍下降,按SQ2,E3灭,E2亮,电梯停止。 8.按SB7(SB2)、SB8或SB7(SB2)、SB8、SB9(SB3)或SB7(SB2)、SB9(SB3),电梯上升啊,按SQ2,E1灭,E3亮,电梯停止2秒后上升,按SQ3,E2灭,E3亮电梯停止。 9.按SB6、SB7(SB2)、SB8,或SB6、SB7(SB2)、SB8、SB3电梯上升,按SQ2,E1灭,E2亮,电梯停止2秒后下降,按SQ2,E3灭,E2亮。 10.按SB6、SB7(SB2)、SB8、SB9或SB6、SB7(SB2)、SB8、SB9、 58 可编程控制器实验与指导(西门子) SB3电梯上升,按SQ2,E1灭,E2亮,电梯停止2秒后上升,按SQ3,E2灭,E3亮,电梯停止秒后上升,再按SQ4,E3灭,E4亮,电梯停止2秒后下降。按SQ3,E4灭,E3亮,电梯停止2秒后下降,按SQ2,E3灭,E2亮,电梯停止。 11.按SB6、SB10(SB4),电梯上升,按SQ2,E1灭,E2亮,电梯仍上升,按SQ3,E2灭,E3亮,电梯仍上升,再按SQ4,E3灭,E4亮,电梯停止2秒后下降。按SQ3,E4灭,E3亮,电梯仍下降,按SQ2,E3灭,E2亮,电梯停止。 12.按SB7(SB2)、SB10(SB4),电梯上升,按SQ2,E1灭,E2亮,电梯停止2秒后上升,按SQ3,E2灭,E3亮,电梯仍上升,再按SQ4,E3灭,E4亮,电梯停止。 13.按SB6、SB7(SB2)、SB10(SB4),电梯上升,按SQ2,E1灭,E2亮,电梯停止2秒后上升,按SQ3,E2灭,E3亮,电梯仍上升,再按SQ4,E3灭,E4亮,电梯停止2秒后下降,按SQ3,E4灭,E3亮,电梯仍下降,按SQ2,E3灭,E2亮,电梯停止。 14.按SB6、SB8、SB10(SB4),电梯上升,按SQ2,E1灭,E2亮,电梯仍上升,按SQ3,E2灭,E3亮,电梯仍上升,再按SQ4,E3灭,E4亮,电梯停止2秒后下降,按SQ3,E4灭,E3亮,电梯停止2秒后下降,按SQ2,E3灭,E4亮,电梯停止2秒后下降,按SQ2,E3灭,E2亮,电梯停止。 15.按SB7(SB2),SB8、SB10(SB4),电梯上升,按SQ2,E1灭,E2亮,电梯停止2秒后上升,按SQ3,E2灭,E3亮,电梯仍上升,再按SQ4,E3灭,E4亮,电梯停止2秒后下降,按SQ3,E4灭,E3亮,电梯停止。 16.按SB6、SB9(SB3)、SB10(SB4),电梯上升,按SQ2,E1灭,E2亮,电梯仍上升,按SQ3,E2灭,E3亮,电梯停止2秒后上升,再按SQ4,E3灭,E4亮,电梯停止2秒后下降,再按SQ3,E4,灭,E3亮,电梯仍下降,再按SQ2,E3灭,E2亮,电梯停止。 17.按SB7(SB2)、SB9(SB3)、SB8、SB10(SB4),电梯上升,按SQ2,E1灭,E2亮,电梯停止2秒后上升,按SQ3,E2灭,E3亮,电梯停止2秒后上升,再按SQ4,E3灭,E4亮,电梯停止。 18.按SB6、SB7(SB2)、SB8、SB10(SB4),电梯上升,按SQ2,E1灭,E2亮,电梯停止2秒后上升,按SQ3,E2灭,E3亮,电梯仍上升,再按SQ4,E3灭,E4亮,电梯停止2秒后下降,再按SQ3,E4灭,E3亮,电梯停止2秒后下降,再按SQ2,E3灭,E2亮,电梯停止。 19.按SB6、SB7(SB2)、SB9(SB3)、SB10(SB4),电梯上升,按SQ2,E1灭,E2亮,电梯停止2秒后上升,按SQ3,E2灭,E3亮,电梯停止2秒后上升再按SQ4,E3灭,E4亮,电梯停止2秒后下降,再按SQ3,E4 59 可编程控制器实验与指导(西门子) 灭,E3亮,电梯停止2秒后上升再按SQ4,E3灭,E4亮,电梯停止2秒后下降,再按SQ3,E4灭,E3亮电梯仍下降,再按SQ2,E3灭,E2亮,电梯停止。 20.按SB6、SB7(SB2)、SB8、SB9(SB3)、SB10(SB4),电梯仍上升,按SQ2,E1灭,E2亮,电梯停止2秒后上升,按SQ3,E2灭,E3亮,电梯停止2秒后上升,再按SQ4,E3灭,E4亮,电梯停止2秒后下降,再按SQ3,E4灭,E3亮,电梯停止2秒后下降满载按SQ2,E3灭,E2亮,电梯停止。 21.按SB8、SB10(SB4),电梯上升,按SQ2,E1灭E2亮,电梯仍上升,按SQ3,E2灭E3亮,电梯仍上升,再按SQ4,E3灭,E4亮,电梯停止2秒后下降,再按SQ3,E4灭,E3亮,电梯停止。 22.按SB8、SB10(SB4),电梯上升,按SQ2,E1灭,E2亮,电梯仍上升,按SQ3,E2灭,E3亮,电梯停止2秒后上升,按SQ4,E3灭,E4亮,电梯停止。 23.按SB8、SB9(SB3)、SB10(SB4),电梯上升,按SQ2,E1灭,E2亮,电梯仍上升,按SQ3,E2灭。E3亮,电梯停止2秒后上升,再按SQ4,E3灭,E4亮,电梯停止2秒后下降,再按SQ3,E4灭,E3亮,电梯停止。 电梯停留在二层: 1.按SB8或SB9(SB3),电梯上升,反方向呼叫无效,按SQ3,E2灭,E3亮,电梯停止。 2.按SB10(SB4),电梯上升,反方向呼叫无效,按SQ3,E2灭,E3亮,电梯仍上升,再按SQ4,E3灭,E4亮,电梯停止。 3.按SB5(SB1),电梯下降,反方向呼叫无效,按SQ1,E2灭,E1亮,电梯停止。 4.按SB8、SB10(SB4),电梯上升,反方向呼叫无效,按SQ3,E2灭,E3亮,电梯仍上升,再按SQ4,E3灭,E4亮,电梯停止2秒后下降,按SQ3,E4灭,E3亮,电梯停止。 5.按SB9(SB3)、SB10(SB4),电梯上升,反方向呼叫无效,按SQ3,E2灭,E3亮,电梯停止2秒后上升,再按SQ4,E3灭,E4亮,电梯停止。 6.按SB8、SB9(SB3)、SB10(SB4),电梯上升,反方向呼叫无效,按SQ3,E2灭,E3亮,电梯停止2秒后上升,再按SQ4,E3灭,E4亮,电梯停止2秒后下降,按SQ3,E4灭,E3亮,电梯停止。 电梯停留在三层: 1.按SB10(SB4),电梯上升,反方向呼叫无效,按SQ4,E3灭,E4亮,电梯停止。 60 可编程控制器实验与指导(西门子) 2.按SB6或SB7(SB2)电梯下降,反方向呼叫无效,按SQ2,E3灭,E2亮,电梯停止。 3.按SB5(SB1),电梯下降,反方向呼叫无效,按SB2,E3灭,E2亮,电梯仍下降,按SQ1,E2灭,E1亮,电梯停止。 4.按SB7,SB5(SB1),电梯下降,按SQ2,E3灭,E2亮。电梯仍下降,再按SQ1,E2灭,E1亮,电梯停止2秒后上升,按SQ2,E1灭,E2亮电梯停止。 5.按SB6(SB2),SB5(SB1),电梯下降,反方向呼叫无效,按SQ2,E3灭,E2亮,电梯停止2秒后上下降,再按SQ1,E2灭,E1亮,电梯停止。 6.按SB7,SB6(SB2),SB5(SB1),电梯下降,反方向呼叫无效,按SQ2,E3灭,E2亮,电梯停止2秒后上下降,再按SQ1,E2灭,E1亮,电梯停止2秒后上升,按SQ2,E1灭,E2亮,电梯停止。 电梯停留在四层的情况跟停留在一层的情况类似。 2.I/O分配 输入 输出 内呼一层SB1:I0.1 一层指示灯E1:Q0.1 内呼二层SB2;I0.2 二层指示灯E2:Q0.2 内呼三层SB3:I0.3 三层指示灯E3:Q0.3 内呼四层SB4:I0.4 四层指示灯E4:Q0.4 一层上呼SB5:I0.5 一层呼叫灯E5:Q0.5 二层下呼SB6:I0.6 二层下灯E6:Q0.6 二层上呼SB7:I0.7 二层上灯E7:Q0.7 三层下呼SB8:I1.0 三层下呼灯E8:Q1.0 三层上呼SB9:I1.1 三层上呼灯E9:Q1.1 四层下呼SB10:I1.2 四层呼叫灯E10:Q1.2 一层到位开关SQ1:I1.3 轿厢下降:KM1:Q1.3 二层到位开关SQ2:I1.4 轿厢上升:KM2:Q1.4 三层到位开关SQ3:I1.5 四层到位开关SQ4:I1.6 3.按图所示的梯形图输入程序。 4.调试并运行程序。 图14-1 四层电梯控制示意图 实验十六 电机Y/△形起动的控制 61 可编程控制器实验与指导(西门子) 一、实验目的 1.掌握电机的常规控制电路设计。 2.了解电机电路的实际接线。 二、实验内容及步骤 1.设计要求 电机启动可以正转启动和反转启动。而且正、反转可以切换,即在正转时可直接按下反转启动按钮,电机即可开始反转,同时切断正转电路,反之亦可。启动时,要求电机先为“Y”形连接,过一段时间再变成“△”连接运行。另外,还要有停止按钮。 2.I/O分配(连线) 输入 输出 停 止SB3:I0.0 正转继电器KM1:Q0.0 正转启动SB1:I0.1 反转继电器KM2:Q0.1 反转启动SB2:I0.2 △形连接继电器KM3:Q0.2 Y形连接继电器KM4:Q0.3 3.按图所示梯形图输入程序。 4.调试并运行程序。 图16-1 交流电机Y/△形起动控制示意图 实验十七 驱动步进电动机的控制 62 可编程控制器实验与指导(西门子) 一、实验目的 1.掌握PLC功能指令的用法。 2.掌握用PLC控制步进电机的方法。 二、实验内容与步骤 1、步进电机的工作原理 步进电机也称为脉动电机,它可以直接接收来自计算机的数字脉冲,使电机旋转过相应的角度。步进电机在要求快速启停,精确定位的场合做为执行部件,得到了广泛采用。 四相步进电机的工作方式: *单相四拍工作方式,其电机控制绕组A、B、C、D相的正转通电顺序为:A→B→C→D→A;反转通电顺序为:A→D→C→B→A。 *四相八拍工作方式,正转的绕组通电顺序为:A→AB→B→BC→C→CD→D→DA→A;反向的通电顺序为:A→AD→D→DC→C→CB→B→BA→A。 *双四拍工作方式,正转的绕组通电顺序为AB→BC→CD→DA→AB;反向的通电顺序为:AD→DC→CB→BA→AD。 步进电机有如下特点:给步进脉冲电机就转,不给步进脉冲电机就不转;步进脉冲的频率越高,步进电机转的越快;改变各相的通电方式,可以改变电机的运行方式;改变通电顺序,可以控制电机的正、反转。 2、设计要求 (1)控制模块中的步进电机工作方式为四相八拍,电机的四相线圈分别用A、B、C、D表示,公共端已接地。 当电机正转时,其工作方式如下:A→AB→B→BC→C→CD→D→DA→A。 当电机反转时,其工作方式如下:A→AD→D→DC→C→CB→B→BA→A。 设计程序,要求能控制步进电机反转,并能控制它的转速。 (2)设置以下控制按钮:启动、停止按钮;正、反转控制按钮;快速、慢速控制按钮。步进电机的脉冲可用逐位移位指令循环来实现,其脉冲频率可通过控制逐位移位指令的移位脉冲来调节,而移位脉冲可用两个定时器组合来完成,要改变脉冲频率,只要改变定时器设定值即可。 (3)程序运行前,首先选择正或反转按钮,开关打的慢速按钮,按下“启动”按钮,程序运行后选择快、慢速按钮,电机便会按照按钮的选择控制来工作。步进电机在工作过程中不能改变电机的正反转和工作方式,必须停止后选择;但可以改变其运行速度,要注意的在电机启动时必须将其选择在慢速工作状态。 3、程序修改和讨论 (1)修改程序,改变步进电机的工作方式,上机调试通过;讨论步进电机的几种工作方式有何区别? (2)通过修改程序,改变步进电机工作的脉冲频率,即改变步进电机的 63 可编程控制器实验与指导(西门子) 转速,并观察步进电机的工作情况? (3)仔细阅读源程序,掌握如何控制步进电机的正反转,即改变各相的通电顺序,在程序中如何实现? 2.I/O分配(连线) 输入 输出 启动:SB1:I0.0 A相:Q0.1 停止:SB2:I0.1 B相:Q0.2 慢速:SA1:I0.2 C相:Q0.3 快速:SA2;I0.3 D相:Q0.4 连续:SA3:I0.5 24V:1L、2L 单拍:SA4:I0.4 正转:SA5:I1.1 反转:SA6:I1.2 单相四拍:SA7:I1.0 四相八拍:SA8:I0.7 双四拍: SA9:I0.6 COM:1M、2M 3、确定输入、输出端口、并编写程序 4、编译程序,无误后下载至PLC主机的存储器中,并运行程序。 5、调试程序,直至符合设计要求。 6、参考程序及接线表 实验十八 液压成型的模拟控制 一、实验目的 用PLC构成液压成型控制系统。 可编程控制器实验与指导(西门子) 二、实验内容 1.控制要求 启动后,液压装置BZ亮,a、b、c、d、e、f灯亮。当按下启动按钮后,L4→L3→L2→L1逐渐变亮,当L2灯亮时,c、d灯灭,b′、e′灯亮,接着L1灯亮时,b、e灯灭,c′、d′灯亮。液压成形完成。停止时,L1→L2→L3→L4逐渐灯灭。b¹、c¹、d¹、e¹保持灯亮。 2. 2.I/O分配(连线) 输入 输出 启动:SB1:I0.0 a:Q0.0 f:Q0.5 停止:SB2:I0.1 b:Q0.1 b¹:Q0.6 c:Q0.2 c¹:Q0.7 d:Q0.3 d¹:Q1.0 e:Q0.4 e¹:Q1.1 L1:Q1.2 L2:Q1.3 L3:Q1.4 L4:Q1.5 BZ:Q1.6 3.按图所示输入程序。 4.运行并调试程序。 图17-1 液压成型示意图 实验十九 温度的检测与控制 一、实验目的 用PLC构成温度的检测与控制系统 65 可编程控制器实验与指导(西门子) 二、实验内容 1、控制要求 温度控制原理:通过电压加热电阻产生温度,温度在通过温度变速器变为电信号。加热时根据加热时间的长短可产生步一样的热能,这就需要用到脉冲。输入电压不同就能产生不一样的脉宽,输入电压越大,脉宽越宽,通电时间越长,热能越大,温度越高,输出电压越高。 PID闭环控制:通过PLC+A/D+D/A实现PID闭环控制,接线图及原理图如图19.1,19.3所示,比例,积分,微分系数取得合适系统就容易稳定,这些都可以通过PLC软件编程来实验。 下面的梯形图模拟量模块以EM235或EM231+EM232为例。 36个字节回路表 偏移量地址 0 4 8 12 16 20 24 28 32 域 过程变量(PVN) 设定值(SPn) 输出值(Mn) 增益(Kc) 采样时间(Ts) 积分时间(TI) 微分时间(TD) 积分项前项(MX) 过程变量前值 (PVn-1) 格式 双字-实数 双字-实数 双字-实数 双字-实数 双字-实数 双字-实数 双字-实数 双字-实数 双字-实数 类型 输入 输入/输出 输入 输入 输入 输入 输入 描述 过程变量,必须0.0~1.0之间 给定值,必须0.0~1.0之间 输出值,必须0.0~1.0之间 增益是比例常数,可正可负 单位为秒,必须是正数 单位为分钟,必须是正数 单位为分钟,必须是正数 输入/输出 积分项前项,必须在0.0~1.0之间 输入/输出 最后一次PID运算的过程变量值 66 可编程控制器实验与指导(西门子) 图18-2 温度检测与控制示意图 图18-3 PID控制示意图 67 可编程控制器实验与指导(西门子) 图19-4 模拟量模块的接线图 注:模拟量模块详细规范,可见配套光盘中,S7-200系统手册(400页-410页) 68 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务