SEW内部IPOS设置和编程

上传人:Tomo****.明天 文档编号:115808706 上传时间:2022-07-04 格式:PPT 页数:73 大小:1.68MB
收藏 版权申诉 举报 下载
SEW内部IPOS设置和编程_第1页
第1页 / 共73页
SEW内部IPOS设置和编程_第2页
第2页 / 共73页
SEW内部IPOS设置和编程_第3页
第3页 / 共73页
资源描述:

《SEW内部IPOS设置和编程》由会员分享,可在线阅读,更多相关《SEW内部IPOS设置和编程(73页珍藏版)》请在装配图网上搜索。

1、IPOS-Compiler编辑器编辑器LY 2_E 10/1998编辑器软件说明编辑器软件说明IPOS-Compiler编辑器编辑器LY 2_E 10/1998激活编辑器激活编辑器开始开始IPOS-Compiler编辑器编辑器IPOS-Compiler编辑器编辑器LY 2_E 10/1998编辑器程序窗口说明编辑器程序窗口说明菜单栏菜单栏工具栏工具栏程序窗口程序窗口状态栏状态栏目录栏目录栏IPOS-Compiler编辑器编辑器LY 2_E 10/1998工具栏和菜单栏工具栏和菜单栏IPOS-Compiler编辑器编辑器LY 2_E 10/1998创建新项目创建新项目点击点击按钮按钮-创建新项目

2、创建新项目对话框用于定义对话框用于定义IPOS程序的基本结构。程序的基本结构。初始部分初始部分任务任务2中断响应中断响应IPOS-Compiler编辑器编辑器LY 2_E 10/1998程序编辑器说明程序编辑器说明Task2程序部分程序部分初始程序部分初始程序部分激活激活Task2程序程序主程序部分(主程序部分(Task1)IPOS-Compiler编辑器编辑器LY 2_E 10/1998比较功能比较功能点击点击按钮按钮-编辑器内程序和控制器内程序比较编辑器内程序和控制器内程序比较控制器内程序和编辑器内程序不相同控制器内程序和编辑器内程序不相同控制器内程序和编辑器内程序相同控制器内程序和编辑器

3、内程序相同IPOS-Compiler编辑器编辑器LY 2_E 10/1998编译程序编译程序点击点击按钮按钮-编译程序编译程序提示编译成功或不成功提示编译成功或不成功程序扫描时间程序扫描时间程序占内存的程序占内存的比例比例IPOS-Compiler编辑器编辑器LY 2_E 10/1998编译并下载程序编译并下载程序点击点击按钮按钮-编译并下载程序编译并下载程序提示编译成功或不成功提示编译成功或不成功IPOS-Compiler编辑器编辑器LY 2_E 10/1998插入指令行插入指令行点击点击按钮按钮-插入指令行插入指令行(编辑器提供了标准的输入方式编辑器提供了标准的输入方式)C-结构结构系统功

4、能系统功能IPOS-Compiler编辑器编辑器LY 2_E 10/1998运行和停止程序运行和停止程序点击点击按钮按钮-运行程序运行程序点击点击按钮按钮-停止程序停止程序TASK2状态显示状态显示TASK1状态显示状态显示IPOS-Compiler编辑器编辑器LY 2_E 10/1998变量窗口变量窗口选择下拉菜单选择下拉菜单-显示所有的显示所有的IPOS(H1-H511)变量)变量Display/All VariablesIPOS变量包括系统变量、全局变量和用户变量。变量包括系统变量、全局变量和用户变量。系统变量为有固定含义变量(系统变量为有固定含义变量(H453-H511)。)。全局变量

5、为特殊应用模块中指定的变量。全局变量为特殊应用模块中指定的变量。用户变量为用户程序中可任意调用的变量。用户变量为用户程序中可任意调用的变量。IPOS-Compiler编辑器编辑器LY 2_E 10/1998变量窗口变量窗口选择下拉菜单选择下拉菜单-编辑编辑显示变量显示变量Display/Variable watch/Edit window选择变量选择变量增加显示变量增加显示变量删除显示变量删除显示变量显示变量区显示变量区所有变量区所有变量区IPOS-Compiler编辑器编辑器LY 2_E 10/1998选择显示方式选择显示方式点击鼠标右键选择点击鼠标右键选择显示方式显示方式显示方式:显示方式

