STEP协议解读
guibin.beijing@gmail.com
0. STEP协议是什么?
STEP: Securities Trading Exchange Protocol,是中国金融行业数据通信标准JR/T0022-2004,目前被深圳交易所采用,作为Leve II数据向信息服务商分发的数据的标准协议。本文讨论的内容是基于STEP 1.0.0。
1. STEP 1.0.0(SZ)支持的重传消息类型
目前STEP 1.0.0 协议支持4种重传的消息。包括证券信息消息StockInfo,逐笔委托消息Order,逐笔成交消息Trade,公告消息Bulletin,证券状态消息StockStatus。
不支持重传的消息包括:行情快照Snapshot消息和指数快照消息Index。
目前STEP1.0.0协议不提供数据的消息包括委托排名OrderRank消息,成交排名TradeRank消息。
2. STEP1.0.1(SS)支持的重传消息类型
行情快照MarketData,OrderRanking,TransactionRankingByIndustry,SingleOrderCancellationRanking,ConsolidatedOrderCancellationRanking, OrderQueue,指数快照Index,MarketOverview,Reference,Announcement
3. STEP1.0.0(SZ)数据重传方法
证券信息消息StockInfo重传通过指定
记录索引重传。
逐笔委托消息Order和逐笔成交消息Trade重传通过指定
证券集代号和
记录索引进行重传。
公告消息Bulletin重传通过指定
公告索引进行重传。
数据重传需要客户端和服务器端之间建立
另外一个TCP数据通道。重传完毕之后,客户端就可以断开同服务器之间的连接了。
什么是记录索引?
StockInfo消息中的记录索引是消息体body的第一个字段RecNo(8926)。
什么是证券集代号和记录索引?
Order消息中消息体body前两个字段SetNo(10115)和RecNo(8926)分别是证券集代号和委托索引。
Trade消息中消息体body前两个SetNo(10115)和RecNo(8926)和Order消息一样,分别是证券集代号和成交索引。
什么是公告索引?
Bulletin消息中消息体body第一个字段BulletinID(10124),是公告的唯一标识。
4. STEP1.0.1(SSE)数据重传方法
总体上SSE恢复数据的方式分为恢复个别消息或者恢复全部消息两种方式。
a) 增量恢复个别消息(Incremental rebuild)
对于消息体第一个字段是MsgSeqID,并且不为-1的7种消息(行情快照MarketData,OrderRanking,TransactionRankingByIndustry,SingleOrderCancellationRanking,ConsolidatedOrderCancellationRanking, OrderQueue,指数快照Index,MarketOverview)支持按照MsgSeqID为标识恢复数据。
逐笔成交Transaction消息按照TradeIndex为标识恢复数据。
b) 重新恢复全部行情类消息(Full image rebuild)
这种恢复消息方式不适用于行情快照MarketData和market depth类数据。除此之外的其他行情类数据均适用。
c) 重新恢复全部Reference消息
d) 重新恢复全部公告信息
5. 重传的交互过程
a) 客户端向服务器端建立新的TCP连接,并发送Resend消息申请重传。
b) 服务器端返回给客户端响应的数据记录。
c) 所有数据返回给客户端后,最后返回一条Resend消息给客户端,此Resend消息的作用是告诉客户端本次重传操作的状态(全部成功?没有全部成功?失败或者拒绝重传请求?目前不能重传?)。
6. QuickFix/J中补数据逻辑和STEP协议的差别
Fix协议规定,仅仅根据消息头中MsgSeqNum就可以再次请求丢失的消息,而STEP使用了扩展的body中的一个或者多个字段来请求丢失的消息。
Fix中使用ResendRequest消息请求丢失的消息,在ResendRequest中填入两个必选参数MsgSeqNum的起始和结束。而STEP使用了客户化的Resend消息,根据请求的不同类型的数据生成不同的Resend,比如请求Order和Trade,需要填入SetNo,BeginRecNo,EndRecNo;请求StockInfo时只需要BeginRecNo和EndRecNo,不需要SetNo;请求Bulletin需要需要填入BulletinID,不需要SetNo, BeginRecNo, EndRecNo。
7. 客户化QuickFix/J实现STEP中的补数据
a) 首先要屏蔽QuickFix/J中自动根据消息头判断并在同一线程中发送ResendRequest。
b) QuickFix/J发现缺少消息时,对补数据进程发送时间,通知Resend,让单独的进程去补数据。
c) 在单独的进程中,根据收到的补数据事件,解析得到相关参数,同服务器建立新的TCP/IP连接、登陆并请求丢失的数据消息。
Guibin
2011-01-04
分享到:
相关推荐
* VOOC:Voltage Open Loop Multi-step Constant-Current Charging,电压开环多步恒流充电 * Quick Charge:快速充电 4. 通用要求 UFCS快充协议规定了充电器、充电线、充电接口等方面的通用要求,包括: * 充电器...
在实际应用中,可能还需要参考设备制造商提供的USS协议手册,以便正确地配置通信参数和解读返回的数据。 总结来说,USS协议库是西门子Tbox_V32 STEP7软件中的一个重要组成部分,它使得PLC能够高效地与支持USS协议的...
在通信和网络部分,手册将详细介绍SIMATIC S7 系统与其他设备(如HMI、其他PLC、PC等)之间的通信设置和协议,如MPI、PROFIBUS 和 PROFINET。这部分内容对于构建分布式控制系统尤其重要。 最后,手册还会涉及程序的...
此外,它还可能涵盖STEP5系统的硬件组成部分,如CPU模块、输入/输出模块、编程设备以及与上位机的通信协议等。 系统配置部分可能涉及网络设置、地址分配、存储器管理等内容,这对于确保PLC的正常运行至关重要。故障...
该标准的第二版发布于2002年1月15日,文件扩展名通常为.stp或.step,表明文件内容遵循STEP应用协议。STEP文件以ASCII(美国标准代码交换信息)结构存储,这种结构使得文件可读性较高,每一行通常代表一个特定的数据...
6. **通信与网络**:了解如何配置PLC与上位机或其他设备的通信,包括MPI、PROFINET、Ethernet/IP等通信协议的应用。 7. **诊断与故障处理**:讲解如何解读和处理编程和运行时的错误信息,以及如何进行有效的故障...
本文主要围绕西门子STEP7通讯编程中的常用命令进行详细解读,旨在帮助读者更好地理解和掌握这些命令的应用方法。 #### 二、重要知识点详解 ##### 1. 实际参数(Actual Parameter) 实际参数是指在程序调用时传递...
分析PPI协议的关键在于截取并解读PC与PLC之间的通信数据。使用串口分支器,我们可以同时监听到Step 7 Micro/Win32软件与PLC的通讯。通过对Step7发送的指令进行捕获和解码,可以推断出PPI协议的报文结构。通过与...
- **附录B:模态工作列表和执行步骤在原 DICOM 标准中的集成**(第61页)介绍了如何将模态工作列表(Modality Worklist)和模态执行步骤(Modality Performed Procedure Step)这两个概念集成到 DICOM 标准中,从而...
- **通信协议原理**:深入理解Modbus协议或者其他可能使用的通讯协议,包括地址映射、数据类型和命令格式。 - **网络布线与信号调试**:熟悉工业自动化现场的布线规范,如何使用示波器或其他工具进行信号测试和故障...
6. **通信与网络**:详述S7 PLC如何与其他设备通信,包括Profibus、Profinet和MPI等协议的应用。 7. **模拟与测试**:提供关于如何在软件中模拟PLC运行和测试程序的指导。 8. **故障处理与诊断**:介绍如何解读...
信息交换接口被分为四层:最底层为SDAI接口,中间层为应用协议层API,第三层为应用层API,最上层为具体应用系统接口模块。 ### 知识点三:基于PDM的数据转换方法 PDM(产品数据管理)系统是用于管理与产品有关的...
本资料包“Safety_V15.rar”是针对西门子安全继电器ESTOP(紧急停止)和FEED(进给)功能的详细解读,特别适用于博途(TIA Portal)V15版本的用户。由于西门子官网已对相关资源设限,这一资料包显得尤为珍贵。 一、...
通过STEP7软件工具进行程序的上传、解读和诊断,可以实现对电控系统故障的快速定位和解决。此外,了解电气传动系统中PLC的作用,能帮助技术人员更好地理解故障点和采取合适的故障排除方法,从而提高钻井作业的效率和...
以下是根据提供的文件内容,详细解读Profibus DP开发测试系统相关知识点: 1. Profibus DP概念和应用背景 Profibus DP(Decentralized Peripherals)是一种高速现场总线标准,它用于自动化环境中分布式I/O的通信。...
本实例聚焦于西门子S7-200 PLC与ABB 550系列变频器的通讯实践,通过详细解读和分析提供的压缩包文件,我们可以深入理解这一通信过程中的关键知识点。 首先,S7-200是西门子推出的一款小型PLC,具有成本效益高、编程...
由于原文档可能存在OCR扫描识别错误或遗漏,以下内容将基于已识别的信息进行详细解读。 首先,文档询问是否可以通过以太网控制POSMO。给出的答案是不可以直接通过以太网控制POSMO,因为POSMO没有以太网接口。然而,...
下面将对这两种方法进行深入解读。 一、WINCC使用CP5611通讯卡通过MPI连接PLC 在进行这种通信设置前,有以下几个前提条件需要满足: 1. STEP 7硬件组态:首先,必须在STEP 7中正确配置PLC的硬件,包括定义CPU模块...
1. 详细的编程示例:这可能是一个完整的STEP 7 Micro/WIN项目,包含了设置MODBUS通信和与LG变频器交互的程序。 2. 用户指南或教程:解释如何配置S7-200 PLC的MODBUS通信,以及如何解读LG变频器的MODBUS地址表。 3. ...