1.数据类型
数据类型用于确定变量值的类型。在SIMOTION中可以使用下述数据类型:
(1)基本数据类型和通用数据类型
基本数据类型的说明见表10-6。
通用数据类型常用于系统功能及系统功能块的输入或输出参数,通用数据类型的说明见表10-7。
表10-6 基本数据类型
(续)
表10-7 通用数据类型
(2)用户自定义数据类型(UDT)
用户自定义数据类型可包括下述数据类型:
1)简单数据(基本派生数据类型);
2)数组;
3)枚举;
4)结构(Struct)。
用户自定义数据类型(UDT)使用结构TYPE/END_TYPE来定义,下面给出了定义示例。
基本派生数据类型定义示例:
数组ARRAY派生数据类型定义示例:
枚举数据类型(Enumerator)定义示例:
结构体Sructure定义示例:
(3)TO数据类型
所有工艺对象的数据类型,见表10-8。
表10-8 工艺对象的数据类型
下面是一个工艺对象数据类型的变量定义及使用示例:
2.变量定义
SIMOTION中的变量类型可以分为以下三类:
1)SIMOTION设备和工艺对象的系统变量;
2)全局用户变量(I/O变量、全局设备变量及单元变量,可供其他程序单元使用);
3)本地用户变量(程序、功能或功能块中的变量,只能在本程序单元中使用)。
变量标识符的命名应遵循下述规则:
1)必须由字母(A~Z,a~z)、数字(0~9)或下划线组成;
2)首字符必须是字母或下划线;
3)其后可由字母、数字或下划线以任意顺序组成;
4)一行中不能使用多于一个下划线;
5)字母不区分大小写(如Anna和AnNa被认为是一致的)。
为了程序处理方便,把具有相同类型的若干变量按有序的形式组织起来,这些按序排列的同类数据元素的集合称为数组。数组长度的定义方法有
1)输入正整数常数;
2)输入一列数值范围,以“..”分隔开;
3)输入数据格式为DINT的常数表达式。
图10-43为定义数组变量的一个例子,而图10-44为数组变量赋值的例子。(www.xing528.com)
图10-43 数组长度定义
图10-44 数组变量赋值
数组变量初始化可用下面几种方法:
1)输入常数;
2)数学表达式;
3)位片段和数据转换功能。
图10-45是一个数组变量初始化的例子。
图10-45 数组变量的初始化
变量可以在符号导航栏中或源文件的变量声明表或程序的变量声明表中定义,下面介绍在源文件或图/程序中的变量定义。
(1)MCC、LAD单元中的变量定义
1)定义单元变量。单元变量在源文件中声明,根据定义变量位置的不同,变量的有效范围也不同,变量可在接口区或实现区中定义。
在接口区(INTERFACE)中定义的变量在整个源文件中有效,而且变量可以被HMI设备访问,连接后还可以被其他的程序单元访问,接口变量定义的最大长度是64KB。
在执行区(IMPLEMENTATION)中定义的变量只在此源文件中有效。接口区及执行区如图10-46所示。
图10-46 接口区及执行区
2)定义临时变量。临时变量只能在定义它的程序单元(程序,功能FC,功能块FB)中被访问,打开图或程序在上面的变量定义区可定义变量,如图10-47所示。
图10-47 定义临时变量
3)在变量定义对话框中定义全局变量和本地变量。在MCC图或LAD/FBD程序中,当用户输入一个未知变量时,就会出现变量声明对话框(Variable declaration),如图10-48所示。
图10-48 变量声明对话框
然后在对话框中定义变量。在“Name”框中输入变量名称,在“Data type”下拉菜单中定义数据类型,如果是数组变量,在“Array length”中输入数组的长度。在“Initial val-ue”中输入初始值,单击“OK”按钮确认。
在ST语言编程环境下的变量定义,可参考变量声明的语法来声明变量,如图10-49所示。
1)通过使用适当的关键词(如VAR,VAR_GLOBAL)来开始声明块;
2)接下来开始实际的变量声明,可创建多个,并且没有顺序限制;
3)以END_VAR来结束声明块。
图10-49 语言的变量声明语法
需注意以下几点:
1)变量名称必须是一个标识符,只能包含字母、数字或下划线,不能是特殊字符。
2)基本数据类型、UDT(用户自定义数据类型)、系统数据类型、工艺对象数据类型、数组数据类型及FB块指定允许作为数据类型。
3)可在变量声明语句中给变量赋初始值。
①在INTERFACE中声明的全局变量示例。
此处创建的全局变量可导出供其他程序单元访问,可进行状态监控,关联至HMI。具体程序如下:
②在IMPLEMENTATION中声明的变量示例
此处创建的全局变量不可导出供其他程序单元访问,但可进行状态监控,可关联至HMI。具体程序如下:
③在PROGRAM中声明的变量示例
此处创建的本地变量不可导出供其他程序单元,不能进行状态监控,不能关联至HMI。具体程序如下:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。