the desired address is beyond limit for this PLC
问题描述:
通过 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相关推荐
- setsockopt , getsoctopt 函数的Level 参数和 name 参数对应表!!!
From: http://blog.csdn.net/jasonm2008/article/details/4016292 int setsockopt( SOCKET s, int leve ...
- FD.io VPP配置文件详解
目录 VPP Configuration File - 'startup.conf' Introduction Command-line Arguments Configuration File Co ...
- linux 中输入bash,Linux上Bash Shell编程
Linux下Bash Shell编程 Bash Shell Programming in Linux Linux下Bash Shell编程 Bash what? 进阶的内容是什么? Okay, I g ...
- kmalloc,vmalloc,malloc,mmap
kmalloc cat /proc/slabinfo kmalloc也是基于slab机制,按照2^order创建对个slab描述符.在系统启动时通过函数 create_kmalloc_caches进行 ...
- 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 ...
- 如何使用Doctl,DigitalOcean官方命令行客户端
An earlier version of this tutorial was written by Brennen Bearnes. 本教程的早期版本由Brennen Bearnes编写 . 介绍 ...
- 以太坊挖矿源码:clique算法
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. clique 以太坊的官方共识算法是ethash算法,这在前文已经有了详细的分析: 它是基于POW的共识机制的,矿工需要 ...
- python学习笔记之socket(第七天)
参考文档: 1.金角大王博客:http://www.cnblogs.com/alex3714/articles/5227251.html ...
- 保护模式 对CPL,RPL,DPL 的总结
先说下特权级的概念,在保护模式下,系统依靠特权级来实施代码和数据的保护,相当于权限 啦.特权级共有4 个级别,0,1,2,3,数字越小表示权限越高.如图: 较为核心的代码和数据放在较高(靠内)的层级中 ...
最新文章
- SpringBoot整合Shiro安全框架完整实现
- 用 Winetricks 配置 WINE
- jforum oracle报错,JForum安装在Oracle数据库上
- python编程案例教程书籍-清华大学出版社-图书详情-《Python案例教程》
- 安装php5、卸载php、安装php7的教程
- DevOps,到底是开发还是运维?
- 505B. Mr. Kitayuta‘s Colorful Graph
- Mac电脑如何输入command(⌘)、option(⌥)、shift(⇧)等特殊符号
- 关于 android 的 view.getLeft(), getRight(), getTop(), getBottom() 的一些疑惑(坑)解答
- 数据库 统计数据收集 有什么作用_《原神》荒山孤剑录2/5收集汇总 荒山孤剑录作用是什么...
- 易用性强的数据库管理工具DBeaverEE v22.0.1
- list中抽出某一个字段的值_Java 将List中所有item中的某一个字段值提出来生成一个新的List...
- 【BUUCTF】强网杯 2019随便注1 write up
- php算法----队列
- 将输入的单词按首字母排序
- linux系统修改ip地址教程。
- 前端web:响应式Web开发优缺点总结
- VB和VB.NET的大致区别
- Android 热修复原理篇及几大方案比较
- 美国国家标准与技术研究院(NIST)