课程中心
HOME
课程中心
正文内容
plc编程中的电阻在哪里 西门子工程师:S7-300,400 PLC 模拟量输入输出的量程转换控制
发布时间 : 2025-04-20
作者 : 小编
访问数量 : 23
扫码分享至微信

西门子工程师:S7-300、400 PLC 模拟量输入输出的量程转换控制

今天主要跟大家分享一个关于西门子S7-300、400PLC模拟量输入输出的量程转换控制,主要有一下内容:

一、模拟量输入、输出量程转换的概念

二、S7-300、400 PLC 模拟量输入、输出模板

1、需要使用的模板

2、涉及的信号类型

三、STEP 7 中模拟量输入、输出的编程

1、FC105、FC106 在哪里

2、FC105、FC106 功能描述

3、FC105、FC106 参数定义

4、FC105、 FC106例子程序

一、模拟量输入、输出量程转换的概念

实际的工程量,如压力、温度、流量、物位等要采用各种类型传感器进行测量。传感器将输出标准电压、电流、温度、或电阻信号供 PLC 采集,PLC 的模拟量输入模板将该电压、电流、温度、或电阻信号等模拟量转换成数字量——整形数(INTEGER)。在 PLC 程序内部要对相应的信号进行比较、运算时,常需将该信号转换成实际物理值(对应于传感器的量程)。而经程序运算后得到的结果要先转换成与实际工程量对应的整形数,再经模拟量输出模板转换成电压、电流信号去控制现场执行机构。这样就需要在程序中调用功能块完成量程转换。

如一个压力调节回路中,压力变送器输出 4-20mA DC 信号到 SM331 模拟量输入模板,

SM331 模板将该信号转换成 0-27648 的整形数,然后在程序中要调用 FC105 将该值转换成 0-10.0(MPa)的工程量(实数),经 PID 运算后得到的结果仍为实数,要用 FC106 转换为对应阀门开度 0-100%的整形数 0-27648 后,经 SM332 模拟量输出模板输出 4-20mA DC 信号到调节阀的执行机构。

二、S7-300、400 PLC 模拟量输入、输出模板

1、需要使用的模板

使用西门子 S7-300、400 PLC 进行模拟量输入、输出需要使用的模板:

S7-300系列 PLC:SM331 系列模拟量输入模板;SM332 系列模拟量输出模板;SM334、335系列模拟量输入、输出模板。

S7-400系列 PLC:SM431 系列模拟量输入模板;SM432 模拟量输出模板。

2、涉及的信号类型:电压,电流,温度,电阻。

三、STEP 7 中模拟量输入、输出的编程

1、FC105、FC106 在哪里

在编程界面下,在 Program elements 中的 Libraries 下的 Standard Library 下的 TI-S7

Converting Blocks 中就可以找到,见下图:

注意:请不要使用 S5-S7 Converting Blocks 下的 FC105, FC106,该路径下的功能是用于 S5输入输出模板的,在 S7 输入输出模板上无法使用。

2、FC105、FC106 功能描述

在编程界面下选中该功能块,按一下计算机键盘上的 F1 功能键,即可打开关于该功能块的在线帮助,包括该功能块的功能,管脚参数定义、例子程序等。建议用户使用STEP 7 在线帮助,可以提供全面的编程帮助。

FC105 功能描述

SCALE(FC105)功能将一个整形数 INTEGER(IN)转换成上限、下限之间的实际的工程值(LO_LIM and HI_LIM),结果写到 OUT。公式如下:

OUT = [ ((FLOAT (IN) – K1)/(K2–K1)) * (HI_LIM–LO_LIM)] + LO_LIM

常数 K1 和 K2 的值取决于输入值(IN)是双极性 BIPOLAR 还是单极性 UNIPOLAR。

双极性 BIPOLAR:即输入的整形数为 –27648 到 27648,此时 K1 = –27648.0 , K2 = +27648.0

单极性 UNIPOLAR:即输入的整形数为 0 到 27648,此时 K1 = 0.0 , K2 =+27648.0

