直播课堂
HOME
直播课堂
正文内容
plc编程小于等于 西门子PLC编程学习之比较指令(科普篇)
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 23
扫码分享至微信

西门子PLC编程学习之比较指令(科普篇)

引言

比较指令 (CMP)前世今生:在微型计算机的汇编语言中,CMP(compare)是其中一条指令,叫做比较指令。cmp的功能相当于减法指令,只是对操作数之间运算比较,不保存结果。cmp指令执行后,将对标志寄存器产生影响。其他相关指令通过识别这些被影响的标志寄存器位来得知比较结果。

一、基本概念

比较指令: 用于比较数据的大小,按照所比较的数据类型不同可分为整数比较、双精度整数比较、实数比较三种类型,将IN1和IN2的数据进行比较,比较时必须保证两个数的数据类型相同,数据类型可以是整数、长整数和实数。

比较比较指令的主要类型:

〈1〉字节比较(B);(无符号整数)

〈2〉整数比较(I);(有符号整数)

〈3〉双字整数比较(D);(有符号整数)

〈4〉实数比较(R)。(有符号双字浮点数 )

二、指令格式

2.1 CMP ==: 等于 & CMP <>: 不等于

“等于”指令判断第一个比较值(<操作数 1>)是否等于第二个比较值(<操作数 2>)。

如果满足比较条件,则该指令返回逻辑运算结果 (RLO)“1”。 如果不满足比较条件,则该指令返回 RLO“0”。 该指令的 RLO 通过以下方式与整个程序段中的 RLO 进行逻辑运算:

串联比较指令时,将进行“与”运算。并联比较指令时,将进行“或”运算。

2.2CMP >=: 大于或等于 &CMP <=: 小于或等于

“小于或等于” 指令判断第一个比较值(<操作数 1>)是否小于或等于第二个比较值(<操作数 2>)。 要比较的两个值必须为相同的数据类型。

“大于或等于” 指令判断第一个比较值(<操作数 1>)是否大于或等于第二个比较值(<操作数 2>)。 要比较的两个值必须为相同的数据类型。

如果满足比较条件,则该指令返回逻辑运算结果 (RLO)“1”。 如果不满足比较条件,则该指令返回 RLO“0”。 该指令的 RLO 通过以下方式与整个程序段中的 RLO 进行逻辑运算:

串联比较指令时,将进行“与”运算。并联比较指令时,将进行“或”运算。

2.3 CMP >: 大于 & CMP <: 小于

“小于” 指令判断第一个比较值(<操作数 1>)是否小于第二个比较值(<操作数 2>)。要比较的两个值必须为相同的数据类型。

“大于” 指令确定第一个比较值(<操作数 1>)是否大于第二个比较值(<操作数 2>)。要比较的两个值必须为相同的数据类型。

如果满足比较条件,则该指令返回逻辑运算结果 (RLO)“1”。如果不满足比较条件,则该指令返回 RLO“0”。该指令的 RLO 通过以下方式与整个程序段中的 RLO 进行逻辑运算:

串联比较指令时,将进行“与”运算。并联比较指令时,将进行“或”运算。

2.4 IN_RANGE: 值在范围内 & OUT_RANGE: 值超出范围

IN_RANGE 指令: 使用输入 MIN 和 MAX 可以指定取值范围的限值。 “值在范围内”指令将输入 VAL 的值与输入 MIN 和 MAX 的值进行比较,并将结果发送到功能框输出中。 如果输入 VAL 的值满足 MIN <= VAL 或 VAL <= MAX 的比较条件,则功能框输出的信号状态为“1”。 如果不满足比较条件,则功能框输出的信号状态为“0”。

OUT_RANGE指令: 使用输入 MIN 和 MAX 可以指定取值范围的限值。 “值超出范围”指令将输入 VAL 的值与输入 MIN 和 MAX 的值进行比较,并将结果发送到功能框输出中。 如果输入 VAL 的值满足 MIN > VAL 或 VAL > MAX 的比较条件,则功能框输出的信号状态为“1”。 如果指定的 REAL 数据类型的操作数具有无效值,则功能框输出的信号状态也为“1”。

