加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线18475208684
公司新闻
【从SIMOTION到SIMATIC T-CPU】之数据类型
发布时间: 2024-11-26 11:29 更新时间: 2024-11-26 11:29
观看【从SIMOTION到SIMATIC T-CPU】之数据类型视频


数据类型决定了一个变量的长度、取值范围和适用的操作指令。对于常用的基本数据类型(例如BOOL、INT等)以及复合数据类型(例如ARRAY、STRUCT等),SIMATIC T-CPU较SIMOTION更加丰富,二者数据类型的对照可参见文末附表。

本文主要针对用户自定义数据类型(UDT)枚举型(ENUM)/命名值数据类型(NVT)工艺对象(TO)数据类型,对比SIMOTION和T-CPU的异同。

用户自定义数据类型

SIMOTION中用户自定义数据类型可以在单元的INTERFACE和IMPLEMENTATION区声明,也可以在FC/FB的接口区声明。

T-CPU中用户自定义数据类型是在PLC Data Types中声明的,它可以放在一个软件单元的内部或外部。

声明的位置和可用范围的关系,可以参考本公众号往期文章:

【从SIMOTION到SIMATIC T-CPU】之软件单元

枚举/命名值数据类型

SIMOTION中的枚举型和T-CPU中的命名值数据类型有点像特殊的用户自定义数据类型,它是一组基本数据类型(Byte, Word, Int,…)的命名常量值集合,有助于提高代码的可读性和可维护性。下图是在T-CPU中声明一个命名值数据类型的示例,只能在软件单元的PLC Data Types中创建并定义。

此外,在T-CPU中读写NVT数据类型的变量时,变量值写法必须是

工艺对象数据类型

由于SIMOTION和T-CPU在工艺对象方面的差异,使得具体的TO数据类型也略有不同,可参见文末附表,此处重点讲解二者在任意TO数据类型使用上的差别。为了增加程序的灵活性或实现标准化,通常要将FC/FB中TO类型的变量定义为任意TO数据类型,例如SIMOTION中使用的ANYOBJECT。当这个TO类型的变量被赋值后,假设传递了一个速度轴,如果接下来要执行的是定位任务,就会发生错误。因此必须先对该变量的取值做判断,在SIMOTION中这段程序是这样的:

在SIMATIC T-CPU中没有ANYOBJECT这种TO数据类型,解决方法是通过DB_ANY和REF_TO配合来实现的,详见本公众号往期文章:

轴控制的标准化和模块化编程


联系方式

  • 电  话:13922889745
  • 经理:向小姐
  • 手  机:18475208684
  • 微  信:18475208684