Type:

Axis Command

Syntax:

FLEXLINK(base_dist, excite_dist, link_dist, base_in, base_out, excite_acc, excite_dec, link_axis, options, start_pos)

Description

The FLEXLINK command is used to generate movement of an axis according to a defined profile. The motion is linked to the measured motion of another axis. The profile is made up of 2 parts, the base move and the excitation move both of which are specified in the parameters. The base move is a constant speed movement. The excitation movement uses sinusoidal profile and is applied on top of the base movement.

FLEXLINK命令用于根据定义的轮廓生成一个轴运动,本运动跟另一轴的测量相关。轮廓由“基本位移”与“激波位移”二部分组成,同时二者都可以在参数中配置。“基本位移”是一个恒速运动,“激波位移”采用正弦曲线而且居于“基本位移”的上部。

Parameters:

base_dist:

The distance the axis should move at a constant speed

excite_dist:

The distance the axis should perform the profiled move

link_dist:

The distance the link axis should move while the FLEXLINK profile executes

base_in:

The percentage of the base move time that completes before the excitation move starts

base_out:

The percentage of the base move time that completes after the excitation move completes.

excite_acc:

The percentage of the excitation move time used for acceleration

excite_dec:

The percentage of the excitation move time used for deceleration.

link_axis:

The axis to link to.

link_options:

Bit value options to customize how your FLEXLINK operates

Bit 0

1

link commences exactly when registration event MARK occurs on link axis

Bit 1

2

link commences at an absolute position on link axis (see link_pos for start position)

Bit 2

4

FLEXLINK repeats automatically and bi-directionally when this bit is set.  (This mode can be cleared by setting bit 1 of the REP_OPTION axis parameter)

Bit 5

32

Link is only active during a positive move on the link axis

Bit 8

256

link commences exactly when registration event MARKB occurs on link axis

Bit 9

512

link commences exactly when registration event R_MARK occurs on link axis. (see link_pos for channel number)

link_pos:

link_option bit 1 - the absolute position on the link axis in user UNITS where the FLEXLINK is to start.

link_option bit 9 – the registration channel to start the movement on

base_dist:

轴在恒速移动的距离段(上图黄色区域)

excite_dist:

轴在异形段移动的距离区间(上图灰色部分)

link_dist:

在执行flexlink轮廓时,连接轴将要移动的距离

base_in:

在“激波位移”启动之前,完成的“基本位移”时间百分比   (相当于在同步区域,主轴和从轴)

base_out:

在“激波位移”完成后,须完成的“基本位移”时间百分比(相当于在同步区域,主轴和从轴)

excite_acc:

在“激波位移”执行时,加速度区间占用的时间百分比

excite_dec:

在“激波位移”执行时,减速度区间占用的时间百分比

link_axis:

联接的轴号

link_options:

根据Bit值的选项来定制MOVELINK的运动

Bit 0

1

联接开始,当注册事件(Mark)发生在联接轴上时

Bit 1

2

联接开始,指定联接轴的绝对位置(link_pos起始位置)

Bit 2

4

FLEXLINK自动重复双向运行(REP_OPTION=1关闭此模式)

Bit 5

32

在联接轴的正移动过程中(加计数状态),联接才有效

Bit 8

256

联接开始,当注册事件(MarkB)发生在联接轴上时

Bit 9

512

联接开始,当注册事件(R_Mark)发生在联接轴上时(见link_pos的通道数)

link_pos:

link_option bit 1:联接轴上指定的绝对位置启动FLEXLINK(使用的是用户单位)

link_option bit 9:开始运动的注册通道

The link_dist is in the user units of the link axis and should always be specified as a positive distance.

该link_dist是联接轴的用户单位,总是应该指定一个正的距离值。

The link options for start (bits 1, 2, 8 and 9) may be combined with the link options for repeat (bits 4 and 8) and direction.

启动为link options (bits 1, 2, 8 and 9),也可以结合link options中重复的 (bits 4 and 8)和方向

start_pos cannot be at or within one servo period’s worth of movement of the REP_DIST position.

start_pos不能在一个伺服周期内从REP_DIST位置中取得有意义的运动

Examples:

Example 1:

Suppose you want a smooth curve for 40% of a cycle and to remain stationary for the remainder:

FLEXLINK(0,10000,20000,60,0,50,50,1)

In this example the move length is 10000 and this is linked to 20000 distance on the link axis (1).  The axis is stationary for 60% of the cycle and the move is 50% accel/50% decel.

Example 2:

Suppose you want a 1:1 background link but to advance 500 using a smooth curve between 80% and 95% of a cycle:

FLEXLINK(10000,500,10000,80,5,50,50,1)

In this example the base move length is 10000 and this is linked to 10000 distance on the link axis (1).  The excite distance is 500 and this starts after  80% of the cycle, with 5% at the end also clear of excitation.  The “excite” move is 50% accel/50% decel.

自己总结:

这是一条运动指令,在工业项目中的轮切,飞剪等一些项目的应用。

