zoukankan      html  css  js  c++  java
  • 【新阁教育】再也不用担心我的PLC通信不上了

     【常见现象】

    经常有小伙伴反映自己的西门子PLC通信不上,今天就西门子PLC通信注意的几个地方做下说明,希望大家可以牢记心中。

    1、 PLC侧需要设置勾选允许来自远程对象的Put/Get通信访问

    对于西门子1200/1500系列,必须要勾选允许Put/Get访问,对于200Smart/300/400,则不需要。

     

     2、对于DB块读写,需要去除DB优化访问

    对于基于博图开发S7-1200/1500的项目,如果要与DB块数据通信,需要要去除DB的优化的块访问,对于200Smart/300/400,则不需要。如果希望通过标签通信,可以采用OPCUA。

    3、务必保证通信地址是有效地址

    通信地址是有效地址,这句话该怎么去理解呢?因为PLC大多数是基于存储区的,每个地址肯定是隶属于某个存储区,大家都知道西门子PLC自带的存储区有I区、Q区、M区、T区、C区,但是对于常用的DB存储区是没有的,需要自己去创建,也就意味着,如果你要读取DB地址,必须要提前创建好DB存储区,除此以外,DB存储区创建之后,默认是没有字节的,需要自己一个个添加变量,才能形成有效存储区,因此一个DB存储区的范围是有限并且可见的(可以通过偏移量看出来)。举例说明,下图是一个DB存储区,说明这个存储区有86个字节,如果你通信的地址超过这个范围,肯定就会出问题。这点其实也很容易理解,我们把与PLC通信当做从服务器拿东西,如果我们要拿的东西,服务器都没有,那么是不是会出问题呢?

    经验分享

    下面再给大家分享,如果出问题之后,我们如何快速定位问题,解决问题?

    1、我们首先要Ping一下PLC的IP地址,保证物理网络是正常的,一定要记住Ping通只能证明网络没问题,并不能代表一定可以通信。

    2、西门子S7协议是基于TCP的,所以我们接下来可以用网络调试助手去连接PLC,IP地址填写PLC的IP地址,端口号填写102。

    3、用通信测试平台测试变量,记住这里最好先测试M存储区,如MD100。

    4、如果通信测试平台可以,说明PLC端设置基本上都没问题了,但是如果这时候配置软件仍然有问题,可以先删除所有的组,只创建一个通信组,并且把存储区选择M存储区。

    5、如果上面的单个M存储区可以,一般就是你通信组配置的问题了,可以将所有的通信组的Active激活都取消,然后逐个开启,定位是哪个或者哪几个通信组的问题,然后再找原因。

  • 相关阅读:
    泛型
    HDU 4917 Permutation
    OC本学习笔记Foundation框架NSString与NSMutableString
    HDU 5095 Linearization of the kernel functions in SVM(模拟)
    大约Java有点感悟---开发商根本上感悟学习
    Codeforces 442B Andrey and Problem(贪婪)
    mysql数据库优化课程---15、mysql优化步骤(mysql中最常用最立竿见影的优化是什么)
    mysql数据库优化课程---14、常用的sql技巧
    mysql数据库优化课程---13、mysql基础操作(mysql如何复制表)
    mysql数据库优化课程---12、mysql嵌套和链接查询(查询user表中存在的所有班级的信息?)
  • 原文地址:https://www.cnblogs.com/xiketang/p/14373368.html
Copyright © 2011-2022 走看看