三、编程案例应用

3.1 CMP ==: 等于 & CMP <>: 不等于 案例

3.2 CMP >=: 大于或等于 &CMP <=: 小于或等于

3.3 IN_RANGE: 值在范围内 & OUT_RANGE: 值超出范围

视频加载中...

四、总结

比较指令是常用的基本指令之一,广泛应用于PLC工艺编程时候逻辑判断和条件分析当中,比较指令通常和传送指令以及赋值指令相结合使用实现复杂工艺控制。

注意事项:

1.比较浮点数

如果要比较数据类型 REAL 或 LREAL,使用指令“IN_RANGE: 范围内的值”,而不是指令“CMP ==: 等于”。

声明: 本作品纯属个人娱乐学习交流,严禁使用其作为商业用途,图片均来至于西门子仿真软件及选型手册、网络,如有版权纠纷请及时告知,谢谢!

用PLC控制称重,其实很容易,5分钟学会S7-200称重编程和校称

原创不易,请勿抄袭!

我知道这么写一点意义都没有,我也不可能去追究别人盗版我文章的责任,但我希望我写了近6个小时的文章会有人真心喜欢,会有人能够学到文章里的知识点,并应用到工业中,这样我的目的就达到了,然后希望大家能支持我一下,点赞收藏并分享,让更多的人看到这篇写之不易的文章,谢谢。

上篇文章我们讲了PLC连接称重传感器的几种方法以及这几种方法的优缺点,今天我们说一下如何使用西门子S7-200编写称重程序。下篇文章我们会再讲一下西门子S7-300的称重程序;本文提到的所有程序实例,手册和库文件还有称重模块的详细信息以及校称软件等等我都已打包好,有需要的在评论区留下邮箱,我会一一发送。

1 称重传感器+二次表+模拟量输入的方式比较简单,只需要识别好模拟量输入通道,然后将模拟量输入转换为需要的数值范围就可以。

2 称重传感器+二次表+通讯的方式,需要选择带232/485通讯接口的PLC,设置好通讯参数后,从接收口读到的数值就是称重的实际数值,然后进行换算即可,232/485通讯也是PLC使用的一个知识点,大家有兴趣的话可以在下方留言,我可以给大家讲解。

3 我们主要讲讲这个最经典的方式吧,那就是重传感器+接线盒+称重模块。

要想使用这种方式称量的话,我们需要编写PLC程序,并且通过软件设置称重模块参数,并进行校称等操作。

一首先我们先说说PLC编程,其实称重系统的编程学起来非常难,但应用起来非常简单。为什么这么说呢?

举个例子,1+1=2大家都知道,但是要问1加1为什么等于2那就复杂多了。

所以大家想用PLC控制称重系统的话,只需要把我给大家做的例子按照现场实际设备简单修改一下,然后下到PLC里就可以使用,下载后有疑问的话再去测试各个点的功能,多用几次后就熟练了。(几乎所有人的第一套PLC程序都是抄袭别人的,一点一点探索然后自己才有思路。)

但是为了让大家理解更深一些,我除了把程序发给你们让你们模仿外,还会将一些重要的信息列出来,让大家对称重系统有一个系统的了解,这样才能快速的学会称重的编程。

我们选用的PLC是CPU226.西门子S7-200其他型号也可以,但是需要注意:1不同PLC可以拓展的称重模块数量不同,2程序设置的起始位置可能有变化,因为有的PLC自带模拟量,所以接到PLC后的称重模块的起始值就不是AIW0,而称重模块前没有模拟量输入的一般起始地址就是AIW0.具体起始值以硬件监测到的为准,这个后文我们会说到。

