




已阅读5页,还剩69页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AX-M全数字交流伺服驱动器摘要:本手册为驱动器的随机附件,务必请您使用后妥善保管,.该部分程序直接参与了伺服驱动器的运动控制过程,为AX-.下载应用工程软件源代码到伺服驱动器调试应用工程软件1.关键词:随机,过程,下载类别:专题技术来源:牛档搜索(Niudown.COM)本文系牛档搜索(Niudown.COM)根据用户的指令自动搜索的结果,文中内涉及到的资料均来自互联网,用于学习交流经验,作品其著作权归原作者所有。不代表牛档搜索(Niudown.COM)赞成本文的内容或立场,牛档搜索(Niudown.COM)不对其付相应的法律责任!74AX-V & AX-M全数字交流伺服驱动器GPLC编程用户手册宁波菲仕电机技术有限公司版本号:GPLC-1-0目 录序言第一章 概述1.1 GPLC语言1.2 应用工程软件1.3 应用工程软件开发工具GPLC 1.3.1 概述1.3.2 安装GPLC开发工具软件第二章 GPLC语言说明2.1 数据类型及变量2.1.1 数据类型2.1.2 常量与变量2.1.3 常量与变量定义2.1.4 数组2.2 基本指令2.2.1 概述2.2.2 存取指令2.2.3 逻辑运算指令2.2.4 算术运算指令2.2.5 比较运算指令2.2.6 置位复位指令2.2.7 跳转指令2.3 函数2.3.1 概述2.3.2 函数构成2.3.3 函数调用2.3.4 标准函数2.4 函数块2.4.1 概述2.4.2 函数块构成2.4.3 函数块调用2.5 程序2.5.1 程序定义2.5.2 程序的使用第三章 编程基础3.1 驱动器的软件构成3.1.1 概述3.1.2 固件3.1.3 应用工程软件构成3.2 系统变量及地址分配3.2.1 概述3.2.2 驱动器系统变量文件3.2.3 驱动器的系统分配3.2.4 系统变量定义3.3 GPLC应用工程软件3.3.1 概述3.3.2 GPLC源文件3.3.3 GPLC内存映象图文件3.3.4 用户参数3.3.5 应用工程软件连接设置表第四章 GPLC软件操作说明4.1 概述4.2 启动关闭GPLC软件4.2.1 启动GPLC软件4.2.2 操作界面说明4.2.3 关闭GPLC软件4.3 菜单说明4.3.1 File菜单项4.3.2 Edit菜单项4.3.3 View菜单项4.3.4 Parameters菜单项4.3.5 Project菜单项4.3.6 Communication菜单项第五章 建立应用工程软件5.1 建立新的应用工程软件5.1.1 概述5.1.2 新应用工程软件建立步骤5.2 建立GPLC源文件5.2.1 建立初始化任务源文件5.2.2 建立快速任务源文件5.2.3 建立慢速任务源文件5.3 建立GPLC应用工程软件5.3.1 建立应用工程软件专用文件夹5.3.2 建立应用工程软件5.4 建立用户参数5.4.1 用户参数各项说明5.4.2 建立用户参数5.5 编译GPLC应用工程软件5.5.1 编译应用工程软件5.5.2 修改应用工程软件语法错误5.6 下载应用工程软件源代码文件5.6.1 建立通信5.6.2 下载源代码文件5.7 调试应用工程软件序 言感谢您购买宁波菲仕电机技术有限公司的AX-V、AX-M全数字交流伺服驱动器(以下简称驱动器)产品。AX-V、AX-M系列伺服驱动器是针对交流永磁伺服马达控制用的高品质、多功能、低噪音的伺服驱动器,可对伺服马达实现速度、力矩和位置高精度、高响应的控制。AX-V、AX-M系列伺服驱动器为您提供了丰富而又强大的功能: 可以通过串行通信(RS-232或RS-485)、Profibus总线、CanOpen总线与上位控制器通信,驱动器的所有参数和指令均可以通过上位控制器以通信的方式传送给驱动器。 通过Intradrive通信可以使驱动器与驱动器之间实现高速的通信,在需要多个驱动器联动的场合更具有优越性。 可以适配多种编码器,具体的有正余弦编码器、光电增量式编码器、旋转变压器、绝对值式编码器等,并都具有相当高的控制精度。 AX-V、AX-M系列驱动器具有可编程功能,允许用户对伺服驱动器进行程序开发,并且有多个数字量输入/输出点、多个模拟量输入/输出口供用户编程使用,具有很大的灵活性。并且,用户可以根据实际工作要求开发适合于自己使用的应用工程软件。 菲仕公司为用户提供了速度、位置等控制标准应用工程软件,可以满足大多数控制场合的使用要求。本用户手册是针对AX-V、AX-M系列伺服驱动器的编程用户手册。在本手册中,详细地说明了驱动器的应用工程软件开发操作说明,以此来帮助用户建立基于自身应用工程的软件设计。在对AX-V、AX-M驱动器进行程序开发之前,请仔细阅读本用户手册,以保证正确的使用。错误的操作和使用可能造成驱动器运行不正常、发生故障,并有可能造成驱动器的损坏、人身伤害等事故。因此使用前应反复阅读本用户手册,并严格按照操作说明使用。由于软件版本的更新,本用户手册中所述的内容可能与软件有所不符,本公司恕不另行通知,请用户查阅新版本的用户手册。本手册为驱动器的随机附件,务必请您使用后妥善保管,以备今后对驱动器进行检修和维护时使用。第一章概 述1.1 GPLC语言在AX-V、AX-M伺服驱动器中所运行的应用工程软件即是由GPLC语言所编写而成的程序,该语言是符合国际电工委员会IEC1131-3标准的专门用于可编程控制器所使用的控制语言。其所有的变量定义、指令描述、程序结构等均符合IEC1131-3标准,因此,在本用户手册中,对GPLC语言不做详细的描述,仅做简单的说明,若要知道关于GPLC语言更为详细的说明,请直接参阅IEC1131-3标准的说明。1.2 应用工程软件AX-V、AX-M伺服驱动器的软件分为两层,核心层的程序称之为固件(Firmware),该部分程序直接参与了伺服驱动器的运动控制过程,为AX-V、AX-M驱动器运行提供了一个基本的而又十分有效的软件平台。固件程序仅对超级用户开放,普通用户不能对这些程序进行修改或重新开发。固件的上层软件称之为应用工程软件(Application Software),该部分程序可以对驱动器的所有输入、输出点的功能进行任意的定义,可以使用驱动器的通信功能,用户也可以根据自身的应用场合要求来编写逻辑控制程序,使AX-V、AX-M驱动器变成为集伺服驱动器和PLC于一体的控制器,从而简化或者省略用户的上位控制器。固件和应用工程软件在驱动器中通过一系列的系统变量来联系着,用户可以在应用工程软件中对这些系统变量进行设置从而来控制电机的运转状态,应用工程软件也可以通过这些系统变量来获知驱动器的工作状态和电机的实际运转状态。为了方便用户在各种场合的使用,我公司同时也提供了各种标准的应用工程软件,如SPEEDV、POSITIONER、ELECTRONIC GEAR、ELECTRONIC CAM等等。用户可以直接使用本公司提供的标准应用工程软件,也可以在这些软件的基础之上做二次开发,从而来满足用户的实际使用要求。1.3 应用工程软件开发工具GPLC1.3.1 概述应用工程软件从原程序文件的编辑到最终形成的可被驱动器直接执行的二进制源代码文件的过程,都需要通过应用工程软件开发工具GPLC来实现。GPLC是专门用于AX-V、AX-M伺服驱动器的应用工程软件开发工具,其主要功能有: 编辑应用工程软件的文本源文件 编辑应用工程软件的用户参数文件 建立应用工程软件文件组 建立应用工程软件源代码文件 下载应用工程软件源代码到伺服驱动器 调试应用工程软件1.3.2 安装GPLC开发工具软件GPLC开发工具和COCKPIT调试软件均同属于菲仕工具软件组内容,其安装过程同COCKPIT软件的安装过程相同,具体说明如下:1. 将随机附带的CD光盘插入计算机,此时会自动的启动Autorun文件,将打开一网页文件,请选择“SETUP”按钮,即进入软件安装过程。如果无法打开该网页文件,则直接进入光盘,运行“SETUP.EXE”程序即能启动安装过程。运行SETUP文件将启动如图1-1所示画面。图1-12. 选择确定“是Y”按钮,将弹出下面的图1-2的信息:图1-2在该信息框提示用户在安装Phase工具软件时,请事先关闭其他的应用程序,用户选择“Next”按钮将继续安装 ,选择“Cancel”按钮将退出安装过程。3. 在接下来的操作中,请用户选择需要安装的目录,默认的目录为C:Program FilesPhase Motion Control,如图1-3所示:图1-34. 点击“Next”将继续安装过程,点击“Back”将回到上一步安装,点击“Cancel”将退出安装过程。选择“Next”将进入下一画面,如图1-4所示:图1-45. 在这框图中,用户可以输入Phase工具软件的程序组名称,即在“开始/程序”中的程序组文件名称。点击“Next”将继续安装过程,点击“Back” 将回到上一步安装,点击“Cancel”将退出安装过程。选择“Next”将进入下一画面,如图1-5所示:图1-56. 在这一画面中,用户可以选择Phase工具软件的语言,默认的为英语。点击“Next”将继续安装过程,点击“Back”将回到上一步安装,点击“Cancel”将退出安装过程。选择“Next”将进入下一画面,如图1-6所示:图1-67. 在这一画面中,安装软件显示了用户在这之前所选择的安装选项内容并请用户确认,如果确认无误则选择“Install”按钮进行安装,如果还有需要修改的地方,选择“Back”按钮将返回到上一安装过程,选择“Cancel”按钮将退出安装过程。8. 选择“Install”之后,则会将Phase工具软件安装到PC机中,并会显示当前的安装进度,如图1-7所示:图1-79. 完成安装之后,会弹出如下信息框,通知用户菲仕工具软件已经安装到PC机上了,点击“Finish”按钮将结束安装过程,如图1-8所示。图1-8第二章GPLC语言说明2.1 数据类型及变量2.1.1 数据类型在GPLC语言中,有下列数据类型可供使用,参见表2-1。表2-1关键字数据类型数据长度(位)数据范围BOOL布尔数10、1SINT带符号短整型8-128+127USINT无符号短整型80255INT带符号整型16-32768+32767UINT无符号整型16065535DINT带符号双整型32-231+231-1UDINT无符号双整型320232BYTE8位字符串8字符类型WORD16位字符串16DWORD32位字符串32REAL*单精度浮点型32 备注*:单精度浮点型数据不能在快速任务中使用。2.1.2 常量与变量1. 标识符命名常量与变量的标识符命名是以26个英文字母“AZ”或“az”、数字“19”以及下划线“_”构成,但不能使用GPLC语言中的关键字来作为常量或者变量的名称。2. 常量常量是指其在程序运行的过程中其内容是不会发生变化的,常量的内容在定义的时候就必须被指定。在GPLC语言中,常量只能是定义为全局的,具体的定义请参见2.1.3小节内容。3. 变量变量是指其在程序运行的过程中其内容可以发生变化的,根据其在程序中所起作用的范围,可以分为全局变量和局部变量。具体的定义请参见2.1.3小节内容。2.1.3 常量与变量定义1. 常量的定义常量定义的格式如下(说明:此处方括号的含义是表示方括号内的内容是可以选择的,在实际程序中不加方括号,以下的情况也相同):VAR_GLOBAL CONSTANT RETAIN常量定义描述;END_VAR 全局常量定义以VAR_GLOBAL开始,到END_VAR为止,其中间的内容均为全局常量定义的描述,可以同时定义多个全局常量。全局常量在其所定义的整个应用工程软件组的程序文件中均起作用。GPLC语言同其他大多数的程序设计语言相同,常量或者变量只有先定义后才能被使用。 加“RETAIN”关键字,表示所定义的常量在驱动器复位或者断电之后仍能保持其原有的数据内容;加“CONSTANT”关键字即表示为常量,其数据内容在程序运行的过程中是不发生变化的,进行常量定义时,该关键字“CONSTANT”必须加上。 常量定义描述,其格式如下:常量名称 地址信息:数据类型 :=数值内容; 常量名称:由26个英文字母“AZ”或“az”、数字“19”以及下划线“_”构成的字符串,用户可以根据该常量的功能缩写字母及其组合来命名。 地址信息:指定了该常量的数据存储地址,驱动器的地址分配信息请参见第三章的说明。地址信息在常量定义时可以不需要指定,但在选择“RETAIN”关键字时就必须指定常量的存储地址,否则无法保证该常量在驱动器复位或者掉电之后仍能保持原有的数值。 数据类型:指定了该常量是属于什么数据类型的,用户请根据实际的使用要求来指定常量的数据类型,具体的数据类型请参见上述的表2-1内容。在进行常量定义时,必须要指定该常量的数据类型。 数值内容:指定了该常量具体的数值内容,用户请根据实际的使用要求来指定常量的数据内容。常量的数据内容为数值时,有下列数值类型可以使用,请参见表2-2的说明。在进行常量定义时,必须要指定该常量的数值内容。表2-2数值类型说 明举例对应的十进制数布尔型TRUE、FALSETRUE不等于零的任意数十进制型直接使用十进制数值256256十六进制型在十六进制数值前加16#16#1A806784八进制型在八进制数值前加8#8#176126二进制型在二进制数值前加2#2#11001010202 一个常量定义描述结束后要以“分号;”结尾。例如,我们定义无符号全局常量ABC_1的内容等于1,则其定义如下: VAR_GLOBAL CONSTANT ABC_1 : USINT :=1; END_VAR2. 变量的定义变量定义的格式如下:VAR变量定义描述;END_VARVAR_GLOBAL变量定义描述;END_VAR 或者 全局变量定义以VAR_GLOBAL开始,到END_VAR为止,其中间的内容均为全局变量定义的描述,可以同时定义多个全局变量。全局变量在其所定义的整个应用工程软件组的程序文件中均起作用。以VAR开始到END_VAR为止是对局部变量的定义,局部变量只有在其所定义的程序中有效。 变量定义描述,其格式如下:变量名称 地址信息:数据类型 :=初始数值; 变量名称:由26个英文字母“AZ”或“az”、数字“19”以及下划线“_”构成的字符串,用户可以根据该变量的功能缩写字母及其组合来命名。 地址信息:指定了该变量的数据存储地址,驱动器的地址分配信息请参见第三章的说明。地址信息在变量定义时可以不需要指定。 数据类型:指定了该变量是属于什么数据类型的,用户请根据实际的使用要求来指定变量的数据类型,具体的数据类型请参见上述的表2-1内容。在进行变量定义时,必须要指定该变量的数据类型。 初始数值:指定了该变量的初始数值内容,即驱动器在每次复位或者上电后给该变量所附于的初始数值内容,用户请根据实际的使用要求来指定变量的数值内容,也可以不设置初始数值。 一个变量定义描述结束后要以“分号;”结尾。例如,我们定义无符号局部变量XYZ_1的初始值等于1,则其定义如下: VAR XYZ_1 : USINT :=1; END_VAR2.1.4 数组1. 数组定义GPLC语言为用户提供了变量的数组定义功能,具体定义格式如下: 数组名称 AT 地址信息:ARRAY 0.n OF 数据类型 数组名称:由26个英文字母“AZ”或“az”、数字“19”以及下划线“_”构成的字符串,用户可以根据该数组的功能缩写字母及其组合来命名。 地址信息:指定了该数组首元素的数据存储地址,驱动器将根据所指定的数组元素数目和数据类型来分配其余数组元素的存储地址,这些地址分别是在首元素地址的基础之上依次增加的,在进行数组定义时,必须指定首元素存储地址。具体的地址分配信息请参见第三章的说明。 ARRAY:是数组定义的关键字,在进行数组定义时必须要加上此关键字。 0.n:指定了该数组的元素数目,n是大于等于1的数字,在进行数组定义时必须要指定数组元素的数目。 数据类型:指定了数组元素的数据类型。2. 数组调用调用数组某一元素时,只要在数据名称后面加用方括号包含的指定元素索引号即可,该索引号可以是个具体的数值,也可以是一个数值型的变量,但不管是具体的数值或者是变量,其数值大小必须在该数组所指定的元素数目之间。3. 举例说明现要求定义一个有八个元素的数组ABC0.7,数据类型为整型带符号数,其定义如下: ABC AT %MW10.100:ARRAY0.7 OF INT; 要调用其第三个元素,则在程序中使用ABC2即可;也可以事先定义一个变量IDX,且令IDX=2,则在程序中使用ABCIDX即能调用该数组ABC的第三个元素。2.2 基本指令2.2.1 概述1. 基本指令一览表GPLC语言为用户提供了基本的指令系统,包括存取指令、逻辑运算指令、算术运算指令、比较指令、置位复位指令和程序跳转指令等,请参见表2-3。详细的指令说明请参见其他小节的内容。表2-3指令类型指令名称修饰符操作数类型功能说明存取指令LDN所有类型将操作数取到累加器中STN所有类型取累加器中数据到操作数中逻辑运算指令ANDN、( )所有类型操作数和累加器中数据进行位与位的与运算&N、( )所有类型操作数和累加器中数据进行位与位的与运算ORN、( )所有类型操作数和累加器中数据进行位与位的或运算XORN、( )所有类型操作数和累加器中数据进行位与位的异或运算算术运算指令ADD( )除布尔类型外的其他类型操作数和累加器中数据进行加运算SUB( )除布尔类型外的其他类型操作数和累加器中数据进行减运算MUL( )除布尔类型外的其他类型操作数和累加器中数据进行乘运算DIV( )除布尔类型外的其他类型操作数和累加器中数据进行除运算比较指令GT( )除布尔类型外的其他类型操作数和累加器中数据进行比较,大于GE( )除布尔类型外的其他类型操作数和累加器中数据进行比较,大于等于EQ( )除布尔类型外的其他类型操作数和累加器中数据进行比较,等于NE( )除布尔类型外的其他类型操作数和累加器中数据进行比较,不等于LE( )除布尔类型外的其他类型操作数和累加器中数据进行比较,小于等于LT( )除布尔类型外的其他类型操作数和累加器中数据进行比较,小于置位复位指令S布尔类型若累加器中数值为TRUE,则令操作数为TRUER布尔类型若累加器中数值为TRUE,则令操作数为FALSE跳转指令JMPC、N标签程序执行跳转到标签处2. 指令语句格式在GPLC语言中,指令按照下列格式使用: 指令名称修饰符 操作数 修饰符:是指加在指令名称后面的能够起到限定指令的执行条件或者修改指令执行过程的修饰符号。修饰符包括“N”、“C”和“( )”三种,其含义分别是:l N:是指操作数在被使用之前先进行按位翻转操作,即原来为0的变为1,原来为1的变为0,翻转过后的结果再被使用。注意,N只是在操作数被调用之前进行翻转操作,操作后的结果并不影响操作数本身,即操作数的内容不会因为N而发生变化。例如:当前变量ABC的数值为1,执行“LDN ABC”后,即先取变量ABC的内容1,翻转后变为0再存入到累加器中,而变量ABC的内容仍然为1。l C:是指只有在累加器中的数值为TRUE时才执行该指令,若累加器中的数值为FALSE,则执行该指令的下一指令语句。l ( ):括号的作用是用来改变指令执行的优先级顺序的,在括号内的指令优先执行,执行后的数值作为指令中的操作数,例如下列指令:“ADD(A ADD B)”,先执行A ADD B指令,其结果再和累加器中的数据进行相加运算,多个括号可以嵌套使用。 操作数:是指指令执行的对象,其可以是常量、变量、数值、标签或者是由括号( )所包含的指令语句。2.2.2 存取指令1. 取指令LD 指令语句格式:LDN 操作数 操作数说明:可以是任意数据类型的变量、常量或者是数值 功能说明:该指令是将操作数中的数据(若带N修饰符则先将操作数中数据翻转)存入到累加器中,操作数中的数据保持不变。 举例:变量ABC为INT类型,其当前值为1,执行完语句“LDN ABC”后,累加器中的数据内容成为0,而变量ABC的数据仍为1。2. 存指令ST 指令语句格式:STN 操作数 操作数说明:可以是任意数据类型的变量 功能说明:该指令是将累加器中的数据(若带N修饰符则先将累加器中数据翻转)存入到操作数中,累加器中的数据保持不变。 举例:累加器中的数据为1,变量ABC为INT类型,执行完语句“STN ABC”后,ABC的数据内容为0,累加器中的数据仍为1。2.2.3 逻辑运算指令1. 逻辑与指令AND 指令语句格式:ANDN 操作数 操作数说明:可以是任意数据类型的变量、常量、数值,或者是由括号()所包含的指令语句。 功能说明:该指令是将累加器中的数据与操作数中的数据(若带N修饰符则先将操作数的数据翻转)进行逻辑与运算,再将运算后的结果存入到累加器中。 举例:变量A为BOOL类型,其值=TRUE,变量B为BOOL类型,其值=FALSE,执行完语句“ANDN (A AND B)”后,累加器中的数据为TRUE,即为1。2. 逻辑与指令& 指令语句格式:&N 操作数 操作数说明:可以是任意数据类型的变量、常量、数值,或者是由括号()所包含的指令语句。 功能说明:该指令是将累加器中的数据与操作数中的数据(若带N修饰符则先将操作数的数据翻转)进行逻辑与运算,再将运算后的结果存入到累加器中。 举例:变量A为BOOL类型,其值=TRUE,变量B为BOOL类型,其值=FALSE,执行完语句“&N (A ANDN B)”后,累加器中的数据为FALSE,即为0。3. 逻辑或指令OR 指令语句格式:ORN 操作数 操作数说明:可以是任意数据类型的变量、常量、数值,或者是由括号()所包含的指令语句。 功能说明:该指令是将累加器中的数据与操作数中的数据(若带N修饰符则先将操作数的数据翻转)进行逻辑或运算,再将运算后的结果存入到累加器中。 举例:变量A为BOOL类型,其值=TRUE,变量B为BOOL类型,其值=FALSE,执行完语句“ORN (A AND B)”后,累加器中的数据为TRUE,即为1。4. 逻辑异或指令XOR 指令语句格式:XORN 操作数 操作数说明:可以是任意数据类型的变量、常量、数值,或者是由括号()所包含的指令语句。 功能说明:该指令是将累加器中的数据与操作数中的数据(若带N修饰符则先将操作数的数据翻转)进行逻辑异或运算,再将运算后的结果存入到累加器中。 举例:变量A为BOOL类型,其值=TRUE,变量B为BOOL类型,其值=FALSE,执行完语句“XORN (A AND B)”后,累加器中的数据为TRUE,即为1。5. 各逻辑运算的运算规则如表2-4所示。表2-4操作数数值内容各种逻辑运算结果操作数A操作数BA AND BA & BA OR BA XOR BFALSEFALSEFALSEFALSEFALSEFALSEFALSETRUEFALSEFALSETRUETRUETRUEFALSEFALSEFALSETRUETRUETRUETRUETRUETRUETRUEFALSE2.2.4 算术运算指令1. 加法运算指令ADD 指令语句格式:ADD 操作数 操作数说明:可以是除布尔类型之外的其他数据类型的变量、常量、数值,或者是由括号所包含的指令语句。 功能说明:该指令是将累加器中的数据加上操作数中的数据,再将运算后的结果存入到累加器中,操作数中的数据内容不发生变化,其等效公式为:累加器数值=累加器数值+操作数。 举例:累加器中当前的数值为200,变量ABC为300,则执行完指令“ADD ABC”后,累加器中的数值为500,变量ABC仍为300。2. 减法运算指令SUB 指令语句格式:SUB 操作数 操作数说明:可以是除布尔类型之外的其他数据类型的变量、常量、数值,或者是由括号所包含的指令语句。 功能说明:该指令是将累加器中的数据减去操作数中的数据,再将运算后的结果存入到累加器中,操作数中的数据内容不发生变化,其等效公式为:累加器数值=累加器数值操作数。 举例:累加器中当前的数值为600,变量ABC为300,则执行完指令“SUB ABC”后,累加器中的数值为300,变量ABC仍为300。3. 乘法运算指令MUL 指令语句格式:MUL 操作数 操作数说明:可以是除布尔类型之外的其他数据类型的变量、常量、数值,或者是由括号所包含的指令语句。 功能说明:该指令是将累加器中的数据乘以操作数中的数据,再将运算后的结果存入到累加器中,操作数中的数据内容不发生变化,其等效公式为:累加器数值=累加器数值*操作数。 举例:累加器中当前的数值为300,变量ABC为300,则执行完指令“MUL ABC”后,累加器中的数值为90000,变量ABC仍为300。4. 除法运算指令DIV 指令语句格式:DIV 操作数 操作数说明:可以是除布尔类型之外的其他数据类型的变量、常量、数值,或者是由括号所包含的指令语句。 功能说明:该指令是将累加器中的数据除以操作数中的数据,再将运算后的结果存入到累加器中,操作数中的数据内容不发生变化,其等效公式为:累加器数值=累加器数值/操作数。 举例:累加器中当前的数值为600,变量ABC为300,则执行完指令“DIV ABC”后,累加器中的数值为2,变量ABC仍为300。2.2.5 比较指令1. 大于比较指令GT 指令语句格式:GT 操作数 操作数说明:可以是除布尔类型之外的其他数据类型的变量、常量、数值,或者是由括号所包含的指令语句。 功能说明:该指令的功能是:累加器中的数据若大于操作数数据,则令累加器中数据为TRUE,否则令累加器中数据为FALSE。 举例:累加器中当前的数值为100,变量ABC为200,则执行完指令“GT ABC”后,累加器中的数值为FALSE。2. 大于等于比较指令GE 指令语句格式:GE 操作数 操作数说明:可以是除布尔类型之外的其他数据类型的变量、常量、数值,或者是由括号所包含的指令语句。 功能说明:该指令的功能是:累加器中的数据若大于或者等于操作数数据,则令累加器中数据为TRUE,否则令累加器中数据为FALSE。 举例:累加器中当前的数值为300,变量ABC为200,则执行完指令“GE ABC”后,累加器中的数值为TRUE。3. 等于比较指令EQ 指令语句格式:EQ 操作数 操作数说明:可以是除布尔类型之外的其他数据类型的变量、常量、数值,或者是由括号所包含的指令语句。 功能说明:该指令的功能是:累加器中的数据若等于操作数数据,则令累加器中数据为TRUE,否则令累加器中数据为FALSE。 举例:累加器中当前的数值为200,变量ABC为200,则执行完指令“EQ ABC”后,累加器中的数值为TRUE。4. 不等于比较指令NE 指令语句格式:NE 操作数 操作数说明:可以是除布尔类型之外的其他数据类型的变量、常量、数值,或者是由括号所包含的指令语句。 功能说明:该指令的功能是:累加器中的数据若不等于操作数数据,则令累加器中数据为TRUE,否则令累加器中数据为FALSE。 举例:累加器中当前的数值为200,变量ABC为200,则执行完指令“NE ABC”后,累加器中的数值为FALSE。5. 小于等于比较指令LE 指令语句格式:LE 操作数 操作数说明:可以是除布尔类型之外的其他数据类型的变量、常量、数值,或者是由括号所包含的指令语句。 功能说明:该指令的功能是:累加器中的数据若小于或者等于操作数数据,则令累加器中数据为TRUE,否则令累加器中数据为FALSE。 举例:累加器中当前的数值为100,变量ABC为200,则执行完指令“LE ABC”后,累加器中的数值为TRUE。6. 小于比较指令LT 指令语句格式:LT 操作数 操作数说明:可以是除布尔类型之外的其他数据类型的变量、常量、数值,或者是由括号所包含的指令语句。 功能说明:该指令的功能是:累加器中的数据若小于操作数数据,则令累加器中数据为TRUE,否则令累加器中数据为FALSE。 举例:累加器中当前的数值为100,变量ABC为200,则执行完指令“LT ABC”后,累加器中的数值为TRUE。2.2.6 置位复位指令1. 置位指令S 指令语句格式:S 操作数 操作数说明:只能是布尔类型的变量 功能说明:该指令表示当累加器中的数据为TRUE时,即将操作数的内容置位为TRUE,若累加器中的数据为FALSE,则不执行该指令操作,操作数保持其原有的数值。 举例:累加器中当前的数值为TRUE,变量ABC为布尔类型,则执行完指令“S ABC”后,变量ABC的数据内容变量TRUE。2. 复位指令R 指令语句格式:R 操作数 操作数说明:只能是布尔类型的变量 功能说明:该指令表示当累加器中的数据为TRUE时,即将操作数的内容置位为FALSE,若累加器中的数据为FALSE,则不执行该指令操作,操作数保持其原有的数值。 举例:累加器中当前的数值为TRUE,变量ABC为布尔类型,则执行完指令“R ABC”后,变量ABC的数据内容变量FALSE。2.2.7 跳转指令 指令语句格式:JMPCN 操作数 操作数说明:只能是标签(即Lable),只要是由26个英文字母或者数字0-9组合成的字符串并以冒号结尾均可以作为标签来使用,当程序执行到某一条件时需要跳转到另一指令语句时,可以在该指令语句前加一标签。 功能说明:该指令表示在满足指定条件时即程序执行顺序即以操作数所指定的标签处开始执行,指定条件根据所增加的修饰符不同而不同,分述如下:l JMP:无条件跳转l JMPC:当累加器中的数据为TRUE时跳转l JMPCN:先将累加器中的数据进行翻转,若翻转后的数据为TRUE,则执行跳转指令,即当累加器中的数据为FALSE时执行跳转指令。2.3 函数2.3.1 概述GPLC语言也像其它程序设计语言一样,为用户提供了函数的功能。所谓函数,就是由一些指令语句和输入输出参数构成具有一定功能的指令集,并能使用其函数名称被其它函数或者程序所调用。2.3.2 函数构成1. 函数的构成函数的构成如下所示: FUNCTION 函数名:返回数据类型 VAR_INPUT 输入变量定义; END_VAR VAR 函数内部变量定义; END_VAR 指令语句;END_FUNCTION2. 函数构成说明 FUNCTION和END_FUNCTION:是函数定义时所使用的两个关键字,在建立一个函数时必须使用这两个关键字,函数的输入变量定义和函数内部变量定义以及指令语句都要求在FUNCTION和END_FUNCTION之间编写。 函数名:函数名是由英文字母A-Z或a-z及数字0-9构成的字符串,是用来表识一个函数的名称符号。在程序或者其他函数中使用函数名来调用函数,并通过函数名来返回参数,因此用户需要在函数中将需要返回的数值内容附给函数名,详见函数调用说明。 返回数据类型:该数据类型指定了该函数被调用之后的返回值的数据类型。 输入变量定义:输入变量是指在函数调用之时,可以通过输入变量将外部的变量或者常量的内容传送到被调用的函数中并被该函数的指令语句所使用,即输入变量为调用者(其它函数或程序)和被调用者(被调用函数)之间提供了参数衔接,输入变量可以定义多个。 函数内部变量定义:函数内部变量仅仅能够在变量所定义的函数中有效,而不能被别的函数所访问,函数内部变量可以定义多个。函数中可以使用的变量只有输入变量和函数内部变量,函数不能访问全局变量和系统变量。函数在被调用后,其内部变量不保存变量数值,因此,在两次连续的相同函数被调用时,函数内部变量上一次被调用时所产生的数值不会在下一次被调用时所使用。 指令语句:指令语句即是实现函数功能的主体部分,可以使用标准指令和输入变量、内部变量,也可以调用其他函数,但不能使用全局变量和系统变量。在函数的执行过程中,可以使用“RET”指令来终止函数的执行并返回到调用函数或者程序。2.3.3 函数调用1. 函数调用方法在程序或者函数中调用一个函数时,使用该函数的名称即可。当程序执行到该语句时,即先终止当前程序的运行,而进入函数的运行,等函数运行结束后再返回到函数调用语句的下一指令语句处开始执行。图2-1图形说明了主程序Fast调用函数A,函数A调用函数B的调用过程。图2-12. 函数输入变量在调用函数时,可以通过函数输入变量将所需要的数值传送到函数中,第一个传递给函数的输入变量是累加器中的数值,其余的输入变量应当跟在函数名后面依次分别传送到所定义的输出参数中,若有多个变量,则变量与变量之间用逗号隔开。例如,有一函数FUC共有三个输入变量,分别为A、B、C,现要求将三个数值10、20、30在函数FUC被调用时分别传送到输入参数A、B、C中,则应该按照如下处理:先将数值10送入到累加器中,即用“LD 10”指令语句,然后调用函数语句“FUC 20,30”,这样,即将数值10、20、30依次的附给了输入变量A、B、C。3. 函数返回值被调用函数调用执行完成之后,会向调用函数或者调用程序反馈回一个返回值。该返回值在函数内部处理时要求存放在与该函数名相同的变量中,且数据类型必须和指定的数据类型相同,在函数调用完成后,返回值就自动地被加载到累加器中。4. 具体例子:我们现举一个实际的例子来说明函数的定义及其调用,该函数的功能是求平方。 函数定义如下: FUNCTION Pow2: DINT VAR_INPUT Val: DINT; END_VAR LD Val LE 16#8000 JMPC 1ExeMul LD -1 ST Pow2 RET 1ExeMul: LD Val MUL Val ST Pow2 END_FUNCTION在进行Pow2函数定义时,首先定义了输入变量Val,然后判断输入的数值是否小于等于16进制的数值8000,若小于则将输入数值的平方值送入到函数名Pow2中;若大于,则令Pow2为-1,表示输入的数值有错。 函数调用:在程序FAST中,现要求求数值10的平方,则程序内容如下: . . LD 10 Pow2 EQ -1 JMPC 1Error . .在调用函数Pow2之前,先将数值10送入到累加器中,然后调用函数Pow2,并判断返回值(函数Pow2执行完成后返回值在累加器中)是否等于-1,若等于-1则跳转到出错处理程序处。2.3.4 标准函数1. 标准函数一览表GPLC语言为用户出了提供一套标准的指令外,还提供了一套标准的函数,请参见表2-5所示。表2-5函数名称操作数数目操作数类型返回值类型函数功能说明ABS无无同累加器中类型取绝对值MOD1除布尔类型外同累加器中类型取模运算NOT无无同累加器中类型取非运算SHL1除布尔类型外同累加器中类型左移位操作SHR1除布尔类型外同累加器中类型右移位操作ROL1除布尔类型外同累加器中类型循环左移操作ROR1除布尔类型外同累加器中类型循环右移操作SEL2除布尔类型外同操作数类型单选择操作MUXn除布尔类型外同操作数类型多选择操作MAXn除布尔类型外同操作数类型取最大值MINn除布尔类型外同操作数类型取最小值LIMIT2除布尔类型外同操作数类型取极限操作2. 标准函数详细说明1) 取绝对值函数:ABS 调用指令语句格式: ABS 功能说明:函数ABS将累加器中的数据取绝对值后再存入到累加器中,即:对应的为“累加器数据 = | 累加器数据 |”2) 取模运算函数:MOD 调用指令语句格式: MOD 操作数 功能说明:函数MOD将累加器中的数据除以操作数,再将余数存入到累加器中,即:对应的为“累加器数据 = 累加器数据 % 操作数”3) 取非运算函数:NOT 调用指令语句格式: NOT 功能说明:函数NOT是将累加器中的数据取反操作(二进制数据按位取反,即0变为1,1变为0)后再将结果存入到累加器中,即:对应的为“累加器数据 = NOT 累加器数据”4) 左移位操作函数:SHL 调用指令语句格式: SHL 操作数 功能说明:函数SHL将累加器中的数据向左移动操作数所指定的位数,右边被移出的数据以零补充,如图2-2所示为操作数等于2时SHL函数处理的情况说明:图2-25) 右移位操作函数:SHR 调用指令语句格式: SHR 操作数 功能说明:函数SHR将累加器中的数据向右移动操作数所指定的位数,左边被移出的数据以零补充,如图2-3所示为操作数等于2时SHR函数处理的情况说明:图2-36) 循环左移位操作函数:ROL 调用指令语句格式: ROL 操作数 功能说明:函数ROL将累加器中的数据向左移动操作数所指定的位数,左边被移出的位将被填入到右边的数据位中,如图2-4所示为操作数等于2时ROL函数处理的情况说明:图2-47) 循环右移位操作函数:ROR 调用指令语句格式: ROR 操作数 功能说明:函数ROR将累加器中的数据向右移动操作数所指定的位数,右边被移出的位将被补充到左边的数据位中,如图2-5所示为操作数等于2时ROR函数处理的情况说明:图2-58) 单选择操作函数:SEL 调用指令语句格式: SEL 操作数1,操作数2 功能说明:函数SEL将根据累加器中的数据来决定是选取操作数1还是操作数2,被选择的操作数将被存入到累加器中。即:若累加器中的数据为FALSE,则将操作数1存入到累加器中;若累加器中的数据为TRUE,则将操作数2存入到累加器中。9) 多选择操作函数:MUX 调用指令语句格式:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑工程质量验收合同样本
- 2025商洛经开区投资开发集团有限公司招聘(7人)考试参考题库及答案解析
- 2025河南豫能控股公司及所管企业招聘18人考试参考题库及答案解析
- 煤矿安全技术与管理题库及答案解析
- 安全管理页c证题库及答案解析
- 电子病历AI驱动的个性化诊断研究-洞察及研究
- 系统编程能耗管理-洞察及研究
- 金属催化反应研究-洞察及研究
- 多语言页面居中规范研究-洞察及研究
- 全球物流运输合作协议
- 光刻技术简介
- 《电磁学》教案课件
- GB/T 4291-1999冰晶石
- 机修车间岗位廉洁风险点及防范措施表
- 全新版尹定邦设计学概论1课件
- 牙及牙槽外科
- 文物建筑保护修缮专项方案
- 万用表 钳形表 摇表的使用课件
- 63T折弯机使用说明书
- 170位真实有效投资人邮箱
- 工程力学ppt课件(完整版)
评论
0/150
提交评论