顶盖排水PLC程序中IO数据处理.docxVIP

  • 4
  • 0
  • 约1.49千字
  • 约 2页
  • 2021-10-14 发布于四川
  • 举报
顶盖排水PLC程序中IO数据处理 分享主题 顶盖排水PLC程序中IO数据处理 分享人 分享时间 教学目标 理解并掌握顶盖排水PLC程序中IO数据处理过程 教学重点 顶盖排水PLC程序数据流向 本内容 打开顶盖排水控制PLC程序,IO数据处理子程序为Data_Proces IO数据处理子程序,从模件中读取DI IO数据处理子程序,从模件中读取DI、AI数据到内存中,并将内存数据输出DO模件 DI量读取:调用标准数据读取和存储函数IEC_BMDI,将模件数组%I1~%I64读取到DI_STATUS,随后调用数据复制函数DI_MOVE,将DI_STATUS中前4个WORD这64个bool复制到 IEC_BMDI (SEL_IN :=1 , OFF_IN :=1, LENGTH :=DINumber ,SEL_OUT :=4 , OFF_OUT :=10); DI_MOVE (IN := DI_STATUS, WordLength := DIWordLength, OUT = DI_BOOL_STA); (*取缓存开入量*) 数据流向为模件%I—固定内存%M10—DI数组DI_BOOL_STA。 为什么要这么处理?有没有更简单的处理办法?原因在于数据类型的不同。模件数据是根据配置设定地址从%I1开始的48个bool型变量,而调用IEC_BMDI函数时的输出变量必须是INT型数据。为了在其他程序中单独使用每个DI变量,故实际使用的是bool型数组,即DI_BOOL_STA。更好的办法可采用南瑞的IO数据读取和存储方法,即直接原始数值数值和模件地址对应起来,DI_RAW、AI_RAW等,固定地址就是模件存储地址。 AI量读取:方法同DI读取。但不同的地方在于AI模件不仅存储码值,还要存储通道品质状态值。AI模件是8通道,故第9个是前8个通道品质。(具体可参考:07 设备说明书\02 辅机及自动化元件说明书\昆腾PLC资料k01_000_04:Quantum离散量和模拟量IO参考手册的第57页)。所以读取第I个模件码值开始地址为(I-1)*9,读取长度8个INT型数据。读取第I个模件品质值地址为I*9,长度1个INT型数据。数据排列如下表: 1 %IW1通道1码 … … 8 %IW8通道8码 9 1~8模拟量品质 10 %IW10通道9码 … … 17 %IW17通道16码 18 9~16模拟量品质 … 程序中将码值读入固定地址为1100的码值数组IW_In_Arr,并将品质值读入固定地址1200的品质数组AI_STA 模拟量处理过程中,将码值转换成对应的实际值。程序中现判断模拟量品质,即判断品质位是否为坏,如果品质位换,将模拟量直接设置为-8888.0。如果品质为好 ,调用码值转换实际值功能块AI_SCALE,得出实际值。 品质为坏的判断方法是模件品质位为1,或者码值大于上限值IW_MAX1+500,或者小于-500。也就是码值在[-500, IW_MAX1+500]范围内是正常值。之所以上下限扩大500,是为了在兼顾原上下限附近可能存在正常的值! DO量开出:同样是调用IEC_BMDI函数,不过是数据流向从内存到DO模件,即从DO_ STATUS到%M1 IEC_BMDI (SEL_IN :=4 , OFF_IN :=45, LENGTH :=DOWORDLength ,SEL_OUT :=0 , OFF_OUT :=1); 分享小结: 审核人: 参与人:

文档评论(0)

1亿VIP精品文档

相关文档