然后按照接线图将传感器接到接线盒,再由接线盒接到PLC模块,然后检查下回路,没有问题后送电。

连线方式

SIWAREX MS称重模块

用西门子的专用编程电缆连接到PLC,以前说过西门子PLC的区别,S7-200没有以太网口,S7-200smart不能拓展称重模块,有点尴尬,所以只能用这种特定电缆进行编程。

西门子称重模块可以理解成一种硬件,所以需要驱动,对西门子S7-200来说,这个驱动就是库文件,我们将库文件倒入程序中,库文件也打包在文件包里。

打开软件,添加库文件

添加成功

程序出现在库里

倒入后大家可以看到两个程序块,一个程序块是用来读取称重数值的,另一个是用来清零的,这两个程序块我们可以直接拉出来用。

连接好PLC后先将滤波功能去掉,以前的文章说过,滤波会导致称重有延迟,所以需要去掉。工业自动化的知识网络就是由一个一个知识点构成,我需要将整个知识网络拆分成一个一个知识点,大家需要一个一个知识点学习,然后构建自己的知识网络。

删除滤波功能

然后我们读取下PLC信息,可以看到状态是AIW0,图片为例子为截图,德国的E是输入I,A是输出Q的意思,所以有些德国图纸标记是E和A,大家了解一下就可以。

可以看出起始值是AIW0,和AQW0,后面程序设置会用到

然后我们进行编程。

第一行和第二行为数据转换,其中第一行的firstA为PLC硬件读到的地址,其他的依次后移一个字节;比如文中读到的地址是AIW0,AQW0参数设置就是AIW0,AIW2,AIW4,AIW6,AQW0,AQW2,AQW4,AQW6;如果读到的地址是AIW8,AQW8参数设置就是AIW8,AIW10,AIW12,AIW14,AQW8,AQW10,AQW12,AQW14。

FirstVB是数据转换的起始位置,以指针的形式,实际数据为后移一位,如果是&VB200,那实际读数就是VW202,这个数可以任意填写,只要不侵占其他程序就可以。

第三行和第四行是清零指令,按照上述程序即可实现清零,但需谨记,清零仅在称的重量小于一定数值以下才可,否则无法清零,我用的传感器的清零上限是50g。

PLC程序就是这样,因为VW是字的格式,不可以与数值作比较,需要转换到可计算的数据格式,所以例子程序转换为VD1000,VD1000就是可以比较的最终重量数值,如果需要以设定值控制外部设备的话就用VD1000做数值比较就可以。

二除了PLC程序,我们还需要按照称重传感器设置称重模块参数。我们需要用到的软件是Siwatool_V4或者Siwatool_MS,这两个软件的区别就在于Siwatool_V4可以针对多个称重模块,Siwatool_MS只对应一种模块,所以我一般两个都装,哪个好用用哪个,用法大致一样。

我们需要一根线连接称重模块和安装以上软件的电脑;

两侧各为9针串口,称重模块上有串口接口,电脑侧如果没有的话需要串口转USB转换器。

连接之后。

第一步:建立通信

点击Module name,选择SIWAREX MS

然后点击Online按钮,软件与模块建立通信,如果通讯不上的话,切换一下COM口就可以了。

PC列参数表示SIWATOOL软件中的参数设置,SIWAREX列为称重模块内实际设置的参数,当二者不一致时,参数为红色。

将鼠标点击Adjustment parameter (DR3) 上,鼠标右键,选择Receive data record,将DR3中的所有参数读取到SIWATOOL软件中。

第二步:称重模块参数设置

Adjustment weight 1:标定砝码重量,因为SIWAREX MS只能通过一个Word来存储重量,无法显示小数点,所以此处输入砝码重量时需要考虑小数点个数。此处输出2000,如果小数点个数为2,那么代表标定砝码重量为20.00

Decimal place for the remote display:小数点个数

Weighing range:称量范围,指容器或者秤台上被称量的物料的最大重量,而不是传感器量程。当重量大于此处设置的称量范围时,称重模块的MAX指示灯会变为红色。

