课程中心
HOME
课程中心
正文内容
plc编程t代表 PLC的M究竟是什么,今天就来认识它
发布时间 : 2024-10-10
作者 : 小编
访问数量 : 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,T形图

来自网络

左图是一个梯形图,右图是指令的表示。梯形图语言沿用继电器控制电路的形式,梯形图是在常用的继电器与接触器逻辑控制基础上简化了符号演变而来的,具有形象、直观、实用等特点。

梯形图左边的这条竖线叫做左母线,右母线可以不表示。你可以这样理解 左母线就是正极 右母线是负极,这样就形成回路。

该梯形图有三个梯级,每一步叫做一个梯级。

梯形图第一个梯级:左边第一个触点为常开触点,X000中X表示输入继电器X编号是第000的触点。Y000中Y表示输出继电器Y编号是第000的线圈。为输出继电器。OUT(输出指令) 对线圈进行驱动的指令,也称为输出指令。OUT不能出现在左母线第一位。

当X000常开闭合,OUT Y000线圈输出信号,线圈将驱动其相应的触点而接通外部负载(外部负载如接触器、 中间继电器等)

步序号第0步,LD表示逻辑运算开始。LD(取指令) 常开触点逻辑运算起始指令。与左母线连接。

第二梯级,左边第一个触点为常闭触点,T0中T表示定时器,0表示定时器编号第0的触点。其指令的正确表示为LDI T0

LDI(取反指令) 常闭触点逻辑运算起始指令。与左母线相连。

第三梯级,左边第一个为常闭触点,M0为辅助继电器,指令正确表达,LDI M0,第二行第一个为常开触点Y000,这里Y表示输出继电器,与Y001触点形成串联关系,形成了电路“块”。(两个或两个以上的触点串联或并联,叫做电路块)

OUT T0 K40 为定时器驱动线圈指令, 其中的K为常数,40为设定值(OUT指令驱动定时器(T)、计数器(C)时,必须设置常数K或数据寄存器值。)

相关问答

编程PLC时,X.Y.M.T.C.S各代表的是什么?

按照一般PLC的规则理解,以上标志均出现在位操作指令中:X:输入接点,有的PLC用"I"标志;Y:输出接点,也可指输出线圈,有的PLC用"Q"标志;M:内...

plc中T1是什么意思?

在PLC中,T1表示延时器1。在PLC中,延时器1(T1)是一种特殊的定时器,它的作用是在输入信号到达后延迟一段时间,再触发相应的输出信号。T1通常用于控制电机、灯...

谁能告诉我LS的PLC上面RX、TX、SG、FG分别是什么端,怎么接?

是PLC的RS232通信口的4根线,RX接受数据,TX发送数据,SG信号地,FG工作地。是PLC的RS232通信口的4根线,RX接受数据,TX发送数据,SG信号地,FG工作地。

plc各个代码意思?

不同商家的PLC有不同的编程语言,但就某个商家而言,PLC的编程语言也就那么几种,下面以PLC编程语言为例,简单描述下一、指令系统:按照使用的情况分,大致分为...

PLC的“字”和“位”是什么意思?

它只占用地址一位,表示方法是V0.0;M0.0;I0.0等。VB是字节数据地址,也就是小于255的8位二进制数或大于-126的整数。PLC编程语言符合IEC61131标准。其中比...

三菱PLC里的字母代表什么比如?

三菱PLC的字母是一些指令与助记符。比如,X是输入继电器,Y是输出继电器,T是定时器,C是计数器等等。而助记符指的是MOV、ADD、OUT、LD、LDI等。MOV是传送指...

西门子PLC中的IB、QB、VB、MB、SMB、SB、LB、AC各代表什么意思啊?特别是AC可以存储什么样的数据?

IB、QB、VB、MB、SMB、SB、LB、AC这些都是变量名,以BIT为单位的。比如IB1也就是IB1.0-IB0.7包括这8个位变量。I是输入,Q是输出,SM是特殊存储器,回V变量,M内...

plc梯形图xy是什么?

X是plc中的输入,y是输出,m是辅助继电器,s是状态继电器(不是用在步进指令的时候s和m的用法相同),t是计时器,c是计数器。相同I/O点数的系统,用PLC控制器比...X...

plc编程方框p是什么?

plc(P)是指边沿检测脉冲指令。指令作用:LDP(取脉冲上升沿)是上升沿检测运算开始指令,LDF(取脉冲下降沿)是下降沿脉冲运算开始指令,ANDP(与脉冲上升沿...plc(...

FX2N系列可编程控制器辅助继电器用T表示对吗?

是的,FX2N系列可编程控制器中的辅助继电器通常用字母"T"来表示。例如,T1代表辅助继电器1,T2代表辅助继电器2,依此类推。这种命名方式是常见的在PLC编程中使用...

 沃尔沃客车怎么样  淋膜机 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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