实例讲解|教你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 ,这点容易被读者忽略。
(来源:网络,版权归原作者所有)
施耐德M221M200M100系列PLC模拟量功能块(附源程序下载)
施耐德M221/M200/M100系列PLC采用EcoStruxure机器专家基础版软件:MachineExpertBasic_V1.2编写程序。
(1)配置应用程序保护
打开MachineExpertBasic编程软件,显示如下:
读保护和写保护都选择:“未激活”,再选择“应用”按钮。
(2)选择CPU和模拟量模块
选择主菜单“配置”
把TM200C16R拖到CPU位置
选择是。再把“TM3 Analog I/O Modules”下的TM3AM6/G拖到CPU后面。
(3)配置TM3AM6/G数据
选择:IO总线-模块1(TM3AM6/G)-模拟量输入
* 点击类型一未使用 一4-20MA,四个通道都选择4-20MA。把最小值由4000改成0,把最大值由20000改成5000。如下所示:
* 选择:IO总线-模块1(TM3AM6/G)-模拟量输出,弹出:
选择是。点击类型一未使用 一4-20MA,四个通道都选择4-20MA。把最小值由4000改成0,把最大值由20000改成5000。
(4)新建AI功能块
* 选择主菜单中的“编程”,在“用户定义功能块”右击“添加用户定义功能块”,在1“-UDFB1_”右击“重命名用户定义功能块”修改成“AI”。
* 按一下“添加参数或局部变量”左侧加按钮,添加四个FLOAT类型参数和一个FLOAT局部变量。
* 在“添加本地功能块”选择“定时器”,添加一个定时器。
* Rung0增加一段程序
* Rung1增加一段程序
(5)新建AO功能块
具体方法参数AI功能块。
(6)创建AI转换POU
选择功能块 一 UD一 AI,增加AI0功能块。
(7)创建AO转换POU
选择功能块 一 UD一 AO,增加AO0功能块。
程序编写完成后,点击编译。
(8)离线仿真(以模拟量输出为例)
* 主菜单 一 试运行 一 启动模拟器 一 启动控制器 一 确定。
* 在模拟量输出0参数程序段中,%MF50(输入实时值)设成50,%MF52(输入最大值)设成100,计算出模拟量输出%QW1.0等于2500。
* 在模拟量输出1参数程序段中,%MF60(输入实时值)设成100,%MF52(输入最大值)设成1000,计算出模拟量输出%QW1.0等于500。
注意:每个功能块只能调用32次。
(9)参考资料
* 施耐德官网一支持一产品视频一工业机械自动化控制器(PLC)一EcoStruxure Machine Expert Basic。
* 编程软件下载地址:施耐德官网一产品一工业自动化一可编程逻辑控制器一Modicon M200可编程控制器一软件和固件。
源程序下载
下载地址:
链接:
https://pan.baidu.com/s/1sS48SI2uPyvQuvxrgnTcFg 加入剑指工控技术群,联系各群群管理员获得提取码。
相关问答
PLC模拟量程序怎么写?
模拟量输入:使用MOV指令,输入为AIW0或AIW6(看你PLC是否自带模拟量输入),输出为VW0,模拟量输出:使用MOV指令,输出为VW2,输出为AQW0或AQW6(看你PLC是否自...模.....
s7200模拟量输入编程实例?
以下是一个S7-200PLC模拟量输入的简单编程示例:假设我们有一个模拟量输入模块(如EM231),连接到S7-200PLC的第一个模拟量输入通道,要将输入的模拟量信号读...
海为plc模拟量程序怎么写?
海为PLC模拟量程序编写:使用LD指令创建梯形图程序,并根据实际应用设置模拟量模块的通道、量程和滤波器参数。对于输入模拟量,使用RTO指令读取通道值并将其映...
求一些欧姆龙PLC模拟量编程实例?
欧姆龙PLC的模拟量编程实例可以根据具体的需求来设计。以下是几个常见的实例,仅供参考:模拟量采集:通过PLC模拟量输入模块采集温度、湿度等传感器信号,并进...
plc模拟量如何编程求实例?
编程PLC模拟量需要使用模拟量输入和输出模块。首先,配置输入模块并将其连接到传感器。然后,在PLC编程软件中创建一个模拟量输入变量,并将其与输入模块的通道...
汇川plc模拟量编程实例?
以下是一个汇川PLC模拟量编程的示例:假设我们要实现一个简单的温度控制系统,通过模拟量输入读取温度信号,并通过模拟量输出控制加热器的工作。1.配置硬件:...
plc模拟量编程实例详解?
给大伙分享的是关于西门子S7-300PLC模拟量方面的实例,包含了以下几个方面的要点:1、对变送器进行取值,并进行控制2、对模数功能块FC105进行调用3、对AI...
欧姆龙PLC模拟量编程实例?
1.使用ST结构编写一个简单的PLC模拟量程序,实现当模拟量A的值大于50时,将模拟量B的值设置为100。LD0,A//将模拟量A的值加载到寄存器0MOVD,0//将寄存...
1500plc模拟量编程实例详解?
1.使用ST结构编写一个简单的PLC模拟量程序,实现当模拟量A的值大于50时,将模拟量B的值设置为100。LD0,A//将模拟量A的值加载到寄存器0MOVD,0//将寄存...
西门子1200模拟量输出编程实例?
西门子1200模拟量输出的编程实例:在编程软件中添加模拟量模块,并配置模块类型和输入/输出信号的范围。在程序中通过指定模拟量输入/输出的地址,实现对模拟量...