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的M究竟是什么,今天就来认识它
最近几天有某工友表示PLC编程中不用M和T。我发现大家有些观点有误,这段时间比较忙,但忍了很久,实在忍不住了,抽半天时间写篇文章。用不用先不说,首先得知道M和T究竟是什么?T有点特殊,先不谈,把M搞清楚了T就容易搞清楚。如果学过单片机或计算机原理或嵌入式等硬件课程的就不用看了,因为这是非常基础的概念,我今天不用电子技术的语言来说,所以语言会不太严谨,主要目的是用通俗易懂的语言让搞PLC的人听懂,请工友们手下留情不要把我脸打肿了。先说说我接触编程的过程,我是学硬件的,编程最先学的是51单片机和X86汇编,然后学C/C++,最后才学的PLC,编程掌握不好,即使到今天我也无法准确阐述什么是面向对象!先自己打脸,但这不影响我用PLC做项目。其实PLC是最像单片机的,完全就是单片机的硬件升级软件简化版本,扯远了!下图是西门子S7-200手册里关于存储器结构的介绍。左边这个RAM就是今天的主角。
下图是对数据存储器的定义:
下图来看数据存储区究竟有些啥,请注意看M区:
看了上图可能明白了,M存储区在数据存储区,数据存储区又在RAM中。RMA长啥样?
下图左上那个蜈蚣状的CY62256就是西门子S7-222CPU的RAM。
就是块集成电路,我还是看不懂!那就“拆”开给你看。下图就是内部结构:
没错,它就是一堆“房间”,32k字节。S7-222CPU使用了2k字节的存储空间,不管你是M还是T还是C,还是V,通通都在这里面。
那么如何在这一堆房间里访问找到我需要的那个她呢?看上图中A0---A14,这就是地址线,就是访问这些房间的地址,通过这些房间就能访问M、T、C、V等等。
那么M和V有什么区别吗?半毛区别都没有!除了把M区放到MCU高速缓存中的PLC结构,像西门子S7-200系列这样的都是放到一个存储芯片中的。
文章开头说过,T跟M还有点不一样。对的,因为有些PLC的有些T是由硬件产生的,那就是集成在MCU里的硬件定时器,比如西门子S7-300就有硬件定时器。那么C呢?C也有硬件计数器和软件计数器之分,硬件计数器同样是由集成在MCU里的硬件来完成的。当然,PLC已经做好了,把这些硬件T、C的数据都映射(复制)到RAM里了,我们直接访问RAM就可以了,不用关系那些硬件T和C。当然,如果你喜欢,PLC也是有指令让你能够直接访问这些硬件计数器的,比如台达就可以直接去读硬件计数器的当前值。
说了这么多如何证明M和V都是在一个芯片里呢?
那就是PLC提供了绝对地址访问功能,比如寄存器寻址,一个数据寄存器里存放的数据是一个地址数据,对的这个地址数据就是绝对地址,就是上图A0-----A14这个地址。再来看看国货之光汇川的PLC对存储空间的定义,下图:
这个就更清晰了,M和D有区别吗?半毛区别都没有!其实还是有区别的,唯一的区别就是M区能让我们很方便地进行位寻址。
那么不用M可以吗?当然可以!不过,既然M和D(V)没有区别,我们为什么不用?我也不知道!那么某工友说的所谓标准化编程究竟是什么呢?我没买过他的资料,厂家的手册难道不香吗?
从他的描述中,我的理解是,哪里是不用什么M、T,估计他宣扬的只是全部用局部变量,不用全局变量,这样程序在进行移植的时候不用关心存储空间的分配,直接交给编程软件的编译系统来完成。M也可以定义为局部变量呀!为什么不可以用?因为有些使用通用MCU的PLC,位寻址能力很弱,位寻址的时间比字寻址时间还长!
那么如何做到不用M呢?
很简单,你把V(D)数据地址当成一个M来使用就可以了。但大厂PLC使用的CUP都是自己设计的,保留了很强的位寻址和操纵能力。那么放弃使用M和T有实际意义吗?只要大厂还提供直接的位寻址和操纵能力,就没有必要放弃!特别是梯形图,天生的就非常适合位寻址,用M的编程方式。这么香干吗要放弃!
相关问答
plc中v是什么?
V”所指的是电压单位—伏特。电压(voltage),也称作电势差或电位差,是衡量单位电荷在静电场中由于电势不同所产生的能量差的物理量。其大小等于单位正电荷因...
西门子plc中VB,VW,VD的含义和怎么使用,这些地址选用有什么标准?
这些是V寄存器中不同数据类型表示方法:VBbyte型,VWword型,VDdoubleword型,使用时按你的需要选择。例如VB0,VB1……或者VW0,VW2……或者VD0,VD4,VD8…...
西门子plc中VB、VW、VD的含义和使用?
你说的这几个首先都是西门子200和samrt系列中的变量!V区是CPU中的变量存储区,它和M区一样被经常使用,但是V区的存储空间远远大于M区!VB是代表V区的一个字节...
plc中v区应该怎么用?
西门子plc常用编程软元件的功能及使用方法如下。1.变量寄存器(V)变量存储区存储具有较大容量的变量寄存器,用于存储程序执行过程中控制逻辑的中间结果,或用...
汇川plc输入输出是多少v?
汇川plc输入输出是24v的。输入输出一般几乎都是这个电压。因为脉冲输出点主要是晶闸管输出,常用的电压就是直流24v。汇川plc输入输出是24v的。输入输出一般几...
plc编程属于低压还是高压?
PLC编程属于低压范畴。PLC(可编程逻辑控制器)是一种用于自动化控制系统的数字电路设备。它的输入、输出信号通常在直流24V以下的范围内进行采集和控制。因此...
西门子plc中VB、VW、VD的含义和怎么使用,这些地址选用有什么标准?
当位V200.7接通vw208=1004时PLC进行下列运算。1.将2放入VB301中2.在VD302上建立一个指针,指针指向&VB101开始的地址3.将2放入VB306中4.将0放入...
plc模拟量怎么设电压?
PLC控制电压:plc的模拟量输出,0~10V等,通过PLC(西门子)的模拟量输出0~~32000对应0~~10V。PLC可编程逻辑控制器,它采用一类可编程的存储器,用于其内部存储程...
plc怎么区分多少v?
1.PLC可以通过模拟输入模块来区分不同电压值。2.模拟输入模块可以将不同电压值转换成数字信号,PLC可以通过读取这些数字信号来区分不同电压值。3.PLC还可以...
PLCL区和V区的区别?
您好,PLC(可编程逻辑控制器)是一种用于自动化控制的电子设备,它能够对输入信号进行逻辑运算,并根据预先设定的程序控制输出信号。PLC通常具有多个输入和输出...