S7-1200 PLC的PWM功能配置与编程实践指南

发布者:nu23最新更新时间:2025-02-05 来源: elecfans关键字:S7-1200  PLC  PWM  功能配置  编程实践 手机看文章 扫描二维码
随时随地手机看文章

S7-1200 PWM 功能组态及编程方法

本文档以DC/DC/DC类型的S7-1200 CPU为例进行说明。在Portal 软件中插入S7-1200 CPU(DC输出类型),在“设备视图”中配置PWM。


硬件:
① S7-1200 CPU (文档中使用V4.4版本 S7-1215C DC/DC/DC)
② PC(带以太网卡)
③ TP电缆(以太网电缆)

软件:
①STEP7 V11 或更高版本 (文档中使用V16版本)

硬件组态

1. 进入CPU“常规”属性,设置“脉冲发生器”。如下图1.1所示:

7ffc3e04-d922-11ee-a297-92fbcf53809c.jpg?imageView2/2/w/1000

图1.1 CPU常规属性

2. 启用脉冲发生器,可以给该脉冲发生器起一个名字,也可以不做修改使用软件默认设置值;还可以对该PWM脉冲发生器添加注释说明。如下图1.2所示:

80139996-d922-11ee-a297-92fbcf53809c.png?imageView2/2/w/1000

图1.2 启用脉冲发生器

3. 参数分配:组态脉冲参数,如下图1.3所示,“参数分配”部分对PWM脉冲的周期单位、脉冲宽度做了定义。

802186f0-d922-11ee-a297-92fbcf53809c.png?imageView2/2/w/1000

图1.3 参数分配设置

a. 信号类型:选择脉冲类型。如下图1.4所示,有PWM和PTO两种,其中PTO又分成4种,每种类型的具体含义在运动控制部分进行介绍。这在里选择PWM。

802fbb44-d922-11ee-a297-92fbcf53809c.jpg?imageView2/2/w/1000

图1.4 脉冲信号类型

b. 时基:用来设定PWM脉冲周期的时间单位。在PWM模式下,时基单位分成:毫秒和微秒。

c. 脉宽格式:用来定义PWM脉冲的占空比档次,如下图1.5所示,分成4种:

8048c74c-d922-11ee-a297-92fbcf53809c.jpg?imageView2/2/w/1000

图1.5 脉宽格式设置

以其中的“百分之一”举例,表示把PWM脉冲周期分成100等分,以1/100为单位来表示一个脉冲周期中脉冲的高电平,也可以理解成1/100是PWM脉冲周期中高电平的分辨率。“千分之一”和“万分之一”相应地把PWM的周期分成更小的等分,分辨率更高。

“S7模拟量格式”表示的是把PWM的周期划分成27648等分,以1/27648为单位来表示一个脉冲周期中脉冲的高电平。因为S7-1200 PLC的模拟量量程范围为0~27648或-27648~27648。

d. 循环时间(仅适用于 PWM):表示PWM脉冲的周期时间,Portal 软件中对“循环时间”限定的范围值:1~16777215。可以通过选中复选框'允许在运行时修改循环时间',在运行时更改循环时间。

e. 初始脉冲宽度(仅适用于 PWM):表示PWM脉冲周期中的高电平的脉冲宽度,可以设定的范围值由“脉宽格式”确定。例如,如果“脉宽格式”选择了“万分之一”,则“初始脉冲宽度”值可以设定的范围值从0~10000,同理,如果“脉宽格式”选择了“S7模拟量格式”,则“初始脉冲宽度”值可以设定的范围值从0-27648。可通过使用 I/O 地址中组态的 Q 字地址,在运行系统中更改初始脉冲持续时间值。

f. 允许在运行时更改循环时间(仅适用于 PWM):如果选择该选项,则PLC在I/O地址处额外分配 Q 存储器的 4 个字节。用户可在程序处于运行状态时,修改 PWM 信号的循环时间。

4. 硬件输出:根据需要选择S7-1200 PLC上的某个DO点作为PWM输出。如下图1.6所示:

804f88d4-d922-11ee-a297-92fbcf53809c.png?imageView2/2/w/1000

图1.6 硬件输出设置

『注意』该点只能是CPU上的DO点,或是SB信号板上的DO点。S7-1200 SM扩展模块上的DO点不支持PWM功能。

5. I/O地址:用来设置PWM的地址和周期更新方式,如下图1.7所示:

805f8d38-d922-11ee-a297-92fbcf53809c.jpg?imageView2/2/w/1000

图1.7 输出地址设置

a. 起始地址:用来设定该PWM通道地址。

b. 结束地址:由'起始地址'决定,默认情况下,每个PWM通道仅占用一个Word的长度,用于输出脉冲的持续时间。如果选中'允许在运行时修改循环时间' 复选框后,CPU会分配6个输出字节,其中前2个字节用于输出'脉冲持续时间'值,后4个字节用于输出'循环时间'值。

