前两天处理过一个故障,是S7-200 Smart与V20的USS通讯,设备厂家在程序里面利

用USS_RPM _R程序循环轮询5个V20设备读取频率和电流值等信息。

  

    图 USS_RPM_R读取信息

  上图是第一个站点的读取,其采用的控制方式是利用状态位SM0.0 置位M13.0 = 1, 然后

通过上面的程序段进行读取参数,然后再利用M13.1这个标志位,再做为下一个站点的XMT和

EN信号,同时复位M13.0 = 0; 依次类推一直轮询完5个站点后,再重新设置M13.0 = 1 开始新

一轮的查询。

一、问题

  那天我的同事要修改程序里面一个模拟量的量程,然后修改完后直接下载程序,在下载完毕后

重新运行程序,PLC有Stop状态切换至RUN状态,这个时候出现了一个问题,那就是USS_RPM_R

这个程序块卡主了,整个轮询不再执行。

二、分析

  同事搞了很久,没有找出原因,还和其他人一起把V20的参数恢复出厂设置了,但是还是不

行, 后来就给我打电话,让我过去看看。

  我一过去看就问是不是可以通过PLC控制V20的起停,说是没问题,我也测试过没有问题。

因此判断通讯没有中断,应该是PLC程序的问题,因为开始是可以的,且V20参数没有修改过。

后来我仔细分析了一下程序,发现了一个问题,就是厂家的程序利用SM0.0 一直在轮询,且轮

询启动后不会再利用SM0.0这个信号来重新置位M13.0这个信号。其程序如下所示:

  上面三张图是启动的程序,这样的做法存在一个问题,就是中途如果出现异常,比方说下载程序

导致USS通讯读取中断就不能自动恢复。

三、解决方法

1、将PLC下电,然后重新上电,这样SM0.0 就会产生一个上升沿激活上面的轮询过程。这个解决方案

不是最优方案。

2、不要利用SM0.0做为启动脉冲,而改为SM0.1首次扫描状态位。

3、方案三,就是检测所有的通讯返回状态, 当所有的状态在1s(或者其他任意设定时间)内通讯状态失败

后,就自动激活通讯过程。

四、小结

  S7-200 系列的PLC要注意断电重启和利用Smart软件将PLC从Stop切换到RUN状态是有区别的。比方

说SM0.0这个状态位,还有一些数据保持功能。

--------------------------------------------------------------分割线---------------------------------------------------------------

1、文章均为个人原创,欢迎转载,转载请保留出处:https://www.cnblogs.com/volcanol/

2、获取工控PLC、变频器、HMI、计算机、Windows、Linux、嵌入式资料点击:获取资料

3、如果您觉得文章对您有帮助可转至页面上半部分打赏,或移步:打赏 

4、或者在页面右下角点推荐哟!!!

--------------------------------------------------------------分割线--------------------------------------------------------------

