已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
RP570规约文本及程序说明第一部分:RP570规约文本说明1. 此规约为ABB公司制定, 字节传送为异步方式,1位起动位,8位数据位,1位偶效验位,1位停止位.2. 帧格式:分为定帧长和可变帧长两种报文。2.1定帧长: 由1个起始字节,RTU号,FUNCTION,效验和,及停止符。2.2不定帧长: 由1个起始字节(68h),LENTH, LENTH ,起始字节(68h), RTU号,FUNCTION,DATA1, DATA2, . , DATAn, 效验和,及停止符(16h)。 信息字数LENTH是指本帧内预定发送的信息字数,包括RTU号,FUNCTION,DATA1DATAN。3. FUNCTION字节结构为: bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 SEQ.NO M/D 命令代码若调度下发FUNCTION中SEQ.NO第二次比第一次增加1,表示调度正确接收数据,若不变则要求重发上次命令。M/D一般为1。4. 命令代码4.1 下行命令码: 命令码如下表所示: 命令码 助记符 意义 01h RA A类数据请求 0Bh CBXC 遥调选择 0Fh RESQ 序列号清零 11h RB B类数据请求 19h TSI 对时4.2 上行命令码: 命令码如下表所示: 命令码 助记符 意义 00h CCR1 循环结束响应1 02h CCR2 循环结束响应2 06h EXR 遥控回答 08h NXR 遥控未执行回答 0Ah TSTA 站端状态信息 28h AVM P1 不带状态遥测(回RA) 2Ah AVM P23 不带状态遥测(回RB) 2Ch AVS P1 带状态遥测(回RA) 2Eh AVS P23 带状态遥测(回RB) 30h IDM P1 不带状态遥信(回RA) 32h IDM P23 不带状态遥信(回RB) 34h IDS P1 带状态遥信(回RA) 36h IDS P23 带状态遥信(回RB) 40h ERMI SOE回答 第二部分:CSM300C-RP570规约程序说明 1.程序思路: a.调度端正常情况下只发RA或RB,站端组织上送报文较自由。 b.CSM300C刚上电时,收到SCI先回EXR,在第一次收到RA或RB要回TSTA。然后收到RA或RB时上送全数据。先送全遥测再送全遥信,每次只送一块,即一个遥测或16个遥信。 c.暂不考虑电度。 d.平时上送.先送变位遥信,若没有,送SOE数据,再没有,送变化遥测,全没有则回CCR1或CCR2。2. rp570规约系统配置文件示例 a.COM.SYS文件 channel1: RP570 /*规约名称,忽略大小写*/ isSync: No /*异步方式*/ Sync_board: 0 baudrate: 300 /*波特率*/ set_clock: Yes /*对时与否*/ base_year: 2000 /*对时基准年份,没有,可任意填写*/ logic_rtu: 1 /*逻辑RTU数,异步固定为1*/ rtu_codes: 2 /*供主站识别的RTU号*/ b.CHANNEL1.SYS文件 protocal: RP570 /*规约名称,忽略大小写*/3.COMMON.H文件中添加及改动的部分 a.改动的各种规约在CSM300C规约库中的代码 #define U4F 0 /* 部颁U4F规约代码为 0 */ #define SC1801 1 /* SC1801 规约代码为 1 */ #define VAN_COMM 2 /* FERANTI 规约代码为 2 */ #define CDT 3 /* 同步/异步CDT规约代码为 3 */ #define DNP3 4 /* DNP3.0 规约代码为 4 */ #define IEC8705 5 /* IEC8705规约代码为 5 */ #define RP570 6 /* RP570规约代码为 6 */ b.改动的各种规约的字节效验方式 #define RP570_CHK EVEN_CHECK /* add */ c.添加的RP570规约的特定变量 struct unsigned char SEQNo; unsigned char SoeSEQNo; unsigned char RTUStatus1; unsigned char RTUStatus2; unsigned char ResetFlag; unsigned char FirstFlag; unsigned char AlldataOver; unsigned char AiOver; unsigned char DI_Change; unsigned char AI_Change; unsigned char BlockSendNo2;/The No. to send unsigned char BlockSum2; /one is ai and two is di. unsigned int YK_Timer; unsigned int Timer1; rp570;/RP570规约特定变量 +/4.BUF.H文件中添加及改动的部分 a.改动的规约名称描述 char *guiyue8= U4F,SC1801,VAN_COMM,CDT,DNP3,IEC8705,RP570,RP570; b.改动的各种规约字节效验方式 int com_chk8= U4F_CHK , SC1801_CHK , VAN_COMM_CHK , CDT_CHK , DNP3_CHK , IEC8705_CHK , RP570_CHK , rp570_CHK ;5.LON_COM.CPP中添加及改动的部分 a.改动的函数调用指针 void (*Process_Com_int)(int,int)= sio_handle_u4f, sio_handle_1801, sio_handle_van, sio_handle_cdt sio_handle_dnp, sio_handle_8705, sio_handle_rp570 ;6.RP570规约专用头文件570_PACK.H说明/ RP570规约的模拟量RTU库: 站号, 32组遥测,每组1个标志,8个值);/struct ai_lib_570 unsigned char Rtu_Id; struct unsigned char Var; unsigned int value8; unit32;/RP570规约的开关量RTU库:站号,遥信组序号,16位(开关量值,开关量变化标志)+/struct di_lib_570 unsigned char Rtu_Id; unsigned char grpNo; unsigned int value; unsigned int variety;7.RP570规约文件RP570.CPP中各函数简要说明 (1).void Process_rp570(int port) a. 对接收缓冲区SioBufport.sio_read_buf中1条完整的主站命令报文检查包装及校验码,检查RTU号。 b.判断是第一次上电?是,记录序列号SEQ.NO c.判断序列号SEQ.NOy与记录的相同?是,重发上次数据。否,记录序列号SEQ.NO。 d.按rp570规约对其进行解释,根据命令代码的不同,调用相应的处理函数. (2)BOOL Process_RARB(unsigned char rtu_id,BYTE fcode) 处理RA/RB询问函数。 a.首先判断是第一次收到RA/RB?是,置标志,返回TSTA命令。否,向下走. b.判断是全数据送完?否,判断是全遥测送完?否,送全遥测。是,送全遥信。 d.判断有遥信变位?是,送变位遥信。否,向下走。 d.判断有SOE,遥测变化?是,送数据。否,返回。 (3). void Upsend_rp570(int port,BOOL Ctr_Fail) 上送报文函数. a.首先判断若遥控返校失败,延时发送时间到否? 若没到,return返回. b.判断遥控返校成功,下发遥控执行。回EXR。 (4).void sio_handle_rp570(int port,int c) 串口接收中断服务程序. (5).BOOL read_config_rp570(BYTE *filename,int port) 读取CHANNEL.SYS文件. (6).void init_rtu_buf_rp570(int port) 根据各定值文件中点数的不同,具体地初始化各种RTU库.确定遥测遥信点的总数. (7).void init_rtu_rp570(int port) 调用函数init_rtu_buf_rp570和init_rtu_570_flag去初始化RTU库 和各种标志. (8).void init_rtu_570_flag(int port) 初始化各种标志. (9).void YC_Rtu_rp570(BYTE port) 更新遥测RTU库. (10).void YX_Rtu_rp570(BYTE port) 更新遥信RTU库. (11).void disp_lib_rp570(int LibType,int ComNo,int Key_dir) 显示各种RTU库的读取值. (12)void clearFlag() 清各种标志。 (13)void RTUTSTA(unsigned char rtu_id) 报RTU状态。 (14)void RTUAVS(unsigned char rtu_id,BYTE Fcode,BYTE block) 送带状态遥测。 (15)void RTUIDS(unsigned char rtu_id,BYTE Fcode,BYTE block) 送带状态遥信。 (16)void RTUIDM(unsigned char rtu_id,BYTE Fcode)/ 送不带状态遥信。 (17)void RTUAVM(unsigned char rtu_id,BYTE Fcode) 送不带状态遥信。 (18)void RTUERMI(unsigned char rtu_id) 送SOE数据。 a.SOE发送序列号加1,若大于255则赋值1 b.判断SOE变位标志,求取点号。 c.判断计算机时间小时数大于等于SOE小时数?是,取SOE中天数。否,计算机天数减一。 d.数据打包上送。 (19)BOOL RTUCBXC(unsigned char rtu_id) 回遥控选择。 a.读YK定值,若出错返回FALSE。 b.求取该点各种参数。 (20)BOOL RTUEXC(unsigned char rtu_id) 遥控执行处理。 a.若不允许遥控,返回FALSE。 b.判断
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025关于合同终止辞职申请书范文
- 2025-2026学年江苏省南通海安实验中学高一(上)10月月考政治试题及答案
- 2025中学教师聘用合同书【范文集合】
- 2023行政能力测试题库及答案
- 2025贷款担保合同范本下载
- 2025年旅游合同标准范本服务品质保障
- 2025年房地产知识图谱评估合同协议
- 多光子非线性效应-洞察与解读
- 2025年房地产经纪服务委托合同协议
- 2025年二手游戏机转让合同协议
- 《创造的儿童教育》解读与探讨
- 管家星级评定管理办法
- 职业生涯报告课件
- 外贸电池知识培训课件
- 健康教育与疾病预防的实践案例分析
- 胸腔镜肺大泡切除护理查房讲课件
- 2025年中国邮政集团有限公司甘肃省分公司校园招聘笔试模拟试题及参考答案详解一套
- 种猪养殖场建设项目初步设计方案
- 浙江德斯泰新材料股份有限公司年产40000吨 PVB 功能膜项目环境影响登记表
- 数学职业生涯规划课件
- T/CADCC 003-2024汽车漆面保护膜施工技术规程
评论
0/150
提交评论