在PLC编程中,上升沿逻辑经常需要用到。它的功能在于,在一个信号由0变1的瞬间,产生一个状态位,用于触发系统功能。

上升沿的功能原本非常简单,也有一些文章介绍过使用方法。但仍然有不少人对此比较困惑。尤其在标准化编程架构下。

标准化编程中,不可以使用全局变量的M和T,这些我都写过多次文章了。而上升沿和下降沿,因为比较简单, 就一直没有专门提及。

这回专门介绍一下。

在S7-300/400中,上升沿是个函数:

切换到STL,指令为:

所以,本质上它就是一个FP的指令,只不过需要消耗一个全局变量。

在PORTAL中,上升沿下降沿的指令变的更复杂了。4对,8个:

调用时这样:

而其实我并不确切明白这4种到底有什么具体的区别。或者说,不明白西门子为啥要给搞到这么复杂。

不管了,还按老的方式用P_TRIG即可。

S7-200 SMART 中使用就比较简单,一个简单的符号:

STL语言,它的指令其实叫做EU:

恰恰是这个EU,或者说P指令,害了很多人。

这个P指令,用起来确实简单,不需要加辅助变量,拿来就能用。但没有输入辅助变量的地方,反而不能区分了,就出了大问题,因为这个指令其实是不能重复被调用的。所以,一个子程序块,如果使用了上升沿指令,那么这个子程序在同一个CPU程序中,就不可以被重复调用。

很多人,写好了一个库函数, 调试的时候功能很好用。但等用到多个设备,函数块被多次调用,就开始出各种匪夷所思的毛病了。

都是拜这个P指令所赐。

所以,如果这个子程序实现的是设备库函数的功能的话,就不可以使用P指令。一处都不可以。

所以,在SMART 200的标准化编程里面,如果按照我过去同样的语言格式,就应该表达为:好的PLC程序的判断标准,不使用P指令。

过去那些听闻M和T用不得都受不了的人,再听到这个说法,恐怕是要疯掉了。

那么,不让用P指令,如何实现上升沿控制呢?

二十几年来,PLC领域进展翻天覆地。但有的地方其实却是退步了。

我们回到S5来寻找答案。

那个时候,是没有现成指令给你用的,要做上升沿,需要自己编程实现:

STL语句里面:

使用一个辅助变量,简单保存一下输入信号的值,就可以实现了。只需要这个保存语句,在使用的下方即可。

那么,在SMART200中,库函数中需要上升沿指令的时候,只需要回到S5时代的方法,就可以了。辅助变量如何避免使用全局变量的问题,老早就讨论过多次了。

其实,我上面的程序也是在SMART中做的。手头并没有STEP5的软件了。

以同样的道理,在SCL以及其它高级语言中,可以同理参考实现上升沿功能。

通常,使用一个OLD辅助变量

OUT := SIGN AND NOT SIGN_OLD;

SIGN_OLD:=SIGN;

因为下降沿的本质就是信号取反的上升沿,所以本文没有特别关注下降沿,也建议大家不要使用下降沿编程。那样回过去读程序的时候逻辑会混乱,比较烧脑。

