研选课堂
HOME
研选课堂
正文内容
plc编程如何峰 用PLC控制称重,其实很容易,5分钟学会S7-200称重编程和校称
发布时间 : 2024-10-19
作者 : 小编
访问数量 : 23
扫码分享至微信

用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结构化编程 是对应于典型的控制要求,将过程要求中的类似或相关的任务归类,在功能或功能块中编写通用的程序块,这些程序块可以反复被调用,以控制不同的目标,形成通用的解决方案。这些的通用的程序块就称为结构,利用各种结构组成程序就称为结构化编程。可以通过不同的参数调用相同的功能或通过不同的背景数据块调用相同的功能块。结构化编程过程中通用的数据和代码可以共享,其特点是,编写通用程序块,对不同的控制任务代入不同的地址和数据,使更多的控制任务可以使用此通用程序块,因此具有很高的编程和编程调试效率,并且编程结构清晰,适合于复杂的控制任务。

在块调用时,调用者可以是各种逻辑块,包括用户编写的组织块(OB)、FB、FC和系统提供的SFB和SFC,被调用的块是除OB1外的所有逻辑块。调用功能块时需要为其指定一个背景数据块,背景数据块在功能块调用的同时被打开,在调用结束时被关闭。

在给功能块编程时使用的是形参,调用它时需要使用实参来为形参赋值。在一个项目中,可以多次调用同一个块,如在调用控制电动机的块时,将不同的实参赋值给形参,就可以实现对类似但不完全相同的被控对象(如直流电动机和交流电动机)的控制。

块及子程序的调用,可以嵌套调用,即被调用的块同时还可以调用其他的块。嵌套调用的嵌套深度与CPU的型号相关。

嵌套调用的深度同时还与局部数据堆栈(L堆栈)有关。每个OB需要至少20 B的L内存。当块A调用块B时,块A的临时变量将被压入L堆栈进行现场保护。

程序被分为不同的逻辑块,每个块包含了完成部分控制任务所需的逻辑指令。 组织块OB1(主程序)中的指令决定在什么情况下调用哪一个块,功能和功能块(子程序)用来完成不同的过程任务。被调用的块执行完后,返回到OB的调用点,继续执行OB1。模块化编程,将一个较大的程序分成若干块,易于实现多人同时对一个项目编程。由于只在需要时执行相关的指令,因此提高了CPU的执行效率。

线性化编程是将整个系统的控制程序放在主循环控制组织块OB1(主程序)中,每一次循环扫描都要不断地顺序执行OB1中的全部指令。 这种方法的程序结构简单,不涉及功能、功能块、数据块、局部变量和中断等比较复杂的概念。

由于所有的指令都集中在一个块中,即使程序中的某些部分在大多数时候都不需要执行,但每个扫描周期都需要执行所有指令,CPU的执行效率比较低。此外如果需要多次执行相同或相似的程序就需要重复编写程序。因此,这种编程方法,一般只在编写简单的控制系统程序时使用。

模块化程序的执行

模块化编程中OB1起着主程序的作用,FC或FB控制着不同的过程任务,相当于主循环程序的子程序。模块化编程中被调用块不向调用块返回数据。

模块化编程实例

1.模块化编程实例1 - 液位监视

• 监视一个慢变得过程不需要每次扫描都进行。如果过程每隔一定时间或根据需要进行处理,程序将更有效。• 在OB1循环扫描处理时,可以按照一定的周期对液位进行监视。

设计方法:

• 确定液位监视的组成部分和它们的关系;

• 设计完成所要求控制任务的功能;

• 规划从OB中调用块完成功能的程序执行

过程;

• 对程序块的每个段加上文字注释和标题。

解决方案:

• 建立一个功能FC,可以监视和控制任务;

• 建立一个OB,其中每隔一定时间调用块

(功能)。

2.模块化编程实例2

有两台电动机,控制模式是相同的,按下启动按钮(电动机1为I0.0,电动机2为I1.0),电动机起动运行(电动机1为Q4.0,电动机2为Q4.1);按下停止按钮(电动机1为I0.1,电动机2为I1.1),电动机停止运行。

分析:

