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的编程方式。这么香干吗要放弃!
工控中最常见的7种PLC编程语言,据说精通5种以上就可以月薪过万
plc编程软件有哪些?1、欧姆龙plc编程软件
欧姆龙plc编程软件集成了CX-Programmer V9.5,能够为欧姆龙PLC编程提供全面的软件支持,本版本为最新版,全面支持32/64位WIN8系统,为多国语言版,支持简体中文。能为网络、可编程终端及伺服系统、电子温度控制等进行设置。适用于已具有电气系统知识(电气工程师或等同者)的负责安装FA系统者、负责设计FA系统者和负责管理和维护FA系统者使用。
2、三菱PLC编程软件
三菱PLC编程软件适用于Q、QnU、QS、QnA、AnS、AnA、FX等全系列可编程控制器。三菱PLC编程软件GX Developer定位为可编程控制器综合开发平台,支持梯形图、指令表、SFC、 ST及FB、Label语言程序设计,网络参数设定,可进行程序的线上更改、监控及调试,具有异地读写PLC程序功能。三菱公司目前最新PLC编程软件。
3、西门子step7
STEP7是西门子的最经典的编程软件,其中对应着西门子S7-300/400系列,属于西门子旧款PLC的代表作。STEP 7具有以下功能:硬件配置和参数设置、通讯组态、编程、测试、启动和维护、文件建档、运行和诊断功能等。STEP 7的所有功能均有大量的在线帮助,用鼠标打开或选中某一对象,按F1可以得到该对象的相关帮助。
在STEP 7中,用项目来管理一个自动化系统的硬件和软件。STEP 7用SIMATIC管理器对项目进行集中管理,它可以方便地浏览SIMATIC S7、M7、C7和WinAC的数据。实现STEP 7各种功能所需的SIMATIC软件工具都集成在STEP 7中。
4、西门子博途
TIA博途是全集成自动化软件TIA portal的简称,是西门子工业自动化集团发布的一款全新的全集成自动化软件。它是业内首个采用统一的工程组态和软件项目环境的自动化软件,几乎适用于所有自动化任务。借助该全新的工程技术软件平台,用户能够快速、直观地开发和调试自动化系统。
5施耐德编程软件
Unity Pro XL是施耐德电气自动化的核心产品,它是新一代软硬件自动化平台。其全新的独创设计缩短了开发时间,处理器的灵活性可以实现更高的性能。基于开放性以及对工具的协同式应用,Unity 在软件开发和控制系统运行上达到了更高水平,它将生产率的提高放在首位。
6、松下plc编程软件
松下FP系列PLC编程软件FPWIN GR 是一款功能强大,好用的系统编程软件。下载后压缩包说明内有序列号,已测试能用。安装包括MEWNET-H链接系统时所需要的软件,用于各种智能模块的设定软件,编程手册,本文件为说明PLC指令的PDF格式文件。
7、Delta WPLSoft台达PLC编程软件
台达PLC编程软件WPLSoft 最新版,在没有真实PLC的情况下,在电脑上模拟运行PLC程序的执行情况。先点仿真,在点那个梯形图监控。就可以右击控制一些量的状态。实现仿真。注意要和PLC连接起来。
启动仿真器之后不必选择通讯接口即可进行监控、上下载程序等通讯功能,操作方式与实际连接PLC相同。仿真器支持定时器及计数器,但定时器与计数器的运行时间会依用户计算机执行效率不同而有所不同。定时器处理方式与DVP-ES/SA系列PLC的动作相同。
相关问答
plc中的i是什么意思?
plc中的i是输入继电器意思。输入继电器通常有与之对应的PLC输入端子,用于接收外部开关信号。当外部开关信号闭合时,输入继电器的线圈通电,其常开触点闭合,其...
plc输入按钮要留电吗?
要,参考可编程逻辑控制器:首先在输入采样阶段,可编程逻辑控制器以扫描方式依次地读入所有输入状态和数据,并将它们存入I/O映象区中的相应的单元内。输入采样...
PLC的常数是什么意思?
PLC的常数就是我们在编程的时候就设定好的,以后在运行的过程中不会改变的数,象我们设定某个计时器的时间为10s,那么10就是常数,相对常数就是变量,变量是可以...
plc电池没电程序会丢失吗?
1cpu有的带ROM,也就是存储卡的,这样掉电,储存卡的程序不会丢失。2CPU的一些临时数据存放在内存里也就是RAM,这部分的数据维持有的需要电池,有的是利用PLC...
plc常开点和常闭点工作原理?
"PLC的常开常闭其实就和继电器(接触器)的常开常闭是一样的,也就是说在线圈得电之前的触点状态就是常态(通电之前的触点是断开的就是常开,通电之前的触点是闭...
plc用户程序有哪些基本元素构成?
plc基本结构主要有CPU,电源,储存器和输入输出接口电路等组成。中央处理器单元一般由控制器、运算器和寄存器组成。1、中央处理器编辑CPU通过地址总线、数据...
PLC的编程器件有哪些?
PLC基本编程原件有:X输入,Y输出,M中继,S步进,T定时,C计数,D寄存器PLC通过基本编程原件可以做逻辑控制,模拟量控制,伺服定位,PID运算,通信等PLC基本编程...
plc编程数据线是什么?
PLC编程数据线就是PLC和电脑的连接线,有USB接口,九针接口等多种,品牌和型号不同的PLC数据线是不同的。目的就是利用编程软件把电脑或编程器的程序传送进PLC...
plc的原始密码是多少?
答:1.PLC的原始密码是0000。2.PLC是可编程逻辑控制器的缩写,是一种用于自动化控制的设备。在PLC的初始设置中,通常会设置一个密码来保护PLC的程序和参数...
plc辅助继电器m自动得电什么情况?
在PLC辅助继电器M自动得电的情况可能包括以下情况:PLC输出点控制该辅助继电器的线圈,当PLC输出点状态变为ON时,该辅助继电器的线圈得电。该辅助继电器的线圈...