IO模块软件处理方案
在工业自动化领域输入/输出模块比较常见,有数字量输入DI,数字量输出DO,模拟量输入AI,模拟量输出AO,高速脉冲输入HPI,高速脉冲输出HPO。
下面介绍这些IO模块软件处理方案
1.D0
延时输出
2.DI
在工业现场最常用的就是通过DI信号给设备开机停机等信号,如果现场有干扰,就可能造成设备的误动作,造成生命和财产的损失。软件可以开通延时和关断延时滤波消除干扰,通常这个延时时间可以通过参数配置。下面看看下面的时序图,正常情况下DI开通和关断后,经过软件的延时处理,再给到下一级处理,比如这个DI的高电平关联启动,就会调用执行启动函数。
再看看有干扰的情况,当软件检测到一个上升沿或下降沿后,每个节拍都会检测这个变化的信号是否会持续延迟时间,如果该信号一直不变,延迟结束后就会输出该信号,否则输出信号就会保持不变。
void DIDealyModule(DELAY_MODULE *p)
{if(p->in != p->oldIn){if ((!!p->in)&&(p->type == OPEN_DELAY_TYPE || p->type == BID_DELAY_TYPE))//0--->1{p->delayActTick = p->delayTime;}else if ((!p->in)&&(p->type == CLOSE_DELAY_TYPE || p->type == BID_DELAY_TYPE))//1--->0{p->delayActTick = p->delayTime;}else{p->delayActTick = 0;}}p->out = (p->delayActTick == 0)?p->in:p->out;if(p->delayActTick > 0){p->delayActTick--;}p->oldIn = p->in;}
3.AI
值转化,校正,滤波,标定
(1)假设AI外部输入的电压为0-10v,转为为0-4095的数字量。
(2)但是有由于硬件有偏差,导致2v对应的不是40952/10,8v对应的不是40958/10,需要线性校正。线性校正的横坐标为adc数值,纵坐标为标幺量,1000代表10v(这里是个技巧将电压标幺化处理)。
(3)对步骤(2)的结果一阶低通滤波
(4)默认标定2v对应20%,8v对应80%,现场有很多特殊情况,比如说客户2v要对应80%的输出,8v对应20%的输出,可以设定参数调整。
(5) 噪声处理
稳定状态下电压的值小数点后面几位会有跳动,为了不让跳动,可以设置一定的阈值,当变动量大于某值,输出才变动,否则输出不变。
pai_deal->adjust_line[i].x = AnalogDeal(&pai_deal->analog_type[i], pai_deal->padc_result[i], i);//输入时adc值,输出对应理论电压pai_status->type_value[i] = LineCalc(&pai_deal->adjust_line[i]);//输入adc对应理论电压,输出电压标幺值pai_deal->line_struct[i].x = pai_status->type_value[i];pai_deal->low_pass_filter[i].in = LineCalc(&pai_deal->line_struct[i]);//输入为定标前标幺,输出为定标后标幺intermValue = LpfCalc(&pai_deal->low_pass_filter[i]);//输入为滤波前电压标幺,输出为滤波后电压标幺intermValue = DenoiseDeal(&pai_deal->denoise[i], intermValue, i);//噪声处理
4.AO
值转化,校正,标定
未完待续,搞明白这些,IO模块的软件处理就没有问题!!!!
IO模块软件处理方案相关推荐
- 【无标题】profinet输入输出式分布式IP67总线IO模块
关键词:IP67总线模块.profinet以太网模块.总线分线盒 Profinet逐渐成为机械和设备工程之间的未来通信工具.Profinet以太网为基础,与传统现场总线系统相比通信速度明显加快,传输的 ...
- 灌溉系统通过远程io模块控制多个喷淋阀门开关
灌溉系统与远程io模块的结合,其实是为了实现农业灌溉的自动化和智能化.在脱离人为控制控制的情况下,系统也能自动感测到什么时候需要灌溉,灌溉多长时间.灌溉系统可以自动开启灌溉,也可以自动关闭灌溉:可以实 ...
- winpcapp配置c++网口通讯_MES、SCADA项目中的数据采集—基于C#与研华IO模块ModbusTCP通讯...
写在面前 大家好,我是捞仪,号主小智前同事~ 前面我们介绍了PLC与PLC的通讯,PC与PLC之间的通讯(见文末推荐),就工业环境而言,通讯方式和通讯协议多种多样,通讯的硬件也是五花八门.但是通讯做多 ...
- 远程IO模块16DO开关量输出采集远程模块
远程IO模块,是工业级远程采集与控制模块,该模块提供了无源节点的开关量输入采集,继电器输出,高频计数器等功能.可将系列内多个模块进行总线组网,使得IO点数得到灵活扩展.模块可以由远程命令进行控制.该模 ...
- 以太网io模块4-20mA转网口转TCP/IP西门子PLC扩展modbus模块
本文基于金鸽以太网io模块如何通过tcp/ip以及modbus-tcp协议读取io开关量信号以及输出io开关量信号,模块支持输入信号触发主动上报,支持io输出延时自动关断,功能比较强大,性能也比较稳定 ...
- 支持掉线自动报警Profinet远程分布式IO模块
华杰智控Profinet远程分布式IO模块不但支持IO, 同时还支持把modbus RTU的终端设备如变频器,温控表,电表等等转成Profinet协议接入主PLC. 主PLC不需要处理modbus程序 ...
- SMART200 PLC与捷米特Profinet分布式IO模块进行数据采集案例
Profinet分布式IO模块与SMART200 PLC进行数据采集 准备工具 1.STEP7-MicroWIN SMARTV2.5软件 2.200SMARTST20PLC一台 3.捷米特JM9000 ...
- Oracle数据库服务器IO高的分析方案和案例探讨
Oracle数据库服务器IO高的分析方案和案例探讨 本文原题<ORACLE数据库服务器IO高的分析方案和案例探讨> 目录: 慧眼识珠--服务器磁盘这么繁忙,到底是谁干的? 谨记于心--OR ...
- 无线plc,无线开关量,无线io模块,wifi开关量,io控制卡,无线数据采集RTU模块...
标题: 基于lora及wifi无线通信的无线PLC在物联网远程IO控制场合中的应用 标签: 无线plc,无线开关量,无线io模块,wifi开关量,io控制卡 文档介绍: 本文档描述lora和wifi无 ...
最新文章
- 【Android 文件管理】应用可访问的存储空间 ( 存储空间分类 | 存储空间访问权限 | 分区存储 )
- Python基于socket实现的多任务版TCP服务端
- java 异或_脚本语言系列之Java | Java中的运算符
- 有了它,从此成为自带BGM的主角~
- 宝塔常用的命令大全(直接上官网)
- linux 内核同步--理解原子操作、自旋锁、信号量(可睡眠)、读写锁、RCU锁、PER_CPU变量、内存屏障
- 怎么安装python3.7 setuptools与pip_python3之安装、pip、setuptools
- UVA10178 Count the Faces.【并查集】
- 三、解线性方程组的迭代法
- ICML22:NAFS: A SIMPLE YET TOUGH-TO-BEAT BASELINE FOR GRAPH REPRESENTATION LEARNING(ICLR22转投)
- 《App后台开发运维和架构实践》推荐序
- 电商运营数据分析常用分析指标--交易数据指标、品类分析数据指标与内容分析数据指标
- Docker 文件映射
- 英诺重明320T服务器安装VMware操作系统流程(图文超详细版)
- 2022年的国外广告联盟,合格的EMU者有你吗?
- postgresql数据库中多个Schemas互相访问
- 微信终端跨平台组件 Mars 在移动网络的探索和实践
- FlashHelperService.exe flash player流氓广告?
- 栈的基础与基本操作实现
- 安装从GitHub下载的包
热门文章
- 基于WEB快速开发平台的轻量ERP
- DiscuzX 数据字典 超详细
- linux没有桌面安装svn,Linux下安装SVN简单教程
- 优品优男所谓“日有所思,夜有所梦”
- 在ubantu下安装搜狗
- 数据分析项目-合集-day02
- 【IKAnalyzer中文分词器详解-(1)分词逻辑】
- 读取三维数据.stl文件
- 实验内容:编写程序,模拟抓狐狸小游戏。假设一共有一排5个洞口,小狐狸最开始的时候在其中一个洞口,然后玩家随机打开一个洞口,如果里面有狐狸就抓到了。如果洞口里没有狐狸就第二天再来抓,但是第二天狐狸会在
- 踩坑日记 - word转pdf