首页 三菱(Mit. 正文

回复

用ST语言写的分期付款功能块,包含大部分ST语法。

三菱(Mitsubishi)PLC 浏览:2080 回复:41 收藏

solidgzq  2016-10-09 17:12

用ST语言写的分期付款功能块,包含大部分ST语法。有详细注释。

里面上升沿,IF,while,for,循环里面嵌套等语法都有用到。

里面3U和5U用的都有,由于ST语言的,天然可移植性,把特殊M和D改成SM,SD直接复制就可以了


      IF ANDP(1,开始计算) THEN (*计算激活日期N天后是几月几日*)

D8000 := 2000;

DAYi0 := 激活日期日;

MONi0 := 激活日期月;

YEARi0 := 激活日期年;

FOR DAYi:=1

TO 停机天数 BY 1 DO

             DAYi0:=DAYi0+1;

       IF DAYi0 > 月份[MONi0] THEN

DAYi0 := 1;

MONi0 := MONi0+1;

IF MONi0 > 12 THEN

MONi0 := 1;

YEARi0 := YEARi0+1;

IF YEARi0 MOD 4=0 AND YEARi0 MOD 100 <> 0 OR YEARi0 MOD 100 = 0  THEN

月份[2]:=29;

ELSE

月份[2]:=28;

END_IF;

END_IF;

END_IF;

END_FOR;

      END_IF;


开始用这个按天累加的写法,3U运行时变量DAYi累加到2000多就已经出发200ms的看门狗报警了

后面改成按月累加的方式写法复杂写,但是运算周期就小了很多了。

3U变成5U,绝对不是运算速度65ns到34ns那点提升,感觉快了几倍都有。

不过GX works2有个优点,可以看编译结果显示,可以用不同的ST语法看有多少行代码,改善自己的写法

就这些都有1千行的代码

GX works3的优点就是知道缩放IF END_IF,for END_FOR等,多重嵌套的时候一目了然。



这边好难增加积分,发给来赚点积分





正在下载,请等待……
下载附件需 3 积分!

我知道了