可编程序控制器应用第三章4.ppt_第1页
可编程序控制器应用第三章4.ppt_第2页
可编程序控制器应用第三章4.ppt_第3页
可编程序控制器应用第三章4.ppt_第4页
可编程序控制器应用第三章4.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

后一页,返回,安徽理工大学电信学院,第3章 西门子小型可编程控制器S7-200,后一页,返回,安徽理工大学电信学院,可编程控制器原理与应用,返回,后一页,前一页,3.2.11 表功能指令 1.表存数指令,ATT,表存数指令(213) 该指令在梯形图中有2个数据输入端:DATA为数值输入,指出将被存储的字型数据或其地址;TBL表格的首地址,用以指明被访问的表格。当使能输入有效时,将输入字型数据添加到指定的表格中。 表存数特点: 表存数时,新存的数据添加在表中最后一个数据的后面。每向表中存一个数据,实际填表数EC会自动加1。,返回,后一页,前一页,增加至表格(ATT)指令向表格(TBL)中加入字值(DATA)。表格中的第一个数值是表格的最大长度(TL)。第二个数值是条目计数(EC),指定表格中的条目数。DATA为数值输入,指出将被存储的字型数据或其地址;TBL表格的首地址,用以指明被访问的表格。新数据被增加至表格中的最后一个条目之后。每次向表格中增加新数据后,条目计数加1。表格最多可包含100个条目,不包括指定最大条目数和实际条目数的参数。,返回,后一页,前一页,返回,后一页,前一页,2.表取数指令 1) FIFO,先进先出指令 (216),当使能输入有效时,从TBL指明的表中移出第一个字型数据并将其输出到DATA所指定的字单元。 FIFO表取数特点: 取数时,移出的数据总是最先进入表中的数据。每次从表中移出一个数据,剩余数据依次上移一个字单元位置,同时实际填表数EC会自动减1。 指令格式: FIFO TBL, DATA 例: FIFO VW100, AC0,返回,后一页,前一页,2) LIFO,后进先出指令(217),当使能输入有效时,从TBL指明的表中移出最后一个字型数据并将其输出到DATA所指定的字单元。 LIFO表取数特点: 取数时,移出的数据是最后进入表中的数据。每次从表中取出一个数据,剩余数据位置保持不变,实际填表数EC会自动减1。 指令格式: LIFO TBL, DATA 例: LIFO VW100, AC0,返回,后一页,前一页,3.表查找指令,FND ,表查找指令。通过表查找指令可以从字型数表中找出符合条件的数据所在的表中数据编号,编号范围为099。 在梯形图中有4个数据输入端:TBL表格的首地址,用以指明被访问的表格;PTN是用来描述查表条件时进行比较的数据;CMD是比较运算符“?”的编码,它是一个14的数值,分别代表=、运算符;INDX用来指定表中符合查找条件的数据的地址。,返回,后一页,前一页,3.2.12 转换指令 1.数据类型转换 (1)字节与整数 1)字节到整数,BTI,字节转换为整数指令。使能输入有效时,将字节输入数据IN转换成整数类型,并将结果送到OUT输出。字节型是无符号的,所以没有符号扩展。 指令格式: BTI IN, OUT 例: BTI VB0, AC0,返回,后一页,前一页,2)整数到字节,ITB,整数转换字节指令。使能输入有效时,将整数输入数据IN转换成字节类型,并将结果送到OUT输出。输入数据超出字节范围(0255)则产生溢出。 移位指令影响的特殊存储器位:SM1.1(溢出)。 指令格式: ITB IN, OUT 例: ITB AC0, VB10,返回,后一页,前一页,(2) 整数与双整数 1)双整数到整数,DTI,双整数转换为整数指令。使能输入有效时,将双整数输入数据IN转换成整数类型,并将结果送到OUT输出。输入数据超出整数范围则产生溢出。 移位指令影响的特殊存储器位:SM1.1(溢出)。 指令格式: DTI IN, OUT 例: DTI AC0, VW20,返回,后一页,前一页,2)整数到双整数,ITD,整数转换为双整数指令。使能输入有效时,将整数输入数据IN转换成双整数类型(符号进行扩展),并将结果送到OUT输出。 指令格式: ITD IN, OUT 例: ITD VW0, AC0,返回,后一页,前一页,(3) 双整数与实数 1)实数到双整数,取整 指令将实值(IN)转换成双整数值,并将结果置入OUT指定的变量中。如果小数部分等于或大于0.5,则进位为整数。,截断 指令将32位实数(IN)转换成32位双整数,并将结果的整数部分置入OUT指定的变量中。只有实数的整数部分被转换,小数部分被丢弃。如果您要转换的值为无效实数或值过大,无法在输出中表示,则设置溢出位,输出不受影响。,返回,后一页,前一页,2)双整数到实数,双整数至实数 指令将32位带符号整数IN转换成32位实数,并将结果置入OUT指定的变量中。,返回,后一页,前一页,(4) 整数与BCD码 1)BCD码到整数,BCD至整数指令将二进制编码的十进制值IN转换成整数值,并将结果载入OUT指定的变量中。IN的有效范围是0至9999 BCD。 指令格式:BCDI OUT 例: BCDI AC0 2)整数到BCD码 整数至BCD指令将输入整数值IN转换成二进制编码的十进制数,并将结果载入OUT指定的变量中。 指令格式:IBCD OUT 例: IBCD AC0,返回,后一页,前一页,IN的有效范围是0至9999 BCD。例如,您可以将双整值转换为实数。您还可以在整数和BCD格式之间转换。对于STL,IN和OUT参数使用相同的地址。 模拟量控制程序中的数据类型转换。将模拟量输入端采样值由整数转换为双整数,然后由双整数转换为实数,再除以一个比例因子得到PLC可以处理的范围内的值。程序如图3.40所示。,返回,后一页,前一页,返回,后一页,前一页,2.字符串转换 (1) 指令种类,ASCII码转换16进制指令 ASCII至HEX 指令将从IN开始的ASCII字符号码(LEN)转换成从OUT开始的十六进制数字。ASCII字符串的最大长度为255字符。 2) 16进制到ASCII码 HEX至ASCII 指令将从输入字节(IN)开始的十六进制数字转换成从OUT开始的ASCII字符。欲转换的十六进制数字位数由长度(LEN)指定。可转换的最大十六进制数字位数为255。,返回,后一页,前一页,3)整数到ASCII码 将整数转换为字符串 指令将整数字IN转换为长度为8个字符的ASCII字符串。格式(FMT)指定小数点右面的转换精度,无论小数点是显示为逗号还是句点。结果字符串写入从OUT开始的9个连续字节中。,返回,后一页,前一页,4)双整数到ASCII码 将双整数转换为字符串 指令将双整数IN转换为长度为12个字符的ASCII字符串。格式(FMT)指定小数点右面的转换精度,无论小数点是显示为逗号还是句点。结果字符串写入从OUT开始的13个连续字节中。,返回,后一页,前一页,5)实数到ASCII码 实数至ASCII指令将实数值(IN)转换成ASCII字符。格式FMT指定小数点右侧的转换精确度,以及是否将小数点表示为逗号或点号及输出缓冲区尺寸。转换结果置于从OUT开始的输出缓冲区中。结果ASCII字符的数目(或长度)相当于输出缓冲区的尺寸,指定的尺寸范围为3至15个字符。,返回,后一页,前一页,(2)指令介绍 下面仅以ASCII码转换16进制指令为例说明字符串与其他数据类型之间的转换。 ATH,ASCII码转换16进制指令。指令盒中有3个操作数:IN,开始字符的字节地址,字节类型;LEN,字符串的长度,字节类型,最大长度为255;OUT,输出目的开始字节地址,字节类型。使能输入有效时,把从IN开始的长度为LEN的ASCII码转换为16进制数,并将结果送到OUT开始的字节进行输出。,返回,后一页,前一页,3.编码和译码 (1) 编码,ENCO,编码指令。使能输入有效时,将字型输入数据IN的最低有效位(值为1的位)的位号输出到OUT所指定的字节单元的低4位。即用半个字节来对一个字型数据16位中的1位有效位进行编码。 指令格式: ENCO IN, OUT 例: ENCO AC0, VB0,返回,后一页,前一页,(2)译码(235),DECO,译码指令。使能输入有效时,将字节型输入数据IN的低4位所表示的位号对OUT所指定的字单元的对应位置1,其他位置0。即对半个字节的编码进行译码来选择一个字型数据16位中的1位。 指令格式: DECO IN, OUT 例: DECO VB0, AC0,返回,后一页,前一页,(3)七段码 236,SEG,七段码指令。使能输入有效时,将字节型输入数据IN的低4位有效数字产生相应的七段码,并将其输出到OUT所指定的字节单元。,返回,后一页,前一页,3.2.13 中断指令,1. 中断连接(ATCH)指令将中断事件(EVNT)与中断例行程序号码(INT)相联系,并启用中断事件。 2. 中断分离(DTCH)指令取消中断事件(EVNT)与所有中断例行程序之间的关联,并禁用中断事件。,返回,后一页,前一页,3. 中断允许(ENI)指令全局性启用所有附加中断事件进程。 4. 中断禁止(DISI)指令全局性禁止所有中断事件进程。转换至RUN(运行)模式时,中断开始时被禁止。一旦进入RUN(运行)模式,您可以通过执行全局中断允许指令,启用所有中断进程。执行中断禁止指令会禁止处理中断;但是现用中断事件将继续入队等候。,返回,后一页,前一页,5. 100毫秒定时中断,100毫秒读取AIW4数值的示例见图3.42。,返回,后一页,前一页,3.2.14 通信指令 1.网络读和网络写,网络读取(NETR)指令开始一项通信操作,通过指定的端口(PORT)根据表(TBL)定义从远程设备收集数据。 网络写入(NETW)指令开始一项通信操作,通过指定的端口(PORT)根据表(TBL)定义向远程设备写入数据。 NETR指令可从远程站最多读取16字节信息,NETW指令可向远程站最多写入16字节信息。,返回,后一页,前一页,您可在程序中保持任意数目的NETR/NETW指令,但在任一时间最多只能有8个NETR和NETW指令处于激活状态。 例如,您可以在特定S7200中的任一时间有4个 NETR和4个NETW指令,或2个NETR和6个NETW指令处于激活状态。,返回,后一页,前一页,2.发送指令和接收指令,发送(XMT)指令调用数据缓冲器(TBL)传输。 数据缓冲器的第一条输入指定传输的字节数目。 PORT(端口)指定传输使用的通讯端口。XMT指令用于自由端口模式中,通过通讯端口传输数据。XMT指令可用于生成BREAK(断开)条件,方法是将字符数目设为0,然后执行XMT指令。这样在线路上生成一个BREAK条件,等于16位乘以当前的波特率。,返回,后一页,前一页,传输BREAK与传输任何其他信息采用相同的处理方式,方法是在完成BREAK时生成XMT中断,SM4.5或SM4.6表示XMT的当前状态。 接收(RCV)指令开始或终止“接收信息”服务。您必须指定一个开始和一个终止条件,“接收”方框才能操作。通过指定端口(PORT)接收的讯息存储在数据缓冲器(TBL)中。数据缓冲器中的第一个条目指定接收的字节数目。,返回,后一页,前一页,3.2.15 高速计数指令和高速脉冲输出指令 1. 高速计数指令,高速计数器定义(HDEF)指令为被引用高速计数器 (HSC)指定MODE(模式)。PLC 221和PLC 222不支持HSC1和HSC2。每个计数器只能使用一个HDEF方框。 高速计数器对CPU扫描速率无法控制的高速事件进行计数,最多可配置12种不同的操作模式。高速计数器的最高计数频率取决于您的CPU类型。,返回,后一页,前一页,每个计数器对支持的时钟、方向控制、重设和起始均有专用输入。对于二相计数器,两个时钟均可以最高速率运行。在正交模式中,可选择1乘以(1x)或4乘以(4x)最高计数速率。所有计数器均以最高速率运行,互不干扰。 通常高速计数器被用作鼓式计数器驱动器,以恒速旋转的轴配有递增轴编码器。轴编码器提供每次旋转的指定计数以及每次旋转一次的重设脉冲。轴编码器的时钟和重设脉冲为高速计数器提供输入。用最先的几个预设装载高速计数器,并在当前计数小于当前预设的期间内激活所需输出。当前计数等于预设值或发生重设时,计数器设定提供中断。,返回,后一页,前一页,每次发生当前计数值等于预设值中断事件时,装载新预设值,并设定下一个输出状态。发生重设中断事件时,设定第一个预设值和第一个输出状态,并重复该循环。 因为中断的发生率远远低于高速计数器的计数率,可对高速操作执行精确的控制,并对可编程逻辑控制器的整体扫描循环产生相对较小的影响。中断附加方法允许在独立中断例行程序中执行每个装载的新预设值,以便进行状态控制,使程序简单易懂。当然,可在单个中断例行程序中处理所有的中断事件。,返回,后一页,前一页,2. 高速脉冲输出指令,脉冲输出(PLS)指令为脉冲输出(Q0.0或Q0.1)检查特殊内存位。然后启动由特殊内存位定义的脉冲操作。 理解S7-200高速输出指令 CPU各有两个PTO/PWM生成器,输出高速脉冲列和脉冲宽度调节波形。一个生成器指定给数字输出点Q0.0,另一个生成器指定给数字输出点Q0.1。,返回,后一页,前一页,PTO/PWM生成器和程序图像寄存器共享使用Q0.0和Q0.1。PTO或PWM功能在Q0.0或Q0.1位置处于激活状态时,PTO/PWM生成器控制输出,并禁止输出点的正常使用。输出波形不受程序图像寄存器状态、点强迫数值、执行立即输出指令的影响。PTO/PWM生成器处于非激活状态时,输出控制转交给程序图像寄存器。程序图像寄存器决定输出波形的初始和最终状态,使波形在高级或低级开始和结束。,返回,后一页,前一页,脉冲列(PTO)功能提供周期时间和脉冲数目由用户控制的平方波(50%的任务周期)输出。脉冲宽度调节(PWM)功能提供周期时间和脉冲宽度由用户控制的、持续性变化任务周期输出。 每个PTO/PWM生成器有一个控制字节(8位),一个循环时间数值和脉冲宽度数值(不带符号的16位数值)和一个脉冲计数值(不带符号的32位数值)。这些数值全部存储在特殊内存(SM)的指定位置。 一旦设定这些特殊内存位的位置,选择所需的操作后,执行脉冲输出指令(PLS)即启动操作。该指令使S7-200读取SM位置,并对PTO/PWM生成器进行编程。,返回,后一页,前一页,通过修改SM区域中(包括控制字节)要求的位置,您可以更改PTO或PWM的波形特征,然后执行PLS指令。 您可以在任意时候通过向控制字节(SM67.7或SM77.7)的PTO/PWM启用位写入0,禁用PTO或PWM波形的生成,然后执行PLS指令。 PWM操作 PWM功能提供可变任务循环输出。可以微秒或毫秒为时间单位指定循环时间和脉冲宽度。循环时间的范围从50微秒至65,535微秒或从2毫秒至65,535毫秒。脉冲宽度时间范围从0微秒至65,535微秒或从0毫秒至65,535毫秒。当脉冲宽度指定的数值大于或等于循环时间数值时,波形的任务循环为100%,,返回,后一页,前一页,输出被连续打开。当脉冲宽度被指定为0时,波形的任务循环为0%,输出被关闭。如果指定的循环时间小于两个时间单位,循环时间默认值为两个时间单位。 有两种不同的方法可改变PWM波形的特征:同步更新和异步更新。 同步更新:如果不要求更改时基,即可以执行同步更新。执行同步更新时,波形特征的变化发生在循环边缘,提供顺利过渡。 异步更新:典型的PWM操作,脉冲宽度不断变化,但循环时间保持不变。因此,不要求时基改变。,返回,后一页,前一页,但是,如果要求改变PTO/PWM生成器的时基,则应使用异步更新。异步更新使PTO/PWM生成器被立即禁用,与PWM波形异步。可能造成控制设备状态暂时不稳。基于此一原因,建议使用同步PWM更新。选择可用于所有预计循环时间数值的时基。 控制字节中的PWM更新方法位(SM67.4或SM77.4)用于指定更新类型。执行PLC指令启动改变。注意如果时基改变,则会发生异步更新,无论PWM更新方法位的状态如何。,返回,后一页,前一页,PTO操作 PTO功能为方形波(50%任务循环)脉冲列生成提供指定的脉冲数目。可以微秒或毫秒为递增单位指定循环时间。循环时间范围从50微秒至65,535微秒或从2毫秒至65,535毫秒。如果指定循环时间为奇数,将导致某些任务循环变形。脉冲计数范围从1至4,294,967,295脉冲。 如果指定的循环时间少于两个时间单位,则循环时间默认值为两个时间单位。如果指定的脉冲计数为0,则脉冲计数默认值为1。,返回,后一页,前一页,状态字节(SM66.7或SM76.7)中的PTO闲置位指示编程脉冲列的完成。另外,也可在脉冲列完成时调用中断例行程序(请参考第9.15节,了解有关中断和通讯指令的信息)。如果您使用多段操作,则在概况表完成后立即调用中断例行程序。请参考下面的多段管线连接。 PTO功能允许脉冲列链接或管线连接。当现用脉冲列完成时,新脉冲列输出立即开始,从而保证随后输出脉冲列的连续性。 管线链接有两种方式:单段管线连接或多段管线连接。,返回,后一页,前一页,单段管线连接 在单段管线连接中,您负责更新下一个脉冲列的SM位置。初始PTO段一旦开始,您必须按照对第二波形的要求立即修改SM位置,并再次

温馨提示

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

评论

0/150

提交评论