qq240559043
干就完了
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 191 個(gè)
工控威望: 332 點(diǎn)
下載積分: 4111 分
在線時(shí)間: 144(小時(shí))
注冊時(shí)間: 2012-06-06
最后登錄: 2024-12-19
查看qq240559043的 主題 / 回貼
12樓  發(fā)表于: 2024-08-09 22:20
M0        :=(D0=1 AND NOT X5 AND X7 AND X8) OR D2=1 OR D5=1 OR D12 =1;
IF M0= TRUE AND LDP(TRUE,M1) THEN
    D100        :=D100+1;
END_IF;
IF M0= TRUE AND LDP(TRUE,M2) THEN
    D101        :=D101+1;
END_IF;
IF M0= TRUE AND LDP(TRUE,M3) THEN
    D102        :=D102+1;
END_IF;
IF M0= TRUE AND LDP(TRUE,M4) THEN
    D103        :=D103+1;
END_IF;    
IF M0= TRUE AND LDP(TRUE,M5) THEN
    D104        :=D104+1;
END_IF;    
IF M0= TRUE AND LDP(TRUE,M6) THEN
    D105        :=D105+1;
END_IF;    
IF M0= TRUE AND LDP(TRUE,M7) THEN
    D106        :=D106+1;
END_IF;    


其實(shí)我看出來你想說什么了,是我的會(huì)我會(huì)用標(biāo)簽的布爾數(shù)組,要加的數(shù)據(jù)也是數(shù)組;
用FOR去寫就好了。我覺得你一定會(huì)用變址,因?yàn)槟愕乃枷胍呀?jīng)被束縛了
ayusecret
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 185 個(gè)
工控威望: 263 點(diǎn)
下載積分: 810 分
在線時(shí)間: 74(小時(shí))
注冊時(shí)間: 2021-10-31
最后登錄: 2024-12-19
查看ayusecret的 主題 / 回貼
13樓  發(fā)表于: 2024-08-10 08:15
引用
引用第12樓qq240559043于2024-08-09 22:20發(fā)表的  :
M0        :=(D0=1 AND NOT X5 AND X7 AND X8) OR D2=1 OR D5=1 OR D12 =1;
IF M0= TRUE AND LDP(TRUE,M1) THEN
    D100        :=D100+1;
END_IF;
IF M0= TRUE AND LDP(TRUE,M2) THEN
.......

拜托,你以為我給出的代碼是真實(shí)場景呀,能用一個(gè)If的情況下我為什么要寫那么多IF,而且你以為真實(shí)情況下是M4,M5,M6,M7情況下可以用For循環(huán)?
我的設(shè)想是用一個(gè)If帶后面所有上升沿,和梯形圖一樣,懂?我覺得你才是思想被束縛的人,能用IF盡量用IF
暴躁小白兔
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 150 個(gè)
工控威望: 198 點(diǎn)
下載積分: 4387 分
在線時(shí)間: 95(小時(shí))
注冊時(shí)間: 2021-05-11
最后登錄: 2024-12-20
查看暴躁小白兔的 主題 / 回貼
14樓  發(fā)表于: 2024-08-12 10:58
引用
引用第2樓ayusecret于2024-08-02 08:21發(fā)表的  :
[attachment=301886]
沒人討論,我來給出我的測試結(jié)果,D0,D1的不同結(jié)果讓我對ST的上升沿和下降沿的使用保持謹(jǐn)慎,畢竟這已經(jīng)是我第二次在ST邊沿指令時(shí)發(fā)現(xiàn)的問題了,第一次引貼:http://melville4.com/read-gktid-1728792.html


我咋記得說明書上提到過,ST文本中慎用脈沖信號(hào),不保證準(zhǔn)確性
17625606414
級(jí)別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 432 個(gè)
工控威望: 610 點(diǎn)
下載積分: 172 分
在線時(shí)間: 168(小時(shí))
注冊時(shí)間: 2022-07-11
最后登錄: 2024-12-20
查看17625606414的 主題 / 回貼
15樓  發(fā)表于: 2024-08-12 16:43
引用
引用第14樓暴躁小白兔于2024-08-12 10:58發(fā)表的  :


我咋記得說明書上提到過,ST文本中慎用脈沖信號(hào),不保證準(zhǔn)確性

跟ST沒關(guān)系,跟怎么寫有關(guān)系
ayusecret
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 185 個(gè)
工控威望: 263 點(diǎn)
下載積分: 810 分
在線時(shí)間: 74(小時(shí))
注冊時(shí)間: 2021-10-31
最后登錄: 2024-12-19
查看ayusecret的 主題 / 回貼
16樓  發(fā)表于: 2024-08-12 17:16
引用
引用第15樓17625606414于2024-08-12 16:43發(fā)表的  :

跟ST沒關(guān)系,跟怎么寫有關(guān)系

可能我對ST用法理解不到位,但你能幫忙分析下以下結(jié)果么,為啥M1 On,D0+1,M2,M3常On且不受指令影響可以強(qiáng)制On/Off.
這個(gè)寫法對應(yīng)的梯形圖究竟是長啥樣的能幫忙寫下嗎

烽火御龍?zhí)?
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 45 個(gè)
工控威望: 322 點(diǎn)
下載積分: 2657 分
在線時(shí)間: 32(小時(shí))
注冊時(shí)間: 2022-09-15
最后登錄: 2024-11-14
查看烽火御龍?zhí)斓?主題 / 回貼
17樓  發(fā)表于: 2024-08-13 09:45
圖片:
引用
引用第11樓ayusecret于2024-08-09 18:24發(fā)表的  :

