分享

浅谈西门子S7-1200PLC的模拟量转换,附实例演示

 戴维琼斯qqe6xo 2018-05-19

浅谈西门子S7-1200PLC的模拟量转换,附实例演示

今天来简单探讨一下西门子S7-1200PLC的模拟量使用方法。

实际工业应用中常常由传感器采集压力、温度、速度等非电信号,并将这些非电量转换为电压或电流信号再传输给PLC、单片机等控制系统,此时这些信号均为模拟量。我们往往要对PLC中采集的模拟量信息进一步的加工处理,方便用来计算、比较、显示等。

模拟量转换的相关设置

S7-1200(1214C)内部集成了2路模拟量信号输入通道,分别为通道0和通道1,也就是可以同时接收并处理两个传感器输入的模拟信号,对应的地址为IW64和IW66(长度为一个字,16位),在TIA PROTAL中选中PLC的“常规”—“AI”标签项可以进行查看和设置。

浅谈西门子S7-1200PLC的模拟量转换,附实例演示

S7-1200PLC模拟量转换的工作原理

假设PLC的AI0口外接了一个温度传感器,传感器将测得的温度值转换为一个范围为0~10V的连续电压信号输入给PLC。模拟量经过PLC内部的A/D转换后被转换成了范围0~27648的数字量并存储在特定地址的寄存器中。具体的转换流程如下图所示。

浅谈西门子S7-1200PLC的模拟量转换,附实例演示

如何将模拟量输入转换的数字值还原成对应的物理量?

例:某个压力传感器的量程为0~0.1MPa,转换成对应的电压信号为0~5V,设转换后地址IW64中的数值为N,尝试求以Pa为单位的压力值。

解:S7-1200PLC默认的模拟信号输入电压范围是0~10V,转换成数字信号的范围是0~27648,因为此压力传感器输出电压范围是0~5V,所以转换的数字信号范围是0~13824。压力传感器的测量压力范围是0~0.1MPa,由此可推导出公式,将电压值还原成以Pa为单位的压力值并将结果存储于寄存器MD30中。

电压转换成数字信号后存入IW64的数值为N

浅谈西门子S7-1200PLC的模拟量转换,附实例演示

在博途软件中编写对应的PLC程序如下:

在编写梯形图程序时有以下两点需要特别注意:

1)因为PLC执行除法指令时会丢掉余数而只保留商值,这样会影响计算的精度,所以在编写梯形图程序计算压力值时要注意先乘后除。

2)IW64中的数据类型为整型(INT),该值乘以100000后其结果会超出int的范围,所以必须先应用CONV指令将数据类型转换为DInt。

浅谈西门子S7-1200PLC的模拟量转换,附实例演示


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多