电气控制与PLC:第3章 S7-1200 PLC的程序设计基础与指令_第1页
电气控制与PLC:第3章 S7-1200 PLC的程序设计基础与指令_第2页
电气控制与PLC:第3章 S7-1200 PLC的程序设计基础与指令_第3页
电气控制与PLC:第3章 S7-1200 PLC的程序设计基础与指令_第4页
电气控制与PLC:第3章 S7-1200 PLC的程序设计基础与指令_第5页
已阅读5页,还剩135页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 3 章 S7-1200 PLC的程序设计基础与指令8/11/202213.1 S7-1200 PLC的编程语言国际标准IEC(国际电工委员会)是为电子技术的所有领域制定全球标准的国际组织。IEC 61131是PLC的国际标准,其中第三部分IEC 61131-3是PLC的编程语言标准。 IEC 61131-3是世界上第一个,也是至今唯一的工业控制系统的编程语言标准,已经成为DCS、IPC、FCS、SCADA和运动控制系统事实上的软件标准。IEC 61131-3的5种编程语言:指令表(Instruction List)、结构文本(Structured Text, ST)、梯形图(Ladder

2、Diagram, LD)、功能块图(Function Block Diagram, FBD)、顺序功能图(Sequential Function Chart, SFC)。8/11/20222梯形图(LAD)是使用得最多的PLC图形编程语言,由触点、线圈和用方框表示的指令框组成。触点和线圈组成的电路称为程序段(network,网络),Step 7 Basic自动为程序段编号。功能块图(FBD)使用类似于数字电路的图形逻辑来表示控制逻辑。3.1 S7-1200 PLC的编程语言梯形图和功能块图8/11/20223PLC使用的物理存储器RAM:随机存取存储器,易失性。ROM:只读存储器,非易失性,一

3、般用于存放操作系统。FEPROM和EEPROM:快闪存储器和电可擦除可编程只读存储器,兼有ROM的非易失性和RAM的随机存取的优点。非易失性,用来存放用户程序和掉电时需要保持的数据。存储卡:可选的存储卡可用来存储或传送程序。程序卡:可以替代CPU的存储器,CPU的所有功能都由程序卡进行控制。插入程序卡后会擦除CPU内部装载存储区的所有内容,然后执行程序卡的用户程序。程序卡必须保留在CPU中,如果取出程序卡,CPU将切换到STOP模式。传送卡:用于将存储的项目从卡中复制到CPU的存储器。3.2 存储区、数制、数据类型与寻址存储区8/11/20224CPU存储区的三个基本区域装载存储区(Load

4、Memory),工作存储区,系统存储区装载存储区用于非易失性地存储用户程序、数据和组态。项目被下载到 CPU 后,首先存储在装载存储器中。每个 CPU 都具有内部装载存储器。该内部装载存储器的大小取决于所使用的 CPU。内部装载存储器可以用外部存储卡来替代。如果未插入存储卡,CPU 将使用内部装载存储器;如果插入了存储卡,CPU 将使用该存储卡作为装载存储器。但是,可使用的外部装载存储器的大小不能超过内部装载存储器的大小,即使插入的存储卡有更多空闲空间。该非易失性存储区能够在断电后继续保持。3.2 存储区、数制、数据类型与寻址存储区8/11/202253.2 存储区、数制、数据类型与寻址存储区

5、工作存储区易失性存储器,用于在执行用户程序时存储用户项目的某些内容。CPU会将一些项目内容从装载存储器复制到工作存储器中。该易失性存储区将在断电后丢失,而在恢复供电时由 CPU 恢复。系统存储区CPU为用户程序提供的存储器组件,用于存放用户程序的操作数据,被划分为若干个地址区域,可以在相应的地址区内对数据直接进行寻址。8/11/20226存储区描述强制保持过程映像输入(I)在扫描循环开始时,从物理输入复制的输入值YesNo物理输入(I_:P)通过该区域立即读取物理输入NoNo过程映像出(Q)在扫描循环开始时,将输出值写入物理输出YesNo物理输出(Q_:P)通过该区域立即写物理输出NoNo位存

6、储器(M)用于存储用户程序的中间运算结果或标志位NoYes临时局部存储器(L)块的临时局部数据,只能供块内部使用NoNo数据块(DB)数据存储器与FB的参数存储器NoYes3.2 存储区、数制、数据类型与寻址存储区系统存储区的地址区8/11/202273.2 存储区、数制、数据类型与寻址数制二进制数十六进制数每个十六进制数对应4位二进制数。B#16#, W#16#, DW#16#分别表示十六进制字节、字和双字常数,例如“W#16#13AF”在数字后面加“H”也可以表示十六进制数,例如16#13AF可以表示为13AFH。8/11/202283.2 存储区、数制、数据类型与寻址数制BCD码(Bin

7、ary-Coded Decimal)亦称二进码十进数或二-十进制代码。用4位二进制数来表示1位十进制数中的09这10个数码。是一种二进制的数字编码形式,用二进制编码的十进制代码。每一位BCD码允许的范围为2#00002#1001,对应于十进制数的09。4位二进制数共有16种组合,有6种组合没有使用。BCD码的最高位二进制数用来表示符号,负数为1,正数为0。一般负数和正数的最高4为二进制数分别为1111和0000,因此16位BCD码的范围为 -99999932位BCD码范围为 -99999999999999。BCD码各位之间是逢十进一。BCD码8/11/202293.2 存储区、数制、数据类型与

