[西门子] 【智】S7-200PLC PID控制数字量输出PWM详解 PID还可以这样用!

[复制链接]
查看39115 | 回复0 | 2024-8-30 14:54:06 | 显示全部楼层 |阅读模式
大家好,我是微控小智,今天又跟大家见面了。学习需要坚持,做技术亦是如此,厚积才能薄发。小智写的程序都是进行反复测试过的,可以放心跟着操作,有疑问的地方可以留言。



今天讲一个有趣的案例,S7-200PLC脉宽调制PWM控制灯的暗和亮。

S7-200PLC有两个PWM脉宽调制发生器,分别为Q0.0和Q0.1。

      先来看几个有关PWM的概念:

      脉冲占空比:高电平在一个周期时间内所占的比例称为“占空比”。设定脉宽等于周期(使占空比为100%),输出连续接通。设定脉宽等于0(使占空比为0%),输出断开。

脉度:脉宽就是脉冲宽度,一个周期内高电平所持续的时间。

       宽度调制输出PWM:可以输出一个周期固定,占空比变化的脉冲串,周期设定之后不能再改变。

       PWM脉冲是一种占空比和周期都可调节的脉冲。PWM脉冲的周期范围为10~ 65535μs或2~65535ms,为16位无符号数,在设置脉冲周期时,如果周期小于两个时间单位,系统会默认周期值为两个时间单位;PWM脉宽时间为0~65535μs或0~65535ms,为16位无符号数,若设定的脉宽等于周期(即占空比为100%),输出一直接通,若设定脉宽等于0(即占空比为0),输出断开。

PWM脉冲的波形改变方式有两种:同步更新和异步更新。

       (1)同步更新:

  如果不需改变时间基准,可以使用同步更新方式,利用同步更新,信号波形特性的变化发生在周期边沿,使波形能平滑转换。

       (2)异步更新:

  如果需要改变PWM发生器的时间基准,就要使用异步更新,异步更新会使PWM功能被瞬时禁止,PWM信号波形过渡不平滑,这会引起被控设备的振动。

       由于异步更新生成的PWM脉冲有较大的缺陷,一般情况下尽量使用脉宽变化、周期不变的PWM脉冲,这样可使用同步更新。

       S7-200PLC高速脉冲输出口产生PWM脉冲,可按以下步骤编程:

       (1) 使用初始化脉冲触点SM0.1调用PWM脉冲输出初始化操作子程序。这个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了扫描时间,且程序更为结构化。

(2) 在初始化子程序中,将16#D3(2#11010011)或16#DB(2#11011011)写入 SMB67/SMB77 控制字节中。设置内容为脉冲输出允许;选择PWM方式;使用同步更新;选择以微秒为增量单位;可以更新脉冲宽度和周期。

(3) 向SMW68/SMW78中写入希望的周期值。

(4) 向SMW70/SMW80中写入希望的脉冲宽度。

(5) 执行PLS指令,开始输出脉冲。

(6) 若要在后续程序运行中修改脉冲宽度,则向SMB67/SMB77中写入16#D2(2#11010010),即可以改变脉冲宽度,但不允许改变周期值。再次执行PLS指令。

编程步骤示例如下图所示:



PWM是按占空比输出的高速脉冲信号,那么是属于数字信号,类似模拟量信号控制设备,但又不是模拟量信号,PWM是一种对模拟量进行数字控制的方法,例如用PWM控制固态继电器的通断。接下来我们做S7-200PLC脉宽调制PWM控制灯的暗和亮,来感受一下PWM如何控制设备。编写两个子程序分别利用PWM控制Q0.0和Q0.1两个指示灯。

(1)控制Q0.0有百分之90的亮度,控制Q0.1有百分之10的亮度,如下图所示:



(2)控制Q0.0有百分之90的亮度,控制Q0.1有百分之90的亮度,如下图所示:



(3)控制Q0.0有百分之10的亮度,控制Q0.1有百分之10的亮度,如下图所示:



两个指示灯三组亮度对比情况如下图所示:


     实践出真知,没有实战,就是纸上谈兵,学习中需要多加验证。



复杂的事情简单做,你就是专家;

简单的事情重复做,你就是行家;

重复的事情用心做,你就是赢家。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则