文学起点网
当前位置: 首页 文学百科

西门子1200存储器和寄存器(图说西门子特殊寄存器之SM1.0-SM1.7)

时间:2023-08-04 作者: 小编 阅读量: 21 栏目名: 文学百科

②SM1.1当溢出结果或检测到非法数值时,某些指令的执行打开该位。⑤SM1.4"增加至表格"指令尝试过度填充表格时,该位打开。SM1.5运行监控初始状态FIFO指令即先进先出指令,也是对表操作的指令。这里VW20是一个空表,所以SM1.5被激活了一次,程序的第三行捕获到了该状态,并进行了自锁,所以M0.1被锁定了,至此SM1.5的功能也被验证了。所以SM1.6就是用来检测一个值是否是合法的BCD码数据。⑧SM1.7当ASCII值无法转换成有效的十六进制数值时,该位打开。

昨天回答了一个悟空问答,是有网友问PLC里边的SM1.1是什么意思,我做了回答后到目前快八千人阅读了,索性干脆把SMB1这个字节都来研究一下,分享给大家。

本文将按照SM1.0到SM1.7的顺序进行实验截图讲解,先看一下西门子200Micro/WIN软件中的帮助文档介绍吧:

西门子官方对各个位的定义

上图是西门子对这些位的定义,我们平时只需要使用即可,为了让大家对这些点有更深入的了解,所以还是在程序中运行验证一下,看看是否如官方定义那样能准确反映指令的执行状态是否有错。

废话不多说了,直接上图:

①SM1.0 当操作结果为零时,某些指令的执行打开该位。

SM1.0运行监控图

如图,左边的图片第一行程序是45-45=0,因此其紧跟的SM1.0接通了,M10.0也被激励;而第二行程序48-45=3,其紧跟的SM1.0没有接通。右侧的图片是我把第二行程序修改为48-48后再次运行的监控,此时两行程序中的SM1.0都接通了,证明西门子的说明是正确的减法操作的结果为0,因此SM1.0被置1了。

这里还有一个问题要提一句,就是从图中可以看到SM1.0是可以多次使用的,并且他是紧跟一个运算的结果,判断最近的这个运算结果是否为0,不做试验是不知道这个点的,所以任何事情自己亲手做必然更有收获。

②SM1.1 当溢出结果或检测到非法数值时,某些指令的执行打开该位。

这个点,因为我在悟空问答里边已经回答了,所以这里就不再讲了,麻烦大家自己去看看。(其实,如果我在这里回答,不知系统会不会说我是抄袭我自己,^_^)

③SM1.2 数字操作产生负结果时,该位打开。

SM1.2运行监控图

如图,程序第二行45-48=-3,得到负值,SM1.2就被置位了,而第一行程序结果为正值其跟随的SM1.2是没有被置位的,也就是说SM1.2和SM1.0有共通性,是可以多次使用,并且其状态是紧随最接近的那次运算。

④SM1.3 尝试除以零时,该位打开。

SM1.3运行监控图

如图,程序第二行48÷0时,程序出错了,且SM1.3被置位了。多次使用,且紧随最近一次运算的特性和上边的情况一样。需要多说一句的是,该图片除以0,是CPU运行后才报错的,因为如果是程序编译的时候有错误是不能下载也不能运行的。

⑤SM1.4 "增加至表格"指令尝试过度填充表格时,该位打开。

SM1.4监控程序起始状态

(不知道这个图片朋友们能看清楚么,感觉头条对大图片的支持好像不太好,可能我对上同图功能不太了解),该图片是程序下载下去后,我没有触发M0.2,也就是AD_T_TBL这个命令没有被触发。该命令就是增加至表格命令,也叫填表命令。因这命令的使用稍微有点复杂,所以程序分成3段来写,左边的框是这些变量的监控值。第一行程序就是定义表,并且对有些参数初始化,第二行是用M0.2触发上升沿去触发填表指令同时触发一次计数一次,并且让SM1.4去触发M0.0 。第三行程序是为了让大家更好的理解SM1.4的动作过程,做的动作捕捉锁存程序。

SM1.4监控程序之填表1次

该图片是M0.2触发一次后,执行了一次填表命令,前后对比可知VW12中被写入了数值100,同时SM1.4没有动作,可以看到第三行的程序M0.1没有被自锁。倘若SM1.4动作一次,无论是被置位还是点动一次,M0.1都将实现自锁定。

SM1.4监控程序之填表2次

该图片是M0.2触发第2次后,又一次执行填表命令,前后对比可知这次VW14中被写入了数值100,同时SM1.4没有动作,因为第三行的程序M0.1没有依然没有被自锁。

SM1.4监控程序之填表3次