8、寻址数制1111100001100010十进制数-86200000010100000110101011100010010十进制数28357128/11/202210变量类型符号位数取值范围常数举例位Bool11,0TRUE,FALSE或1,0字节Byte816#0016#FF16#12,16#AB字Word1616#000016#FFFF16#ABCD,16#0001双字DWord3216#0000000016#FFFFFFFF16#02468ACE字符Char816#0016#FFA, t, 有符号字节SInt8-128127123, -123整数Int16-3276832767123, -

9、123双整数Dint32-21474836482147483647123, -123无符号字节USInt80255123无符号整数UInt16065535123无符号双整数UDInt3204294967295123浮点数(实数)Real321.17549510-383.402823 103812.45, -3.4, -1.2E+3双精度浮点数LReal642.2250738585072020 10-308 1.7976931348623157 1030812345.12345-1,2E+40时间Time321T#-24d20h31m23s648ms T#24d20h31m23s648msT#1

10、d_2h_15m_30s_45ms3.2 存储区、数制、数据类型与寻址数据类型基本型8/11/202211二进制数的1位(bit)只有0和1两种不同的取值,可用来表示开关量(或称数字量)的两种不同的状态,如触点的断开和接通,线圈的通电和断电等。位数据的数据类型为BOOL(布尔)型。两个字节组成1个字(Word)两个字组成1个双字(Double Word) 。8位二进制数组成1个字节(Byte),其中的第0位为最低位(LSB)、第7位为最高位(MSB)。3.2 存储区、数制、数据类型与寻址数据类型基本型8/11/20221232位的浮点数又称为实数(Real)。浮点数的优点是用很小的存储空间(4

11、B)表示非常大和非常小的数。PLC输入和输出的数值大多是整数,例如模拟量输入和输出值,用浮点数来处理这些数据需要进行整数和浮点数之间的转换,浮点数的运输速度不及整数的运算速度慢一些。在编程软件中,用十进制小数来表示浮点数,例如50是整数,50.0为浮点数。3.2 存储区、数制、数据类型与寻址数据类型基本型8/11/202213数组(array):由相同数据类型的元素组成。字符串(string):由字符组成的一维数组,每个字节存放一个字符。用单引号表示字符串常量,例如ABC表示有3个字符的字符串常数。DTL:日期时间结构(struct):由不同数据类型的元素组成。3.2 存储区、数制、数据类型与

12、寻址数据类型复杂型8/11/202214078 位数据字节 0 MB 0数据字节 1 MW0数据字节 *数据字节 2 MD0数据字节 3 M4.1SIMATIC S7 CPU中可以按照位、字节、字和双字对存储单元进行寻址。3.2 存储区、数制、数据类型与寻址寻址8/11/202215位存储单元的地址由字节地址和位地址组成,如I3.2,其中的区域标识符“I”表示输入(Input),字节地址为3,位地址为2,这种存取方式称为“字节.位”寻址方式。I字节的位或位号(07)字节地址与位号之间的分隔符字节地址,字节3存储器标志符.233.2 存储区、数制、数据类型与寻址寻址8/11/202216Byte

13、5Byte0Byte1Byte2Byte3Byte47 6 5 4 3 2 1 0MSBLSBI区3.2 存储区、数制、数据类型与寻址寻址8/11/202217IB3表示由I3.0-I3.7这8位组成的字节,I为区域标示符,B表示字节(Byte)。相邻的两个字节组成一个字,MW200表示由MB200和MB201组成的1个字,MW200中的M为区域标识符,W表示字(Word),200为起始字节的地址。MB200LSB0MSB73.2 存储区、数制、数据类型与寻址寻址MB200LSB0MSB15MB201MW200高有效字节低有效字节8/11/202218MD200表示由MB200MB203组成的

14、双字,M为区域标示符,D表示存取双字(Double Word),200为起始字节的地址。3.2 存储区、数制、数据类型与寻址寻址MB200LSB0MSB31MB201MB202MB203MD200MW200MW202最高有效字节最低有效字节8/11/202219 M200.2,MB200,MW200和MD200等地址有重叠现象,在使用时一定注意,以免引起错误。 S7 PLC中的“高地址,低字节”的规律,如果将16#12送入MB200,将16#34送入MB201,则MW200=16#1234。注意:3.2 存储区、数制、数据类型与寻址寻址8/11/202220S7-1200 PLC的指令从功能上

15、大致可分为三类:基本指令、扩展指令和全局库指令。 基本指令包括位逻辑指令、定时器、计数器、比较指令、数学指令、移动指令、转换指令、程序控制指令、逻辑运算指令以及移位和循环移位指令等。扩展指令包括日期和时间指令,字符串和字符指令,程序控制指令,通信指令,中断指令,PID控制指令,运动控制指令,脉冲指令等。全局库指令包括USS协议库指令与Modbus协议库指令 。3.3 基本指令8/11/2022213.3 基本指令8/11/2022223.3 基本指令位逻辑指令8/11/2022233.3 基本指令位逻辑指令常开触点和常闭触点常开触点在指定的位为1状态时闭合,为0状态时断开。常闭触点在指定的位为

