在编程的过程中,经常会遇到一些疑问,为何同样的变量颜色不一样?为什么使用Move指令无法传送数据?下面学习君将会和大家一起学习sysmac studio软件的数据类型介绍。
首先了解一个词,POU。POU是Program Organization Unit的简写,意思是程序组织单元,是IEC61131-3标准中规定的被广泛使用的编程单位。POU由程序(Program)、功能块(Function Block)和功能(Function)组成。一个用户程序可能由多个POU组成,从下图可以看到Sysmac Studio软件上使用的是POUs。(程序/功能/功能块将会在后续如何制作功能块中进行介绍)
变量分为全局变量和局部变量。全局变量可以被所有的POU使用,其中IO映射、轴变量、系统变量都是全局变量。局部变量是只能在POU中使用的变量,又称本地变量或者内部变量。通常全局变量在程序中显示为红色,局部变量显示为黑色。局部变量可以重复命名但是通常不建议这样做,容易造成程序混乱。
在编程是,变量会显示外部变量和内部变量,其中内部变量就是程序中使用的变量也就是局部变量,外部变量就是全局变量。
变量命名,变量命名可以使用中英文、数字和下划线,下划线不能连续,变量最大长度为127字节,变量不区分大小写,不允许使用系统关键词进行命名。局部变量不允许与外部变量重名。
每个变量都需要申明数据类型,但是变量该使用什么样的数据类型,数据类型怎么用呢?下面就看学习君逐一介绍。
1、布尔型
布尔型也就是BOOL型,也就是常用的开关量、数字量,但是数据数据大小为16位、2字节。取值范围是True或者False;表达方式为BOOL#0、BOOL#1或者True False。
2、位串型
位串型包括BYTE、WORD、DWORD、LWORD,数据大小为8、16、32、64位,1、2、4、8字节。BYTE取值范围为16进制00~FF;WORD取值范围16进制0000~FFFF;DWORD取值范围为16进制00000000~FFFFFFFF;LWORD取值范围为16进制0000000000000000~FFFFFFFFFFFFFFFF。表达方法为BYTE#16#01,WORD#16#13,WORD#2#010101010,DWORD#16#19191919,lword#16#8888888888等。(数据类型不区分大小写)
3、整数型
整数型分为无符号整型和有符号整型,有符号整型有SINT、INT、DINT、LINT,数据大小分别为8、16、32、64,1、2、4、8字节;无符号整型有USINT、SINT、UDINT、ULINT,数据大小分别为8、16、32、64,1、2、4、8字节。表达方式无符号整型和有符号整型最大的区别就在于负数,无符号整型正数负数和0都可以表达,但是有符号整型只能表达0和正数;整型不仅可以用十进制表达,还可以用2进制、8进制和16进制表达。例如:SINT#10,INT#-10,-1999,+19202122,USint#10#100,Uint#2#0101,Udint#8#676767,Ulint#16#FFFFFF。
4、实数
实数分为Real和Lreal,数据大小分别为32位和63位,表达方式可以是Real#-3.1415926,也可以是科学计数法(轴位置经常会遇到),3.141592653等。
5、字符串
字符串是string。在通讯的时候会经常遇到这种数据类型。单个字符串占1个字节,但是通常使用字符串的数组。字符串需要注意,字符串结尾带NULL,字符串字符支持所有UTF-8字符编码。字符串表达方法为’ABC’。
6、时间型
欧姆龙NJ的时间为TIME数据类型,通常会配合计时器使用,数据大小为64位、8字节。表达方式为T#1ms,t#1ms,TIME#10m_10ms,time#10d10h10m10s10ms。需要注意的是,有些触摸屏不支持time数据类型,因此,在使用的过程中需要进行转换。后面会介绍如何实现。
7、日期型、日期时刻型
日期型为DATE,日期时刻型为DATE_OF_TIME。区别在于,日期型精确到日、日期时刻型精确到ms。数据大小为64为8字节。通常会在日期显示、产量计算等用到日期数据类型。使用GetTime指令可以读取PLC当前时间。
以上就是PLC的变量及变量数据类型介绍。后续会推出结构体、联合体和枚举体数据类型,数组的应用和数据类型转换等内容。
Sysmac Studio软件的在线操作(一)
Sysmac Studio软件的在线操作(二)
Sysmac Studio软件的编程快捷键使用介绍