第一次被人說是新手,那我請教一下你,圖中類型梯形圖邏輯用ST如何體現(xiàn),或者用你那強(qiáng)大的Codesys要如何寫,能有如此底氣的可能也就是CodeSys沒類似問題而已,有的話估計(jì)也就不會(huì)這么說了
[attachment=302117]



剛剛測試了一下  可以這樣子寫呀
本帖最近評(píng)分記錄:
  • 下載積分:+1(攻城獅老王)
    ayusecret
    級(jí)別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 185 個(gè)
    工控威望: 263 點(diǎn)
    下載積分: 810 分
    在線時(shí)間: 74(小時(shí))
    注冊時(shí)間: 2021-10-31
    最后登錄: 2024-12-19
    查看ayusecret的 主題 / 回貼
    18樓  發(fā)表于: 2024-08-13 09:57
    引用
    引用第17樓烽火御龍?zhí)煊?024-08-13 09:45發(fā)表的  :



    剛剛測試了一下  可以這樣子寫呀


    不行,有問題,你把IF M0 THEN改成IF SM412 THEN,就知道你的值一直在加,和梯形圖的執(zhí)行效果不一樣
    攻城獅老王
    工控人一名,歡迎騷擾。
    級(jí)別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 218 個(gè)
    工控威望: 247 點(diǎn)
    下載積分: 1603 分
    在線時(shí)間: 64(小時(shí))
    注冊時(shí)間: 2022-03-22
    最后登錄: 2024-12-14
    查看攻城獅老王的 主題 / 回貼
    19樓  發(fā)表于: 2024-08-13 17:06
    可以用個(gè)布爾數(shù)組

    引用
    引用第17樓烽火御龍?zhí)煊?024-08-13 09:45發(fā)表的  :



    剛剛測試了一下  可以這樣子寫呀
    攻城獅老王
    工控人一名,歡迎騷擾。
    級(jí)別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 218 個(gè)
    工控威望: 247 點(diǎn)
    下載積分: 1603 分
    在線時(shí)間: 64(小時(shí))
    注冊時(shí)間: 2022-03-22
    最后登錄: 2024-12-14
    查看攻城獅老王的 主題 / 回貼
    20樓  發(fā)表于: 2024-08-13 17:06
    我就喜歡 這樣的貼子
    bnnyygy
    bnnyygy
    級(jí)別: 家園?
    精華主題: 0
    發(fā)帖數(shù)量: 506 個(gè)
    工控威望: 615 點(diǎn)
    下載積分: 1825 分
    在線時(shí)間: 526(小時(shí))
    注冊時(shí)間: 2016-09-20
    最后登錄: 2024-12-22
    查看bnnyygy的 主題 / 回貼
    21樓  發(fā)表于: 2024-08-14 15:45
    通用寫法

    IF ib_IN  and vb_b=FALSE THEN

    上升沿執(zhí)行語句;

    END_IF;

    vb_b:=ib_IN;


    以上就是取ib_IN的上升沿。

    下降沿類似,理論上支持ST的PLC都可以通用。
    本帖最近評(píng)分記錄:
  • 下載積分:+5(apei2014) 真誠感謝!
    ayusecret
    級(jí)別: 略有小成
    精華主題: 0
    發(fā)帖數(shù)量: 185 個(gè)
    工控威望: 263 點(diǎn)
    下載積分: 810 分
    在線時(shí)間: 74(小時(shí))
    注冊時(shí)間: 2021-10-31
    最后登錄: 2024-12-19
    查看ayusecret的 主題 / 回貼
    22樓  發(fā)表于: 2024-08-14 16:20
    引用
    引用第21樓bnnyygy于2024-08-14 15:45發(fā)表的  :
    通用寫法

    IF ib_IN  and vb_b=FALSE THEN

    上升沿執(zhí)行語句;
    .......

    很遺憾,還是有問題。可以自己驗(yàn)證下,D0還是會(huì)自增
    代碼1:
    M0:=TRUE;
    ib_IN:=SM412;
    IF ib_IN  AND vb_b=FALSE THEN
        IF LDP(SM400,M0) THEN
            INC(SM400,D0);
        END_IF;
    END_IF;
    vb_b:=ib_IN;
    代碼2:
    M0:=TRUE;
    ib_IN:=SM412;
    IF ib_IN  AND vb_b=FALSE THEN
        INC(LDP(SM400,M0),D0);
    END_IF;
    vb_b:=ib_IN;
    bnnyygy
    bnnyygy
    級(jí)別: 家園?
    精華主題: 0
    發(fā)帖數(shù)量: 506 個(gè)
    工控威望: 615 點(diǎn)
    下載積分: 1825 分
    在線時(shí)間: 526(小時(shí))
    注冊時(shí)間: 2016-09-20
    最后登錄: 2024-12-22
    查看bnnyygy的 主題 / 回貼
    23樓  發(fā)表于: 2024-08-14 22:24
    引用
    引用第22樓ayusecret于2024-08-14 16:20發(fā)表的  :

    很遺憾,還是有問題?梢宰约候(yàn)證下,D0還是會(huì)自增
    代碼1:
    M0:=TRUE;
    ib_IN:=SM412;
    .......



    奧,不好意思,仔細(xì)看了一下,你是想在IF里面用 上升沿指令  LDP?



    考慮通用性,一般我都用我那個(gè)通用寫法,不會(huì)用PLC自帶的 上升沿指令之類的。

    只要支持ST,歐姆龍,西門子,匯川我用著目前好像沒發(fā)現(xiàn)什么問題,三菱感覺ST比較羸弱,所以很少使用,一般都是小工程用用FX系。

    麻煩的程序邏輯還是建議用梯形圖,ST還是偏向數(shù)據(jù)處理計(jì)算。