技术论坛

 关于西门子S7-1200与三菱FX系列的M辅助继电器的见解

返回主题列表
作者 主题
小尹先生
游侠

经验值: 380
发帖数: 20
精华帖: 1
楼主    2019-08-04 15:52:06
主题:关于西门子S7-1200与三菱FX系列的M辅助继电器的见解

先自我介绍一下,和大多数工控人一样,我应该也算是毕业就做了专业对口的工作,不是因为别的,就是因为当时的想法是我除了自己的这个专业,好像其他的工作我也找不到啊!哈哈,当然后来发现事实并不是这样。

和大多数人一样,我在学校那会学的就是三菱FX系列的PLC,后来工作以后,因为进的一些私人企业,大部分用的也是三菱、欧姆龙这样的小型PLC,除非客户指定会用一部分西门子S7系列的PLC。

用过三菱PLC的都知道,我们动不动就会用到里面的M点,我们在学校学的时候,那个时候,老师告诉我们这个M啊,就像是中间继电器,主要起过度作用。但是我们后来工作上会发现这个M其实并不只有过度作用,因为有的时候我们会用到一些功能指令,如MOV这样的,这个时候就不简简单单是起到中间继电器作用了。

也许用惯了FX系列的M点,在第一次接触S7-1200的时候,我还是习惯性的把所有的指令,逻辑控制用M点进行编写,当然,1200也是支持M点的。不过那时候1200用的也少,所以也没发现什么大的问题。后来接触的1200项目多了,包括开始渐渐接触1500的项目,就会发现M点越用越多。

这个M点的大批量使用在小的一些单机设备上还不会用什么问题,到了大的项目,联机项目上就开始暴露其短板了。有的时候,我们要开始整理M点哪些被用过,哪些没用到,哪些是用来做手动的,哪些是用来设置参数的,等等。当然,有些大师基本上只要写过的程序是能记得自己用了哪些的,反正我是不行。

后来我在看别人写的1200程序,发现了他们并不是很频繁的用M电,而是大多数的用DB数据块。后来有时间,就研究了一下。然后我就发现了新大陆一般。以前我一直认为DB块是一个很复杂,很难应用的东西。为什么会有这样的想法,是因为我看到的一些通讯程序都是用DB块来编写的。

可事实上,如果用西门子的PLC,我们应该学会使用DB块。因为它不止可以编写通讯程序,还可以帮我们对程序进行清楚的整理。

下面举个例子,比如我们用M点来定义一些手动开关,如我们用DB块,就可以先定义一个手动的DB块,如图所示,

 



双击进入,可以编辑BOOL型变量,这里变量名可以为中文,也可以为英文。

 



也可以批量定义数组,这里的ARRAY表示数组。

 

同理,当我们需要其他的一些M点的时候,我们可以新建新的DB块。

我们在程序使用这些地址时,可以右键点击“手动部分”→属性→“取消优化的块访问”,如图所示

 

 



在程序中的变量为



当然,DB块的用处很多,这里只是我再实际应用中发现比较方便的地方,和大家分享一下。如有雷同,不甚荣幸。


周杰伦
至圣

经验值: 13747
发帖数: 2032
精华帖: 16
1楼    2019-08-04 17:00:25
主题:回复:关于西门子S7-1200与三菱FX系列的M辅助继电器的见解

M就像是系统预先建立的一个DB

所以尽量用DB块,不要用M。DB划分比较清楚。

工控毁我青春!
yming
至圣

经验值: 127285
发帖数: 21992
精华帖: 824
2楼    2019-08-04 18:03:34
主题:回复:关于西门子S7-1200与三菱FX系列的M辅助继电器的见解

嘿嘿,楼主还没跳出原来编程的概念。

1200/1500已经不再使用具体的存储地址了。推荐使用优化的数据块。使用变量名寻址,编程与具体地址无关!

这就像硬盘存储文件,任何时候我们也不会去关心具体硬盘存储地址。


