PLCopen定义的利用IEC61131-3标准的运动控制功能块 zz 点击:3307 | 回复:17



叫我小白

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 1559回
  • 年度积分:3
  • 历史总积分:3122
  • 注册:2006年6月08日
发表于:2007-03-27 15:36:00
楼主
PLCopen运动控制功能块提供的标准以IEC61131-3功能块概念为基础。随着功能性和接口的标准化及在多个平台上执行,建立了编程标准,并在工业领域被广泛支持。由于封装隐藏了数据,此标准可用于不同结构,适用的控制从集中型到分散型或从集成型到网络型。它不是为某个应用程序特别设计的,而是可以作为在不同领域中正进行定义的基础层。正因为如此,它对现有和将来的技术都是开放的。
任务工作小组定义了运动控制功能块概念有以下几个目标: 
1.简单性 — 容易编写应用程序、安装和维护 
2.效率性 — 体现在功能块的数量和设计效率上 
3.一致性 — 符合IEC61131-3标准 
4.通用性 — 独立于硬件 
5.灵活性 — 将来的扩展/应用范围 
6.完全性 — 不是强制性的但很充分 

对于轴定义了七种状态 :
  1.保持静止 2.回原位 3.离散运动 4.持续运动 5.同步运动 6.停止 7.故障停止 

  正常过程都从静止开始。在此状态下,每个轴都可连通电源(通过供电命令)。而且可以访问回原位状态(通过对每个轴发布回原位命令),正常完成后返回静止状态。从这里可以将轴转成离散运动或持续运动。通过停止状态可以返回到静止。发生故障时轴将转换为故障停止状态。通过重启命令(人工操作)可以返回到静止,接下来机器可以再次进入运行状态。请注意这些状态都定义了功能块的功能性。 


功能块集的定义 
  功能块的粒度是基本问题。对应于低层次命令的功能性而言,每个轴至少有一个功能块。一个中间层更好地实现了以上的要求,减轻处理器的负载并创建了更高水准的可伸缩性。运行就是在此层次的基础上进行。而且,为了将来的扩展定义两个功能块输入和输出集:一个必须遵守的基本集和一个扩展集。 

轴的数据类型及实例 
  导出数据类型AXIS_REF提供轴的索引。所有制造商都提供这种数据类型。它还为电机/驱动器提供接口。实接口的技术性隐藏在结构和功能块中。这样,当用户访问所有相关参数时,不同的结构看起来是一样的。这种结构包括集成于控制器的运动、集成于驱动器的控制、分布型和网络型系统。 

AxisRef作为Var_In_Out 
  Axis_Ref作为Var_In_Out使用,表示在功能块图形中的水平线连接的一个输入和一个输出。输入/输出变量值存储于FB的外部。Axis_Ref使用的变量表现为输入和输出参数,可以在功能块内修改,以及从外部变量接收数值。 
举例说明如何进行这个操作:设想一个程序包括很多功能块,所有的功能块都彼此相连(从左至右),都通过Axis_Ref参照到同一个轴。此程序是在一个循环任务模式中,比如每一个毫秒。第一个FB读取Axis_Ref中的最新值,并在完成执行前可能更新其中一些值。紧接着下一个FB开始运行,读取Axis_Ref中已更新的值,也就是使用最新值。这些值耦合到电机。系统间的控制结构完全不同。 

单轴运动控制定义的功能块:
MC_MoveAbsolute 

在一个指定的绝对位置命令被控运动。 
MC_MoveRelative 
在执行时,命令指定距离的被控运动,此距离与实际位置有关。 

MC_MoveAdditive 
  除了在离散运动状态下原始命令的位置,命令一个指定相关距离的被控运动。如果FB在持续模式下启动,在执行时指定的相关距离被加入到实际位置。 

MC_MoveSuperimposed 
  除了已有的运动,命令指定相关距离的被控运动。已有的运动不被中断,而是叠加运动。 

MC_MoveVelocity 
  命令在特殊速率下的不停止的被控运动。 

MC_Home 
  命令轴执行“回原位搜索”顺序。此顺序的细节由制造商决定,并由轴的参数设置。当检测到参照信号时,位置输入用于设置绝对位置。在静止时完成此操作。 

MC_Stop 
  命令被控运动停止,将轴转换为“停止”状态。它会中止任何进行中的功能块的执行。使用“Done”输出,可转换为静止状态。当轴处于“停止”状态时,其他的FB不可以在这个轴上执行任何运动。 

MC_Power 
控制电源(开或关)。 

MC_ReadStatus 
返回到相应于当前正在进行运动的轴的详细状况。 

MC_ReadAxisError 
显示与功能块无关的故障。 

MC_Reset 
  通过复位所有内部与轴有关的故障和清除悬挂的命令,实现从故障停止状态到静止状态的转换。它不作用于FB实例的输出。 

MC_ReadParameter& MC_ReadBoolParameter 
  返回到供应商的专用参数值。如果有必要的话,返回值必需转换为实数。若不能的话,供应商需提供一个由其规定的独立的FB。 

MC_WriteParameter& MC_WriteBoolParameter 
修改供应商专用的参数值。 

MC_ReadActualPosition 
返回到实际位置。 

MC_PositionProfile 
命令一个时钟位置以锁定运动的轮廓图。 
MC_VelocityProfile 
命令一个时间速率以锁定运动的轮廓图。 

