PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 144|回复: 0

[西门子] 西门子plc 月天数计算

[复制链接]
发表于 2024-8-16 21:12:38 | 显示全部楼层 |阅读模式
>

  • PLC控制任务概述:
    本任务要求使用西门子S7-1200系列PLC,具体型号为CPU1214C DC/DC/DC,并采用其SCL(结构化控制语言)进行编程。目标是实现每月天数的计算,并将计算结果通过组态王软件进行显示。组态王将作为上位机,负责输入输出信号的交互与可视化展示。

  • 电气接线说明:
    电气接线方案遵循下图1-1的设计,确保PLC(CPU1214C DC/DC/DC)能够正确接入并处理信号,以实现每月天数计算的功能。为直观展现SCL编程效果,采用组态王作为上位机,负责处理输入/输出信号,并提供用户友好的界面,以便于观察和操作。

图1-1 每月天数计算的电气接线
3.PLC编程
(1)增加FC块(见图1-2)

图1-2
(2)变量定义:
在表1-3中,我们定义了所需的变量。具体来说,输入变量包括年份(Year)和月份(Month),它们都是整型(Int)变量。输出变量为天数(Days),同样是一个整型(Int)变量,用于表示每月的天数。

表1-3
(3)程序编写:
为了计算每月的天数,我们采用CASE指令,并根据月份的不同分为三种情况来处理:
第一种情况,针对有31天的月份。这些月份包括1月、3月、5月、7月、8月、10月和12月。当输入的月份是这些月份之一时,我们将天数(Days)设置为31。
第二种情况,针对有30天的月份。这些月份是4月、6月、9月和11月。如果输入的月份是这些月份之一,我们将天数(Days)设置为30。
第三种情况是处理2月份的天数,这需要考虑闰年和非闰年的情况。闰年的2月有29天,非闰年的2月有28天。判断闰年的方法是:如果年份(Year)能被4整除,那么通常是闰年;但是,如果年份能被100整除而不能被400整除,那么它不是闰年;如果年份能被100整除且也能被400整除,那么它是闰年。例如,2000年是闰年,而1900年不是。根据这个逻辑,我们可以设置2月份的天数。
在TIA Portal软件的SCL编程环境中,我们可以直接使用“CASE…OF…”结构来实现上述逻辑,从而计算出每月的天数。

只要把符号的要求填写进去即可:

(4)调用写好的块并监控
表1-4是PLC变量,可方便调用写好的块,并在组态王上进行监控,调用块FC1的输入/输出均按照事先的定义。

表1-4

4.组态王操作
在组态王上进行监控之前,首先进行变量定义,见表1-5。

输入年份动画连接如图6-4所示。图中,设置“请输入年份:”后变量的动画连接,即将“\\本站点\年”作为模拟值输入,同时输出该模拟值,注意整数位数为4,如2000年为4位数。

输入月份的动画连接与输入年份一致,就是显示的整数范围调整为“1”~“12”即可。
图为OK键动画连接,需要进行命令语言连接,具体如下:
按下时,命令语言为:\\本站点\确认按钮=1;
弹起时,命令语言为:\\本站点\确认按钮=0。
图为【实例25】的运行系统。图中,输入年份为2018、月份为3月时的计算结果为31天。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-9-17 04:08 , Processed in 0.042876 second(s), 26 queries .

快速回复 返回顶部 返回列表