16、1状态时断开,为0状态是闭合。在硬件回路中还是作为软件中的符号,“常开触点”和“常闭触点”有不同的含义。8/11/2022243.3 基本指令位逻辑指令常开触点和常闭触点输入端的信号状态检查信号状态“1”符号 /指令检查结果检查信号状态“0”符号 /指令检查结果有输入端有电压吗?无有无101Yes 1LAD: 常开触点0LAD: 常闭触点 No 0 Yes 1 No 0 No 0 Yes 1 Yes 1 No 0过程PLC程序中的解释动作不动作传感器是 .动作不动作常开触点传感器是 .常闭触点8/11/202225任务:当 S1 动作和S2 不动作时,在所有三个例子中灯应该点亮!3.3 基本指

17、令位逻辑指令常开触点和常闭触点8/11/2022263.3 基本指令位逻辑指令NOT取反触点NOT触点用来转换能流输入的逻辑状态。如果没有能流流入NOT触点,则有能流流出。如果有能流流入NOT触点,则没有能流流出。8/11/2022273.3 基本指令位逻辑指令输出线圈8/11/202228最主要的特点是有记忆和保持功能。3.3 基本指令位逻辑指令置位复位指令8/11/202229多点置位指令将指定的地址开始的连续若干个地址置位(变为1状态并保持)。多点复位指令将指定的地址开始的连续若干个地址复位(变为0状态并保持)。3.3 基本指令位逻辑指令多点置位复位指令8/11/202230复位优先锁存

18、器置位优先锁存器SR1输出位RS1输出位00保持前一状态00保持前一状态010100101011110111复位优先锁存器、置位优先锁存器:输出线圈可选3.3 基本指令位逻辑指令锁存器8/11/202231如果输入信号I0.6由0变为1状态(即输入信号I0.6的上升沿),则该触点接通一个扫描周期。触点下面的M4.3为边缘存储位,用来存储上一个扫描循环时I0.6的状态,通过比较输入信号的当前状态和上一次循环的状态来检测信号的边沿。边沿存储位的地址只能在程序中使用一次,它的状态不能在其他地方被改写。只能使用M、全局DB和静态局部变量来作边沿存储位,不能使用临时局部数据或I/O变量来作边沿存储位。3

19、.3 基本指令位逻辑指令边缘检测触点指令8/11/202232上升沿检测线圈仅在流进该线圈的能流的上升沿,输出位M6.1为1状态,M6.2为边沿存储位。在I0.7的上升沿,M6.1的常开触点闭合一个扫描周期,使M6.6置位,在I0.7的下降沿,M6.3的常开触点闭合一个扫描周期,使M6.6复位。3.3 基本指令位逻辑指令边缘检测线圈指令8/11/202233在流进P_TRIG指令的CLK输入端的能流的上升沿,Q端输出一个扫描周期的能流,使M8.1置位,方框下面的M8.0是脉冲存储器位。P_TRIG指令与N_TRIG指令不能放在电路的开始处和结束处。3.3 基本指令位逻辑指令P_TRIG与N_T

20、RIG指令8/11/202234以上升沿检测为例:在P触点指令中,触点上面的地址的上升沿,该触点接通一个扫描周期,因此P触点用于检测触点上面地址的上升沿,并且直接输出上升沿脉冲。在P线圈的能流的上升沿,线圈上面的地址在一个扫描周期为1状态,因此P线圈用于检测能流的上升沿,并用线圈上面的地址来输出上升沿脉冲。P_TRIG指令用于检测能流的上升沿,并且直接输出上升沿脉冲。如果P_TRIG指令左边只有I1.0触点,可以用I1.0的P触点来代替P_TRIG指令。3.3 基本指令位逻辑指令三种边缘检测指令的功能8/11/202235抢答器有三个输入,分别为I0.0、I0.1和I0.2,输出分别为Q4.0

21、、Q4.1和Q4.2,复位输入是I0.4。要求:三人中任意抢答,谁先按按钮,谁的指示灯优先亮,且只能亮一盏灯,进行下一问题时主持人按复位按钮,抢答重新开始。3.3 基本指令位逻辑指令抢答题设计 1/28/11/2022363.3 基本指令位逻辑指令抢答题设计 2/28/11/202237按动一次瞬时按钮I0.0,输出Q4.0亮,再按动一次按钮,输出Q4.0灭;重复以上。3.3 基本指令位逻辑指令乒乓电路设计8/11/202238设计故障信息显示电路,从故障信号I0.0的上升沿开始,Q0.7控制的指示灯以1Hz的频率闪烁。操作人员按复位按钮I0.1后,如果故障已经消失,则指示灯灭,如果没有消失,

