PLC S7-1200 实验集(附程序以及仿真演示)----振荡电路实验、开关灯实验、彩灯控制器实验、浮点数计算实验、路灯控制实验

   本系列文章与大家分享一些PLC S7-1200的实验的实现方法,文章会介绍其实现的程序,以及该程序仿真的结果的演示,本篇文章是本系列的第二篇文章主要介绍振荡电路实验、开关灯实验、彩灯控制器实验、浮点数计算实验、路灯控制实验。

   一、振荡电路实验

     1、实验要求及I/O分配表

在这里插入图片描述

     2、用双定时器指令实现
    (1)实验程序

在这里插入图片描述

    (2)实验波形图
    (3)PLCSIM仿真结果演示

在这里插入图片描述

    (4)实验思路及总结
     程序的第一部分是起保停电路,按下启动按钮,控制线圈变为1,并且自保持,若按下停止按钮则控制线圈变为0。程序的第二部分中,当一个定时器定时到3S之前时其输出端Q为0,经过取反后变为1,灯被点亮,当第一个定时器计时到3s时其输出端Q变为1,取反后,变为0灯熄灭,同时第二个定时器接通开始定时,2S后第二个定时器输出变为1,常闭线圈"IEC_Timer_0_DB_1".Q断开,定时器重新开始定时,如此循环。
     3、比较指令和定时器指令实现
    (1)实验程序

在这里插入图片描述

    (2)实验波形图
    (3)PLCSIM仿真结果演示

在这里插入图片描述

    (4)实验思路及总结
     程序的第一部分是起保停电路,按下启动按钮,控制线圈变为1,并且自保持,若按下停止按钮则控制线圈变为0。程序的第二部分中,当定时器定时到5S之前时其输出端Q为0,ET(%MD18)会从零开始增加,在其增加到3S之前,小于等于比较器输出为1,灯亮,3S后灯灭,等到5S时"IEC_Timer_0_DB".Q变为1,其常闭触点断开,定时器置零,重新开始定时,如此循环。

   二、开关灯实验

     1、实验要求及I/O分配表

在这里插入图片描述
在这里插入图片描述

     2、实验程序

在这里插入图片描述

     3、实验波形图
     4、PLCSIM仿真结果演示

在这里插入图片描述

     5、实验思路及总结
     每当我们按下一次启动按钮,计数器的值就加1,当计数器当前的计数值Tag_1等于1时,也就是我们第一次按下启动按钮时,灯1被置1,亮;当计数器当前的计数值Tag_1等于2时,也就是我们第二次按下启动按钮时,灯1被置1,亮,灯2也被置1,亮;当计数器当前的计数值Tag_1等于3时,也就是我们第三次按下启动按钮时,灯1和灯2被置0,灭;我们设定计数器的PV值是5,正常状态下不会到达5,因为到3以后计数器复位标志变为1,计数器被置零,重新开始计数,如此循环。

   三、彩灯控制器实验

     1、实验要求及I/O分配表

在这里插入图片描述

     2、实验程序

在这里插入图片描述

     3、实验波形图
     4、PLCSIM仿真结果演示

在这里插入图片描述

     5、实验思路及总结
     程序的第一部分是启保停电路,通过启动按钮和停止按钮控制状态变量1是否导通,程序的第二部分是用来控制方向按钮的,他发挥的作用是每当方向按钮按下一次状态变量3的状态就取反一次,在后面的程序中用状态变量3来控制流水灯的方向,接下来的第三部分就是,每当启动按钮按下时就将%QB0设置为1(也就是点亮第一个小灯),每当停止按钮按下时就将%QB0设置为0,把所有灯熄灭,程序的第四部分就是当状态变量为1是时,每当1HZ的脉冲信号的上升沿到来时,若此时状态变量3的值为0则流水灯方向向左,若此时状态变量的值为1,则流水灯方向向右,如此循环。

   四、浮点数计算实验

     1、实验要求及I/O分配

在这里插入图片描述

     2、实验程序

在这里插入图片描述

     3、实验波形图
     4、PLCSIM仿真结果演示

在这里插入图片描述

     5、实验思路及总结
     程序的第一部分是归一化指令,将输入的模拟信号转换成的数字量(0 ~ 27648)通过归一化的计算公式转换成0 ~ 1之间的浮点数保存在%MD400中,程序的第二部分是比例缩放指令,根据题目要求实际输入的模拟量的范围为0 ~ 10000KPa将%MD400中所储存的浮点数作为该部分的输入,输出的存放在%MD404中的数据就是我们所需要的压力值。

   五、路灯控制实验

     1、实验要求及I/O分配

在这里插入图片描述

     2、实验程序

在这里插入图片描述

     3、实验波形图
     4、PLCSIM仿真结果演示

在这里插入图片描述

     5、实验思路及总结
     通过读取时间指令RD_LOC_T来读取当前系统的时间,并将结果存放在创建的全局数据块中(数据块_1), 接下来用IN _ RANGE 指令判断当前系统时间的秒数是否在20 ~ 50之间 若秒数在20 ~ 50之间其输出为1,将从%Q0.0开始的8位置1,也就是将%QB0的每一位都置1,让8个灯点亮, 若秒数在20 ~ 50之外其输出为0,经过NOT指令取反后,将从%Q0.0开始的8位置0,也就是将%QB0的每一位都置0,让8个灯熄灭。
  • 43
    点赞
  • 210
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕羽★

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值