问题描述:

通过 Java连接西门子PLC(S7-1200)学习中,出现错误:the desired address is beyond limit for this PLC

下面是测试代码

        S7Connector connector = S7ConnectorFactory.buildTCPConnector().withHost("192.168.0.195").withPort(102).withTimeout(10000).withRack(0) //optional.withSlot(1) //optional.build();S7Serializer s7Serializer = S7SerializerFactory.buildSerializer(connector);byte[] bs = connector.read(DaveArea.DB, 3, 1, 0);connector.close();System.out.println(Arrays.toString(bs));

数据块设置

原因:

PLC模拟器正常运行,博图软件也可以正常监控修改,正常情况下,应该可以访问。由于代码访问的是DB,所以从DB的创建和设置查找原因。

在数据块的属性中,有“优化的块访问”,如果勾选就只能用符号地址访问块中的变量,不能使用绝对地址,这种访问方式可以提高存储器的利用率。如果不勾选,才能用绝对地址访问数据块中的变量,数据块才会显示“偏移量”。

而程序中采用的就是绝对地址加偏移量的形式来访问PLC,导致获取过程报错。所以创建数据块完成后,在相应的数据块右击进入属性,取消勾选“优化的块访问”,重新下载到PLC就可以访问了

如果经过上述操作后,故障仍存在。有可能是程序要访问的变量与数据块中的变量设置不匹配,合适plc的数据块变量设置以及程序设置的变量类型

the desired address is beyond limit for this PLC相关推荐

  1. setsockopt , getsoctopt 函数的Level 参数和 name 参数对应表!!!

    From: http://blog.csdn.net/jasonm2008/article/details/4016292 int setsockopt(   SOCKET s,   int leve ...

  2. FD.io VPP配置文件详解

    目录 VPP Configuration File - 'startup.conf' Introduction Command-line Arguments Configuration File Co ...

  3. linux 中输入bash,Linux上Bash Shell编程

    Linux下Bash Shell编程 Bash Shell Programming in Linux Linux下Bash Shell编程 Bash what? 进阶的内容是什么? Okay, I g ...

  4. kmalloc,vmalloc,malloc,mmap

    kmalloc cat /proc/slabinfo kmalloc也是基于slab机制,按照2^order创建对个slab描述符.在系统启动时通过函数 create_kmalloc_caches进行 ...

  5. Toward a More Complete, Flexible, and Safer Speed Planning for Autonomous Driving via Convex Optimiz

    Toward a More Complete, Flexible, and Safer Speed Planning for Autonomous Driving via Convex Optimiz ...

  6. 如何使用Doctl,DigitalOcean官方命令行客户端

    An earlier version of this tutorial was written by Brennen Bearnes. 本教程的早期版本由Brennen Bearnes编写 . 介绍 ...

  7. 以太坊挖矿源码:clique算法

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. clique 以太坊的官方共识算法是ethash算法,这在前文已经有了详细的分析: 它是基于POW的共识机制的,矿工需要 ...

  8. python学习笔记之socket(第七天)

         参考文档:              1.金角大王博客:http://www.cnblogs.com/alex3714/articles/5227251.html               ...

  9. 保护模式 对CPL,RPL,DPL 的总结

    先说下特权级的概念,在保护模式下,系统依靠特权级来实施代码和数据的保护,相当于权限 啦.特权级共有4 个级别,0,1,2,3,数字越小表示权限越高.如图: 较为核心的代码和数据放在较高(靠内)的层级中 ...

最新文章

  1. SpringBoot整合Shiro安全框架完整实现
  2. 用 Winetricks 配置 WINE
  3. jforum oracle报错,JForum安装在Oracle数据库上
  4. python编程案例教程书籍-清华大学出版社-图书详情-《Python案例教程》
  5. 安装php5、卸载php、安装php7的教程
  6. DevOps,到底是开发还是运维?
  7. 505B. Mr. Kitayuta‘s Colorful Graph
  8. Mac电脑如何输入command(⌘)、option(⌥)、shift(⇧)等特殊符号
  9. 关于 android 的 view.getLeft(), getRight(), getTop(), getBottom() 的一些疑惑(坑)解答
  10. 数据库 统计数据收集 有什么作用_《原神》荒山孤剑录2/5收集汇总 荒山孤剑录作用是什么...
  11. 易用性强的数据库管理工具DBeaverEE v22.0.1
  12. list中抽出某一个字段的值_Java 将List中所有item中的某一个字段值提出来生成一个新的List...
  13. 【BUUCTF】强网杯 2019随便注1 write up
  14. php算法----队列
  15. 将输入的单词按首字母排序
  16. linux系统修改ip地址教程。
  17. 前端web:响应式Web开发优缺点总结
  18. VB和VB.NET的大致区别
  19. Android 热修复原理篇及几大方案比较
  20. 美国国家标准与技术研究院(NIST)

热门文章

  1. 【秋招笔试 赛马网编程】
  2. cer证书转换.p12文件
  3. 热门好用的二维码识别API
  4. 我们新型洗矿机坚持走环保低耗发展的道路
  5. 【Vulkan】Sparse Resources(一)【Basic】
  6. Unity踩坑-多级四元数旋转(多级骨骼)
  7. C#如何通过显示一次子窗体,判断返回的DialogResult的具体值
  8. Spark高手之路1—Spark简介
  9. kubernetes上节点node.kubernetes.io/disk-pressure:NoSchedule污点导致pod 被驱逐
  10. Android 实现闹铃效果