线下实训
HOME
线下实训
正文内容
plc编程实例101 新书速览西门子S7-1200 PLC编程与应用实例
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 23
扫码分享至微信

新书速览西门子S7-1200 PLC编程与应用实例

一线资深工程师的全彩版PLC实战教程,软硬件及编程全方位详解(配视频教学)

本书内容

《西门子S7-1200 PLC编程与应用实例》对西门子S7-1200 PLC的硬件和编程软件的功能 进行详细讲解,内容包括PLC编程基础、博途TIA软件入门、指令介绍、PID控制器、变频器通信、伺服电机的控制,以及各种通信协议的使用 等。书中内容配合精选示例进行讲解,示例包含软硬件配置清单、接线图和程序,且程序都来自实际工控现场。

《西门子S7-1200 PLC编程与应用实例》还提供了核心内容的教学视频 ,读者扫描本书的二维码即可在移动设备上观看。

《西门子S7-1200 PLC编程与应用实例》内容由浅入深,由基础到应用,理论联系工程实际,极具实用性,既适合初学者学习使用 ,也可供有一定基础的工程师借鉴和参考,还可作为高等院校自动化和机电专业的教材。

本书作者

张跟华 ,从事工业自动控制相关工作15年,高级工程师,目前就职于某科技公司担任项目经理。在工业控制领域有自己的建树,

参与过智能制造、轨道交通、市政燃气、石油石化、智慧矿山、光伏发电、火力发电、钢铁冶金、医药制造等行业的项目,项目经验丰富。

编辑推荐

《西门子S7-1200PLC编程与应用实例》根据一线资深工程师的十余年实践经验 编撰而成,作者是行业专家,在自动控制领域有独特建树,从事过十余个行业的相关项目,因此,你从本书不仅可以学习PLC1200的应用,其中的工作和实践经验尤其难得。

本书既介绍了硬件构成,也介绍了软件应 用,基础配合实例,循序渐进,通俗易懂,内容详实且丰富,书中还在多个地方使用了图解加以说明 ,对于初学者来说,亲和感很好,大大降纸了学习难度。

作者还为本书录制了核心内容的教学视频 ,读者扫码即可在移动设备上观看,另外,本书使用全彩色印刷 ,这样阅读起来更赏心悦目。

一本好书可以让你学习效率更高,不走弯路,我认为这是一本值得你依赖的好书,在此推荐读者阅读。

本书目录

第1章 PLC编程基础1

1.1 PLC概述1

1.1.1 PLC工作原理1

1.1.2 西门子S7-1200 PLC介绍2

1.2 硬件介绍2

1.2.1 模块概述2

1.2.2 CPU模块功能3

1.2.3 CPU选型4

1.2.4 CPU支持的块5

1.3 PLC数据访问6

1.3.1 数据存储6

1.3.2 访问PLC中的数据7

1.3.3 组态IO9

1.4 数据类型介绍10

1.4.1 基本数据类型11

1.4.2 结构数据类型(Struct)13

1.4.3 PLC数据类型(UDT)15

1.4.4 数组数据类型(ARRAY)17

1.4.5 系统数据类型(SDT)19

1.4.6 参数数据类型(Variant)20

1.4.7 日期和时间数据类型(DTL)22

1.4.8 指针数据类型 25

第 2 章 博途TIA软件入门28

2.1 软件概述与安装28

2.1.1 软件安装对系统的要求28

2.1.2 与其他STEP产品的兼容性29

2.1.3 所支持的虚拟系统29

2.1.4 博途V15.1软件的安装30

2.2 博途软件界面介绍33

2.2.1 Portal视图33

2.2.2 项目视图34

2.3 项目树35

2.4 程序编译和下载37

2.5 程序上传40

2.5.1 设备作为新站上传程序40

2.5.2 已知设备型号,上传软件程序41

2.6 程序比较43

第 3 章 S7-1200 PLC编程基本指令46

3.1 位逻辑指令46

3.1.1 指令说明46

3.1.2 应用示例49

3.2 定时器指令 49

3.2.1 生成脉冲定时器指令50

3.2.2 接通延时定时器指令50

3.2.3 关断延时定时器指令51