该图片是M0.2触发第三次后,SM1.4被触发了一次,因为程序的第三段M0.1被自锁定了,为何填表2次没有chuf触发SM1.4,而填表第三次就触发了呢?是因为我定义的表格的最大条目是6,并且指定了填入数据是从第5个条目开始填写,所以填写2次就把条目5和条目6里边填写了内容,当第三次填写时应该是往条目7中写内容,而我的表最大条目就是6,因此可以说是“过度填充表格了”,或者说填写表格时候溢出了,因此SM1.4动作了一下。

从程序可以看到SM1.4和前边的SM点是有不同的,就是这里是SM1.4是点动了一下,不像前边的是保持为1。所以SM1.4就是在使用填表指令(AD_T_TBL)时候给与用户一个信息提示的状态位。

⑥SM1.5 LIFO或FIFO指令尝试从空表读取的时,该位打开。

SM1.5运行监控初始状态

FIFO指令即先进先出指令,也是对表操作的指令。该图即是运行FIFO指令时,M0.2没有被触发时的初始状态图,同样左边是相关参数的监控表。程序的第一行主要是上电清零复位,程序第二行是触发先进先出指令,同时观察SM1.5的动作,可以看到VW20我在程序其他地方没有定义,因此它不是一个被完整定义的表,也可以说不是表,所以程序执行的时候,SM1.5应该会动作。第三行程序和前边的一样,是用来锁存SM1.5是否有动作的小程序。

SM1.5运行FIFO程序时的监控

SM1.5运行LIFO程序时的监控

这两张图片分别是运行FIFO和TIFO指令时候的监控,M0.2触发了指令,如果VW20是一个完整且里边有内容的表,那么其相关条目中的值将被复制到VW10中。这里VW20是一个空表,所以SM1.5被激活了一次,程序的第三行捕获到了该状态,并进行了自锁,所以M0.1被锁定了,至此SM1.5的功能也被验证了。

SM1.4和SM1.5都是关于PLC处理表指令时候给出的状态提示,和前边处理数值指令时候的那些状态位的触发情况是不一样的,处理数值相关指令时候SM状态位是常ON的状态,而处理表指令的SM1.4-SM1.5则是点动的状态,这是他们的不同,同时也说明了单单看帮助文件,有些内容是无法确定的,还是要连线测试一下才能知道的更多。--关于填表指令的程序,如果有不明白的请关注留言,我会及时解答。因文章的主旨是将SM特殊寄存器,所以表指令就没细说,望大家包含。

⑦SM1.6 尝试将非BCD数值转换为二进制数时,该位打开。

SM1.6运行监控图

该图程序第一行BCD_I运行无错误,所以SM1.6没有激活;程序第二行1114不能被转换为一个BCD数,所以程序出错了,SM1.6就被激活了。所以SM1.6就是用来检测一个值是否是合法的BCD码数据。这里卖个关子,留一个问题给朋友们,为何程序段第一行1113用BDC_I指令就没有出错,而程序段第二行1114同样使用BCD_I指令就报错了呢? 如果不明白的朋友请关注留言,我将给出答案。

⑧SM1.7 当ASCII值无法转换成有效的十六进制数值时,该位打开。

SM1.7运行监控图

该图程序第一行是将字符ABCD传送到MD0中,然后用ATH指令也就是ASCII转16进制指令把MB1开始的3个字节中的字符转换为16进制放到MB10开始的3个字节中,因为都被完美转换了,所以没错误,SM1.7未动作。而程序的第二行,是将字符HIJK传送到MD4中,然后用ATH指令将MB4开始的3个字节中的字符转化为16进制数后放到MB20开始的3个字节中去,可是这里出错了,SM1.7就被置位了。这里出错的原因是HIJK不能被ATH指令有效的转换为16进制,就相当于在西门子200系统中HIJK不能被视作合法的ASCII字符,西门子对有效的ASCII输入字符有规定,而HIJK不在有效规定内。

