人妻精品99I日韩无码视频一区二区I欧美色图50pIwuyeripiI欧产日产国产swagI欧美 日韩 久久I99国产精品久久久久老师I成人AV电影网I艳妇乳肉豪妇荡乳AV无码福利I国产精品国产精品国产专区蜜臀AhI成人久久免费视频Iwww.91在线观看视频I国自产在线观看I色之综合网

vitalityboy
級別: 略有小成
精華主題: 0
發帖數量: 67 個
工控威望: 225 點
下載積分: 5698 分
在線時間: 72(小時)
注冊時間: 2013-09-23
最后登錄: 2025-12-22
查看vitalityboy的 主題 / 回貼
樓主  發表于: 2025-12-19 14:23
圖片:
用ST寫的那段,第一次M0 On后M100能On,在5秒后M100自動為Off,而M0再次On時M100卻不會為On;用梯形圖寫的這段,M0為On時M100就On,在5秒后M100自動為Off,而且M0再次On后M100也能為On。以上兩段程序運行原理一樣,梯形圖寫的執行效果符合預期,而用ST寫的卻差強人意,同樣都是FX3U的程序為什么執行效果卻不一樣???
guafa58
級別: 略有小成
精華主題: 0
發帖數量: 175 個
工控威望: 396 點
下載積分: 3118 分
在線時間: 322(小時)
注冊時間: 2010-10-28
最后登錄: 2026-03-29
查看guafa58的 主題 / 回貼
1樓  發表于: 2025-12-19 14:30
很不理解,你為什么 要寫成 常開與上升沿 一起 ;   M0 常開就常開,上升沿就上升沿,串一起 ,如何掃描
工控小c
寧波周邊項目合作V:fisherman_77
級別: 工控俠客
精華主題: 0
發帖數量: 675 個
工控威望: 2486 點
下載積分: 14771 分
在線時間: 649(小時)
注冊時間: 2022-10-14
最后登錄: 2026-03-28
查看工控小c的 主題 / 回貼
2樓  發表于: 2025-12-19 15:51
搞不懂。不過可以優化一下第一個IF判斷M100,再IF判斷M0上升沿。
sjm213
有小知識,無大學問。
級別: 論壇版主

精華主題: 6 篇
發帖數量: 5195 個
工控威望: 7556 點
下載積分: 164713 分
在線時間: 3288(小時)
注冊時間: 2007-11-21
最后登錄: 2026-03-29
查看sjm213的 主題 / 回貼
3樓  發表于: 2025-12-19 19:16
IF M0 THEN
    IF NOT M100 THEN
        IF M0 AND NOT M1 THEN
            M100:=TRUE;
            MOV(TRUE,0,D0);
        END_IF;
    ELSE
        IF D0>=5 THEN
            M100:=FALSE;
        END_IF;
    END_IF;
END_IF;

INCP(SM413,D0);

M1:=M0;

======================
估計是M0為OFF時 LDP(TRUE,M0)這句一直未執行,導致M0再ON時它的上升沿狀態無變化,這樣M100:=TRUE就不執行了。
uthman
QQ:3749615
級別: 家園常客
精華主題: 1 篇
發帖數量: 398 個
工控威望: 827 點
下載積分: 2911 分
在線時間: 800(小時)
注冊時間: 2007-10-25
最后登錄: 2026-03-20
查看uthman的 主題 / 回貼
4樓  發表于: 2025-12-19 19:34
編譯出的程序不一樣,IF,CASE等編譯后都是CJ跳轉
uthman
QQ:3749615
級別: 家園常客
精華主題: 1 篇
發帖數量: 398 個
工控威望: 827 點
下載積分: 2911 分
在線時間: 800(小時)
注冊時間: 2007-10-25
最后登錄: 2026-03-20
查看uthman的 主題 / 回貼
5樓  發表于: 2025-12-19 19:39
IF M0 AND NOT M1 THEN
    D0 := 0;
    M100 := TRUE;
END_IF;
M1 := M0;

IF M8013 AND NOT M2 THEN
    D0 := D0 + 1;
END_IF;

M2 := M8013;

IF D0 >= 5 THEN
    M100 := FALSE;
END_IF;
麥克朱
級別: 家園常客
精華主題: 0
發帖數量: 664 個
工控威望: 894 點
下載積分: 617 分
在線時間: 278(小時)
注冊時間: 2022-07-11
最后登錄: 2026-03-27
查看麥克朱的 主題 / 回貼
6樓  發表于: 2025-12-19 20:33
if 以內的東西不執行,里面有LDP這個指令,優先用R_TRIG,且獨立放在外面是最好的,真要一樣的話要寫應當是m0 and not m100 and ldp(m0)
本帖最近評分記錄:
  • 下載積分:+1(vitalityboy) 真誠感謝!
    linzhenfu
    級別: 略有小成
    精華主題: 0
    發帖數量: 195 個
    工控威望: 320 點
    下載積分: 846 分
    在線時間: 288(小時)
    注冊時間: 2007-07-15
    最后登錄: 2026-03-12
    查看linzhenfu的 主題 / 回貼
    7樓  發表于: 2025-12-19 22:41
    你認為原理一樣的兩個程序,實則是不一樣的,IF這個東西不是等同于梯形圖上那個條件觸點。
    烏嘍牛
    級別: 論壇先鋒
    精華主題: 0
    發帖數量: 865 個
    工控威望: 1205 點
    下載積分: 537 分
    在線時間: 277(小時)
    注冊時間: 2020-06-10
    最后登錄: 2026-03-29
    查看烏嘍牛的 主題 / 回貼
    8樓  發表于: 2025-12-19 23:14
    什么情況,像是什么啟動,不過這寫法,
    hlq_0815
    人生的成功不在于拿到一副好牌,而是怎樣將壞牌打好。
    級別: 論壇版主

    精華主題: 2 篇
    發帖數量: 1908 個
    工控威望: 4591 點
    下載積分: 7811 分
    在線時間: 1559(小時)
    注冊時間: 2008-07-03
    最后登錄: 2026-03-29
    查看hlq_0815的 主題 / 回貼
    9樓  發表于: 2025-12-20 07:21
    INCP(M8013,D0);
    IF NOT M100 AND LDP(TRUE,M0) THEN
        M100 := TRUE;
        D0 := K1;
    END_IF;
    IF M0 AND M100 AND D0 >= K5 THEN
        M100 := FALSE;
    END_IF;
    樓主留言:
    經這么一改,M0再次導通M100也能再次為On,而且生成的程序比我原來的小一點
    本帖最近評分記錄:
  • 下載積分:+1(vitalityboy) 真誠感謝!
  • 人生的成功不在于拿到一副好牌,而是怎樣將壞牌打好。
    congrikunge
    級別: 家園常客
    精華主題: 0
    發帖數量: 298 個
    工控威望: 717 點
    下載積分: 614 分
    在線時間: 866(小時)
    注冊時間: 2016-04-22
    最后登錄: 2026-03-19
    查看congrikunge的 主題 / 回貼
    10樓  發表于: 2025-12-20 11:04
    上升沿和計時器之類的 不要嵌套在IF里
    那時年少
    級別: 工控俠客
    精華主題: 0
    發帖數量: 658 個
    工控威望: 2320 點
    下載積分: 35605 分
    在線時間: 1454(小時)
    注冊時間: 2021-03-24
    最后登錄: 2026-03-29
    查看那時年少的 主題 / 回貼
    11樓  發表于: 2025-12-20 11:23
    對!
    引用
    引用第10樓congrikunge于2025-12-20 11:04發表的  :
    上升沿和計時器之類的 不要嵌套在IF里