3.2.4 时间累加器指令52

3.2.5 应用示例:电机星形转三角形启动53

3.3 计数器指令54

3.3.1 加计数器指令54

3.3.2 减计数器指令55

3.3.3 加减计数器指令56

3.3.4 应用示例:饮料装箱程序57

3.4 比较指令59

3.4.1 指令说明59

3.4.2 应用示例:养殖场自动清洗程序59

3.5 数学函数指令60

3.5.1 计算指令61

3.5.2 数学函数指令说明61

3.5.3 应用示例:编写模拟量运算程序64

3.6 数据移动指令65

3.7 移位和循环指令66

3.7.1 指令说明66

3.7.2 应用示例:流水灯控制程序67

3.8 数据转换指令68

3.8.1 指令说明68

3.8.2 应用示例:温度传感器控制69

3.9 字逻辑运算指令70

第 4 章 组织块、函数块和数据块 73

4.1 组织块73

4.1.1 组织块的概念73

4.1.2 组织块的功能74

4.1.3 组织块的类型75

4.1.4 组织块的创建76

4.2 数据块77

4.2.1 数据块的概念77

4.2.2 数据块的创建78

4.2.3 数据块的访问80

4.2.4 数据块的优化访问80

4.3 函数和函数块82

4.3.1 函数的概念82

4.3.2 函数块的概念82

4.3.3 函数和函数块的区别83

4.3.4 函数或函数块的创建83

第 5 章 S7-PLCSIM仿真软件的使用84

5.1 S7-PLCSIM软件简介84

5.2 精简视图和项目视图86

5.2.1 精简视图86

5.2.2 项目视图86

5.2.3 在精简视图和项目视图之间进行切换87

5.2.4 分离仿真和项目87

5.2.5 启动和停止仿真 87

5.2.6 仿真状态89

5.2.7 仿真PLC与真实PLC之间的区别89

第 6 章 以太网通信及应用示例99

6.1 PROFINET接口简介99

6.2 PROFINET通信100

6.2.1 PROFINET通信介绍100

6.2.2 PROFINET的3种传输方式101

6.2.3 S7-1200 PLC PROFINET的通信能力101

6.2.4 PROFINET通信应用示例102

6.3 开放式用户(TCP)通信105

6.3.1 TCON指令105

6.3.2 TSEND指令108

6.3.3 TRCV指令110

6.3.4 应用示例112

6.4 Modbus TCP通信121

6.4.1 Modbus TCP概述121

6.4.2 Modbus TCP通信的特点121

6.4.3 Modbus TCP客户端通信示例122

6.5 ISO on TCP通信125

6.5.1 ISO on TCP通信概述125

6.5.2 ISO on TCP通信应用示例125

6.6 S7通信134

6.6.1 S7通信概述134

6.6.2 S7通信应用示例135

第 7 章 串行通信及应用实例139

7.1 模块介绍139

7.2 PtP接线方式141

7.3 PtP通信指令介绍143

7.4 Modbus RTU协议介绍145

7.4.1 Modbus功能代码145

7.4.2 指令说明146

7.4.3 Modbus RTU通信示例155

第 8 章 S7-1200与HMI通信163

8.1 HMI介绍163

8.2 HMI画面制作165

第 9 章 PID控制器应用实例170

9.1 S7-1200 PID功能概述170

9.2 创建PID指令171

9.3 如何选择PID指令174

9.4 PID Compact V2指令介绍175

9.5 调用PID Compact V2的步骤178

9.5.1 基本设置179

9.5.2 过程值设置180

9.5.3 高级设置181

9.6 PID自整定功能186

9.6.1 功能介绍186

9.6.2 PID_3Step V2指令介绍189

9.6.3 S7-1200 PID_3Step V2组态步骤及设置194

第 10 章 S7-1200与G120变频器进行USS通信201

10.1 USS概述201

10.1.1 USS协议介绍201

10.1.2 USS协议的通信数据格式202

10.2 USS通信原理与函数块编程203

10.2.1 S7-1200 PLC与G120通过USS通信的基本原理203

10.2.2 USS函数块编辑204

10.2.3 工程实例208

第 11 章 S7-1200与智能仪表通信215