c. 组织块:用来设置PWM I/O地址的更新方式是基于哪个OB块的。用户可以根据需要通过“新增”按钮来添加相应的OB块,如下图1.8所示,本例中用户可以选择默认选项“自动更新”。

806a5b96-d922-11ee-a297-92fbcf53809c.jpg?imageView2/2/w/1000

图1.8 组织块设置

d. 过程映像:设置PWM的I/O地址的过程映像的更新情况,这里的“PWM的I/O地址”指的是PWM周期脉冲宽度数值存放的地址。该选项用来设置脉冲宽度地址的更新情况。如下图1.9所示:

807b2cc8-d922-11ee-a297-92fbcf53809c.jpg?imageView2/2/w/1000

图1.9 过程映像设置

S7-1200提供了6个过程映像分区。第一个过程映像分区“自动更新”指定用于每个扫描周期都自动更新的I/O,此为默认分配;接下来的4个分区PIP1、PIP2、PIP3和PIP4可用于将I/O过程映像更新分配给不同的中断事件。“PIP OB伺服”是给S7-1200运动控制的等时同步模式使用的。

默认情况下,Portal 软件会将其I/O过程映像更新为“自动更新” (Automatic update)。对于组态为“自动更新”(Automatic update)的I/O,CPU将在每个扫描周期自动处理模块和过程映像之间的数据交换。

如果将I/O分配给过程映像分区PIP1~PIP4中的其中一个,但未将OB分配给该分区,那么CPU决不会将I/O更新至过程映像,也不会通过过程映像更新I/O。将I/O分配给未分配相应OB的PIP,相当于将过程映像指定为“无”(None)。在设备组态中将 I/O 分配给过程映像分区,并在创建中断 OB 或是编辑 OB 属性时将过程映像分区分配给中断事件。

用户可以在指令执行时立即读取物理输入值和立即写入物理输出值。无论 I/O点是否被组态为存储到过程映像中,立即读取功能都将访问物理输入的当前状态而不更新过程映像输入区。立即写入物理输出功能将同时更新过程映像输出区(如果相应 I/O点组态为存储到过程映像中)和物理输出点。如果想要程序不使用过程映像,直接从物理点立即访问 I/O 数据,则在 I/O地址后加后缀':P'。

根据上面的说明,本例中用户可以直接选择“自动更新”。由于PWM的I/O地址是Q(输出区),因此用户可以使用QWx/QDx,也可以直接更新外设地址QWx:P/QDx:P。

软件编程

1. 在Portal软件中打开程序块,进行PWM的编程。在指令选件中的“扩展指令”中的“脉冲”文件夹中可以找到CTRL_PWM指令。可以通过双击指令或是拖拽的方式把CTRL_PWM指令放到程序编辑区。如下图2.1所示:

808c63e4-d922-11ee-a297-92fbcf53809c.jpg?imageView2/2/w/1000

图2.1 调用CTRL_PWM指令

2. 在插入CTRL_PWM指令时会提示关联背景数据块,如下图2.2所示,该数据块的名称和编号可以由用户手动设置,也可以选择系统默认值。

8099ffe0-d922-11ee-a297-92fbcf53809c.jpg?imageView2/2/w/1000

图2.2 CTRL_PWM指令关联背景数据块

3. 配置CTRL_PWM指令参数。

80a77b0c-d922-11ee-a297-92fbcf53809c.png?imageView2/2/w/1000

图2.3 CTRL_PWM指令管脚配置

①PWM:脉冲发生器的硬件ID号,就是“硬件标识符”,在上面的例子中硬件标识符为265。硬件标识符的选择,如下图2.4所示。
②ENABLE:PWM脉冲的使能端,为TURE时CPU发PWM脉冲,为False时,不发脉冲。
③BUSY:标识CPU是否正在发PWM脉冲。
④STATUS:PWM指令的状态值,当STATUS=0时表示无错误,STATUS非0时表示PWM指令错误,具体的错误值查看帮助或是系统手册。

80bee116-d922-11ee-a297-92fbcf53809c.jpg?imageView2/2/w/1000

图2.4 选择CTRL_PWM指令硬件标识符

4. 监控程序,并在线修改PWM的脉冲宽度和循环周期。如下图2.5所示,用M0.0使能CTRL_PWM指令。

80db5fc6-d922-11ee-a297-92fbcf53809c.jpg?imageView2/2/w/1000

图2.5 使能CTRL_PWM指令

实时修改PWM的脉冲宽度:需要修改QWx的数值,“x”就是用户配置PWM硬件组态时的“I/O地址--输出地址”。

实时修改PWM的循环周期:首先硬件组态内选中'允许在运行时修改循环时间'复选框,然后修改QD(x+2)的数值。

