模拟量比例换算 因为A/D(模/数)、(D/A)数/模转换之间的对应关系,S7-200 CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。这个关系就是模拟量/数值量的换算关系。 例如,使用一个 0 - 20mA的模拟量信号输入,在 S7-200 CPU内部,0 - 20mA对应于数值范围 0 - 32000;对于 4 - 20mA的信号,对应的内部数值为6400 - 32000。 如果有两个传感器,量程都是 0 - 16MPa,但是一个是 0 - 20mA输出,另一个是 4 - 20mA输出。它们在相同的压力下,变送的模拟量电流大小不同,在 S7-200内部的数值表示也不同。显然两者之间存在比例换算关系。模拟量输出的情况也大致相同。 上面谈到的是 0 - 20mA与 4 - 20mA之间换算关系,但模拟量转换的目的显然不是在 S7-200 CPU中得到一个 0 - 32000之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。 如果使用编程软件 Micro/WIN32中的 PID Wizard(PID向导)生成 PID功能子程序,就不必进行 0 - 20mA与 4 - 20mA信号之间的换算,只需进行简单的设置。 通用比例换算公式 模拟量的输入/输出都可以用下列的通用换算公式换算: Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl 其中: Ov: 换算结果 Iv: 换算对象 Osh: 换算结果的高限 Osl: 换算结果的低限 Ish: 换算对象的高限 Isl: 换算对象的低限 它们之间的关系可以图示如下: 图 1. 模拟量比例换算关系 实用指令库 在Step7 - Micro/WIN Programming Tips(Micro/WIN编程技巧中)的Tip38就是关于如何实现上述转换的例程。 为便于使用,现已将其导出成为”自定义指令库“,可以添加到自己的Micro/WIN编程软件中应用。 在这个指令库中,子程序 Scale_I_to_R可用来进行模拟量输入到 S7-200内部数据的转换;子程序 Scale_R_I可用于内部数据到模拟量输出的转换。 其中scale_I_R程序段例: 将4 - 20mA模拟量输入转换为内部百分比值 将内部百分比值转换为 4 - 20mA模拟量输出 对于精度要求不高的地方,4-20ma转换成0-20ma 可按比例计算 公式 =((ai-4)/16)*20 其程序段实例: 发贴者 Memory Of Heart 时间: 下午3:54 0 评论 S7-200 +TD400C 显示系统时间、运行时间的程序 看见论坛上有些朋友对西门子TD 文本显示器显示时钟的问题比较关...