CPM1A2A2AH2C 编程手册第六章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第6章梯形图编程本节说明了编写一个基本梯形图程序的基本步骤和概念。它介绍了用于构建梯形图基本结构和控制它执行的指令。用于编程的完整的指令集在第7节指令集中介绍。6-1基本步骤3306-2指令术语3306-3基本梯形图3316-3-1基本术语3316-3-2助记代码3326-3-3梯形指令3336-3-4输出和输出非3366-3-5结束指令3376-3-6逻辑块指令3376-3-7多重右侧指令规则3456-3-8指令行分支3456-3-9跳转3496-4控制位状态3506-4-1置位和复位3506-4-2上升沿微分和下降沿微分3516-4-3保持3516-4-4自保持位(自锁)3526-5工作位(内部继电器)3526-6编程注意事项3546-7程序运行356329指令术语6-1基本步骤第6-2节编写程序可分为几个基本步骤。可以复印附录DI/O分配表和附录E程序代码表中给出的表格帮助编程。1,2,3...1.首先列出一个所有I/O设备和已经分配给它们的I/O点的目录,并且准备一张写出分配给每一个I/O设备I/O位的表格。2.如果你使用LR位链接2个PCs,那么准备一张写出这些使用的位的表格。3.确定工作位用什么字,并准备一张当你使用它们时你能分配它们的表格。.4同样准备一张TC编号和跳转编号的表格,这样在你使用它们时就能分配它们。记住,一个TC号在程序中仅能定义一次;跳转号01~99在每个程序也只能使用一次。(TC编号在7-15定时器和计数器指令中介绍;跳转编号在本节后面说明)5.画梯形图。6.将程序输入到CPU单元。当使用手持编程器时,需将梯形图程序转换为助记符程序形式。7.检查程序有无语法错误并更正错误。8.运行该程序以检查是否存在运行错误并更正错误。9.当整个控制系统安装好并准备使用时,运行该程序并按要求仔细调试。梯形图编程和转换为助记代码的基础知识在6-3基本梯形图中描述。准备用手持编程器输入程序的有关说明请参考CPM1操作手册、CPM1A操作手册、CPM2A操作手册、CPM2C操作手册和SRM1主机控制单元手册若,可参考SSS操作手册:C系列PCs。通过SSS输入程序第6节其余内容分别是更高级的编程,编程注意事项和程序运行。所有特殊应用指令都在第7节指令集中。调试说明在CPM1操作手册、CPM1A操作手册、CP-M2A操作手册、CPM2C操作手册、SRM1主机控制单元手册和SSS操作手册:C系列PCs中第。9节故障检修也有一些调试的说明。6-2指令术语有两类基本指令用于梯形图编程:一类指令用来代表梯形图上的条件,它们仅在将程序转换为助记码时以指令的形式使用;另一种用在梯形图右侧的指令,并按照通向它们指令行上的条件来执行。大部分指令至少有一个或多个与它们相关的操作数。操作数表示或给出可以完成指令的数据。有时这些作为实际数字的形式输入,但是通常它们是包含将使用数据的数据区字或位的地址。例如,一个有表示为源操作数的IR000的传送指令,将IR000的内容转移到某些其它位置。这个位置也将被表示为一个操作数。由一个操作数指定的位地址称作一个操作数位;一个操作数指定的一个字地址称作一个操作数字。如果输入的实际数值是个常数,那么它前面加#表示它不是一个地址。基本梯形图第6-3节描述指令的其它术语在第7节指令集中介绍。6-3基本梯形图一个梯形图是由左边从一条垂直向下的线以及若干条与之相交并向右延伸的分支线组成。在左边的这条线就叫做母线;分支线称指令行或回路。沿指令行设置各种条件,它们连向右边的其它指令。这些条件的逻辑组合决定右边的指令何时和怎样执行。下面是一个梯形图例子。000002000025208HR0109LR00032000120002指令000010050100502005030050400100000020001000003HR005000007TIM001LR051521001210020040300405指令000112100521007如上图所示,指令行可以分支,然后汇合。行上垂直的一对线叫做条件。无斜线穿过它们的条件称为常开,对应着LOAD(载入),AND(与),和OR(或)指令。有斜线穿过它们的条件称为常闭条件,对应着LOADNOT(载入非),ANDNOT(与非),和ORNOT(或非)指令。每个条件上方的数字表示指令的操作数位。它是与确定后面指令的执行条件的每个条件相关位的状态。下面将说明对应一个条件的每个指令的运行方法。但是,在我们考虑这些问题之前,必须先解释一些基本的术语。注当用SSS显示梯形图时,在梯形图的右边将给出另外一条母线,它与右侧指令相连。这不会改变这个梯形图的任何功能。在右侧的指令和右边母线之间不能放置任何条件,即,在右侧的所有指令必须直接连接到右边的母线上。详情参见SSS操作手册:C系列PCs。6-3-1基本术语常开和常闭条件梯形图中的每个条件是“ON”还是“OFF”,取决于分配给它的操作数位的状态。如果操作数位为“ON”,则常开条件为“ON”;如果操作数位为“OFF”则常开条件为“OFF”。如果操作数位为“OFF”,则常闭条件为“ON”;如果操作数位为“ON”则常闭条件为为“OFF”。一般来说,当你在某位为ON时想要做什么时,你应使用常开条件,而当你在某位为OFF时想要做什么时,应使用一个常闭条件。基本梯形图第6-3节00000常开条件00000常开条件令指当IR位00000为ON时执行指令。令指当IR位00000为OFF时执行指令。执行条件操作数位逻辑块指令块在梯形图编程中,一个指令前面ON和OFF条件的逻辑组合确定了指令执行的组合条件,指令在此条件下执行。无论这个条件是ON还是OFF都叫做该指令的执行条件。除了LOAD(载入)指令外所有指令都有执行条件。指定任何梯形指令的操作数位可以是在IR、SR、HR、AR、LR或TC区域内的任何位。这也就是说在梯形图中的条件可由I/O位、标志位、工作位、定时器/计数器等来决定。载入和输出指令也能使用TR区域的位,但只能用在一些特殊用途。详情参见6-3-8指令行分支。与指令行相连的条件间的关系决定了条件对应什么指令。任何一组能共同产生一个逻辑结果的条件组合称作逻辑块。尽管可以在没有经实际分析的单独逻辑块情况下写出梯形图,但理解逻辑块对于更有效地编程是必要的。而且在程序要以助记代码形式输入时,逻辑块是至关重要的。指令块由梯形图内部相连的所有指令组成了。因此,一个指令块是由你在没有任何相交垂直线情况下在梯形图中画出一条水平线的地方和你能画出同类型水平线的下一个位置之间的所有指令组成。6-3-2助记代码程序内存结构梯形图不能直接通过手持编程器输入到PC中;此时需要SSS。为了用手持编程器输入程序,则需要将梯形图转换为助记符形式。助记符可以提供同梯形图完全一样信息,但该形式可以直接被送入PC。实际上可以直接用助记符进行编程,但它并不受初学者的欢迎,也不适合复杂程序。同样,不管使用何种编程设备,程序总是以助记符形式存储在内存里,所以理解助记符是非常重要的。把手持编程器作为编程设备以及完全理解在程序中的助记符有着重要的意义,因此我们将助记符和梯形图放在一起介绍。记住,如果你通过SSS输入程序则不需要使用助记符(但如果你愿意,用SSS时也可使用助记符)。程序被输入到程序内存中的地址。在程序内存中的地址与其它内存区域的地址略有不同,因为每个地址不必存有相同数量的数据。相反,每个地址存有一个指令和该指令需要的所有定义及操作数(后面将详细介绍)。基本梯形图第6-3节因为有些指令不需要操作数,而有些则最多需要三个操作数,所以程序内存地址可以是1~4个字长。程序内存地址从00000开始直到程序内存容量用完为止。每个地址第一个字定义了指令。而任何用于指令的定义也包含在第一个字中。如果一条指令仅要求单个位操作数(无定义),那么这个位操作数和该指令在同一指令行上编程。被一条指令要求的字中的其余部分包含着操作数,该操作数规定了什么样的数据将被使用。当转换为助记符形式时,除了梯形图外所有指令以同样的形式写出,一个字对应一行,如同它们在梯形图符号中出现一样。下面给出一个助记符的例子。它中间使用的指令在本手册后面有说明。地址指令操作数00000LDHR000100001AND0000100002OR0000200003LDNOT0010000004OR0010100005ANDLD00006MOV(21)00007CMP(20)000DM0000DM0000HR0000008AND2550500009OUT2000000010MOV(21)DM0000DM050000011LD0050200012AND0000500013OUT20001助记符表中地址和指令列仅填入指令字。对所有其它行,左侧两列为空白。如果指令不需定义或操作数,第一行操作数列为空白。略过空白数据列区域(对所有不需要数据的指令字),可以迅速扫描数据列以检查是否有地址被遗漏。当编程时,除非某种原因,指令要求一个不同位置。地址一般会自动显示而无需输入。当转换为助记符时,最好从程序内存地址00000开始,除非有某种特殊原因要求从其它地方开始。6-3-3梯形指令梯形指令是在梯形图上对应于条件的指令。梯形指令既可独立与逻辑块指令(下面介绍),又可与之组合。它形成了执行所有其它指令的基本执行条件。333基本梯形图第6-3节LOAD和LOADNOT指令启动梯形图中任何逻辑块的第一条指令便是LOAD和LOADNOT指令。每一条这种指令都需要一条助记符。下面例子中的“指令”是一个代表,它可以是本手册后面要介绍的右侧指令中的任何一条。00000一个载入指令00000一个载入非指令地址指令操作数00000LD0000000001指令00002LDNOT0000000003指令当指令行上的条件是唯一条件且为“ON”时,右侧的指令执行条件为“ON”。对于LOAD指令(即一个常开条件),当IR00000为“ON”时,执行条件为“ON”;对于LOADNOT指令(即一个常闭条件),当00000为“ON”时,执行条件为“OFF”。AND和ANDNOT指令当同一指令行上存在串联两个或更多条件时,那么第一个条件对应于一条LOAD或LOADNOT指令;余下条件对应于AND或ANDNOT指令。下面例子有3个条件,按顺序(从左至右)分别对应一条LOAD指令,一条ANDNOT指令和一条AND指令。而每条指令都需要一个助记符行。0000000100LR0000Instruction地址指令操作数00000LD0000000001ANDNOT0010000002ANDLR000000003指令仅当所有3个条件都为“ON”时指令才有一个“ON”执行条件,即当IR00000为“ON”,IR00100为“OFF”和LR0000为“ON”时。连续的AND指令可以分开单独考虑,每个都带有执行条件的逻辑与(即,达到那点的所有条件的总和)和与指令的操作数位的状态。如果这些条件都为“ON”,则将为下条指令而产生一个“ON”执行条件。如果两者中有任一为“OFF”,则结果将为“OFF”。当AND串联时,第一条AND指令的执行条件是在指令行上的第一个条件。当串联时,每一条ANDNOT指令将对其其执行条件和它的操作数位的状态非进行逻辑“与”。基本梯形图第6-3节OR和ORNOT指令当两个或更多条件放置在相互独立的指令行上,且这些条件并联相接,那么第一个条件对应于一条LOAD或LOADNOT指令;其它条件对应于AND或ANDNOT指令。下例表示了3个条件,分别对应(按顺序至上而下)LOADNOT、ORNOT及OR指令。而且,其中每一条指令都需要一行助记符。00000指令00100LR0000地址指令操作数00000LDNOT0000000001ORNOT0010000002ORLR000000003指令当3个条件中任何一个为“ON”,即当IR00000为“OFF”,或IR00100为“OFF”,或LR0000为“ON”时,指令会有一个“ON”执行条件。或和或非指令的作用可单独考虑,每个

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功