MC_AccelerationProfile 
命令一个时间加速度以锁定运动的轮廓图。 

多轴功能块的通用设备 
  针对多轴协同运动定义了一个小型的功能块集。附加的应用特定的资料库扩展了该功能块集。目前已定义的功能块有: 

CamTableSelect 
通过在相关表格上设置指针来选择CAM(凸轮)表格。 

Camln 
啮合CAM。 

CamOut 
立即脱离对主轴的啮合。 

GearIn 
命令从轴和主轴间的速度比。 

GearOut 
从轴脱离对主轴的从属。 





叫我小白

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 1559回
  • 年度积分:3
  • 历史总积分:3122
  • 注册:2006年6月08日
发表于:2007-03-27 15:40:00
1楼
转的一篇文章,看来比较早了,在V1.1版中新加了一个功能块

MC_Phasing.
用于在同步运动附加相位偏移。

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2007-03-27 19:44:00
2楼
有点儿意思,可以对运控的功能和需求有一个概貌的了解和指导。

叫我小白

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 1559回
  • 年度积分:3
  • 历史总积分:3122
  • 注册:2006年6月08日
发表于:2007-03-28 09:10:00
3楼
我们的plc完全兼容IEC 61131-3编程体系并且开发了上诉这些功能块完成运动控制。

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2007-03-28 15:02:00
4楼
请问贵公司是国内厂商,还是代理国外品牌。

叫我小白

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 1559回
  • 年度积分:3
  • 历史总积分:3122
  • 注册:2006年6月08日
发表于:2007-03-28 15:20:00
5楼
代理国外品牌。
听说和利时的PLC也是完全支持IEC61131-3编程系统的,不知道是否也开发了这些标准的运动功能块。

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2007-03-28 15:52:00
6楼
有一些,不过是借助“3S”的开发环境,并非完全自主开发的,应该与PLCopen差不多。

另,你知道3S与PLCopen是什么关系吗?不是一家吧?!

叫我小白

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 1559回
  • 年度积分:3
  • 历史总积分:3122
  • 注册:2006年6月08日
发表于:2007-03-28 16:31:00
7楼
PLCopen组织推出了IEC 61131-3编程体系,以及在此基础上的功能块。可以说,他们是做标准的。

3S我刚刚在往上搜索了一下,是做自动化软件开发的,是基于IEC 61131-3标准作软件开发。

我估计我们公司的开发软件也是请自动化软件公司做的。

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2007-03-28 17:27:00
8楼
谢谢!产品毕竟不同于技术,国内的某些产品上去了,可未必有技术;也有技术搞出来了,又出不了产品的,尤其是技术综合性较强的产品。
据说和利时当年就是在国家过亿政府资金的支持下,搞出的PLC,解决了无的问题,只是内核还是舶来的,不知到底是可喜,还是可叹?!

叫我小白

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 1559回
  • 年度积分:3
  • 历史总积分:3122
  • 注册:2006年6月08日
发表于:2007-04-30 21:13:00
9楼
我查了一下,估计我们公司的PLC开发软件是Multiprog公司提供的,也是个作基于IEC61131-3标准的自动化软件的公司。

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2007-05-01 13:23:00
10楼
哦!就这样自“暴”家门吗?对于国外公司产品而言无所谓!若是国内产品,正面和相伴的负面影响则都是存在的,比如不少国产PLC事实上是买的3S技术,却声称自有知识产权,福兮祸兮,一时还难以定论。怎么国内这没多软件企业,就没有搞搞61131-3开发的?

叫我小白

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 1559回
  • 年度积分:3
  • 历史总积分:3122
  • 注册:2006年6月08日
发表于:2007-05-01 18:09:00
11楼
写出来就后悔了。

不过是国外公司,而且也是我的猜测。

做自动化的公司一般都是买软件技术。

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2007-05-03 11:59:00
12楼
前两天,看研华的某款主打PAC用的61131-3的编程环境也是Multiprog。

不要“写出来就后悔了”!

叫我小白

  • 精华:0帖
  • 求助:0帖
  • 帖子:20帖 | 1559回
  • 年度积分:3
  • 历史总积分:3122
  • 注册:2006年6月08日
发表于:2011-02-02 10:35:46
13楼

现在我认为3S的软件应用起来更方便。

他们在五种编程语言的基础上增加了一个CFC语言功能,大致是功能块图的加强版。

我看到几家大公司都采用了3S 的codesys产品。

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2011-02-03 23:02:36
14楼

与3S的CoDeSys并驾齐驱的另一个符合PLCopen规范的软PLC体系是InfoTeam的产品。授权方式更灵活。

国内的和利时的小型PLC,步科的PLC(原凯迪恩),台达的小型PLC等都用CoDeSys,数年前众为兴,广数等在用Infoteam的PLC体系开发数控系统。

alexqiu

  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 233回
  • 年度积分:0
  • 历史总积分:933
  • 注册:2006年8月28日
发表于:2011-02-08 15:04:34
15楼
台达应该没有用CodeSys 吧!

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2011-02-09 18:02:18
16楼

待考!               

刺猬sonic

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 20回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2018年3月29日
发表于:2020-05-27 17:16:13
17楼

MotionControl功能块挺好用的。


热门招聘
相关主题

官方公众号

智造工程师