西门子S7-1500PLC编程基础

1 术语

TIA 博途中的通用术语:

PLC变量

PLC数据类型

变量表

含义如下:

1

变量

变量由名称/标识符标记,并使用控制器内存中的地址。变量总是用某种数据类型(布尔、整数等)定义的:
• PLC变量
• 数据块中的单个变量
• 完整的数据块

2

变量值

变量值是存储在变量中的值。

3

实际参数

实参是指令、函数、函数块等接口互联的变量。

4

形式参数
(传递参数、块参数)

形式参数是指令、函数和函数块(Input、Output、 InOut和Ret_Val)的接口参数。

2 常用编程语言

1

梯形图

LAD

Ladder Diagram

适合电气控制

2

功能块图

FBD

Function Block Diagram

适合电子工程

3

结构化控制语言

SCL

Structured Control Language

类似C语言

4

语句表

STL

Statement List

汇编语言,指令多

参考文章:西门子PLC四种不同的编程语言示例_西门子plcc语言编程-CSDN博客

注:创建块时,例如OB、FB和FC,都可以直接用所需的编程语言进行编程。

3 块

3.1 处理器优化数据存储

数据存储原则:

出于与第一代SIMATIC控制器兼容的原因,S7-300/400控制器接受了“大端”数据存储原则

基于改变的处理器架构,新一代S7-1500控制器始终以“小端”顺序访问4个字节(32位)。因此在系统端会产生以下属性。

3.2 标准块与优化块

表 S7-1500控制器的数据访问

 

标准块

优化块

1

如果发生不利偏移,控制器需要2×16 位访问才能读取4个字节的值(例如 REAL值)。
此外,必须翻转字节。

控制器存储变量的访问是优化的。访问是32位(REAL)。
不需要翻转字节。

2

每次访问都会读取整个字节和屏蔽每个位。
整个字节被阻止进行任何其他访问。

每个位都分配一个字节。
控制器在访问时不必屏蔽字节。

3

最大块大小为64kB。

最大块大小可达16MB。

推荐:只使用优化块。

注:优化块不显示偏移地址”。

3.3 块属性

块大小

最大大小和数量
 (不考虑内存大小)

S7-1500

DB

最大尺寸

64 kB
 16 MB
(优化的CPU1518)

 

最大数量

65535

FC/FB

最大尺寸

512 KB

 

最大数量

65535

FC/FB/DB

最大数量

10000 (CPU1518)

组织块数量

组织块类型

S7-1500

好处

循环和启动OB

100

用户程序的模块化

硬件中断

50

可为每个可能的事件单独创建OB

延时中断

20

用户程序的模块化

循环中断

20

用户程序的模块化

时钟中断

20

用户程序的模块化

调用块时,块参数可以有针对性的显示或隐藏。在这里,有三个选项可以为每个形式参数单独配置(显示,隐藏,如果未分配参数则隐藏)。可用于:

– FC, FB

– In, Out, InOut

优点:更好地概览具有许多可选参数的块。

4 S7-1500的数据类型

4.1 基本数据类型

整数数据类型

类型

大小

数值范围

USint

8

0 .. 255

SInt

8

-128 .. 127

UInt

16

0 .. 65535

UDInt

32

0 .. 4.3 Mio(10^9)

ULInt*

64

0 .. 18.4 Trio (10^18)

LInt*

64

-9.2 Trio .. 9.2 Trio

LWord

64

16#0000 0000 0000 0000 to
16# FFFF FFFF FFFF FFFF

注:S-small, D-double, L-long, S-signed, U-unsigned

浮点数据类型

类型

大小

数值范围

Real

32位(1位前缀,8位指数,23位尾数),
精度为小数点后7位

-3.40e+38 .. 3.40e+38

LReal

64位(1位前缀,11位指数,52位尾数),
精度为小数点后15位精度

-1.79e+308 .. 1.79e+308

4.2 数据类型Date_Time_Long

结构:

Year

Month

Day

Weekday

Hour

Minute

Second

Nanosecond

DTL 总是读取当前系统时间。通过符号名称访问各个值(例如, My_Timestamp.Hour)

4.3 Unicode数据类型

Unicode数据类型

类型

大小

数值范围

WCHAR

2 字节

-

WSTRING

(4 + 2*n) 字节

预设值: 0 .. 254个字符
最大值:0 .. 16382

备注:n = 字符串长度

4.4 数据类型VARIANT

VARIANT类型的参数是一个指针,可以指向不同数据类型的变量。与ANY指针相比,VARIANT是一个带有类型检测的指针。这意味着目标结构和源结构在运行时被检查,必须是相同的。

比如:

ANY和VARIANT的比较

ANY

VARIANT

使用定义的结构需要10个字节的内存

不需要用户的主存储器

通过分配数据区或填充ANY结构进行初始化

通过分配数据区或系统指令进行初始化

无类型化的–无法识别互连结构的类型

类型化的–互连类型可被识别,对于数组,长度也可以确定

部分类型化的–对于数组,长度也可以确定

VARIANT可以通过系统指令进行评估和创建

5 符号和注释

5.1 注释

梯形图(LAD):

说明:

1. 块注释

2. 网络标题注释

3. 网络注释

4. 注释指令、块和函数(打开、关闭等)

在编程语言SCL和STL中,可以在每一行中用 // 进行注释。

注:可以在监控表中创建注释行

5.2 系统常量(System constants)

S7-1500控制器的所有硬件和软件组件(例如,接口、模块、OB...)都有自己的系统常量。系统常量是在中央和分布式I/O的设备组态的设置期间自动创建的。

注:控制器的系统常量可在“PLC变量 - 默认变量表”文件夹中找到。

5.3 用户常量(User constants)

全局用户常量在“PLC 变量”中定义。

使用用户常量来提高程序的可读性和集中可变性

– 错误代码,

– CASE指令,

– 转换系数,

– 自然常数...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值