龙空技术网

PLC取反指令的学习

工控零零七 216

前言:

此刻小伙伴们对“c语言中1取反”大概比较珍视,姐妹们都想要学习一些“c语言中1取反”的相关文章。那么小编同时在网上收集了一些关于“c语言中1取反””的相关资讯,希望小伙伴们能喜欢,姐妹们一起来了解一下吧!

今天我们通过一个案例来学习取反及传送指令,让你的编程工作达到事半功倍的效果,我们先来了解这两个指令的概念。

取 反:

将逻辑运算结果进行反转,如运算结果是0101,反转后输出就是1010。

传 送:

将数据值从源(常数或存储单元)IN 传送到新存储单元 OUT,而不会更改源存储单元中存储的值。主要应用于数值传递、存储单元清零,程序初始化。

案例要求:

控制八个指示灯交替输出,先输出1、3、5、7号指示灯,再输出2、4、6、8号指示灯,两组指示灯的输出间隔是1S。

元件说明:

Q0.0 1号指示灯。

Q0.1 2号指示灯。

Q0.2 3号指示灯。

Q0.3 4号指示灯。

Q0.4 5号指示灯。

Q0.5 6号指示灯。

Q0.6 7号指示灯。

Q0.7 8号指示灯。

指令说明:

First_Scan_On:在第一个扫描周期,CPU 将该位设置为 TRUE,此后将其设置为 FALSE。该位的一个用途是调用初始化子例程。

Clock_1s:该位提供一个时钟脉冲。周期时间为一秒时,该位有 0.5 秒的时间为 FALSE,然后有 0.5 秒的时间为 TRUE。该位可简单轻松地实现延时或提供一秒钟时钟脉冲。

MOV_B:字节传送;

INV_B:字节取反;

程序说明:

PLC上电后的第一个扫描周期对QB进行赋值,将二进制数01010101传送给QB0,QB0对应输出Q0.0、Q0.2、Q0.4、Q0.6四个输出位,对应1、3、5、7号指示灯点亮。

利用一秒时钟脉冲的上升沿对QB的运算结果进行取反,上条指令输出的是Q0.0、Q0.2、Q0.4、Q0.6四个输出位,那么取反后输出的就是Q0.1、Q0.3、Q0.5、Q0.7四个输出位,对应2、4、6、8号指示灯点亮。

当下个一秒时钟脉冲的上升沿再次到来时,QB0再次取反,如此反复循环,就可以实现两组指示灯的交替点亮。

标签: #c语言中1取反