11.1 SENTRON PAC3200仪表介绍215

11.2 SENTRON PAC3200与S7-1200进行通信217

第 12 章 创建数据日志225

12.1 数据日志的指令概述225

12.2 创建数据日志226

12.2.1 操作步骤226

12.2.2 完整程序232

第 13 章 工程案例分析234

13.1 案例1:运动控制234

13.1.1 对轴进行组态237

13.1.2 控制程序241

13.2 案例2:水箱水位控制系统246

13.3 案例3:电梯控制系统255

13.4 案例4:伺服电机控制系统263

13.5 案例5:物料分拣控制系统273

参考文献283

本文摘自《西门子S7-1200 PLC编程与应用实例》,获出版社和作者授权发布。

PLC基本知识 -- 51 运算指令 (顺便学英文)

Math Instructions / 运算指令

Let's now look at using some basic math functions on our data. Many times in our applications we must execute some type of mathematical formula on our data. It's a rare occurrence when our data is actually exactly what we needed.

现在让我们看看如何在数据上使用一些基本的数学函数。很多时候,在我们的应用程序中,我们必须对数据执行某种类型的数学公式;但当我们的数据确实是我们所需要的类型的时候,我们也不一定要用到运算指令。

As an example, let's say we are manufacturing widgets. We don't want to display the total number we've made today, but rather we want to display how many more we need to make today to meet our quota. Lets say our quota for today is 1000 pieces. We'll say X is our current production. Therefore, we can figure that 1000-X=widgets left to make. To implement this formula we obviously need some math capability.

举个例子,假设我们在生产小部件,我们不想显示我们今天完成的总数,但是我们想显示我们今天需要完成多少才能达到我们的配额。假设我们今天的配额是1000件,我们当前的产量是X,那么,我们可以计算出我们还需要完成多少才能达到我们的配额,即还需要完成的小部件数量是1000-X。显然,为了实现这个公式,我们需要一些数学运算能力。

In general, PLCs almost always include these math functions:

一般来说,PLC通常包括以下这些数学运算功能:

Addition - The capability to add one piece of data to another. It is commonly called ADD.加法 - 将一段数据与另一段数据相加的功能,它通常被称为ADD。Subtraction - The capability to subtract one piece of data from another. It is commonly called SUB.减法 - 从一个数据中减去另一个数据的能力,它通常被称为SUB。Multiplication - The capability to multiply one piece of data by another. It is commonly called MUL.乘法 - 将一段数据乘以另一段数据的能力,它通常被称为MUL。Division - The capability to divide one piece of data from another. It is commonly called DIV.除法 - 将一个数据与另一个数据进行相除的能力,它通常被称为DIV。

As we saw with the MOV instruction there are generally two common methods used by the majority of plc makers. The first method includes a single instruction that asks us for a few key pieces of information. This method typically requires:

正如我们在MOV指令中讲到的,大多数PLC制造商通常使用两种常用的方法。第一个方法 包含一条指令,它要求我们提供一些关键信息。这种方法通常需要:

Source A - This is the address of the first piece of data we will use in our formula. In other words it's the location in memory of where the first "number" is that we use in the formula.源A - 这是我们将在我们的公式中使用的第一数据块的地址。换句话说,它是我们在公式中使用的第一个“数字”在内存中的位置。Source B - This is the address of the second piece of data we will use in our formula. In other words it's the location in memory of where the second "number" is that we use in the formula. -NOTE: typically we can only work with 2 pieces of data at a time. In other words we can't work directly with a formula like 1+2+3. We would have to break it up into pieces. Like 1+2=X then X+3= our result.源B - 这是我们将在公式中使用的第二数据块的地址。换句话说,它是我们在公式中使用的第二个“数字”在内存中的位置。注意:通常我们一次只能处理2个数据。换句话说,我们不能直接用1+2+3这样的公式,我们得把它拆成碎片,比如1+2=X,然后X+3=结果。Destination - This is the address where the result of our formula will be put. For example, if 1+2=3, (I hope it still does!), the 3 would automatically be put into this destination memory location.结果 - 这是我们的计算公式的结果将被存放的地址。例如,如果1+2=3,3将自动放入这个目标内存位置。