22、则指示灯转为常亮,直至故障消失。3.3 基本指令位逻辑指令故障信息显示电路 1/28/11/2022393.3 基本指令位逻辑指令故障信息显示电路 2/28/11/202240使用定时器可创建编程的时间延迟,S7-1200 PLC有4种定时器:TP: 脉冲定时器可生成具有预设宽度时间的脉冲。 TON:接通延迟定时器输出Q在预设的延时过后设置为 ON。 TOF:关断延迟定时器输出 Q 在预设的延时过后重置为 OFF。 TONR:保持型接通延迟定时器输出在预设的延时过后设置为ON。在使用 R 输入重置经过的时间之前,会跨越多个定时时段一直累加经过的时间。 RT:通过清除存储在指定定时器背景数据块中

23、的时间数据来重置定时器。 每个定时器都使用一个存储在数据块中的结构来保存定时器数据。 在编辑器中放置定时器指令时可分配该数据块。 3.3 基本指令定时器指令定时器的基本功能8/11/202241TP、TON 和 TOF 定时器具有相同的输入和输出参数。 TONR 定时器具有附加的复位输入参数 R。 可创建自己的“定时器名称”来命名定时器数据块,还可以描述该定时器在过程中的用途。 RT 指令可重置指定定时器的定时器数据。 3.3 基本指令定时器指令定时器的输入输出参数 1/48/11/202242参数数据类型说明INBool启用定时器输入RBool将 TONR 经过的时间重置为零PT (Pres

24、et Time)Bool预设的时间值输入QBool定时器输出ET (Elapsed Time)Time经过的时间值输出定时器数据块DB指定要使用 RT 指令复位的定时器参数 IN从0变为1将启动TP、TON 和 TONR,从1变0 将启动 TOF。 ET 为定时开始后经过的时间,或称为已耗时间值(可以不为ET指定地址),它们的数值类型为32位的Time,单位为ms,最大定时时间为T#24D_20H_31M_23S_647MS。3.3 基本指令定时器指令定时器的输入输出参数 2/48/11/202243IEC定时器和IEC计数器属于功能块,调用时需要指定配套的背景数据块,定时器和计数器指令的数据

25、保存在背景数据块中。在梯形图中输入定时器指令时,打开右边的指令窗口将“定时器操作”文件夹中的定时器指令拖放到梯形图中适当的位置,在出现的“调用选项”对话框中修改将要生成的背景数据块的名称,或采用默认的名称。点击“确定”按钮,自动生成数据块。3.3 基本指令定时器指令定时器的输入输出参数 3/48/11/202244定时器 PT 和 IN 参数值变化 TP定时器运行期间,更改 PT 没有任何影响。定时器运行期间,更改 IN 没有任何影响。TON定时器运行期间,更改 PT 没有任何影响。 定时器运行期间,将 IN 更改为 FALSE 会复位并停止定时器。 TOF定时器运行期间,更改 PT 没有任何

26、影响。 定时器运行期间,将 IN 更改为 TRUE 会复位并停止定时器。TONR定时器运行期间更改PT没有任何影响,但对定时器中断后继续运行会有影响。 定时器运行期间将IN更改为 FALSE 会停止定时器但不会复位定时器。 将 IN 改回 TRUE 将使定时器从累积的时间值开始定时。 3.3 基本指令定时器指令定时器的输入输出参数 4/48/11/2022453.3 基本指令定时器指令脉冲定时器TP时序图8/11/2022463.3 基本指令定时器指令接通延时定时器TON时序图8/11/2022473.3 基本指令定时器指令断开延时定时器TOF时序图8/11/2022483.3 基本指令定时器

27、指令保持型接通延时定时器TONR时序图8/11/202249接通延时定时器M2.7只接通一个扫描周期,振荡电路实际上是一个有正反馈的电路,两个定时器的输出Q分别控制对方的输入IN,形成了正反馈。振荡电路的高、低电平时间分别由两个定时器的PT值确定。3.3 基本指令定时器指令设计周期和占空比可调的振荡电路 1/38/11/2022503.3 基本指令定时器指令设计周期和占空比可调的振荡电路 2/38/11/202251脉冲定时器3.3 基本指令定时器指令设计周期和占空比可调的振荡电路 3/38/11/202252用3种定时器设计3.3 基本指令定时器指令设计卫生间冲水控制电路 1/3设计要求:有

28、使用者I0.7时,Q1.0延时3s后冲水4s,使用者离开后冲水5s。8/11/2022533.3 基本指令定时器指令设计卫生间冲水控制电路 2/38/11/202254控制冲水电磁阀的Q1.0输出的高电平脉冲波形由两块组成:4s的脉冲波形由TP的Q输出控制的M2.0提供。TOF控制的M2.1的波形减去I0.7的波形得到宽度为5s的脉冲波形,可以用M2.1的常开触点与I0.7的常闭触点串联的电路来实现上述要求。两块脉冲的叠加用并联电路来实现。3.3 基本指令定时器指令设计卫生间冲水控制电路 3/38/11/202255按下启动按钮I0.0,5秒后电动机启动,按下停止按钮I0.1,10秒后电动机停

