目录



第1章ST语言基本介绍

1.1ST语言简介

1.1.1ST语言的诞生背景

1.1.2ST语言的基本特点

1.2ST语言与SCL以及STL的关系

1.3ST语言的特点

1.3.1良好的跨平台移植性

1.3.2方便的数学计算

1.3.3轻松实现复杂算法

1.3.4轻松进阶计算机高级语言

1.3.5方便的注释

1.4初学者对ST语言的误解

1.4.1与英语相关

1.4.2ST语言不易理解

1.4.3需要很深的PLC基础

1.4.4工具和操作的继承

1.4.5ST语言维护麻烦

1.5书中使用的ST语言开发环境

1.5.1施耐德SoMachine

1.5.2三菱GX Works2与GX Works3

1.5.3西门子TIA Portal

1.6其他PLC的ST语言开发环境

1.6.1台达

1.6.2汇川

1.6.3英威腾

1.6.4禾川

1.6.5步科

1.6.6松下

1.6.7欧姆龙

1.6.8基恩士

1.6.9施耐德

1.6.10罗克韦尔





第2章ST语言基础知识

2.1IEC 61131标准与PLCopen组织

2.1.1标准的诞生背景

2.1.2标准的组成

2.1.3PLCopen组织

2.2进制

2.2.1二进制

2.2.2八进制

2.2.3十进制

2.2.4十六进制

2.3变量

2.3.1变量的意义

2.3.2变量属性

2.4数据类型

2.4.1数据类型的意义

2.4.2标准数据类型

2.4.3扩展数据类型

2.4.4自定义数据类型

2.5数据类型转换

2.5.1数据类型转换的意义

2.5.2隐式转换

2.5.3显式转换

2.6程序组织单元

2.6.1软件模型

2.6.2初步认识功能和功能块

2.6.3SoMachine中常用的功能块和函数

第3章ST语言基本语法

3.1ST语言的基本规则

3.1.1不区分大小写

3.1.2变量必须先定义再使用

3.1.3使用英文输入法

3.2ST语言的基本组成

3.2.1行号

3.2.2注释

3.2.3空语句

3.2.4语句部分

3.3赋值语句

3.3.1语句组成

3.3.2注意事项

3.4赋值与相等

3.5编写技巧和方法

3.5.1缩进与对齐

3.5.2快捷键

3.5.3注释

3.5.4空语句和注释符号

3.5.5变量命名

第4章逻辑运算与IF语句

4.1BOOL型逻辑运算

4.1.1AND

4.1.2OR

4.1.3NOT

4.1.4XOR

4.2无符号数的逻辑运算

4.2.1运算方法

4.2.2BOOL型与WORD型的逻辑运算

4.3IF…END_IF语句

4.3.1执行流程

4.3.2IF…END_IF语句的应用

4.4IF…ELSE…END_IF语句

4.5综合应用

4.5.1“启保停”的ST语言实现

4.5.2IF语句与逻辑运算语句

4.5.3置位与复位

4.5.4复杂梯形图

4.5.5基本电机控制

4.5.6互锁控制

4.5.7变频器多段速控制

4.5.8多轴状态判断

4.6西门子博途中的逻辑运算

4.7使用IF语句的注意事项

第5章边沿触发

5.1基本概念

5.1.1上升沿

5.1.2下降沿

5.1.3西门子博途中的边沿触发

5.2边沿触发与逻辑运算的综合应用

5.2.1启动保持停止

5.2.2单按钮启停

5.2.3逻辑运算实现边沿触发

5.3注意事项

第6章比较运算

6.1比较运算符

6.1.1梯形图中的比较运算

6.1.2比较运算的注意事项

6.2各数据类型的比较运算

6.2.1BOOL型

6.2.2数值型

6.2.3时间型

6.2.4字符串型

6.3连续比较运算

6.4比较运算与边沿触发的综合应用

6.4.1监控变量值的变化

