直播课堂
HOME
直播课堂
正文内容
西门子plc1200指令表 S7-1200 PLC的逻辑运算指令,搞懂请加1
发布时间 : 2025-03-18
作者 : 小编
访问数量 : 23
扫码分享至微信

S7-1200 PLC的逻辑运算指令,搞懂请加1

在前面的几篇文章中介绍了移动操作指令、转换操作指令等,这篇文章就开始介绍一下逻辑运算指令吧。

在S7-1200 PLC中的逻辑运算指令包括了逻辑与运算、逻辑或运算、逻辑异或运算、逻辑取反运算、编码与译码指令、选择指令、多路复用与多路分用指令

下面我们分别对这些指令进行解释说明。

1、逻辑运算指令

逻辑与运算、逻辑或运算、逻辑异或运算、逻辑取反运算都是我们常见的逻辑运算指令,如果又用过S7-200/200 SMART PLC的同学会有了解,对于逻辑运算指令,其实基本PLC都是支持的,功能是也是一样的。

逻辑运算指令支持的数据类型是BYTE/WORD/DWORD这三种,这几个指令使用的还是比较多的,大家还是需要掌握一下。

逻辑与指令AND:当参与运算的所有数中对应的位是1时,那么结果就为1。

逻辑或指令OR:当参与运算的所有数中对应的位有1时,那么结果为1。

逻辑异或指令XOR:当参与运算的所有数中对应的位相同时,那么结果为0;不同时则为1。

逻辑取反指令INV:对输入的数按二进制位进行取反,也就是0变成1,1变成0。

上图中是在程序监控中以十六进制显示的,大家可以打开监控表将显示格式切换成二进制去看。

2、编码指令ENCO和译码指令DECO

编码指令选择输入的最低有效位,并将该位号写入到输出中去。

(注意:输入变量的数据类型为字符串,输出变量的数据类型是INT类型。)

译码指令首先读取输入的值,并将输出值中的位号与读取值对应的那个位置,输出值的其它位以零进行填充

(注意:输入变量的数据类型是UINT,输出变量的数据类型可以是BYTE/WORD/DWORD的数据类型。)

可能以这样的文字描述比较难理解,看一下下面的程序及对应的解释你就清楚了。

上图的程序中ENCO的输入 16#0B70,二进制数是0000_1011_0111_0000,最低有效位也就是为1的最低位是bit4位,所以输出MW14存储的就是4。DECO的输入是6,就将输出的bit6位设置为1,其他位设置为0,所以输出MW18的二进制数是0000_0000_0100_0000。

3、选择SEL、多路复用MUX、和多路分用DEMUX

选择指令SEL是根据输入G的情况,从而选择输入IN0和输入IN1中的一个,把它的内容复制到输出OUT中。也就是说如果G的状态是0,那么就把IN0的值移动到OUT中去,如果G的状态是1,那么就把IN1的值移动到OUT中去。

其实这个指令可以代替一些场合的移动操作指令,也就是传送指令的使用。

多路复用指令MUX是以输入K中的值作为输入值IN端的编号,比如K的值等于1,就表示把IN1的值复制到输出OUT中去。对于这个指令,我们是可以增加它的输入管脚的,最多可以增加到多少呢?

最多是可以增加到32个管脚。如果K中的值不能表示输入管脚的编号的情况下,那么就把ELSE的值输出到OUT中去。

多路分用指令DEMUX的含义和多路复用指令MUX是有一定的相似的,DEMUX指令是以输入K的值作为输出OUT的编号,跟MUX一样,这个指令也是可以增加管脚的,但是增加的是输出的管脚。

如果K的值等于1,那么就把输入IN的值复制到OUT1中去,K的值等于2,就把输入IN的值复制到OUT2中去。

以上就是S7-1200 PLC的逻辑运算指令,指令中的选择SEL、多路复用MUX、和多路分用DEMUX这三个指令也是S7-200/200 SMART PLC没有的,如果是熟悉S7-200/200 SMART PLC的同学,可以重点学习这几个指令的使用即可啦~

到此为止,逻辑运算指令就介绍完了,下一篇文字继续给大家介绍其他指令——移位和循环移位指令,欢迎大家继续关注哦~

(技成培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究)

S7-1200 PLC的移动操作指令介绍

前面给大家介绍了数学函数指令,接下来就接着介绍一下移动操作指令吧!

S7-1200 PLC的移动操作指令也包括有多个(如下图),不过这里我们不会所有的指令都介绍一遍,这里就介绍一些常用的移动操作指令,比如移动值指令MOVE,可以说是相当于我们说的传送指令,还有块移动指令MOVE_BLK、填充块指令FILL_BLK、交换指令SWAP、读取域指令FieldRead与写入域指令FieldWrit。

下面我们就开始讲解咯~

1、移动值指令MOVE

移动值指令MOVE,就相当于是我们S7-200/200 SMART PLC中的MOV传送指令,是用于对存储器进行赋值,或者把一个存储器的数据复制到另外一个存储器中,还可以用于清零功能。对于这个指令进行移动复制之后,源操作数的数据是不变的。

我们可以通过点击指令下方的增加管脚的按钮,增加一些输出管脚,这样就可以实现将源操作数的数据复制到多个目标操作数里面去。

对于移动值指令的操作数可以支持基本的数据类型、复杂的数据类型也是可以支持的,但是我们需要注意的是,如果使用复杂的数据类型时,我们需要保证源操作数和目标操作数具有相同的格式才行。

如果要把一个数组的数据复制到另外一个数组,我们需要保证两个数组的元素个数相同,元素的数据类型相同。

2、块移动指令MOVE_BLK

