在工业自动化领域输入/输出模块比较常见,有数字量输入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模块软件处理方案相关推荐

  1. 【无标题】profinet输入输出式分布式IP67总线IO模块

    关键词:IP67总线模块.profinet以太网模块.总线分线盒 Profinet逐渐成为机械和设备工程之间的未来通信工具.Profinet以太网为基础,与传统现场总线系统相比通信速度明显加快,传输的 ...

  2. 灌溉系统通过远程io模块控制多个喷淋阀门开关

    灌溉系统与远程io模块的结合,其实是为了实现农业灌溉的自动化和智能化.在脱离人为控制控制的情况下,系统也能自动感测到什么时候需要灌溉,灌溉多长时间.灌溉系统可以自动开启灌溉,也可以自动关闭灌溉:可以实 ...

  3. winpcapp配置c++网口通讯_MES、SCADA项目中的数据采集—基于C#与研华IO模块ModbusTCP通讯...

    写在面前 大家好,我是捞仪,号主小智前同事~ 前面我们介绍了PLC与PLC的通讯,PC与PLC之间的通讯(见文末推荐),就工业环境而言,通讯方式和通讯协议多种多样,通讯的硬件也是五花八门.但是通讯做多 ...

  4. 远程IO模块16DO开关量输出采集远程模块

    远程IO模块,是工业级远程采集与控制模块,该模块提供了无源节点的开关量输入采集,继电器输出,高频计数器等功能.可将系列内多个模块进行总线组网,使得IO点数得到灵活扩展.模块可以由远程命令进行控制.该模 ...

  5. 以太网io模块4-20mA转网口转TCP/IP西门子PLC扩展modbus模块

    本文基于金鸽以太网io模块如何通过tcp/ip以及modbus-tcp协议读取io开关量信号以及输出io开关量信号,模块支持输入信号触发主动上报,支持io输出延时自动关断,功能比较强大,性能也比较稳定 ...

  6. 支持掉线自动报警Profinet远程分布式IO模块

    华杰智控Profinet远程分布式IO模块不但支持IO, 同时还支持把modbus RTU的终端设备如变频器,温控表,电表等等转成Profinet协议接入主PLC. 主PLC不需要处理modbus程序 ...

  7. SMART200 PLC与捷米特Profinet分布式IO模块进行数据采集案例

    Profinet分布式IO模块与SMART200 PLC进行数据采集 准备工具 1.STEP7-MicroWIN SMARTV2.5软件 2.200SMARTST20PLC一台 3.捷米特JM9000 ...

  8. Oracle数据库服务器IO高的分析方案和案例探讨

    Oracle数据库服务器IO高的分析方案和案例探讨 本文原题<ORACLE数据库服务器IO高的分析方案和案例探讨> 目录: 慧眼识珠--服务器磁盘这么繁忙,到底是谁干的? 谨记于心--OR ...

  9. 无线plc,无线开关量,无线io模块,wifi开关量,io控制卡,无线数据采集RTU模块...

    标题: 基于lora及wifi无线通信的无线PLC在物联网远程IO控制场合中的应用 标签: 无线plc,无线开关量,无线io模块,wifi开关量,io控制卡 文档介绍: 本文档描述lora和wifi无 ...

最新文章

  1. 【Android 文件管理】应用可访问的存储空间 ( 存储空间分类 | 存储空间访问权限 | 分区存储 )
  2. Python基于socket实现的多任务版TCP服务端
  3. java 异或_脚本语言系列之Java | Java中的运算符
  4. 有了它,从此成为自带BGM的主角~
  5. 宝塔常用的命令大全(直接上官网)
  6. linux 内核同步--理解原子操作、自旋锁、信号量(可睡眠)、读写锁、RCU锁、PER_CPU变量、内存屏障
  7. 怎么安装python3.7 setuptools与pip_python3之安装、pip、setuptools
  8. UVA10178 Count the Faces.【并查集】
  9. 三、解线性方程组的迭代法
  10. ICML22:NAFS: A SIMPLE YET TOUGH-TO-BEAT BASELINE FOR GRAPH REPRESENTATION LEARNING(ICLR22转投)
  11. 《App后台开发运维和架构实践》推荐序
  12. 电商运营数据分析常用分析指标--交易数据指标、品类分析数据指标与内容分析数据指标
  13. Docker 文件映射
  14. 英诺重明320T服务器安装VMware操作系统流程(图文超详细版)
  15. 2022年的国外广告联盟,合格的EMU者有你吗?
  16. postgresql数据库中多个Schemas互相访问
  17. 微信终端跨平台组件 Mars 在移动网络的探索和实践
  18. FlashHelperService.exe flash player流氓广告?
  19. 栈的基础与基本操作实现
  20. 安装从GitHub下载的包

热门文章

  1. 基于WEB快速开发平台的轻量ERP
  2. DiscuzX 数据字典 超详细
  3. linux没有桌面安装svn,Linux下安装SVN简单教程
  4. 优品优男所谓“日有所思,夜有所梦”
  5. 在ubantu下安装搜狗
  6. 数据分析项目-合集-day02
  7. 【IKAnalyzer中文分词器详解-(1)分词逻辑】
  8. 读取三维数据.stl文件
  9. 实验内容:编写程序,模拟抓狐狸小游戏。假设一共有一排5个洞口,小狐狸最开始的时候在其中一个洞口,然后玩家随机打开一个洞口,如果里面有狐狸就抓到了。如果洞口里没有狐狸就第二天再来抓,但是第二天狐狸会在
  10. 踩坑日记 - word转pdf