字符串截取右3位TwinCAT 软件编程
用户指令手册 V1.0
2002.10.28
目录
1. 标准数据类型 3
1.1 BOOL 3
1.2 整型数据类型 3
1.3 REAL / LREAL 3
1.4 STRING 3
1.5 时间、日期类型 4
1.6 常数 4
1.6.1 BOOL – 常数 4
1.6.2 TIME – 常数 4
1.6.3 DATE – 常数 4
1.6.4 TIME_OF_DAY 常数 4
1.6.5 DATE_AND_TIME – 常数 5
1.6.6 数值常数 5
1.6.7 REAL / LREAL – 常数 5
1.6.8 STRING – 常数 5
2. 变量类型转换功能 6
2.1 BOOL_TO_变换 6
2.2 TO_BOOL – 变换 6
2.3 整型数类型之间的转换 6
2.4 REAL_TO - / LREAL_TO – 转换 7
2.5 TIME_TO - / TIME_OF_DAY – 转换 7
2.6 DATE_TO - / DT_TO – 转换 7
2.7 STRING_TO – 转换 7
2.8 TRUNC (取整) 8
3. 用户定义的数据类型 8
3.1 数组 8
3.2 指针 10
3.3 牧举 10
3.4 结构 10
3.5 参考 (别名类型) 11
3.6 替代范围类型 11
4. 编程方式 14
4.1 指令表 IL 14
4.2 结构化文本 ST 17
4.3 功能块图 FBD 18
4.4 梯形图 LD 19
5. TwinCAT 中全部运算符及功能名 20
1. 标准数据类型
1.1 BOOL
BOOL 类型变量可取值 TRUE 和 FALSE。保留8位内存空间。
1.2 整型数据类型
所有的整型数据类型为:
● BYTE 字节
● WORD 字
● DWORD 双字
● SINT 短整型
● USINT 无符号短整型
● INT 整型
● UINT 无符号整型
● DINT 双精度整型
● UDINT 无符号双精度整型
各个不同的数据类型有不同的值范围。下表为整型数据的值范围和占用的内存空间
类型 | 下限 | 上限 | 内存空间 |
BYTE | 0 | 255 | 8 位 |
WORD | 0 | 65535 | 16 位 |
DWORD | 0 | 4294967295 | 32 位 |
SINT | -128 | 127 | 8 位 |
USINT | 0 | 255 | 8 位 |
INT | -32768 | 32767 | 16 位 |
UINT | 0 | 65535 | 16 位 |
DINT | -2147483648 | 2147483647 | 32 位 |
UDINT | 0 | 4294967295 | 32 位 |
当用大类型转换为小类型时,将导致丢失信息。
1.3 REAL / LREAL
REAL 和 LREAL 被称为浮点数类型。用于有理数表示。REAL 占用32位内存空间,LREAL 占用64位。
1.4 STRING
STRING 类型变量可以是包含任何字符的字符串。其容量大小在声明变量时说明,如果不对容量大小进行说明,其缺省值为80个字符。
字符串变量声明示例:
str : STRING(35) := ‘This is a String’;
1.5 时间、日期类型
TIME、TIME_OF_DAY (缩写 TOD)、DATE和DATE_AND_TIME (缩写 DT) 数据类型在内部
作为 DWORD 处理。TIME 和 TOD 中的时间用毫秒表示,TOD 中的时间从 12:00 AM 开始。 DATE 和 DT 中的时间用秒表示,并从 1970年1月1日12:00 AM 开始。时间数据的格式在常数一节中说明。
1.6 常数
1.6.1 BOOL – 常数
BOOL – 常数为逻辑值 TRUE 和 FALSE。
1.6.2 TIME – 常数
TIME 常数可以在 TwinCAT PLC 控制中声明。主要用于标准库中定时器的操作,格式如下:
T# xx d xx h xx m xx s xx ms
其中:T 表示时间常数起始,# 数值符号,d 天,h 小时,m 分,s 秒,ms 毫秒。
下面是 ST 中分配的正确的 TIME 常数示例:
TIME1 := T#14ms;
TIME1 := T#100s12ms; (* 单位最大的成员允许超过其极限 *)
TIME1 := t#12h34m15s;
不正确的 TIME 常数示例:
TIME1 := t#5m68s; (*单位较小的成员超过其极限 *)
TIME1 := 15ms; (* 遗漏 T# *)
TIME1 := t#4ms13d; (* 单位顺序错 *)
1.6.3 DATE – 常数
该常数用于输入日期。DATE 常数的声明用 d、D、DATE 或 date,后接 # 构成,可以输入格式为 年-月-日的任何日期。
示例:
DATE#1996-05-06
d#1972-03-29
1.6.4 TIME_OF_DAY 常数
该常数主要用于存储一天中的时间。TIME_OF_DAY 声明用 tod#,TOD#,TIME_OF_DAY# 或time_of_day# 后接一个时间格式:小时:分:秒。秒可以用实数表示。
示例:
TIME_OF_DAY#15:36:30.123
tod#00:00:00
1.6.5 DATE_AND_TIME – 常数
日期常数和时间常数可以组合成所谓的 DATE_AND_TIME 常数。DATE_AND_TIME 常数用 dt#, DT#, DATE_AND_TIME# 或 date_and_time# 开始,后接日期和时间,日期和时间之间用 – 连接。
示例:
DATE_AND_TIME#1996-05-06-15:36:30
dt#1972-03-29-00:00:00
1.6.6 数值常数
数值可以用二进制、八进制、十进制和十六进制数表示。
示例:
14 (十进制数)
2#1001_0011 (二进制数)
8#67 (八进制数)
16#A (十六进制数)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论