29、止。3.3 基本指令定时器指令设计电机延时起动延时停止电路 1/28/11/2022563.3 基本指令定时器指令设计电机延时起动延时停止电路 2/28/11/202257两条运输带顺序相连,为避免运送的物料在1号运输带上堆积,按下起动按钮I0.3,1号带开始运行,8s后2号带自动起动。停机的顺序与起动的顺序相反,按了停止按钮I0.2后,先停2号带,8s后停1号带。Q1.1和Q0.6控制两台电动机M1和M2。3.3 基本指令定时器指令设计运输带控制电路 1/28/11/2022583.3 基本指令定时器指令设计运输带控制电路 2/28/11/202259S7-1200有3种计数器:加计数器(C

30、TU)、减计数器(CTD)和加减计数器(CTUD)。它们属于软件计数器,其最大计数速率受到它所在的OB的执行速率的限制。如果需要速率更高的计数器,可以使用CPU内置的高速计数器。调用计数器指令时,需要生成保存计数器数据的背景数据块。CU和CD分别是加计数输入和减计数输入,在CU或CD由0变为1是,实际计数值CV加1或减1。复位输入R为1时,计数器被复位,CV被清0,计数器的输入Q变为0。3.3 基本指令计数器指令计数器的数据类型8/11/202260参数数据类型说明CU、CD BOOL加计数或减计数,按加或减一计数 R ( CTU、CTUD ) BOOL将计数值重置为零 LOAD (CTD、C

31、TUD) BOOL预设值的装载控制 PV SInt、Int、DInt、USInt、UInt、UDInt 预设计数值 Q、QU BOOLCV = PV 时为真 QD BOOLCV = 0 时为真 CV SInt、Int、DInt、USInt、UInt、UDInt 当前计数值 3.3 基本指令计数器指令计数器的输入输出数据8/11/202261CTU: 参数 CU 的值从 0 变为 1 时,CTU 使计数值加 1。如果参数 CV(当前计数值)的值大于或等于参数 PV (预设计数值)的值,则计数器输出参数 Q = 1。如果复位参数 R 的值从 0 变为 1,则当前计数值复位为 0。PV = 33.3

32、 基本指令计数器指令加计数器8/11/202262CTD: 参数 CD 的值从 0 变为 1 时,CTD 使计数值减 1。如果参数 CV (当前计数值)的值等于或小于 0,则计数器输出参数Q = 1。如果参数 LOAD 的值从 0 变为 1,则参数PV (预设值)的值将作为新的 CV (当前计数值)装载到计数器。PV = 33.3 基本指令计数器指令减计数器8/11/202263CTUD: 加计数 (CU) 或减计数 (CD) 输入的值从 0 跳变为 1时,CTUD 会使计数值加 1 或减 1。如果参数 CV(当前计数值)的值大于或等于参数PV(预设值)的值,则计数器输出参数 QU = 1。如

33、果参数 CV 的值小于或等于零,则计数器输出参数 QD = 1。如果参数 LOAD 的值从 0 变为 1,则参数 PV(预设值)的值将作为新的 CV(当前计数值)装载到计数器。如果复位参数 R 的值从 0 变为 1,则当前计数值复位为 0。3.3 基本指令计数器指令加减计数器 1/28/11/202264PV = 43.3 基本指令计数器指令加减计数器 2/28/11/2022653.3 基本指令比较器操作比较指令比较指令用来比较数据类型相同的两个数IN1与IN2的大小。操作数可以是I/Q/M/L/D存储区中的变量或常量。满足比较关系式给出的条件时,等效触点接通。8/11/202266用接通延

34、时定时器和比较指令设计占空比可调的脉冲发生器 M2.0和接通延时定时器TON组成一个脉冲发生器,使MD4中TON的已耗时间ET从0到3000不断变化。3.3 基本指令比较器操作比较指令8/11/202267Q0.0为0的时间取决于比较触点下面的操作数的值。3.3 基本指令比较器操作比较指令8/11/202268要求灯控按钮I0.0按下一次,灯Q4.0亮,按下两次,灯Q4.0,Q4.1全亮,按下三次灯全灭,如此循环。分析:在程序中所用计数器为加法计数器,当加到3时,必须复位计数器,这是关键。用比较和计数指令编写开关灯程序3.3 基本指令比较器操作比较指令8/11/2022693.3 基本指令比较

35、器操作比较指令8/11/2022703.3 基本指令比较器操作范围内和范围外比较指令8/11/202271在HMI设备上可以设定电动机的转速,设定值MW20的范围为100-1440转/分钟,若输入的设定值在此范围内,则延时5秒钟启动电动机Q0.0,否则Q0.1长亮提示。 电机转速监测3.3 基本指令比较器操作范围内和范围外比较指令8/11/202272使用OK和NOT_OK指令可测试输入的数据是否为有效实数。触点上面的变量的数据类型为Real。当MD0和MD4中为有效的浮点数时,会激活“实数乘”(MUL) 运算并置位输出,即将MD0的值将与MD4的值相乘,结果存储在MD10中同时Q4.0输出为

