回复:关于西门子200smart顺控指令的应用

WWCWWC

西门子1847工业学习平台

  • 帖子

    9126
  • 精华

    157
  • 被关注

    1477

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

发布于 2016-10-09 20:51:32

4楼

展开查看
以下是引用zhangli0在2016-10-09 08:40:36的发言 >3楼

王工,你的这个是自己总结的还是copy来的?

以下是引用WWCWWC在2016-10-07 10:04:18的发言 >楼主:            ...

引用楼主详细内容:

                                  关于西门子200smart顺控指令的应用

    西门子200smart顺控指令仍然沿用了原西门子200的顺控指令的基本特征,方便用户进行一些对有规律可循的顺序控制逻辑,应用十分广泛。基于多年来对基本程序控制编辑的心得,特制作一个顺控指令模板,以供大家参考借鉴。

首先介绍一下西门子200smart PLC顺控指令的含义:

SCR: 指令将该指令所引用的 S 位的值装载到 SCR 和逻辑堆栈。

SCRT: 指令标识要启用的 SCR 位(要设置的上、下一个 S_bit)。

SCRE:指令标设有条件或者无条件结束被激活了的S_bit。

编写顺控指令事先需要考虑的一些问题:

1)  初始化顺控指令程序内的数据范围区、顺控步,初始操作完成后启动顺控指令。

这步必须写,无论是从系统手册或者其它帮助文件中,看到的仅仅是说明了一些顺控指令的具体用法,而没有系统性地描述顺控指令的具体应用。该步旨在规避启用顺控指令时,对初次使用或者由特殊原因引起的重新调用。一般调用特殊标志位SM0.1和系统急停后需要重新启动顺控指令的外部输入点。

2)  关于顺控指令中急停的使用功能。

当系统需要产生一个急停相应时,停止一切设备的(输出)、防止人身、设备伤害的执行。

3)  关于顺控指令在暂停的使用功能。

当系统需要产生一个暂停相应时,临时停止输出,当需要恢复时,可以在暂停的断点上继续。

4)  分流、合流顺控步。

当需要多个分支同时作业时,多个分支完成作业时。

5)  其它特殊性要求。

功能指令的特殊性。如运动控制指令应用时;高速指令应用时

6)  操作模式的要求。

分手动、自动(联动)、单循环模式

程序样例:

主程序调用:

LD     M0.0                    //调用顺控条件

O      急停按钮                // 急停按钮使能时,

CALL   顺控指令                //调用顺控指令

******************************************************************************

子程序顺控指令模板:

LD     First_Scan_On            //SM0.1

O      急停按钮                 //

MOVR   0.0, VD0                 //初始化顺控指令中使用到的数据

MOVW   0, VW6                   //初始化顺控指令在使用到的数据

MOVD   0, SD0                   //初始化顺控步

                                //用户可以初始多个其它需要的内容

*****************************************************************

LD     暂停按钮                 //当暂停来临时

LPS

EU

MOVD   SD0, VD100               //记录步号

LRD

MOVW   QW0, VW102                //记录输出状态

LPP

MOVW   0, QW0                     //停止输出状态

LDN    暂停按钮                   //当暂停离去时

LPS

ED

MOVD   VD100, SD0                 //恢复暂停前的步号

LPP

MOVW   VW102, QW0                 //回复暂停前的输出

LDN    急停按钮                   //解除急停后顺控的入口

ED

S      S0.1, 1

 

LSCR   S0.1                       //顺控入口

 

LD     Always_On

=      CPU_输出0                   //不建议在顺控指令中用直接地址输出

TON    T37, 50                     //顺控S0.1步的工作内容

 

LD     T37                         //顺控S0.1完成后跳转的条件

SCRT   S0.2                        //顺控S0.2的入口

 

SCRE                               //顺控S0.1结束标志

 

LSCR   S0.2                        //顺控入口S0.2

 

LD     M10.0                        //激活分支1控制条件

S      S5.0, 1                      //分支1

 

LD     M10.1                        //激活分支2控制条件

S      S10.0, 1                      //分支2

 

SCRE                                //顺控S0.2结束标志

 

LSCR   S5.0                         //分支1的入口

 

LD     M10.2                        //分支1完成的内容

S      S15.0, 1                     //返回到合并步S15.0

 

SCRE                                //顺控S0.5结束标志

 

LSCR   S10.0                         //分支2的入口

 

LD     M10.3                         //分支2完成的内容

S      S15.0, 1                       //返回到合并步S15.0

 

SCRE                                 

 

LSCR   S15.0                           //合并后的入口

 

LD     M0.3                            //分支1完成的结果

A      M0.4                            //分支2完成的结果

S      S0.1, 1                         //返回到开始步

 

SCRE                                   //顺控结束

*****************************************************************************

   上诉仅仅是一个模板方式编辑的例子程序,在实际使用中还需要做适当调整才能使用,程序仅仅是列举了一种控制思路。对于特殊的被控对象,如普通气缸做暂停操作时,不仅仅在软件程序中做一些暂停措施,还需要在硬件上加以保障,如采用“O”型气动阀组控制;如普通电机需要具备抱闸功能及控制,用户需要根据实际情况作相应的调整。

相关联的注意事项:

    对于惯量比较大的气缸控制,在前、后;上、下控制操作时,先运行一次“反向”操作,产生一个“背压”以克服因气动单元特性带来的大惯量影响,尤其适用于互相工作间隔时间长的场合。

    对于特殊负载如步进电机、伺服电机调用的功能指令时,在顺控指令应用中需要根据实际应用的指令特性做相应的调整。如,如何暂停运行和如何恢复运行的关联。

    顺控指令中的结果输出用中间变量“M”地址,与手动操作的结果“M”地址二者进行“或”操作运算后再做实际地址“Q”输出,规避双线圈可能带来的结果逻辑错误。


您认为呢?

说实在,心里一直有此想法,想做一个模板,不仅停留在西门子,还包含第三方PLC的,但是实在是本人考虑的因数太过于单一,总无法写的比较全面,也是另一种遗憾。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33265条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。