书籍作者:傅磊 | ISBN:9787302644811 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:8200 |
创建日期:2024-05-10 | 发布日期:2024-05-10 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书从电气从业人员熟悉的梯形图入手,逐步引申,详细介绍了基于IEC 61131—3标准的PLC,如何从梯形图编程过渡到结构化文本编程(ST语言,博途SCL语言)。本书以CODESYS、西门子博途、三菱GxWorks3为例讲解,详细介绍了ST语言/博途SCL语言的语法、运算、语句,并提供了大量的工控案例,供读者加深理解。
傅磊:PLC资深技术专家,10余年工控行业从业经验,深耕OEM行业深谙运动控制,开发过多种自动化设备,涉及食品、饮料、纺织、印染、3C、汽车、环保、石化、包装等多种行业,具备丰富的非标自动化设备开发、设计、调试经验以及丰富的工业现场经验。
工业4.0时代,掌握高级语言已经是工控人的必备技能。学习ST语言不但能提高工作效率,提升PLC技能,更能为学习高级语言如C/C#/Python/VB/Java打下坚实的基础。传统的PLC书籍以梯形图为主,围绕指令展开,以讲解指令为主,以搬运PLC手册为核心,只复述是什么,从不解释为什么。而且例子要么太久远脱离现实,要么早就不用PLC来处理脱离实际,往往使读者云里雾里,不得要领。本书从工控行业解决实际问题的思路出发,以解决问题为导向,引导读者思考,系统论述从梯形图编程过渡到高级语言编程的工具图书,兼容市面上大部分PLC!如三菱(GxWroks2、GxWroks2)、西门子(博途TIAPortal)、欧姆龙(CX-One、Sysmac Studio)、AB(ConnectedComponentsWorkbench、Studio5000)、施耐德(EcoStruxure ControlExpert控制专家、UnityPro)、台达(ISPSoft)、松下(ControlFPWINPro7)、基恩士(KVSTUDIO)以及CODESYS平台(比如施耐德EcoStruxureMachineExpert机器专家、Somachine、汇川InoProShop、雷赛LeadSys、信捷XSStudio、英威腾InvtmaticStudio、禾川Q系列、步科AK800、合信CTH300)、KW平台( 比如菲尼克斯AutomationWorx、富士D300Win)等符合IEC61131-3标准的PLC、PAC、运动控制器、CNC等等。
本书第1版自出版以来,笔者收到了很多热心读者的来信和反馈,对书的内容提出了很多合理化和可行性建议,再加上PLC技术也在不断迭代更新,笔者便针对性地对第1版的内容进行了增加和修改,并更正了部分错误。
随着工业4.0时代的到来和智能制造的发展,ST语言的应用也越来越广泛。很多读者想快速学会ST语言以解决实际问题,但困难重重,总有条无法逾越的鸿沟横亘在面前。就笔者的个人经验以及读者的反馈来看,困难无非集中在以下几点: 第一,PLC基础不过关; 第二,对PLC的应用目的不清楚; 第三,对ST语言仍然有误解; 第四,不肯动手练习; 第五,不结合机械设备理解程序。针对以上问题,第2版增加了常见PLC如何新建ST语言开发环境的内容。由于PLC品牌众多,但读者对ST语言与PLC品牌无关的概念有点模糊,希望读者能明确一个理念: 学习ST语言,是学习它的语法和语句,以及它的编程理念,结合PLC的各种功能,比如任务和功能块、总线控制、寄存器寻址等功能,应用于工程实践,而不是纠结不同PLC品牌的差异、纠结各种指令的用法。PLC是工业控制器,面向的是工业应用,但很多学习ST语言的实例,跟工业控制应用相差甚远,特别是循环语句部分,第2版着重增加了一些工业现场的实例,并增加了对PLC基础的讲解和程序的实现方法讲解。
编程语言只是工具,就好比厨师手中的刀,如果厨师对烹饪技术一窍不通,再好的刀也做不出可口的佳肴。正所谓“君子生非异也,善假于物也”。如果厨师烹饪技术一流,没有称手的刀,做出的菜肴想必达不到色、香、味俱佳的层次,正所谓“巧妇难为无米之炊”。有了称手的工具,还要有扎实的基础才能使用好工具。所以要想学好ST语言,光学习ST语言的语法和语句是不行的,还需要扎实地掌握PLC基础知识。
最后希望读者能明白,本书的实例虽然脱胎于工业现场,但目的并不仅仅是让读者学会这些实例,最重要的是希望读者能够通过反复练习,结合书中的实例,加深对ST语言的理解,并能融会贯通、举一反三,掌握ST语言的本质,正所谓“熟读唐诗三百首,不会吟诗也会吟”,最终达到“目无全牛”“游刃有余”的境界。
由于笔者水平有限,书中疏漏之处在所难免,敬请读者批评指正。
傅磊2023年12月
随着生产力的发展和科学技术的进步,机器设备控制技术越来越复杂。非标准设备
层出不穷,逻辑控制与运动控制的融合越来越密切,工艺计算也越来越复杂。
从事设计调试的一线工程技术人员都有这样的感受,使用传统的梯形图(Ladder Diagram,LD)编程感觉越来越力不从心,特别是
面对复杂任务的时候。结构化文本(Structured Text,ST)语言的出现,大大简化了程序的编写难度,提高了工作效率,使工程技术人员能够轻松面对各种复杂的控制任务。过去,ST语言更像是奢侈品,支持ST语言的可编程控制器(Programmable Logic Controller,PLC)非常少,而且这些PLC一般是中、高档系列的,价格较贵。近几年,支持ST语言的PLC越来越多,很多品牌的高、中、低档PLC都支持ST语言,例如三菱最基础的FX1S系列PLC,也可以使用ST语言编程。
市面上的多数PLC教材,都以介绍梯形图为主,各大院校也仍在沿用这类教材,
书中即使有涉及ST语言的内容,也是一带而过,让初学者更加糊涂。
各大PLC厂商的帮助文档和编程手册中有对ST语言的讲解,
但是不系统,只有简单的讲解,没有详细的用法说明,其中的例子
也与工业控制的关系不大,很难让初学者理解和掌握,
甚至难以入门。很多电气从业人员
不了解ST语言,甚至将其与西门子PLC的语句表(Statement List,STL)
以及指令表(Instruction List,IL)混为一谈。
在很多场合,ST语言仅仅被用于配合梯形图进行数学运算,这违背了设计ST语言的初衷。人们对ST语言的各种误解,再加上使用ST语言的电气从业人员比较少,严重影响了ST语言的推广和使用,使初学者更加畏惧ST语言。
因此,从工程技术实践出发,编写一本适合电气从业人员学习ST语言的教程,非常必要。
本书是笔者根据多年工作经验及学习ST语言的具体体会编写而成的。大多数电气从业人员都是以梯形图为基础接触PLC编程
的,并且除了理工科专业的毕业生之外,电气从业人员几乎没有接触计算机高级语言的经历。
因此,本书将以最基本的梯形图为切入点,介绍如何用ST语言代替梯形图,逐步深入,
带领读者进入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.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语言的学习方法