第三步:将参数发送到称重模块中

完成上述参数设置后,将鼠标点击Adjustment parameter (DR3) 上,鼠标右键,选择Send data record,将DR3中的所有参数写入到称重模块中。

第四步:零点标定

将秤清空,然后执行零点标定,此时重量显示为0。

第五步:砝码标定

将标定砝码(重量与第二步设定的砝码重量一致)放在秤上,然后执行砝码标定,此时显示砝码重量。

第六步:参数备份。

点击Receive all data按钮,将称重模块参数全部上载,然后单击Save as按钮,将参数保存为文件。如果需要更换新模块时,只需要将该文件打开,通过Send all data,将参数下载到新模块中即可,无法重新进行标定。

西门子有多种称重模块,软件也有多个,但都大同小异,只要我们熟悉一个效称软件,其他的就非常容易了。

最后提醒大家一下,无论是更换称重模块还是更换称重传感器我们都需要重新效称,然后即使不坏的话,传感器使用时间过长也需要重新效称才能保持准确度。

六小时的心血啊,希望大家喜欢,分享知识是我最大的快乐!想要资料的留下邮箱。

(如果喜欢这篇文章,请点赞并关注,以便优秀文章在第一时间收到推送)

相关问答

plc中如何判断非0数的大小?

在PLC中,可以使用数值比较指令来判断非零数的大小。具体步骤如下:1.获取非零数的值,可以通过读取传感器或其他设备的输入信号来获取。2.使用数值比较指令,...

三菱PLC比较指令?

三菱PLC的比较指令用于比较两个数据的大小。比较指令是PLC中常用的一种指令,用于比较两个数据的大小,并根据比较结果执行相应的逻辑操作。三菱PLC的比较指令包...

三菱plc三个数怎么比较大小?

三菱PLC中可以使用比较指令来比较三个数的大小。其中,比较指令有以下几种:1.CMP:比较两个数的大小,如果相等则输出0,如果第一个数大于第二个数则输出1,否...

三菱PLC[D<=D150H0]是什么意思?

三菱PLC中[D<=]是32位触点比较输出指令。指令本身相当于一个触点。[D<=D150H0]表示当寄存器D151、D150组成的双字32位寄存器内的数值小于等于十六进制常数H0时...

FX2N系列PLC中比较两个数值的大小用什么指令?

比较指令有三种分别是触点比较、比较指令CMP、区间比较指令ZCP触点比较:当D0的数值大于D1时就接通,Y0就输出,当然触点比较有很多中,有等于(=)大于(>)...比较指...

plc电池电压下限多少正常?

电池电压低于3V就要更换电池了。当PLC的用户程序要保留在RAM中时,就会用到电池,电池通常是3V或3.6V的不可充电的锂电池,电池的使用寿命通常是五年左右,电池...

plc比较器的基本用法?

plc比较数值大小的指令在plc中用于比较数值大小指令,主要有等于、不等于、大于或等于、小于或等于、大于、小于等六种,这类指令均有两个操作数IN1与IN2,可以...

PLC用什么语言编程?

西门子PLC‎支持以下几种编程语‎言,其中包含梯形图:1、顺序功能图(SFC,Seauen‎tialFuctio‎nChart)西门子STE‎P7中的该编‎程语言是S7‎Graph。这是位于.....

plc自身输出24v不对咋办?

如果PLC自身输出的24V电压不正确,可能会导致连接到该输出的设备无法正常工作。以下是几个可能的原因和解决方法:1.检查供电电源:首先检查与PLC连接的电源。...

plc离开关电源距离?

PLC(ProgrammableLogicController)离开关电源的距离取决于具体的PLC设备和应用环境。一般来说,PLC可以与电源之间有一定的距离。这个距离通常取决于电源的电...

 全运会多久举办一次  守护甜心亚梦和几斗 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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