S7-1200/1500不使用库获取本地IP地址

  • 一、前言
  • 二、实验环境
  • 三、需要的软件
  • 四、操作步骤
  • 五、结语

作者:SAM

一、前言

本文介绍了在 不使用 ‘PROFINET data records’库中‘LPNDR_ReadGlobalInfo’指令的情况下,使用其它指令获取本地S7-1200(S7-1500)IP地址的方法。

关于博图V15.1和博图V16的‘PROFINET data records’库文件的链接:
Library for PROFINET data records

通过链接可以看到并没有博图V17的库文件,而在V17中添加V16的库文件后,会有报警。通过对库文件的分析,发现仅使用‘RDREC’指令亦可以实现本地PLC的MAC地址、IP地址等参数的读取。

注:‘RDREC’指令在博图软件的‘扩展指令’中。

二、实验环境

1、电脑:Windows 10 x64 (20H2)
2、PLC:S7-1200 (1215C DC/DC/Rly)V4.5.1

三、需要的软件

TIA Portal V17

四、操作步骤

1、使用博图V17新建DB块,并在DB中新建LOC_LAN结构变量 (注意所有的变量名可以自定义,但是变量的数量以及它们的相对位置不可以改变。) 和用于控制读取的Start变量。


2、在OB1中添加‘RDREC’指令。REQ引脚指向DB1的Start;ID引脚指向“Local~PROFINET_接口_1”;INDEX引脚输入 16#F841 ;RECORD引脚指向DB1的LOC_LAN。
使用VALID控制Start来停止‘RDREC’指令。


3、将程序下载至PLC中并运行。将Start置1,读取本地PLC网口的MAC地址、IP地址等参数如下图。

五、结语

本次实验使用的博图版本是V17,有兴趣的可以将这个方法用在其它版本中。
上述DB1中LOC_LAN结构变量的Spare中还包含本地PLC的站名、MRP等内容,有兴趣的可研究一下。

S7-1200/1500获取本地IP地址(不使用库)相关推荐

  1. //获取本地IP地址和对端IP地址

    1 //获取本地IP地址 2 CHAR * GetLocalIpAdrr(int fd) 3 { 4 struct sockaddr_in stHost; 5 memset(&stHost, ...

  2. 获取本地ip地址适用于windows和Linux环境

    简写版本 package com.gblfy.util;import java.net.Inet4Address; import java.net.InetAddress; import java.n ...

  3. Linux下编程获取本地IP地址的常见方法

    代码编译运行平台:Linux 64bits+g++(-m64),-m64表示生成64bits的程序. 在进行Linux网络编程时,经常用到本机IP地址.本文罗列一下常见方法,以备不时之需. 获取本机I ...

  4. android 获取wifi的ip地址吗,Android开发实现在Wifi下获取本地IP地址的方法

    本文实例讲述了Android开发实现在Wifi下获取本地IP地址的方法.分享给大家供大家参考,具体如下: 代码核心介绍: WifiManager类提供了对设备Wifi功能的管理,包括Wifi开关的打开 ...

  5. vue中获取本地IP地址

    vue中获取本地IP地址 IP地址需要通过js获取: 网上有很多查询接口可以获取到IP,查到的搜狐的比较多,我这里就用搜狐的: http://pv.sohu.com/cityjson?ie=utf-8 ...

  6. 通过js获取本地IP地址

    通过js获取本地IP地址 最近在做pc项目,需要根据用户的IP地址定位城市.IP地址需要通过js获取: 网上有很多查询接口可以获取到IP,我这里用的是搜狐的: http://pv.sohu.com/c ...

  7. VC 获取本地ip地址

    获取本地IP地址有两种做法.一种是使用gethostname函数,代码如下: [cpp] view plaincopy bool CSocketComm::GetLocalAddress(std::s ...

  8. c#获取本地ip地址网关子网掩码_教你如何修改路由器LAN口IP地址的方法

    现在绝大部分品牌或非品牌有线或无线路由器,其LAN口地址一般使用192.168.1.1或192.168.0.1网段,而使用此默认地址,既不安全,有时也不实用,比如局域网中电脑数过高,超过255台,则此 ...

  9. nodejs获取本地IP地址

    //查看本地IP地址getLocalIP() {const os = require('os');const osType = os.type(); //系统类型const ifaces = os.n ...

  10. C#之获取本地IP地址

    最近协助一个项目解决了一个获取IP地址的问题,手机客户端与WebService进行通讯,然后WebService通过TCP通讯把指令传递到另一台PC机上.在测试的过程中,总是会出现WebService ...

最新文章

  1. (转)博弈 SG函数
  2. 法国 计算机金融 大学,捷报|GPA3.0,计算机转申金融,斩获法国顶级商学院录取!...
  3. redis延迟队列 实现_灵感来袭,基于Redis的分布式延迟队列
  4. 在线教育如何应对流量洪峰?阿里云专家:上云+云数据库是最佳路径
  5. Netty工作笔记0079---Log4j整合到Netty
  6. Kafka常见面试问题
  7. 关于Encode in UTF-8 without BOM
  8. HFSS19 官方中文教程系列 L06
  9. 韦东山嵌入式Linux第一期视频-韦东山-专题视频课程
  10. 电脑显示未连接一个服务器怎么处理,Win7开机提示“未能连接一个windows服务”的解决方法...
  11. 橡胶密封件老化原因有哪些?
  12. Java IDE介绍和使用
  13. Android wms粗略介绍
  14. 国内物联网产业仍处初级阶段 运营商NB-IoT大有可为
  15. Gunicorn-使用详解
  16. VS无法使用宏定义#define解决方案
  17. 【2022年的STM32】 04-GPIO特性、使用及与NXP GPIO比较
  18. (原创)详解Quartus导出网表文件:.qxp和.vqm
  19. gulp压缩整合css和js文件
  20. Redis Key 统一管理技巧

热门文章

  1. 资格考试_第三章_证券投资基金的类型
  2. 牛客练习赛53E 老瞎眼 pk 小鲜肉(线段树)
  3. 选择结构与分支结构 计算器的实现
  4. java 根据条件从List中筛选出符合条件的集合
  5. linux新建目录自动777权限,什么是777权限?Linux及Windows下如何设置文件夹的权限为777?...
  6. 第四届传智杯 小卡与质数(java实现)
  7. 小白学习java第二天
  8. CTU Open Contest 2019 -A-Beer Barrels
  9. Blogspot.com再次解封
  10. Zynga的数据分析