M寄存器的使用问题?

今天编程碰到一个怪现象:我的本意是smart上电之后(已经在编程软件上设置成了上电就进入RUN模式,并成功下载),第一个扫描周期接通,使得M6.0置位。下载之后第一次断电然后上电,M6.0成功置位;但是再将smart置于Stop模式,然后开启RUN模式,M6.0就始终是0。。。自己排查了一下,发现并没有存储区重叠使用这样的问题呀。。。
1.有没有前辈有相关的解释?感觉应该是自己编程的问题,但是什么原因会导致这样的问题呢?
2.前辈们是怎样避免自己重叠使用了存储区间的?有时候程序写多了可能会搞混淆,我的办法比较笨,就是自己去查找相同的名称,以此来检查自己是否不小心重叠使用了,但是效率好像比较低。。。

问题补充:
恩,结合大家的说法,我自己又去查了一下资料,关于这个语句的问题,系统手册上面给出了解释:因为正跳变和负跳变指令需要断开到接通或接通到断开转换,所以无法在首次扫描时检测
上升沿或下降沿跳变。 首次扫描期间,CPU 会将初始输入状态保存在存储器位中。 在后
续扫描中,这些指令会将当前状态与存储器位的状态进行比较以检测是否发生转换。

这里是涉及到PLC扫描周期的相关问题。之前一直以为自己看懂了,后来编程的时候遇到各种问题,才发现自己并没有真正的理解这个过程。
图片里面的程序是没有经过测试的,但我是觉得会有问题,这样子电机是不会动。下面几种情况:
1.将goto的启动条件里面M6.0换成m6.1,电机可以正常运动;
2.将goto的启动条件里面M6.0换成m6.1,并且程序段2,3互换一下顺序,这个时候电机还是不会动;
不知道理解的对不对,只是一个模糊的感觉。有理解的比较透彻的前辈能不能说说?

图片说明:

M寄存器的使用问题?    M寄存器的使用问题?   

最佳答案

特殊标志位SM0.1是指plc上电(通电)的第一个周期有效一个周期,你加与不加沿的结果均一样。
所以应该修改程序为:
LD    SM0.1
S      M6.0,1
不置位的原因:
该程序段是否在主程序段一直调用,或子程序中被无条件调用;M6.0在后面的程序段中没有被重新赋值;是否存在地址重置。
补充问题回复:
实际上你的问题接收对SM0.0/SM0.1等特殊标志位;沿脉冲在子程序上的应用的理解及plc程序扫描机制的理解。
SM0.1上面已有解释,SM0.0是每一个扫描周期均刷新一次。这些特殊标志位可以通过F1的帮助得到理解。
关于沿脉冲无论是上升沿还是下降沿,当沿的前面运算结果有0至1或者由1至0的变换,则沿脉冲指令有一个周期的有效。

提问者对于答案的评价:
恩,谢谢,这个还是需要自己在编程过程中多思考。

专家置评

sm0.1使用时不能使用上升沿

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc143086.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月2日 下午10:58
下一篇 2017年6月2日 下午10:59

相关推荐

  • 以太网口搜索不到CPU

    无法查找到cpu,但是可以通过添加cpu的IP地址来与cpu进行通讯,pniomgr.exe是空的,并且没有在启动项中出现,IP地址、服务项、PG/PC接口都没什么问题,用别的电脑…

    2020年10月31日
  • v90使用中遇到的问题

    用PTI版本的v90伺服配合200smart走modbus通讯定位,但是通讯速度特别慢,而且有时候还会出现命令发了不转的情况,有什么方法可以解决这个问题呢? 最佳答案 通信速率可设…

    SIMATIC S7-200 SMART 2021年7月4日
  • 200smart 485串口发送的数据总是多出一个0D 0A

    PLC和变频器通信 我用串口调试软件想看一下他们之间的通信数据 用USB转485转换器并接到485的两根线上 刚开始还好好的 到下午PLC就…

    SIMATIC S7-200 SMART 2020年10月31日
  • smart200高速计数器

    smart200高速计数器有模式12吗? 钻石用户推荐最佳答案 没有。高速计数器_S7-200 SMART:http://www.ad.siemens.com.cn/pr…

    SIMATIC S7-200 SMART 2020年10月30日
  • 机械设备的接地

    我的设备没有做接地,我怎么给电控箱接地?怎么给电缆接地呢?难道还要单独在做个接地么? 问题补充:我这里是380V的进线电源设备,控制线路有220V也有直流24V,我怎么给这个设备做…

    2019年6月10日
  • MICROWIN SMART V2.2 安装后无法启动

    在软件安装完成后,双击没反应。查看系统日志,显示应用程序 MWSmart.exe错误,错误模块名称:datamanagers.dll 产品版区:SIMATIC S7-20…

    SIMATIC S7-200 SMART 2019年6月11日
  • 帮帮我

    S7-200 SMART 早上我把符号表给隐藏掉了,现在怎么点击符号表都不会显示在下方  请问怎么弄 问题补充:你们说的两种方法我之前就试了…

    2020年10月30日
  • PTO脉冲控制是什么原理?

    想了解脉冲数与频率是来起什么作用?脉冲刷新和频率刷新是什么意思? 最佳答案 PTO功能按照给定的脉冲个数和周期输出一串方波,占空比为50%。PTO可以产生单段脉冲或通过使用脉冲包络…

    SIMATIC S7-200 SMART 2021年7月4日
  • smart 200编程软件

    关闭软件后显示layer-8 communications host module 已停止工作的后果和解决办法 最佳答案 卸载后重新安装试试…

    SIMATIC S7-200 SMART 2017年5月29日
  • 200smar用modbus rtu和汇川伺服通讯问题

    1,给伺服写入1个数据时,plc源数据是正数时伺服接收数据正常,当源数据位负数时伺服接收的数据是混乱的,比如写入-1伺服显示65535,-100伺服是6????2,伺服厂家说接收地…

    2020年10月30日