找回密码
 注册

QQ登录

只需一步,快速开始

搜索

日期加法计算器(AB compact Logix)!!!

[复制链接]
tybbs21 发表于 2016-9-19 13:22:23 | 显示全部楼层 |阅读模式
本帖最后由 tybbs21 于 2016-9-19 13:22 编辑

当前日期加上天数,得到预期的日期。

Day0.JPG 变量声明
Day1.JPG
程序(结构化文本)代码
Day2.JPG
Add_On 指令代码:


MinMonth[0]:=2;
MinMonth[1]:=4;
MinMonth[2]:=6;
MinMonth[3]:=9;
MinMonth[4]:=11;
NewMonth:=Month_In;
NewYear:=Year_In+4*TRUNC((Day_Add*1.0)/1461.0);//测试是否为实数
NewDay:=Day_Add mod 1461 ;
NewDay:=Day_In+NewDay;
if NewDay<=28 then
   Day_Out:=NewDay;
else
   Done:=0;
   while Not Done do
                 if NewMonth=2 then
                    if NewYear mod 4=0 then//判断是为闰年
                           if NewDay<=29 then//判断是否为29天
                                  Day_Out:=NewDay;
                                  Done:=1;
                           else//大于29天
                                  NewDay:=NewDay-29;
                              NewMonth:=NewMonth+1;
                           end_if;
                        else//不为闰年
                           if NewDay<=28 then//判断是否为28天
                              Day_Out:=NewDay;
                                  Done:=1;
                           else
                              NewDay:=NewDay-28;
                          NewMonth:=NewMonth+1;
                           end_if;
                   end_if;
                else
                   for Var:=0 to 4 do
                       if NewMonth <>MinMonth[Var] then//当前判断为大月
                                  MaxMonthMark:=1;
                           else
                              MinMonthMark:=1;
                           end_if;
                   end_for;
                   if MinMonthMark then//当前月为小月且不等于二月
                      //a[1]:=a[1]+1;
                      if NewDay<=30 then
                             Day_Out:=NewDay;
                             Done:=1;
                      else
                             NewDay:=NewDay-30;
                             NewMonth:=NewMonth+1;
                      end_if;
                      MinMonthMark:=0;
           end_if;
                   if MaxMonthMark then
                      //a[2]:=a[2]+1;
                      if NewDay<=31 then
                         Day_Out:=NewDay;
                         Done:=1;
                      else
                     NewDay:=NewDay-31;
                         NewMonth:=NewMonth+1;
                         if NewMonth>=13 then
                            NewYear:=NewYear+1;
                                NewMonth:=1;
                         end_if;
                      end_if;
                         MaxMonthMark:=0;
               end_if;
       end_if;
            if Done then
           EXIT;
            end_if;
    end_while;
end_if;
Month_Out:=NewMonth;
Year_OUT:=NewYear;

附件中有完整的Add-On 指令 欢迎下载

DataAddDay.rar

2.06 KB

售价: 1 E币  [记录]  [购买]

时间加法计算(天)

 楼主| tybbs21 发表于 2016-9-19 14:32:43 | 显示全部楼层
各位朋友,急需工控币下WinCC7.2 USB破解文件,希望大家多多支持!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|ELEOK |网站地图

GMT+8, 2024-12-23 03:31

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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