36、1。 3.3 基本指令比较器操作OK和NOT_OK指令8/11/2022733.3 基本指令转换指令使能输入和使能输出在梯形图中,用方框表示某些指令、功能(FC)和功能块(FB),输入信号均在方框的左边,输出信号在方框的右边。梯形图中有一条提供“能流”的左侧垂直母线,能流流到方框指令的使能输入端EN(Enable input),“使能”有允许的意思。使能输入端有能流时,方框指令才能执行。如果方框指令的EN端有能流流入,而且执行时无错误,则使能输出ENO(Enable Output)端将能流传递给下一个元件。如果执行过程中有错误,能流在出现错误的方框指令中止。ENO可以作为下一个方框的EN输入,

37、即几个方框可以串联,只有前一个方框被正确执行,与它连接的后面的程序才能被执行。EN和ENO的操作数均为能流,数据类型为Bool型。8/11/2022743.3 基本指令转换指令8/11/202275IN/OUT的数据类型:Byte/Word/Dword/SInt/Int/Dint/USInt/UInt/UDInt/BCD16/BCD32和RealIN还可以是常数如果输入IN为INF(无穷大)或NAN(无效的数学运算结果),或转换结果超出OUT的数据类型允许的范围,ENO为0。3.3 基本指令转换指令CONV指令8/11/2022763.3 基本指令转换指令浮点数转换为双整数指令四舍五入取整下取

38、整上取整截位取整8/11/202277指令取整前取整后说明ROUND100.6-100.6101-101四舍五入CEIL100.2-100.6101-100将浮点数转换为大于或等于它的最小双整数FLOOR100.6-100.2100-101将浮点数转换为小于或等于它的最大双整数TRUNC100.7-100.7100-100将浮点数转换为截位取整的双整数由于浮点数的数值范围远远大于32位整数,有的浮点数不能成功转换为32位整数,此时ENO为0状态。3.3 基本指令转换指令浮点数转换为双整正数指令8/11/202278SCALE_X指令的浮点数输入值被线性转换为下限和上限定义数值范围之内的整数,如

39、果VALUE小于0或大于1,可以生成小于MIN或大于MAX的OUT。OUT=VALUE*(MAX-MIN)+MIN3.3 基本指令转换指令SCALE_X指令8/11/2022793.3 基本指令转换指令NORM_X指令NORM_X指令的整数输入数值VALUE(在下限和上限之间)被线性转换为0.01.0之间的浮点数整数,如果VALUE超出了下限或上限,可以生成小于0.0或者大于1.0的浮点数。OUT=(VALUE-MIN)/(MAX-MIN)8/11/2022803.3 基本指令数据传送指令MOVE指令MOVE指令用于将IN输入端的源数据复制给OUT1输出的目的地址,并且转换为OUT1制定的数据

40、类型,源数据保持不变。IN和OUT可以是Bool之外所有的基本数据类型。IN还可以是常数。同一条指令的输入和输出数据类型可以不同,例如可将MB0中的数据传送到MW2。如果将MW4中超过255的数据传送到MB6,则只是将MW4的低位字节(MB5)中的数据传送到MB6。8/11/2022813.3 基本指令数据传送指令SWAP指令IN和OUT为数据类型WORD时,SWAP指令交换IN的高、低字节后,保存到OUT指定的地址。IN和OUT为数据类型DWORD时,交换4个字节中数据的顺序,交换后保存到OUT指定的地址。16#AABBCCDD16#DDCCBBAA8/11/2022823.3 基本指令数据

41、传送指令FILL_BLK与U FILL_BLK指令全局数据块与数组块传送指令用于传送数据块中的数组的多个元素。数组由相同数据类型的多个元素组成,数组元素的数据类型可以是所有的基本数据类型。先生成2个数据块:数据_块_3(DB3),数据_块_4(DB4)再生成2个“仅符号访问”的数据块:数据_块_5(DB5),数据_块_6(DB6)“仅符号访问”只能用符号地址访问生成的块中的变量,不能使用绝对地址,这种访问方式可以提高存储器的利用率。8/11/2022833.3 基本指令数据传送指令FILL_BLK与UFILL_BLK指令FILL_BLK指令将输入参数IN设置的值填充到输出参数OUT指定的起始地

42、址的目标数据区,IN和OUT必须使数据块或块的局部数据中的数组元素,IN还可以是常数。COUNT为填充的数组元素是个数,数据类型为Dint或常数。UFILL_BLK功能相同,其操作不会被操作系统的其他任务打断。8/11/2022843.3 基本指令数据传送指令MOVE_BLK与UMOVE_BLK指令MOVE_BLK为块传送指令,IN和OUT必须使数据块或块的局部数据中的数组元素,IN不可以是常数。COUNT为填充的数组元素是个数,数据类型为Dint或常数。UFILL_BLK功能相同,其操作不会被操作系统的其他任务打断。8/11/2022853.3 基本指令移位与循环移位指令8/11/20228

43、6通过循环指令实现彩灯控制1I0.0为控制开关,M1.5为周期为1s的时钟存储器位,实现的功能为当按下I0.0,QD4中为1的输出位每秒钟向左移动1位。第1段程序的功能是赋初值,即将QD4中的Q7.0置位,第2段程序的功能是每秒钟QD4循环左移一位。 3.3 基本指令移位与循环移位指令8/11/202287通过循环指令实现彩灯控制2系统存储器字节和时钟存储器字节分别设为MB1和MB0,则PLC首次扫描M1.0的常开触点接通,M0.5为周期1s的方波信号。 I0.6控制是否移位,I0.7控制移位的方向。3.3 基本指令移位与循环移位指令8/11/202288ADD,SUB,MUL和DIV分别是加

