1、 S7-300 PLC基本指令及应用基本指令及应用主要内容:主要内容:5.1 S7-300 PLC编程基础编程基础 5.2 位逻辑指令位逻辑指令 5.3 定时器和计数器定时器和计数器学习目标:学习目标:1.掌握S7-300 PLC主要数据类型及存储区。2.了解S7-300 PLC直接寻址、间接寻址的方法。3.掌握S7-300 PLC位逻辑指令并熟练应用。4.掌握S7-300 PLC定时器、计数器指令并熟练应用。重点重点难点:难点:1.S7-300 PLC位逻辑指令的灵活应用。2.定时器及其应用。3.PLC简单程序的设计。第第5 5章章 S7-300 PLCS7-300 PLC基本指令及应用基本
2、指令及应用5.1 S7-300 PLC编程基础编程基础5.1.1 数数制制1、二进制数、二进制数二进制数二进制数的一位(的一位(Bit)只有)只有1和和0两个值,可以用来表示两个值,可以用来表示开关量(或数字量)的两种不同的状态开关量(或数字量)的两种不同的状态。触点:逻辑输入触点:逻辑输入0:触点不动作:触点不动作1:触点动作:触点动作线圈:逻辑输出线圈:逻辑输出0:线圈失电(线路断开):线圈失电(线路断开)1:线圈得电(线路闭合):线圈得电(线路闭合)5.1 S7-300 PLC编程基础编程基础5.1.1 数数制制2、十六进制数、十六进制数2#1111 01012#1111 0101B#1
3、6#F 5 B#16#F 5 2#1111 0101 1001 0011 1111 2#1111 0101 1001 0011 1111 0101 1001 00110101 1001 0011DW#16#F 5 9 3 F 5 9 3DW#16#F 5 9 3 F 5 9 32#1111 0101 1001 00112#1111 0101 1001 0011W#16#F 5 9 3W#16#F 5 9 32#1111 0101 1001 00112#1111 0101 1001 0011F 5 9 3 HF 5 9 3 H5.1 S7-300 PLC编程基础编程基础5.1.1 数数制制3、B
4、CD码(码(Binary Coded Decimal)BCDBCD码是用码是用4 4位位二进制数表示二进制数表示一位一位十进制数,十进制数,1010111110101111没有没有在在BCDBCD码中使用码中使用。5.1 S7-300 PLC编程基础编程基础5.1.1 数数制制3、BCD码(码(Binary Coded Decimal)BCDBCD最高最高4 4位用来表示符号,位用来表示符号,00000000表示表示“+”号,号,11111111表表示示“-”号。因此号。因此1616位位BCDBCD码的范围是码的范围是-999999-999999,3232位位BCDBCD码的码的范围是范围是-
5、999 9999999 9999-999 9999999 9999。5.1 S7-300 PLC编程基础编程基础5.1.2 数据类型数据类型 数据类型数据类型定义了数据的长度和表示方法定义了数据的长度和表示方法。在。在PLC操作指令操作指令中,不同的操作码需要指定的数据类型,因此数据类型是中,不同的操作码需要指定的数据类型,因此数据类型是PLC编程的基础。编程的基础。5.1 S7-300 PLC编程基础编程基础1、基本数据类型、基本数据类型基本数据类型用于定义基本数据类型用于定义不超过不超过32位位的数据,每种数据类型的数据,每种数据类型在分配存储空间时有确定的在分配存储空间时有确定的位数位数
6、,共有,共有12种。种。(1)5.1 S7-300 PLC编程基础编程基础1、基本数据类型、基本数据类型(2)5.1 S7-300 PLC编程基础编程基础1、基本数据类型、基本数据类型(3)5.1 S7-300 PLC编程基础编程基础1、基本数据类型、基本数据类型(4)5.1 S7-300 PLC编程基础编程基础1、基本数据类型、基本数据类型(5)5.1 S7-300 PLC编程基础编程基础1、基本数据类型、基本数据类型(6)5.1 S7-300 PLC编程基础编程基础1、基本数据类型、基本数据类型(7)5.1 S7-300 PLC编程基础编程基础1、基本数据类型、基本数据类型(8)5.1 S
7、7-300 PLC编程基础编程基础1、基本数据类型、基本数据类型(9)5.1 S7-300 PLC编程基础编程基础1、基本数据类型、基本数据类型(10)RFID编码与调制技术目录目录1RFID编码2RFID调制3RFID数据校验RFID编码揭开RFID神秘面纱分析RFID 系统的工作原理1数据和信号数据和信号数据可定义为表意的实体,分为模拟数据和数字数据。模拟数据在某些时间间隔上取连续的值,例如,语音、温度、压力等。数字数据取离散值,为人们所熟悉的例子是文本或字符串。在射频识别应答器中存放的数据是数字数据。在通信系统中,数据以电气信号的形式从一点传向另一点。信号是数据的电气或者电磁形式的编码,
8、信号可以分为模拟信号和数字信号。模拟信号是连续变化的电磁波,可以通过不同的介质传输,如有线信道和无线信道。模拟信号在时域表现为连续的变化,在频域其频谱是离散的。模拟信号用来表示模拟数据。数字信号是一种电压脉冲序列,数据取离散值,它可以通过有线介质传输,数字信号用于表示数字数据,通常可用信号的两个稳态电平来表示,一个表示二进制的0,另一个表示二进制的1。RFID编码揭开RFID神秘面纱分析RFID 系统的工作原理 2信号的频谱和带宽信号的带宽是指信号频谱的宽度。很多信号具有无限的带宽,但是信号的大部分能量往往在较窄的一段频带中,这个频带称为该信号的有效带宽或带宽。RFID编码揭开RFID神秘面纱
9、分析RFID 系统的工作原理3传输介质与信号可分为模拟信号和数字信号相似,信道也可以分为传送模拟信号是的模拟信道和传送数字信号的数字信道两大类。但应注意的是,数字信号经数模变换后就可以在模拟信道上传送,而模拟信号在经过模数变换后也可以数字信道上传送。传输介质是数据传输系统里发送器和接收器之间的物理通路。传输介质可以分为有线传输介质和无线传输介质,RFID射频识别系统信道的传输介质为磁场(电感耦合)和电磁波(微波),都属无线传输。Hzf 波段 104 105 106 107 108 109 1010 1011 LF MF HF VHF UHF SHF EHF 125kHz 13.56MHz 43
10、3M 915M 5.8G 869M 2.45G 图4-7电磁波的频谱射频识别所用的频率为135kHz(LF)及ISM频率的13.56MHz(HF),433MHz(UHF),869MHz(UHF),915MHz(UHF),2.45GHz(UHF),5.8GHz(SHF)。电磁波的频谱如图4-7。RFID编码揭开RFID神秘面纱分析RFID 系统的工作原理 3信道的容量 1)数据传输速率:每秒传输二进制信息的位数,单位为位/秒,记作bps或b/s。式中T为一个数字脉冲信号的宽度(全宽码)或重复周期(归零码)单位为秒;N为一个码元所取的离散值个数。通常 N=2K,K为二进制信息的位数,K=log2N
11、。N=2时,S=1/T,表示数据传输速率等于码元脉冲的重复频率。计算公式:S=1/T log2N(bps)(4.1)RFID编码揭开RFID神秘面纱分析RFID 系统的工作原理2)信号传输速率:单位时间内通过信道传输的码元数,单位为波特,记作Baud。式中T为信号码元的宽度,单位为秒。信号传输速率,也称码元速率、调制速率或波特率。由、式得:信道容量和传输带度成正比关系。实际所用的带宽都有一定的限制,这往往是考虑到不要对其他的信号源产生干扰,从而有意对带宽进行了限制。因此,必须尽可能高效率地使用带宽,使其能在有限的带宽中获得最大的数据传输速率,制约带宽使用效率的主要因素是噪声。计算公式:B=1/
12、T(Baud)(4.2)S=B log2N(bps)(4.3)或 B=S/log2N(Baud)(4.4)RFID编码揭开RFID神秘面纱分析RFID 系统的工作原理2.信道容量对在给定条件,给定通信路径或信道上的数据传输速率称为信道容量。信道容量表示一个信道的最大数据传输速率,单位:位/秒(bps),信道容量与数据传输速率的区别是,前者表示信道的最大数据传输速率,是信道传输数据能力的极限,而后者是实际的数据传输速率。像公路上的最大限速与汽车实际速度的关系一样。1)离散的信道容量奈奎斯特(Nyquist)无噪声下的码元速率极限值B与信道带宽H的关系:奈奎斯特公式-无噪信道传输能力公式:式中H为
13、信道的带宽,即信道传输上、下限频率的差值,单位为Hz;N为一个码元所取的离散值个数。B=2 H(Baud)(4.5)C=2 H log2N(bps)(4.6)RFID编码揭开RFID神秘面纱分析RFID 系统的工作原理2)连续的信道容量香农公式-带噪信道容量公式:式中S为信号功率,N为噪声功率,S/N为信噪比,通常把信噪比表示成10lg(S/N)分贝(dB)。C=H log2(1+S/N)(bps)(4.7)RFID编码揭开RFID神秘面纱分析RFID 系统的工作原理 如图4-10双极性不归零(NRZ)码,其特点是数字消息用两个极性相反而幅度相等的脉冲表示。其与单极性码比较有以下优点:从平均统
14、计角度来看,消息“1”和“0”的数目各占一半,所以无直流分量;接收双极性码时判决门限电平为零,稳定不变,因而不受信道特性变化的影响,抗噪声性能好;可以在电缆等无接地的传输线上传输。1 0 0 1 1 0 数据时钟 CLK NRZ 码数据 曼彻斯特码 图4-10 NRZ码与曼彻斯特码3、双极性矩形脉冲RFID编码揭开RFID神秘面纱分析RFID 系统的工作原理RFID编码揭开RFID神秘面纱分析RFID 系统的工作原理RFID编码揭开RFID神秘面纱分析RFID 系统的工作原理 曼彻斯特编码也被称为分相编码(SplitPhase Coding),彻斯特码的波形如图4-11所示,在每一位的中间有一
15、个跳变。位中间的跳变既作为时钟,又作为数据,从高到低的跳变表示1,从低到高的跳变表0,曼彻斯特码也是一种归零码。曼彻斯特编码在采用负载波的负载调制或者反向散射调制时,通常用于从电子标签到读写器的数据传输,因为这有利于发现数据传输的错误。这是因为在位长度内,“没有变化”的状态是不允许的。当多个电子标签同时发送的数据位有不同值时,接收的上升边和下降边互相抵消,导致在整个位长度内是不间断的副载波信号,由于该状态不允许,所以读写器利用该错误就可以判定碰撞发生的具体位置。4、曼彻斯特(Manchester)编码RFID编码揭开RFID神秘面纱分析RFID 系统的工作原理 Miller码也称延迟调制码,是
16、一种变形双向码。其编码规则:对原始符号“1”码元起始不跳变,中心点出现跳变来表示,即用10或01表示。对原始符号“0”则分成单个“0”还是连续“0”予以不同处理;单个“0”时,保持0前的电平不变,即在码元边界处电平不跳变,在码元中间点电平也不跳变;对于连续“0”,则使连续两个“0”的边界处发生电平跳变。表4-1密勒码编码规则bit(i-1)bit(i-1)bit ibit i密勒码编码规则密勒码编码规则1bit i的起始位置不变化,中间位置跳变00bit i的起始位置跳变,中间位置不跳变10bit i的起始位置不跳变,中间位置不跳变5、米勒(Miller)编码RFID编码揭开RFID神秘面纱分
17、析RFID 系统的工作原理 米勒编码在半个位周期内的任意边沿表示二进制“1”,而经过下一个位周期中不变的电平表示二进制“0”。位周期开始时产生电平交变,如图4-11所示。因此,对接收器来说,位节拍比较容易重建。图4-11 米勒编码RFID编码揭开RFID神秘面纱分析RFID 系统的工作原理(2)选择编码方法的考虑因素 在REID系统中,由于使用的电子标签常常是无源的,市无源标签需要在读写器的通信过程中获得自身的能量供应。为了保证系统的正常工作,信道编码方式首先必须保证不能中断读写器对电子标签的能量供应。另外,作为保障系统可靠工作的需要,还必须在编码中提供数据一级的校验保护,编码方式应该提供这T
18、功能,并可以根据码型的变化来判断是否发生误码或有电子标签冲突发生。在RFID系统中,当电子标签是无源标签时,经常要求基带编码在每两个相邻数据位元间具有跳变的特点,这种相邻数据间有跳变的码,不仅可以保证在连续出现“0”的时候对电子标签的能量供应,而且便于电子标签从接收到的码中提取时钟信息患。在实际的数据传输中,由于信道中干扰的存在,数据必然会在传输过程中发生错误,这时要求信道编码能够提供一定程度检测错误的能力。RFID调制揭开RFID神秘面纱分析RFID 系统的工作原理1脉冲调制脉冲调制是指将数据的NRZ码变换为更高频率的脉冲串,该脉冲串的脉冲波形参数受NRZ码的值0和1调制。主要的调制方式为频
19、移键控FSK和相移键控PSK。RFID调制揭开RFID神秘面纱分析RFID 系统的工作原理(1)FSK调制 FSK是指对已调脉冲波形的频率进行控制,FSK调制方式用于频率低于135kHz(射频载波频率为125kHz)的情况,图4-12所示为FSK方式一例,数据传输速率为fc/40,fc为射频载波频率。FSK调制时对应数据1的脉冲频率f1=fc/5,对应数据0的脉冲频率f0=fc/8。0 0 0 1 1 数据时钟 数据 NRZ 码 FSK 脉冲 f0 f0 f1 f1 图4-12FSK脉冲调制波形RFID调制揭开RFID神秘面纱分析RFID 系统的工作原理1)FSK调制 FSK方式的实现很容易,
20、如图4-13所示,图中,频率为fc/8和fc/5的脉冲可由射频载波分频获得,数据的NRZ码对两个门电进行控制,便可获得FSK波形输出。fc/5 fc/8 分 频 器 射频载波 fc 数据 NRZ 码 门电路 1 门电路 2 移相 数据 NRZ 码 FSK 输出 图4-13 FSK实现的原理框图RFID调制揭开RFID神秘面纱分析RFID 系统的工作原理2)FSK解调FSK解调NRZ码的电路如图4-14所示,它用于阅读器中,其工作原理如下:PR CL D CLK Q Q 7474 PR CL D CLK Q Q 7474 5V 5V 单稳 74121 FSK 信号 125kHz 时钟 Reset
21、 Q7 CLKen CLK 10 进计数器 4017 数据输出 至 MCU 非 非 D2 D1 R 1 1 图4-14 FSK解调电路原理图RFID调制揭开RFID神秘面纱分析RFID 系统的工作原理触发器D1将输入FSK信号变为窄脉冲。触发器D1采用7474,当端为高时,FSK上跳沿将Q端置高,但由于此时为低,故CL端为低,又使Q端回到低电平。Q端的该脉冲使十进计数器4017复零并可重新计数。为更好地说明计数器4017,触发器D2和单稳电路74121的作用,现设输入射频载波频率fc=125kHz,且数据0的对应脉冲调制频率f0=fc/8,数据1的对应脉冲调制频率f1=fc/5。RFID芯片中
22、FSK通常有多种模式,如e5551芯片中有4种模式,如表4-2所示,前面对该电路的分析描述对应于FSK1a。对于FSK1,只需要将输出端改触发器D2的Q端;对于FSK2,则计算器的输出端改用Q9即可。对于不同的数据速率,只是位宽不同,不影响解调的结果。5.1 S7-300 PLC编程基础编程基础1、基本数据类型、基本数据类型(11)5.1 S7-300 PLC编程基础编程基础1、基本数据类型、基本数据类型(12)5.1 S7-300 PLC编程基础编程基础 复杂数据类型用于定义复杂数据类型用于定义大于大于32位位或由或由其他数据类型其他数据类型组成的组成的数据。数据。STEP 7允许允许5种种
23、复杂数据类型复杂数据类型:DATE_AND_TIME(日期和(日期和时间时间)ARRAY(数组)(数组)STRUCT(结构)(结构)STRING(字符串)(字符串)UDT(用户自定义数据类型)(用户自定义数据类型)2、复杂复杂数据类型数据类型(1)日期和时间()日期和时间(DATE_AND_TIME)用于存储年低用于存储年低2位、月、日、时、分、秒、毫秒和星位、月、日、时、分、秒、毫秒和星期,占用期,占用8个字节,用个字节,用BCD格式保存。星期天的代码为格式保存。星期天的代码为1,星期一星期六的代码为,星期一星期六的代码为27。例如。例如:DT#2020-03-16-12:59:48.705
24、 星期一,存储为:星期一,存储为:2、复杂复杂数据类型数据类型0010 00005.1 S7-300 PLC编程基础编程基础0000 00110001 01100001 00100101 10010100 10000111 00000101 0010字节N字节N+4字节N+3字节N+7(2)数组()数组(ARRAY)将将一组同一类型的数据组合在一起组成一个单位就是一组同一类型的数据组合在一起组成一个单位就是数组。数组的维数最大可以到数组。数组的维数最大可以到6维;维;ARRAY后面方括号中后面方括号中的数字用来定义每一维的起始元素和结束元素在该维中的的数字用来定义每一维的起始元素和结束元素在该
25、维中的编号,取值范围为编号,取值范围为-3276832767。2、复杂复杂数据类型数据类型5.1 S7-300 PLC编程基础编程基础ARRAY1.3,1.5,1.4 INT(3)结构结构(STRUCT)将将一组不同类型的数据组合在一起组成一个单位就是一组不同类型的数据组合在一起组成一个单位就是结构。如定义一个结构。如定义一个“电动机电动机”结构,可以用如下结构,可以用如下方式方式:2、复杂复杂数据类型数据类型5.1 S7-300 PLC编程基础编程基础(4)字符串()字符串(STRING)字符串字符串是由字符组成的一维数组,每个字节存放一个是由字符组成的一维数组,每个字节存放一个字符字符,例
26、如:,例如:STRING7 Siemens(5)用户定义的数据类型()用户定义的数据类型(UDT)是是一种特殊的数据结构,用户只需对它定义一次,定一种特殊的数据结构,用户只需对它定义一次,定义好后可以在用户程序中作为数据类型使用。可以用它来义好后可以在用户程序中作为数据类型使用。可以用它来产生大量的具有相同数据结构的数据块产生大量的具有相同数据结构的数据块。2、复杂复杂数据类型数据类型5.1 S7-300 PLC编程基础编程基础5.1 S7-300 PLC编程基础编程基础5.1.3 S7-300PLC的存储器的存储器 1 1、装载存储器:、装载存储器:用于存储用户程序和系统数据(组态、连用于存
27、储用户程序和系统数据(组态、连接和模块参数等),可以是接和模块参数等),可以是RAMRAM或或FEPROMFEPROM。2 2、工作存储器:、工作存储器:工作存储器是集成的高速存取的工作存储器是集成的高速存取的RAMRAM,用,用于存储于存储CPUCPU运行时运行时的用户程序和数据的用户程序和数据,如组织块和功能块。如组织块和功能块。3 3、系统存储器系统存储器:系统存储器系统存储器(RAMRAM)用于存储用户程序的)用于存储用户程序的操作数据操作数据,被划分为若干个地址区域。,被划分为若干个地址区域。系统存储器存储区域系统存储器存储区域存储区域功能访问单位及标识符输入过程映像输入过程映像寄存
28、器(寄存器(I I)在扫描周期开始,CPU从输入模块读取输入状态,并写入输入过程映像寄存器中输入位I、输入字节IB、输入字IW、输入双字ID输出过程映像输出过程映像寄存器(寄存器(Q Q)在扫描周期中,将程序运算得出的输出写入此区域。在扫描周期结束时,CPU从此区域读出输出值,并送到输出模块输出位Q、输出字节QB、输出字QW、输出双字QD位存储区位存储区(M M)该区域用于存储用户程序的中间运算结果或标志位存储区位M、存储区字节MB、存储区字MW、存储区双字MD外设输入区外设输入区(PIPI)通过该区域用户程序直接访问输入模块外设输入字节PIB、外设输入字PIW、外设输入双字PID外设输出区外
29、设输出区(PQPQ)通过该区域用户程序直接访问输出模块外设输出字节PQB、外设输出字PQW、外设输出双字PQD系统存储器存储区域系统存储器存储区域存储区域功能访问单位及标识符定时器区域定时器区域(T T)该区域提供定时器的存储区定时器T计数器区域计数器区域(C C)该区域提供计数器的存储区计数器C共享数据块共享数据块(DBDB)共享数据块可供所有逻辑块使用,可以用“OPN DB”指令打开一个共享数据块数据块DB、数据位DBX、数据字节DBB、数据字DBW、数据双字DBD背景数据块背景数据块(DIDI)背景数据块与某一功能块或系统功能块关联,可以用“OPN DI”打开一个背景数据块数据块DI、数
30、据位DBX、数据字节DBB、数据字DBW、数据双字DBD局部数据局部数据(L L)在处理组织块、功能块和系统数据块时,相应块的临时数据保存到该块的局部数据区局部数据位L、局部数据字节LB、局部数据字LW、数据双字LD5.1 S7-300 PLC编程基础编程基础5.1.4 CPU中的寄存器中的寄存器 1 1、累加器、累加器ACCUXACCUX(ACCU1ACCU1、ACCU2ACCU2)2 2、状态、状态字字首位检测位首位检测位(FC)逻辑操作结果逻辑操作结果(RLO)状态位状态位(STA)或位或位(OR)溢出位溢出位(OV)溢出状态保持位溢出状态保持位(OS)条件码条件码1(CC1)和条件码和
31、条件码0(CC0)二进制结果位二进制结果位(BR)3 3、数据块寄存器(、数据块寄存器(DBDB、DIDI寄存器)寄存器)4、地址寄存器地址寄存器(AR1和和AR2)5.1 S7-300 PLC编程基础编程基础5.1.5 寻址方式寻址方式 操作数操作数是指令操作或运算的对象,寻址方式就是指令是指令操作或运算的对象,寻址方式就是指令获取操作数的方式,可以直接或间接方式给出操作数。获取操作数的方式,可以直接或间接方式给出操作数。S7-S7-300300有有4 4种寻址方式:种寻址方式:立即寻址立即寻址直接寻址直接寻址存储器间接寻址存储器间接寻址寄存器间接寻址寄存器间接寻址 5.1 S7-300 P
32、LC编程基础编程基础1、立即寻址、立即寻址 立即寻址立即寻址是对是对常数常数或或常量常量的寻址方式,其特点是操作的寻址方式,其特点是操作数数直接表示在指令中直接表示在指令中,或以惟一形式隐含在指令中。下面,或以惟一形式隐含在指令中。下面各条指令操作数均采用了立即寻址方式,其中各条指令操作数均采用了立即寻址方式,其中“/”/”后面的后面的内容为指令的注释部分,对指令没有任何内容为指令的注释部分,对指令没有任何影响。影响。SET SET /将状态字寄存器的将状态字寄存器的RLORLO置置1 1L 1234 L 1234 /把整数把整数12341234装入累加器装入累加器1 1L W#16#48A2
33、 L W#16#48A2 /常数常数16#48A216#48A2装入累加器装入累加器1 15.1 S7-300 PLC编程基础编程基础2、直接寻址、直接寻址 直接寻址直接寻址在指令中直接给出存储器或寄存器的地址。在指令中直接给出存储器或寄存器的地址。地址可以是位、字节、字、双字和特殊器件编号地址可以是位、字节、字、双字和特殊器件编号。A I0.0 A I0.0 /对输入位对输入位I0.0I0.0进行进行“与与”操作操作=Q0.0 Q0.0 /将将RLORLO的值赋给的值赋给Q0.0Q0.0L MD10 L MD10 /把把MD10MD10的内容装入累加器的内容装入累加器1 1T MW102 T
34、 MW102 /把累加器把累加器1 1低字中的内容传送给位存低字中的内容传送给位存 储器储器MW102MW102 字节、字和双字的地址包括存储器或寄存器的字节、字和双字的地址包括存储器或寄存器的标识符标识符、数数据类型据类型和和起始位置起始位置。5.1 S7-300 PLC编程基础编程基础3、存储器间接寻址、存储器间接寻址 在在存储器间接寻址指令中,给出一个作为存储器间接寻址指令中,给出一个作为地址指针地址指针的的存储器,存储器,该存储器的内容是操作数所在存储单元的地址该存储器的内容是操作数所在存储单元的地址。该存储器一般称为该存储器一般称为地址指针地址指针,在指令中需写在方括号,在指令中需写
35、在方括号“”内。使用存储器间接寻址可以改变操作数的地址,在循环内。使用存储器间接寻址可以改变操作数的地址,在循环程序中经常使用存储器间接寻址程序中经常使用存储器间接寻址。地址地址指针可以是字或双指针可以是字或双字,只有字,只有双字双字MDMD、LDLD、DBDDBD和和DIDDID能做双字地址指针。能做双字地址指针。存储器间接寻址的指针格式存储器间接寻址的指针格式OPN DB MW4OPN DB MW4/打开数据块,数据块的地址指针在位存储器字打开数据块,数据块的地址指针在位存储器字MW4MW4中,如中,如果果MW4MW4的值为的值为2#00000000 000011112#00000000
36、00001111,则,则打开数据块打开数据块DB15DB15。A A M DBD4M DBD4/对对M M存储器的位做存储器的位做“与与”运算,地址指针在数据双字运算,地址指针在数据双字DBD4DBD4中,中,如果如果DBD4DBD4的值为的值为2#00000000 000002#00000000 00000000000 00000000 0010000000000 00100011011,则对则对M4.3M4.3进行操作进行操作5.1 S7-300 PLC编程基础编程基础4、寄存器间接寻址、寄存器间接寻址 该该寻址方式在指令中通过寻址方式在指令中通过地址寄存器地址寄存器和和偏移量偏移量间接获
37、间接获取操作数,其中的地址寄存器及偏移量必须写在方括号取操作数,其中的地址寄存器及偏移量必须写在方括号“”内。内。S7-300 PLCS7-300 PLC中有中有两个地址寄存器两个地址寄存器AR1AR1和和AR2AR2,通过它们,通过它们可以对各存储区的存储器内容进行寄存器间接寻址。地址可以对各存储区的存储器内容进行寄存器间接寻址。地址寄存器的内容加上偏移量,形成地址指针,并指向操作数寄存器的内容加上偏移量,形成地址指针,并指向操作数所在的存储器单元所在的存储器单元。5.2 位逻辑指令位逻辑指令5.2.1 触点与线圈指令触点与线圈指令 在在LAD(梯形图)程序中,通常使用类似继电器控制电路(梯
38、形图)程序中,通常使用类似继电器控制电路中的中的触点符号触点符号及及线圈符号线圈符号来表示来表示PLC的位元件的位元件。常闭触点线圈常开触点举例:举例:Q0.0I0.0I0.1()()5.2 位逻辑指令位逻辑指令1、常开触点和常闭常开触点和常闭触点触点触点触点在在PLCPLC中规定:中规定:若若操作数是操作数是“1 1”则触点则触点“动作动作”,即常开触点闭合,常闭触点,即常开触点闭合,常闭触点断开。断开。若操作数是若操作数是“0 0”,则触点,则触点“复位复位”,即,即常开触点断开,常闭触常开触点断开,常闭触点闭合点闭合。触点所使用的操作数是:触点所使用的操作数是:I I、Q Q、M M、L
39、 L、D D、T T、C C。5.2 位逻辑指令位逻辑指令2、输出线圈指令(赋值指令输出线圈指令(赋值指令)线圈在线圈在PLCPLC中规定中规定:如果有能流流过线圈(如果有能流流过线圈(RLO=“1”RLO=“1”),则线圈上方的操作数),则线圈上方的操作数置置“1”1”。如果没有能流流过线圈(如果没有能流流过线圈(RLO=“0”RLO=“0”),则线圈上方的),则线圈上方的操作操作数置数置“0 0”。输出线圈只能出现在梯形图逻辑串的最右边输出线圈只能出现在梯形图逻辑串的最右边。线圈所使用线圈所使用的操作数可以是:的操作数可以是:Q Q、M M、L L、D D。基本逻辑运算包括:基本逻辑运算包
40、括:“与与”运算运算“或或”运算运算“非非”运算运算 5.2 位逻辑指令位逻辑指令3、中间、中间输出线圈输出线圈线圈在线圈在PLCPLC中规定中规定:梯形图中如果逻辑梯形图中如果逻辑串很串很长,长,可以将逻辑串分成几个段,前可以将逻辑串分成几个段,前一段一段的的RLORLO可可作为中间输出,存储在位存储器中,该存储位作为中间输出,存储在位存储器中,该存储位可以当作一个触点出现在其他逻辑串中。可以当作一个触点出现在其他逻辑串中。中间输出只能放在梯形图逻辑串的中间,而不能出现在最中间输出只能放在梯形图逻辑串的中间,而不能出现在最左端或最右端。左端或最右端。5.2 位逻辑指令位逻辑指令4、取反指令、
41、取反指令线圈在线圈在PLCPLC中规定中规定:对对左边左边电路的逻辑运算结果进行取反电路的逻辑运算结果进行取反。设计:单设计:单台台电机电机PLC启启、停控制停控制设计:单设计:单台台电机电机PLC启启、停控制停控制元件名称元件名称I/O点点说明说明SF1I0.1启动按钮启动按钮SF2I0.2停止按钮停止按钮QA1Q0.0接触器线圈接触器线圈(1)控制系统地址分配控制系统地址分配设计:单设计:单台台电机电机PLC启启、停控制停控制(2)外部接线图设计)外部接线图设计*设计:单设计:单台台电机电机PLC启启、停控制停控制(3)程序设计)程序设计()I0.1I0.2Q0.0Q0.0启保停电路启保停
42、电路启启保保停停5.2 位逻辑指令位逻辑指令5.2.2 置位和复位指令置位和复位指令 置位、复位指令置位、复位指令根据根据RLO的的值决定值决定布尔操作数的状态布尔操作数的状态是否是否改变。对于置位指令,一旦改变。对于置位指令,一旦RLO为为1,则操作数的状态置,则操作数的状态置1,即,即使使RLO又变为又变为0,操作数的状态仍保持为,操作数的状态仍保持为1;对于复位操作,一;对于复位操作,一旦旦RLO为为1,则操作数的状态置,则操作数的状态置0,即使,即使RLO又变为又变为0,操作数,操作数的状态仍保持为的状态仍保持为0。置位和复位置位和复位指令应用案例指令应用案例例例5-3:一:一条条传送
43、带由电动机传送带由电动机M驱动。在传送带的驱动。在传送带的起点和终点起点和终点分别有两个启停按钮,要求分别有两个启停按钮,要求能从任意一端启动或停止传送带。能从任意一端启动或停止传送带。传送带末端有传感器传送带末端有传感器SQ1,检测到物件时,停止传送带,并控,检测到物件时,停止传送带,并控制指示灯发光,当物体被移走后,指示灯自动熄灭。制指示灯发光,当物体被移走后,指示灯自动熄灭。置位和复位置位和复位指令应用案例指令应用案例I/O模块模块I/O地址地址符符 号号传感器传感器/执行器执行器说说 明明DI模块模块16DC 24VI0.0SB1常开自复位按钮启动按钮I0.1SB2常开自复位按钮停止按
44、钮I0.2SB3常开自复位按钮启动按钮I0.3SB4常开自复位按钮停止按钮I0.4SQ1位置传感器,常开点停止、指示灯控制DO模块模块16AC 220VQ0.0KM接触器控制传送带启停Q0.1HL指示灯物件到达指示置位和复位置位和复位指令应用案例指令应用案例置位和复位置位和复位指令应用案例指令应用案例5.2 位逻辑指令位逻辑指令5.2.3 RS触发器与触发器与SR触发器触发器 STEP 7有两种触发器,即置位优先型触发器(有两种触发器,即置位优先型触发器(RS)和复位)和复位优先型触发器(优先型触发器(SR)。)。这两种触发器均可以用在逻辑串的最右端,用来结束一个逻这两种触发器均可以用在逻辑串
45、的最右端,用来结束一个逻辑串,或者用在逻辑串中间,影响右边的逻辑操作结果。辑串,或者用在逻辑串中间,影响右边的逻辑操作结果。位地址位地址位地址位地址RSSR5.2 位逻辑指令位逻辑指令5.2.3 RS触发器与触发器与SR触发器触发器5.2 位逻辑指令位逻辑指令5.2.4 RLO边沿检测边沿检测指令指令 RLO边沿检测指令有两类边沿检测指令有两类:上升沿检测(上升沿检测(P)下降下降沿检测(沿检测(N)当上升沿检测指令左边的逻辑运算结果(当上升沿检测指令左边的逻辑运算结果(RLO)由)由0变为变为1时时(即波形的上升沿),上升沿检测指令右边产生一个(即波形的上升沿),上升沿检测指令右边产生一个宽
46、度宽度为一个扫描周期的高电平。为一个扫描周期的高电平。当下降沿检测指令左边的逻辑运算结果(当下降沿检测指令左边的逻辑运算结果(RLO)由)由1变为变为0时时(即波形的下降沿),下降沿检测指令右边产生一个(即波形的下降沿),下降沿检测指令右边产生一个宽度宽度为一个扫描周期的高电平为一个扫描周期的高电平。RLO边沿边沿检测指令应用案例检测指令应用案例例例5-4:故障信息显示的程序设计。要求:故障信号:故障信息显示的程序设计。要求:故障信号I0.0为为1状状态时,态时,Q4.0控制的指示灯以控制的指示灯以1Hz的频率闪烁。操作人员按复位的频率闪烁。操作人员按复位按钮按钮I0.1后,如果故障已经消失,
47、则指示灯熄灭;如果没有消后,如果故障已经消失,则指示灯熄灭;如果没有消失,则指示灯转为常亮,直至故障消失失,则指示灯转为常亮,直至故障消失。5.3 定时器和计数器定时器和计数器5.3.1 定时器定时器 定时定时器用来实现时间设定和控制。器用来实现时间设定和控制。CPU系统存储器中的定时器存储区域(系统存储器中的定时器存储区域(T区)为每个定时器区)为每个定时器地址保留一个地址保留一个16位的位的字字和一个二进制的和一个二进制的位位。定时器的定时器的字字用来存放当前的定时时间值。用来存放当前的定时时间值。定时器的定时器的位位用来表示定时器当前值与预设值的比较关系(输用来表示定时器当前值与预设值的
48、比较关系(输出为出为0或或1)。)。定时器的访问只能使用有关的定时器指令,其编址为定时器的访问只能使用有关的定时器指令,其编址为T加编加编号,如号,如T1、T55等。等。定时时间的定时时间的表示表示 (1)使用使用S5时间表示方法设定定时时间,格式为:时间表示方法设定定时时间,格式为:S5T#aH_bM_cS_dMS(S5时间格式时间格式)其中其中,a表示小时;表示小时;b表示分钟;表示分钟;c表示秒;表示秒;d表示毫秒。表示毫秒。定时定时范围为范围为1ms2H46M30S(9990S)。)。S5T#1H_11M_20S表示表示1小时小时11分钟分钟20秒。秒。定时时间的定时时间的表示表示 (
49、2)按照按照定时器定时器字字格式格式进行编码,格式为:进行编码,格式为:W#16#wabc(十六进格式)。其中,(十六进格式)。其中,w是时基,范围为是时基,范围为03,分别代表,分别代表10毫秒、毫秒、100毫秒、毫秒、1秒和秒和10秒。秒。abc是是BCD格式的时间值,格式的时间值,范围为范围为0999。定时器具体应用定时器具体应用 脉冲脉冲定时器定时器(S_PULSE)扩展扩展脉冲定时器脉冲定时器(S_PEXT)接通接通延时定时器延时定时器(S_ODT)保持保持型接通延时定时器型接通延时定时器(S_ODTS)断电断电延时定时器延时定时器(S_OFFDT)定时定时器具体应用器具体应用 操操
50、 作作 数数数数 据据 类类 型型存存 储储 区区说说 明明no.TimerT定时器编号,范围由CPU定定时时间定时时间S5TIMEI、Q、M、L、D预设的时间值SBOOLI、Q、M、L、D使能输入TVS5TIMEI、Q、M、L、D预设的时间值RBOOLI、Q、M、L、D复位输入QBOOLI、Q、M、L、D定时器位输出BIWORDI、Q、M、L、D剩余时间值,整型格式BCDWORDI、Q、M、L、D剩余时间值,BCD格式1 1、脉冲、脉冲定时器(定时器(S-PULSES-PULSE)I0.0Q4.0 T12、扩展、扩展脉冲定时器(脉冲定时器(S-PEXT)I0.0Q4.0 T2【例例5-55-