实例讲解|教你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需要使用模拟量?
数字量
数字量是物理量的一种。它们的变化在时间上是不连续的,总是发生在一系列离散的瞬间。这一类物理量叫做 数字量。也就是离散量,指得是分散开来的、不存在中间值的量。
模拟量
模拟量是指变量在一定范围连续变化的量;也就是在一定范围(定义域)内可以取任意值(在值域内)。
数字量是分立量,而不是连续变化量,只能取几个分立值,如二进制数字变量只能取两个值。
那么对于实际的工业应用而言,数字量和模拟量都是必不可少的。
因为在工厂的自动化控制中,我们需要对温度,压力,液位,深度等等数据进行监控并控制。
比如说一个锅炉的控制,我们需要水烧到一定温度,一般来说该温度是可调的,比如说50摄氏度,或者70摄氏度,而数字量则不能满足这些条件。
再举个例子,一些化工企业需要测量液体的酸碱度,那么酸碱度不可以用数字量的0或者1表示,只能使用模拟量,PH6.5,PH7.0等等才可以清晰的描绘出实际的数据。
那么学习模拟量其实应该学习两部分内容;
一硬件;
硬件包括选型和接线,选型就是针对不同的工况选择不同的模拟量以及PLC,比如说模拟量使用0-10V,4-20ma还是0-20ma还是特殊的热电偶信号等等。
其次就是接线,大家不要小瞧了接线,针对不同的PLC有不同的接线方法。
对于西门子S7-300系列来说,我们需要使用拓展模块,打开西门子STEP7,徐楠则合适的PLC和模拟量模块,并将模块添加进去。
对于PLC而言,每一个模拟量都有一个固定的地址,这个地址是可以在程序中进行识别并计算的,续智能则合适的地址并添加进去。
根据现场设备,选择合适的量程,如果是测量温度的话需要使用特定的温度模块,并选择合适的温度信号。对于温度的控制,我们以前文章有介绍过,需要的朋友可以去寻找。
对于电压信号,有多种可选类型,可根据实际设备的信号类型进行选择。比如说-10V—10V,-5V—5V,-1V—1V,1-5V。
当然,西门子系列的模拟量拓展模块有很多,除了文中所用到的,还有很多其他的电压信号应用在不同领域。如下图所示。
对于电流信号则分为二线制和四线制,需要按照实际仪表去选择。
如上图所示,选择好模拟量输入类型后需要将硬件的量程卡也切换到相应的位置。
记得拆模块前先断电,调整完以后上电并下载硬件组态。
而对于其他的PLC而言就没有更换量程卡这一步骤,只需要将线直接接到PLC模拟量输入模块即可。
二软件编程;
对于初学PLC编程的人来说,模拟量输入、输出模块的编程要比用位变量进行一般的程序控制难的多,因为它不仅仅是程序编程,而且还涉及到模拟量的转换公式推导与使用的问题。不同的传感变送器,通过不同的模拟量输入输出模块进行转换,其转换公式是不一样的,如果选用的转换公式不对,编出的程序肯定是错误的。
其实对于PLC而言,它可以接受的都是-32767-32767数据,我们需要对这个数据转换成为我们需要的实际数据。
我做了一张图去区分电流和电压信号的区分。
它的意思是将模拟量通道为304的数据转化为量程是0-500的实际数据,并将数据赋给MW104.
模拟量输出则相反,将数据从MW104转化为0-100%的模拟量数据,比如说如果外部信号PQW320是0-10V,则对应0V-10V。
改图是模拟量输出的表达形式,大家可以保存下来。方便查找。
最后给大家一个简单的实例讲解;
这时一个不太复杂的加料程序中的一部分,程序很容易理解,是一个在大料仓里面的雷达料位机,该项目中雷达料位计的特点是可以检测0.5-10米的原料料位,因为生产的原因该料仓需要保证一直有原料。
所以我们需要在该料仓低于大概2米的时候进行补料以保证该料仓的原料充足,并且在达到9米的时候停止避免原料堆积到外面。
好了,模拟量输入输出你看懂了吗?
更多好文章请关注我的头条号!
相关问答
信捷plc编程后怎么模拟?
要模拟信捷PLC编程,您可以使用相应的模拟软件或仿真器来模拟PLC的运行。下面是一些一般性的步骤和建议:1.下载并安装信捷PLC的仿真软件或仿真器。这些软件通...
PLC模拟量程序怎么写?
模拟量输入:使用MOV指令,输入为AIW0或AIW6(看你PLC是否自带模拟量输入),输出为VW0,模拟量输出:使用MOV指令,输出为VW2,输出为AQW0或AQW6(看你PLC是否自...模.....
plc模拟量编程实例详解?
给大伙分享的是关于西门子S7-300PLC模拟量方面的实例,包含了以下几个方面的要点:1、对变送器进行取值,并进行控制2、对模数功能块FC105进行调用3、对AI...
plc模拟量输出编程步骤?
PLC模拟量输出编程步骤如下:1.确认模拟量输出模块:首先需要确认PLC中使用的模拟量输出模块的型号和参数,包括输出通道数、输出电压范围、精度等。2.配置模...
PLC模拟量的编程?
PLC(ProgrammableLogicController,可编程逻辑控制器)的模拟量编程主要涉及以下几个方面:1.确定信号类型和传感器:在PLC编程中,应该确定使用哪种类型...
300PLC怎样编写模拟量输入程序?
300PLC编写模拟量输入程序的步骤如下:1.确定模拟量输入口的地址:通过PLC的接口板确定模拟量输入口的地址,一般为AI1、AI2、AI3等。2.配置硬件参数:根据实...
信捷PLC如何在线模拟?
[回答]不支持在线模拟你看看他软件多大啊只能灌倒pLC里面实验。我也用了很多信捷的PLC,没有你说的那么烂吧,只不过他的一些资料介绍的太简单了,好多指...
三菱PLC如何编写程序?
三菱PLC编程软件模拟运行步骤如下:1、首先,我们需要在开始菜单中打开三菱PLC编程软件GXDeveloper:2、然后,需要从工程菜单中创建新工程,并选择使用plc的...
海为plc模拟量编程实例?
以下是一个简单的PLC模拟量编程实例,该例程使用海为(Haiwell)PLC编程软件工具(如HaiwellHMIStudio)进行编写:1.首先,创建一个新的PLC项目,并选择合适的...
西门子plc模拟量输出库怎么编程?
西门子PLC模拟量输出库允许用户控制和读取模拟量信号。要进行编程,需要使用以下步骤:创建一个变量来存储模拟量输出值。在输出块中选择模拟量输出库功能块...