模拟灰度传感器循迹的程序_TIA(博图)S7-1200实战篇:模拟量标定

在我们入门S7-1200时总会涉及到模数转换(AD转换)和数模转化。在这里先介绍如何在PLC中编写模数转化,俗称标定。

首先介绍下S7-1200系统中西门子自带的标定块---NORM_X(标准化)和SCALE_X(缩放)具体说明如下图所示

27cb0b11e33843218a63342a6cb6e9f1.png
9c1d6ccc4c399e8d006f0dde158b91ea.png

在程序中如何编写呢,接下来举个实例来说明下。已知:温度传感器量程0~50℃,输出信号4~20ma,目标:在PLC或触摸屏中读出0~50℃的温度。模拟量模块选6ES7 231-4HF32-0XB0 (8路模拟量输入)CPU选CPU 1214C DC/DC/DC 。如何编程:

1、在设备组态中组态PLC及相应模块,然后分配好对应地址 最后组态AI接入点的输入类型,如下图所示

da16eb6e07ecd1041f3c9bf4ac7a678c.png
1db3340d8ddbf49bded556c646d99867.png

2、在OB1或者FC块里编写程序,首先要用标准化指令将模拟量4~20ma和PLC接收的数字量 0~27648关联并有以0~100%形式标准化,然后在使用缩放指令将标准化指令结果转换成温度传感器的实际量程如此就完成模数转化了。这里模拟量AI输入IW100用DB数据块里INT类型代替,方便模拟数据。具体程序见下图

7bc5ce0523d209d703b508f84c3ea51f.png

然后我们介绍另一种方法来标定传感器,也是西门子自带指令。CALCULATE:计算指令。具体如何使用就不多介绍了可以查看博图里帮助。

其实我们做传感器标定是有一个公式的,我们只要掌握了这个公式以后就不需要在求人或者去百度搜索或者去论坛里下载一个别人编辑好的块。别人的东西与自己的习惯终究不一样。接下来我们就介绍这个公式吧。 首先: 定义各变量名称传感器量程上限:HI 、下限: Lo ; PLC接收数字量: 上限 K1、下限 K2;模拟量输入:AI。 然后公式是:( AI-K2 )/(K1-K2)*(HI-Lo)+Lo。 最后让我们来验证下对不对。见下图模拟数据。

f073e19f46fdc056a8098045c0619313.png

这期就介绍到这里,后续将介绍如何建一个通用模拟量标定块,可以反复调用。下期会以梯形图形式和SCL语言分别介绍。

STM32灰度传感器循迹程序主要分为以下几个步骤: 1. 硬件准备:首先需要准备STM32开发板和灰度传感器模块。将传感器模块连接到开发板上的GPIO引脚,确保连接正确。 2. 引入头文件和初始化:在程序中引入相关的头文件,如STM32的GPIO和ADC模块的头文件。然后,初始化所使用的引脚和ADC模块,设置为输入模式和ADC模式。 3. 循环扫描:在主循环中,通过ADC模块读取每个灰度传感器模拟信号值。具体的读取方式可以使用ADC采样和转换的函数进行操作,获取到的数值可以存储在一个数组中。 4. 处理数据:根据读取到的灰度传感器的数值,可以进行相应的处理,以确定循迹小车的方向。比如,可以根据不同的阈值判断灰度传感器是否被检测到黑线,进而判断小车应该向左转还是向右转。可以使用一些逻辑判断语句来实现。 5. 控制小车运动:根据处理后的数据,在程序中设置相应的输出信号,控制小车的运动。通过设置引脚的电平,实现小车向前、向后运动,或者左转、右转。 6. 添加延时:可以在程序中添加适量的延时,以保证灰度传感器的读取和处理过程的稳定。可以使用延时函数来实现。 7. 循环结束:程序在循环的末尾等待一段时间后,返回到主循环开始处,重新执行整个循环过程,实现循迹功能的持续运行。 综上所述,STM32灰度传感器循迹程序主要包括硬件准备、引入头文件和初始化、循环扫描、处理数据、控制小车运动、添加延时和循环结束等步骤。通过以上步骤的实现,就可以实现灰度传感器循迹功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值