上升沿判断语句_【万泉河】PLC编程,上升沿的那点儿事相关推荐

  1. 上升沿判断语句_自己明明持有着主升浪的股票却拿不住?一文教你判断主升浪的信号...

    主升浪形态 一.一阳穿三线 形态特征:(1)一根大阳线甚至涨停大阳线穿过3根均线.这三根均线为5日.10日.20日.30日.60日.120日中的任意三根:(2)3根均线要聚合 在一起,如果分的太开,则 ...

  2. 上升沿判断语句_FPGA入门系列6判断语句

    文章 简介 本系列文章主要针对FPGA初学者编写,包括FPGA的模块书写.基础语法.状态机.RAM.UART.SPI.VGA.以及功能验证等.将每一个知识点作为一个章节进行讲解,旨在更快速的提升初学者 ...

  3. 西门子断开延时定时器_在PLC编程中定时器的一些针对现场不同情况的一些妙用...

    相信大家在PLC编程中常会用到定时器,定时器指令也是比较常用的指令,一般分为接通延时定时器.断开延时定时器.脉冲定时器等,相信大家对于指令也已经很熟悉,在本文中就不具体介绍定时器指令了. 本文重点介绍 ...

  4. python判断语句_详解Python判断语句的使用方法

    本篇介绍Python判断语句的使用,主要讨论简单条件语句.多重条件语句和嵌套条件语句,在讲解的每个案例中都配有流程图和代码说明.通过本篇的学习,可以达成如下目标. ● 掌握判断语句的使用规则 ● 判断 ...

  5. for循环递减_判断语句_循环语句

    创建时间:20200418 修改时间:20200629 1. if 判断语句 1.1 if...elif...else...语句格式 Python 中 if 语句的一般形式如下所示: if 如果 &q ...

  6. ab plc编程软件_三菱PLC编程程序PLC的软件编程

    三菱PLC编程程序-PLC的软件编程 BL2 RACKMOUNT 4U系列工控机 - 搭载Intel第六代core i系列CPU, I3-6100, I5-6500, I7-6700 CPU可选 - ...

  7. ab st语言编程手册_西门子PLC编程SCL和LAD谁才是王者?一起讨论一下

    现在很多大品牌的中高级 PLC 都支持国际电工委员会 IEC61131 标准中规范的五种编程语言的混合编程,即梯形图(LD).结构化文本(ST).流程图(SFC).指令表(IL)和功能块(FB).在这 ...

  8. fx5u mc协议_三菱PLC编程入门:FX5U系列常见问题!

    FX5U是最新一代三菱小型可编程控制器.FX5U主机取消了原本FX传统的国形422编程口,但内置了以太网接口和2入1出模拟量以及RS-485接口.此PLC编程需要使用 GX-Works3软件. 本文为 ...

  9. 编程随想 关系图_支持PLC编程的5大语言,全部会用的才是大神!

    PLC的软件编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同于一般的汇编语言,且要满足易于编写和调试的要求. 早期的PLC仅支持梯形图编程语言和指令表编程语言,现根据国际电工委 ...

最新文章

  1. python pandas聚合_Python Pandas分组聚合的实现方法
  2. Linux之Ansible入门用法(实验解析)
  3. VS Code编译Python
  4. 超详细的Hadoop2配置详解
  5. mysql capi函数详解_技术分享|MySQLCAPI参数MYSQL_OPT_READ_TIMEOUT的一些行为分析
  6. paip.eclipse忽然启动报错的解决
  7. ojdbc7加入本地maven仓库
  8. 计算机命令关闭445端口,关闭445端口命令是什么?设置关闭445端口的步骤教程
  9. XJOI一级二段题解(g++,即C++),也可视作C++算法竞赛教程
  10. 处理24人!又一批科研不端案例被通报批评
  11. 计算机绘出一条虚线算法步骤,计算机图形学 第二章 基本图形生成算法.ppt
  12. 每日工作记录——任意小数分频研究
  13. c语言命令笔记本电脑快捷键,实用的电脑操作技巧(附快捷键)
  14. windows和linux系统下数据传输工具——tftpd32使用说明
  15. 《数据中台架构:企业数据化最佳实践》:感受数据中台建设五步法
  16. 计算机电脑维修 维修不求人,电脑维修不求人:电脑常见故障维修大全及解决方法...
  17. 一个人的格局,往往决定着一生【看世间繁华,品百味人生】
  18. 创业就失败的12种人
  19. 95后腾讯T3-2 晒出工资单:狠补了这个,真香…
  20. HTML三个常用代码-空格,标签,回车

热门文章

  1. DzzOffice管理员登陆方法和管理员应用介绍
  2. 电子信息工程有哪些SCI期刊推荐? - 易智编译EaseEditing
  3. Android关于Path你所知道的和不知道的一切
  4. 【题库】计算机二级选择题
  5. 计算机六级英语,大学生使用计算机英语六级作文范文
  6. until语句应用实例
  7. java 等待 唤醒_Java之等待唤醒机制的代码实现
  8. CAPWAP隧道技分享
  9. 前端——javascript基础-ECMAScript
  10. Quartus II怎样导出原理图??