描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302554103丛书名: 清华开发者书库
随着智能制造的兴起,传统制造业将会越来越多地融入智能化控制技术,这也对传统的电气工程师,尤其是PLC程序员带来了新的机遇。但是,智能制造对PLC的智能控制要求越来越高,传统的PLC梯形图编程模式越来越显得效率低下,以ST语言为代表的结构化编程代表着PLC编程的发展方向。但是,市场上介绍PLC的书籍仍然是梯形图编程模式,缺少系统论述结构化文本编程的书籍。为此,我们邀请本书作者结合自己多年的研究与实践经验编写了《PLC结构化文本编程》,这本书完全以高级语言来实现PLC的编程,并且提供了源代码供读者学习,极具参考价值。
本书特色
-
从电气从业人员熟悉的梯形图入手讲解,便于理解,过渡自然;
-
介绍ST语言编程的同时,详细介绍了PLC开发的基础知识;
-
注重理论联系实践,书中所有案例都以工程实际项目为基础;
-
兼顾不同品牌PLC的差异,并系统地归纳总结,举一反三。
本书从电气从业人员熟悉的梯形图入手,逐步引申,详细介绍了基于IEC 61131—3标准的PLC,如何从梯形图编程过渡到结构化文本编程(ST语言)。 本书由浅入深,以施耐德电气基于Codesys的编程软件SoMachine V4.3为主要工具,介绍如何通过ST语言实现梯形图*基本的功能,以及ST语言的基本运算、基本语句、函数与功能块的调用,并结合大量实例,详细阐述PLC基于ST语言的编程技术以及结构化编程思想。同时,以西门子博途和三菱GX Works3为辅助工具,重点介绍ST语言跨平台移植时的注意事项,以及不同PLC之间ST语言的细微差别。PLC编程是一项系统工程,仅仅介绍编程语言是不够的。因此,本书还会穿插一些与ST语言编程有关的PLC系统知识。 ST语言具有与平台无关的天然属性。因此,只要符合IEC 61131—3标准,无论什么品牌的PLC,本书都适用,例如西门子、施耐德、倍福、三菱、欧姆龙、基恩士、汇川、和利时、伦茨以及ABB和KEBA等,不同品牌的PLC之间仅有细微的差别。
本书适合没有计算机基础,特别是没有计算机高级语言基础的电气从业人员,帮助他们从熟悉的梯形图出发,入门并进阶ST语言编程。
第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.5ST语言编程软件
1.5.1本书演示用的软件
1.5.2其他PLC的ST语言开发环境的建立
第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.2.3WORD型逻辑运算的意义
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.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.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.2FOR循环实现MIN函数和MAX函数
12.3.3指针与FOR循环
12.3.4伺服一键使能
12.3.5位整合成字
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.4CASE语句与定时器
参考文献
附录APLC程序设计方法
附录B浅谈非标设备的PLC程序设计
随着生产力的发展和科学技术的进步,机器设备控制技术越来越复杂。非标设备
层出不穷,逻辑控制与运动控制的融合越来越密切,工艺计算也越来越复杂。
从事设计调试的一线工程技术人员都有这样的感受,传统的梯形图(Ladder Diagram,LD)编程越来越力不从心,特别是
面对复杂任务的时候。ST语言(Structured Text Language,结构化文本语言)的出现,大大简化了程序的编写难度,提高了工作效率,使工程技术人员能够轻松面对各种复杂的控制任务。过去,ST语言更像是奢侈品,支持ST语言的PLC非常少,而且一般是中、高档系列的PLC,价格较贵。近几年,支持ST语言的PLC越来越多,很多品牌的高、中、低档PLC都支持ST语言,例如三菱基础的FX1S系列PLC,也可以使用ST语言编程。
市面上的各种PLC教材,都以介绍梯形图为主,各大院校也仍在沿用介绍梯形图的教材。
即使有涉及ST语言的书籍,也是一带而过,让初学者更加糊涂。
各大PLC厂商的帮助文档和编程手册有对ST语言的讲解,
但是不成系统,只有简单的讲解,没有详细的用法说明,其中的例子
也与工业控制关系不大,很难让初学者理解和掌握,
甚至难以入门。很多电气从业人员
不了解ST语言,甚至将其与西门子PLC的STL(Statement List,语句表)
以及IL(Instruction List,指令表)混为一谈。
在很多场合,ST语言仅仅被用于配合梯形图进行数学运算,这违背了设计ST语言的初衷。再加上对ST语言的各种误解,以及使用ST语言的电气从业者比较少,严重影响了ST语言的推广和使用,使初学者更加畏惧ST语言。
因此,从工程技术实践出发,编写一本适合各个层次的电气从业人员学习ST语言的教程,非常必要。
本书是笔者根据多年工作经验及学习ST语言的具体情况编写的。大多数电气从业人员,都是以梯形图为基础接触PLC编程
的,并且除了理工科专业的毕业生,电气从业人员几乎没有接触计算机高级语言的经历。
因此,本书将以基本的梯形图为切入点,介绍如何用ST语言代替梯形图,逐步深入,
带领读者进入ST语言的世界,即使不会计算机高级语言的电气从业人员也能轻松入门。
笔者水平有限,书中难免有错误或不符合逻辑的地方,欢迎读者批评指正。联系邮箱:
[email protected]。
傅磊
作者是具有多年现场服务、项目实施经验的自动化行业的资深工程师,对主流的PLC品牌(如西门子、施耐德、三菱等)都非常熟悉。《PLC结构化文本编程》是作者多年开发经验的分享,书中系统介绍了ST语言的编程方法,是读者学习ST语言的优秀工具书。
——张会永 杭州日鼎公司
《PLC结构化文本编程》摒弃复杂的理论,用电气工程师熟悉的梯形图编程语言和案例,引导读者过渡到ST编程语言。书中不仅系统介绍了ST编程语言的基本编程方法,还详细对比了不同类型PLC的编程差别,可以引领读者快速全面认识PLC,掌握PLC编程技能。
——陆启帅 中国科学院南京天文光学技术研究所
《PLC结构化文本编程》实践性强,书中案例均来自作者的开发项目。所以,本书不仅适合读者学习ST编程语言,还非常适合作为广大电气工程师的PLC项目开发教程,读者可以借助书中实例,二次开发,举一反三。
——黄克亚 苏州大学机电工程学院
过去,由于不同的设计理念和产品传承,不同品牌的PLC互不兼容,这既增加了用户的学习成本,又增加了企业的使用成本。现在,IEC61131-3标准已经成为全球标准,让PLC真正实现了互通互用。而ST编程语言的跨平台特性将进一步提高PLC编程的效率,使用户不再因为更换不同品牌的PLC而增加学习成本。因此,推荐读者学习《PLC结构化文本编程》,早日掌握ST编程模式。
——宋廷强 青岛科技大学信息学院
评论
还没有评论。