编程实现运算plc 想学好PLC必须掌握的循环扫描工作过程!

小编 102 0

想学好PLC必须掌握的循环扫描工作过程!

1 CPU自检阶段

CPU自检阶段包括CPU自诊断测试和复位监视定时器。

在自诊断测试阶段,CPU检测PLC各模块的状态,若出现异常立即进行诊断和处理,同时给出故障信号,点亮CPU面板上的LED指示灯。当出现致命错误时,CPU被强制为STOP方式,停止执行程序。CPU的自诊断测试将有助于及时发现或提前预报系统的故障,提高系统的可靠性。

监视定时器又称看门狗定时器WDT,它是CPU内部的一个硬件时钟,是为了监视PLC的每次扫描时间而设置的。CPU运行前设定好规定的扫描时间,每个扫描周期都要监视扫描时间是否超过规定值。这样可以避免由于PLC在执行程序的过程中进入死循环,或者由于PLC执行非预定的程序造成系统故障,从而导致系统瘫痪。如果程序运行正常,则在每次扫描周期的内部处理阶段对WDT进行复位(清零)。如果程序运行失常进入死循环,则WDT得不到按时清零而触发超时溢出,CPU将给出报警信号或停止工作。采用WDT技术也是提高系统可靠性的一个有效措施。

2 通信处理阶段

在通信处理阶段,CPU检查有无通信任务,如果有则调用相应进程,完成与其他设备(例如,带微处理器的智能模块、远程I/O接口、编程器、HMI装置等)的通信处理,并对通信数据做相应处理。

3 读取输入

在读取输入阶段,PLC扫描所有输入端子,并将各输入端的通/断状态存入相对应的输入映像寄存器中,刷新输入映像寄存器的值。此后,输入映像寄存器与外界隔离,无论外设输入情况如何变化,输入映像寄存器的内容也不会改变。输入端状态的变化只能在下一个循环扫描周期的读取输入阶段才被拾取。这样可以保证在一个循环扫描周期内使用相同的输入信号状态。因此,要注意输入信号的宽度要大于一个扫描周期,否则很可能造成信号的丢失。

4 执行程序阶段

可编程控制器的用户程序由若干条指令组成,指令在存储器中按顺序排列。当PLC处于运行模式执行程序时,CPU对用户程序按顺序进行扫描。如果程序用梯形图表示,则按先上后下、从左至右的顺序逐条执行程序指令。每扫描到一条指令,所需要的输入信号的状态均从输入映像寄存器中读取,而不是直接使用现场输入端子的通/断状态。在执行用户程序过程中,根据指令做相应的运算或处理,每一次运算的结果不是直接送到输出端子立即驱动外部负载,而是将结果先写入输出映像寄存器中。输出映像寄存器中的值可以被后面的读指令所使用。

5 刷新输出阶段

执行完用户程序后,进入刷新输出阶段。可编程控制器将输出映像寄存器中的通/断状态送到输出锁存器中,通过输出端子驱动用户输出设备或负载,实现控制功能。输出锁存器的值一直保持到下次刷新输出。

在刷新输出阶段结束后,CPU进入下一个循环扫描周期。

用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中使用数学问题有哪些?

在PLC(可编程逻辑控制器)中使用数学问题主要涉及以下几个方面:算术运算:PLC可用于执行基本的算术运算,如加法、减法、乘法和除法。这些运算可用于各种应用,...

西门子plc逻辑运算指令怎么用?

西门子PLC(可编程逻辑控制器)的逻辑运算指令用于执行不同的逻辑运算,如与、或、非、异或等。以下是使用西门子PLC逻辑运算指令的一般步骤:1.打开PLC编程软...

plc的运算核心?

plc运算分为几部分:输入端,输出端,存储器,CPU,cpu作为运算核心,把输入信号通过相关程序的运算后,进行相应输出。plc运算分为几部分:输入端,输出端,存储器,CPU...

机械手plc控制程序详解?

机械手PLC控制程序是指通过编程控制工业机械手的运动路径、速度和动作序列,实现对生产线上产品的抓取、放置和装配等操作。该控制程序通常使用PLC(Programmab...

plc是什么意思?

什么是PLC?PLC:ProgrammableLogicController(可编程序控制器)1978NEMA(NationalElectricalManufactureAss...

plc中除法运算怎么输出小数?

在PLC中进行除法运算时,如果要输出小数,需要使用带有小数点的数据类型或者进行数据类型转换。下面以SiemensS7-1200PLC为例,介绍如何输出小数:1.使用浮点...

plc或运算什么意思?

如三菱pLc的或指令OR,就是两个常开结点并联。如三菱pLc的或指令OR,就是两个常开结点并联。

plc指令程序是什么?

1.PLC指令程序是一种用于编程可编程逻辑控制器(PLC)的指令序列。2.PLC指令程序的目的是控制PLC执行特定的操作,例如监测输入信号、进行逻辑运算、控制输出信...

plc与cnc的工作过程?

cncPLC和一般的PLC不是一样的,一般的西门子,三菱,欧姆龙PLC功能很强大,在自动化控制中占主要位置。但是CNCPLC在cnc中位置一般般,PLC只是cn系统中,为实现...

plc编程减法运算时得到负数,怎么把负号去掉?

PLC编程减法运算时,当结果为负数时,可以使用ABS(绝对值)指令来去掉负号:先将结果保存在一个寄存器中,然后通过ABS指令,将原来保存的负数作为参数,去掉负...PL...