研选课堂
HOME
研选课堂
正文内容
plc编程线干什么用的 PLC的M究竟是什么,今天就来认识它
发布时间 : 2025-05-03
作者 : 小编
访问数量 : 23
扫码分享至微信

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中专用RTDTC模块读入温度值时都存有一个10倍的关系吗?

在人们的日常生活中,温度是一个避不开的概念,PLC就是为人们的生产活动提供便利而被制造出来的,因此很多PLC都提供了专门的温度模块来方便大家接入热电阻和热电偶信号。像我自己经常遇到的就是PT100,CU50等这样的热电阻型温度传感器,还有一些温度范围更高的热电偶传感器,这些信号可以经过温度变送器直接转换为4-20mA的电流信号,去被PLC采集,也可以使用专门的PLC模块直接接入热电偶或者热电阻信号!4-20mA的标准电流信号,读入PLC中的方法,我在前边的文章中也简单的说了一些,而且很常见,所以本文讨论的是PLC中热电阻和热电偶专用模块数据读入的问题。

上边我说的PT100和CU50,是两种材料的热电阻产品,PT就是铂的化学元素符号,CU就是铜的化学元素符号。PT100就是0度的时候电阻值是100Ω,我自己都经常记混觉得100°的时候电阻值是0Ω,这是错的,热电阻叫热电阻,就是为了更直观,所以PT100这个100就是电阻值。PT100的电阻值和温度之间有一个计算公式,有兴趣的小伙伴可以自己去研究一下。我这里要说的是PT100的电阻值和温度之间不是一个线性关系,0°时电阻100Ω,10°时103.9Ω,20度时107.79欧姆。我前边的文章说模拟量转换的时候PLC侧和传感器侧为了方便快速的计算出来,要求两边都是直线线性的,这里PT100的温度促使电阻值变化,显然是没有办法做成直线线性了,因此才需要温度变送器或者PLC的特殊温度模块来采集这些信号。

下边就来看一下几种PLC中温度模块中温度和数值之间的关系,大家应该能看出一个明显的特点。

首先来看一下三菱PLC中FX2N中的温度模块,温度和数据关系:

FX2N-PT100温度数据

这个图是FX2N的PT温度模块读取PT100热电阻时的数据。从这个图可以看到温度是600°C的时候,这个模块输出给CPU的数值是6000;温度为-100°C时,输出的数值是-1000,也就是说这个模块将PT100热电阻接入后,得到的数据和实际温度之间有一个10倍关系,即温度值的10倍就是PLC读入的数据。

FX2N-TC温度数据

这个图是FX2N的TC温度模块读取两种分度号热电偶时的数据。在此多说一点,在电路图上,热电阻的表示是RTD,热电偶的表示是TC。

从这个图可以看到J分度的热电偶检测到的温度是600°C的时候,这个模块输出给CPU的数值是6000;当K分度的热电偶检测到的温度是1200°C的时候,这个模块输出给CPU的数值是12000。也就是说这个模块将两种分度的热电偶接入后,得到的数据和实际温度之间也有一个10倍关系,即温度值的10倍就是PLC读入的数据。

三菱的是如此,那其他的PLC中又是怎样的呢?

来看一下台达PLC的:

台达30EX2PLC读取热电阻信号

这个图是说30EX2机型的PLC是支持PT100/PT1000/NI100/NI1000的热电阻信号接入的,可以看到温度-180°C-+800°C对应的数值是-1800-+8000,由此可见这里也有一个10倍的关系。

所以说PLC中专用的PT100模块,通常都存在一个10倍的关系,即PLC读到的值直接除以10,就是实际的温度值了,这里也相当于完成了一次工程量和模拟量的转化,这里就直接除以10,不像之前所说的高限低限去套用那个公式来计算,这里的计算简单多了。--注意,我这里是说通常都有一个10倍关系,大家使用的时候要仔细看模块手册,才能确保正确。

下边来看一下西门子PLC中的情况,就知道并不是全部都是10倍关系的。

西门子331模块中对比接线方式对测量值的影响图

这个图片是说4线制标准PT100接入SM331模块中测量值是最好的,我在此是需要它的数据,温度17.0°C,读出的模拟值是16#00AA,这个16#AA就是170,所以西门子中PT100接入的时候也是存在这个10倍关系的。