例如,启用该选项后,CPU 会为 PWM1 分配六个字节,并由您确定使用 QB1008 到 QB1013。下载程序并启动 PWM 后,可以使用 QW1008 修改'脉冲持续时间',以及使用 QD1010 修改'循环时间'。

如下图2.6所示,① 在Portal软件左侧项目树中的“监控与强制表”中插入一个新的监控表,②在打开的空白监控表中的“地址”列手动输入QW1008和QD1010,如然后在“显示格式”一列选择“带符号十进制”,如下图步骤③所示。点击监控按钮,如图中④ 所示,可以看到QW1008的监控值为50和QD1010的监控值为100,该值分别是组态PWM时设置的初始脉冲宽度值和循环时间值。

80e5e9c8-d922-11ee-a297-92fbcf53809c.jpg?imageView2/2/w/1000

图2.6 监控PWM的脉冲宽度和循环时间

用户可以在监控表中直接修改QW1008和QD1010的数值,来实时更改PWM的脉冲宽度和PWM的循环周期,如下图2.7所示。

80f3b828-d922-11ee-a297-92fbcf53809c.jpg?imageView2/2/w/1000

图2.7 实时修改PWM的脉冲宽度和循环时间

用户可以根据需要进行测试实验。

常见问题

问题1:如何更改PWM的脉冲宽度?
答:通过设置PWM的I/O地址。以上面的组态为例子,通过修改QW1008的数值来实时修改PWM的脉冲宽度。

问题2:如何修改PWM的循环周期?
答:首先硬件组态内选中'允许在运行时修改循环时间'复选框,然后修改对应I/Q地址内的QD的数值。以上面的组态为例子,通过修改QD1010的数值来实时修改PWM的循环周期。

问题3:PWM脉冲输出的最小持续时间?
答:当您设置 PWM 信号的脉宽时,如果时基为'毫秒',实际脉宽(脉冲为高电平的时间)必须大于或等于 1 毫秒。如果时基为'微秒',实际脉宽必须大于或等于 1 微秒。如果脉宽小于 1 倍'时基',输出将关断。
例如,周期时间为 10 微秒时,百分之 5 的脉冲持续时间可得到 0.5 微秒的脉宽。因为该值小于 1 微秒,PWM 信号关闭。


关键字:S7-1200  PLC  PWM  功能配置  编程实践 引用地址:S7-1200 PLC的PWM功能配置与编程实践指南

上一篇:PLC定位及同服控制系统的原点回归指令如何使用
下一篇:PLC驱动接触器的选择与限制

推荐阅读最新更新时间:2026-03-24 19:08

实践中搜集整理的PLC编程经验
    0引言                      在石油化工装置中,很多小型项目通常都应用PLC控制系统作为该项目的控制,所以  弄通有关PLC程序设计理论是重要的。本人通过很多小型装置的实际设计、交底、安装、调试中摸索一些使用的经验。               编程的具体实践,以及在这个实践中得来的知识或技能,即经验,也是重要的。没有经验,仅有理论,既无法深刻理解理论,又无法灵活应用理论。这正如学数学,如仅了解一些定理或记住一些公式,没有作相应的练习,肯定是学不好的。更不用说,任何理论也都只是经验的总结,归根到底也都有是来自实践。 1、  经验积累         经验有别人的,也有自己的,都很重要
[嵌入式]
plc西门子s7-1200基础知识:plcplc之间如何通讯
PLC的硬件组成 PLC(可编程逻辑控制器)的硬件组成通常包括以下几个主要组件: 1. CPU(中央处理器):负责执行程序控制逻辑、处理运算和数据处理。它是PLC的“大脑”,决定PLC的处理能力和性能。 2. 内存(RAM、ROM):用于存储PLC程序、数据和历史记录。RAM(随机存取存储器)用于存储临时数据和运行时变量,而ROM(只读存储器)则用于存储PLC程序和固定数据。 3. 输入/输出(I/O)模块:用于与外部设备进行数字或模拟信号的交互。输入模块接收外部传感器或开关的信号,并将其转换为PLC可处理的数字信号,而输出模块将PLC的输出信号转换为外部的执行设备信号。 4. 电源模块:负责为PLC提供稳定的电源供应。 5. 通
[嵌入式]
西门子plc如何选型 s7-1500和s7-1200区别
  西门子plc如何选型   选择适合的西门子(Siemens)PLC类型需要考虑多个因素。以下是一些选型的关键因素:   1. 应用需求:首先要明确PLC将用于什么样的应用。不同类型的PLC具有不同的功能和性能特点。确定应用所需的输入/输出数量、通信需求、速度要求和控制算法等因素是很重要的。   2. I/O需求:PLC的输入/输出模块的数量和类型应与应用需求相匹配。考虑所需的数字输入、数字输出、模拟输入、模拟输出等类型的信号,并确保PLC具有足够的I/O扩展能力。   3. 编程要求:考虑系统的编程需求,包括使用的编程语言以及编程环境。Siemens的PLC使用 TIA Portal 编程软件,支持多种编程语言如ladder
