西门子S7-300的ANY指针应用疑问

来源:本站
导读:目前正在解读《西门子S7-300的ANY指针应用疑问》的相关信息,《西门子S7-300的ANY指针应用疑问》是由用户自行发布的知识型内容!下面请观看由(电工学习网 - www.9pbb.com)用户发布《西门子S7-300的ANY指针应用疑问》的详细说明。
1,如上图所示,ANY指针指向的应该是一段外部的地址(伺服轴的报文地址),通过这样编程可以访问吗?我记得这样周期通信地址的读取大于2个字应该用SFC14啊!
2,SFC20的使用,我记得看的资料显示,SFC20只能拷贝映像区地址,不能考外部地址啊,难道报文地址不属于外部地址吗?
这个程序是老外提供给我们的模板程序,应该不会错的,而且这个模板好多块都是这样做的,真是有点糊涂了,请各位大侠帮忙指点一下,谢谢了!

西门子S7-300的ANY指针应用疑问

西门子S7-300的ANY指针应用疑问
答:
老外的程序没有问题。为了帮助大家理解,给出了ANY指针的结构图。

西门子S7-300的ANY指针应用疑问
老外程序中ANY的第一个字表示数据类型为字节,第2个字表示字节数为12,第3个字为0,表示不是DB,第4个字表示I区。
因为起始地址(iDriveBaseINAddress)是字节地址(上图中用16个b表示),需要将它左移3位,相当于乘以8(一个字节8位),作为间接寻址的指针的基础,再用OD指令叠加上指针最高字节的地址区信息16#81。
ANY用的是I区,不是PI区。
假设I区的起始地址(iDriveBaseINAddress)为X,SFC20的输入参数(ANY)的实际地址为P#IX.0 BYTE 12。
当然也可以在调用SFC20时直接写P#IX.0 BYTE 12,不过老外这种模板的优点是通用、灵活。但是要看懂程序的门槛比较高。

提醒:《西门子S7-300的ANY指针应用疑问》最后刷新时间 2023-07-10 04:04:46,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《西门子S7-300的ANY指针应用疑问》该内容的真实性请自行鉴别。