6、:带符号的十进制带符号的十进制 无符号的十进制无符号的十进制 十六进制十六进制 二进制二进制 ASCII代码代码IPOS-Compiler编辑器编辑器LY 2_E 10/1998注释说明注释说明多行注释多行注释/*.*/单行注释单行注释/.单行注释单行注释/说明:说明:便于用户编译和便于用户编译和解读程序。解读程序。IPOS-Compiler编辑器编辑器LY 2_E 10/1998程序信息程序信息选择下拉菜单选择下拉菜单-显示程序信息显示程序信息Display/Program Information程序内存程序内存创建日期创建日期原文件目录原文件目录IPOS-Compiler编辑器编辑器LY

7、2_E 10/1998CompilerCompiler运算指令说明运算指令说明IPOS-Compiler编辑器编辑器LY 2_E 10/1998运算指令说明运算指令说明常用算术运算指令:常用算术运算指令:符号符号格式格式说明说明举例举例“+”H=H+H加 加H10=H11+H12;“-”H=H-H减 减H10=H11-H13;“”H=H*H乘 乘H10=H11*H14;“/”H=H/H除 除H10=H11/H15;IPOS-Compiler编辑器编辑器LY 2_E 10/1998运算指令说明运算指令说明常用逻辑运算指令:常用逻辑运算指令:符号符号格式格式说明说明举例举例“”(条件(条件1)(条

8、件)(条件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,或者,或者H2小于小于5时时执行执行H100=H1+H2;IPOS-Compiler编辑器编辑器LY 2_E 10/1998指令说明指令说明常用位与位逻辑运算指令:常用位与位逻辑运算指令:符号符号格式格式说明说明举例举例“”(操作数(操作数1)(操作数)(操作数2)位和位位和位与与H3=H1H2“|”(操作数(

9、操作数1)|(操作数(操作数2)位和位位和位或或H3=H1|H2“”(操作数(操作数1)(操作数)(操作数2)位和位位和位异或异或H3=H1 H2H1-0000,0000,1111,1100H2-0000,0000,0000,0101H3-0000,0000,0000,0100H1-0000,0000,1111,1100H2-0000,0000,0000,0101H3-0000,0000,1111,1101H1-0000,0000,1111,1100H2-0000,0000,0000,0101H3-0000,0000,1111,1001与运算与运算异或运算异或运算或运算或运算IPOS-Comp

10、iler编辑器编辑器LY 2_E 10/1998指令说明指令说明常用移位运算指令:常用移位运算指令:例:例:H3=H1;4如果如果H1左移左移4位,右侧位,右侧 由由0添满添满符号符号格式格式说明说明举例举例“”操作数操作数左移位数左移位数操作数左移操作数左移H3=H1”操作数操作数右移位数右移位数操作数右移操作数右移H3=H110H1-0000,0000,1010,0101H3-0000,1010,0101,0000IPOS-Compiler编辑器编辑器LY 2_E 10/1998指令说明指令说明常用比较指令:常用比较指令:符号符号格式格式说明说明举例举例“”操作数操作数1 操作数操作数2大

11、于大于“=”操作数操作数1=操作数操作数3大于等于大于等于“”操作数操作数1=操作数操作数4小于小于“=”操作数操作数1=5)H100=H1+H2;如果如果H1等于等于3,并且,并且H2大于等于大于等于5时时,执行执行H100=H1+H2;IPOS-Compiler编辑器编辑器LY 2_E 10/1998CompilerCompiler结构指令说明结构指令说明IPOS-Compiler编辑器编辑器LY 2_E 10/1998指令说明指令说明-if.else表达:表达:if(条件)(条件)程序程序1;else 程序程序2;说明:说明:如果条件满足,执行程序如果条件满足,执行程序1;如果条件不满足

12、,执行程序如果条件不满足,执行程序2。无无 else 分支分支有有 else 分支分支程序块(无程序块(无 else 分支)分支)程序块(有程序块(有 else 分支)分支)if(H1=3)H2=10;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;例:例:IPOS-Compiler编辑器编辑器LY 2_E 10/1998指令说明指令说明-while表达:表达:while(条件)(条件)程序;程序;说明:说明:如果条件满足,程序循环执行;如果条件满足,程序循环执行;如果条件不满足,退出程序;如果

13、条件不满足,退出程序;例例1:H2=0;H1=10;while(H1 5)H2=H2+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的末端。的末端。IPOS-Compiler编辑器编辑器LY

14、 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;break;case 2:+H3;bre

15、ak;default:+H4;break;例:例:IPOS-Compiler编辑器编辑器LY 2_E 10/1998常用的系统变量常用的系统变量说明说明IPOS-Compiler编辑器编辑器LY 2_E 10/1998H483(INPUT LVL)-开关量输入开关量输入开关量输入为只读。开关量输入为只读。例:例:H483.6=1代表了代表了DI10为高电平的状态。为高电平的状态。例:例:H483=19=24+21+20代表了代表了DI04、DI01和和DI00为高电平的状态,为高电平的状态,其余开关量输入为低电平。其余开关量输入为低电平。注:注:二进制输入二进制输入端子定义端子定义DI17 D

16、I16 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二进制输入二进制输入主板二进制输入主板二进制输入IPOS-Compiler编辑器编辑器LY 2_E 10/1998H482(OUTPUT LVL)

17、-开关量输出开关量输出 H482开关量输入为只读。开关量输入为只读。例:例:H482.6=1代表了代表了DO13为高电平的状态。为高电平的状态。例:例:H482=19=24+21+20代表了代表了DO11、DI01和和DB00为高电平的状态,为高电平的状态,其余开关量输出为低电平。其余开关量输出为低电平。注:注:二进制输出二进制输出端子端子DO17DO16DO15DO14DO13DO12DO11DO10DO02DO01DB00H482.X10109 98 87 76 65 54 43 32 21 10 0含义含义2 2 10102 92 82 72 62 52 42 32 22 12 0开关量

18、输出开关量输出DIO11A主板开关量输出主板开关量输出IPOS-Compiler编辑器编辑器LY 2_E 10/1998H481(OUTPUT LVL)-开关量输出开关量输出-只写只写 H482开关量输入为只写。开关量输入为只写。例:例:H481.2=1代表了设置代表了设置DO02为高电平。为高电平。例:例:H481=6=22+21代表了设置代表了设置DO02、DO01为高电平。为高电平。注:注:二进制输出二进制输出端子端子DO02DO01DB00H481.X2 21 10 0含义含义2 22 12 0主板开关量输出主板开关量输出IPOS-Compiler编辑器编辑器LY 2_E 10/199

19、8H480(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 62 52 42 32 22 12 0开关量输出开关量输出DIO11AIPOS-Compiler编辑器编辑器LY 2_E 10/1998H4

20、73(IPOS 状态字)状态字)IPOS-Compiler编辑器编辑器LY 2_E 10/1998H484(IPOS 控制字)控制字)IPOS-Compiler编辑器编辑器LY 2_E 10/1998H509、H510和和H511-位置值位置值变量变量名称名称说明说明接口接口H509ACTPOS ABS绝对值编码器位置值绝对值编码器位置值X62H510ACTPOS EXT外部编码器位置值外部编码器位置值X14H511ACTPOS MOR电机编码器位置值电机编码器位置值X15IPOS-Compiler编辑器编辑器LY 2_E 10/1998SEWSEW标准功能说明标准功能说明IPOS-Compi

21、ler编辑器编辑器LY 2_E 10/1998SEW标准功能说明标准功能说明-BitClear、BitSet、BitMove、BitNegMove符号符号格式格式说明说明举例举例_BitClear_BitClear(H,Bit)位清零_BitClear(H100,0)_BitSet_BitSet(H,Bit)位置位_BitSet(H101,2)_BitMove_BitMove(H,Bit,H,Bit)位赋值_BitMove(H10,5,H15,0)_BitMoveNeg_BitMoveNeg(H,Bit,H,Bit)位取反赋值_BitMoveNeg(H10,5,H15,0)位指令位指令IPOS

22、-Compiler编辑器编辑器LY 2_E 10/1998SEW标准功能说明标准功能说明-BitClear、BitSet、BitMove、BitNegMove _BitSet(H481,2);DI01yesno _BitClear(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 IPOS-Compiler编辑器编辑器LY 2_E 10/1998SEW标准功能说明标准功能说明-_Go0

23、符号符号:_Go0(类型)(类型)描述描述:该指令定义参考运行类型。该指令定义参考运行类型。说明:说明:类型由类型由C、U、W、NW和和CAM或或RESET组成。组成。GO0_C_W_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)-等待,直到参考运行结束。等

24、待,直到参考运行结束。NW(NoWait)-不等待,运行下一条指令。不等待,运行下一条指令。ZP(Zero Pulse)-参考运行到零脉冲。参考运行到零脉冲。CAM-参考运行到凸轮点。参考运行到凸轮点。IPOS-Compiler编辑器编辑器LY 2_E 10/1998类型类型0:类型类型1:P903(参考类型)(参考类型)说明:说明:当定义为当定义为CAM,初始位,初始位 置为参考点。置为参考点。当定义为当定义为ZP,零脉冲位置,零脉冲位置 为参考点。为参考点。零脉冲零脉冲初始位置初始位置凸轮开关凸轮开关正转极限正转极限反转极限反转极限说明:说明:向反转极限方向运行。向反转极限方向运行。IPO

25、S-Compiler编辑器编辑器LY 2_E 10/1998类型类型2:P903(参考类型)(参考类型)凸轮开关凸轮开关正转极限正转极限反转极限反转极限说明:说明:向正转极限方向运行。向正转极限方向运行。凸轮开关的下降沿为参考凸轮开关的下降沿为参考 点。点。类型类型3:反转极限反转极限正转极限正转极限说明:说明:向正转极限方向运行。向正转极限方向运行。正转极限开关的下降沿为正转极限开关的下降沿为 参考点。参考点。IPOS-Compiler编辑器编辑器LY 2_E 10/1998类型类型4:类型类型5:P903(参考类型)(参考类型)说明:说明:向反转极限方向运行。向反转极限方向运行。反转极限开

26、关的下降沿为反转极限开关的下降沿为 参考点。参考点。说明:说明:当前位为参考点。当前位为参考点。当前位当前位IPOS-Compiler编辑器编辑器LY 2_E 10/1998类型类型6:P903(参考类型)(参考类型)凸轮开关凸轮开关正转极限正转极限反转极限反转极限说明:说明:向正转极限方向运行。向正转极限方向运行。凸轮开关的反方向下降沿凸轮开关的反方向下降沿为参考点。为参考点。类型类型7:反转极限反转极限正转极限正转极限说明:说明:向反转极限方向运行。向反转极限方向运行。凸轮开关的反方向下降沿凸轮开关的反方向下降沿为参考点。为参考点。凸轮开关凸轮开关IPOS-Compiler编辑器编辑器LY

27、 2_E 10/1998noGO0_U_NW_ZP!DI00yesGO0_RESET!referencereturnyesno/运行参考点运行参考点/没到参考点没到参考点DI01Start ReferenceModeEND ReferenceModeyesno/参考运行条件参考运行条件 ReferenceMode()/参考运行模式参考运行模式 if(DI01)/参考运行条件参考运行条件 _Go0(GO0_U_NW_ZP);/参考运行参考运行 while(!referenced)/没有到达参考点没有到达参考点 if(!DI00)/如如DI03=0退出参考运行程序退出参考运行程序 _Go0(GO0

28、_RESET);return;参考运行举例参考运行举例IPOS-Compiler编辑器编辑器LY 2_E 10/1998SEW标准功能说明标准功能说明-_GoAbs符号符号:_GoAbs(类型,位置(类型,位置)描述描述:该指令定义运行到一个该指令定义运行到一个绝对位置绝对位置。说明:说明:类型由类型由Go_NOWAIT和和Go_WAIT组成。组成。Go_NOWAIT-不等待,运行下一条指令。不等待,运行下一条指令。Go_WAIT-等待,直到到达给定绝对位置。等待,直到到达给定绝对位置。位置可为一个常数、变量或间接变量。位置可为一个常数、变量或间接变量。指目标位和参考位指目标位和参考位之间的距

29、离之间的距离IPOS-Compiler编辑器编辑器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;IPOS-Com

30、piler编辑器编辑器LY 2_E 10/1998SEW标准功能说明标准功能说明-_GoRel符号符号:_GoRel(类型,位置(类型,位置)描述描述:该指令定义运行到一个该指令定义运行到一个相对位置相对位置。说明:说明:类型由类型由Go_NOWAIT和和Go_WAIT组成。组成。Go_NOWAIT-不等待,运行下一条指令。不等待,运行下一条指令。Go_WAIT-等待,直到到达给定相对位置。等待,直到到达给定相对位置。位置可为一个常数、变量或间接变量。位置可为一个常数、变量或间接变量。指目标位和当前位指目标位和当前位之间的距离之间的距离IPOS-Compiler编辑器编辑器LY 2_E 10/

31、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+1=PI 1*h+2=PI 2*h+3=PI 3 SS_OPMODE:设

32、定运行模式设定运行模式*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&IPOS(positioning)h=19:SERVO&synchronous operation(DRS11A)H100=5000;_SetSys(SS_N11,H100);H100=3;/PI字的个数字的个数 H101

33、=10;/PI1 H102=100;/PI2 H103=1000;/PI3_SetSys(SS_PIDATA,H100);H100=13;_SetSys(SS_OPMODE,H100);IPOS-Compiler编辑器编辑器LY 2_E 10/1998SEW标准功能说明标准功能说明-_SetSys SS_IMAX:设定最大电流值设定最大电流值(CFC or SERVO only);Unit:0.1%SS_POSRAMP:位控斜率位控斜率;单位单位:1 ms*h=位控上升斜率位控上升斜率 1*h+1=位控下降斜率位控下降斜率 2 SS_POSSPEED:位控转速位控转速;单位单位:0.1 rpm

34、*h=CW速度速度*h+1=CCW速度速度 H100=1000;/定义上升斜率定义上升斜率 H101=1000;/定义下降斜率定义下降斜率 _SetSys(SS_POSRAMP,H100);H100=1000;/定义定义CW转速转速 H101=1000;/定义定义CCW转速转速 _SetSys(SS_POSSPEED,H100);IPOS-Compiler编辑器编辑器LY 2_E 10/1998SEW标准功能说明标准功能说明-_GetSys符号符号:_GetSys(系统值,变量(系统值,变量)描述描述:读取系统值。读取系统值。系统值包括:系统值包括:GS_ACTCUR:实际电流值实际电流值 G

35、S_ACTSPEED:实际转速实际转速 GS_SPSPEED:设定转速设定转速 GS_ERROR:故障代码故障代码 GS_SYSSTATE:7-段码显示段码显示 GS_ACTPOS:实际位置实际位置 GS_SPPOS:设定位置设定位置 GS_INPUTS:二进制输入(包括主板和扩展板)二进制输入(包括主板和扩展板)GS_OUTPUTS:二进制输出(包括主板和扩展板)二进制输出(包括主板和扩展板)GS_IxT:系统的利用率系统的利用率 GS_ANINPUTS:模拟量输入模拟量输入1和和2的电压值的电压值*h=模拟量输入模拟量输入1*h+1=模拟量输入模拟量输入2将系统值存放在变量中将系统值存放在

36、变量中IPOS-Compiler编辑器编辑器LY 2_E 10/1998SEW标准功能说明标准功能说明-_GetSys GS_ANOUTPUTS:模拟量输出模拟量输出*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

37、值的个数值的个数 _GetSys(H100,GS_PODATA);/读取读取PO值值 H200=H103*10;/将将PO2乘以乘以10 IPOS-Compiler编辑器编辑器LY 2_E 10/1998程序举例程序举例主板主板X13X13开关量输入说明:开关量输入说明:凸轮开关凸轮开关(P602=Reference Cam)DCOMV024DI05DI04DI03DI02DI01DI00控制器禁止控制器禁止 DGND接外部24V直流电源的0V说明:说明:1。DI00(控制器禁止)-在自动运行、点动运行和参考运行时,DI00为 高电平;急停时,DIOO为低电平。2。DI03-凸轮开关。DI01

38、1ADI011A扩展板扩展板X22X22开关量输入说明:开关量输入说明:允许参考运行允许参考运行(1秒的脉冲)秒的脉冲)允许自动运行允许自动运行(1秒的脉冲)秒的脉冲)反点运行反点运行正点运行正点运行DI16DI17DI15DI14DI13DI12DI11DI10模式选择模式选择DI10DI1110点动模式01寻参模式11自动模式说明:1。DI10、DI11为模式选择为模式选择-不同的组合可以选择点动模式、寻参模式和自动模式。不同的组合可以选择点动模式、寻参模式和自动模式。2。在点动模式下。在点动模式下-DI12高电平时为正点运行,高电平时为正点运行,DI13高电平为反点运行。高电平为反点运行

39、。3。在参考模式下。在参考模式下-DI14 1秒秒 高电平触发参考运行。高电平触发参考运行。4。在自动模式下。在自动模式下-DI15 DI14 1秒秒 高电平触发自动运行。高电平触发自动运行。5。P610-P617=IPOS INPUT。while(1)if(!DI10&DI11)/点动模式点动模式 JogMode();if(DI10&!DI11)/参考运行模式参考运行模式 ReferenceMode();if(DI10&DI11)AutomaticMode();/自动模式自动模式 主程序:主程序:Start MainInitialization1!DI10&DI11JogModeAutoma

40、ticModeDI10&DI11DI10&!DI11ReferenceModeyesyesyesnono选择点动运行选择点动运行选择寻参运行选择寻参运行选择自动运行选择自动运行点动子程序:点动子程序:Start JogMode!DI10&DI11yesnoGS_ACTPOSCurrentPostionDI12&!DI13TargetPos=CurrentPostion+409600!DI12&DI13TargetPos=CurrentPostion-409600yesnoAS_PSTOPEnd JogModeyesno/取当前位取当前位/选择正转选择正转/选择反转选择反转/运行停止运行停止/取

41、目标位取目标位 点动子程序:点动子程序:JogMode()/点动模式点动模式 while(!DI10&DI11)/DI10=0 DI11=1选择点动模式选择点动模式 jogspeed;/选择点动转速选择点动转速 _GetSys(currentposition,GS_ACTPOS);/读取当前位置读取当前位置 if(DI12&!DI13)/DI12=1 DI13=0选择正点运行选择正点运行 TargetPos=H511+409600;/计算目标位置计算目标位置=H511(当前位置当前位置)+409600 continue;/跳转到跳转到while的末端的末端 if(!DI12&DI13)/DI1

42、2=0 DI13=1选择反点运行选择反点运行 TargetPos=H511-409600;/计算目标位置计算目标位置=H511(当前位置当前位置)-409600 continue;/跳转到跳转到while的末端的末端 _AxisStop(AS_PSTOP);/停止运行停止运行 IPOS-Compiler编辑器编辑器LY 2_E 10/1998noGO0_U_NW_ZP!DI00yesGO0_RESET!referencereturnyesno/运行参考点运行参考点/没到参考点没到参考点DI14Start ReferenceModeEND ReferenceModeyesno/参考运行条件参考运

43、行条件 ReferenceMode()/参考运行模式参考运行模式 if(DI14)/参考运行条件参考运行条件 _Go0(GO0_U_NW_CAM);/参考运行参考运行 while(!referenced)/没有到达参考点没有到达参考点 if(!DI00)/如如DI03=0退出参考运行程序退出参考运行程序 _Go0(GO0_RESET);return;参考运行子程序参考运行子程序IPOS-Compiler编辑器编辑器LY 2_E 10/1998自动运行子程序自动运行子程序StartPositioningGO_NOWAITPosition!DI00yesnoAS_PSTOPreturnyesEnd

44、Positioning!in_Position/绝对位置运行绝对位置运行/没有到达绝对位置没有到达绝对位置/DI00=0,退出绝对,退出绝对 位置运行位置运行Positioning()_GoAbs(GO_NOWAIT,Position);while(!in_Position)if(!DI00)_AxisStop(AS_PSTOP);return;IPOS程序实例程序1:开关量控制多段速通过三个端子(DI03、DI04、DI05)控制7段速度。参数设定:DI01(P600):Enable/rap.stopDI03(P602):IPOSinputDI04(P603):IPOSinputDI05(P

45、604):IPOSinputSetpointsource(P100):BIPOL./FIX.SETPTOperatingmode(P700):VFC,VFC-n-Control程序将七个速度定义给H1到H7,用一个Pointer变量指示端子的变化,然后以Pointer为指针,按照端子的变化将七个速度分别传递给N11。VariableDI05DI04DI03Speed rpmH1001-1200H2010-800H3011-300H4100200H5101500H6110900H71111400/*=IPOSsourcefile=*/#include#defineInputImage(Input

46、Level3)&0 x00000007)#defineFixedSetpointOn_BitSet(ControlWord,4)#defineFixedSetpointOff_BitClear(ControlWord,4)#defineFixedSetpoint1H1#defineFixedSetpoint2H2#defineFixedSetpoint3H3#defineFixedSetpoint4H4#defineFixedSetpoint5H5#defineFixedSetpoint6H6#defineFixedSetpoint7H7/DeclarationofvariableslongP

47、ointer,FixedSetpoint;/*=Mainfunction(IPOSinitialfunction)=*/main()/*-Initialization-*/FixedSetpoint1=-1200*10;FixedSetpoint2=-800*10;FixedSetpoint3=-300*10;FixedSetpoint4=200*10;FixedSetpoint5=500*10;FixedSetpoint6=900*10;FixedSetpoint7=1400*10;/*-Mainprogramloop-*/while(1)Pointer=InputImage;FixedSe

48、tpoint=*Pointer;_SetSys(SS_N11,FixedSetpoint);if(Pointer=0)FixedSetpointOff;elseFixedSetpointOn;开关量控制多段速程序程序2:位控程序+中间位置变速程序主要分为两部分,首先为寻零,然后就是位控部分。位控部分利用H511ACTPOS_MOT(实际位置)与设定的两个位置SwitchPos1和SwitchPos2比较来选择相应的速度从而达到走位过程中的变速。/*=IPOSsourcefile=*/#include#include#pragmaglobals350365#defineSECOND1000#de

49、finereferenced(StatusWord&0 x100000)#definein_Position(StatusWord&0 x80000)#definePosSpeed1_SetSys(SS_POSSPEED,Speed1)#definePosSpeed2_SetSys(SS_POSSPEED,Speed2)#definePosSpeed3_SetSys(SS_POSSPEED,Speed3)#defineCWTravel0#defineCCWTravel1SSPOSSPEEDSpeed1,Speed2,Speed3;SSPOSRAMPPosRamp1;longStartPosit

50、ion,LimitPosition;longSwitchPos1,SwitchPos2;longTravelDirection;/*=Mainfunction(IPOSinitialfunction)=*/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;StartPosition=0;LimitPosition=200000;SwitchP

51、os1=80000;SwitchPos2=140000;TravelDirection=CWTravel;_SetSys(SS_POSRAMP,PosRamp1);/*-Mainprogramloop-*/while(1)if(!referenced)ReferenceTravel();elsePositioning();/*=Functions=*/ReferenceTravel()if(DI00)_Go0(GO0_U_NW_ZP);while(!referenced)if(!DI00)_Go0(GO0_RESET);return;TravelDirection=CWTravel;Posit

52、ioning()if(DI01&DI00)if(TravelDirection=CWTravel)if(ActPos_MotSwitchPos1)PosSpeed1;elseif(ActPos_MotSwitchPos2)PosSpeed2;elsePosSpeed3;_GoAbs(GO_NOWAIT,LimitPosition);if(in_Position)_Wait(SECOND);TravelDirection=CCWTravel;if(TravelDirection=CCWTravel)/QueryconditionforreturntravelPosSpeed3;_GoAbs(GO

53、_NOWAIT,StartPosition);/Initiatereturnmovementif(in_Position)/QuerywhetherdestinationpositionreachedTravelDirection=CWTravel;_Wait(SECOND);else_AxisStop(AS_PSTOP);/PerformpositioningstopTravelDirection=CCWTravel;/Settraveldirectiononreturntravel程序3:位控程序-Jog模式,寻参模式,自动位控模式主程序首先判断是否寻过参,如果没有,则进入寻参模式。如果寻

54、参完毕,在DI01为0时进入点动模式,在DI01为1时进入自动位控模式。在点动模式下,DI03和DI04用来控制CW和CCW。程序中在寻参模式中用_Go0指令来寻零;而在点动模式下使用了_GoRel指令(让电机向某一方向走相对于当前位置的一段距离,达到点动效果);在自动模式下,设定了两个位置,目的是让电机在这两个固定位置往返运动,所以用_GoAbs指令来走绝对位置。参数设定:DI01(P600):IPOSinputDI02(P601):IPOSinputDI03(P602):IPOSinputDI04(P603):IPOSinputDI05(P604):CWlimitSwitchDI06(P6

55、05):ReferencecamDI07(P606):CCWlimitSwitchOperatingmode(P700):&IPOSReferencetraveltype(P903):1/*=IPOSSourceFile=*/#include#include#pragmaglobals350365#defineSECOND1000#definereferenced(StatusWord&0 x100000)#definein_Position(StatusWord&0 x80000)#defineCreepTraverse_SetSys(SS_POSSPEED,CreepTraverseSpe

56、ed)#defineRapidTraverse_SetSys(SS_POSSPEED,RapidTraverseSpeed)SSPOSSPEEDCreepTraverseSpeed,RapidTraverseSpeed;SSPOSRAMPPosRamp1;longMinPosition,MaxPosition,CurrentPos;/*=MainFunction(IPOSEntryFunction)=*/main()/*-Initialisation-*/RapidTraverseSpeed.CW=RapidTraverseSpeed.CCW=1400*10;CreepTraverseSpee

57、d.CW=CreepTraverseSpeed.CCW=1000*10;PosRamp1.Up=PosRamp1.Down=500;MinPosition=0;MaxPosition=80000;_SetSys(SS_POSRAMP,PosRamp1);/*-MainLoop-*/while(1)if(!referenced)ReferenceTravel();elseif(DI01)AutomaticMode();elseManualMode();/*=Functions=*/ReferenceTravel()if(DI00)_Go0(GO0_U_NW_ZP);while(!referenc

58、ed)if(!DI00)_Go0(GO0_RESET);return;程序:ManualMode()CreepTraverse;while(!DI01)_GetSys(CurrentPos,GS_ACTPOS);if(DI03&!DI04)_GoRel(GO_NOWAIT,1000);continue;if(!DI03&DI04)_GoRel(GO_NOWAIT,-1000);continue;_AxisStop(AS_PSTOP);AutomaticMode()CreepTraverse;_GoAbs(GO_NOWAIT,MinPosition);while(!in_Position)if(

59、!DI01)_AxisStop(AS_PSTOP);return;_Wait(SECOND);RapidTraverse;while(DI01)_GoAbs(GO_NOWAIT,MaxPosition);while(!in_Position)if(!DI01)_AxisStop(AS_PSTOP);return;_Wait(2*SECOND);_GoAbs(GO_NOWAIT,MinPosition);while(!in_Position)if(!DI01)_AxisStop(AS_PSTOP);return;_Wait(2*SECOND);程序4:位控程序与总线控制结合参数设定:Operat

60、ingmode(P700):VFC-n-Ctrl&IPOSDI01(P601):EnableDI02(P602):ResetDI03(P603):ReferencecamDI04(P604):CWlimitSwitchDI05(P605):CCWlimitSwitchDI10(P610)DI17(P617):IPOSinputDO01(P620):ReadyDO02(P621):FaultDO10(P630):IPOSoutputDO11(P631):IPOSoutputDO12(P632):IPOSoutputDO14(P634):IPOSoutputDO15(P635):IPOSoutpu

61、tDO16(P636):IPOSinpostionDO17(P637):IPOSreferenceP870:ControlWord2P871:PositionhighP872:positionlowP873:ControlWord2P874:PositionhighP875:positionlowP876:ONP941(IPOSencodersource):MotorencoderonterminalX15程序仍然主要有三部分组成,寻参部分,点动部分,自动运行部分。实验中,用BUSMONITOR来发控制字。使DI00为1,并发送PO10806(16进制)开始寻参模式,寻参完成可分别改变DI14

62、、DI15来进行点动的正转和反转(即发送PO11006正转,PO12006反转)。发送PO1C006开始自动模式,自动模式的程序是走一个绝对位置,该位置是通过PO2和PO3来决定的,PO2控制高4位(16进制),PO3控制低四位(16进制)。通过发送过程输出字来确定要走的绝对位置。程序说明:#include#include/=Travelvariables#pragmaglobals200249longFaultNumber;SSPOSSPEEDPosSpeed;/=Terminalassignment#defineI_ControllerInhibitDI00#defineI_EnableD

63、I01#defineI_CWLimitSwitchDI04#defineI_CCWLimitSwitchDI05#defineI_StartReferenceTravelDI13#defineI_JogCWDI14#defineI_JogCCWDI15#defineI_StartEnableDI16#defineI_AutomaticDI17#defineO_ReadyDO01#defineO_FaultDO02#defineO_IposInPositionDO16#defineO_IposReferenceDO17#definereferenced(StatusWord&0 x100000)

64、/=Fixedvalues#defineRAPIDTRAVERSEH10#defineCREEPTRAVERSEH11#defineFAULT_LIMITSWITCH29#pragmalist/*=Subroutineforinitializingthedrive.=*/Initialize()OptOutpIPOS=0;/ClearalloutputsControlWord=0;/ClearIPOScontrolwordRAPIDTRAVERSE=14000;/SetrapidtraversespeedCREEPTRAVERSE=2000;/Setcreeptraversespeed/End

65、Initialize()/*=Faultresponsemoveclearfromlimitswitch.=*/MoveClearFromLimitSwitch()_GetSys(FaultNumber,GS_ERROR);if(FaultNumber=FAULT_LIMITSWITCH)if(!I_CWLimitSwitch&I_JogCCW)_SetSys(SS_RESET,FaultNumber);if(!I_CCWLimitSwitch&I_JogCW)_SetSys(SS_RESET,FaultNumber);/EndMoveClearFromLimitSwitch()/*=Subr

66、outineforinitializingtheaxisandreferencetravel.=*/ReferenceTravel()if(I_StartReferenceTravel&I_ControllerInhibit)/Checkstartcommand_AxisStop(AS_ENABLE);/Enable_Go0(GO0_RESET);/Resetapreviousreferencetravel_Go0(GO0_U_W_ZP);/WaitingreferencetravelonEncoderZeroPulse/EndReferenceTravel()/*Subroutine:Jogmode.*/JogMode()while(I_JogCW|I_JogCCW)_AxisStop(AS_ENABLE);/Isolatedriveif(I_JogCW&(!I_JogCCW)/Queryterminals_GoAbs(GO_NOWAIT,(ActPos_Mot+409600);if(I_JogCCW&(!I_JogCW)_GoAbs(GO_NOWAIT,(ActPos_Mot-40

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!