您现在所在的是:

PLC论坛

回帖:0个,阅读:25 [上一页] [1] [下一页]
22667
bnnyygy
文章数:6457
年度积分:1563
历史总积分:22667
注册时间:2012/3/15
发站内信
2018论坛分享达人
发表于:2025/12/23 20:19:23
#0楼
今天写一台设备,想用ST写,写着写着发现有点不对,调试不正常,就有了一个帖子,

想法很美好,想着CASE数值变化一次,延迟一个时间,下一步才可以继续运行,但是,根据PLC扫描原理从上到下扫描,结果就是,vi_Step从0直接跑到40,一个扫描周期就跑完了,定时器还没来得及复位就OVER了
case 里面嵌套定时器也麻烦,下面还要给上面定时器复位,多写几行,人都要整崩溃了,具体定时器原理也就不研究了,各种品牌有点小区别;

问AI,给你整一堆代码,头晕眼花~


测试原始程序:<测试>

TONR(IN := vi_Step= vi_StepTemp,PT := 1000,Q =>vt_ );
vi_StepTemp:=vi_Step;

CASE vi_Step OF
0://初始待机
vi_Step:=10;

10:
vb_[0]:=true;
if vt_ THEN
vi_Step:=20;
end_if;

20:
vb_[1]:=true;
if vt_ THEN
vi_Step:=30;
end_if;

30:
vb_[2]:=true;
if vt_ THEN
vi_Step:=40;
end_if;

40://清除VB_W数组
vb_:=vb_temp;
if vt_ THEN
vi_Step:=0;
end_if;

END_CASE;


~~~~~~~~~~~
上菜:GIF;


附件 GIF 2025-12-23 20-10-48.gif


下面步骤要如果用定时器.q的时候,上面一步强制定时器.q=FALSEL;

仅限汇川EASY,H5U,其他品牌PLC自行研究

全文完!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

31.2002