论文部分内容阅读
[摘 要]在药品仓库里面的温度过高或者过低都不利于药品的存放,因此需要对温度进行监控。温度的测量往往要用到热电阻,利用西门子S7-200怎么处理热电阻输入的信号呢?这里将解决这个问题。
[关键词]热电阻S7-200EM231模块模拟量处理
中图分类号:TP273.5VC 文献标识码:A 文章编号:1009-914X(2013)25-0045-02
1、引言
PLC处理热电阻信号涉及到A/D(模/数)转换之间的对应关系。现已西门子S7-200,CPU224和EM231输入模拟量模块对WZP系列的热电阻信号的处理为例。
2、热电阻
药品仓库的温度一般要求是25℃,因此选择热电阻为WZP系列,Pt100 ,0-50℃。热电阻的输出电流范围有:0-20mA和4-20mA两种。热电阻的接线端子有两端、三端和四端,不同数量端子的接线方式也不尽相同。
3、S7-200和EM231及接线
S7-200,CPU224没有模拟输入端,因此要外加模拟量输入模块。这里选择EM231模拟量输入模块。
3.1 西门子S7-200
S7-200具有极高的可靠性、强大的通信能力和丰富的扩展模块。S7-200以其极高的性能价格比,在国内占有很大的市场份额。[1]
3.2 EM231及接线
EM23模拟量扩展模块提供了模拟量输入/输出的功能,优点如下: 最佳适应性,可适用于复杂的控制场合。EM231 模块可直接与 PT100 热电阻相连,PLC 可以相应地进行扩展,并可非常容易的调整用户程序。
根据热电阻的特点,热电阻与EM231的接线如图1,2,3:
要对EM231模拟量输入块DIP开关进行设置,设置如表1:
4、模拟量处理
模拟量量是指变量在一定范围连续变化的量也就是在一定范围(定义域)内可以取任意值。比如温度,从0-500度,压力从0-10Mpa等等,这些量都是模拟量。但PLC不能直接处理模拟量,需要用模拟量输入模块中的A/D转换器,将模拟量转换为与输入信号成正比的数字量。
使用一个0-20mA的模拟量信号输入,在S7-200 CPU内部,0-20mA对应于数值范围0-32000;对于4-20mA的信号,对应的内部数值为6400-32000。
4.1 处理方法一:利用换算公式
4.1.1 换算公式
模拟量的输入/输出都可以用下列的通用换算公式换算:[2]
公式(1)
Ov:换算结果 lv:换算对象
Osh:换算结果的高限Osl:换算结果的低限
lsh:换算对象的高限lsl:换算对象的低限
此公式不是很明了模拟量的输入/输出的关系,现举例说明:
现有一热电阻,输出电流范围:0-20mA,测量温度的范围:0-50℃。代入公式(1),得:
测量温度值=[(50℃-0℃)*(AIW0-0)/(32000-0)]+0℃
公式(2)其中,AIW0为模拟量模块采样值。
现有另一热电阻,输出电流范围:4-20mA,测量温度的范围:0-50℃。代入公式(1),得:
测量温度值=[(50℃-0℃)*(AIW0-6400)/(32000-6400)]+0℃
公式(3)其中,AIW0为模拟量模块采样值。
4.1.2 PLC编程实现换算公式
1)、将模拟量通道AIW0的数据通过MOV_W指令存放入VW0中。
2)、将模拟量通道VW0的数据通过I_DI指令转换为DINT数据类型,并存放入VD100中。
3)、将VD100中的数据使用DI_R转换为浮点数,目的是为了提升计算精度,因为西门子PLC不允许整型数据直接转换为浮点数,因此必须通过2,3步骤转换(如图4)。
4)、对于0-20mA而言,AC0-0.0;对于4-20mA而言,AC0-6400.0。因为对于0-20mA来说,西门子S7-200的采集数据在0-32000,也就是说每1mA对应的数值为32000/20=1600,那么4-20mA就是6400-32000,因此要将输入值-6400来完成坐标的移动。
5)、对于0-20mA而言,除以(DIV_R)32000;对于4-20mA而言,除以(DIV_R)25600来得到输入值占用整个输入范围的百分比,32000-6400=25600,25600就是4-20mA对应的输入范围。
6)、然后通过乘以(MUL_R)50,就得到了0-50的数据。
通过上述程序,将输入的模拟量信号对应的6400-32000之间的数据转换为0-50之间的数据,这样做也称为线性转换。[4]
4.2 处理方法二:模拟量比例换算指令库
下载模拟量比例换算指令库,并添加到STEP7中,直接调用即可,如图5所示。对于0-20mA而言,lsh端输入32000,lsl端输入0,Osh端输入50.0,Osl端输入0.0;对于4-20mA而言,lsh端输入25600,lsl端输入6400,Osh端输入50.0,Osl端输入0.0。
当然,模拟量的处理方法很多,还需要继续深究。
5、总结
通过模拟量的处理,得到了热电阻测量的实际温度(此温度存在一定的误差)。通过设定温度与此测量温度进行比较,进行时药品仓库温度实现自动调节。
参考文献
[1] 廖常初.S7-200PLC基础教程[M]第2版.北京:机械工业出版社,2012.
[2] Micro 'n Power-西门子 S7-200 · LOGO! · SITOP 参考 Beta Version 0.95.
[3] 西门子(中国)有限公司.S7-200可编程序控制器系统手册.2007
[4] 作者:佚名.西门子S7-200_PLC模拟量的使用.
[关键词]热电阻S7-200EM231模块模拟量处理
中图分类号:TP273.5VC 文献标识码:A 文章编号:1009-914X(2013)25-0045-02
1、引言
PLC处理热电阻信号涉及到A/D(模/数)转换之间的对应关系。现已西门子S7-200,CPU224和EM231输入模拟量模块对WZP系列的热电阻信号的处理为例。
2、热电阻
药品仓库的温度一般要求是25℃,因此选择热电阻为WZP系列,Pt100 ,0-50℃。热电阻的输出电流范围有:0-20mA和4-20mA两种。热电阻的接线端子有两端、三端和四端,不同数量端子的接线方式也不尽相同。
3、S7-200和EM231及接线
S7-200,CPU224没有模拟输入端,因此要外加模拟量输入模块。这里选择EM231模拟量输入模块。
3.1 西门子S7-200
S7-200具有极高的可靠性、强大的通信能力和丰富的扩展模块。S7-200以其极高的性能价格比,在国内占有很大的市场份额。[1]
3.2 EM231及接线
EM23模拟量扩展模块提供了模拟量输入/输出的功能,优点如下: 最佳适应性,可适用于复杂的控制场合。EM231 模块可直接与 PT100 热电阻相连,PLC 可以相应地进行扩展,并可非常容易的调整用户程序。
根据热电阻的特点,热电阻与EM231的接线如图1,2,3:
要对EM231模拟量输入块DIP开关进行设置,设置如表1:
4、模拟量处理
模拟量量是指变量在一定范围连续变化的量也就是在一定范围(定义域)内可以取任意值。比如温度,从0-500度,压力从0-10Mpa等等,这些量都是模拟量。但PLC不能直接处理模拟量,需要用模拟量输入模块中的A/D转换器,将模拟量转换为与输入信号成正比的数字量。
使用一个0-20mA的模拟量信号输入,在S7-200 CPU内部,0-20mA对应于数值范围0-32000;对于4-20mA的信号,对应的内部数值为6400-32000。
4.1 处理方法一:利用换算公式
4.1.1 换算公式
模拟量的输入/输出都可以用下列的通用换算公式换算:[2]
公式(1)
Ov:换算结果 lv:换算对象
Osh:换算结果的高限Osl:换算结果的低限
lsh:换算对象的高限lsl:换算对象的低限
此公式不是很明了模拟量的输入/输出的关系,现举例说明:
现有一热电阻,输出电流范围:0-20mA,测量温度的范围:0-50℃。代入公式(1),得:
测量温度值=[(50℃-0℃)*(AIW0-0)/(32000-0)]+0℃
公式(2)其中,AIW0为模拟量模块采样值。
现有另一热电阻,输出电流范围:4-20mA,测量温度的范围:0-50℃。代入公式(1),得:
测量温度值=[(50℃-0℃)*(AIW0-6400)/(32000-6400)]+0℃
公式(3)其中,AIW0为模拟量模块采样值。
4.1.2 PLC编程实现换算公式
1)、将模拟量通道AIW0的数据通过MOV_W指令存放入VW0中。
2)、将模拟量通道VW0的数据通过I_DI指令转换为DINT数据类型,并存放入VD100中。
3)、将VD100中的数据使用DI_R转换为浮点数,目的是为了提升计算精度,因为西门子PLC不允许整型数据直接转换为浮点数,因此必须通过2,3步骤转换(如图4)。
4)、对于0-20mA而言,AC0-0.0;对于4-20mA而言,AC0-6400.0。因为对于0-20mA来说,西门子S7-200的采集数据在0-32000,也就是说每1mA对应的数值为32000/20=1600,那么4-20mA就是6400-32000,因此要将输入值-6400来完成坐标的移动。
5)、对于0-20mA而言,除以(DIV_R)32000;对于4-20mA而言,除以(DIV_R)25600来得到输入值占用整个输入范围的百分比,32000-6400=25600,25600就是4-20mA对应的输入范围。
6)、然后通过乘以(MUL_R)50,就得到了0-50的数据。
通过上述程序,将输入的模拟量信号对应的6400-32000之间的数据转换为0-50之间的数据,这样做也称为线性转换。[4]
4.2 处理方法二:模拟量比例换算指令库
下载模拟量比例换算指令库,并添加到STEP7中,直接调用即可,如图5所示。对于0-20mA而言,lsh端输入32000,lsl端输入0,Osh端输入50.0,Osl端输入0.0;对于4-20mA而言,lsh端输入25600,lsl端输入6400,Osh端输入50.0,Osl端输入0.0。
当然,模拟量的处理方法很多,还需要继续深究。
5、总结
通过模拟量的处理,得到了热电阻测量的实际温度(此温度存在一定的误差)。通过设定温度与此测量温度进行比较,进行时药品仓库温度实现自动调节。
参考文献
[1] 廖常初.S7-200PLC基础教程[M]第2版.北京:机械工业出版社,2012.
[2] Micro 'n Power-西门子 S7-200 · LOGO! · SITOP 参考 Beta Version 0.95.
[3] 西门子(中国)有限公司.S7-200可编程序控制器系统手册.2007
[4] 作者:佚名.西门子S7-200_PLC模拟量的使用.