[嵌入式]
利用UBIQUITY路由器实现对PLC的远程控制——以西门子S7-1200为例
随着各种工业协议的发展,各个工厂将面临着需要实现多种不同协议以及设备互联的挑战,其中也包含传统的机器设备。为了能够顺应物联网的发展,大幅提高效率,降低成本和资源消耗,并最终实现将传统工业提升到智能化的新阶段,如何有效连接和管理在各个现场的众多设备成为许多业内人士十分关注的问题。 PLC数据通讯通常都是采用有线的方式进行的,如果距离较远,将会带来布线困难等麻烦。为解决这个问题,虹科联合著名工控厂家ASEM为国内用户推出了一款新的解决方案,即利用UBIQUITY路由器在全球范围内远程实现PLC与电脑编程软件的无线通讯、PLC与电脑组态软件的无线通讯、PLC与人机界面触摸屏的无线通讯。 虹科UBIQUITY解决方案 UBIQUI
[嵌入式]
利用UBIQUITY路由器实现对<font color='red'>PLC</font>的远程控制——以西门子<font color='red'>S7-1200</font>为例
如何选择合适的西门子S7-1200 PLC
为您的项目选择合适的西门子 S7-1200 PLC 可能具有挑战性,但有了正确的指南,这一切就会变得很容易。 本文将提供有关为您的项目选择合适的西门子 S7-1200 PLC 和扩展模块的分步指南。我们还将使用分步指南来查看一个小型项目示例。 第 1 部分:分步指南 1.确定项目需求 选择正确的 S7-1200 PLC 的第一步是确定您的项目要求。 您可以问自己的一些问题是: – 您的需求是什么? – 您将需要多少个 I/O? – 您将与哪些设备进行通信? – 这将是一个安全应用程序吗? – 它是一个时间敏感的应用程序吗? 第一步将让您全面了解项目需求。 2. 确定必要的功能 第二步是确定您的应用程序所需的功能。 例如,你
[嵌入式]
西门子plc S7-1200/S7-1500优化的DB块与标准的DB块整体对比
在 TIA Portal V12 中为S7-1200/S7-1500 CPU 添加一个 DB 块时,其缺省属性为优化的 DB ,优化的 DB 块与标准的 DB 块整体对比如下表所示: S7-300/S7-400 与 S7-1200 以及 S7-1500 DB 参数的对比如下表所示: 可通过修改 DB 块的属性将 DB 块修改为标准 DB 块或优化的 DB 块,如下图所示: 如 DB 块属性为标准 DB 块,该 DB 块内变量的偏移地址(offset)被编译后会出现,标准 DB 块与优化的 DB 块对比如下图所示: S7-1200 CPU中,标准 DB 块与优化的 DB 块在 PLC 中按照下图方式存储。 S7-
[嵌入式]
西门子<font color='red'>plc</font> <font color='red'>S7-1200</font>/S7-1500优化的DB块与标准的DB块整体对比
C语言面向对象编程的最佳实践
一、前言 以STM32为例,打开网络上下载的例程或者是购买开发板自带的例程,都会发现应用层中会有stm32f10x.h或者stm32f10x_gpio.h,这些文件严格来时属于硬件层的,如果软件层出现这些文件会显得很乱。 使用过Linux的童鞋们肯定知道linux系统无法直接操作硬件层,打开linux或者rt_thread代码会发现代码中都会有device的源文件,没错,这就是驱动层。 二、实现原理 原理就是将硬件操作的接口全都放到驱动链表上,在驱动层实现device的open、read、write等操作。当然这样做也有弊端,就是驱动find的时候需要遍历一遍驱动链表,这样会增加代码运行时间。 三、代码实现 国际惯例,
[单片机]
ARM64体系结构编程实践学习笔记(九) 高速缓存介绍
1. 高速缓存简介 由于处理器的访问速度和内存的访问速度差距越来越大,使得极端及整体系统的性能受到了巨大的影响。高速缓存,也就是Cache位于CPU和主存之间。相比于主存,它的容量要小的多,但是速度也快很多。它的存取速度能与中央处理器相匹配。 根据程序局部性原理,正在使用的主存储器某一单元邻近的那些单元将被用到的可能性很大。因而,当中央处理器存取主存储器某一单元时,计算机硬件就自动地将包括该单元在内的那一组单元内容调入高速缓冲存储器,中央处理器即将存取的主存储器单元很可能就在刚刚调入到高速缓冲存储器的那一组单元内。于是,中央处理器就可以直接对高速缓冲存储器进行存取。在整个处理过程中,如果中央处理器绝大多数存取主存储器的操作
[单片机]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved