内容发布更新时间 : 2024/12/28 8:04:40星期一 下面是文章的全部内容请认真阅读。
模拟量比例换算
因为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文本显示器显示时钟的问题比较关心,在这个帖子里笔者给出一个已经应用于工程上的程序例子,并作出详细分析,希望对关心这个问题的朋友有些帮助。
这个程序是S7200+TD400C显示系统时间、当班运行时间、累计运行时间的例子。 以下是s7-200 S7200+TD400C显示系统时间、运行时间的程序详解:
系统硬件配置如下:
PLC:西门子S7-200 CN;CPU 226 CN REL
02.01;AC100~230V电源/DC24V输入/继电器输出;订货号6ES7 216-2BD23-0XB8;固件02.01 Build
2;ASIC:01.00。
文本显示器:TD400C;订货号6AV6 6640-0AA00-0AX0;自带9芯TD/CPU电缆;版本:1.0.0.3。
S7 -200与TD400C通过TD400C随机配置的TD/CPU通信电缆连接,实现电源供给和通信(因为当TD400C与S7-200
CPU之间的距离小于 2.5米时,采用TD/CPU电缆的方式进行供电;当TD400C与S7-200 CPU之间的距离超过2.5米时,使用外部电源供电并使用 PROFIBUS组件连接网络)。 系统软件配置如下:
S7-200参数设置:在“系统块”的“断电数据保持”中设置VW1600以后2000个单元为断电数据保持。
TD400C参数设置:
TD400C地址:1
CPU地址:2
参数块地址:0
波特率:9.6K
HSA:31
GUF:10
键盘声音反馈:开
屏幕保护时间:10分钟
S7-200的系统时钟调整为准确的北京时间。
下面先写一下该程序所用到的存储器的意义,以便于理解程序。