如果输入的整形数大于 K2,输出 (OUT) 限位到 HI_LIM, 并返回错误代码。 如果输入的整形数小于 K1,输出限位到 LO_LIM,并返回错误代码。

反向定标的实现是通过定义 LO_LIM > HI_LIM 来实现的。反向定标后的输出值随着输入值的增大而减小。

FC106 功能描述

UNSCALE(FC106)功能将一个实数 REAL (IN) 转换成上限、下限之间的实际的工程值(LO_LIM and HI_LIM),数据类型为整形数。结果写到 OUT。公式如下:

OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + K1

常数 K1 和 K2 的值取决于输入值(IN)是双极性 BIPOLAR 还是单极性 UNIPOLAR。

双极性 BIPOLAR:即输出的整形数为 –27648 到 27648,此时 K1 = –27648.0 , K2 = +27648.0

单极性 UNIPOLAR:即输出的整形数为 0 到 27648,此时 K1 = 0.0 , K2 =+27648.0

如果输入值在下限 LO_LIM 和上限 HI_LIM 的范围以外,输出 (OUT) 限位到与其相近的上限或下限值(视其单极性 UNIPOLAR 或双极性 BIPOLAR 而定),并返回错误代码。

3、FC105、FC106 参数定义

FC105 的参数定义

错误信息:

如输入的整形数大于 K2,则输出(OUT) 限位到 HI_LIM,并返回错误值。如输入的整形数小于K1,输出限位到 LO_LIM,并返回错误值。ENO 端的信号状态置为 0 且返回值 RET_VAL 为W#16#0008。

FC106 的参数定义

错误信息:

如果输入值在下限 LO_LIM 和上限 HI_LIM 的范围以外,输出 (OUT) 限位到与其相近的上限或下限值(视其单极性 UNIPOLAR 或双极性 BIPOLAR 而定),并返回错误代码。ENO 端的信号状态置为 0 且返回值 RET_VAL 为 W#16#0008。

4、FC105和FC106例子程序

FC105例子程序

如输入 I0.0 为 1,SCALE 功能被执行。下面的例子中,整形数 22 将被转换成 0.0 到 100.0 的实数并写到 OUT。输入是双极性 BIPOLAR,用 I2.0 来设置。

FC106例子程序

如输入 I0.0 为 1,UNSCALE 功能被执行。下面的例子中,实数 50.03978588 将被转换成 0.0到 100.0 的工程量,再转换成整形数并写到 OUT。输入是双极性 BIPOLAR,用 I2.0 来设置。

注意:通常在一个项目都有不只一个模拟量需要转换,FC105 和 FC106 在程序中都可多次调用,调用的方法同上述例子程序。

此次关于所要分享的内容就是这些啦!

以上,欢迎动动手分享及收藏!

三菱Q系列和FX2N系列进行CC-Link通讯(主站和智能设备站的通讯)

本例讲的是主站与智能设备站的通讯,也就是Q系列和FX系列的通讯。

原料:

Q系列PLC一套带(QJ61BT11N主站模块)

FX2n系列PLC一套带(FX2N-32CCL接口模块)

硬件部分已经配置好了,如图一。我的通讯模块并没有加终端电阻,终端电阻的作用是:防止当电缆长时,在信号在终端会信号反射,影响通讯信号。专业术语,我也记不太清了。

图一

然后是软件部分,配置一下主站吧,Q系列我是新建了一个简单的工程,还有一种形式是结构化工程,当然哪种都行的,如图二。

图二

分配一下I/O的地址如,如果在线的话,可以PLC数据读取,自动分配。然后点击设置结束,如图三。

图三

再然后设置CCLINK网络参数,如图四。因为只有两个站所以我,分配的随意点。

图四

在CCLINK设置界面(图四)找到站信息如图五。FX2N是智能设备站,占用4站,128点。设置结束。

图五

硬件配置完成,然后就是软件了,开始编程。

这里讲一下硬件配置完成并下载完后,当然,硬件拨码不能错,设备一上点就开始进行数据交互了,这也是我最喜欢的地方,你只要知道知道数据在哪个BFM区就是在程序里读写了。以下开始举例啦。下图为通讯架构(所以没有标号噢)

