西门子PLC学习笔记五-(编程语言、数据类型)
来源:互联网 发布:高级计算机程序员 编辑:程序博客网 时间:2024/05/07 20:10
1.编程语言
PLC的编程语言有STL(语句表)、LAD(梯形图)、FBD(功能块图)、GRAPH(顺序功能图)、SCL(结构化控制语言)、HiGraph(图形编程语言)、CFC(连续功能图)等。Step7中STL、LAD、FBD是基本的编程语言,并且在step7软件中可以进行自动转换。
2.数据类型
1)基本数据类型
2)复杂数据类型
复杂数据类型需要预先定义,其变量只能在全局数据块中声明,可以作为参数或逻辑块的局部变量。
Step7中支持的类型有:数组、结构、字符串、日期、时间、用户自定义类型、功能块类型。
A.数组
数组的维数为1~6,即最大是6维的。如下面的是3维数组的定义方式:
a ARRAY[1..3,1..5,1..7] INTa表示一个3*5*7的三维整形数组,可以通过数组名加上下标方式来引用数组中的某个元素,如 a[2,3,4]
B.结构
例:Motor:STRUCT
Speed:INT
Current:REAL
END_STRUCT
C.字符串
字符串STRING是最多254个字符(CHAR)的一维数组,最大长度为256个字节(前2个字节是存储字符串的长度信息)。如’i'm is string'
D.日期和时间
日期和时间(DATE_AND_TIME)用于存储年、月、日、时、分、秒、毫秒和星期,占8个字节,用BCD码格式保存。星期1~7代表星期一到星期日
如:DT#2014-09-28-10:28:33.300表示2014年9月28号10点28分33.3秒
E.自定义类型
自定义类型(UDT)表示自定义结构,存放在UDT块中(UDT1~UDT65535),在另一个数据类型中作为一个数据类型“模板”。
例:把结构存与UDT1中,可以再数据库中定义数组abc ARRAY[1..10] UDT1.
上述的几种复杂类型在DB块中的定义如下图:
2 0
- 西门子PLC学习笔记五-(编程语言、数据类型)
- 西门子PLC学习笔记十八-(带参数FC编程)
- 西门子PLC学习笔记十九-(FB编程)
- 西门子PLC学习笔记八-(定时器)
- 西门子PLC学习笔记十-(计数器)
- 西门子PLC学习笔记十七-(不带参数FC编程)
- 西门子PLC学习笔记十七-(不带参数FC编程二)
- 西门子PLC学习笔记十八-(带参数FC编程二)
- 西门子PLC学习笔记一(S7-300简介)
- 西门子PLC学习笔记三(S7-300信号模块)
- 西门子PLC学习笔记二-(工作记录)
- 西门子PLC学习笔记六-(Step7指令简介)
- 西门子PLC学习笔记七-(位逻辑指令)
- 西门子PLC学习笔记九-(CPU时钟存储器)
- 西门子PLC学习笔记十一-(装入与传送指令)
- 西门子PLC学习笔记十二-(转换与比较指令)
- 西门子PLC学习笔记十四-(用户程序结构及执行)
- 西门子PLC学习笔记十六-(逻辑块的结构)
- 对重构的理解
- Cocos2d-x v3.x官方文档】自动批处理(Auto-batching)
- oracle学习之路(二、存储过程)
- 字符串移位
- 不同数据库中时间类型的总结
- 西门子PLC学习笔记五-(编程语言、数据类型)
- Eclipse/My Eclipse 主题
- Qt 程序在linux下的发布
- VS2010 LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- EF Code First 学习笔记:约定配置Data Annotations+Fluent API
- Cocos2d-X 定义系统的粒子效果
- Exception in thread "main" java.lang.IllegalArgumentException: Comparison method violates its gener
- NGUI UICenter On Child 在3.69版本中 不能居中!
- JAVA进阶-多线程(1)