加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
dlt698.45.asn1 45.20 KB
一键复制 编辑 原始数据 按行查看 历史
eomer 提交于 2019-11-14 12:27 . set-request
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172
DLT69845 DEFINITIONS ::= BEGIN
-----------------------------basic data type---------------------------------------
Array ::= SEQUENCE OF Data
Structure ::= SEQUENCE OF Data
Bool ::= BOOLEAN
Bit-string ::= BIT STRING
DoubleLong ::= INTEGER(-2147483648..2147483647)
DoubleLongUnsigned ::= INTEGER(0..4294967295)
Octet-string ::= OCTET STRING
Visible-string ::= VisibleString
UTF8-string ::= UTF8String
Integer8s ::= INTEGER(-128..127)
Long ::= INTEGER(-32768..32767)
Unsigned ::= INTEGER(0..255)
LongUnsigned ::= INTEGER(0..65535)
Long64 ::= INTEGER(-9223372036854775808..9223372036854775807)
--Long64Unsigned ::= INTEGER(0..18446744073709551615)
Long64Unsigned ::= BIT STRING(SIZE(64))
Enum ::= INTEGER(0..255)
Float32 ::= OCTET STRING(SIZE(4))
Float64 ::= OCTET STRING(SIZE(8))
Date-Time ::= SEQUENCE {
year LongUnsigned,
month Unsigned,
dayOfMonth Unsigned,
dayOfWeek Unsigned,
hour Unsigned,
minute Unsigned,
second Unsigned,
milliseconds LongUnsigned
}
Date ::= SEQUENCE {
year LongUnsigned,
month Unsigned,
dayOfMonth Unsigned,
dayOfWeek Unsigned
}
Time ::= SEQUENCE {
hour Unsigned,
minute Unsigned,
second Unsigned
}
Date-Time-S ::= SEQUENCE { -- date_time_s
year LongUnsigned,
month Unsigned,
dayOfMonth Unsigned,
dayOfWeek Unsigned,
hour Unsigned,
minute Unsigned,
second Unsigned
}
OI ::= LongUnsigned --对象标识
OAD ::= SEQUENCE { --Object Attribute Descriptor, 对象属性描述符
objId OI, --对象标识
attrIdChara Unsigned, --属性标识及其特征, 其中:
--1. bit0...bit4 编码表示对象属性编号, 取值 0...31, 其中 0 表
--示整个对象属性, 即对象的所有属性, 见 8.2.1;
--2. bit5...bit7 编码表示属性特征, 属性特征是对象同一个属性
--在不同快照环境下取值模式, 取值 0...7, 特征含义在具体类
--属性中描述.
attrElemIdx INTEGER(1..255) --属性内元素索引: 00H 表示整个属性全部内容.如果属性是结构
--或数组, 01H 指向对象属性的第一个元素;如果属性是记录型的存
--储区, 非 0 值 n 表示最近第 n 次的记录.
}
OadList ::= SEQUENCE OF OAD
ROAD ::= SEQUENCE {
objDescr OAD,
ralateObjDescr OadList
}
OMD ::= SEQUENCE {
objId OI,
methodId INTEGER(1..255),
actionMode INTEGER(0)
}
TI::=SEQUENCE {
unit ENUMERATED {
sec (0),
minute (1),
hour (2),
day (3),
month (4),
year (5)
},
interval LongUnsigned
}
TSA ::= Octet-string(SIZE(2..17))
MAC ::= Octet-string
RN ::= Octet-string --ESAM 生成用于加密的信息串。
Region ::= SEQUENCE {
regionUnit ENUMERATED {
closeOpen (0),
openClose (1),
closeClose (2),
openOpen (3)
},
start Data,
end Data
}
ScalerUnit ::= SEQUENCE {
conversion Integer8s, --换算-倍数因子的指数,基数为 10;如数值不是数字的,则换算应被置 0。
unit PhysicalUnit --物理单位, 详见698.45<表B.1 物理单位的枚举定义>, 其符号待以后添加
}
RSD ::= CHOICE {
notSel [0] NULL,
sel1 [1] Selector1,
sel2 [2] Selector2,
sel3 [3] Selector3,
sel4 [4] Selector4,
sel5 [5] Selector5,
sel6 [6] Selector6,
sel7 [7] Selector7,
sel8 [8] Selector8,
sel9 [9] Selector9,
sel10 [10] Selector10
}
Selector1 ::= SEQUENCE {
objDescr OAD,
value Data
}
Selector2 ::= SEQUENCE {
objDescr OAD, --对象描述符
startValue Data, --起始值
endValue Data, --结束值
interv Data --数据间隔
}
Selector3 ::= SEQUENCE OF Selector2
Selector4 ::= SEQUENCE {
acqStartTime Date-Time-S, --采集启动时间
meterSet MS --电能表集合
}
Selector5 ::= SEQUENCE {
acqStoreTime Date-Time-S,
meterSet MS
}
Selector6 ::= SEQUENCE {
acqStartTimeStartValue Date-Time-S, --采集启动时间起始值
acqStartTimeEndValue Date-Time-S, --采集启动时间结束值
timeInterv TI, --时间间隔
meterSet MS --电能表集合
}
Selector7 ::= SEQUENCE {
acqStoreTimeStartValue Date-Time-S, --采集存储时间起始值
acqStoreTimeEndValue Date-Time-S, --采集存储时间结束值
timeInterv TI, --时间间隔
meterSet MS --电能表集合
}
Selector8 ::= SEQUENCE {
acqSucTimeStartValue Date-Time-S, --采集成功时间起始值
acqSucTimeEndValue Date-Time-S, --采集成功时间结束值
timeInterv TI, --时间间隔
meterSet MS --电能表集合
}
Selector9 ::= SEQUENCE {
upNRec Unsigned --上n次记录
}
Selector10 ::= SEQUENCE {
upNRecord Unsigned, --上 n 条记录
meterSet MS --电能表集合
}
RCSD ::= SEQUENCE OF CSD
CSD ::= CHOICE {
oad [0] OAD,
road [1] ROAD
}
MS ::= CHOICE {
noMeter [0] NULL,
allAddr [1] NULL,
aGrpUserType [2] SEQUENCE OF Unsigned, --一组用户类型
aGrpUserAddr [3] SEQUENCE OF TSA, --一组用户地址
aGrpCfgSeq [4] SEQUENCE OF LongUnsigned, --一组配置序号
aGrpUserTypeInterv [5] SEQUENCE OF Region, --一组用户类型区间
aGrpUserAddrInterv [6] SEQUENCE OF Region, --一组用户地址区间
aGrpUserCfgSeqInterv [7] SEQUENCE OF Region --一组配置序号区间
}
DAR ::= ENUMERATED {
suc (0), -- 成功
hardInvalid (1), -- 硬件失效
invalidForMoment (2), -- 暂时失效
refuseRdWr (3), -- 拒绝读写
objNotDef (4), -- 对象未定义
objInterNotMatch (5), -- 对象接口类不符合
objNotExist (6), -- 对象不存在
typeNotMatch (7), -- 类型不匹配
overflow (8), -- 越界
dataBlkDisable (9), -- 数据块不可用
subframeTransCancle (10), -- 分帧传输已取消
notInSubframeTransState (11), -- 不处于分帧传输状态
cancleBlkWR (12), -- 块写取消
blkWRNotExist (13), -- 不存在块写状态
blkSeqInvalid (14), -- 数据块序号无效
passwdWrongOrNotPermit (15), -- 密码错/未授权
cannotModifyBaudrate (16), -- 通信速率不能更改
overflowYearInterval (17), -- 年时区数超
overflowDayInterval (18), -- 日时段数超
overflowRateCnt (19), -- 费率数超
securityCertificateNotMatch (20), -- 安全认证不匹配
repeatRecharge (21), -- 重复充值
esamAuthenticationFailed (22), -- ESAM验证失败
saftyAuthenticationFailed (23), -- 安全认证失败
customerIDNotMatch (24), -- 客户编号不匹配
rechargeCntErr (25), -- 充值次数错误
electricityPurchasingOverflow (26), -- 购电超囤积
addrException (27), -- 地址异常
symmetricDecryptionErr (28), -- 对称解密错误
asymmetricDecryptionErr (29), -- 非对称解密错误
signatureErr (30), -- 签名错误
meterSuspend (31), -- 电能表挂起
timeTagInvalid (32), -- 时间标签无效
other (-255) -- 其它
}
PhysicalUnit ::= ENUMERATED {--NOT COMPLETE
a (1),
mo (2),
wk (3),
d (4),
h (5),
min (6),
s (7),
rad (8),
tK (9),
currency (10),
m (11),
mPerSec (12),
squareMeter (13),
sqMeter (14),
sqMeterPerHour (15)
}
SID ::= SEQUENCE {
identity DoubleLongUnsigned,
appendData Octet-string
}
SID-MAC ::= SEQUENCE {
saftyId SID,
dataMAC MAC
}
BaudRate ::= ENUMERATED {
baud300bps (0),
baud600bps (1),
baud1200bps (2),
baud2400bps (3),
baud4800bps (4),
baud7200bps (5),
baud9600bps (6),
baud19200bps (7),
baud38400bps (8),
baud57600bps (9),
baud115200bps (10),
autoAjust (255)
}
Parity ::= ENUMERATED {
no(0), odd(1), even(2)
}
DataBits ::= ENUMERATED {
databit5(5), databit6(6),
databit7(7), databit8(8)
}
StopBits ::= ENUMERATED {
stopbits1(1), stopbits2(2)
}
FlowCtl ::= ENUMERATED {
no(0), hard(1), soft(2)
}
COMDCB ::= SEQUENCE {
baudrate BaudRate,
parity Parity,
databits DataBits,
stopbits StopBits,
flowctl FlowCtl
}
PIID ::= Unsigned --PIID 用于客户机 APDU(Client-APDU)的服务数据类型中, 其中:
--bit7(服务优先级)
--0: 普通优先级, 1:高优先级, 在应答 APDU
--中, 其值与请求的 APDU 相同.
--bit6(保留).
--bit0..bit5(服务序号): 二进制编码表示 0..63, 在应答 APDU 中,
--其值与请求的 APDU 相同.
PIID-ACD ::= Unsigned --PIID-ACD 用于服务器 APDU(Server-APDU)的服务数据类型中, 其中:
--bit7(服务优先级): 见 PIID.
--bit6(请求访问 ACD): 0:不请求, 1:请求。
--bit0..bit5(服务序号): 见 PIID.
ConnectMechanismInfo ::= CHOICE {
publicConnection [0] NullSecurity, --公共连接
pwdSec [1] PasswordSecurity, --一般密码
symmSec [2] SymmetrySecurity, --对称加密
sigSec [3] SignatureSecurity --数字签名
}
NullSecurity ::= NULL
PasswordSecurity ::= Visible-string
SymmetrySecurity ::= SEQUENCE{
cipherText1 Octet-string, --密文1
clientSig1 Octet-string --客户机签名1
}
SignatureSecurity ::= SEQUENCE{
cipherText2 Octet-string, --密文2
clientSig2 Octet-string --客户机签名2
}
ConnectResult ::= ENUMERATED{
allowEstablishAppLink (0) , --允许建立应用连接
pwdInvalid (1) , --密码错误
symmDecodeErr (2) , --对称解密错误
asymmDecodeErr (3) , --非对称解密错误
sigInvalid (4) , --签名错误
protocolVerNotMatch (5) , --协议版本不匹配
otherErr (255) -- 其他错误
}
ConnectResponseInfo ::= SEQUENCE{
authResult ConnectResult, --认证结果
authAnnexationInfo SecurityData OPTIONAL --认证附加信息
}
SecurityData ::= SEQUENCE{
svrRN RN, --服务器随机数
svrSigInfo Octet-string --服务器签名信息
}
Data ::= CHOICE {
null [0] NULL,
array [1] SEQUENCE OF Data,
structure [2] SEQUENCE OF Data,
bool [3] Bool,
bitString [4] Bit-string,
doubleLong [5] DoubleLong,
doubleLongunsigned [6] DoubleLongUnsigned,
octetString [9] Octet-string,
visibleString [10] VisibleString,
utf8String [12] UTF8String,
integer [15] Integer8s,
long [16] Long,
unsigned [17] Unsigned,
longunsigned [18] LongUnsigned,
long64 [20] Long64,
long64Unsigned [21] Long64Unsigned,
enum [22] Enum,
float32 [23] Float32,
float64 [24] Float64,
dateTime [25] Date-Time,
date [26] Date,
time [27] Time,
date-Time-s [28] Date-Time-S,
oi [80] OI,
oad [81] OAD,
road [82] ROAD,
omd [83] OMD,
ti [84] TI,
tsa [85] TSA,
mac [86] MAC,
rn [87] RN,
region [88] Region,
scalerUnit [89] ScalerUnit,
rsd [90] RSD,
csd [91] CSD,
ms [92] MS,
sid [93] SID,
sidMac [94] SID-MAC,
comdcb [95] COMDCB,
rcsd [96] RCSD
}
-----------------------------basic data type end------------------------------------
-----------------------------APDU data type---------------------------------------
LINK-APDU ::= CHOICE {
linkRequest [1] LINK-Request, --预连接请求
linkResponse [129] LINK-Response --预连接响应
}
Client-APDU ::= SEQUENCE {
appLayerSvrClient CHOICE {
connectRequest [2] CONNECT-Request, --建立应用链接请求
releaseRequest [3] RELEASE-Request, --断开应用链接请求
getRequest [5] GET-Request, --读取请求
setRequest [6] SET-Request, --设置请求
actionRequest [7] ACTION-Request, --操作请求
reportResponse [8] REPORT-Response, --上报响应
proxyRequest [9] PROXY-Request, --代理请求
errorResponse [110] ERROR-Response --异常响应
},
timeTag TimeTag OPTIONAL --时间标签
}
Server-APDU ::= SEQUENCE {
appLayerSvrServer CHOICE {
connectResponse [130] CONNECT-Response, --建立应用链接响应
releaseResponse [131] RELEASE-Response, --断开应用连接响应
releaseNotification [132] RELEASE-Notification, --断开应用连接通知
getResponse [133] GET-Response, --读取响应
setResponse [134] SET-Response, --设置响应
actionResponse [135] ACTION-Response, --操作响应
reportNotification [136] REPORT-Notification, --上报通知
proxyResponse [137] PROXY-Response, --代理响应
errorResponse [238] ERROR-Response --异常响应
},
followRpt FollowReport OPTIONAL, --跟随上报信息域
timeTag TimeTag OPTIONAL --时间标签
}
ArrayOfaResultNormal ::= SEQUENCE OF A-ResultNormal --若干个对象属性及其数据
ArrayOfaResultRecord ::= SEQUENCE OF A-ResultRecord --若干个记录型对象属性及其数据
FollowReport ::= CHOICE {
arrayOfObjAttrData [1] ArrayOfaResultNormal, --若干个对象属性及其数据
arrayOfRecAttrData [2] ArrayOfaResultRecord --若干个记录型对象属性及其数据
}
TimeTag ::= SEQUENCE {
sendTime Date-Time-S, --发送时标
allowDelay TI --允许传输延时时间
}
SECURITY-APDU ::= CHOICE {
security-Request [16] SECURITY-Request, --安全请求
security-Response [144] SECURITY-Response --安全响应
}
LinkRequestType ::= ENUMERATED { --请求类型
login (0), --登录
heartBeat (1), --心跳
exit (2) --退出登录
}
LINK-Request ::= SEQUENCE {
piid-acd PIID-ACD, --服务序号-优先级-ACD
requestType LinkRequestType,
heartCycle LongUnsigned, --心跳周期
requestTime Date-Time --请求时间
}
LinkResponseResult ::= Bit-string(SIZE(8))
LINK-Response ::= SEQUENCE {
prioInvID PIID,
res LinkResponseResult, --结果
requestTime Date-Time, --请求时间
recvTime Date-Time, --收到时间
responseTime Date-Time --响应时间
}
CONNECT-Request ::= SEQUENCE {
prioInvID PIID,
expectAppProtocolVer LongUnsigned, --期望的应用层协议版本号
expectProtocolConsistency ProtocolConformance, --期望的协议一致性块
expectFuncConsistency FunctionConformance, --期望的功能一致性块
clientMaxSend LongUnsigned, --客户机发送帧最大尺寸
clientMaxRecv LongUnsigned, --客户机接收帧最大尺寸
clientMaxWindow Unsigned, --客户机接收帧最大窗口尺寸
clientMaxApdu LongUnsigned, --客户机最大可处理APDU尺寸
expectAppLinkDelay DoubleLongUnsigned, --期望的应用连接超时时间
authRequestObj ConnectMechanismInfo --认证请求对象
}
CONNECT-Response ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
factoryVer FactoryVersion, --服务器厂商版本信息
negotiateAppProtocolVer LongUnsigned, --商定的应用层协议版本号
negotiateProtocolConsistency ProtocolConformance, --商定的协议一致性块
negotiateFuncConsistency FunctionConformance, --商定的功能一致性块
svrMaxSend LongUnsigned, --服务器发送帧最大尺寸
svrMaxRecv LongUnsigned, --服务器接收帧最大尺寸
svrMaxWindow Unsigned, --服务器接收帧最大窗口尺寸
svrMaxApdu LongUnsigned, --服务器最大可处理APDU尺寸
negotiateAppLinkDelay DoubleLongUnsigned, --商定的应用连接超时时间
connectResponseObj ConnectResponseInfo --连接响应对象
}
FactoryVersion ::= SEQUENCE {
vendorCode VisibleString(SIZE (4)), --厂商代码
softVerCode VisibleString(SIZE (4)), --软件版本号
softverDate VisibleString(SIZE (6)), --软件版本日期
hardVerCode VisibleString(SIZE (4)), --硬件版本号
hardVerDate VisibleString(SIZE (6)), --硬件版本日期
vendorExtInfo VisibleString(SIZE (8)) --厂家扩展信息
}
ProtocolConformance ::= Bit-string(SIZE(64))
--{
-- 应用连接协商 Application Association (0),
-- 请求对象属性 Get Normal (1),
-- 批量请求基本对象属性 Get With List (2),
-- 请求记录型对象属性 Get Record (3),
-- 代理请求对象属性 Get Proxy (4),
-- 代理请求记录型对象属性 Get Proxy Record (5),
-- 请求分帧后续帧 Get Subsequent Frame (6),
-- 设置基本对象属性 Set Normal (7),
-- 批量设置基本对象属性 Set With List (8),
-- 设置后读取 Set With Get (9),
-- 代理设置对象属性 Set Proxy (10),
-- 代理设置后读取对象属性 Set Proxy With Get (11),
-- 执行对象方法 Action Normal (12),
-- 批量执行对象方法 Action With List (13),
-- 执行方法后读取 Action With List (14),
-- 代理执行对象方法 Action Proxy (15),
-- 代理执行后读取 Action Proxy With Get (16),
-- 事件主动上报 Active Event Report (17),
-- 事件尾随上报 (18),
-- 事件请求访问位 ACD 上报 (19),
-- 分帧数据传输 Slicing Service (20),
-- Get-request 分帧 (21),
-- Get-response 分帧 (22),
-- Set-request 分帧 (23),
-- Set-response 分帧 (24),
-- Action-request 分帧 (25),
-- Action-response 分帧 (26),
-- Proxy-request 分帧 (27),
-- Proxy-response 分帧 (28),
-- 事件上报分帧 (29),
-- DL/T645-2007 (30),
-- 安全方式传输 (31),
-- 对象属性 ID 为 0 的读取访问 (32),
-- 对象属性 ID 为 0 的设置访问 (33)
--}
FunctionConformance ::= Bit-string(SIZE(128))
--{
-- 电能量计量 (0),
-- 双向有功计量 (1),
-- 无功电能计量 (2),
-- 视在电能计量 (3),
-- 有功需量 (4),
-- 无功需量 (5),
-- 视在需量 (6),
-- 复费率 (7),
-- 阀控 (8),
-- 本地费控 (9),
-- 远程费控 (10),
-- 基波电能 (11),
-- 谐波电能 (12),
-- 谐波含量 (13),
-- 波形失真度 (14),
-- 多功能端子输出 (15),
-- 事件记录 (16),
-- 事件上报 (17),
-- 温度测量 (18),
-- 状态量监测(如:开表盖/开端钮盖) (19),
-- 以太网通信 (20),
-- 红外通信 (21),
-- 蓝牙通信 (22),
-- 多媒体采集 (23),
-- 级联 (24),
-- 直流模拟量 (25),
-- 弱电端子 12V 输出 (26),
-- 搜表 (27),
-- 三相负载平衡 (28),
-- 升级 (29)
--}
RELEASE-Request ::= SEQUENCE {
prioInvID PIID --服务序号-优先级
}
ReleaseResponseResult ::= ENUMERATED {
success (0)
}
RELEASE-Response ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
releaseResult ReleaseResponseResult
}
RELEASE-Notification ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
appLinkEstablishTime Date-Time-S, --应用连接建立时间
svrCurrentTime Date-Time-S --服务器当前时间
}
GET-Request ::= CHOICE {
getRequestNormal [1] GetRequestNormal, -- 读取一个对象属性请求
getRequestNormalList [2] GetRequestNormalList, -- 读取若干个对象属性请求
getRequestRecord [3] GetRequestRecord, -- 读取一个记录型对象属性请求
getRequestRecordList [4] GetRequestRecordList, -- 读取若干个记录型对象属性请求
getRequestNext [5] GetRequestNext, -- 读取分帧响应的下一个数据块请求
getRequestMD5 [6] GetRequestMD5 -- 读取一个对象属性的MD5值
}
GetRequestNormal ::= SEQUENCE {
prioInvID PIID,
objDescr OAD --一个对象属性描述符
}
GetRequestNormalList ::= SEQUENCE {
prioInvID PIID,
arrayOfOad OadList --若干个对象属性描述符
}
GetRequestRecord ::= SEQUENCE {
prioInvID PIID,
getRec GetRecord --读取一个记录型对象属性
}
GetRecord ::= SEQUENCE {
objDescr OAD,
rsd RSD, --记录选择描述符
rcsd RCSD --记录列选择描述符
}
ArrayOfGetRecord ::= SEQUENCE OF GetRecord
GetRequestRecordList ::= SEQUENCE {
prioInvID PIID,
getRecordList ArrayOfGetRecord --读取若干个记录型对象属性
}
GetRequestNext ::= SEQUENCE {
prioInvID PIID,
seq LongUnsigned --正确接收的最近一次数据块序号
}
GetRequestMD5 ::= SEQUENCE {
prioInvID PIID,
oad OAD --一个对象属性描述符
}
GET-Response ::= CHOICE {
getResponseNormal [1] GetResponseNormal, -- 读取一个对象属性的响应
getResponseNormalList [2] GetResponseNormalList, -- 读取若干个对象属性的响应
getResponseRecord [3] GetResponseRecord, -- 读取一个记录型对象属性的响应
getResponseRecordList [4] GetResponseRecordList, -- 读取若干个记录型对象属性的响应
getResponseNext [5] GetResponseNext, -- 分帧响应一个数据块
getResponseMD5 [6] GetResponseMD5 -- 读取一个对象属性的MD5值的响应
}
GetResponseNormal ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
a-ResultNormal A-ResultNormal --一个对象属性及其结果
}
A-ResultNormal ::= SEQUENCE {
objDescr OAD, --对象属性描述符
getResult Get-Result --及其结果
}
Get-Result ::= CHOICE {
dar [0] DAR, --错误信息
data [1] Data --数据
}
GetResponseNormalList ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
listOfaResultNormal ArrayOfaResultNormal --若干个对象属性及其结果
}
GetResponseRecord ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
a-ResultRecord A-ResultRecord --一个记录型对象属性及其结果
}
A-RecordRow ::= SEQUENCE OF Data
--{
-- 第 1 列数据 Data,
-- 第 2 列数据 Data,
-- ...
-- 第 N 列数据 Data
--}
ArrayOfaRecordRow ::= SEQUENCE OF A-RecordRow --M条记录
ResponseData ::= CHOICE { --响应数据
dar [0] DAR, --错误信息
listOfa-RecordRow [1] ArrayOfaRecordRow --M条记录
}
A-ResultRecord ::= SEQUENCE {
objDescr OAD, --记录型对象属性描述符
rsd RCSD, --一行记录N列属性描述符
responseData ResponseData
}
GetResponseRecordList ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
listOfaResultRecord ArrayOfaResultRecord --若干个记录型对象属性及其结果
}
ArrayOfGetResponseNextData ::= CHOICE { --分帧响应
errCode [0] DAR, --错误信息
arrayOfaResultNormal [1] ArrayOfaResultNormal, --对象属性
arrayOfaResultRecord [2] ArrayOfaResultRecord --记录型对象属性
}
GetResponseNext ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
finalFrameFlag Bool, --末帧标志
frameSeq LongUnsigned, --分帧序号
reseponseData ArrayOfGetResponseNextData
}
GetResponseMD5result ::= CHOICE { --结果
errCode [0] DAR, --错误信息
md5sum [1] Octet-string --MD5值
}
GetResponseMD5 ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
objDescr OAD, --记录型对象属性描述符
result GetResponseMD5result
}
SET-Request ::= CHOICE {
setRequestNormal [1] SetRequestNormal, --设置一个对象属性请求
setRequestNormalList [2] SetRequestNormalList, --设置若干个对象属性请求
setThenGetRequestNormalList [3] SetThenGetRequestNormalList --设置后读取若干个对象属性请求
}
SetRequestNormal ::= SEQUENCE {
prioInvID PIID, --服务序号-优先级
objDescr OAD, --一个对象属性描述符
data Data --数据
}
OadData ::= SEQUENCE {
objDescr OAD, --一个对象属性描述符
data Data --数据
}
ArrayOfOadData ::= SEQUENCE OF OadData
SetRequestNormalList ::= SEQUENCE {
prioInvID PIID, --服务序号-优先级
arrayOfOadData ArrayOfOadData --若干个对象属性
}
SetThenGet ::= SEQUENCE { --若干个设置后读取对象属性
setOad OAD, --一个设置的对象属性描述符
data Data, --数据
getOad OAD, --一个读取的对象属性描述符
delay Unsigned --延时读取时间
}
ArrayOfSetThenGet ::= SEQUENCE OF SetThenGet
SetThenGetRequestNormalList ::= SEQUENCE {
prioInvID PIID, --服务序号-优先级
setThenGetList ArrayOfSetThenGet
}
SET-Response ::= CHOICE {
setResponseNormal [1] SetResponseNormal, --设置一个对象属性的确认信息响应
setResponseNormalList [2] SetResponseNormalList, --设置若干个对象属性的确认信息响应
setThenGetResponseNormalList [3] SetThenGetResponseNormalList --设置的确认信息以及读取的响应
}
SetResponseNormal ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
objDescr OAD, --一个对象属性描述符
dar DAR --设置执行结果
}
OadDar ::= SEQUENCE {
objDescr OAD,
res DAR
}
ArrayOfOadDar ::= SEQUENCE OF OadDar
SetResponseNormalList ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
setResponseNormalList ArrayOfOadDar --若干个对象属性设置结果
}
SetThenReponse ::= SEQUENCE { --若干个对象属性设置后读取结果
setObjDescr OAD, --一个设置的对象属性描述符
dar DAR, --设置执行结果
a-ResultNormal A-ResultNormal --读取响应数据
}
ArrayOfSetThenReponse ::= SEQUENCE OF SetThenReponse --若干个对象属性设置后读取结果
SetThenGetResponseNormalList ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
setThenReponseList ArrayOfSetThenReponse --若干个对象属性设置后读取结果
}
ACTION-Request ::= CHOICE {
actionRequest [1] ActionRequestNormal, --操作一个对象方法请求
actionRequestList [2] ActionRequestNormalList, --操作若干个对象方法请求
actionThenGetRequestNormalList [3] ActionThenGetRequestNormalList --操作若干个对象方法后读取若干个对象属性请求
}
ActionRequestNormal ::= SEQUENCE {
prioInvID PIID, --服务序号-优先级
objMethDescr OMD, --对象方法描述符
methArg Data --方法参数
}
OmdData ::= SEQUENCE { --若干个对象方法描述符及其参数
objMethDescr OMD, --对象方法描述符
data Data --及其方法参数
}
ArrayOfOmdData ::= SEQUENCE OF OmdData --若干个对象方法描述符及其参数
ActionRequestNormalList ::= SEQUENCE { --若干个方法及参数
prioInvID PIID, --服务序号-优先级
arrayOfOmdData ArrayOfOmdData --若干个对象方法
}
OmdDataOadUnsigned ::= SEQUENCE {
omd OMD, --一个设置的对象方法描述符
data Data, --方法参数
oad OAD, --一个读取的对象属性描述符objDescr
delay Unsigned --读取延时
}
ArrayOfOmdDataOadUnsigned ::= SEQUENCE OF OmdDataOadUnsigned
ActionThenGetRequestNormalList ::= SEQUENCE {
prioInvID PIID, --服务序号-优先级
arrayOfActionThenGet ArrayOfOmdDataOadUnsigned --操作若干个对象方法后读取对象属性
}
ACTION-Response ::= CHOICE {
actionResponseNormal [1] ActionResponseNormal, --操作一个对象方法的响应
actionResponseNormalList [2] ActionResponseNormalList, --操作若干个对象方法的响应
actionThenGetResponseNormalList [3] ActionThenGetResponseNormalList --操作若干个对象方法后读取若干个属性的响应
}
OmdDarDataOPTIONAL ::= SEQUENCE {
objMethDescr OMD, --一个设置的对象方法描述符
dar DAR, --操作执行结果
data Data OPTIONAL --操作返回数据
}
ActionResponseNormal ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
reponse OmdDarDataOPTIONAL
}
ArrayOfOmdDarDataOPTIONAL ::= SEQUENCE OF OmdDarDataOPTIONAL --若干个对象方法操作结果
ActionResponseNormalList ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
actionResponseList ArrayOfOmdDarDataOPTIONAL --若干个对象方法操作结果
}
ActionThenGetResponse ::= SEQUENCE { --操作若干个对象方法后读取属性的结果
omdDarDataOPTIONAL OmdDarDataOPTIONAL,
a-ResultNormal A-ResultNormal --一个对象属性及其结果
}
ArrayOfActionThenGetResponse ::= SEQUENCE OF ActionThenGetResponse --操作若干个对象方法后读取属性的结果
ActionThenGetResponseNormalList ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
actionGetResponseList ArrayOfActionThenGetResponse --操作若干个对象方法后读取属性的结果
}
REPORT-Notification ::= CHOICE{
reportNotificationList [1] ReportNotificationList, --上报若干个对象属性
reportNotificationRecordList [2] ReportNotificationRecordList, --上报若干个记录型对象属性
reportNotificationTransData [3] ReportNotificationTransData --上报透明数据
}
ReportNotificationList ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
listOfaResultNormal ArrayOfaResultNormal --若干个对象属性及其结果
}
ReportNotificationRecordList ::= SEQUENCE{
piidACD PIID-ACD, --服务序号-优先级-ACD
listOfaResultRecord ArrayOfaResultRecord --若干个记录型对象属性及其数据
}
ArrayOfOctet ::= SEQUENCE OF Octet-string --透明数据
ReportNotificationTransData ::= SEQUENCE{
piidACD PIID-ACD, --服务序号-优先级-ACD
oad OAD, --数据来源端口号
dataList ArrayOfOctet --透明数据
}
REPORT-Response ::= CHOICE{
reportResponseList [1] ReportResponseList, --上报若干个对象属性的响应
reportResponseRecordList [2] ReportResponseRecordList, --上报若干个记录型对象属性的响应
reportResponseTransData [3] ReportResponseTransData --上报透明数据的响应
}
ReportResponseList ::= SEQUENCE{
prioInvID PIID, --服务序号-优先级
oadList OadList --对应上报的若干个对象属性描述符
}
ReportResponseRecordList ::= SEQUENCE{
prioInvID PIID, --服务序号-优先级
oadList OadList --对应上报的若干个对象属性描述符
}
ReportResponseTransData ::= SEQUENCE{
prioInvID PIID --服务序号-优先级
}
PROXY-Request ::= CHOICE{
proxyGetRequestList [1] ProxyGetRequestList, --代理读取若干个服务器的若干个对象属性请求
proxyGetRequestRecord [2] ProxyGetRequestRecord, --代理读取一个服务器的一个记录型对象属性请求
proxySetRequestList [3] ProxySetRequestList, --代理设置若干个服务器的若干个对象属性请求
proxySetThenGetRequestList [4] ProxySetThenGetRequestList, --代理设置后读取若干个服务器的若干个对象属性请求
proxyActionRequestList [5] ProxyActionRequestList, --代理操作若干个服务器的若干个对象方法请求
proxyActionThenGetRequestList [6] ProxyActionThenGetRequestList, --代理操作后读取若干个服务器的若干个对象方法和属性请求
proxyTransCommandRequest [7] ProxyTransCommandRequest --代理透明转发命令请求
}
ProxyRequestTSAOAD ::= SEQUENCE {--代理若干个服务器的对象属性读取
tsa TSA , --一个目标服务器地址
delay LongUnsigned, --代理一个服务器的超时时间
oadList OadList --若干个对象属性描述符
}
ArrayOfProxyRequestTSAOAD ::= SEQUENCE OF ProxyRequestTSAOAD
ProxyGetRequestList ::= SEQUENCE {
prioInvID PIID, --服务序号-优先级
delay LongUnsigned , --整个代理请求的超时时间
proxyRequestList ArrayOfProxyRequestTSAOAD --代理若干个服务器的对象属性读取
}
ProxyGetRequestRecord ::= SEQUENCE {
prioInvID PIID, --服务序号-优先级
delay LongUnsigned , --代理请求的超时时间
tsa TSA , --目标服务器地址
oad OAD , --对象属性描述符
rsd RSD , --记录选择描述符
rcsd RCSD --记录列选择描述符
}
ProxySetList ::= SEQUENCE { --代理若干个服务器的对象属性设置
tsa TSA , --目标服务器地址
delay LongUnsigned , --代理一个服务器的超时时间
arrayOfOadData ArrayOfOadData --若干个对象属性描述符及其数据
}
ArrayOfProxySetList ::= SEQUENCE OF ProxySetList --代理若干个服务器的对象属性设置
ProxySetRequestList ::= SEQUENCE {
prioInvID PIID, --服务序号-优先级
delay LongUnsigned , --整个代理请求的超时时间
proxySetList ArrayOfProxySetList --代理若干个服务器的对象属性设置
}
SetThenGetRequestOneTsa ::= SEQUENCE { --代理若干个服务器的对象属性设置后读取
tsa TSA , --目标服务器地址
delay LongUnsigned , --代理一个服务器的超时时间
listOfSetThenGetRequest ArrayOfSetThenGet --若干个对象属性的设置后读取
}
ArrayOfSetThenGetRequestOneTsa ::= SEQUENCE OF SetThenGetRequestOneTsa --代理若干个服务器的对象属性设置后读取
ProxySetThenGetRequestList ::= SEQUENCE {
prioInvID PIID, --服务序号-优先级
delay LongUnsigned , --整个代理请求的超时时间
proxySetThenGetRequestList ArrayOfSetThenGetRequestOneTsa --代理若干个服务器的对象属性设置后读取
}
ProxyActionRequest ::= SEQUENCE { --代理若干个服务器的对象方法操作
tsa TSA , --目标服务器地址
delay LongUnsigned , --代理一个服务器的超时时间
listOfOmdData ArrayOfOmdData --若干个对象方法描述符及其参数
}
ArrayOfProxyActionRequest ::= SEQUENCE OF ProxyActionRequest
ProxyActionRequestList ::= SEQUENCE {
prioInvID PIID, --服务序号-优先级
delay LongUnsigned , --整个代理请求的超时时间
proxyActionRequestList ArrayOfProxyActionRequest --代理若干个服务器的对象方法操作
}
ProxyActionThenGetRequest ::= SEQUENCE { --代理若干个服务器的操作后读取
tsa TSA , --目标服务器地址
delay LongUnsigned , --代理一个服务器的超时时间
listOfOmdDataGet ArrayOfOmdDataOadUnsigned --若干个对象方法及属性的操作后读取
}
ArrayOfProxyActionThenGetRequest ::= SEQUENCE OF ProxyActionThenGetRequest --代理若干个服务器的操作后读取
ProxyActionThenGetRequestList ::= SEQUENCE {
prioInvID PIID, --服务序号-优先级
delay LongUnsigned , --整个代理请求的超时时间
proxyActionThenGetRequestList ArrayOfProxyActionThenGetRequest --代理若干个服务器的操作后读取
}
ProxyTransCommandRequest ::= SEQUENCE {
prioInvID PIID, --服务序号-优先级
oad OAD, --数据转发端口
comConfig COMDCB, --端口通信控制块
delaySec LongUnsigned, --接收等待报文超时时间(秒)
delayMilliSec LongUnsigned, --接收等待字节超时时间(毫秒)
cmd Octet-string --透明转发命令
}
PROXY-Response ::= CHOICE {
proxyGetResponseList [1] ProxyGetResponseList, --代理读取若干个服务器的若干个对象属性响应
proxyGetResponseRecord [2] ProxyGetResponseRecord, --代理读取一个服务器的一个记录型对象属性响应
proxySetResponseList [3] ProxySetResponseList, --代理设置若干个服务器的若干个对象属性响应
proxySetThenGetResponseList [4] ProxySetThenGetResponseList, --代理设置后读取若干个服务器的若干个对象属性响应
proxyActionResponseList [5] ProxyActionResponseList, --代理操作若干个服务器的若干个对象方法响应
proxyActionThenGetResponseList [6] ProxyActionThenGetResponseList, --代理操作后读取若干个服务器的若干个对象方法和属性响应
proxyTransCommandResponse [7] ProxyTransCommandResponse --代理透明转发命令响应
}
ProxyGetResponseList ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
tsa TSA ,
proxyGetResponseList SEQUENCE OF ArrayOfaResultNormal --代理若干个服务器的读取结果
}
ProxyGetResponseRecord ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
tsa TSA, --目标服务器地址
a-ResultRecord A-ResultRecord --一个记录型对象属性及其结果
}
ArrayOfArrayOfOadDar ::= SEQUENCE OF ArrayOfOadDar --若干个对象属性描述符及其结果
ProxySetResponse ::= SEQUENCE { --代理若干个服务器的读取结果
tsa TSA , --目标服务器地址
listOfRes ArrayOfArrayOfOadDar --若干个对象属性描述符及其结果
}
ArrayOfProxySetResponse ::= SEQUENCE OF ProxySetResponse --代理若干个服务器的读取结果
ProxySetResponseList ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
proxySetResponseList ArrayOfProxySetResponse --代理若干个服务器的读取结果
}
OAD-DAR-A-ResultNormal ::= SEQUENCE { --若干个对象属性设置后读取结果
oad OAD, --设置的对象属性描述符
dar DAR, --及其设置结果
a-ResultNormal A-ResultNormal --一个对象属性及其结果
}
ArrayOfOAD-DAR-A-ResultNormal ::= SEQUENCE OF OAD-DAR-A-ResultNormal --若干个对象属性设置后读取结果
ProxySetThenGetResponse ::= SEQUENCE { --代理若干个服务器的设置后读取结果
tsa TSA , --目标服务器地址
listOfRes ArrayOfOAD-DAR-A-ResultNormal --若干个对象属性设置后读取结果
}
ArrayOfProxySetThenGetResponse ::= SEQUENCE OF ProxySetThenGetResponse --代理若干个服务器的设置后读取结果
ProxySetThenGetResponseList ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
proxySetThenGetResponseList ArrayOfProxySetThenGetResponse --代理若干个服务器的设置后读取结果
}
ProxyActionResponse ::= SEQUENCE { --代理若干个服务器的操作结果
tsa TSA , --目标服务器地址
listOfRes ArrayOfOmdDarDataOPTIONAL --若干个对象方法描述符及其结果
}
ArrayOfProxyActionResponse ::= SEQUENCE OF ProxyActionResponse --代理若干个服务器的操作结果
ProxyActionResponseList ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
proxyActionResponseList ArrayOfProxyActionResponse --代理若干个服务器的操作结果
}
OMD-DAR-DATAOPTION-A-ResultNormal ::= SEQUENCE { --若干个对象方法和属性操作后读取结果
objMethDescr OMD, --对象方法描述符
dar DAR, --及其操作结果
data Data OPTIONAL, --操作返回数据
a-ResultNormal A-ResultNormal --一个对象属性及其结果
}
ArrayOfOMD-DAR-DATAOPTION-A-ResultNormal ::= SEQUENCE OF OMD-DAR-DATAOPTION-A-ResultNormal --若干个对象方法和属性操作后读取结果
ProxyActionThenGetResponse ::= SEQUENCE { --代理若干个服务器的操作后读取结果
tsa TSA , --目标服务器地址
listOfRes ArrayOfOMD-DAR-DATAOPTION-A-ResultNormal --若干个对象方法和属性操作后读取结果
}
ArrayOfProxyActionThenGetResponse ::= SEQUENCE OF ProxyActionThenGetResponse --代理若干个服务器的操作后读取结果
ProxyActionThenGetResponseList ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
proxyActionThenGetResponseList ArrayOfProxyActionThenGetResponse --代理若干个服务器的操作后读取结果
}
ProxyTransCommandResponse ::= SEQUENCE {
piidACD PIID-ACD, --服务序号-优先级-ACD
oad OAD, --数据转发端口
res TransResult --透明转发命令返回结果
}
TransResult ::= CHOICE {
dar [0] DAR, --错误信息
retData [1] Octet-string --返回数据
}
SecurityRequestApdu ::= CHOICE { --应用数据单元
plaintextApdu [0] Octet-string, --明文应用数据单元
cipherApdu [1] Octet-string --密文应用数据单元
}
SecurityRequestChkInfo ::= CHOICE --数据验证信息
{
sid-mac [0] SID-MAC, --数据验证码
rn [1] RN, --随机数
mac [2] RN-MAC, --随机数+数据MAC
sid [3] SID --安全标识
}
SECURITY-Request ::= SEQUENCE {
apdu SecurityRequestApdu,
dataChkInfo SecurityRequestChkInfo
}
RN-MAC ::= SEQUENCE {
rn RN, -- 随机数
mac MAC -- 数据
}
DataChkInfo ::= CHOICE { --数据验证信息
mac [0] MAC --数据MAC
}
SecurityResponseApdu ::= CHOICE { --应用数据单元
plaintextApdu [0] Octet-string, --明文应用数据单元
cipherApdu [1] Octet-string, --密文应用数据单元
dar [2] DAR --异常错误
}
SECURITY-Response ::= SEQUENCE {
apdu SecurityResponseApdu,
dataChkInfo DataChkInfo OPTIONAL --数据验证信息
}
ErrorResponseType ::= ENUMERATED { --异常类型
apduErr (1), --APDU无法解析
svrUnSpt (2), --服务不支持
other (255) --其他
}
ERROR-Response ::= SEQUENCE {
prioInvID PIID, --服务序号-优先级
type ErrorResponseType
}
-----------------------------APDU data type end-----------------------------------
-----------------------------Interface Class data type start-----------------------------------
-----------------------------Interface Class data type end-----------------------------------
-----------------------------ObjectId Class data type start-----------------------------------
-----------------------------ObjectId Class data type end-----------------------------------
END
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化