如图,主站写数据到W100,w100对应的主张缓冲BFM寄存器的1E0(16进制) 480(十进制),如图六图七。

图七(主站缓冲开始于480地址十进制)

不明白吗?好那就再上图清楚点,在线监控一下如图八。是不是很清晰了,w100的数据写到了主站模块的1E0(16进制)480(十进制)的BFM区。

图八

再下来该怎么搞了?该搞智能设备站了。(FX2n)数据写过去了,我要怎么读出来呢。。。。。

接下来我们来看看数据在智能设备站是怎样被读出来的。还是上图,如图九,就是通过一条指令(FROM K0 K8 D30 K1)读出来的。

问题又来了,这个指令什么意思,我来讲下:

1、FROM就是读缓存区的操作;

2、K0就是指的32CCL接口模块的位置标号,这个位置标号,就是cpu右侧第一个,从0开始,如果再有有一个模块,那新增的这个模块的位置标号就是1,以此类推。读我教程,你得语文好,不然就只能猜了,开玩笑的。

3、k8这个就有点意思了,继续上图吧,如图十;

4、D30就是你的数据放到哪里,就是说数据读出来了,那数放在了这(D30)可以自由设置。

5、k1就是点数,一般我理解为一个字,16个BIT位。如果是k2就是从BFM区读出了两天个字分别放在了D30,和D31中。然后以此类推。。。

来看看FX2n读出的数据也是250,这个数,看下图九。

图九

接上文,看下图十。看到没,#8缓冲区,这个就是32CCL的缓冲区,就是FX2n旁边的接口模块。

图十

监控一下FX的缓冲区第#8号位置是不是250啊,

清楚了吧,如图十一。

图十一

接下来捋下思路吧,主站CPU把通过MOV D100 W100 这条指令,把D100的数据(250)到了W100中,w100在配置中对应的是主站模块QJ61BT11N缓冲寄存器的BFM -1E0(16进制地址)然后这个数据被询到了FX2N的接口模块32ccl的缓冲寄存器BFM-#8中,再接力棒就交到了FX2nCPU,它通过指令FROM K0 K8 D30 K1 把数据读到了它内部寄存器D30中(数据250)

然后哩,FX如何写数据到Q主站呢?为了满足大家尽力做全套哈,上图,如图十二。通过T0 K0 K0 K4M0 K1把数据写到32ccl的缓冲存储器。

图十二

这里就TO K0 K0 K4M0 K1讲一下:

1、TO:就是写指令啦

3、K0:就是32ccl接口模块的缓冲寄存器BFM的#0(图)

4、k4m0就是m寄存器从M0开始K1就是四个BIT位,K2就是八个BIT位,K3就是十二个BIT位,这里是K4就是十六个BIT位,也就是一个字(D)的长度

5、K1为点数,上文讲过的

6、m8013为FX的秒脉冲特殊继电器

接下来监控一下32ccl的BFM-#0区,会看到0到1的变化,(由于M8013在变化所以M0也在变化,根据TO K0 K0 K4M0 K1是把m0到m15的状态写到了BFM#0 所以M0 变化BFM0 也在实时刷新)。

看图十三会发现32CCL的BFM#0区最低位在以一秒一赫兹的频率在变化。说明数据已经写到这个区,然后就是主站怎么读出来啦,简单吧!如图十三。

图十三

监控一下主站的通讯模块QJ61BT11,再然后。。。问题来了我要监控哪里呢,主站的哪个区呢?上法宝,搬手册!我觉得你又会问这个手册看哪里啊?

首先你要明白你的数据写到哪了了,是不是32CCL接口模块的BFM#0区,#0区的功能是什么呢?噢,我看了一眼是这么写的“远程输入RX00-RX0F(设定站)”,如图十四。

图十四

现在思路有了,从功能上来确认。所以32CCL的BFM#0对应的QJ61bt11的BFM的E0(16进制),如图十五。

图十五

主站地址找到了,那监控验证一下,如图十七。当然了,我这里是捕捉截图,其实它是一直0-1变化的。

图十七

那么主站缓冲寄存器找到了,看看程序里怎么写的吧,如图十八。