看上面描述的图片理解:

          黄色区域 = 主轴运动的曲线

          红色的曲线 = 跟随轴的曲线

          BASE IN 是同步区域,BASE OUT 是同步区域

          EXCITE ACC    EXCITE DEC 是可以通过参数来修改加速和减速的曲线

下一期我会针对这条指令的应用,给出一些实例,包括曲线,参数,一直注意的事项。

TRIO-basic指令--FLEXLINK的更多相关文章

  1. 杂项-软件: VBA(Visual Basic for Applications)

    ylbtech-杂项-软件: VBA(Visual Basic for Applications) VBA (Visual Basic宏语言) Visual Basic for Application ...

  2. Nginx模块参考手册:HTTP核心模块

    FROM: http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=17238776&id=2982697 这些模块默认会全部编 ...

  3. nginx 参数详解

    nginx的http web功能     必须使用虚拟机来配置站点:每个虚拟主机使用一个server{}段来配置     非虚拟主机的配置.公共选项,需要定义在server之外,http之内      ...

  4. 我在知乎上关于Laser200/310电脑的文章。

    我是30年前从Laser-310起步的,我来回答这个问题. 主要硬件规格: CPU:Z-80A/4.7MHz主频 16K RAM + 2K Video RAM 16K ROM 磁带输出:波特率300 ...

  5. Nginx HTTP 核心模块

    原文链接:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=17238776&id=2982697aio 语法:aio [ ...

  6. TRIO-basic指令--函数FUNCTION

    TRIO-basic支持函数(强类型)编程,与PLC来相比较的话类似于定义的功能块可以重复调用,和C,C#......等一些高级的编程语言的函数类似.上一次的demo中决定尝试TRIO的函数来做一些例 ...

  7. IL指令详细表

    名称 说明 Add 将两个值相加并将结果推送到计算堆栈上. Add.Ovf 将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上. Add.Ovf.Un 将两个无符号整数值相加,执行溢出检查,并且 ...

  8. IL指令汇总

    名称 说明   名称 说明 Add 将两个值相加并将结果推送到计算堆栈上.   Ldelem.I1 将位于指定数组索引处的 int8 类型的元素作为 int32 加载到计算堆栈的顶部. Add.Ovf ...

  9. [.NET逆向] .net IL 指令速查(net破解必备)

    .net的破解比较特殊,很多人看见IL就头疼,最近在研究的时候发现了这个东东 相信对广大学习net破解的人一定有帮助 .对上指令表一查,跟读原代码没什么区别了, 名称 说明 Add 将两个值相加并将结 ...

随机推荐

  1. [20171110]sql语句相同sql_id可以不同吗.txt

    [20171110]sql语句相同sql_id可以不同吗.txt --//提一个问题,就是sql语句相同sql_id可以不同吗?--//使用dbms_shared_pool.markhot就可以做到. ...

  2. 安装SQL 2005 出现警告 ,32位ASP.NET已经注册,需要注册64位

    将64位.net注册到iis上 cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 ...

  3. 游标和递归sql 的一些代码

    DECLARE @UserID INT; --推广员帐号 DECLARE @ProxyID INT; --代理帐号 ; --分数 SELECT @UserID = [SpreaderID] FROM ...

  4. JS获取本周、本季度、本月、上月的开始日期、结束日期

    /** * 获取本周.本季度.本月.上月的开始日期.结束日期 */ var now = new Date();                    //当前日期 var nowDayOfWeek = ...

  5. python随机生成6位数验证码

    #随机生成6位数验证码 import randomcode = []for i in range(6):    if i == str(random.randint(1,5)):        cod ...

  6. 项目Alpha冲刺 5

    作业描述 课程: 软件工程1916|W(福州大学) 作业要求: 项目Alpha冲刺(团队) 团队名称: 火鸡堂 作业目标: 介绍第五天冲刺的项目进展.问题困难和心得体会 1.团队信息 队名:火鸡堂 队 ...

  7. PAT A1127 ZigZagging on a Tree (30 分)——二叉树,建树,层序遍历

    Suppose that all the keys in a binary tree are distinct positive integers. A unique binary tree can ...

  8. liunx基础知识

    学习Linux系统的重要性应该不用多说,下面我就对Linux的基础知识进行一个全面而又简单的总结.不过建议大家还是装个Linux系统多练习,平时最好只在Linux环境下编程,这样会大有提高. linu ...

  9. Omi框架学习之旅 - 获取DOM节点 及原理说明

    虽然绝大部分情况下,开发者不需要去查找获取DOM,但是还是有需要获取DOM的场景,所以Omi提供了方便获取DOM节点的方式. 这是官网的话,但是我一直都需要获取dom,对dom操作,所以omi提供的获 ...

  10. 笨鸟先飞之ASP.NET MVC系列之过滤器(04认证过滤器)

    概念介绍 认证过滤器是MVC5的新特性,它有一个相对复杂的生命周期,它在其他所有过滤器之前运行,我们可以在认证过滤器中创建一个我们定义的认证方法,也可以结合授权过滤器做一个复杂的认证方法,这个方法可以 ...