实例讲解|教你PLC模拟量编程
【领西门子全套资料,看文末】
【领西门子全套资料,看文末】
【领西门子全套资料,看文末】
什么是模拟量编程?
模拟量是一种连续变化的量。它的使用对象也是各种连续变化的量,比如温度、压力、湿度、流量、转速、电流、电压、扭矩等。
模拟量编程,很多初学者觉得很难,其实只要把握住模拟量编程的关键点,就可以轻松解决。
这个关键点就在于找到工程量与内码的转换关系 。所谓的工程量 是指工业控制中的实际物理量,如压力、温度、流量和液位等,这些物理量通过变送器能够产生标准的连续变化的模拟量信号。所谓的内码 是指外部输入的连续变化的模拟量信号在模拟量输入模块内部对应产生的数字量信号(我们知道在PLC及其模块内部实现运算的都是数字量信号)。
那么归根结底,找工程量与内码的转换关系,就是指实际物理量与模拟量模块内部数字量的对应关系。在找对应关系时,应考虑变送器输出量程和模拟量输入模块的量程。
下面我们举个例子,用两种方法讲解一下模拟量的编程。
【领西门子全套资料,看文末】
【领西门子全套资料,看文末】
实例
【控制要求】
某温度变送器量程为0~100℃,输出信号为4~20mA,模拟量输入模块EM AE04量程为0~20mA,转换后数字量为0~27648,设转换后的数字量为X,试编程求温度值。
【方法一】一般解法
1.找到实际物理量与模拟量输入模块内部数字量比例关系
温度变送器的输出信号的量程为4~20mA,模拟量输入模块EM AE04的量程为0~20mA,二者不完全对应,因此实际物理量0℃对应模拟量模块内部数字量5530,实际物理量100℃对应模拟量模块内部数字量27648。
找到实际物理量与模拟量输入模块内部数字量比例关系
2.程序编写
通过上步找到比例关系后,可以进行模拟量程序的编写了,编写的关键在于用PLC指令表达出P=100(X-5530)/(27648-5530)。
实例的模拟量程序
【领西门子全套资料,看文末】
【领西门子全套资料,看文末】
【方法二】用模拟量转换库进行编程
为便于用户编程,西门子官方网站提供了模拟量比例转换指令库文件
利用库文件中的模拟量比例转换指令S_ITR,可以非常方便的将实际物理量与模拟量输入模块内部数字量建立联系。
1.S_ITR指令解析
S_ITR指令解析
2.模拟量比例转换指令库在STEP7_Micro/WIN编程软件中添加
首先,在西门子官方网站上下载模拟量比例转换指令库文件
接着打开STEP7_Micro/WIN编程软件,在项目树中的库文件夹上,右键单击并选择“打开库文件夹”,打开库文件夹所在的路径,将模拟量比例转换指令库文件
文件复制到该路径下,之后在项目树中的库文件夹上,右键单击并“刷新库”即可。
模拟量比例转换指令库在STEP7_Micro/WIN编程软件中添加
【领西门子全套资料,看文末】
【领西门子全套资料,看文末】
3.程序编制
利用模拟量比例转换指令得到程序。
利用模拟量比例转换指令得到的程序
【经验总结】
(1)细品上面的例子,真正理解内码与实际物理量的对应关系 ,才是掌握模拟量编程的关键 。一些初学者模拟量编程不会,原因就在这。
(2)用模拟量比例转换指令 编程非常便捷,读者应熟练利用该指令,并学会添加指令库,在模拟量编程中建议使用该方法编程,好处是占用的网络少并且编程快速 。
(3)用热电阻和热电偶模块采集温度时,实际温度=内码/10 ,这点容易被读者忽略。
(来源:网络,版权归原作者所有)
中英文对照版的PLC控制指令,不收藏备用可惜了~
日常工作中,很多工友由于英文基础差,导致使用PLC时困难重重,今天,小编收集了很多PLC控制指令,是中英文对照版的,希望能给大家日常工作中带来帮助。
1、LD( Load 装载 ) :动合触点
2、LDN( Load Not 不装载 ) : 动断触点
3、A( And 与 动合) : 用于动合触点串联
4、AN( And Not 与 动断 ) :用于动断触点串联
5、O( Or 或 动合 ) :用于动合触点并联
6、ON( Or Not 或 动断 ) : 用于动断触点并联
7、=( Out 输出 ) : 用于线圈输出
8、OLD( Or Lode): 块或
9、ALD( And Lode): 块与
10、LPS( Logic Push ) :逻辑入栈
11、LRD( Logic Read ) :逻辑读栈
12、LPP( Logic Pop ) :逻辑出栈
13、NOT( not 并非 ) :非
14、NOP( No Operation Performed ) : 无操作
15、AENO( And ENO ) :指令盒输出端ENO相与
16、S( Set 放置 ) : 置1
17、R( Reset 重置,清零 ) :清零
18、P( Positive) :上升沿
19、N( Negative) :下降沿
20、TON( On_Delay Timer ) :接通延时定时器21、TONR( Retentive On_Delay Timer ) : 有记忆接通延时定时器
22、TOF( Off_ Delay Timer ) :断开延时定时器
23、CTU( Count Up ) : 增计数器
24、CTD( Count Down ) : 减计数器
25、CTDU( Count Up/ Count Down ) :增减计数器
26、ADD( add 加 ) : 加注意
//ADD_I (_ I 表示整数)
ADD_DI( DI表示双字节整数)
ADD-R(R 表示实数)
它们都是加运算只是数的大小不同。
27、SUB( Subtract 减去,减少) :减
28、MUL( Multiply ) : 乘
29、DIV( Divide ) : 除
30、SQRT( Square root ) : 求平方根
31、LN( Napierian Logarithm 自然对数 ) : 求自然对数
32、EXP( Exponential 指数的 ) : 求指数
33、INC_B( Increment 增加 ) : 增1
//其中_B代表数据类型 还有W(字节)、DW双字后面几个都是这样的。34、DEC_B( Decrement 减少 ) : 减1
35、WAND_B( Word and 与命令 ) :逻辑与
36、WOR_B( Word or 或命令) : 逻辑或
37、WXOR_B( Word exclusive or 异或命令) :逻辑异或
38、INV_B( Inverse 相反 ) : 取反
39、MOV _B( Move 移动 ) : 数据传送
40、BLKMOV_B( Block Move 块移动) :数据块传送
41、SWAP( Swap 交换 ) : 字节交换
42、FILL( Fill 填充 ) : 字填充
43、ROL_B( Rotate Left 循环 向左) :循环左移位
44、ROR_B( Rotate Right 循环 向右) : 循环右移位
45、SHL_B( Shift Right 移动向左) :左移动
46、SHR_B( Shift Right 移动向右 ) : 右移动
47、SHRB( Shift buffer 移动缓存) :寄存器移位
48、STOP( Stop 停止 ) : 暂停
49、END/MEND( End /Mend ) : 条件/无条件结束
50、WDR( Watch dog reset ) : 看门狗复位
51、JMP( Jump 跳) :跳转
52、LBL( Label 位置 ) : 跳转标号
53、FOR( For 循环 ) : 循环
54、NEXT( Next 再下去) :循环结束
55、SBR( Subprogram Regulating子程序控制 ) : 子程序调用
56、SBR_T( Subprogram Regulating Take ) : 带参数子程序调用
57、SCR( Sequence Control 顺序控制 ) : 步开始
58、SCRT( Sequence Control Transfer 顺序控制转移 ) : 步转移
59、SCRE( Sequence Control End 顺序控制结束 ) : 步结束
60、AD_T_TBL( Add data to table 添加数据到表格中) : 填数据表
61、FIFO( First in First out 先进先出 ) : 先进先出
62、LIFO( Last in First out 后进先出 ) :后进先出
63、TBL_FIND( Table Find 表格查找 ) : 表查找
64、BCD_I( Binary Coded Decimal _I 二进制编码的十进制 ) :BCD 码转整数
65、I_BCD( I_ Binary Coded DecimaL ) :整数转BCD码
66、B_I( Bit to int ) :字节转整数
67、I_B( int to bit ) :整数转字节
68、DI_I( Double int to int ) :双整数转整数
69、I_DI( int to double int ) :整数转双整数
70、ROUND( Round 取整 ) : 实数转双整数
71、TRUNC( Trunc 截取 ) :转换32位实数整数部分(舍去小数取整)
72、DI_I(double int to int ) :双整数转实数
73、ENCO( Encode 编码) : 编码
74、DECO( Decode 译码) :译码
75、SEG( Segment decoder分断译码器 ) : 七段显示译码器
76、ATH( ASCII码 turn hex ) : ASCII码转16进制
77、HTA(Hexadecimal toascii) : 16进制转ASCII码
78、ITA( // int to ascii) : 整数转ASCII码
79、DTA( // double int to ascii ) : 双整转ASCII码
80、RTA( // real to ascii) : 实数转ASCII码
81、ATCH(//attach ) : 中断连接
82、DTCH( Depatch ) : 中断分离
83、HDEF( High speed counter definition ) : 高速计数器定义
84、HSC( High Speed Counter 高速计数器 ) :启动高速计数器
85、PLS( Pulse 脉冲 ) :脉冲输出
86、READ_ RTC( Read real time clock 读实时时钟 ) :读实时时钟
87、SET_RTC( Set real time clock ) : 写实时时钟
88、XMT( Transmitter ) : 自由发送
89、RCV( Receive 接收 ) : 自由接收
90、NETR( Net read 网络读 ) : 网络读
91、NETW( Net write 网络写 ) : 网络写
92、GET_ADDR( Get address 获取地址 ) : 获取口地址
93、SET_ADDR( Set address 设置地址 ) : 设定口地址
94、PID( Proportional Integral Differential 比例、积分、微分 ) :比例积分微分调节器。
——END——
相关问答
西门子plc程序控制指令?
关于这个问题,以下是一些常见的西门子PLC程序控制指令:1.LD:加载指令,将一个变量或者寄存器的值加载到一个寄存器中。2.AND:逻辑与指令,将两个逻辑值进...
Plc的常用参数及其含义?
1、输入/输出点数。输入输出点数是PLC组成控制系统时所能接入的输入输出信号的最大数量,表示PLC组成系统时可能最大的规模。这里有个问题要注意,在总的点数中...
PLC是如何处理模拟量的?
可编程序控制器PLC是以微处理器为基础的通用工业控制装置。早期的PLC是以开关量控制而设计的,而现在的PLC已经具备模拟量处理功能,相比开关量而言模拟量处理确...
欧姆龙PLC编程指令与梯形图快速入门的目录?
去京东上搜索这本书,然后下边的商品介绍中就有这本书的目录的。京东上给出的本书的目录如下:第1章PLC编程软件与仿真软件1.1编程软件CX-Programmer1.1...3...
比例放大器在比例阀上起什么作用,如何用PLC控制(PLC为西门子S7-200)?
比例放大器---通过输出0-680Ma的电流控制比例阀的线圈实现开度控制实现调节流量和压力PLC需要购买EM232输出0-10V来控制比例放大器对应0-680MaPLC如编程输出数...
如何用PLC计算速度?
如何用PLC计算速度,这个速度不知道是什么速度,如果你是想要计算出电机的当前转速,可以有很多办法,有直接测量和间接测量的方式。间接测量的额方式一般是通过...
台达plc中的SCLPD110D10D200是什么意思?
D10-D13为参数设置,分别对应设置数据来源最大值,数据来源最小值,目地数值最大值,目地数值最小值,参数设置好,执行SCLP指令,经过比例运算,把数据来源值按...D1...
PLC量程转换?
程序当中倒是可以做这个转换,以你的变送器输出4-20mA为例,4mA对应0.8,对应到PLC内部数字量为6400。20mA对应8,PLC中对应32000。所以你可以在程序中给变送器的...
【西门子300PLC中PID的P比例倍数是怎么算出来的微分积分的含...
[最佳回答]这个没有具体去计算的,都是根据实际经验和实际调节过程中慢慢摸索出来的数值。百度上关于PID的文章很多,建议去看看这个没有具体去计算的,都是根据...
三菱PLCfx3u通信控制多台变频器能实现比例联动吗?
如果有两个通信口的话,是可以实现的。譬如三菱的FX3U,可以使用自带的编程口和变频器使用专用指令通信,然后再扩展一个485的扩展信号板,用Modbus协议和流量计...