图十八

监控看到X150一直在变化,驱动了实际输出Y0C1

这个X150就是由32cclBFM#0刷新到主站模块QJ61BT11的E0区(远程RX)

是不是有点疑惑,无法把X150和这联系起来,或许你忘了CC-Link设置界面啦。上图看看,如图十九。

图十九

看到了吧,其实QJ61BT11主站模块的E0区是和x150对应的,就是说E0区如果最低位刷新的话,x150也变化,E0区的第2位变化,x151也变化,以此类推,直达第F位,从0到F共16位,一个字的长度。。。是不是清晰点了。。。

Review一下:FX的cpu通过TO指令写32ccl的#0缓冲寄存器,(TO K0 K0 K4M0 K1), 32CCL的BFM#0区对应QJ61BT11主站模块的E0缓冲寄存器,通过链接扫描的方式,实时刷新,再然后Q系列CPU就能直接读出数据了。。。

其实前期铺垫那么多,是想大家多去看些手册,因为三菱系的资料特别的多,而却实用性很强,你学会了看一本手册就有了一些思路,这个思路我个人理解为学习方法,要懂得如何去看手册,才能更好更快地解决问题。

特别喜欢一句话,(不要轻易的去问别人问题,因为人家的时间是宝贵的,你不但占用了别人的时间,还失去了一次学习的机会)。

最后,祝大家技术更上一层楼啦,升值加薪哈哈哈。See you next time!

来源/中华工控网,转载请注明出处

相关问答

Plc输入端有接电阻的吗?

如果是AI,即模拟量输入,PLC是内部有采样电阻的,不必加。如果外加,一般是没选对信号类型,的对付事儿之计,外加电阻不能保障精度,不推荐用如果是AI,即模拟量输...

plc控制M415B驱动器电阻的接法?

在使用PLC控制M415B步进电机驱动器时,需要根据PLC输出信号的电压与驱动器输入信号的要求来确定电阻的接法。根据搜索结果,如果PLC输出信号电压为24V,而驱动器...

plc接地电阻要求?

标准接地电阻规范要求:1、独立的防雷保护接地电阻应小于等于10欧;2、独立的安全保护接地电阻应小于等于4欧;3、独立的交流工作接地电阻应小于等于4欧;4、...

plc通讯头上no和off什么意思?

on指线圈动作,开点闭合,闭点断开;off指线圈释放,开点断开,闭点导通。PLC:可编程逻辑控制器是一种数字运算操作的电子系统,专为在工业环境应用而设计。它...o...

PLC再接电阻多少欧姆?

再接电阻,一种是为了增加输入电阻保护PLC模块,一种是串联电阻把输入电压信号转换为电流信号,一种是并联电阻把输入电流信号转换成电压信号。把输入4_20mA信号...

PLC总线连接器里那个ON,OFF是什么意思?

终端电阻吧,一般只在最末端才打开(ON),中间的节点都要关掉(OFF)。终端电阻吧,一般只在最末端才打开(ON),中间的节点都要关掉(OFF)。

plc如何知道内部带不带24伏?

在PLC中,内部带不带24伏,通常是由电源单元提供的电压信号决定的。如果电源单元提供了24伏的电压信号,那么PLC内部就会带有24伏的电压,否则就不会带有24伏的电...

PLC输出端口为何用上拉电阻?

PLC输出端口用上拉电阻的作用是为了防止干扰,增加电路的稳定性。上拉电阻就是让它在没有输出的情况下,保持高电位,并且不出现漂移现象。在有输出的情况下...

PLC为什么要将输出端子的相应COM段短接?

PLC将输出端子的相应COM段短接是有必要的。1,短接输出端子的相应COM段可以提供稳定的电平,确保信号的可靠传输。PLC输出信号通过COM段传导到控制装置或执行器,...

西门子plc模块电源是否有电阻值?

CPU没有内部电源,如果是AC模块可以直接接入220V交流电源。如果是DC模块可以直接使用24V开关电源供电,不必使用专用的S7-1200电源模块。CPU没有内部电源,如果...

 蝗虫之歌  陶喆老婆江佩蓉 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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