如何在plc工作机制下最大限度的捕捉到输入状态信息

已锁定

WWCWWC

西门子1847工业学习平台

  • 帖子

    8032
  • 精华

    145
  • 被关注

    1335

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

如何在plc工作机制下最大限度的捕捉到输入状态信息

3950

46

2018-09-22 18:52:24

star star star

如何在plc工作机制下最大限度的捕捉到输入状态信息

   做plc控制工作的同事都知道plc的工作机制(扫描机制),是自左(母线)而右(线圈参考点)、自上而下(程序的标号顺序)。一个输入信号如果在一个扫描周期内反复变换状态,plc能够识别到的信息应该是距用户程序结束处END位置处的状态值,这样反复循环扫描采集、运算处理、运算结果做输出是plc最基本的工作机制。

   如果是利用200(200 smart)plc做系统控制,那么,系统有现成的几个输入上升沿和下降沿中断供用户调用:以200 samrt为例的输入上升、下降沿中断列表:

集成cpu本机的输入:


信号板输入:


   一个200 smart plc最多可以支持6个(不包含经济型,没有扩展信号板)输入地址的上升沿和下降沿中断,一般的调用应该是可以满足需求了的。可是,如果系统需要组态高速计数器项目或需要大于6个输入地址中断的系统中应用情况下,编程还是有一些难度的。

   那么,是否有一种方式可以在一定程度上弥补上述硬件的“不足”,使plc发挥到“极致”?答案当然是可以试试的,验证与实际的外部输入中断会丢失输入信息的区别。

编程思路:

1)  定义一个循环定时中断,当然为了捕捉到plc工作机制下的最大量,循环定时中断时间只能的允许范围内的最小值,200 smart循环定时中断的时间范围(1~255mS),显然只能选择最小循环定时单位1mS。

2)  在循环定时中断中编辑输入状态的记录功能,记录方式可以是指针移动记录地址存储状态编程或者是直接调用表格指令(AD_T_TBL),本验证不做存储能够验证的测试。

3)  调用外部输入I0.0的上升沿中断,作为与定时中断比较区别。

4)  2个中断进行比较,看结果的区别。

程序:

1)  创建一个工程项目,调用循环定时中断和外部输入I0.0上升沿中断:


2)  在主程序中调用:


3)  在各自的中断中编辑I0.0的输入状态值:


4)  将验证程序编译、保存后下载到plc中,按压外部输入按钮I0.0数次,看2个中断的记录差异,状态图表中监控:


按了200多次均能够同样捕捉到I0.0的状态值。

5)  如果把循环定时中断的时间调整到255mS最大值的情况又将如何?


显然,按压几次后,数值差异非常明显了,循环定时中断会丢失输入状态值。说明循环定时中断的时间设置过大(大于plc扫描周期值,很容易丢失输入状态值),这个验证结果也符合plc的工作机制。

   由于这次测试的plc的经济型的,无法编辑高速脉冲输出测试高速输入信号情况下的输入状态值差异,验证只能暂时中断了,中断应用已经中毒了,哈哈。看来,利用中断还是可以回避由plc扫描周期捕捉外部输入信息的一种编程途径,虽然验证程序尚存在一些局限性。

   首先感谢“S”侠,今天下午看到你的回复,提示在执行中断子程序时,输入的PIW与IW的概念问题,因一时粗心大意没有考虑到这些问题,在此先行谢过。

针对于你这个概念的问题,我又单独做了一个验证,程序仍然是原程序,只是重新定义的循环定时中断的周期为255(最大循环定时中断),并创建一个I0.0立即输入与IB0做比较。

程序仿真:


增加循环定时中断时间的目的是让输入捕捉由于循环周期变长,使捕捉机会少一些,更能够反映立即输入的优势。


外部I0.0端子连接的按钮按压200次后,没有明显看到MW0与MW4的差异。

在中断程序中,这个普通的输入也能够带“立即”功能?查遍200 smart系统手册,关于中断只是描述了它能够优先处理比主程序更高的权限,没有明确是对输入、输出的优先权限,再次连续按压输入I0.0,还是没有明显的差异,一时想不起来用什么方式能够编辑一个有效的程序来判断之间的区别,只能暂时放下继续验证了。


如何在plc工作机制下最大限度的捕捉到输入状态信息 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有7555条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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