ADD symbol / ADD指令符号

The instructions above typically have a symbol that looks like that shown above. Of course, the word ADD would be replaced by SUB, MUL, DIV, etc. In this symbol, The source A is DM100, the source B is DM101 and the destination is DM102. Therefore, the formula is simply whatever value is in DM100 + whatever value is in DM101. The result is automatically stored into DM102.

上面的指令通常有一个类似于上面所示的符号。当然,ADD这个指令会被替换为SUB、MUL、DIV等。在这个符号中,源A的地址是DM100,源B的地址是DM101,计算结果的地址是DM102。因此,公式就是DM100中的任何值+ DM101中的任何值,计算结果自动存储到DM102中。

Shown above is how to use math functions on a ladder diagram. Please note that once again we are using a one-shot instruction. As we've seen before, this is because if we didn't use it we would execute the formula on every scan. Odds are good that we'd only want to execute the function one time when input 0000 becomes true. If we had previously put the number 100 into DM100 and 200 into DM101, the number 300 would be stored in DM102.(i.e. 100+200=300, right??)

上图显示的是如何在梯形图上使用数学运算函数。请注意,我们再次使用上升沿指令DIFU。正如我们之前看到的,这是因为如果我们不使用它,程序每次扫描时都会执行一次这个公式。当输入0000为“真”(True)时,我们只希望执行一次这个运算函数,这种功能是很常用的。如果我们预先将数字100放入地址DM100,将数字200放入地址DM101,那么数字300将被存储在地址DM102中。(100+200=300,对吧?)

ADD symbol (dual method) / ADD指令符(用于双指令方式)

The dual instruction method would use a symbol similar to that shown above. In this method, we give this symbol only the Source B location. The Source A location is given by the LDA instruction. The Destination would be included in the STA instruction.

双指令方法将使用类似于上图所示的符号。在这个方法中,ADD指令只给出这个符号的源B地址DM101,源A的地置DM100由LDA指令给出,结果的地址DM102将包括在STA指令中。

Shown above is a ladder diagram showing what we mean.

上图是双指令方法的梯形图。

The results are the same as the single instruction method shown above.

其计算结果和上面所讲单指令的计算结果是一样的。

In the example above, data memory 102 (DM102) initially holds the constant (number) 0000. Each time the operator pushes button 0000 the difu instruction will turn on (become true) FOR ONE SCAN. When this happens we load the value(number) in DM100(100) and add it to the value(number) in DM101(200). The result, 300 in this example (100+200=300) is then stored in DM102(300).

在上面的示例中,数据内存102 (DM102)最初保存的常量(数字)是0。每次操作员按下0000按钮,DIFU指令就会打开(变为“真”)一个扫描周期,当发生这种情况时,我们加载DM100中的值(数字)100并将其与DM101中的值(数字)200相加。其结果,本例中的300(100+200=300)存储到DM102中去。

What would happen if we had a result that was greater than the value that could be stored in a memory location?

如果计算结果大于存储器可以存储的最大值,会发生什么情况呢?

Typically the memory locations are 16-bit locations. (more about number types in a later chapter) In plain words this means that if the number is greater than 65535 (2^16=65536) it is too big to fit. Then we get what's called an overflow. Typically the plc turns on an internal relay that tells us an overflow has happened. Depending on the plc, we would have different data in the destination location. (DM102 from example) Most PLCs put the remainder here.

通常,内存地址是16位的地址(关于数字类型的更多内容将在后面的章节中介绍)。简单地说,这意味着如果数字大于65535(2^16=65536),那么它就太大了,寄存器无法容纳。然后我们得到了所谓的溢出。通常,这时候PLC会打开内部继电器,告诉我们发生了溢出。根据PLC的不同,我们在目标地址(比如DM102)会有不同的数据,大多数PLC将其余数放在这里。

Some use 32-bit math which solves the problem. (except for really big numbers!) If we're doing division, for example, and we divide by zero (illegal) the overflow bit typically turns on as well. Suffice it to say, check the overflow bit in your ladder and if its true, plan appropriately.