至此,SM1.0-SM1.7的编程监控讲解就结束了,相信通过我这篇大家对这些特殊点位的认识和用法有了比帮助文件中更深的认识,希望能对学习使用西门子200的朋友有所帮助,欢迎大家转发关注,如有不明白的地方请留言,我将及时回复,谢谢。

    推荐阅读
  • 苏州旅游攻略景点必去(苏州旅游必去景点有哪些)

    位于苏州市东北街一百七十八号,始建于明朝正德年间。虎丘是AAAAA级景区及全国文明单位,首批十佳文明风景旅游区示范点。中午,周庄最为欢闹,游人穿梭熙熙攘攘,船儿来回摇摇荡荡,各地的游客与热情的商铺融为一体,热闹非凡,安静的古镇着实多了些欢闹的气息。狮子林为苏州四大名园之一,位于苏州市市城东北园林路。

  • 买的玉米种子是瘪的(去年买的玉米种子剩了很多)

    去年买的陈玉米种子建议不要用针对去年的陈玉米种子,大多情况下不建议再次使用,会影响到玉米后期的生长和产量情况。陈年的因为保管的问题,可能会出现很多因素影响玉米的出苗率或者后期的生长。陈玉米种子隔了一年后再种植,种子自身水分含量降低,水分降低严重的情况下,影响播种的效率和玉米的后期生长,由于活性降低,即使能出芽,也不一定能出苗。

  • 173.2亿!国庆消费火爆 国庆消费市场

    今年国庆、重阳两节叠加,全省消费市场呈现平衡较快增长态势,服装、家电、汽车等商品消费亮点突出,大众餐饮、旅行休闲、文体娱乐等主要服务消费备受青睐。根据商务部业务统一平台生存必需品监测系统显示,国庆黄金周期间,全省生存必需品市场供应充沛,价格总体平衡。除了买买买,国庆还是婚庆、团圆、会友高峰,各地亲友聚餐、婚寿宴等大众化餐饮生意兴隆。

  • 吴承恩是怎么写出的西游记(吴承恩怎么写出的西游记)

    吴承恩怎么写出的西游记诸葛长青:吴承恩写西游记诸葛长青:吴承恩怎么写出的《西游记》西游记,广泛流传西游记,作者吴承恩西游记,包含了儒释道大智慧那么,吴承恩是怎么写出的《西游记》呢?诸葛长青把自己对吴承恩写《西游记》,研究成。

  • 李逵扮演者(大家一起来看看吧)

    我们一起去了解并探讨一下这个问题吧!李逵扮演者赵小锐的李逵应该算是很多人印象当中的经典所在了,他的李逵也是很粗犷,但是这种粗犷当中却带着细腻,也是因为这个角色,他开始受到了不少的观众的关注和喜爱。其实之前的他也有出演过一些电视剧的,但是可惜的是一直都没能够真正的红起来,是李逵这个角色,让他一夜成名爆火了。

  • 汽车空间大小怎么看轴距(什么因素会影响车内空间)

    大众速腾,长度4655mm,轴距2651mm。看外观就明白了,因为宝马320i是后驱车,发动机采用纵置布局;而大众速腾是前驱车,发动机采用横置布局。而且由于发动机纵置,后驱设计,对于车内空间侵占较为严重,所以宝马320的长轴距实际上对于空间的帮助是“虚高”的。前面我们就提到了,宝马3系采用了后驱,大众速腾采用了前驱。回到我们的主题,通常来说,麦弗逊与扭力梁对于车辆空间的侵占是最小的,而多连杆和双叉臂对于车辆空间侵占是要更大的。

  • 湖南省医保局2015年工作思路与安排 湖南省医疗保障局领导班子组成人员

    督促指导各统筹地区核实提高缴费基数,强化保险费足额征收。继续加强工伤认定参与,把好工伤入口关。认真核实、积极处理群众举报问题,始终保持高压态势。加强生育医疗服务管理,规范生育津贴发放。二是启动实施工伤保险信息系统改造升级,改进工伤职工异地就医联网结算,方便工伤职工救治。三是加强财务、业务数据清理,提高数据质量;通报全省“三险”基金运行分析,指导市州加强基金运行风险管控。

  • 民国最渣四大渣男(民国著名4大渣男)

    当时很多文人在接受自由恋爱的思想时,家中已经有了父母为之安排的妻子。郁达夫一生有过三位妻子,一位同居情人。郁达夫后来还是和王映霞离婚,1940年在新加坡认识了比他小20岁的播音员李莜英,两人很快就同居了。第二任妻子佐藤富子,是个日本女人,为了和郭沫若在一起,不仅改名为“郭安娜”,还和父母断绝了关系。1937年,郭沫若抛弃妻子回国,和女明星于立群同居,两人于2年后再重庆结婚。

  • 电脑怎么连打印机教程(教会你快速学会电脑如何连接打印机的安装使用方法)

    最近很多网友都在私信给小编,小编也无法一一回复,有些问题也无法简约介绍,所以只能在头条文章内与大家共享。

  • 爱吃鸡蛋的注意了这3种鸡蛋不能买(这些鸡蛋没你想的那么好)

    营养均衡的孩子没必要补这种元素;真正缺乏硒,靠富硒蛋补,根本起不了多大作用。这类蛋再好,也别给孩子吃那就是全生或半熟的蛋,比如溏心蛋。一般溏心蛋的加热时间短,不能完全杀死细菌,生蛋液根本没有处理细菌,对于抵抗力低、易感染的宝宝来说,非常容易被细菌感染。