西门子中选择热电阻下边有几个选项

上边那个图片说的就是标准型的,所以此图提到气候范围,在西门子的资料中应该叫做气候型的传感器。看一下这2个气候型的传感器的数据关系吧:

气候型热电阻铂和镍温度和读值关系

左边这个图可以看做是PT100气候型的关系表,130.00°C的时候读数是13000;右边的图可以看做是NI100气候型的关系表,250.00°C的时候读数是25000。从这个图片可以看出,热电阻传感器被热电阻模块读取的时候,还是存在100倍关系的温度和读值关系的。

上边主要是说了热电阻在转换时候温度和模块读入值之间有10倍关系和100倍关系,使用的时候需要大家特别注意,一定要查询手册,才能保证数据的正确性。另外,多说一句我看到的西门子300的资料中,关于热电偶信号的转换都是10倍关系,当然我说我看到的是10倍关系,不代表全部一定就是。

文章写到此也就结束了,可以得出一个大方向上的概念,就是热电阻和热电偶信号在没有使用温度变送模块转换为标准的4-20mA应用场景的时候,多是采用专用的PLC信号模块,来直接读取热电阻和热电偶的温度值,读入PLC中的数值和实际的温度值之间,不管是热电偶还是热电阻,多数情况都存在一个10倍的关系,特殊情况如西门子气候型就还有100倍的关系,就当做一个小常识分享给大家。但是,还是要切记一切要以硬件手册的表述为准!

感谢阅读,如果觉得本文对您有帮助,请关注+收藏!如果有问题请关注+留言,我也会及时回复,谢谢!

相关问答

plc编程线主要用于什么设备?

PLC是以自动控制技术、微计算机技术、和通信技术为基础发展起来的新一代工业控制装置,随着微处理器技术的发展,PLC得到了迅速的发展,也得到了越来越多的应用。...

plc编程电缆为什么要装驱动,这样有什么作用?

编程电缆有很多种,有的只是一根线(比如网线、串口线),这时候一般不需要驱动,即使要,也是为了识别另外一端的设备。有的编程电缆带有协议转换功能,有的是要...

plc数据线与plc编程线缆有什么区别?

PLC编程线缆专指PLC和电脑的连接线,因为通信端口和通信协议的要求,此线缆有特殊性。PLC数据线一般指PLC和设备包括触摸屏等的链接线,像西门西PLC和西门子触摸...

PLC编程是干什么的?

PLC编程是针对可编程逻辑控制器(ProgrammableLogicController,简称PLC)进行的程序设计和编写。PLC编程旨在通过编写特定的程序代码,使PLC能够自动化地控制...

plc为什么要编程?

不同PLC有不同的控制能力。PLC也可以说是用单片机开发的,只是所有的外围电路都是被开发好了。性能上,PLC满足各种工业环境中的要求,像电...PLC有运动控制功...

三菱PLC编程线驱动?

1.下载安装驱动精灵双击快捷方式2.驱动精灵就会开始检查,如果有的驱动没有装,它会弹出对话框提醒是否要安装3.检查好点击立即解决.4.选择想要的更新的驱动...

三菱plc编程口针脚定义?

1.三菱PLC编程口针脚定义是已经明确的。2.三菱PLC编程口针脚定义是根据PLC的硬件设计和功能需求而制定的,每个针脚都有其特定的作用和功能。3.如果需要更加...

PLC为什么要用MOV指令进行数据传送?

上面的朋友们说的都很好,我来总结一下吧。三菱编程中,MOV是传送指令,MOVAB,就是把A中的值赋给B。其中,A,B可以是常数(K开头)、存放在数据寄存器中的...上...

请问PLC的编程电缆和通讯线是一样的吗?

通讯电缆是泛指,比如与PC通讯,与PC上的编程软件通讯,与其他PLC通讯,与伺服,变频器通讯都叫做通信电缆。而编程电缆是特指,特指定为PLC与编程器之间的通信电...

plc怎么通过网线连接电脑?

不需要网线,将s7-200这个plc用串口线连接电脑的串口即可,如果没有串口的,可以购买usb转rs232的转换器连接。然后电脑上安装200plc编程软件,就能连接了。建议...

 codol  红楼之黛玉之弟 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部