当前位置: 首页 > news >正文

C#中的S7协议

S7协议-S7COMM

S7COMM 进行写

CTOP->PDU type已知枚举值

0X0E连接请求
0x0d连接确认
0x08断开请求
0x0c断开确认
0x05拒绝访问
0x01加急数据
0x02加急数据确认
0x04用户数据
0x07TPDU错误
0x0f数据传输

S7Header->ROSCTR已知枚举值

0X01JOB REQUEST。主站发送请求
0x02Ack。从站响应请求不带数据
0x03Ack_Data。从站响应请求并带有数据
0x07Userdata。原始协议的扩展。读取编程/调试、SZL读取、安全功能、时间设置等

S7Header->Error class已知枚举值

0X00无错误
0x81应用程序关系错误
0x82对象定义错误
0x83无资源可用错误
0x84服务处理错误
0x85请求错误(如果有错,此码较多)
0x87访问错误

S7Header->Error code已知枚举值

0X0000无错误0X8500L7PDU大小错误
0x0110无效块类型编号0xD401L7无效SZL ID
0x0112无效参数0xD402L7无效索引
0x011APG资源错误0xD403L7 DGS连接已宣布
0x011BPLC重新外包错误0xD404L7 最大用户NB
0x011C协议错误0xD405L7 DGS功能参数语法错误
0x011F用户缓冲区太短0xD406L7无信息
0x0141请求错误0xD601L7 PRT 函数参数语法错误
0x01C0版本不匹配0xD801L7 无效变量地址
0x01F0末实施0xD802L7 未知请求
0x8001L7无效CPU状态0xD803L7 无效请求状态

S7Parameter->Function已知枚举值

0X00CPU服务
0xF0设置通信
0x04读取变量
0x05写变量
0x1A请求下载
0x1B下载块
0x1C下载结束
0x1D开始上传
0x1E上传
0x1F结束上传
0x28PLC 控制
0x29PLC 停止

S7Parameter->Item->Syntax Id已知枚举值

0X10S7ANY:ADDRESS DATA S7-ANY POINTER-LIKE DB1.DBX10.2
0x13PBC-R_ID:R_ID for PBC
0x15ALARM_LOCKFREE:Alarm lock/free dataset
0x16ALARM_IND:Alarm indication dataset
0x19ALARM_ACK:Alarm acknowledge message dataset
0x1aALARM_QUERYREQ:Alarm query request dataset
0x1cNOTIFY_IND:Notify indication dataset
0xa2DRIVEESANY:seen on Drive ES Starter with routing over S7
0xb21200SYM:Symbolic address mode of S7-1200
0xb0DBREAD:Kind of DB block read, seen only at an S7-400
0x82NCK:Sinumerik NCK HMI access

S7Parameter->Item->Area常见值

0X03SYSTEM INFO OF 200 FAMILY | 200系列系统信息
0x05System flags of 200 family | 200系列系统标志
0x06Analog inputs of 200 family | 200系列模拟量输入
0x07Analog outputs of 200 family | 200系列模拟量输出
0x80Direct peripheral access (P) | 直接访问外设
0x81Inputs (I) | 输入(I)
0x82Outputs (Q) | 输出(Q)
0x84Data blocks (DB) | 数据块(DB)
0x85Instance data blocks (DI) | 背景数据块(DI)
0x86Local data (L) | 局部变量(L)
0x87Unknown yet (V) | 全局变量(V)
0x1cS7 counters (C) | S7计数器(C)
0x1dS7 timers (T) | S7定时器(T)
0x1eIEC counters (200 family) | IEC计数器(200系列)
0x1fIEC timers (200 family) | IEC定时器(200系列)

S7Data->Item->Return code已知枚举值

0XFF成功
0x00Reserved | 未定义,预留
0x01硬件错误
0x03对象不允许访问
0x05地址越界,无效地址,所需的地址超出此PLC的极限
0x06请求的数据类型与存储类型不一致
0x07日期类型不一致
0x0a对象不存在

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【计算机网络】应用层自定义协议与序列化
  • 批量查询全国快递单号:高效追踪物流信息
  • HarmonyOS应用开发学习-ArkUI-容器组件
  • springboot的学习(二):常用配置
  • 【算法 04】汉诺塔递归求解和通式求解
  • 【Linux基础】Linux中的开发工具(1)--yum和vim
  • 【学习笔记】Day 11
  • C++11中的左右值引用(略带复习)
  • PyTorch 基础学习(1) - 快速入门
  • 从零开始搭建 LVS 高性能集群 (DR模式)
  • JAVA中的对象流ObjectInputStream
  • uniapp实现自定义弹窗组件,支持富文本传入内容
  • Linux:Linux环境基础开发工具使用
  • DIAdem 与 LabVIEW
  • 【数据结构篇】~顺序表
  • [译]如何构建服务器端web组件,为何要构建?
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • C++入门教程(10):for 语句
  • CAP理论的例子讲解
  • es6(二):字符串的扩展
  • java正则表式的使用
  • java中的hashCode
  • Netty源码解析1-Buffer
  • rabbitmq延迟消息示例
  • React组件设计模式(一)
  • Redis 懒删除(lazy free)简史
  • Twitter赢在开放,三年创造奇迹
  • 安装python包到指定虚拟环境
  • 解决iview多表头动态更改列元素发生的错误
  • 类orAPI - 收藏集 - 掘金
  • 前端代码风格自动化系列(二)之Commitlint
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 如何选择开源的机器学习框架?
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 小程序button引导用户授权
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 一文看透浏览器架构
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #php的pecl工具#
  • #微信小程序:微信小程序常见的配置传值
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (03)光刻——半导体电路的绘制
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (4.10~4.16)
  • (C++17) optional的使用
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (MTK)java文件添加简单接口并配置相应的SELinux avc 权限笔记2
  • (动态规划)5. 最长回文子串 java解决
  • (过滤器)Filter和(监听器)listener