版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998编辑器软件说明编辑器软件说明2严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998激活编辑器激活编辑器开始开始ipos-compiler编辑器编辑器3严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998编辑器程序窗口说明编辑器程序窗口说明菜单栏菜单栏工具栏工具栏程序窗口程序窗口状态栏状态栏目录栏目录栏4严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998工具栏和菜单栏工具栏和菜单栏5严选内容ipos-compiler编辑器编辑器ly 2_e 10/199
2、8创建新项目创建新项目点击点击按钮按钮-创建新项目创建新项目对话框用于定义对话框用于定义ipos程序的基本结构。程序的基本结构。初始部分初始部分任务任务2中断响应中断响应6严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998程序编辑器说明程序编辑器说明task2程序部分程序部分初始程序部分初始程序部分激活激活task2程序程序主程序部分(主程序部分( task1)7严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998比较功能比较功能点击点击按钮按钮-编辑器内程序和控制器内程序比较编辑器内程序和控制器内程序比较控制器内程序和编辑器内程序不相同控制器内程
3、序和编辑器内程序不相同控制器内程序和编辑器内程序相同控制器内程序和编辑器内程序相同8严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998编译程序编译程序点击点击按钮按钮-编译程序编译程序提示编译成功或不成功提示编译成功或不成功程序扫描时间程序扫描时间程序占内存的程序占内存的比例比例9严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998编译并下载程序编译并下载程序点击点击按钮按钮-编译并下载程序编译并下载程序提示编译成功或不成功提示编译成功或不成功10严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998插入指令行插入指令行点击点击
4、按钮按钮-插入指令行插入指令行(编辑器提供了标准的输入方式编辑器提供了标准的输入方式)c-结构结构系统功能系统功能11严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998运行和停止程序运行和停止程序点击点击按钮按钮-运行程序运行程序点击点击按钮按钮-停止程序停止程序task2状态显示状态显示task1状态显示状态显示12严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998变量窗口变量窗口选择下拉菜单选择下拉菜单-显示所有的显示所有的ipos(h1-h511)变量)变量display/all variablesipos变量包括系统变量、全局变量和用户变
5、量。变量包括系统变量、全局变量和用户变量。 系统变量为有固定含义变量(系统变量为有固定含义变量(h453-h511)。)。 全局变量为特殊应用模块中指定的变量。全局变量为特殊应用模块中指定的变量。 用户变量为用户程序中可任意调用的变量。用户变量为用户程序中可任意调用的变量。13严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998变量窗口变量窗口选择下拉菜单选择下拉菜单-编辑编辑显示变量显示变量display/variable watch/edit window选择变量选择变量增加显示变量增加显示变量删除显示变量删除显示变量显示变量区显示变量区所有变量区所有变量区14严选内
6、容ipos-compiler编辑器编辑器ly 2_e 10/1998选择显示方式选择显示方式点击鼠标右键选择点击鼠标右键选择显示方式显示方式显示方式:显示方式: 带符号的十进制带符号的十进制 无符号的十进制无符号的十进制 十六进制十六进制 二进制二进制 ascii代码代码15严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998注释说明注释说明多行注释多行注释 /* . */单行注释单行注释 / .单行注释单行注释/ 说明:说明:便于用户编译和便于用户编译和解读程序。解读程序。16严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998程序信息程序信息选择
7、下拉菜单选择下拉菜单-显示程序信息显示程序信息display/program information程序内存程序内存创建日期创建日期原文件目录原文件目录17严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998compilercompiler运算指令说明运算指令说明18严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998运算指令说明运算指令说明常用算术运算指令:常用算术运算指令:符号符号格式格式说明说明举例举例“+”h= h + h加 加h10=h11+ h12; ;“-”h= h - h减 减h10=h11 - h13; ;“”h= h * h乘 乘
8、h10=h11 * h14; ;“/”h= h / h除 除h10=h11 / h15; ;19严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998运算指令说明运算指令说明常用逻辑运算指令:常用逻辑运算指令:符号符号格式格式说明说明举例举例“”(条件(条件1)(条件)(条件2)与与“|”(条件(条件1)|(条件(条件2)或或例:例:if (h1=3)&(h2=5) h100=h1+h2 ;如果如果h1等于等于3,并且,并且h2等于等于5时时执行执行h100=h1+h2;例:例:if (h110) | (h25) h100=h1+h2 ;如果如果h1大于大于10,或者,或者
9、h2小于小于5时时执行执行h100=h1+h2;20严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998指令说明指令说明常用位与位逻辑运算指令:常用位与位逻辑运算指令:符号符号格式格式说明说明举例举例“”(操作数(操作数1)(操作数)(操作数2)位和位位和位与与h3=h1h2“|”(操作数(操作数1)|(操作数(操作数2)位和位位和位或或h3=h1 | h2“”(操作数(操作数1)(操作数)(操作数2)位和位位和位异或异或h3=h1 h2h1-0000,0000,1111,1100h2-0000,0000,0000,0101h3-0000,0000,0000,0100h1
10、-0000,0000,1111,1100h2-0000,0000,0000,0101h3-0000,0000,1111,1101h1-0000,0000,1111,1100h2-0000,0000,0000,0101h3-0000,0000,1111,1001与运算与运算异或运算异或运算或运算或运算21严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998指令说明指令说明常用移位运算指令:常用移位运算指令:例:例:h3=h1; 4如果如果h1左移左移4位,右侧位,右侧 由由0添满添满符号符号格式格式说明说明举例举例“”操作数操作数左移位数左移位数操作数左移操作数左移h3=h
11、1”操作数操作数右移位数右移位数操作数右移操作数右移h3=h110h1-0000,0000,1010,0101h3-0000,1010,0101,000022严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998指令说明指令说明常用比较指令:常用比较指令:符号符号格式格式说明说明举例举例“”操作数操作数1 操作数操作数2大于大于“=”操作数操作数1 =操作数操作数3大于等于大于等于“”操作数操作数1 =操作数操作数4小于小于“=”操作数操作数1 =5) h100=h1+h2 ;如果如果h1等于等于3,并且,并且h2大于等于大于等于5时时,执行执行h100=h1+h2;23严
12、选内容ipos-compiler编辑器编辑器ly 2_e 10/1998compilercompiler结构指令说明结构指令说明24严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998指令说明指令说明- if.else表达:表达:if(条件)(条件) 程序程序1; else 程序程序2; 说明:说明:如果条件满足,执行程序如果条件满足,执行程序1;如果条件不满足,执行程序如果条件不满足,执行程序2。无无 else 分支分支有有 else 分支分支程序块(无程序块(无 else 分支)分支)程序块(有程序块(有 else 分支)分支)if ( h1 = 3 ) h2 = 1
13、0;if ( h1 = 3 ) h2 = 10;else h2 = 8;if ( h1 3 ) h2 = 10; h3 = 11; if ( h1 3 ) h2 = 9;else h2 = 10; h3 = 11; 例:例:25严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998指令说明指令说明- while表达:表达: while (条件)(条件) 程序;程序; 说明:说明:如果条件满足,程序循环执行;如果条件满足,程序循环执行;如果条件不满足,退出程序;如果条件不满足,退出程序;例例1:h2 = 0;h1 = 10; while ( h1 5 ) h2 = h2 +
14、1; h1=h1-1; h1 = 0;while ( h1 10 ) continue; h2 = h2 + 2; 例例2:注:如果注:如果h1大于大于10,将不执行,将不执行 h2=h2+2指令,跳到指令,跳到while 的末端。的末端。h1 = 0;while ( 1 ) +h1; if ( h1 = 20 ) break; if ( h1 10 ) continue; h2 = h2 + 2; 例例3:注:如果注:如果h1等于等于20,将退出,将退出while 指令;如果指令;如果h1大于大于10,跳到,跳到 while的末端。的末端。26严选内容ipos-compiler编辑器编辑器l
15、y 2_e 10/1998指令说明指令说明- switchcasedefault表达:表达:说明:说明:如果表达式为如果表达式为1,执行程序,执行程序1;如果表达式为如果表达式为2,执行程序,执行程序2;当条件都不满足时,执行程序当条件都不满足时,执行程序n。注:如果注:如果h1等于等于1,h2加加1; 如果如果h1等于等于2,h3加加1; 如果如果h1不等于不等于1、2,h4加加1;switch ( 表达式表达式) case value 1: 程序程序 1 ; case value 2: 程序程序 2 ;. default: 程序程序n ; switch ( h1 ) case 1: +h2
16、; break; case 2: +h3; break; default: +h4; break; 例:例:27严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998常用的系统变量常用的系统变量说明说明28严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998h483(input lvl)-开关量输入开关量输入开关量输入为只读。开关量输入为只读。 例:例:h483.6=1代表了代表了di10为高电平的状态。为高电平的状态。 例:例:h483=19=24+21+20代表了代表了di04、di01和和di00为高电平的状态,为高电平的状态, 其余开关量输入为
17、低电平。其余开关量输入为低电平。注:注:二进制输入二进制输入端子定义端子定义di17 di16 di15 di14 di13 di12 di11 di10 di05 di04 di03 di02 di01 di00h483.x13131212111110109 98 87 76 65 54 43 32 21 10 0含义含义2 2 13132 2 12122 2 11112 2 10102 2 9 92 2 8 82 2 7 72 2 6 62 2 5 52 2 4 42 2 3 32 2 2 22 2 1 12 2 0 0di011a二进制输入二进制输入主板二进制输入主板二进制输入29严选内
18、容ipos-compiler编辑器编辑器ly 2_e 10/1998h482(output lvl)-开关量输出开关量输出 h482开关量输入为只读。开关量输入为只读。 例:例:h482.6=1代表了代表了do13为高电平的状态。为高电平的状态。 例:例:h482=19=24+21+20代表了代表了do11、di01和和db00为高电平的状态,为高电平的状态, 其余开关量输出为低电平。其余开关量输出为低电平。注:注:二进制输出二进制输出端子端子do17do16do15do14do13do12do11do10do02do01db00h482.x10109 98 87 76 65 54 43 32
19、 21 10 0含义含义2 2 10102 92 82 72 62 52 42 32 22 12 0开关量输出开关量输出dio11a主板开关量输出主板开关量输出30严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998h481(output lvl)-开关量输出开关量输出-只写只写 h482开关量输入为只写。开关量输入为只写。 例:例:h481.2=1代表了设置代表了设置do02为高电平。为高电平。 例:例:h481=6=22+21代表了设置代表了设置do02、do01为高电平。为高电平。注:注:二进制输出二进制输出端子端子do02do01db00h481.x2 21 10
20、 0含义含义2 22 12 0主板开关量输出主板开关量输出31严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998h480(output lvl)-开关量输出开关量输出-只写只写 h480开关量输入为只写。开关量输入为只写。 例:例:h480.2=1代表了设置代表了设置do12为高电平。为高电平。 例:例:h481=6=22+21代表了设置代表了设置do12、do11为高电平。为高电平。注:注:二进制输出二进制输出端子端子do17do16do15do14do13do12do11do10h480.x7 76 65 54 43 32 21 10 0含义含义2 2 7 72 6
21、2 52 42 32 22 12 0开关量输出开关量输出dio11a32严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998h473(ipos 状态字)状态字)33严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998h484(ipos 控制字)控制字)34严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998h509、h510和和h511-位置值位置值变量变量名称名称说明说明接口接口h509actpos abs绝对值编码器位置值绝对值编码器位置值x62h510actpos ext外部编码器位置值外部编码器位置值x14h511act
22、pos mor电机编码器位置值电机编码器位置值x1535严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998sewsew标准功能说明标准功能说明36严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998sew标准功能说明标准功能说明-bitclear、bitset、bitmove、bitnegmove符号符号格式格式说明说明举例举例_bitclear_bitclear( (h , ,bit) )位清零_bitclear( (h100 , ,0) )_bitset_bitset( (h , ,bit) )位置位_bitset( (h101 , ,2) )
23、_bitmove_bitmove( (h , ,bit, ,h , ,bit) )位赋值_bitmove( (h10 , ,5, ,h15 , ,0) )_bitmoveneg_bitmoveneg( (h , ,bit, ,h , ,bit) )位取反赋值_bitmoveneg( (h10 , ,5, ,h15 , ,0) )位指令位指令37严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998sew标准功能说明标准功能说明-bitclear、bitset、bitmove、bitnegmove _bitset( h481, 2 ); di01yesno _bitclear
24、( h481, 2 ); start 举例:举例:当当di01=1时,时,do02=1;当当di01=0时,时,do02=0; if( di01 ) _bitset( h481,2 ); /h481.1-do02 else _bitclear( h481, 2 ); /h481.1-do02 38严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998sew标准功能说明标准功能说明-_go0符号符号: _go0(类型)(类型)描述:描述:该指令定义参考运行类型。该指令定义参考运行类型。说明:说明:类型由类型由c、u、w、nw和和cam或或reset组成。组成。 go0_c_w
25、_zp go0_u_w_zp go0_c_nw_zp go0_u_nw_zp go0_c_w_cam go0_u_w_cam go0_c_nw_cam go0_u_nw_camc(conditional)-只有在没有参考点时,参考运行有效。只有在没有参考点时,参考运行有效。u(unconditional)-无论有无参考点,参考运行始终有效。无论有无参考点,参考运行始终有效。w(wait)-等待,直到参考运行结束。等待,直到参考运行结束。nw(nowait)-不等待,运行下一条指令。不等待,运行下一条指令。zp(zero pulse)-参考运行到零脉冲。参考运行到零脉冲。cam-参考运行到凸轮点
26、。参考运行到凸轮点。39严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998类型类型0:类型类型1:p903(参考类型)(参考类型)说明:说明: 当定义为当定义为cam,初始位,初始位 置为参考点。置为参考点。 当定义为当定义为zp,零脉冲位置,零脉冲位置 为参考点。为参考点。零脉冲零脉冲初始位置初始位置凸轮开关凸轮开关正转极限正转极限反转极限反转极限说明:说明: 向反转极限方向运行。向反转极限方向运行。40严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998类型类型2:p903(参考类型)(参考类型)凸轮开关凸轮开关正转极限正转极限反转极限反转极限
27、说明:说明: 向正转极限方向运行。向正转极限方向运行。 凸轮开关的下降沿为参考凸轮开关的下降沿为参考 点。点。类型类型3:反转极限反转极限正转极限正转极限说明:说明: 向正转极限方向运行。向正转极限方向运行。 正转极限开关的下降沿为正转极限开关的下降沿为 参考点。参考点。41严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998类型类型4:类型类型5:p903(参考类型)(参考类型)说明:说明:向反转极限方向运行。向反转极限方向运行。 反转极限开关的下降沿为反转极限开关的下降沿为 参考点。参考点。说明:说明: 当前位为参考点。当前位为参考点。当前位当前位42严选内容ipos
28、-compiler编辑器编辑器ly 2_e 10/1998类型类型6:p903(参考类型)(参考类型)凸轮开关凸轮开关正转极限正转极限反转极限反转极限说明:说明: 向正转极限方向运行。向正转极限方向运行。 凸轮开关的反方向下降沿凸轮开关的反方向下降沿为参考点。为参考点。类型类型7:反转极限反转极限正转极限正转极限说明:说明:向反转极限方向运行。向反转极限方向运行。 凸轮开关的反方向下降沿凸轮开关的反方向下降沿为参考点。为参考点。凸轮开关凸轮开关43严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998nogo0_u_nw_zp! di00yesgo0_reset! refe
29、rencereturnyesno/运行参考点运行参考点/没到参考点没到参考点di01start referencemodeend referencemodeyesno/参考运行条件参考运行条件 referencemode() /参考运行模式参考运行模式 if(di01 ) /参考运行条件参考运行条件 _go0( go0_u_nw_zp); /参考运行参考运行 while(!referenced) /没有到达参考点没有到达参考点 if(!di00 ) / 如如di03=0退出参考运行程序退出参考运行程序 _go0( go0_reset ); return; 参考运行举例参考运行举例44严选内容i
30、pos-compiler编辑器编辑器ly 2_e 10/1998sew标准功能说明标准功能说明-_goabs符号符号: _goabs(类型,位置)(类型,位置)描述:描述:该指令定义运行到一个该指令定义运行到一个绝对位置绝对位置。说明:说明: 类型由类型由go_nowait和和go_wait组成。组成。 go_nowait-不等待,运行下一条指令。不等待,运行下一条指令。 go_wait-等待,直到到达给定绝对位置。等待,直到到达给定绝对位置。 位置可为一个常数、变量或间接变量。位置可为一个常数、变量或间接变量。指目标位和参考位指目标位和参考位之间的距离之间的距离45严选内容ipos-comp
31、iler编辑器编辑器ly 2_e 10/1998绝对位置运行举例绝对位置运行举例startpositioninggo_nowaitposition! di00yesnoas_pstopreturnyesendpositioning! in_position/ 绝对位置运行绝对位置运行/ 没有到达绝对位置没有到达绝对位置/ di00=0,退出绝对,退出绝对 位置运行位置运行positioning( ) _goabs( go_nowait,position ); while( !in_position) if( !di00 ) _axisstop( as_pstop ); return; 46严选
32、内容ipos-compiler编辑器编辑器ly 2_e 10/1998sew标准功能说明标准功能说明-_gorel符号符号: _gorel(类型,位置)(类型,位置)描述:描述:该指令定义运行到一个该指令定义运行到一个相对位置相对位置。说明:说明: 类型由类型由go_nowait和和go_wait组成。组成。 go_nowait-不等待,运行下一条指令。不等待,运行下一条指令。 go_wait-等待,直到到达给定相对位置。等待,直到到达给定相对位置。 位置可为一个常数、变量或间接变量。位置可为一个常数、变量或间接变量。指目标位和当前位指目标位和当前位之间的距离之间的距离47严选内容ipos-c
33、ompiler编辑器编辑器ly 2_e 10/1998sew标准功能说明标准功能说明-_setsys符号符号: _setsys(系统值,变量)(系统值,变量)描述:描述:设定系统值。设定系统值。 系统值包括:系统值包括: ss_n11:内部固定转速内部固定转速 n11 ss_n12:内部固定转速内部固定转速 n12 ss_n13:内部固定转速内部固定转速 n13 ss_n21:内部固定转速内部固定转速 n21 ss_n22:内部固定转速内部固定转速 n22 ss_n23:内部固定转速内部固定转速 n23 ss_pidata:设定设定 pi 字字* * h = pi 字的个数字的个数* * h
34、+ 1 = pi 1* * h + 2 = pi 2* * h + 3 = pi 3 ss_opmode: 设定运行模式设定运行模式* * h = 11: cfc (speed control)* * h = 12: cfc & torque control* * h = 13: cfc & ipos (positioning)* * h = 14: cfc & synchronous operation (drs11a)* h = 16: servo (speed control)* * h = 17: servo & torque control* * h = 18: servo & ip
35、os (positioning)h = 19: servo & synchronous operation (drs11a) h100=5000;_setsys( ss_n11,h100 ); h100=3; /pi字的个数字的个数 h101=10; /pi1 h102=100; /pi2 h103=1000; /pi3_setsys( ss_pidata,h100 ); h100=13; _setsys( ss_opmode,h100 ); 48严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998sew标准功能说明标准功能说明-_setsys ss_imax: 设定最大
36、电流值设定最大电流值 (cfc or servo only); unit: 0.1 % ss_posramp: 位控斜率位控斜率; 单位单位: 1 ms* * h = 位控上升斜率位控上升斜率 1* * h + 1 = 位控下降斜率位控下降斜率 2 ss_posspeed:位控转速位控转速; 单位单位: 0.1 rpm* * h = cw速度速度* * h + 1 = ccw速度速度 h100=1000; /定义上升斜率定义上升斜率 h101=1000; /定义下降斜率定义下降斜率 _setsys( ss_posramp,h100 ); h100=1000; /定义定义cw转速转速 h101=
37、1000; /定义定义ccw转速转速 _setsys( ss_posspeed, h100); 49严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998sew标准功能说明标准功能说明-_getsys符号符号: _getsys(系统值,变量)(系统值,变量)描述:描述:读取系统值。读取系统值。 系统值包括:系统值包括: gs_actcur:实际电流值实际电流值 gs_actspeed: 实际转速实际转速 gs_spspeed:设定转速设定转速 gs_error:故障代码故障代码 gs_sysstate: 7-段码显示段码显示 gs_actpos:实际位置实际位置 gs_sp
38、pos:设定位置设定位置 gs_inputs:二进制输入(包括主板和扩展板)二进制输入(包括主板和扩展板) gs_outputs:二进制输出(包括主板和扩展板)二进制输出(包括主板和扩展板) gs_ixt:系统的利用率系统的利用率 gs_aninputs: 模拟量输入模拟量输入1和和2的电压值的电压值* * h = 模拟量输入模拟量输入1* * h + 1 = 模拟量输入模拟量输入2将系统值存放在变量中将系统值存放在变量中50严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998sew标准功能说明标准功能说明-_getsys gs_anoutputs: 模拟量输出模拟量输出
39、* * h = 模拟量输出模拟量输出 1* * h + 1 = 模拟量输出模拟量输出 2 gs_podata 读取读取po值值* * h + 0: 总线类型总线类型 0 = reserved 1 = s0 (rs485 #1) 2 = s1 (rs485 #2) 3 = fieldbus 4 = reserved 5 = sbus* * h + 1 = po data 的个数的个数* * h + 2 = po1* * h + 3 = po2* * h + 4 = po3 h100=3; /定义定义fieldbus总线类型总线类型 h101=3; /定义定义po值的个数值的个数 _getsys(
40、 h100,gs_podata ); /读取读取po值值 h200=h103*10; /将将po2乘以乘以10 51严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998程序举例程序举例52严选内容主板主板x13x13开关量输入说明:开关量输入说明:凸轮开关凸轮开关( p602=reference cam )dcomv024di05di04di03di02di01di00控制器禁止控制器禁止 dgnd接外部24v直流电源的0v说明:说明: 1。di00(控制器禁止)-在自动运行、点动运行和参考运行时,di00为 高电平;急停时,dioo为低电平。 2。 di03-凸轮开关。
41、53严选内容di011adi011a扩展板扩展板x22x22开关量输入说明:开关量输入说明:允许参考运行允许参考运行 (1秒的脉冲)秒的脉冲)允许自动运行允许自动运行 (1秒的脉冲)秒的脉冲)反点运行反点运行正点运行正点运行di16di17di15di14di13di12di11di10模式选择模式选择di10di1110点动模式01寻参模式11自动模式说明:1。di10、di11为模式选择为模式选择-不同的组合可以选择点动模式、寻参模式和自动模式。不同的组合可以选择点动模式、寻参模式和自动模式。2。在点动模式下。在点动模式下-di12高电平时为正点运行,高电平时为正点运行,di13高电平为反
42、点运行。高电平为反点运行。3。在参考模式下。在参考模式下-di14 1秒秒 高电平触发参考运行。高电平触发参考运行。 4。在自动模式下。在自动模式下-di15 di14 1秒秒 高电平触发自动运行。高电平触发自动运行。5。p610-p617=ipos input。54严选内容55严选内容 while(1) if(!di10&di11) /点动模式点动模式 jogmode(); if(di10&!di11) /参考运行模式参考运行模式 referencemode(); if(di10&di11) automaticmode(); /自动模式自动模式 主程序:主程序:start maininiti
43、alization1!di10&di11jogmodeautomaticmodedi10& di11di10& !di11referencemodeyesyesyesnono选择点动运行选择点动运行选择寻参运行选择寻参运行选择自动运行选择自动运行56严选内容点动子程序:点动子程序:start jogmode!di10&di11yesnogs_actposcurrentpostiondi12& ! di13targetpos=currentpostion+409600! di12& di13targetpos=currentpostion-409600yesnoas_pstopend jogmo
44、deyesno/取当前位取当前位/选择正转选择正转/选择反转选择反转/运行停止运行停止/取目标位取目标位 57严选内容点动子程序:点动子程序: jogmode() /点动模式点动模式 while(!di10&di11 ) /di10=0 di11=1选择点动模式选择点动模式 jogspeed ; /选择点动转速选择点动转速 _getsys(currentposition,gs_actpos ); /读取当前位置读取当前位置 if( di12&!di13 ) /di12=1 di13=0选择正点运行选择正点运行 targetpos=h511+409600; /计算目标位置计算目标位置=h511(
45、当前位置当前位置)+409600 continue; /跳转到跳转到while的末端的末端 if(!di12&di13 ) /di12=0 di13=1选择反点运行选择反点运行 targetpos=h511-409600; /计算目标位置计算目标位置=h511(当前位置当前位置)-409600 continue; /跳转到跳转到while的末端的末端 _axisstop( as_pstop ); /停止运行停止运行 58严选内容ipos-compiler编辑器编辑器ly 2_e 10/1998nogo0_u_nw_zp! di00yesgo0_reset! referencereturnyes
46、no/运行参考点运行参考点/没到参考点没到参考点di14start referencemodeend referencemodeyesno/参考运行条件参考运行条件 referencemode( ) /参考运行模式参考运行模式 if(di14) /参考运行条件参考运行条件 _go0( go0_u_nw_cam ); /参考运行参考运行 while( ! referenced) /没有到达参考点没有到达参考点 if(!di00 ) / 如如di03=0退出参考运行程序退出参考运行程序 _go0( go0_reset ); return; 参考运行子程序参考运行子程序59严选内容ipos-comp
47、iler编辑器编辑器ly 2_e 10/1998自动运行子程序自动运行子程序startpositioninggo_nowaitposition! di00yesnoas_pstopreturnyesendpositioning! in_position/ 绝对位置运行绝对位置运行/ 没有到达绝对位置没有到达绝对位置/ di00=0,退出绝对,退出绝对 位置运行位置运行positioning( ) _goabs( go_nowait,position ); while( !in_position) if( !di00 ) _axisstop( as_pstop ); return; 60严选内容
48、ipos程序实例程序1:开关量控制多段速通过三个端子(di03、di04、di05)控制7段速度。参数设定:di01(p600):enable/rap.stopdi03(p602):ipos inputdi04(p603):ipos inputdi05(p604):ipos inputsetpointsource(p100):bipol./fix.setptoperating mode(p700):vfc,vfc-n-control程序将七个速度定义给h1到h7,用一个pointer变量指示端子的变化,然后以pointer为指针,按照端子的变化将七个速度分别传递给n11。variabledi0
49、5di04di03speed rpmh1001-1200h2010-800h3011-300h4100200h5101500h6110900h7111140061严选内容/*= ipos source file=*/#include #define inputimage (inputlevel 3) & 0 x00000007)#define fixedsetpointon _bitset( controlword , 4 )#define fixedsetpointoff _bitclear( controlword , 4 )#define fixedsetpoint1 h1#define
50、 fixedsetpoint2 h2#define fixedsetpoint3 h3#define fixedsetpoint4 h4#define fixedsetpoint5 h5#define fixedsetpoint6 h6#define fixedsetpoint7 h7/ declaration of variableslong pointer, fixedsetpoint;/*= main function (ipos initial function)=*/main() /*- initialization -*/ fixedsetpoint1 = -1200 * 10;
51、fixedsetpoint2 = -800 * 10; fixedsetpoint3 = -300 * 10;fixedsetpoint4 = 200 * 10; fixedsetpoint5 = 500 * 10; fixedsetpoint6 = 900 * 10; fixedsetpoint7 = 1400 * 10; /*- main program loop -*/ while(1) pointer = inputimage; fixedsetpoint = *pointer; _setsys( ss_n11,fixedsetpoint ); if( pointer = 0 ) fi
52、xedsetpointoff; else fixedsetpointon; 开关量控制多段速程序62严选内容程序2:位控程序+中间位置变速程序主要分为两部分,首先为寻零,然后就是位控部分。位控部分利用h511 actpos_mot(实际位置)与设定的两个位置switchpos1和switchpos2比较来选择相应的速度从而达到走位过程中的变速。/*= ipos source file=*/ #include #include #pragma globals 350 365#define second 1000#define referenced (statusword & 0 x100000)
53、#define in_position (statusword & 0 x80000) #define posspeed1 _setsys( ss_posspeed,speed1 )#define posspeed2 _setsys( ss_posspeed,speed2 )#define posspeed3 _setsys( ss_posspeed,speed3 )#define cwtravel 0#define ccwtravel 1 ssposspeed speed1, speed2, speed3; ssposramp posramp1; long startposition, li
54、mitposition;long switchpos1, switchpos2;long traveldirection;63严选内容/*= main function (ipos initial function)=*/main() /*- initialization -*/ speed1.cw = speed1.ccw = 600 * 10; speed2.cw = speed2.ccw = 1100 * 10; speed3.cw = 400 * 10; speed3.ccw = 1400 * 10; posramp1.up = 500; posramp1.down = 500; st
55、artposition = 0; limitposition = 200000; switchpos1 = 80000; switchpos2 = 140000; traveldirection = cwtravel;_setsys( ss_posramp,posramp1 ); /*- main program loop -*/ while(1) if ( !referenced ) referencetravel(); else positioning(); /*= functions=*/referencetravel() if ( di00 ) _go0( go0_u_nw_zp );
56、 while( ! referenced ) if( !di00 ) _go0( go0_reset ); return; traveldirection = cwtravel; 64严选内容positioning() if( di01 & di00 ) if( traveldirection = cwtravel ) if( actpos_mot switchpos1 ) posspeed1; else if( actpos_mot switchpos2 ) posspeed2; else posspeed3; _goabs( go_nowait,limitposition ); if( i
57、n_position ) _wait( second ); traveldirection = ccwtravel; if( traveldirection = ccwtravel ) / query condition for return travel posspeed3; _goabs( go_nowait,startposition ); / initiate return movement if( in_position ) / query whether destination position reached traveldirection = cwtravel; _wait(
58、second ); else _axisstop( as_pstop ); / perform positioning stop traveldirection = ccwtravel; / set travel direction on return travel 65严选内容程序3:位控程序-jog模式,寻参模式,自动位控模式主程序首先判断是否寻过参,如果没有,则进入寻参模式。如果寻参完毕,在di01为0时进入点动模式,在di01为1时进入自动位控模式。在点动模式下,di03和di04用来控制cw和ccw。程序中在寻参模式中用_go0指令来寻零;而在点动模式下使用了_gorel指令(让电机
59、向某一方向走相对于当前位置的一段距离,达到点动效果);在自动模式下,设定了两个位置,目的是让电机在这两个固定位置往返运动,所以用_goabs指令来走绝对位置。参数设定:di01(p600):ipos inputdi02(p601):ipos input di03(p602):ipos inputdi04(p603):ipos inputdi05(p604):cw limit switchdi06(p605):reference camdi07(p606):ccw limit switchoperating mode(p700): &iposreference travel type(p903)
60、:166严选内容/*= ipos source file=*/#include #include #pragma globals 350 365#define second 1000#define referenced (statusword & 0 x100000) #define in_position (statusword & 0 x80000) #define creeptraverse _setsys( ss_posspeed,creeptraversespeed )#define rapidtraverse _setsys( ss_posspeed,rapidtraversesp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地下车库维修合同范本
- 外包运输车辆合同范本
- 国际买卖合同范本模板
- 国际海运代理合同范本
- 国产电脑销售合同范本
- 增加植物合同补充协议
- 外贸出口购货合同范本
- 块煤买卖合同协议范本
- 商铺招商办签合同范本
- 售后设备回收合同范本
- (高清版)TDT 1013-2013 土地整治项目验收规程
- 非ST段抬高型急性心肌梗死
- 033色谱系统数据积分处理标准管理规程
- 最优化理论与算法课件陈宝林
- 《建设项目水土保持》课件
- 中国工会十八大精神知识问答学习题库
- 《陈太丘与友期行》对比阅读4篇
- CSQS(中国造船质量标准)英文版
- 医院院感知识培训以及培训试题(含答案)
- 2023年4月自考02202传感器与检测技术及答案含评分标准
- 低血糖症-课件
评论
0/150
提交评论