天数按月计算PLC(天数计算闰年按月变量)「按月统计天数」

天数按月计算PLC(天数计算闰年按月变量)

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-44.组态王操作在组态王上进行监控之前,首先进行变量定义,见表1-5。
输入年份动画连接如图6-4所示。
图中,设置“请输入年份:”后变量的动画连接,即将“\\本站点\年”作为模拟值输入,同时输出该模拟值,注意整数位数为4,如2000年为4位数。
输入月份的动画连接与输入年份一致,就是显示的整数范围调整为“1”~“12”即可。
图为OK键动画连接,需要进行命令语言连接,具体如下:按下时,命令语言为:\\本站点\确认按钮=1;弹起时,命令语言为:\\本站点\确认按钮=0。
图为【实例25】的运行系统。
图中,输入年份为2018、月份为3月时的计算结果为31天。
西门子plc 月天数计算http://bbs.plcjs.com/forum.php?mod=viewthread&tid=499480&fromuid=42656(出处: PLC论坛-全力打造可编程控制器专业技术论坛)#西门子plc#

联系我们

在线咨询:点击这里给我发消息