44、、减、乘、除指令。操作数IN1/IN2/OUT的数据类型应该相同:SInt, Int, Dint, USInt, UInt, UDInt和Real。IN1和IN2可以是常数。整数除法指令将得到的商截位取整后,作为整数格式的输出OUT。3.3 基本指令数学运算指令四则运算指令8/11/202289压力变送器的量程为010MPa,输出信号为010V,被CPU集成的模拟量输入通道0(地址为IW64)转换为027648的数字。假设转换后的数字为N,求以kPa为单位的压力值。对应的转换公式为:P=(10000N)/27648=0.361690 N在运算时要先乘后除,否则会损失原始数据的精度。3.3 基本

45、指令数学运算指令四则运算指令8/11/202290方法1:双整数运算。乘法运算的结果可能会大于一个字能表示的最大值,因此使用双整数的乘法和除法。方法2:浮点数运算。3.3 基本指令数学运算指令四则运算指令8/11/202291MOD指令:除法指令只能得到商,余数被丢掉,MOD指令可以用来求除法的余数。NEG指令:将输入IN的值取反,保存在OUT中。INC和DEC指令:参数IN/OUT的值分别加1和减1。3.3 基本指令数学运算指令其他整数数学运算指令8/11/2022923.3 基本指令数学运算指令其他整数数学运算指令绝对值指令ABS:求输入IN中有符号整数或实数的绝对值。MIN和MAX指令:

46、分别比较输入IN1和IN2的值,将其中较小的值/较大的值送给输出OUT。IN1和IN2的数据类型相同才能执行制定的操作。LIMIT指令:检查输入IN的值是否在参数MIN和MAX指定的范围内,如果是,将它直接保存在OUT指定的地址中。如果小于MIN的值或大于MAX的值,将MIN或MAX的值送给输出OUT。8/11/202293梯形图描述梯形图描述SQR平方TAN正切函数SQRT平方根ASIN反正弦函数LN自然对数ACOS反余弦函数EXP自然指数ATAN反正切函数SIN正弦函数FRAC求浮点数的小数部分COS余弦函数EXPT求浮点数的普通对数操作数类型为Real。LN和EXP中e=2.71828。

47、求以10为底的对数时,需要进行转换:lg100=ln100/ln10三角函数和反三角函数指令中的角度均为以弧度为单位的浮点数。3.3 基本指令数学运算指令浮点数函数运算指令 1/38/11/202294测量远处物体的高度时,已知被测物体到测量点的距离L和以度为单位的夹角,求被测物体的高度H,H=L*tan(),角度的单位为度。假设以度为单位的实数角度值在MD116,乘以/180=0.0174533,得角度的弧度值,运算的中间结果保存在数据类型为Real的临时局部变量temp1中。L的值保存在MD128中,最终结果H保存在MD132中。3.3 基本指令数学运算指令浮点数函数运算指令 2/38/1

48、1/2022953.3 基本指令数学运算指令浮点数函数运算指令 3/38/11/2022963.3 基本指令字逻辑运算逻辑运算指令8/11/2022973.3 基本指令字逻辑运算解码与编码指令假设输入参数IN的值为n,解码(译码)指令DECO将输出参数OUT的第n位置位1,其余各位置0。利用解码指令,可以用输入IN的值来控制OUT中某一位的状态。如果输入IN的值大于31,将IN的值除以32以后,用余数来进行解码操作。IN数据类型为UInt,OUT的数据类型可为Byte/Word/DWord。编码指令ENCO与解码指令相反,将IN中为1的最低位的位数送给输出参数OUT指定的地址。IN的数据类型可

49、为Byte/Word/DWord,OUT的数据类型为Int。解码编码8/11/2022983.3 基本指令字逻辑运算解码与编码指令16#555516#AAAA16#2038/11/2022993.3 基本指令字逻辑运算SEL与MUX指令选择多路复用指令SEL的Bool输入参数G为0时选中IN0,G为1时选中IN1,并将它们保存到输出参数OUT指定的地址。指令MUX根据输入参考K的值,选中某个输入数据传送到OUT。如果K的值超出允许的范围,将选中输入参数ELSE。8/11/20221003.3 基本指令程序控制指令8/11/2022101S7-1200 PLC的扩展指令包括日期和时间指令,字符串

50、和字符指令,程序控制指令,通信指令,中断指令,PID控制指令,运动控制指令,脉冲指令等。 3.4 扩展指令日期时间指令CPU的实时时钟(Time-of-day Clock)在CPU断电时由超级电容提供的能量保证时钟的运行。CPU上电至少24h后,超级电容充的能量可供时钟运行10天。打开在线与诊断视图,可以设置实时时钟的时间值,也可以用时钟指令来读、写实时时钟。8/11/2022102数据类型Time的长度为4B,取值范围为: T#-24d_20h_31m_23s_648ms T#24d_20h_31m_23s_648ms-2147483648ms2147483647ms 数据结构DTL(日期时

