趋高智能之运动控制软件伺服控制多轴

趋高智能运动控制(MC)是自动化的一个分支,它使用通称为伺服机构的一些设备如液压泵,线性执行机或者是电机来控制机器的位置或速度。运动控制在机器人和数控机床的领域内的应用要比在专用机器中的应用更复杂,因为后者运动形式更简单,通常被称为通用运动控制(GMC)。运动控制被广泛应用在包装、印刷、纺织和装配工业中。

趋高运动控制软件应用:

1.根据要开发设备的工作特点,确定伺服电机的类型。
2.确定要控制的电机轴数和电机工作模式。
3.确定位置检测、反馈模式,选择是否采用光电编码器或光栅尺或磁栅尺。
4.确定输入输出开关量的数量。
5.根据以上内容,选择合适的运动控制器

趋高智能的Fuxi程序设计语言模式扩展与覆盖技术为代码复用提供一个精细方案

在C++、JAVA等语言中,方法的继承与覆盖是对整个方法进行的,而Fuxi语言可以在模式级进行,从而进一步地提高了代码的复用率。例如,我们想在派生类中,对Fib函数进行改造,增加一个Fib(-1)模式,同时修改Fib(0)模式,程序可以写成:

public class NewFibonacci : Fibonacci
  {
   Fib(-1) = 0 // 扩展Fib(-1)
   Fib(0) = 0 // 覆盖Fib(0)
  }

趋高智能的Fuxi程序设计语言对象的脚本化定义机制,提高程序的说明性。
类中定义的字段如果没有初始化,同时构造函数也没有对其进行初始化,则该字段为自由字段(Free Field)。Fuxi中公开的自由字段称为槽(Slot)。这样,一个带槽的类就是一个框架。当用这样的带槽类定义对象时,我们可以在对象后附着一个脚本一样的程序段,来填写槽值(Slot Value)。这种对象的定义机制称为对象的脚本化定义(Scripted Definition of Objects)。脚本化定义非常适合描述资源,同时它也进一步地提高了Fuxi语言的说明性。看例子:

class Button
{
   public Button( String title ) = {…}
   public POINT at // at 槽
   public SIZE size // size 槽
   …
}
class Field
{
public Field( String text ) = {…}
public POINT at // at 槽
public SIZE size // size 槽
}

Field fldName( “海创达” )
{
at : 100, 100 // 填写at的槽值
size: 200, 30 // 填写size的槽值
}
Button btnExit( “退出” )
{
at : 200, 200
size: 80, 40
}

§3.4 受卫字段(Guarded Field),提高程序安全性
  我们可以为Fuxi的字段提供一组卫兵(Guards),卫兵是函数或子句。用{}将卫兵扩起来,附着在字段的后面。Fuxi字段的卫兵可以是:

When() = <条件表达式>

Valid() = <条件表达式>

Before() -> <动作表达式>

After() -> <动作表达式>

Fuxi对字段的修改过程为:

如果没有定义When()函数, 则转步骤3;

计算When()函数,如果值为false, 则转步骤10;

如果没有定义Before()触发器,则转步骤5;

执行触发器Before();

保存字段的原值;

修改字段的值;

如果没有定义Valid()函数,则转步骤11;

计算函数Valid(),如果值为true,则转步骤11;

恢复字段的原值;

修改失败,返回f

alse;

如果没有定义After()触发器,则转步骤13;

执行触发器After();

修改成功,返回true。

趋高智能之运动控制软件伺服控制多轴

相关文章: