当前位置:首页 > 经验 >

西门子子程序怎么编写(西门子系统怎样调用子程序实例)

来源:原点资讯(www.yd166.com)时间:2022-11-14 16:42:49作者:YD166手机阅读>>

本楼主上一篇小文《西门子S71200 1500的模拟量线性转换及数据处理》中详细介绍了博途软件中,模拟量的采集和数据处理问题。

在此做一简单的复习,以便引出今天的主题。

常见模拟量采集一般分4-20mA,0-20mA,0-10V,±10V的采集。上述信号按单双极信号分为:单极性和双极性。

单极性:4-20mA,0-20mA,0-10V。

双极性:±10V。

在组态时要选择采集的信号类型。组态完成后,模拟量的采集要经过以下几步:

第一步:看是单极性,还是双极性,单极性对应0-27648,双极性(-10V到10V)对应-27648—27648,

第二步:调用模块,并赋值。注意其数据类型,一般的%IW0为INT,转换后位REAL。

举例:4-20mA压力传感器,对应0-50MPa。

西门子子程序怎么编写,西门子系统怎样调用子程序实例(1)

图1.4-20mA,0-50MPa压力传感器数据采集及处理

在博图中处理模拟量的数据采集和线性变换经过上述两步就可以了。其中,NORM_X包含了数据转换的过程。

下面介绍一种更通用更好理解的数据线性转换方法。

1. 线性变换原理

这个也在上一篇文章中讲过来,但讲的不是很详细,这里再介绍一下。

西门子子程序怎么编写,西门子系统怎样调用子程序实例(2)

图2.线性变换原理图

西门子子程序怎么编写,西门子系统怎样调用子程序实例(3)

图3.线性变换两点式

线性变换的原理很简单,就是已知两点(x1,y1), (x2,y2)求(x,y)。比如说,在工程测量中,常会遇到4-20mA的传感器,如压力传感器或位移传感器等,要转换为0-50MPa的物理量。用高中学过的直线方程两点式就可以了。已知两点(4,20)和(20,50),求(x,y)。

2. 线性变换子程序编写。

这个子程序的编写原理也很简单,就是通过(x1,y1), (x2,y2)四个变量,通过 -×÷表示出y与x的关系就可以。这个原理的编写我在比较早的一篇文章中写过,只不过哪时候主推PLC300,写起来更麻烦,这次用博图编写更简单一些。

新建一个功能块FC2:线性变换

新建变量:把所需的变量输入如下:

西门子子程序怎么编写,西门子系统怎样调用子程序实例(4)

图3.FC(线性变换)子程序变量

用CALCULATE编写公式。

西门子子程序怎么编写,西门子系统怎样调用子程序实例(5)

图4.FC(线性变换)子程序编写

从上图可以看出,直接用CALCULATE指令就可完成线性变换的任务,但是这样写容易出错。为了更方便的记忆和调用,在FC(线性变换)中调用指令CALCULATE,然后再在线性变换的时候调用FC(线性变换)即可。一次写好,以后所有的线性变换都可以用了。

3. 线性变换子程序应用

4-20mA压力传感器,对应0-50MPa。4-20mA单极性,对应0-27648。

程序编写如图所示。这个比起博途自带的线性变换更好理解一些。如果是专用与处理模拟量的采集,可以把INT转换为Real这一步也写进FC(线性变换)子函数中。

西门子子程序怎么编写,西门子系统怎样调用子程序实例(6)

图5.4-20mA压力传感器,对应0-50MPa。4-20mA单极性,对应0-27648。

本文为作者 智能工控702原创,版权所有,侵权必究。

栏目热文

西门子子程序编程举例说明(西门子828d子程序编程举例说明)

西门子子程序编程举例说明(西门子828d子程序编程举例说明)

在PLC编程中,只要涉及到数据采集和输出,都会遇到模拟量的线性变换。在西门子300PLC编程中,系统自带的两个线性变换...

2022-11-14 16:27:04查看全文 >>

西门子调用子程序格式(西门子系统怎样调用子程序实例)

西门子调用子程序格式(西门子系统怎样调用子程序实例)

1西门子S7-1200 PLC问:西门子S7-1200PLC FB定时器多重背景可以调用几个?答:可以调用很多个,基本上...

2022-11-14 16:23:22查看全文 >>

西门子怎么调用子程序实例(西门子系统怎样调用子程序实例)

西门子怎么调用子程序实例(西门子系统怎样调用子程序实例)

全新的 S7-200 SMART 带来两种不同类型的 CPU 模块,标准型和经济型,全方位满足不同行业、不同客户、不同设...

2022-11-14 16:06:50查看全文 >>

西门子系统子程序怎么编(西门子编程跳出子程序)

西门子系统子程序怎么编(西门子编程跳出子程序)

1、程序结构统一 OB1:主程序; OB100:初始化程序(无需主程序调用); OB35:100ms(可修改)中断(无...

2022-11-14 16:24:59查看全文 >>

西门子编程子程序调用教学(西门子系统编程中子程序怎样调)

西门子编程子程序调用教学(西门子系统编程中子程序怎样调)

上篇文章中我们学习了西门子S7-200 SMART项目的编译、下载、运行调试及上传,本篇我们来介绍西门子S7-200 ...

2022-11-14 16:07:41查看全文 >>

西门子程序编写步骤(西门子重复一段程序怎么编写)

西门子程序编写步骤(西门子重复一段程序怎么编写)

TIA 软件使用入门1.1 S7-1200 PLC 简介S7-1200 PLC (Programmable Logic ...

2022-11-14 16:06:50查看全文 >>

加工中心调用子程序的例子(加工中心编程例子简单)

加工中心调用子程序的例子(加工中心编程例子简单)

1.M00、M01、M02和M30的区别和联系对于上述M代码,它们的区别和联系如下:M0是程序暂停指令。程序执行时,进给...

2022-11-14 16:15:50查看全文 >>

西门子子程序例子(西门子编程案例)

西门子子程序例子(西门子编程案例)

更多精彩,点击关注“PLC发烧友”回复:西门子全套,领取西门子全系列电子资料包在S7-200SMART系列PLC的子程序...

2022-11-14 16:42:29查看全文 >>

西门子编程子程序格式(西门子系统怎样编辑子程序)

西门子编程子程序格式(西门子系统怎样编辑子程序)

PLC模拟量输入输出都会涉及到数据类型的互转问题,然而西门子300系统对于数据格式有着明确的规定,一般的四则运算都是在同...

2022-11-14 16:50:48查看全文 >>

西门子系统子程序编程实例

西门子系统子程序编程实例

之前我曾写过一篇SCL冒泡排序算法的文章(),文中的算法在某些情况下会出现错误,原因是SCL语言的数组的上限和下限可以自...

2022-11-14 16:17:45查看全文 >>

文档排行