这是典型的起保停电路,采用模块化编程的思想,分别在FC1和FC2中编写电机的控制程序,在主程序OB1中进行FC1和FC2的调用。

结构化编程

Ø 将复杂的任务分解成一些能够反映过程的工艺、功能或可以反复使用的单独解决的小任务,这些任务由相应的程序块来表示;

Ø 某些程序块可以用来实现相同或相似的功能;

Ø 调用者可以是各种逻辑块,包括用户编写的OB、FB、FC和系统提供的SFB与SFC;

Ø 被调用的块是OB之外的逻辑块;

Ø 通用的数据和代码可以共享。

结构化编程

结构化编程的优点:

1各单个任务块的创建和测试可以相互独立地进行;

2通过使用参数,可将块设计得十分灵活;

3块可以根据需要在不同的地方以不同的参数数据记录进行调用;

4在预先设计的库中,能够提供用于特殊任务的“可重用”块。

结构化编程实例-油漆调制

1选择产品添加剂,需要决定哪个罐的成分要加到混合罐内。

2在选择开关的选择基础上,组织块调用相应的程序块,分配当前的参数,控制混合罐的流入量。

设计方法:

1. 确定哪些部件和操作可以应用于所有的罐和相关的控制;

2. 建立功能或功能块,完成所要求的控制;

3. 建立块的变量定义表,以便于对要操作的罐和控制进行地址分配;

4. 设计一个程序来根据选择开关调用功能或功能块。

解决方案:

1. 建立一个功能块或功能控制罐的流出量;

2. 为相关的块建立变量定义表;

3. 建立一个OB块来根据选择开关调用功能或功能块。

相关问答

plc程序怎么实现串级控制?

回答如下:PLC程序实现串级控制的方法通常包括以下步骤:1.确定需要串级控制的设备或系统的工作流程和逻辑关系。2.根据工作流程和逻辑关系,编写PLC程序来控...

欧姆龙PLC如何输入上升/下降沿?

1、打开CX-P软件,并设置好PLC型号,进入编程段,准备编程。需要输入上升沿时,便需要输入@LD0.00,即可,下降沿指令需要输入%LD0.01就可以了。2、打开CX-P软件...1...

plc怎么短接调试?

plc的短接调试的时候,经常把24v联动线在控制的设备末端短接(有联动要求的或者反馈的),是为了试验联动模块的控制、反馈功能是否正常,通常是试验(加压风口...

plc点动和长动控制如何编程?

1.控制要求:(1)调整时用点动按钮,运行时用长动按钮;(2)停止按钮优先,设为总停,不单停长动,也停点动;(3)点动按钮第二,设为能随时取替长动...1.控制要...

plc怎么编写压力控制程序?

压力开关属于开关量,只需要将压力开关的黑色线(OUT1)接到PLC的输入点就可以通过编程看到该输入点的状态了,有些还有OUT2先号线输出。压力开关可以设定接点的...

plc编程的一般思路步骤?

常采用以下的程序设计思路与步骤:1、确定程序的总体结构将系统的程序按工作方式和功能分成若干部份,如:公共程序、手动程序、自动程序等部份。确定了系统程...

plc中stop指令的用法?

STOP模式应该是让PLC停止运行(不扫描),这时候就算外部输入有变化,输出仍然保持原来的状态。另外有些PLC还有STOP指令,执行到该指令时,PLC进入STOP模式。当...

plc端口设置?

位机开发中三菱PLC如果要走MC协议,是不需要额外编程的,但是需要做一些简单的配置。1.在右侧工程栏中双击PLC参数;2、在弹框中选择内置以太网端口设置,设置I...

三菱PLC怎么改点?

另外提醒,当Y0,Y1作为脉冲输出情况下,被击穿了,无脉冲输出,改到Y2--Yx都没用,三菱FXMTPLC带脉冲输出只有Y0和Y1点。最简单方法:比如:Y5点被击穿或者击断,Y...

plc的编码器编程方式?

1.以下是plc编码器编程的方式。2.在使用编码器进行位置检测时,需要对编码器进行初始化和配置,并将其与PLC进行连接。具体的编程方法可以参考西门子PLC编程...

 山地乌骨鸡  亚洲形体健身学院 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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