国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺析施奈德-昆騰?系列中浮點(diǎn)數(shù)的解析與上送

2014-03-02 03:01
關(guān)鍵詞:施奈德南瑞浮點(diǎn)數(shù)

(黑龍江省電力有限公司牡丹江水力發(fā)電總廠,黑龍江 牡丹江 157006)

淺析施奈德-昆騰?系列中浮點(diǎn)數(shù)的解析與上送

劉吉強(qiáng)

(黑龍江省電力有限公司牡丹江水力發(fā)電總廠,黑龍江 牡丹江 157006)

數(shù)據(jù)的采集和上送,是自動(dòng)控制的基礎(chǔ)。自動(dòng)化領(lǐng)域百家爭(zhēng)鳴的局面導(dǎo)致數(shù)據(jù)格式的定義有很大分歧,數(shù)制轉(zhuǎn)換就成為自動(dòng)控制編程的亮點(diǎn)。本文以發(fā)電廠母線的頻率采集上送為例,簡(jiǎn)述浮點(diǎn)數(shù)到word 變量的轉(zhuǎn)換與上送方法。

浮點(diǎn)數(shù);word變量 ;數(shù)制轉(zhuǎn)換

一、設(shè)備環(huán)境:表計(jì)DM6200 .

網(wǎng)絡(luò)環(huán)境:485菊花鏈路、MODBUS PLUSH網(wǎng)絡(luò)、以太網(wǎng)絡(luò).

PLC:Schneider - quantum ? 65160 .

編程軟件:UNITY PRO 4.1

上位機(jī):南瑞NC2000系統(tǒng).

nybus Modbus-TCP讀取數(shù)據(jù)部分與本文關(guān)聯(lián)不大,限于篇幅,不作詳述。從485菊花鏈路,以Anybus Modbus-TCP作為轉(zhuǎn)換媒介用MBPMSTR方法將DM6200 中的頻率值項(xiàng)對(duì)應(yīng)的浮點(diǎn)數(shù)以兩位word 值的方式 采集到 Schneider -quantum ? 65160 中的MBP_DM6200 數(shù)組中。

限于篇幅,恕不詳述。變量定義依據(jù)IEEE 754 標(biāo)準(zhǔn),將兩個(gè)word 中的浮點(diǎn)數(shù)還原、拆分為符號(hào)部分、階碼部分、整數(shù)部分和小數(shù)部分。

WORD_TO_BIT(MBP_DM6200[1],B IT[01],BIT[02],BIT[03],BIT[04],BIT[05],BIT[ 06],BIT[07],BIT[08],BIT[09],BIT[10],BIT[11] ,BIT[12],BIT[13],BIT[14],BIT[15],BIT[16]); WORD_TO_BIT(MBP_DM6200[2],BIT[17] ,BIT[18],BIT[19],BIT[20],BIT[21],BIT[22],BI T[23],BIT[24],BIT[25],BIT[26],BIT[27],BIT[2 8],BIT[29],BIT[30],BIT[31],BIT[32]);

(*2、符號(hào)處理 *)

IF BIT[32] THEN MARK:=-1 ELSE MARK:=-1 ;

(*3、階碼運(yùn)算:反移碼運(yùn)算)

DMMOVE_biased:=BIT_TO_WORD(BIT[24],BIT[25],BIT[26],BIT[27],BIT[28] ,BIT[29],BIT[30],BIT[31],0,0,0,0,0,0,0,0); D M M O V E:= W O R D_T O_U I N T(DMMOVE_NO)-127;

(*4、實(shí)值運(yùn)算: 把23位真實(shí)值提取出來(lái),補(bǔ)位,組成雙整形真實(shí)值,這里因?yàn)橹拔覀兌贾烙袀€(gè)固定的1給省略了,因此這里要給加上去。*)

DMINFACT_LOW :=MBP_ DM6200[1];DMINFACT_HIGH:= BIT_TO_WORD (BIT[17],BIT[18 ],BIT[19],BIT[20],BIT[21],DM200_ BIT[22],BIT[23],1,0,0,0,0,0,0,0,0);DMINFACT:= WORD_AS_DINT(DMINFACT_LOW,DMINFACT_ HIGH) ;

(*整 數(shù)*) DMINTPART := SHR (DMINFACT,23 - DMMOVE );

(*小數(shù)*) DMFIRST:= SHL(DMINFACT, DMMOVE + 9) ; (*清整數(shù)*)

(*小數(shù)實(shí)值表運(yùn)算,為防止機(jī)器取舍處理,我們將其放大100000000倍 *)

DMZHISHU:=100000000; COUNT_ J:=1; FOR COUNT_J:=1 TO 24 DO DMZH ISHU:=DMZHISHU/2;DMRECOARD[COU NT_J]:=DMZHISHU; END_FOR;

(*累 加 :Σ JUDGE *2- n *)DMSMALLPART:= 0; FOR COUNT_ K:=1TO23 DO DMTHIRD := SHL(DMFIRST,1); DMSECOND:= SHR(DMFIRST,31);

DMJUDGE := DINT_TO_BOOL(DMSECOND) XOR 1; IF DMJUDGE=0 THEN

DMSMALLPART:=DMSMALLPART+ DMRECOARD[COUNT_K]; END_IF;

DMFIRST :=DMTHIRD; END_FOR;

(*變 位 處 理: 為 小 數(shù)騰位,小數(shù)做還原處理.*)DMINTPART:=DMINTPART*100*MARK DMSMALLPART:=DMSMALLPART /1000000 ;

(*合并運(yùn)算*)

圖1 硬件概述.

D M S S 1:=D M I N T P A R T +DMSMALLPART ;DMSS:=DINT_TO_ WORD(DMSS1);

(*上送*)MBP_BUF34[1]:=DMSS;

(*上位機(jī)繼續(xù)處理*)因?yàn)樗蜕先サ膚ord因?yàn)榍笆鎏幚頃r(shí)擴(kuò)大100倍,故需在顯示時(shí)降兩位,南瑞的NC2000系統(tǒng)中是通過(guò)乘以A系數(shù)的方式修正顯示值的,我們將A系數(shù)定為0.01.

結(jié)語(yǔ)

該方法經(jīng)過(guò)實(shí)地測(cè)試,證明有效。該方法適用于采樣要求較高的表計(jì)的數(shù)據(jù)采集轉(zhuǎn)換,可以使采集數(shù)據(jù)損失最小化,適于工控推廣。

[1]Schneider Electric ?. Unity Pro 操作手冊(cè)[G].718.

[2]SchneiderElectric?. DM6000SeriesDigital MetersUserManual. 09/2011.66.

[3]南京瑞利自動(dòng)化有限公司.NC2000操作手冊(cè)[G].4.257.

[4] IEEE.二進(jìn)制浮點(diǎn)數(shù)算術(shù)標(biāo)準(zhǔn)(IEEE 754 )[R].1.2.1.

TP31

:A

猜你喜歡
施奈德南瑞浮點(diǎn)數(shù)
一場(chǎng)精彩的故事會(huì)
四種Python均勻浮點(diǎn)數(shù)生成方法
紐約“反性侵”檢察長(zhǎng)被爆性虐丑聞辭職
在C語(yǔ)言中雙精度浮點(diǎn)數(shù)線性化相等比較的研究
非精確浮點(diǎn)數(shù)乘法器設(shè)計(jì)
Visual Basic處理浮點(diǎn)DSP芯片數(shù)據(jù)的方法
深切懷念羅密·施奈德