块移动指令是将源存储区的数据移动到目标存储区,注意是有多个存储器的移动,IN是源存储器的首个元素,COUNT是指定需要复制的元素个数,OUT是目标存储器的首个元素。

注意,这个指令只适合于数据块中的数组进行移动,如果需要对非数据块的存储器进行块移动是不能使用这个指令的,比如说将MB0~MB5的数据移动到QB0~QB5,这时不能使用MOVE_BLK指令。

上图的程序首先是创建DB块,再分别创建DATA和数据的数组,元素数为5个,即0~4,所以我们可以看到有以上这些数据,这个指令的功能是将函数DB块中的数组元素DATA[2]、DATA[3]、DATA[4]的数据分别移动到数组元素数据[0]、数据[1]、数据[2]中。

3、填充块指令FILL_BLK

填充块指令可以对数组中连续的元素写入相同的数值,比如对一个数组中的连续N个元素进行赋值或清零时可以利用这个指令去实现。IN是需要填充进入的数据,COUNT是存储器个个数,OUT是需要填入的第一个元素的地址。这个指令跟块移动指令一样,也是只适合于数据块中的数组中连续元素进行填充数据。

上图的程序是将20这个数组填充到函数DB的DATA[0]开始的数组元素的一共5个元素中取,监控的结果是DATA[0]、DATA[1]、DATA[2]、DATA[3]、DATA[4]里面的数值都是20。

4、交换指令SWAP

交换指令可以将输入操作数的数据的字节的顺序进行调换,也就是实现高低字节的交换,交换指令支持WORD和DWORD这两种数据类型。

我们可以监控指令的执行情况,可以以十六进制的数值显示,这样也方便我们去查看。比如16#1234,交换之后是16#3412,而对于16#12345678,交换之后是16#78563412,注意不是16#56781234哦。

5、读取域指令FieldRead和写入域指令FieldWrit

读取域指令和写入域指令主要是用于间接寻址的功能,可以用该指令对一个数组中的任意元素的值进行读取或写入的操作。

读取域指令用于根据指定的元素下标值,读取除对应元素的值,指令中的INDEX管脚是元素的下表值,为DINT的类型,MEMBER管脚是指定数组中的第一个元素地址,VALUE管脚用于存放读取出来的数据。

写入域指令用于根据指定的元素下标值,把VALUE的值写入到对应下表值的元素中,指令中的INDEX管脚是元素的下表值,为DINT的类型,VALUE管脚表示需要写入的值,MEMBER管脚是指定数组中的第一个元素地址。

不过过于博途V14以上的版本软件,对于数组的下标值可以通过变量进行表示,所以读取域指令和写入域指令使用得也比较少,大家了解一下有这样的指令就可以了。

以上这些就是移动操作指令的介绍,对于西门子S7-200/200 SMART中我们叫传送指令,包括有MOV、BLKMOV、SWAP指令,还有表指令FILL_N,其实跟我们S7-1200 PLC的这些指令的功能是差不多的,只是有一些小区别,不同的地方注意一下就可以咯。

移动操作指令部分我们就介绍完了,下一篇文章给大家介绍一下转换操作指令的使用,欢迎关注更新~

(技成培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究)

相关问答

西门子plc1200有什么常用指令?

西门子plc1200有多种常用指令。西门子plc1200作为一种工业自动化控制设备,常用指令很多,包括输入输出指令、数据转移指令、算术指令、逻辑指令等等。其中比较...

西门子1200plc指令详解?

西门子1200PLC是一种基于模块化编程的工业自动化控制系统。它可以完成各种控制任务,如处理、监视和统计生产过程中的数据,以及对其进行进一步处理。以下是一...

西门子1200的标准化和缩放指令?

您好,西门子1200的标准化和缩放指令是S7-1200系统中的两个指令,用于将输入值映射到线性标尺上进行标准化。其中,NORM_X指令用于标准化,而SCALE_X指令用于缩放...

西门子1200plc编码器编程实例?

西门子1200PLC的编码器可以通过编程实现各种控制功能。以下是一个简单的实例,用于控制一个温度传感器并将其转换为数字信号,以便在PLC中进行计数和计算:1.创...

西门子1200plc如何查找与替换?

RL+G执...选择编辑(Edit)>查找(Find)、编辑(Edit)>替换(Replace)或编辑(Edit)>转入(GoTo)菜单命令·按CTRL+F执行查找...

西门子1200中M0.0怎么使用?

西门子1200中的M0.0是一个单一的位元(bit),可以用来储存和控制电路中的开关状态。在PLC编程中,可以使用M0.0来实现控制某些设备的开关操作,例如电机的启停、...

西门子1200trcv-c指令应用?

您好,西门子1200系列PLC的TRCV-C指令是用于在不同的数据块之间进行数据传输的指令。该指令可以实现数据的读取、写入和拷贝等操作。TRCV-C指令的语法如下:TR...

西门子plc整数转浮点数指令?

转换指令CONVERT转换指令是将一种数据类型转换成另一种数据类型的,使用的时候单击指令“???”的位置,然后在下拉列表中选择输入数据类型和输出数据类型。CONVE...

西门子1200传送指令有上升沿的吗?

西门子1200传送指令有上升沿的。具体来说,西门子1200的上升沿/下降沿指令包括P触点、N触点、P线圈、N线圈、P触发器、N触发器。其中,P触点和N触点指令用于检测...

哪里看西门子1200PLC的版本?

在PLC的外包装盒上有,PLC侧面印刷的铭牌上也有,这个都是出厂时的固件版本、西门子在软件上,PLC和编程软件链接上了。在PLC的外包装盒上有,PLC侧面印刷的铭牌...

 诺基亚e62  时报周刊 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部