xuweid123
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 19 個
工控威望: 139 點
下載積分: 639 分
在線時間: 33(小時)
注冊時間: 2017-02-08
最后登錄: 2024-09-10
查看xuweid123的 主題 / 回貼
樓主  發(fā)表于: 2018-01-29 21:19

如題,公司的程序很大,見圖,左側(cè)有很多塊程序,這樣的程序如何掃描,是上面的程序掃描完再往下掃描下面的,一排一排的,
還是所有程序一起從頭往下掃描?掃描速度應(yīng)該是很快的吧??

另外就是一個變址Z的問題,我知道配合軟元件的使用方法,但就是給Z賦值指令問題,一段程序中就可能數(shù)次賦值,而且是
SM400常通的繼電器后面直接輸出為inc z0,然后下面過很多排還有SM400做輸入,直接輸出rst z0,z0很是搞不懂,而且像圖上
別的塊的程序中也分別給z0賦值,也有好幾處指令賦值和復(fù)位。這樣很多地方都給Z0賦值,到底哪一個有效呢??還是每一塊的只在
那一塊程序中起作用,按我的理解應(yīng)該也不是,因為M、x、y等指令所有塊的程序中都會自己變化,但沒有這樣的賦值及復(fù)位條件,
實在想不通這個變址賦值問題。
john42tw
級別: 網(wǎng)絡(luò)英雄
精華主題: 0
發(fā)帖數(shù)量: 1276 個
工控威望: 6107 點
下載積分: 52048 分
在線時間: 1120(小時)
注冊時間: 2012-04-24
最后登錄: 2024-03-06
查看john42tw的 主題 / 回貼
1樓  發(fā)表于: 2018-01-30 08:25
每一個設(shè)計師都有自己的風(fēng)格。
但PLC 基本運行及規(guī)則不會改變。

1.程序如何掃描---->上面的程序掃描完再往下掃描下面的,一排一排的。

2.Z賦值指令問題--->因為Z的數(shù)量是有限制的,所以在節(jié)約使用。
                        推測:在這程式一段使用完後,將所需的取走;
                                  下一段程式歸零後再使用。        
本帖最近評分記錄:
  • 工控威望:+5(ymmfa) 熱心助人!
    290164396
    級別: 探索解密
    精華主題: 0
    發(fā)帖數(shù)量: 19 個
    工控威望: 114 點
    下載積分: 3250 分
    在線時間: 12(小時)
    注冊時間: 2017-11-16
    最后登錄: 2022-11-29
    查看290164396的 主題 / 回貼
    2樓  發(fā)表于: 2018-01-30 14:57
    每個工程師的編程方法不一樣,但是你要多深度研究定會發(fā)現(xiàn)一些奧妙出來的
    zmrs163
    級別: 家園?
    精華主題: 0
    發(fā)帖數(shù)量: 372 個
    工控威望: 520 點
    下載積分: 1464 分
    在線時間: 322(小時)
    注冊時間: 2017-06-12
    最后登錄: 2024-09-20
    查看zmrs163的 主題 / 回貼
    3樓  發(fā)表于: 2018-01-30 16:41
    從上到下,用完歸零互不影響
    xuweid123
    級別: 探索解密
    精華主題: 0
    發(fā)帖數(shù)量: 19 個
    工控威望: 139 點
    下載積分: 639 分
    在線時間: 33(小時)
    注冊時間: 2017-02-08
    最后登錄: 2024-09-10
    查看xuweid123的 主題 / 回貼
    4樓  發(fā)表于: 2018-01-30 20:28
    關(guān)鍵左邊看有很多塊的程序,有的每一塊程序都有復(fù)位和賦值指令,就專用這一個Z0,程序開頭先復(fù)位,后面過一段為sm400輸出inc z0,然后下面過幾一些程序又是sm400,輸出rst z0,再過一陣又是sm400 inc z0,關(guān)鍵是z0用了很多次,每塊程序都用很多次。不說z1,z2等等了。
    楓落云端
    施主,腳抬一下
    級別: 略有小成

    精華主題: 0
    發(fā)帖數(shù)量: 341 個
    工控威望: 465 點
    下載積分: 1595 分
    在線時間: 409(小時)
    注冊時間: 2017-10-10
    最后登錄: 2024-08-05
    查看楓落云端的 主題 / 回貼
    5樓  發(fā)表于: 2018-02-09 13:41
    每段程序你可以看一下引用Z0時,應(yīng)該都是先把Z0的值MOV到一個臨時寄存器中,比如MOV Z0 D0,之后再把Z0清零或者賦一個初始值,等到這段程序或者這段功能完成后,馬上又把Z0之前的值賦值回去,如MOV D0 Z0。其實就是醬油瓶原理,A瓶有醬油,B瓶有醋,怎么把醬油放到B瓶,把醋放到A瓶;那就再拿多一個空瓶,先把醬油倒入空瓶,再把醋倒入A瓶,最后把把醬油倒入B瓶。最后的結(jié)果空瓶還是空瓶,但是A瓶和B瓶已經(jīng)交換了材料。仔細想想這個原理是不是和Z0多次賦值使用類似