- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TwinCAT基礎编程手册
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
文档评论(0)