西门子smart以太网指令通讯怎么用第一plc控制第二个第三个,在第三个控制第一个plc

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

由于网上找到的大部分指令解析资料都是以1200、300 等为主的指令,并未见到200smart系列且恰巧项目需要与该plc通讯读写数据。虽然找到一些现有c#的工程代码不过对200smart系列通讯总有些问题若用opc需要资金成本,故觉定自行开发通讯软件找时间进行学习指令。

使用kepwareOPC服务器以及Wireshark网络数据抓包工具实现对s7-200smart PLC通讯指令分析最终通过软件组合对应指令实现数据读取。

先配好OPC服务器并通过quick client能正确读取到指定内存地址的数据。

根据网上资料显示西门子PLC通讯前需进行两次握手指令而opc服务器仅在有客户端连接时才会發送指令。故:
1、先启动抓包软件监听与PLC连接的网卡设置过滤规则只显示TCP协议;

抓包软件中通过源IP及目标IP确定指令收发方向,在封包数據中只需观察以下几行数据即可:
Wireshark软件将数据包及协议进行明显的标识方便能查看到对应数据

从数据包中可看到上位机发送的指令为

PLC回複(上图黄框)
从图中可看到回复的指令以及每一位对应意义

每一位对应如上图,对比资料发现第二次握手数据为固定格式

本次测试读取PLC M20区一个字节、Q0区一个字、V0区双字;
注:OPC服务器会将多种读取目标组合成一个指令

上图中从0030行中的“03 00 …”开始至结尾,每一位对应上上图
此处读取的数据长度为十进制的十六进制显示,例如长度1表示为0x01,长度4表示为0x04.

该指令中包含三组读取指令,每组以

12 0A 10 02 ... 开头后面紧跟兩个字节为读取的长度,以字节为单位


依然从0030行的“03 00 …”开始至结尾
每一位对应意义如下图:
由图中可知三组数据依次为:0x00,0x00000

软件介绍判断時可先判断指令中的成功读取标志:0xff然后截取对应长度的数据即可
此处长度表示为 ( 字节长度 x 8 ) 即位的数量例如:1 指令中为0x08, 长度2在指令中为 0x10 長度4在指令中为0x20

发布了5 篇原创文章 · 获赞 4 · 访问量 1万+

}

步进程序急停与恢复的解决方案

這里提供了一个实例说明了步进(顺序)控制程序的主要特定和注意事项,提供了一个停止和恢复顺控程序功能的解决方案

系统要求循环执行步进程序,程序启动后按编制的顺序执行程序:

}

我要回帖

更多关于 西门子smart以太网指令 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信