51、间)如表:数据字节数取值范围数据字节数取值范围年219702554h1023月11 12min1059日11 31s1059星期117(周日周六)ns409999999993.4 扩展指令日期时间指令日期时间的数据类型8/11/20221033.4 扩展指令日期时间指令日期时间的数据类型数据结构DTL(日期时间)的成员如下:8/11/2022104T_CONV(时间转换)用于将数据类型Time转换为DInt,或者作反向的转换。IN和OUT参数均可以去数据类型Time转换为Dint。T_ADD(时间相加)和T_SUB(时间相减)的输入参数IN1和输出参数OUT的数据类型可选DTL或Time,他们

52、的数据类型应该相同。IN2的数据类型为Time。T_DIFF(时间差)的输入IN1的DTL值减去IN2的DTL值,参数OUT提供数据类型为Time的差值,即DTL-DTL=Time。3.4 扩展指令日期时间指令时间转换、相加、相减、时间差8/11/2022105WR_SYS_T(写系统时间):将输入IN的DTL值写入PLC的实时时钟。输出RET_VAL是返回的指令执行的状态信息。RD_SYS_T(读系统时间):将读取的PLC当前系统时间保存在输出OUT中,数据类型为DTL。输出RET_VAL是返回的指令执行的状态信息。RD_LOC_T(读本地时间)的输出OUT提供数据类型为DTL的PLC中的当

53、前本地时间。为了保证读取到正确的时间,在组态CPU的属性时,应设置实时时间的时区为北京,不设夏时制。在读取实时时间时,应调用RD_LOC_T指令。3.4 扩展指令日期时间指令时钟指令1/28/11/2022106用实时时钟指令控制路灯的定时接通和断开,20:00开灯,6:00关灯。用RD_LOC_T读取实时时间,保存在数据类型为DTL的局部变量DT5中,其中的HOUR是小时值,其变量名为DT5.HOUR。用Q0.0来控制路灯。3.4 扩展指令日期时间指令时钟指令2/28/11/20221073.4 扩展指令字符串转换指令字符串的结构STRING(字符串)数据有2B的头部,后面是最多254B的A

54、SCII字符代码。字符串占用的字节数为最大长度加2。首字节是最大长度,第2字节是当前长度。定义了字符串“MyString10”后,字符串MyString的最大长度为10.8/11/20221083.4 扩展指令字符串转换指令定义字符串只能在代码块的界面区或全局数据块中定义字符串。8/11/20221093.4 扩展指令字符串转换指令CONV指令将字符串转为数值,或将数值转为字符串。如果输入和输出参数均为string,则将输入复制到输出。13458/11/20221103.4 扩展指令字符串操作指令8/11/20221113.4 扩展指令程序控制指令8/11/20221123.5 用STEP 7

55、 Basic生成用户程序编写用户程序 1/7 在项目视图中生成项目添加新设备用户程序简介三相异步电动机星三角形起动控制电动机主电路8/11/20221133.5 用STEP 7 Basic生成用户程序编写用户程序 2/7 PLC外部接线8/11/20221143.5 用STEP 7 Basic生成用户程序编写用户程序 3/7 程序编辑器简介8/11/2022115在选中的程序段下面插入一个新的程序段删除选中的程序段打开、关闭所有的程序段设置变量的显示方式:显示绝对地址、符号地址或同时显示关闭或打开程序段的注释显示或隐藏收藏夹跳转到前一个或下一个语法错误更新不一致的块调用打开或关闭程序状态监视3

56、.5 用STEP 7 Basic生成用户程序编写用户程序 4/7 程序编辑器工具栏上的按钮8/11/20221163.5 用STEP 7 Basic生成用户程序编写用户程序 5/7 设置程序编辑器的参数8/11/2022117操作数与其他对象(例如触点)之间的垂直间距操作数水平方向和垂直方向可以输入的最大字符数3.5 用STEP 7 Basic生成用户程序编写用户程序 6/7 设置程序编辑器的参数8/11/20221183.5 用STEP 7 Basic生成用户程序编写用户程序 7/7 生成用户程序常开、常闭触点输出线圈空逻辑框打开/关闭分支8/11/20221193.5 用STEP 7 Ba

57、sic生成用户程序使用PLC变量表 生成和修改变量8/11/20221203.5 用STEP 7 Basic生成用户程序使用PLC变量表 8/11/20221213.5 用STEP 7 Basic生成用户程序全局变量和局部变量 PLC变量表中的变量可用于整个PLC中所有的代码块,在所有的代码中具有相同的意义和唯一的名称,可以在变量表中,为输入I、输出Q和位存储器M的位、字节、字和双字定义全局变量。在程序中,全局变量被自动添加双引号,例如“起动”。局部变量只能在它被定义的块中使用,同一个变量的名称可以在不同的块中分别使用一次。可以在块的界面区定义块的输入/输出参数(Input, Output, Inout)和临时数据(Temp),以及定义FB的静态变量(Static)。在程序中,局部变量被自动添加#号,例如#起动。全局

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论