一些使用32位的运算来解决这个问题(除非是非常大的数字!)。例如,如果我们在做除法,然后除以0(非法),溢出位通常也会打开。我只想说,检查一下你的梯形图上是否有溢出的部分,如果是的话,适当地规划一下,可以设计成报警输出。

Many PLCs also include other math capabilities. Some of these functions could include:

许多PLC还包括其他一些数学运算功能。其中一些功能可能包括:

Square roots / 平方根ScalingAbsolute value / 绝对值Sine / 正弦Cosine / 余弦Tangent / 正切Natural logarithm / 自然对数Base 10 logarithm / 以10为底的对数X^Y (X to the power of Y) / X的Y次方Arcsine (tan, cos) / 反正弦and more....check with the manufacturer to be sure. / 还有其他的请查询用户手册

Some PLCs can use floating point math as well. Floating point math is simply using decimal points. In other words, we could say that 10 divided by 3 is 3.333333 (floating point). Or we could say that 10 divided by 3 is 3 with a remainder of 1(long division). Many micro/mini PLCs don't include floating point math. Most larger systems typically do.

一些PLC也可以使用浮点数。浮点数学就是简单地使用小数点,换句话说,我们可以说10除以3等于3.333333(浮点数)或者我们可以说10除以3等于3余数是1(长除法),许多迷你PLC不包括浮点运算,但大多数大型系统通常都会有浮点运算功能。

Understand the theory and we can always learn how our manufacturer of choice does it.

理解这个理论,我们就可以知道如何选择我们所需类型的PLC。

相关问答

PLCST语句编程for语句的一个小问题J:=101;FORI:=1TO100BY2DO...

[最佳回答]每一次循环,变量I+2呗,直到I>100时,for循环结束

欧姆龙cp1e的plc怎么输出101.06这样的,我输入了很多次都不会显示大写的Q?

只有本体上的输入输出点会显示I,Q的前缀,对于扩展模块上的,是不会有的。只有本体上的输入输出点会显示I,Q的前缀,对于扩展模块上的,是不会有的。

交通灯的模拟控制实验步骤?

关断电源,通过USB接口将CP1HPLC和计算机相连,把并按以下步骤连线:1、输入接线区域的XCOM端子和输出接线区域的GND端子相连;2、输出接线区域的+24V端子和...

最近在调试西门子PLC程序,为什么出现一个情况,我把程序重新下载到PLC里面的时候,它不重新开始运行?

可能是因为你内部用了中间存储变量,且其初始值已经修改了。你重新下载后程序自动判断,跳到了中间程序运行。可在OB100或101/102中初始化你恢复这些程序运行状...

PLC中M100.1、MB100、MW100、MD100的含义?–960化工网问答

MW100是字类型地址,为M区域(辅助继电器)的第100个字,一个字2个字节16个位,所以MW100就包含了MB100、MB101,即包含M100.0~M100.7、M101.0~M100.7这16个...

电子专业的进,PLC,PLD,EDA,DSP,单片机,嵌入式系统都是...

PLC主要是指数字运算操作电子系统的可编程逻辑控制器,用于控制机械的生产过程。可编程逻辑器件PLD(programmablelogicdevice):PLD是做为一种通用集...

plc中采用八进制编号是?

在PLC(可编程逻辑控制器)中,使用八进制(Octal)编号通常用于表示数字或控制信号的状态。每个位可以使用三个八进制数字(0-7)来表示。在八进制编号中,每...在...

日本现在有造航母的技术吗?

原创不易,请随手关注!作者:毅品文团队最荒凉的沙漠,无授权禁转!随着安倍晋三的领导,日本政府右翼势力的不断膨胀。原本根据和平宪法,日本不在拥...事实上也确...

vw100寄存器地址是多少?

根据我的理解和查阅资料得知,vw100寄存器地址是一个虚拟寄存器地址,具体的地址值需要根据不同的设备和控制系统来确定。在PLC编程中,vw100通常用于存储和传输...

西门子PLC程序中定时器的使用?

TON:接通延时定时器TONR:掉电保护性接通延时定时器TOF:断开延时定时器BITIM:开始间隔时间CITIM:计算间隔时间按时间分:1ms10ms100ms以下是S7-200的定时器TONR.....

 玛雅预言2012  校园招聘 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部