WEB开发网
开发学院软件开发Delphi 用Delphi开发DLL来代替8581协议控制和采集华为PSM... 阅读

用Delphi开发DLL来代替8581协议控制和采集华为PSM—A10电源(二)

 2006-02-04 14:31:38 来源:WEB开发网   
核心提示:匹配地址:交流模拟量 11个 cid1=40 cid2=41 一个交流屏 两路交流 I是所得到的包头 7E回报350包偏移内容返回报地址30-31输出电流AI+85~I+9232-33输出电流BI+93~I+10034-35输出电流CI+101~I+10836-371路交流A相电压I+17~I+2438-391路交流B
匹配地址:

交流模拟量 11个 cid1=40 cid2=41

一个交流屏 两路交流 I是所得到的包头 7E

回报350包偏移 内容 返回报地址
30-31 输出电流A I+85~I+92
32-33 输出电流B I+93~I+100
34-35 输出电流C I+101~I+108
36-37 1路交流A相电压 I+17~I+24
38-39 1路交流B相电压 I+25~I+32
40-41 1路交流C相电压 I+33~I+40
42-43 1路交流输出频率 I+41~I+48
44-45 2路交流A相电压 I+51~I+58
46-47 2路交流B相电压 I+59~I+66
48-49 2路交流C相电压 I+67~I+74
50-51 2路交流输出频率 I+75~I+82

转化方法: DataBuf[0] DataBuf[1] DataBuf[2] DataBuf[3] DataBuf[4] DataBuf[5] DataBuf[6] DataBuf[7]


 

floatTemp[0]    floatTemp[1]    floatTemp[2]     floatTemp[3]

                 *10  再取整

         integerTemp[0]  integerTemp[1]

使用Round()函数来执行取整操作

交流开关量:cid1=40 cid2= 43  查看现场数据得 6个字节

序号

内容

字节

1

检测的开关数量M=0

1

M+2

用户自定义状态数量P=3

1

M+3

交流切换状态(自动E0H或手动E1H)

1

M+4

照明状态(关E3H或开E2H)

1

M+5

当前工作路号

第一(E4),第二(E5),第三(E6)

1

回报350包偏移 内容 返回报地址
6.1 交流切换状态 I+19~I+20
6.2 照明状态 I+21~I+22

取0手动  取1自动 取0关闭  取1工作 添加循环控制的问题  出错三次抛出错误

添加双字节转换为单字节的过程 {--------------得到转化字节的过程------------------------------------} {-------@param input1: Byte 数据高位---------------------------------} {-------@param input2: Byte 数据低位---------------------------------} {-------@param reAssign: Byte 得到的数据-----------------------------} {-------2005-06-27 add by Fane---------------------------------------} PRocedure change2to1(input1,input2:byte;var reAssign: Byte);

将reAssign声明为var,使用传引用方式传递参数

交流告警量:cid1=40 cid2=44  查看现场数据得 24个字节

序号

内容 字节

本屏交流配电系统数量M 1

1路输入线/相电压AB/A 1

1路输入线/相电压BC/B 1

1路输入线/相电压CA/C 1

1路频率 1

1路检测熔丝(或开关)数量M 1

1路用户自定义告警数量P=8 1

1路用户自定义字节 8×1

2路输入线/相电压AB/A 1

2路输入线/相电压BC/B 1

2路输入线/相电压CA/C 1

2路频率 1

2路检测熔丝(或开关)数量M 1

2路用户自定义告警数量P=0 1

A相输入电流 1

B相输入电流 1

C相输入电流 1

第一个自定义P=8 第2个自定义是0  注 20 20 忽略


 

Tags:Delphi 开发 DLL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接