上位机工业协议-S7COMM
1、S7协议主要针对西门子相关设备通信。先了解基本通信对象、通信环境、通信报文,再处理S7COMM通信库的封装与测试。
2、西门子设备通信
- PLC:系列 LOGO、200、200Smart、300、400、1200、1500
- PLC:LOGO、200、200Smart、300、400、1200、1500
- 通信模块/扩展板
- 通信环境
3、通信环境
4、西门子PLC存储区
存储区分类
- I:输入、Q:输出、AI:模拟量输入、V/DB:变量存储区 Modbus 4 个存储区
- AQ:模拟量输出、M:位存储区、T:定时器存储区、C:计数器存储区、HC:高速计数器、AC:累加器、SM:特殊存储器、L:局部存储区、S:顺序控制继电器
访问规则
- bit、Byte、Word、Dword
- 访问地址:最小存储是字节(S7协议 访问非优化块,偏移地址)
I0.0 Q1.3 MB10 MW10 M10.0 VW100 V100.1 DB1.DBX100.5 位地址最大:7
W Word 2Byte 从10号字节开始的两个字节
5、S7COMM-COTP报文
6、S7COMM-Read报文
S7Comm-读 |
||||||||||
长度(bit) |
发送 |
说明 |
长度(bit) |
响应 |
说明 |
|||||
0 |
TPKT |
8 |
0x03 |
Version,版本默认3 |
TPKT |
8 |
0x03 |
Version,版本默认3 |
||
1 |
8 |
0x00 |
Reserved,保留默认0 |
8 |
0x00 |
Reserved,保留默认0 |
||||
2 |
16 |
0x00 |
整个请求字节数 |
16 |
0x00 |
整个请求字节数 |
||||
3 |
0x1f |
0x1a |
||||||||
4 |
COTP |
8 |
0x02 |
当前字节以后的字节数 |
COTP |
8 |
0x02 |
当前字节以后的字节数 |
||
5 |
8 |
0xf0 |
PDU Type,数据传输[附录一] |
8 |
0xf0 |
PDU Type,数据传输 |
||||
6 |
8 |
-000 0000 |
TPDU number |
8 |
-000 0000 |
TPDU number |
||||
1--- ---- |
Last data unit:Yes |
1--- ---- |
Last data unit:Yes |
|||||||
7 |
S7-Header |
8 |
0x32 |
Protocol Id,默认 |
S7-Header |
8 |
0x32 |
Protocol Id,默认 |
||
8 |
8 |
0x01 |
ROSCTR:JOB[附录二] |
8 |
0x03 |
ROSCTR:Ack_Data |
||||
9 |
16 |
0x00 |
Redundancy Identification (Reserved) |
16 |
0x00 |
Redundancy Identification (Reserved) |
||||
10 |
0x00 |
0x00 |
||||||||
11 |
16 |
0x00 |
Protocol Data Unit Reference |
16 |
0x00 |
Protocol Data Unit Reference |
||||
12 |
0x00 |
0x00 |
||||||||
13 |
16 |
0x00 |
Parameter length |
16 |
0x00 |
Parameter length |
||||
14 |
0x0e |
0x02 |
||||||||
15 |
16 |
0x00 |
Data length |
16 |
0x00 |
Data length |
||||
16 |
0x00 |
0x05 |
||||||||
17 |
S7-Parameter |
8 |
0x04 |
Function: Read Var (0x04)[附录五] |
8 |
0x00 |
Error class: No error (0x00) |
|||
18 |
8 |
0x01 |
Item count: 1 |
8 |
0x00 |
Error code: 0x00 |
||||
19 |
Item[1] |
8 |
0x12 |
结构标识,一般默认0x12 |
S7-Parameter |
8 |
0x04 |
Function: Read Var (0x04) |
||
20 |
8 |
0x0a |
此字节往后的字节长度 |
8 |
0x01 |
Item count: 1 |
||||
21 |
8 |
0x10 |
Syntax Id: S7ANY (0x10)[附录六] |
Data |
Item[1] |
8 |
0xff |
Return code: Success (0xff)[附录九] |
||
22 |
8 |
0x02 |
Transport size: BYTE (2)[附录七] |
8 |
0x04 |
Transport size: BYTE/WORD/DWORD (0x04) |
||||
23 |
16 |
0x00 |
数据长度 |
16 |
0x00 |
数据响应长度 |
||||
24 |
0x01 |
0x01 |
||||||||
25 |
16 |
0x00 |
数据块编号 DB1.DBX100.0 |
n |
0x00 |
数据(不定长度) |
||||
26 |
0x01 |
Item2 |
8 |
0xff |
Return code: Success (0xff)[附录九] |
|||||
27 |
8 |
0x84 |
Area[附录八] |
8 |
0x04 |
Transport size: BYTE/WORD/DWORD (0x04) |
||||
28 |
24 |
18-3位 |
Byte Address:100 |
16 |
0x00 |
数据响应长度 |
||||
29 |
0x01 |
|||||||||
30 |
2-0位 |
Bit Address:0 |
n |
0x00 |
数据(不定长度) |
6、S7COMM-Write报文
7、S7COMM-SZL报文
8、S7COMM-通信限制
上位机工业协议-S7COMM相关推荐
- ANO匿名上位机V7协议STM32
ANO匿名上位机V7协议&STM32 说明:以下程序为自己编写,若有误欢迎各位指出. 基于ANO匿名V7上位机的通信协议编写的代码 文章目录 ANO匿名上位机V7协议&STM32 前言 ...
- linux系统读取plc状态,Linux系统下上位机通讯协议及PLC冗余系统组态-工业支持中心-西门子中国...
最近要做一套高可靠性的自动化控制系统,而且上位机(PC)要采用Linux系统.有一些组网的问题想请教大家.(第一次用西门子PLC,可能问的问题不够清晰,见谅)感谢大家的耐心回答. 图1中: 1. PC ...
- C#上位机 串口上位机Modbus协议
文章目录 前言 一.准备工作 二.界面设计 1.LED灯 2.图表 三.程序设计 1.串口配置 2.发送报文 3.CRC校验 4.读写寄存器函数 5.LED状态切换 6.串口接收事件 7.设置电压 8 ...
- 半导体新能源智能装备上位机工业软件设计方案
一.什么是上位机软件 如果说PLC是工业控制的小脑,那么上位机软件就是其大脑.在概念上,控制者和提供服务者是上位机,被控制者和被服务者是下位机,上位机往往是数字信号的处理和命令的下发,下位机往往是模拟 ...
- 三菱5u 上位机mc协议_上位机读写三菱plc fx5u的内存数据示例
这个例子使用HslCommunication类库的三菱plc读写测试程序,所以在使用前,请安装这个组件. HslCommunication类库的作者功底扎实,其代码质量很高,是勇哥学习的标榜. 同时作 ...
- 【愚公系列】2023年07月 WPF+上位机+工业互联 002-WPF布局控件
文章目录 前言 一.WPF布局控件 1.无边框设计 2.理解布局 2.1 WPF的布局处理 2.1 布局原则 2.3 布局过程 3.布局控件 3.1 Grid控件 3.1.1 属性 3.1.2 案例 ...
- 2022-02-22 WPF上位机 123-OPC协议
文章目录 一.OPC DA 1.DA规范 2.DA组件 OPCAuto.dll 3.通信基本对象:Server.Groups.Group.Items.Item.Browser 二.OPC UA 测试环 ...
- 【愚公系列】2023年07月 WPF+上位机+工业互联 015-属性绑定(源更新触发器)
文章目录 前言 一.源更新触发器 1.DataContext数据源 1.1 DataContext代码绑定 1.2 DataContext界面绑定 1.3 自定义集合遍历 3.源更新触发器 前言 WP ...
- 上位机服务器通讯协议,家庭监护终端与手机、上位机及服务器通讯协议22.doc
家庭监护终端与手机或上位机通讯协议 1.手机或上位机发出的START指令 typedef struct { unsigned char header;0xFF unsi gned char heade ...
最新文章
- python【蓝桥杯vip练习题库】ALGO-69字符串逆序
- Cocos2dx-demo演示项目:Part1
- 怀旧服新开服务器最新,暴雪官方发大招,怀旧服新开11个新服务器
- 在Ubuntu 7.04上安装Xfce 4.4.1
- 如何打造一款出色的APP
- DotNetTextBoxV3.0在线编辑器控件Ver3.4.1 Open Source开源版(附商业试用版下载)
- LIBSVM在MATLAB中的使用及SVM最优参数选取示例代码
- 用 Natasha 写个类型调用的架子
- iphone11什么时候上市_红米k30s至尊纪念版什么时候上市开售 预售地址入口
- [面试] C/C++ 语法(五) —— extern
- 计算机组成原理(白中英) 第四章 课后题答案
- Javaweb实现在线预览word文件
- 中职 计算机 教案,中职计算机基础教案.doc
- Excel两列数据对比,找出重复数据
- Layui选项卡Tab和Layui模板laytpl冲突问题
- 安装 Ubuntu 21.04 后必备的绝佳应用大合集(持续更新中)
- 淘宝七天自动确认收货,让你设计,可以怎么实现?(附源码)
- 苹果服务器关闭微信,为什么苹果手机关闭微信也能收到消息?这就是国内安卓耗电高的原因...
- php ftp 时间不对,ftp时间差8小时引起的?
- 体育生学编程——html学习