工控随笔_09_西门子_S7-200 Smart与V20 USS通信USS_RPM_R利用轮询的方式通讯异常的更多相关文章

  1. 工控随笔_16_西门子_S7-200.Smart软件安装兼容性说明和错误代码:error code hr=0x80070430

    现在西门子的软件是更新换代太快了,前几年还是Step 7 Micro/Win,后来又出了S7-200 Smart PLC,理所当然的编程调试软件也水涨船高,出了新的Step 7  Micro/Win ...

  2. 工控随笔_20_西门子_WinCC的VBS脚本_09_常量和流程控制_02

    vbs不但提供了分支结构,还提供了丰富的循环形式.一共有3种循环: 1.for循环 2.do...loop循环 3.while循环 各种循环有各自的特点,在使用的时候可以进行转换. 前面已经描述过Fo ...

  3. 工控随笔_13_西门子_WinCC的VBS脚本_04_变量类型之二

    上一个随笔说了一些关于vbs变量类型的内容,这一篇我们继续说说变量类型相关的内容. 一.NULL补充内容 '需要注意的是,NULL不能简单通过 = 来进行比较,而必须通过 'IsNull函数来实现 ' ...

  4. 工控随笔_03_西门子_Step7项目打开后CPU显示问号解决方法

    我们在利用西门子的S7-300/400 PLC的编程软件Step7的时候会出现下面如图所示的问题. 在打开项目的时候,我们会在Simatic Manager里面看到CPU以及一些其他一些组件显示问号. ...

  5. 工控随笔_21_西门子_WinCC的VBS脚本_10_对象_01

    最近有点小忙,各种事情,心情也不是很好,烦心事特别多,因此最近更新的比较慢. 不敢再松懈了,今天正好有点时间,就继续看了一下VBScript中关于对象的一些内容. 一.对象 OOP是编程规模发展到一定 ...

  6. 工控随笔_10_西门子_WinCC的VBS脚本_01_基础入门

    很多人都认为VB语言或者VBS脚本语言是一种很low的语言,从心里看不起VB或者VBS, 但是其实VBS不仅可以做为系统管理员的利器,同样在工控领域VBS语言大有用武之地. 西门子的WinCC提供了两 ...

  7. 工控随笔_08_西门子_Win10安装Step7.V5.6中文版授权管理器不能正常启动

    随着Windows系统的不断升级,西门子工控软件也不断升级,但是有时候在安装西门子 软件的时候会出现授权管理器不能正常启动的情况. 图  Step7 因为自动许可证管理器不能正常打开 如上图所示,报S ...

  8. 工控随笔_05_西门子_Step7软件仿真方法

    现在的PLC厂商提供的开发环境都具备仿真能力.无论是西门子.三菱.罗克韦尔还是ABB 或是其他一些厂商提供的产品都具有仿真功能. 仿真就是在没有硬件的情况下来测试程序功能,同时也为初学者提供了方便,即 ...

  9. 工控随笔_04_西门子_解决Step 7软件因授权问题不能打开的方式和方法

    西门子的软件是授权软件,只有经过授权认证的用户才能使用,如果没有通过授权认证则不能 正常的使用软件的相关功能. 一.西门子授权不成功问题 如上图所示报故障代码: 000001-0505.报警文本为:未 ...

随机推荐

  1. java版数据结构与算法第二章数组

    数组由一组具有相同类型的数据元素组成,并存储在一组连续存储单元中.一维数组是常量. 二维数组:若一维数组中的数据元素又是一堆数据结构,我们称之为二维数组.二维数组可以看成是n个列向量组成的线性表. 数 ...

  2. 利用js 生成不同li标签的点击事件

    <ul> <li>click me</li> <li>你好啊2</li> <li>你好啊3</li> <li& ...

  3. Delphi7安装

    在学习和使用Delphi之前,我们要先安装它的开发环境,本机系统为Win7 32.下面我简要介绍一下它的安装过程. (1)下载Delphi7并解压,双击setup.exe可执行文件开始安装. (2)开 ...

  4. 作为程序员你不知道中国互联网300强你就OUT了!

    很多程序员们工作一段时间之后,都想跳槽到综合实力更强的公司以获取高薪资或者接触到前沿的技术,但是哪些行业值得我们投入大量的时间,哪些公司属于我们行业中的佼佼者呢, 那么小编给您分析下2018年中国互联 ...

  5. 2018上C语言程序设计(高级)- 第2次作业成绩

    作业地址 评分准则 第一次作业各项成绩包括三项: 完成PTA所有题目:9分 总结和附加题目:15分 博客记录:70分 博客记录包含三次PTA,共8道题,有正确流程图题目12分,没有的8分: 设计思路2 ...

  6. Lesson Learned

    最近,中兴ZTE违反美国商务部禁令,向伊朗出售敏感技术,被美国下达长达7年的禁止令,教训十分深刻.以诚待人,信守承诺,才能在商业社会站稳脚跟. 还是说说最近自己上的一课吧.上了港台服以后,奇奇怪怪的问 ...

  7. newinstance()和new有什么区别?

    在初始化一个类,生成一个实例的时候:newInstance() 和 new 有什么区别?用newInstance与用new是区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,那么为什么会有两 ...

  8. 百战程序员——Spring框架

    什么是容器,我们学过了哪些容器,Spring与我们之前学习的容器有哪些异同点? 容器可以管理对象的生命周期.对象与对象之间的依赖关系,您可以使用一个配置文件(通常是XML),在上面定义好对象的名称.如 ...

  9. 第十六次 ccf 201903-2 二十四点

    题意: 计算数学表达式的值, 数学表达式的定义: 4个[0-9]表示数字的字符 ,3个[+-x/]表示运算的字符 可以用正则为: ([0-9][+-x/]){3}[0-9] 例如: 5+2/1x3 2 ...

  10. mininet的学习之二-----miniedit可视化

    安装ryu git clone git://github.com/osrg/ryu.git cd ./ryu  sudo python setup.py install mininet可视化 git ...