
西门子供应编程模块经销商
PLC是什么意思?相信很多人处于大概知道是什么,又无法准确说出的阶段,作为专注于为企业提供数据采集和设备控制解决方案的众诚工业,今天和大家探讨一下。
而众诚工业还能根据用户需求,设计PLC控制程序,为客户提供PLC编程和上位机软件的定制化开发技术服务,满足用户的多种需求,比如,自主研发的洁净空调智能控制系统和通风排风智能控制系统就配置PLC,不仅具有报警和定时控制功能,还兼具可扩展性和兼容性,系统能被第三方系统集成。
以上PLC的基本介绍,相信大家对PLC也有一个初步的了解。PLC的型号、品牌不同,对应着其结构形式、性能、编程方式等等都有所差异,价格也各不相同,在挑选时候,建议先要明确自己的应用需求,比如具体的应用场景,希望实现的运动和控制功能,已经特殊的控制要求,这些将决定了PLC的选型和搭配组合。
简单地说,PLC就是一种小型的计算机,和我们常用的计算机不同的是,PLC是设备之间通过数字信号进行互动,而我们常用的计算机,是人和计算机的互动。
控制是PLC的核心功能,其控制类型主要分为以下几种1、开关量的开环控制。这是PLC*基本的控制功能,它能凭借其强大的逻辑运算能力,取代传统继电接触器的控制系统;
2、数据采集与监控。这是PLC非常必要的功能,否则它将无法完成现场控制;
3、数字量智能控制。PLC具有实现接收和输出高速脉冲的功能,近年来先进的PLC还开发了数字控制模块和新型运动单元模块,让工程师更加轻松地通过PLC实现数字量控制;
4、PLC能通过模拟量采集和调节温度、压力、速度等参数。
正因为PLC功能强大,且具有设计方便、重量体积小、能耗低、改造工作量小、通用性强、维护方便等易学易用的特点,深受工程师的欢迎,应用非常广泛,钢铁、石油、化工、纺织、交通、机械制造等等行业都能看到它的身影。
配 PROFIBUS 地址
在 PROFIBUS 网络中,为每台设备分配了一个 PROFIBUS 地址。这个地址可以在 0 到 127 的
范围内,但下列情况除外:
• 地址 0:为网络组态和/或连接到总线的编程工具保留
• 地址 1:Siemens 保留给第一个主站使用
• 地址 126:为不具有开关设置且必须通过网络重新寻址的出厂设备保留
• 地址 127:为给网络上所有设备广播消息保留,不可以分配给运转设备
可用于 PROFIBUS 运转设备的地址的范围是 2 到 125。
在“属性”(Properties) 窗口中,选择“PROFIBUS 地址”(PROFIBUS address) 组态条目。STEP 7
将显示 PROFIBUS 地址组态对话框,该对话框用于分配设备的 PROFIBUS 地址。接到设备的子网的名称。单击“添加新子网”(Add new subnet) 按钮以创建新的子网。默
认为“未连接”(Not connected)。可以有两种连接类型:
• 默认情况下“未连接”(Not connected) 提供本地连接。
• 网络具有两个或多个设备时,需要子网。
参数 地址 分配给设备的 PROFIBUS 地址
*高地址 *高 PROFIBUS 地址基于 PROFIBUS 上的主动站(例如 DP 主站)。
被动 DP 从站单独具有范围是 1 到 125 的 PROFIBUS 地址,*高
PROFIBUS 地址被设置为(例如)15。*高 PROFIBUS 地址与令牌传
递有关(发送权限传递),并且令牌只传递给主动站。指定*高
PROFIBUS 地址可优化总线。
传输率 组态的 PROFIBUS 网络的传输率:PROFIBUS 传输率的范围是 9.6
Kbps 到 12 Mbps。传输率设置取决于所使用的 PROFIBUS 节点的属
性。传输率不应大于*慢节点所支持的传输率。
通常需要为 PROFIBUS 网络上的主站设置传输率,而所有 DP 从站都
将自动使用该传输率(自动波特)。
11.6.4 分布式 I/O 和诊断指令
有关分布式 I/O 和诊断指令的信息,请参见“分布式 I/O(PROFINET、PROFIBUS 或 ASInterface) (页 372)”。
有关处理诊断事件的信息,请参见“AUTOHOTSPOT”。
11.7 AS-i
通过 S7-1200 AS-i 主站 CM 1243-2 可将 AS-i 网络连接到 S7-1200 CPU。
执行器/传感器接口(或者说 AS-i)是自动化系统中*低级别的单一主站网络连接系统。 CM
1243-2 作为网络中的 AS-i 主站。 仅需一条 AS-i 电缆,即可将传感器和执行器(AS-i 从站设
备)经由 CM 1243-2 连接到 CPU。CM 1243-2 可处理所有 AS-i 网络协调事务,并通过为其
分配的 I/O 地址中继传输从执行器和传感器到 CPU 的数据和状态信息。根据从站类型,可以
访问二进制值或模拟值。 AS-i 从站是 AS-i 系统的输入和输出通道,并且只有在由 CM 1243-2
调用时才会激活。
在下图中,S7-1200 是控制 AS-i 数字量/模拟量 I/O 模块从站设备的 AS-i 主站。要将 AS-i 与 S7-1200 V4.0 CPU 配合使用,必须将 AS-i 主站 CM 的固件升级为 V1.1。
可通过 Web 服务器或 SIMATIC 存储卡进行此升级操作。
说明
对于 V4.0 S7-1200 CPU,如果使用 Web 服务器或 SIMATIC 存储卡将 AS-i 固件从 V1.0 升级至
V1.1,则必须按照下列步骤在 AS‑i Master CM 1243-2 中更新 AS‑i 固件:
1. 将固件升级下载至 AS‑i Master CM 1243-2 中。
2. 下载完成后,对 S7-1200 CPU 循环上电以在 AS‑i Master CM 1243-2 中完成固件升级过程。
3. 对每个附加的 AS-i 主站 CM 1243-2 重复步骤 1 和步骤 2。S7-1200 PLC *多支持三个 AS-i 主
站 CM 1243-2。添加 AS-i 主站 CM 1243-2 和 AS-i 从站
使用硬件目录将 AS-i 主站 CM1243-2 模块添加到 CPU。这些模块连接到 CPU 的左侧,并且
*多可使用三个 AS-i 主站 CM1243-2 模块。要将模块插入到硬件组态中,可在硬件目录中
选择模块,双击该模块或将其拖到高亮显示的插槽中。
表格 11-65 向设备组态添加 AS-i 主站 CM1243-2 模块
模块 选择模块 插入模块 结果
CM
1243-2
AS-i 主站
同样也使用硬件目录添加 AS-i 从站。例如,要在硬件目录中添加“I/O 模块,紧凑型,数字,
输入”从站,请取消选中“过滤器”(Filter)(如果已选中),展开下列容器:
“现场设备 > AS 接口 > 输入/输出模块 IP6x,紧凑型模块 > 数字量 > 输入 > 用户模块 > ASi SM-U,4DI”(Field devices > AS-Interface > Input/Output modules IP6x, compact modules
> Digital > Input > User modules > AS-i SM-U, 4DI)
下一步,从零件号列表中选择“3RG9 001-0AA00”,按下图所示添加“I/O 模块,紧凑型,数字,
输入”从站。
表格 11-66 向设备组态添加 AS-i 从站
插入 AS-i 从站 结果
11.7.1.2 组态两个 AS-i 设备之间的逻辑网络连接
组态 AS-i 主站 CM1243-2 后,便可以组态网络连接。
在“设备和网络”(Devices and Networks) 门户中,使用“网络视图”(Network view) 创建项
目中各设备之间的网络连接。 要创建 AS-i 连接,在第一个设备上选择黄色的 (AS-i) 框。 拖
出一条线连接到第二个设备上的 AS-i 框。 松开鼠标按钮,即可创建 AS-i 连接。
更多相关信息,请参见“设备组态: 创建网络连接” (页 608)。组态 AS-i 主站 CM1243-2 的属性
要组态 AS-i 接口的参数,请单击 AS-i 主站 CM1243-2 模块上的黄色 AS-i 框,巡视窗口的“属
性”(Properties) 选项卡将显示该 AS-i 接口。
在 STEP 7 巡视窗口中,可以查看、组态以及更改常规信息、地址和操作参数:
表格 11-67 AS-i 主站 CM1243-2 模块属性
属性 说明
常规 AS‑i 主站 CM 1243‑2 的名称
操作参数 AS-i 主站的响应参数
I/O 地址 从站 I/O 地址的地址区域
AS‑i 接口 (X1) 分配的 AS-i 网络
说明
“AS-i 组态故障的诊断中断”(Diagnostic interrupt for faults in the AS-i configuration) 和“自
动地址编程”(Automatic address programming) 始终处于激活状态,呈灰显为 AS-i 从站分配 AS-i 地址
组态 AS-i 从站接口
要组态 AS-i 接口的参数,请单击 AS-i 从站上的黄色 AS-i 框,巡视窗口的“属性”(Properties)
选项卡将显示该 AS-i 接口。
1
① AS-i 端口
分配 AS-i 从站地址
在 AS-i 网络中,每台设备都分配有一个 AS-i 从站地址。此地址的范围可从 0 到 31;地址 0 只预留给新从站设备。从站地址从 1(A 或 B)一直到 31(A 或 B),总计*多 62 台
从站设备。
“标准”AS-i 设备使用完整地址,其数字地址不带 A 或 B 标识。“A/B 节点”AS-i 设备的每个地址
都有 A 或 B,这样 31 个地址全都可以使用两次。地址空间范围为 1A 到 31A 再加 1B 到 31B。
1 - 31 范围内的任何地址都可分配给 AS-i 从站设备;即,无论是从站从地址 21 开始,还是
为第一个从站分配地址 1,都无关紧要。
在下面的示例中,三个 AS-i 设备的地址分别为“1”(标准类型设备)、“2A”(A/B 节点类型设
备)和“3”(标准类型设备)
设备所连接到的网络的名称
地址 为从站设备分配的 AS-i 地址范围是从 1(A 或 B)到 31(A 或 B),总计*多 62 台从站设
备
11.7.2 在用户程序和 AS-i 从站之间交换数据
11.7.2.1 STEP 7 组态
AS-i 主站在 CPU 的 I/O 区域中预留一个 62 字节的数据区。在此将按照字节访问数字量数据;
对于每个从站,都有一个字节的输入数据和一个字节的输出数据。
并在 AS-i 主站 CM 1243-2 的巡视窗口中,指示 AS-i 数字量从站到所分配字节数据位的 AS-i
连接分配。在此将按照字节访问数字量数据(即,每个 AS-i 数字量从站都对应一个字节)。在 STEP 7 中
组态 AS-i 从站时,将在相应 AS-i 的巡视窗口中显示访问用户程序中数据的 IO 地址。
已为上面的 AS-i 网络中的数字量输入模块(AS-i SM-U,4DI)分配从站地址 1。单击数字量
输入模块,设备“属性”(Properties) 中的“AS 接口”(AS interface) 选项卡会显示从站地址,如
下图所示:果没有在 STEP 7 中组态模拟量从站,那么只能通过非周期性函数(数据记录接口)访问
AS-i 从站的数据。在 CPU 的用户程序中,可以使用 RDREC(读取数据记录)和 WRREC(写
入数据记录)分布式 I/O 指令读取和写入 AS-i 调用。
说明
在 S7 站的启动过程中,可以通过 AS-i 主站 CM1243-2 上的 CPU 传输通过 STEP 7 指定并下
载到 S7 站中的 AS-i 从站的组态信息。并会覆盖由“系统分配”在线功能 (页 804) ("ACTUAL
-> EXPECTED") 确定的所有现有组态信息。
更多信息
有关 AS-i 主站 CM 1243-2 的详细信息,请参见“SIMATIC S7-12分布式 I/O 指令
有关分布式 I/O 和诊断指令的信息,请参见“分布式 I/O(PROFINET、PROFIBUS 或 ASInterface) (页 372)”。
有关处理诊断事件的信息,请参见“AUTOHOTSPOT”。
11.7.4 使用 AS-i 在线工具
必须在 STEP 7 中转至在线模式才能查看和更改 AS-i 运行模式。
要更改 AS-i 运行模式,请按以下步骤操作:
1. 从 PLC 的设备组态中选择 AS-i 主站 CM1243-2 模块。
2. 单击工具栏中的“转至在线”(Go online) 按钮。
3. 从“在线”(Online) 菜单或项目树中选择“在线和诊断”(online and diagnostics) 命令。
在控制面板的“工作模式”(Operating mode) 下,可以看到两种模式:
• 组态模式 (Configuration mode):
– 可以根据需要更改 AS-i 从站设备和 CPU I/O 地址。
– 绿色“CM”LED 亮起。
• 受保护操作:
– 不能更改 AS-i 从站设备和 CPU I/O 的地址。
黄色“CER” LED 亮起时,表示 AS-i 从站设备组态中出现错误。选择“实际 > 预期”(ACTUAL >
EXPECTED) 按钮会使用 AS-i 现场网络从站设备组态覆盖 AS-i 主站 CM1243-2 模块从站设备
组态。
11.8 S7 通信
11.8.1 GET 和 PUT(从远程 CPU 读取和写入)
可以使用 GET 和 PUT 指令通过 PROFINET 和 PROFIBUS 连接与 S7 CPU 通信。仅当在本地 CPU
属性的“保护和安全”(Protection & Security) 属性中为伙伴 CPU 激活了“允许借助 PUT/GET
通信从远程伙伴访问”(Permit access with PUT/GET communication from remote partner) 功
能后,才可进行此操作:
• 访问远程 CPU 中的数据:S7-1200 CPU 在 ADDR_x 输入字段中只能使用**地址对远程
CPU (S7-200/300/400/1200) 的变量寻址。
• 访问标准 DB 中的数据:S7-1200 CPU 在 ADDR_x 输入字段中只能使用**地址对远程
S7 CPU 标准 DB 中的 DB 变量寻址访问优化 DB 中的数据:S7-1200 CPU 不能访问远程 S7-1200 CPU 的优化 DB 中的 DB 变量。
• 访问本地 CPU 中的数据:S7-1200 CPU 可使用**地址或符号地址分别作为 GET 或 PUT
指令的 RD_x 或 SD_x 输入字段的输入。
说明
V4.x 的 GET/PUT 运行不会自动启用
要启用 GET/PUT 访问 (页 160),必须转到 CPU“设备组态”(Device configuration),打开巡视
窗口,选择“属性”(Properties) 选项卡下的“保护和安全”(Protection & Secuity) 属性。
表格 11-69 GET 和 PUT 指令
LAD/FBD SCL 描述
"GET_DB"(
req:=_bool_in_,
ID:=_word_in_,
ndr=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
addr_1:=_remote_inout_,
[...addr_4:=_remote_inout_,]
rd_1:=_variant_inout_
[,...rd_4:=_variant_inout_]);
使用 GET 指令从远程 S7 CPU 中读取数
据。远程 CPU 可处于 RUN 或 STOP 模
式下。
STEP 7 会在插入指令时自动创建该
DB。
"PUT_DB"(
req:=_bool_in_,
ID:=_word_in_,
done=>_bool_out_,
error=>_bool_out_,
status=>_word_out_,
addr_1:=_remote_inout_,
[...addr_4:=_remote_inout_,]
sd_1:=_variant_inout_,
[....sd_4:=_variant_inout_]);
使用 PUT 指令将数据写入远程 S7
CPU。远程 CPU 可处于 RUN 或 STOP
模式下。
STEP 7 会在插入指令时自动创建该
DB。新数据就绪:
• 0:请求尚未启动或仍在运行
• 1:已成功完成任务
DONE (PUT) Output Bool DONE:
• 0:请求尚未启动或仍在运行
• 1:已成功完成任务
ERROR
STATUS
Output
Output
Bool
Word
• ERROR=0
STATUS 值:
– 0000H:既没有警告也没有错误
– <> 0000H:警告,STATUS 提供详细信息
• ERROR = 1
出现错误。STATUS 提供有关错误性质的详细信息。
ADDR_1 InOut 远程 指向远程 CPU 中存储待读取 (GET) 或待发送 (PUT) 数据的存
ADDR_2 InOut 远程 储区。
ADDR_3 InOut 远程
ADDR_4 InOut 远程
RD_1 (GET)
SD_1 (PUT)
InOut Variant 指向本地 CPU 中存储待读取 (GET) 或待发送 (PUT) 数据的存
储区。
允许的数据类型:Bool(只允许单个位)、Byte、Char、
Word、Int、DWord、DInt 或 Real。
注:如果该指针访问 DB,则必须指定**地址,如:
P# DB10.DBX5.0 Byte 10
在此情况下,10 代表 GET 或 PUT 的字节数。必须确保 ADDR_x(远程 CPU)与 RD_x 或 SD_x (本地 CPU)参数的长度(字节数)和数据
类型相匹配。标识符“Byte”之后的数字是 ADDR_x、RD_x 或 SD_x 参数引用的字节数。
说明
通过 GET 指令可接收的字节总数或者通过 PUT 指令可发送的字节总数有一定的限制。具体
限制取决于使用了四个可用地址和存储区中的多少:
• 如果仅使用 ADDR_1 和 RD_1/SD_1,则一个 GET 指令可获取 222 个字节,一个 PUT 指令可
发送 212 个字节。
• 如果使用 ADDR_1、RD_1/SD_1、ADDR_2 和 RD_2/SD_2,则一个 GET 指令总共可获取 218 个
字节,一个 PUT 指令总共可发送 196 个字节。
• 如果使用 ADDR_1、RD_1/SD_1、ADDR_2、RD_2/SD_2、ADDR_3 和 RD_3/SD_3 ,则一个
GET 指令总共可获取 214 个字节,一个 PUT 指令总共可获取 180 个字节。
• 如果使用 ADDR_1、RD_1/SD_1、ADDR_2、RD_2/SD_2、ADDR_3、RD_3/SD_3、ADDR_4、
RD_4/SD_4,则一个 GET 指令总共可获取 210 个字节,一个 PUT 指令总共可发送 164 个字节。
各个地址和存储区参数的字节数之和必须小于等于定义的限值。如果超出这些限值,则 GET
或 PUT 指令将返回错误。
在 REQ 参数的上升沿出现时,读操作 (GET) 或写操作 (PUT) 将装载 ID、ADDR_1 和 RD_1
(GET) 或 SD_1 (PUT) 参数。
• 对于 GET:从下次扫描开始,远程 CPU 会将请求的数据返回接收区 (RD_x)。成功完成读
取操作后,NDR 参数将置 1。新操作只有在之前的操作完成后才能开始。
• 对于 PUT:本地 CPU 开始将数据发送 (SD_x) 到远程 CPU 中的存储位置 (ADDR_x)。写操
作顺利完成后,远程 CPU 返回执行确认。PUT 指令的 DONE 参数被设置为 1。新写入操
作只有在之前操作完成后才能开始。
说明
为确保数据的一致性,应始终在访问数据或启动另一读/写操作前评估已经完成的操作(对
于 GET 评估 NDR = 1;对于 PUT 评估 DONE = 1)。
ERROR 和 STATUS 参数提供有关读 (GET) 或写 (PUT) 操作的状态信息。
表格 11-71 错误信息
ERROR STATUS(十进
制)
描述
0 11 • 由于前一个作业还没有结束,不能执行新作业。
• 正在以较低优先级处理此作业。
通讯故障,如:
• 未装载连接描述(本地或远程)
• 连接被中断(例如:电缆断线、CPU 关闭或 CM/CB/CP 处于 STOP 模式)
• 没有建立到通信伙伴的连接
1 2 来自伙伴设备的否定应答。无法执行任务。
1 4 发送区指针(GET 的 RD_x,或 PUT 的 SD_x)出错,包括数据长度或数据类型。
1 8 在伙伴 CPU 上发生访问错误
1 10 无法访问本地用户存储器(例如,尝试访问已经删除的数据块)
1 12 调用 SFB 时:
• 指定了不属于 GET 或 PUT 的背景数据块
• 未指定背景数据块,而是指定了一个共享数据块
• 未发现背景数据块(装载新的背景数据块)
1 20 • 超出并行作业/实例的*大数量
• 当 CPU 处于 RUN 模式时,实例过载
首次执行 GET 或 PUT 指令时可能出现此状态
1 27 CPU 中没有相应的 GET 或 PUT 指令。
11.8.2 创建 S7 连接
连接机制
要使用 PUT/GET 指令访问远程连接伙伴,用户还必须得到许可。
默认情况下,禁用“允许借助 PUT/GET 通信从远程伙伴访问 ”(Permit access with PUT/GET
communication from remote partner) 选项。这时,只有需要对本地 CPU 和通信伙伴进
行组态和编程的通信连接才能实现对 CPU 数据的读写访问。例如,可以通过 BSEND/BRCV 指
令进行访问。
如果本地 CPU 仅用作服务器,则 CPU 无法编程或组态与通信伙伴的通信。CPU 运行
期间不支持以下连接:
• 通过通信模块进行 PUT/GET、FETCH/WRITE 或 FTP 访问如果希望允许从客户端访问 CPU 数据,即不希望限制 CPU 的通信服务,要实现此级别的安
全性,请参见“S7-1200 CPU 的访问保护 (页 160)”。
连接类型
所选的连接类型用于创建与伙伴站的通信连接。控制器将设置、建立并自动监视该连
接。
在“设备和网络”(Devices and Networks) 门户中,使用“网络视图”(Network view) 创建项
目中各设备之间的网络连接 (页 608)。请单击“连接”(Connections) 选项卡,使
用右侧的下拉框选择连接类型(例如 S7 连接)。单击第一个设备上的绿色 (PROFINET) 框,
拖出一条线连接到第二个设备上的 PROFINET 框。松开鼠标按钮,即可创建 PROFINET 连
接。
单击“突出显示:连接”(Highlighted: Connection) 按钮访问通信指令的“属性”(Properties)
组态对话框。
11.8.3 组态两台设备间的本地/伙伴连接路径
组态常规参数
在通信指令的“属性”(Properties) 组态对话框中指定通信参数。 只要选中了该指令的任何一
部分,此对话框就会出现在页面底部附近。
更多相关信息,请参见“设备配置: 组态本地/伙伴连接路径 (页 609)”。
在“连接参数”(Connection parameters) 对话框的“地址详细信息”(Address Details) 部分,
定义要使用的 TSAP 或端口。 在“本地 TSAP”(Local TSAP) 字段中输入 CPU 中连接的 TSAP 或
端口。在“伙伴 TSAP”(Partner TSAP) 字段下输入为伙伴 CPU 中的连接分配的 TSAP 或端口