在TIA中,M区不一样,它是通过变量表定义的;实际编程,也是使用变量表!的变量名称!不用关心具体M地址。可以在某时刻,通过变量表,重新组织M地址分配,不会影响已经编写好的程序,也不会影响对这个变量名称的注释。



学而时习之,不亦说乎?温故而知新,不亦乐乎?
JOSENWU
游侠

经验值: 451
发帖数: 63
精华帖: 0
3楼    2019-08-04 19:29:33
主题:回复:关于西门子S7-1200与三菱FX系列的M辅助继电器的见解

西门子的M只是一种数量较少的,有状态存储功能的系统全局存储区。它的功能是固定的。也因为西门子还有专用数据区,所以数量较少。而三菱的M除了西门子的这些功能外,还因为三菱的PLC硬件结构思路不一样,或者叫落后,导致M区特别大。在西门子里,你要把"位"组合成"字"很容易。而在三菱里就费劲费大了,你必须以 K4M1 这样的形式把位组合成字,而且只有这一种选项。而西门子里可以是 IW,QW,DBW,MW这样的任意组合就可以把16个位变成字。所以三菱在这方面是落后的。因为离计算机数据组合太远了。

学无止尽
holdkcsxyz
至圣

经验值: 13013
发帖数: 1814
精华帖: 22
4楼    2019-08-04 19:35:48
主题:回复:关于西门子S7-1200与三菱FX系列的M辅助继电器的见解

    设计者设计的M/T区还是有实用价值的就看我们怎么用,OB1里面连接不同FB块的全局变量就可以用到时间效率很好的M区(这样其实也节省了空间,不过这两个效率在如今的TIA架构下基本可忽略),PLC编程也不是越封装越好,实际上PLC的软件应用介于嵌入式和IPC之间,硬件的工业现场稳定性稍好于这两者。注定可能不能太关注对时序锱铢必较的底层;也不能太关注对封装斤斤计较的上层(时序太短/封装太多可能会带来不稳定性,这是工业应用上最忌讳的,实践上可以类比LV的子VI设计既有适当封装又有底层时序显示的分析波表来优化时序)

qiqicy
游士

经验值: 191
发帖数: 13
精华帖: 0
5楼    2019-08-04 20:12:52
主题:回复:关于西门子S7-1200与三菱FX系列的M辅助继电器的见解

欧洲体系的和日本(来源是美国)还是不一样的。对于大系统来说,M点确实不怎么用,从200到1200,就是从美系重回西门子本身编程理念吧。等你看了PCS7系列的,对这个可能又有更深的看法了吧。

天芯
至圣

经验值: 18857
发帖数: 2106
精华帖: 0
6楼    2019-08-07 10:12:27
主题:回复:关于西门子S7-1200与三菱FX系列的M辅助继电器的见解

 

讨论很精彩

黑猫警长W
至圣

经验值: 18392
发帖数: 2409
精华帖: 1
7楼    2019-08-07 10:41:40
主题:回复:关于西门子S7-1200与三菱FX系列的M辅助继电器的见解

 本人尽量少用M

WOWUWUWU
至圣

经验值: 10573
发帖数: 1794
精华帖: 0
8楼    2019-08-07 14:31:16
主题:回复:关于西门子S7-1200与三菱FX系列的M辅助继电器的见解

大家讨论的很精彩,以后常来,可以获得很多知识。

博望侯1988
侠士

经验值: 1362
发帖数: 19
精华帖: 0
9楼    2019-08-08 08:29:01
主题:回复:关于西门子S7-1200与三菱FX系列的M辅助继电器的见解

优化块访问其实很好,不怎么注重绝对地址了,和高级语言很相似~~

quiet
奇侠

经验值: 7587
发帖数: 1989
精华帖: 0
10楼    2019-08-08 10:54:47
主题:回复:关于西门子S7-1200与三菱FX系列的M辅助继电器的见解

M这个预定义变量的一个好处是输入方便。

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。