6.4.2密码锁

第7章数学运算

7.1加、减、乘、除运算

7.1.1加法运算

7.1.2减法运算

7.1.3乘法运算

7.1.4除法运算

7.1.5取余运算

7.2加、减、乘、除运算的应用

7.2.1计算设备的持续运行时间

7.2.2伺服计算

7.2.3生成随机数

7.2.4模拟量计算

7.2.5设备车速计算

7.2.6码垛与拆垛

7.2.7配方计算

7.2.8高低字节交换

7.2.9字节组合成字

7.3函数运算

7.3.1乘方

7.3.2绝对值

7.3.3三角函数

7.3.4对数

7.3.5平方根

7.4如何调用函数

第8章运算优先级

8.1优先级的意义

8.2优先级的应用

8.2.1不能进行连续比较运算

8.2.2启保停程序中的括号

第9章IF语句的嵌套

9.1嵌套的执行流程

9.2嵌套的应用

9.2.1伺服电机的控制

9.2.2密码锁

9.3嵌套的注意事项

9.4IF…ELSIF…END_IF语句

9.4.1执行流程

9.4.2IF…ELSIF…END_IF语句的应用

第10章定时器与计数器

10.1定时器

10.1.1定时器的调用

10.1.2应用定时器的注意事项

10.2计数器

10.3定时器和计数器的应用

10.3.1累积定时器

10.3.2星形三角形启动

10.3.3第三方设备写入定时器定时时间

10.4如何调用功能块

10.5西门子博途中的定时器调用

10.5.1调用方法

10.5.2如何减少背景数据块

10.6三菱GX Works3中的函数和功能块调用

10.6.1函数调用

10.6.2功能块调用

第11章功能块和函数

11.1功能块和函数的意义

11.2功能块与函数中的变量

11.2.1形参和实参

11.2.2变量属性

11.2.3如何区分功能块和函数

11.3函数的实质

11.3.1静态变量与临时变量

11.3.2自定义函数的使用

11.4CODESYS中常用系统函数介绍

11.4.1字符串处理函数

11.4.2数据类型转换函数

11.5功能块的实质

11.5.1实例名的意义

11.5.2功能块的特征

11.5.3如何减少功能块的调用

11.6功能块和函数在编程中的应用

第12章循环语句

12.1循环的实质

12.2FOR循环语句

12.2.1FOR循环执行流程

12.2.2使用FOR循环的注意事项

12.3FOR循环的应用

12.3.1FOR循环实现多个电机的启停控制

12.3.2PLC的I/O点放入数组

12.3.3位组合成字

12.3.4伺服一键使能

12.3.5冒泡排序

12.3.6指针与数组

12.3.7指针实现冒泡排序

12.3.8批量传送数据

12.3.9三菱PLC变址寻址

12.3.10配方处理

12.3.11模拟量滤波

12.4WHILE循环语句

12.4.1WHILE循环执行流程

12.4.2使用WHILE循环的注意事项

12.5REPEAT循环语句

12.5.1REPEAT循环执行流程

12.5.2使用REPEAT循环的注意事项

12.6循环语句的控制

12.6.1EXIT

12.6.2CONTINUE

12.7循环语句的注意事项

第13章CASE语句

13.1CASE语句的执行流程

13.2CASE语句的意义

13.3CASE语句的应用

13.3.1周期脉冲输出

13.3.2星形三角形启动

13.3.3红绿灯控制

13.3.4桁架机械手

13.3.5工艺的暂停处理

13.3.6简化复杂的IF语句

13.3.7状态机编程法

13.3.8伺服回零

13.3.9步进抱闸控制

13.3.10MODBUS轮询

13.3.11立库

13.4CASE语句与定时器

参考文献

附录APLC程序设计方法

附录B浅谈非标设备的PLC程序设计

附录C关于PLC编程框架和标准化

附录DPLC程序移植

附录E浅谈ST语言的学习方法