xuweid123
级别: 探索解密
精华主题: 0
发帖数量: 19 个
工控威望: 139 点
下载积分: 639 分
在线时间: 33(小时)
注册时间: 2017-02-08
最后登录: 2024-09-10
查看xuweid123的 主题 / 回贴
楼主  发表于: 2018-01-29 21:19

如题,公司的程序很大,见图,左侧有很多块程序,这样的程序如何扫描,是上面的程序扫描完再往下扫描下面的,一排一排的,
还是所有程序一起从头往下扫描?扫描速度应该是很快的吧??

另外就是一个变址Z的问题,我知道配合软元件的使用方法,但就是给Z赋值指令问题,一段程序中就可能数次赋值,而且是
SM400常通的继电器后面直接输出为inc z0,然后下面过很多排还有SM400做输入,直接输出rst z0,z0很是搞不懂,而且像图上
别的块的程序中也分别给z0赋值,也有好几处指令赋值和复位。这样很多地方都给Z0赋值,到底哪一个有效呢??还是每一块的只在
那一块程序中起作用,按我的理解应该也不是,因为M、x、y等指令所有块的程序中都会自己变化,但没有这样的赋值及复位条件,
实在想不通这个变址赋值问题啊?
john42tw
级别: 网络英雄
精华主题: 0
发帖数量: 1276 个
工控威望: 6107 点
下载积分: 52058 分
在线时间: 1120(小时)
注册时间: 2012-04-24
最后登录: 2024-09-30
查看john42tw的 主题 / 回贴
1楼  发表于: 2018-01-30 08:25
每一個設計師都有自己的風格。
但PLC 基本運行及規則不會改變。

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

2.Z赋值指令问题--->因為Z的數量是有限制的,所以在節約使用。
                        推測:在這程式一段使用完後,將所需的取走;
                                  下一段程式歸零後再使用。        
本帖最近评分记录:
  • 工控威望:+5(ymmfa) 热心助人!
    290164396
    级别: 探索解密
    精华主题: 0
    发帖数量: 19 个
    工控威望: 114 点
    下载积分: 3250 分
    在线时间: 12(小时)
    注册时间: 2017-11-16
    最后登录: 2022-11-29
    查看290164396的 主题 / 回贴
    2楼  发表于: 2018-01-30 14:57
    每个工程师的编程方法不一样,但是你要多深度研究定会发现一些奥妙出来的
    zmrs163
    级别: 家园常客
    精华主题: 0
    发帖数量: 373 个
    工控威望: 521 点
    下载积分: 1466 分
    在线时间: 323(小时)
    注册时间: 2017-06-12
    最后登录: 2024-11-04
    查看zmrs163的 主题 / 回贴
    3楼  发表于: 2018-01-30 16:41
    从上到下,用完归零互不影响
    xuweid123
    级别: 探索解密
    精华主题: 0
    发帖数量: 19 个
    工控威望: 139 点
    下载积分: 639 分
    在线时间: 33(小时)
    注册时间: 2017-02-08
    最后登录: 2024-09-10
    查看xuweid123的 主题 / 回贴
    4楼  发表于: 2018-01-30 20:28
    关键左边看有很多块的程序,有的每一块程序都有复位和赋值指令,就专用这一个Z0,程序开头先复位,后面过一段为sm400输出inc z0,然后下面过几一些程序又是sm400,输出rst z0,再过一阵又是sm400 inc z0,关键是z0用了很多次,每块程序都用很多次。不说z1,z2等等了。
    枫落云端
    施主,脚抬一下
    级别: 略有小成

    精华主题: 0
    发帖数量: 341 个
    工控威望: 465 点
    下载积分: 1595 分
    在线时间: 409(小时)
    注册时间: 2017-10-10
    最后登录: 2024-10-12
    查看枫落云端的 主题 / 回贴
    5楼  发表于: 2018-02-09 13:41
    每段程序你可以看一下引用Z0时,应该都是先把Z0的值MOV到一个临时寄存器中,比如MOV Z0 D0,之后再把Z0清零或者赋一个初始值,等到这段程序或者这段功能完成后,马上又把Z0之前的值赋值回去,如MOV D0 Z0。其实就是酱油瓶原理,A瓶有酱油,B瓶有醋,怎么把酱油放到B瓶,把醋放到A瓶;那就再拿多一个空瓶,先把酱油倒入空瓶,再把醋倒入A瓶,最后把把酱油倒入B瓶。最后的结果空瓶还是空瓶,但是A瓶和B瓶已经交换了材料。仔细想想这个原理是不是和Z0多次赋值使用类似