12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953 |
- #include "config.h"
- #include "rkg.h"
- #include "cang.h"
- #include "kzq.h"
- #include "level.h"
- #include "tem.h"
- #include "angle.h"
- #include "xyf.h"
- #include "kzq.h"
- #include "hdf.h"
- #include "cmsis_armcc.h"
- #include "usart.h"
- #include "yqhs.h"
- #include "bgy.h"
- uint8_t RKG_TxBuf[70] = {0};
- uint8_t XYF_TxBuf[70] = {0};
- uint8_t ALL_TxBuf[70] = {0};
- #define State_Error 3
- #define State_Off 0
- #define State_On 1
- #define PowerOnTime_Delay 0x00002000
- KZQ_Inf kzq_inf;
- extern uint16_t Uart_len_TouChuan;
- #include "stm32f1xx_hal.h"
- extern uint32_t HAL_GetTick(void);
- uint32_t tickMain=0;
-
- uint16_t Read_CangState(uint8_t* pTx)
- {
- Biguayou_Inf* pBGY = biguayou_inf;
- Cang_Inf* pcang = &cang_inf;
- KZQ_Inf* pkzq = &kzq_inf;
- RKG_Inf* prkg = rkg_inf;
- XYF_Inf* pxyf = xyf_inf;
- HDF_Inf* phdf = hdf_inf;
- Yqhuishou_Inf* pYqhuishou = &yqhuishou_inf;
- uint8_t HDF_Start = 0,XYF_Start = 0,RKG_Start = 0,BGY_Start = 0,Cang_Num = 0,i = 0;
-
-
- Cang_Num = pkzq->data_buf[17]; //slm
- if(Cang_Num < 1 ||Cang_Num > 8)
- return 0;
- for(i = 0;i < Cang_Num - 1;i++)
- {
- HDF_Start += pcang->HDF_Num[i];
- XYF_Start += pcang->XYF_Num[i];
- RKG_Start += pcang->RKG_Num[i];
- BGY_Start += pcang->BGY_Num[i];
- }
- pTx[11] = 40;
- pTx[17] = pkzq->data_buf[17];
- //阀门状态
- /*************第一组阀门状态***************/
-
- if(phdf[HDF_Start+1].HDF_Error)
- pTx[18] = State_Error;
- else
- pTx[18] = Get_DFState(HDF_Start+1); //获取罐仓1号底阀状态
-
- if(pxyf[XYF_Start+1].XYF_Error)
- pTx[19] = State_Error;
- else
- pTx[19] = pxyf[XYF_Start+1].XYF_State1; //获取罐仓1号卸油阀状态 pxyf[XYF_Start+1].XYF_Data1[0] ;
- tickMain=HAL_GetTick();
- if(prkg[RKG_Start+1].RKDG_Error)
- {
- pTx[20] = State_Error;
- pTx[21] = State_Error;
-
- }
- else
- {
- pTx[20] = prkg[RKG_Start+1].RKDG_State; //获取罐仓1号人孔大盖状态
- pTx[21] = prkg[RKG_Start+1].RKXG_State; //获取罐仓1号人孔小盖状态
-
- }
-
- if(pxyf[XYF_Start+1].XYF_Error)
- pTx[22] = State_Error;
- else
- pTx[22] = pxyf[XYF_Start+1].XYF_State2; //获取罐仓1号卸尽状态
-
-
- //新增壁挂油传感器状态 邵磊明20210916
- if(pBGY[BGY_Start+1].BGY_Error)
- {
- pTx[23] = State_Error;
- }
- else
- {
- pTx[23] = pBGY[BGY_Start+1].BGY_State;
- }
- //新增油气回收传感器状态 邵磊明20210918
- pTx[24] = pYqhuishou[1].Yqhuishou_SSWD[0];
- //新增智能海底阀传感器状态 邵磊明20210919
- if(phdf[HDF_Start+1].HDF_Error)
- pTx[25] = (phdf[HDF_Start+1].HDF_Data[1]);
- else
- pTx[25] = (phdf[HDF_Start+1].HDF_Data[1]); //获取罐仓1号底阀状态
-
- pTx[26] = 0xA5;
- pTx[27] = 0xA5;
- /*************第二组阀门状态***************/
- if(pcang->HDF_Num[Cang_Num - 1] > 1)
- {
- if(phdf[HDF_Start+2].HDF_Error)
- pTx[28] = State_Error;
- else
- pTx[28] = Get_DFState(HDF_Start+2); //获取罐仓2号底阀状态
- }
- else
- pTx[28] = 0xA5;
- if(pcang->XYF_Num[Cang_Num - 1] > 1)
- {
- if( pxyf[XYF_Start+2].XYF_Error)
- {
- pTx[29] = State_Error;
- pTx[32] = State_Error;
- }
- else
- {
- pTx[29] = pxyf[XYF_Start+2].XYF_State1; //获取罐仓2号卸油阀状态
- pTx[32] = pxyf[XYF_Start+2].XYF_State2; //获取罐仓2号卸尽状态
- }
- }
- else
- {
- pTx[29] = 0xA5;
- pTx[32] = 0xA5;
- }
- if(pcang->RKG_Num[Cang_Num - 1] > 1)
- {
- if(prkg[RKG_Start+2].RKDG_Error)
- {
- pTx[30] = State_Error;
- pTx[31] = State_Error;
- }
- else
- {
- pTx[30] = prkg[RKG_Start+2].RKDG_State; //获取罐仓2号人孔大盖状态
- pTx[31] = prkg[RKG_Start+2].RKXG_State; //获取罐仓2号人孔小盖状态
- }
- }
- else
- {
- pTx[30] = 0xA5;
- pTx[31] = 0xA5;
- }
- pTx[33] = 0xA5;
- pTx[34] = 0xA5;
- pTx[35] = 0xA5;
- pTx[36] = 0xA5;
- pTx[37] = 0xA5;
- /***********第三组阀门状态***************/
- if(pcang->HDF_Num[Cang_Num - 1] > 2)
- {
- if(phdf[HDF_Start+3].HDF_Error)
- pTx[38] = State_Error;
- else
- pTx[38] = Get_DFState(HDF_Start+3); //获取罐仓3号底阀状态
- }
- else
- pTx[38] = 0xA5;
-
- if(pcang->XYF_Num[Cang_Num - 1] > 2)
- {
- if(pxyf[XYF_Start+3].XYF_Error)
- {
- pTx[39] = State_Error;
- pTx[42] = State_Error;
- }
- else
- {
- pTx[39] = pxyf[XYF_Start+3].XYF_State1; //获取罐仓3号卸油阀状态
- pTx[42] = pxyf[XYF_Start+3].XYF_State2; //获取罐仓3号卸尽状态
-
- }
- }
- else
- {
- pTx[39] = 0xA5;
- pTx[42] = 0xA5;
- }
-
- if(pcang->RKG_Num[Cang_Num - 1] > 2)
- {
- if(prkg[RKG_Start+3].RKDG_Error)
- {
- pTx[40] = State_Error;
- pTx[41] = State_Error;
- }
- else
- {
- pTx[40] = prkg[RKG_Start+3].RKDG_State; //获取罐仓3号人孔大盖状态
- pTx[41] = prkg[RKG_Start+3].RKXG_State; //获取罐仓3号人孔小盖状态
- }
- }
- else
- {
- pTx[40] = 0xA5;
- pTx[41] = 0xA5;
- }
- pTx[43] = 0xA5;
- pTx[44] = 0xA5;
- pTx[45] = 0xA5;
- pTx[46] = 0xA5;
- pTx[47] = 0xA5;
- /***********第四组阀门状态***************/
- if(pcang->HDF_Num[Cang_Num - 1] > 3)
- {
- if(phdf[HDF_Start+4].HDF_Error)
- pTx[48] = State_Error;
- else
- pTx[48] = Get_DFState(HDF_Start+4); //获取罐仓4号底阀状态
- }
- else
- pTx[48] = 0xA5;
-
- if(pcang->XYF_Num[Cang_Num - 1] > 3)
- {
- if(pxyf[XYF_Start+4].XYF_Error)
- {
- pTx[49] = State_Error;
- pTx[52] = State_Error;
- }
- pTx[49] = pxyf[XYF_Start+4].XYF_State1; //获取罐仓4号卸油阀状态
- pTx[52] = pxyf[XYF_Start+4].XYF_State2; //获取罐仓4号卸尽状态
- }
- else
- {
- pTx[49] = 0xA5;
- pTx[52] = 0xA5;
- }
- if(pcang->RKG_Num[Cang_Num - 1] > 4)
- {
- if(prkg[RKG_Start+4].RKDG_Error)
- {
- pTx[50] = State_Error;
- pTx[51] = State_Error;
- }
- else
- {
- pTx[50] = prkg[RKG_Start+4].RKDG_State; //获取罐仓4号人孔大盖状态
- pTx[51] = prkg[RKG_Start+4].RKXG_State; //获取罐仓4号人孔小盖状态
- }
- }
- else
- {
- pTx[50] = 0xA5;
- pTx[51] = 0xA5;
- }
-
- pTx[53] = 0xA5;
- pTx[54] = 0xA5;
- pTx[55] = 0xA5;
- pTx[56] = 0xA5;
- pTx[57] = 0xA5;
-
-
- //李伟添加 20211027 上电的10s之内 强制输出状态是受控的 全部是关闭状态
- if(tickMain<PowerOnTime_Delay)
- {
- pTx[20] = State_Off;//大盖
- pTx[21] = State_Off;//小盖
- pTx[22] = State_Off; //卸尽
- pTx[22] = State_Off; ///////李伟增加 壁挂油
- pTx[23] = State_Off;
-
- pTx[20+10*1] = State_Off;//大盖
- pTx[21+10*1] = State_Off;//小盖
- pTx[22+10*1] = State_Off; //卸尽
- pTx[22+10*1] = State_Off; ///////李伟增加 壁挂油
- pTx[23+10*1] = State_Off;
-
- pTx[20+10*2] = State_Off;//大盖
- pTx[21+10*2] = State_Off;//小盖
- pTx[22+10*2] = State_Off; //卸尽
- pTx[22+10*2] = State_Off; ///////李伟增加 壁挂油
- pTx[23+10*2] = State_Off;
-
- pTx[20+10*3] = State_Off;//大盖
- pTx[21+10*3] = State_Off;//小盖
- pTx[22+10*3] = State_Off; //卸尽
- pTx[22+10*3] = State_Off; ///////李伟增加 壁挂油
- pTx[23+10*3] = State_Off;
- }
-
-
- return 1;
- }
- void Sen_CangState_old(uint8_t* F_STATE)
- {
- Cang_Inf* pcang = &cang_inf;
- RKG_Inf* prkg = rkg_inf;
- XYF_Inf* pxyf = xyf_inf;
- uint8_t HDF_Num = 0,XYF_Num = 0,RKG_Num = 0,i = 0,j = 0,k = 0;
-
- F_STATE[0] = 0xAA;
- F_STATE[1] = 0x00;
- F_STATE[2] = 0xA1;
- F_STATE[3] = 0x11;
- F_STATE[4] = 0x00;
-
-
- for(k = 0;k < 8;k++) //查询1-8仓状态
- {//for(k = 0;k < 8;k++) //查询1-8仓 状态 开始
- i = k*2;
- F_STATE[5+i] = 0x00;
- F_STATE[6+i] = 0x00;
- j = 0;
- while(j < pcang->RKG_Num[k]) //查询1-8仓所有人孔盖数据
- {
- if(prkg[j+1+RKG_Num].RKDG_Error)
- F_STATE[5+i] |= BIT5;
- else if(prkg[j+1+RKG_Num].RKDG_State)
- F_STATE[5+i] |= BIT1;
-
- if(pcang->RKG_XG)//小盖状态或运算
- {
- if(prkg[j+1+RKG_Num].RKXG_Error)
- F_STATE[5+i] |= BIT6;
- else if(prkg[j+1+RKG_Num].RKXG_State)
- F_STATE[5+i] |= BIT2;
- }
- j++;
- //RKG_Num++;
- }
- RKG_Num+=j;
- j = 0;
- while(j < pcang->XYF_Num[k])////卸油阀状态或运算
- {
- if(pxyf[j+1+XYF_Num].XYF_Error)
- {
- F_STATE[5+i] |= BIT8;
- F_STATE[6+i] |= 0x55;
- }
- else
- {
- if(pxyf[j+1+XYF_Num].XYF_State1)
- F_STATE[5+i] |= BIT4;
- if(pxyf[j+1+XYF_Num].XYF_State2)
- F_STATE[6+i] = BIT1;//1;
- }
- j++;
- // XYF_Num++;
- }
- XYF_Num+=j;
- j = 0;
-
- while(j < pcang->HDF_Num[k])
- {
- if(Get_DFState(j+1+HDF_Num) == 1)
- F_STATE[5+i] |= BIT3;
- else if(Get_DFState(j+1+HDF_Num) == 0)
- {
- ;//F_STATE[5+i] &= ~BIT3;
- }
- else
- F_STATE[5+i] &= BIT7;
- j++;
-
- }
- HDF_Num+=j;
-
- j = 0;
- }////for(k = 0;k < 8;k++) //查询1-8仓 状态 结束
-
-
- //李伟添加 20211027 上电的10s之内 强制输出状态是受控的 全部是关闭状态
- if(tickMain<PowerOnTime_Delay)
- {
- for(k = 0;k < 16;k++) //查询1-8仓状态
- {
- F_STATE[5+k] = 0;
- }
-
- }
- }
- #define Angle_cs (180.0f/32768.0f)
- uint16_t Read_ZhencheSensorData1(uint8_t* pTx)
- {
- //传感器数据顺序为温度4字节*3,角度4字节*3,液位4字节*1,容积四字节*1
- Angle_Inf* pangle = &angle_inf;
- // TEM_Inf* ptem = tem_inf;
- // KZQ_Inf* pkzq = &kzq_inf;
- // Level_Inf* plevel = level_inf;
- // HDF_Inf* phdf = hdf_inf;
- // Biguayou_Inf* pBGY = biguayou_inf;
- typedef union{
- float float_temp; //青鸟贵和磁致伸缩液位温度一体传感器
- uint8_t arr[4];
- }Hex_to_float;
- Hex_to_float hex_to_float;
- uint8_t i = 0;
- hex_to_float.float_temp = (float)pangle->Angle_DataX[0]*Angle_cs;
- pTx[16] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[17] = hex_to_float.arr[1];
- pTx[18] = hex_to_float.arr[2];
- pTx[19] = hex_to_float.arr[3];
- hex_to_float.float_temp = (float)pangle->Angle_DataY[0]*Angle_cs;
- pTx[20] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[21] = hex_to_float.arr[1];
- pTx[22] = hex_to_float.arr[2];
- pTx[23] = hex_to_float.arr[3];
- hex_to_float.float_temp = (float)pangle->Angle_DataZ[0]*Angle_cs;
- pTx[24] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[25] = hex_to_float.arr[1];
- pTx[26] = hex_to_float.arr[2];
- pTx[27] = hex_to_float.arr[3];
-
- for(i = 0;i < 228;i++) //铅封
- {
- pTx[28+i] = 0xa5;
- }
-
- return 1;
- }
- /*
- 8仓数据读
- 功能增加: 邵磊明
- */
- uint16_t Read_CangSensorData_8(uint8_t* pTx)
- {
- //传感器数据顺序为温度4字节*3,角度4字节*3,液位4字节*1,容积四字节*1
- // Angle_Inf* pangle = &angle_inf;
- // TEM_Inf* ptem = tem_inf;
- // KZQ_Inf* pkzq = &kzq_inf;
- Level_Inf* plevel = level_inf;
- HDF_Inf* phdf = hdf_inf;
- Biguayou_Inf* pBGY = biguayou_inf;
- typedef union{
- float float_temp; //青鸟贵和磁致伸缩液位温度一体传感器
- uint8_t arr[4];
- }Hex_to_float;
- Hex_to_float hex_to_float;
- uint8_t Cang_Num = 8,i = 0;
- for(i = 0;i < 4;i++) //铅封
- {
- pTx[16+i] = 0;
- }
- pTx[20] = phdf[Cang_Num].HDF_OFData[1]; //浮球
- pTx[21] = 0;
- pTx[22] = 0;
- pTx[23] = 0;
- pTx[24] = phdf[Cang_Num].HDF_OFState; //活塞杆
- pTx[25] = 0;
- pTx[26] = 0;
- pTx[27] = 0;
- pTx[28] = pBGY[Cang_Num].BGY_SSWD[0]; //壁挂油光电
- pTx[29] = 0;
- pTx[30] = 0;
- pTx[31] = 0;
- pTx[32] = pBGY[Cang_Num].BGY_SVAL[0]; //壁挂油霍尔
- pTx[33] = 0;
- pTx[34] = 0;
- pTx[35] = 0;
-
- pTx[36] = pBGY[Cang_Num].BGY_SSWD[0]; //油气回收光电
- pTx[37] = 0;
- pTx[38] = 0;
- pTx[39] = 0;
- pTx[40] = pBGY[Cang_Num].BGY_SVAL[0]; //油气回收霍尔
- pTx[41] = 0;
- pTx[42] = 0;
- pTx[43] = 0;
- pTx[36+8] = pBGY[Cang_Num].BGY_SSWD[0]; //底
- pTx[37+8] = 0;
- pTx[38+8] = 0;
- pTx[39+8] = 0;
- pTx[40+8] = pBGY[Cang_Num].BGY_SVAL[0]; //卸
- pTx[41+8] = 0;
- pTx[42+8] = 0;
- pTx[43+8] = 0;
- pTx[44+8] = pBGY[Cang_Num].BGY_SSWD[0]; //大倾角
- pTx[45+8] = 0;
- pTx[46+8] = 0;
- pTx[47+8] = 0;
- pTx[48+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小倾角
- pTx[49+8] = 0;
- pTx[50+8] = 0;
- pTx[51+8] = 0;
- pTx[52+8] = pBGY[Cang_Num].BGY_SVAL[0]; //尽
- pTx[53+8] = 0;
- pTx[54+8] = 0;
- pTx[55+8] = 0;
-
- pTx[56+8] = pBGY[Cang_Num].BGY_SVAL[0]; //大磁电
- pTx[57+8] = 0;
- pTx[58+8] = 0;
- pTx[59+8] = 0;
- pTx[60+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小磁电
- pTx[61+8] = 0;
- pTx[62+8] = 0;
- pTx[63+8] = 0;
-
- for(i = 0;i < 32;i++) //保留32Byte
- {
- pTx[72+i] = 0;
- }
-
- /*********************液位传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[95+9] = 0;
- pTx[96+9] = 0;
- pTx[97+9] = 0;
- pTx[98+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Level_Data;
- pTx[95+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[96+9] = hex_to_float.arr[1];
- pTx[97+9] = hex_to_float.arr[2];
- pTx[98+9] = hex_to_float.arr[3];
-
- }
-
- /**********************平均温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[99+9] = 0;
- pTx[100+9] = 0;
- pTx[101+9] = 0;
- pTx[102+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Avr_temp;
- pTx[99+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[100+9] = hex_to_float.arr[1];
- pTx[101+9] = hex_to_float.arr[2];
- pTx[102+9] = hex_to_float.arr[3];
-
- }
- /**********************高温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[103+9] = 0;
- pTx[104+9] = 0;
- pTx[105+9] = 0;
- pTx[106+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Adot_temp;
- pTx[103+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[104+9] = hex_to_float.arr[1];
- pTx[105+9] = hex_to_float.arr[2];
- pTx[106+9] = hex_to_float.arr[3];
-
- }
- /*********************中温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[107+9] = 0;
- pTx[108+9] = 0;
- pTx[109+9] = 0;
- pTx[110+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Bdot_temp;
- pTx[107+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[108+9] = hex_to_float.arr[1];
- pTx[109+9] = hex_to_float.arr[2];
- pTx[110+9] = hex_to_float.arr[3];
-
- }
- /**********************低温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[111+9] = 0;
- pTx[112+9] = 0;
- pTx[113+9] = 0;
- pTx[114+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Cdot_temp;
- pTx[111+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[112+9] = hex_to_float.arr[1];
- pTx[113+9] = hex_to_float.arr[2];
- pTx[114+9] = hex_to_float.arr[3];
-
- }
- /**************************读取容积数据*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[115+9] = 0x76;
- pTx[116+9] = 0x7F;
- pTx[117+9] = 0xFF;
- pTx[118+9] = 0x00;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[115+9] = hex_to_float.arr[0];
- pTx[116+9] = hex_to_float.arr[1];
- pTx[117+9] = hex_to_float.arr[2];
- pTx[118+9] = hex_to_float.arr[3];
- }
- /**************************压力*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- /**************************含水量*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- /**************************水活性*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- /**************************新增*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[131+9] = 0;
- pTx[132+9] = 0;
- pTx[133+9] = 0;
- pTx[134+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[131+9] = 0;
- pTx[132+9] = 0;
- pTx[133+9] = 0;
- pTx[134+9] = 0;
- }
- /**************************新增********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
- return 1;
- }
- /*
- 7仓数据读
- 功能增加: 邵磊明
- */
- uint16_t Read_CangSensorData_7(uint8_t* pTx)
- {
- //传感器数据顺序为温度4字节*3,角度4字节*3,液位4字节*1,容积四字节*1
- // Angle_Inf* pangle = &angle_inf;
- // TEM_Inf* ptem = tem_inf;
- // KZQ_Inf* pkzq = &kzq_inf;
- Level_Inf* plevel = level_inf;
- HDF_Inf* phdf = hdf_inf;
- Biguayou_Inf* pBGY = biguayou_inf;
- typedef union{
- float float_temp; //青鸟贵和磁致伸缩液位温度一体传感器
- uint8_t arr[4];
- }Hex_to_float;
- Hex_to_float hex_to_float;
- uint8_t Cang_Num = 7,i = 0;
- for(i = 0;i < 4;i++) //铅封
- {
- pTx[16+i] = 0;
- }
- pTx[20] = phdf[Cang_Num].HDF_OFData[1]; //浮球
- pTx[21] = 0;
- pTx[22] = 0;
- pTx[23] = 0;
- pTx[24] = phdf[Cang_Num].HDF_OFState; //活塞杆
- pTx[25] = 0;
- pTx[26] = 0;
- pTx[27] = 0;
- pTx[28] = pBGY[Cang_Num].BGY_SSWD[0]; //壁挂油光电
- pTx[29] = 0;
- pTx[30] = 0;
- pTx[31] = 0;
- pTx[32] = pBGY[Cang_Num].BGY_SVAL[0]; //壁挂油霍尔
- pTx[33] = 0;
- pTx[34] = 0;
- pTx[35] = 0;
-
- pTx[36] = pBGY[Cang_Num].BGY_SSWD[0]; //油气回收光电
- pTx[37] = 0;
- pTx[38] = 0;
- pTx[39] = 0;
- pTx[40] = pBGY[Cang_Num].BGY_SVAL[0]; //油气回收霍尔
- pTx[41] = 0;
- pTx[42] = 0;
- pTx[43] = 0;
- pTx[36+8] = pBGY[Cang_Num].BGY_SSWD[0]; //底
- pTx[37+8] = 0;
- pTx[38+8] = 0;
- pTx[39+8] = 0;
- pTx[40+8] = pBGY[Cang_Num].BGY_SVAL[0]; //卸
- pTx[41+8] = 0;
- pTx[42+8] = 0;
- pTx[43+8] = 0;
- pTx[44+8] = pBGY[Cang_Num].BGY_SSWD[0]; //大倾角
- pTx[45+8] = 0;
- pTx[46+8] = 0;
- pTx[47+8] = 0;
- pTx[48+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小倾角
- pTx[49+8] = 0;
- pTx[50+8] = 0;
- pTx[51+8] = 0;
- pTx[52+8] = pBGY[Cang_Num].BGY_SVAL[0]; //尽
- pTx[53+8] = 0;
- pTx[54+8] = 0;
- pTx[55+8] = 0;
-
- pTx[56+8] = pBGY[Cang_Num].BGY_SVAL[0]; //大磁电
- pTx[57+8] = 0;
- pTx[58+8] = 0;
- pTx[59+8] = 0;
- pTx[60+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小磁电
- pTx[61+8] = 0;
- pTx[62+8] = 0;
- pTx[63+8] = 0;
-
- for(i = 0;i < 32;i++) //保留32Byte
- {
- pTx[72+i] = 0;
- }
-
- /*********************液位传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[95+9] = 0;
- pTx[96+9] = 0;
- pTx[97+9] = 0;
- pTx[98+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Level_Data;
- pTx[95+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[96+9] = hex_to_float.arr[1];
- pTx[97+9] = hex_to_float.arr[2];
- pTx[98+9] = hex_to_float.arr[3];
-
- }
-
- /**********************平均温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[99+9] = 0;
- pTx[100+9] = 0;
- pTx[101+9] = 0;
- pTx[102+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Avr_temp;
- pTx[99+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[100+9] = hex_to_float.arr[1];
- pTx[101+9] = hex_to_float.arr[2];
- pTx[102+9] = hex_to_float.arr[3];
-
- }
- /**********************高温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[103+9] = 0;
- pTx[104+9] = 0;
- pTx[105+9] = 0;
- pTx[106+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Adot_temp;
- pTx[103+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[104+9] = hex_to_float.arr[1];
- pTx[105+9] = hex_to_float.arr[2];
- pTx[106+9] = hex_to_float.arr[3];
-
- }
- /*********************中温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[107+9] = 0;
- pTx[108+9] = 0;
- pTx[109+9] = 0;
- pTx[110+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Bdot_temp;
- pTx[107+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[108+9] = hex_to_float.arr[1];
- pTx[109+9] = hex_to_float.arr[2];
- pTx[110+9] = hex_to_float.arr[3];
-
- }
- /**********************低温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[111+9] = 0;
- pTx[112+9] = 0;
- pTx[113+9] = 0;
- pTx[114+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Cdot_temp;
- pTx[111+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[112+9] = hex_to_float.arr[1];
- pTx[113+9] = hex_to_float.arr[2];
- pTx[114+9] = hex_to_float.arr[3];
-
- }
- /**************************读取容积数据*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[115+9] = 0x76;
- pTx[116+9] = 0x7F;
- pTx[117+9] = 0xFF;
- pTx[118+9] = 0x00;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[115+9] = hex_to_float.arr[0];
- pTx[116+9] = hex_to_float.arr[1];
- pTx[117+9] = hex_to_float.arr[2];
- pTx[118+9] = hex_to_float.arr[3];
- }
- /**************************压力*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- /**************************含水量*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- /**************************水活性*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- /**************************新增*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[131+9] = 0;
- pTx[132+9] = 0;
- pTx[133+9] = 0;
- pTx[134+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[131+9] = 0;
- pTx[132+9] = 0;
- pTx[133+9] = 0;
- pTx[134+9] = 0;
- }
- /**************************新增********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
- return 1;
- }
- /*
- 6仓数据读
- 功能增加: 邵磊明
- */
- uint16_t Read_CangSensorData_6(uint8_t* pTx)
- {
- //传感器数据顺序为温度4字节*3,角度4字节*3,液位4字节*1,容积四字节*1
- // Angle_Inf* pangle = &angle_inf;
- // TEM_Inf* ptem = tem_inf;
- // KZQ_Inf* pkzq = &kzq_inf;
- Level_Inf* plevel = level_inf;
- HDF_Inf* phdf = hdf_inf;
- Biguayou_Inf* pBGY = biguayou_inf;
- typedef union{
- float float_temp; //青鸟贵和磁致伸缩液位温度一体传感器
- uint8_t arr[4];
- }Hex_to_float;
- Hex_to_float hex_to_float;
- uint8_t Cang_Num = 6,i = 0;
- for(i = 0;i < 4;i++) //铅封
- {
- pTx[16+i] = 0;
- }
- pTx[20] = phdf[Cang_Num].HDF_OFData[1]; //浮球
- pTx[21] = 0;
- pTx[22] = 0;
- pTx[23] = 0;
- pTx[24] = phdf[Cang_Num].HDF_OFState; //活塞杆
- pTx[25] = 0;
- pTx[26] = 0;
- pTx[27] = 0;
- pTx[28] = pBGY[Cang_Num].BGY_SSWD[0]; //壁挂油光电
- pTx[29] = 0;
- pTx[30] = 0;
- pTx[31] = 0;
- pTx[32] = pBGY[Cang_Num].BGY_SVAL[0]; //壁挂油霍尔
- pTx[33] = 0;
- pTx[34] = 0;
- pTx[35] = 0;
-
- pTx[36] = pBGY[Cang_Num].BGY_SSWD[0]; //油气回收光电
- pTx[37] = 0;
- pTx[38] = 0;
- pTx[39] = 0;
- pTx[40] = pBGY[Cang_Num].BGY_SVAL[0]; //油气回收霍尔
- pTx[41] = 0;
- pTx[42] = 0;
- pTx[43] = 0;
- pTx[36+8] = pBGY[Cang_Num].BGY_SSWD[0]; //底
- pTx[37+8] = 0;
- pTx[38+8] = 0;
- pTx[39+8] = 0;
- pTx[40+8] = pBGY[Cang_Num].BGY_SVAL[0]; //卸
- pTx[41+8] = 0;
- pTx[42+8] = 0;
- pTx[43+8] = 0;
- pTx[44+8] = pBGY[Cang_Num].BGY_SSWD[0]; //大倾角
- pTx[45+8] = 0;
- pTx[46+8] = 0;
- pTx[47+8] = 0;
- pTx[48+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小倾角
- pTx[49+8] = 0;
- pTx[50+8] = 0;
- pTx[51+8] = 0;
- pTx[52+8] = pBGY[Cang_Num].BGY_SVAL[0]; //尽
- pTx[53+8] = 0;
- pTx[54+8] = 0;
- pTx[55+8] = 0;
-
- pTx[56+8] = pBGY[Cang_Num].BGY_SVAL[0]; //大磁电
- pTx[57+8] = 0;
- pTx[58+8] = 0;
- pTx[59+8] = 0;
- pTx[60+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小磁电
- pTx[61+8] = 0;
- pTx[62+8] = 0;
- pTx[63+8] = 0;
-
- for(i = 0;i < 32;i++) //保留32Byte
- {
- pTx[72+i] = 0;
- }
-
- /*********************液位传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[95+9] = 0;
- pTx[96+9] = 0;
- pTx[97+9] = 0;
- pTx[98+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Level_Data;
- pTx[95+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[96+9] = hex_to_float.arr[1];
- pTx[97+9] = hex_to_float.arr[2];
- pTx[98+9] = hex_to_float.arr[3];
-
- }
-
- /**********************平均温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[99+9] = 0;
- pTx[100+9] = 0;
- pTx[101+9] = 0;
- pTx[102+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Avr_temp;
- pTx[99+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[100+9] = hex_to_float.arr[1];
- pTx[101+9] = hex_to_float.arr[2];
- pTx[102+9] = hex_to_float.arr[3];
-
- }
- /**********************高温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[103+9] = 0;
- pTx[104+9] = 0;
- pTx[105+9] = 0;
- pTx[106+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Adot_temp;
- pTx[103+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[104+9] = hex_to_float.arr[1];
- pTx[105+9] = hex_to_float.arr[2];
- pTx[106+9] = hex_to_float.arr[3];
-
- }
- /*********************中温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[107+9] = 0;
- pTx[108+9] = 0;
- pTx[109+9] = 0;
- pTx[110+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Bdot_temp;
- pTx[107+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[108+9] = hex_to_float.arr[1];
- pTx[109+9] = hex_to_float.arr[2];
- pTx[110+9] = hex_to_float.arr[3];
-
- }
- /**********************低温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[111+9] = 0;
- pTx[112+9] = 0;
- pTx[113+9] = 0;
- pTx[114+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Cdot_temp;
- pTx[111+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[112+9] = hex_to_float.arr[1];
- pTx[113+9] = hex_to_float.arr[2];
- pTx[114+9] = hex_to_float.arr[3];
-
- }
- /**************************读取容积数据*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[115+9] = 0x76;
- pTx[116+9] = 0x7F;
- pTx[117+9] = 0xFF;
- pTx[118+9] = 0x00;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[115+9] = hex_to_float.arr[0];
- pTx[116+9] = hex_to_float.arr[1];
- pTx[117+9] = hex_to_float.arr[2];
- pTx[118+9] = hex_to_float.arr[3];
- }
- /**************************压力*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- /**************************含水量*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- /**************************水活性*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- /**************************新增*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[131+9] = 0;
- pTx[132+9] = 0;
- pTx[133+9] = 0;
- pTx[134+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[131+9] = 0;
- pTx[132+9] = 0;
- pTx[133+9] = 0;
- pTx[134+9] = 0;
- }
- /**************************新增********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
- return 1;
- }
- /*
- 5仓数据读
- 功能增加: 邵磊明
- */
- uint16_t Read_CangSensorData_5(uint8_t* pTx)
- {
- //传感器数据顺序为温度4字节*3,角度4字节*3,液位4字节*1,容积四字节*1
- // Angle_Inf* pangle = &angle_inf;
- // TEM_Inf* ptem = tem_inf;
- // KZQ_Inf* pkzq = &kzq_inf;
- Level_Inf* plevel = level_inf;
- HDF_Inf* phdf = hdf_inf;
- Biguayou_Inf* pBGY = biguayou_inf;
- typedef union{
- float float_temp; //青鸟贵和磁致伸缩液位温度一体传感器
- uint8_t arr[4];
- }Hex_to_float;
- Hex_to_float hex_to_float;
- uint8_t Cang_Num = 5,i = 0;
- for(i = 0;i < 4;i++) //铅封
- {
- pTx[16+i] = 0;
- }
- pTx[20] = phdf[Cang_Num].HDF_OFData[1]; //浮球
- pTx[21] = 0;
- pTx[22] = 0;
- pTx[23] = 0;
- pTx[24] = phdf[Cang_Num].HDF_OFState; //活塞杆
- pTx[25] = 0;
- pTx[26] = 0;
- pTx[27] = 0;
- pTx[28] = pBGY[Cang_Num].BGY_SSWD[0]; //壁挂油光电
- pTx[29] = 0;
- pTx[30] = 0;
- pTx[31] = 0;
- pTx[32] = pBGY[Cang_Num].BGY_SVAL[0]; //壁挂油霍尔
- pTx[33] = 0;
- pTx[34] = 0;
- pTx[35] = 0;
-
- pTx[36] = pBGY[Cang_Num].BGY_SSWD[0]; //油气回收光电
- pTx[37] = 0;
- pTx[38] = 0;
- pTx[39] = 0;
- pTx[40] = pBGY[Cang_Num].BGY_SVAL[0]; //油气回收霍尔
- pTx[41] = 0;
- pTx[42] = 0;
- pTx[43] = 0;
- pTx[36+8] = pBGY[Cang_Num].BGY_SSWD[0]; //底
- pTx[37+8] = 0;
- pTx[38+8] = 0;
- pTx[39+8] = 0;
- pTx[40+8] = pBGY[Cang_Num].BGY_SVAL[0]; //卸
- pTx[41+8] = 0;
- pTx[42+8] = 0;
- pTx[43+8] = 0;
- pTx[44+8] = pBGY[Cang_Num].BGY_SSWD[0]; //大倾角
- pTx[45+8] = 0;
- pTx[46+8] = 0;
- pTx[47+8] = 0;
- pTx[48+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小倾角
- pTx[49+8] = 0;
- pTx[50+8] = 0;
- pTx[51+8] = 0;
- pTx[52+8] = pBGY[Cang_Num].BGY_SVAL[0]; //尽
- pTx[53+8] = 0;
- pTx[54+8] = 0;
- pTx[55+8] = 0;
-
- pTx[56+8] = pBGY[Cang_Num].BGY_SVAL[0]; //大磁电
- pTx[57+8] = 0;
- pTx[58+8] = 0;
- pTx[59+8] = 0;
- pTx[60+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小磁电
- pTx[61+8] = 0;
- pTx[62+8] = 0;
- pTx[63+8] = 0;
-
- for(i = 0;i < 32;i++) //保留32Byte
- {
- pTx[72+i] = 0;
- }
-
- /*********************液位传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[95+9] = 0;
- pTx[96+9] = 0;
- pTx[97+9] = 0;
- pTx[98+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Level_Data;
- pTx[95+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[96+9] = hex_to_float.arr[1];
- pTx[97+9] = hex_to_float.arr[2];
- pTx[98+9] = hex_to_float.arr[3];
-
- }
-
- /**********************平均温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[99+9] = 0;
- pTx[100+9] = 0;
- pTx[101+9] = 0;
- pTx[102+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Avr_temp;
- pTx[99+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[100+9] = hex_to_float.arr[1];
- pTx[101+9] = hex_to_float.arr[2];
- pTx[102+9] = hex_to_float.arr[3];
-
- }
- /**********************高温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[103+9] = 0;
- pTx[104+9] = 0;
- pTx[105+9] = 0;
- pTx[106+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Adot_temp;
- pTx[103+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[104+9] = hex_to_float.arr[1];
- pTx[105+9] = hex_to_float.arr[2];
- pTx[106+9] = hex_to_float.arr[3];
-
- }
- /*********************中温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[107+9] = 0;
- pTx[108+9] = 0;
- pTx[109+9] = 0;
- pTx[110+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Bdot_temp;
- pTx[107+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[108+9] = hex_to_float.arr[1];
- pTx[109+9] = hex_to_float.arr[2];
- pTx[110+9] = hex_to_float.arr[3];
-
- }
- /**********************低温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[111+9] = 0;
- pTx[112+9] = 0;
- pTx[113+9] = 0;
- pTx[114+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Cdot_temp;
- pTx[111+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[112+9] = hex_to_float.arr[1];
- pTx[113+9] = hex_to_float.arr[2];
- pTx[114+9] = hex_to_float.arr[3];
-
- }
- /**************************读取容积数据*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[115+9] = 0x76;
- pTx[116+9] = 0x7F;
- pTx[117+9] = 0xFF;
- pTx[118+9] = 0x00;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[115+9] = hex_to_float.arr[0];
- pTx[116+9] = hex_to_float.arr[1];
- pTx[117+9] = hex_to_float.arr[2];
- pTx[118+9] = hex_to_float.arr[3];
- }
- /**************************压力*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- /**************************含水量*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- /**************************水活性*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- /**************************新增*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[131+9] = 0;
- pTx[132+9] = 0;
- pTx[133+9] = 0;
- pTx[134+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[131+9] = 0;
- pTx[132+9] = 0;
- pTx[133+9] = 0;
- pTx[134+9] = 0;
- }
- /**************************新增********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
- return 1;
-
- }
- /*
- 4仓数据读
- 功能增加: 邵磊明
- */
- uint16_t Read_CangSensorData_4(uint8_t* pTx)
- {
- //传感器数据顺序为温度4字节*3,角度4字节*3,液位4字节*1,容积四字节*1
- // Angle_Inf* pangle = &angle_inf;
- // TEM_Inf* ptem = tem_inf;
- // KZQ_Inf* pkzq = &kzq_inf;
- Level_Inf* plevel = level_inf;
- HDF_Inf* phdf = hdf_inf;
- Biguayou_Inf* pBGY = biguayou_inf;
- typedef union{
- float float_temp; //青鸟贵和磁致伸缩液位温度一体传感器
- uint8_t arr[4];
- }Hex_to_float;
- Hex_to_float hex_to_float;
- uint8_t Cang_Num = 4,i = 0;
- for(i = 0;i < 4;i++) //铅封
- {
- pTx[16+i] = 0;
- }
- pTx[20] = phdf[Cang_Num].HDF_OFData[1]; //浮球
- pTx[21] = 0;
- pTx[22] = 0;
- pTx[23] = 0;
- pTx[24] = phdf[Cang_Num].HDF_OFState; //活塞杆
- pTx[25] = 0;
- pTx[26] = 0;
- pTx[27] = 0;
- pTx[28] = pBGY[Cang_Num].BGY_SSWD[0]; //壁挂油光电
- pTx[29] = 0;
- pTx[30] = 0;
- pTx[31] = 0;
- pTx[32] = pBGY[Cang_Num].BGY_SVAL[0]; //壁挂油霍尔
- pTx[33] = 0;
- pTx[34] = 0;
- pTx[35] = 0;
-
- pTx[36] = pBGY[Cang_Num].BGY_SSWD[0]; //油气回收光电
- pTx[37] = 0;
- pTx[38] = 0;
- pTx[39] = 0;
- pTx[40] = pBGY[Cang_Num].BGY_SVAL[0]; //油气回收霍尔
- pTx[41] = 0;
- pTx[42] = 0;
- pTx[43] = 0;
- pTx[36+8] = pBGY[Cang_Num].BGY_SSWD[0]; //底
- pTx[37+8] = 0;
- pTx[38+8] = 0;
- pTx[39+8] = 0;
- pTx[40+8] = pBGY[Cang_Num].BGY_SVAL[0]; //卸
- pTx[41+8] = 0;
- pTx[42+8] = 0;
- pTx[43+8] = 0;
- pTx[44+8] = pBGY[Cang_Num].BGY_SSWD[0]; //大倾角
- pTx[45+8] = 0;
- pTx[46+8] = 0;
- pTx[47+8] = 0;
- pTx[48+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小倾角
- pTx[49+8] = 0;
- pTx[50+8] = 0;
- pTx[51+8] = 0;
- pTx[52+8] = pBGY[Cang_Num].BGY_SVAL[0]; //尽
- pTx[53+8] = 0;
- pTx[54+8] = 0;
- pTx[55+8] = 0;
-
- pTx[56+8] = pBGY[Cang_Num].BGY_SVAL[0]; //大磁电
- pTx[57+8] = 0;
- pTx[58+8] = 0;
- pTx[59+8] = 0;
- pTx[60+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小磁电
- pTx[61+8] = 0;
- pTx[62+8] = 0;
- pTx[63+8] = 0;
-
- for(i = 0;i < 32;i++) //保留32Byte
- {
- pTx[72+i] = 0;
- }
-
- /*********************液位传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[95+9] = 0;
- pTx[96+9] = 0;
- pTx[97+9] = 0;
- pTx[98+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Level_Data;
- pTx[95+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[96+9] = hex_to_float.arr[1];
- pTx[97+9] = hex_to_float.arr[2];
- pTx[98+9] = hex_to_float.arr[3];
-
- }
-
- /**********************平均温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[99+9] = 0;
- pTx[100+9] = 0;
- pTx[101+9] = 0;
- pTx[102+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Avr_temp;
- pTx[99+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[100+9] = hex_to_float.arr[1];
- pTx[101+9] = hex_to_float.arr[2];
- pTx[102+9] = hex_to_float.arr[3];
-
- }
- /**********************高温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[103+9] = 0;
- pTx[104+9] = 0;
- pTx[105+9] = 0;
- pTx[106+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Adot_temp;
- pTx[103+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[104+9] = hex_to_float.arr[1];
- pTx[105+9] = hex_to_float.arr[2];
- pTx[106+9] = hex_to_float.arr[3];
-
- }
- /*********************中温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[107+9] = 0;
- pTx[108+9] = 0;
- pTx[109+9] = 0;
- pTx[110+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Bdot_temp;
- pTx[107+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[108+9] = hex_to_float.arr[1];
- pTx[109+9] = hex_to_float.arr[2];
- pTx[110+9] = hex_to_float.arr[3];
-
- }
- /**********************低温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[111+9] = 0;
- pTx[112+9] = 0;
- pTx[113+9] = 0;
- pTx[114+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Cdot_temp;
- pTx[111+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[112+9] = hex_to_float.arr[1];
- pTx[113+9] = hex_to_float.arr[2];
- pTx[114+9] = hex_to_float.arr[3];
-
- }
- /**************************读取容积数据*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[115+9] = 0x76;
- pTx[116+9] = 0x7F;
- pTx[117+9] = 0xFF;
- pTx[118+9] = 0x00;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[115+9] = hex_to_float.arr[0];
- pTx[116+9] = hex_to_float.arr[1];
- pTx[117+9] = hex_to_float.arr[2];
- pTx[118+9] = hex_to_float.arr[3];
- }
- /**************************压力*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- /**************************含水量*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- /**************************水活性*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- /**************************新增*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[131+9] = 0;
- pTx[132+9] = 0;
- pTx[133+9] = 0;
- pTx[134+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[131+9] = 0;
- pTx[132+9] = 0;
- pTx[133+9] = 0;
- pTx[134+9] = 0;
- }
- /**************************新增********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
- return 1;
- }
- /*
- 3仓数据读
- 功能增加: 邵磊明
- */
- uint16_t Read_CangSensorData_3(uint8_t* pTx)
- {
- //传感器数据顺序为温度4字节*3,角度4字节*3,液位4字节*1,容积四字节*1
- // Angle_Inf* pangle = &angle_inf;
- // TEM_Inf* ptem = tem_inf;
- // KZQ_Inf* pkzq = &kzq_inf;
- Level_Inf* plevel = level_inf;
- HDF_Inf* phdf = hdf_inf;
- Biguayou_Inf* pBGY = biguayou_inf;
- typedef union{
- float float_temp; //青鸟贵和磁致伸缩液位温度一体传感器
- uint8_t arr[4];
- }Hex_to_float;
- Hex_to_float hex_to_float;
- uint8_t Cang_Num = 3,i = 0;
- for(i = 0;i < 4;i++) //铅封
- {
- pTx[16+i] = 0;
- }
- pTx[20] = phdf[Cang_Num].HDF_OFData[1]; //浮球
- pTx[21] = 0;
- pTx[22] = 0;
- pTx[23] = 0;
- pTx[24] = phdf[Cang_Num].HDF_OFState; //活塞杆
- pTx[25] = 0;
- pTx[26] = 0;
- pTx[27] = 0;
- pTx[28] = pBGY[Cang_Num].BGY_SSWD[0]; //壁挂油光电
- pTx[29] = 0;
- pTx[30] = 0;
- pTx[31] = 0;
- pTx[32] = pBGY[Cang_Num].BGY_SVAL[0]; //壁挂油霍尔
- pTx[33] = 0;
- pTx[34] = 0;
- pTx[35] = 0;
-
- pTx[36] = pBGY[Cang_Num].BGY_SSWD[0]; //油气回收光电
- pTx[37] = 0;
- pTx[38] = 0;
- pTx[39] = 0;
- pTx[40] = pBGY[Cang_Num].BGY_SVAL[0]; //油气回收霍尔
- pTx[41] = 0;
- pTx[42] = 0;
- pTx[43] = 0;
- pTx[36+8] = pBGY[Cang_Num].BGY_SSWD[0]; //底
- pTx[37+8] = 0;
- pTx[38+8] = 0;
- pTx[39+8] = 0;
- pTx[40+8] = pBGY[Cang_Num].BGY_SVAL[0]; //卸
- pTx[41+8] = 0;
- pTx[42+8] = 0;
- pTx[43+8] = 0;
- pTx[44+8] = pBGY[Cang_Num].BGY_SSWD[0]; //大倾角
- pTx[45+8] = 0;
- pTx[46+8] = 0;
- pTx[47+8] = 0;
- pTx[48+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小倾角
- pTx[49+8] = 0;
- pTx[50+8] = 0;
- pTx[51+8] = 0;
- pTx[52+8] = pBGY[Cang_Num].BGY_SVAL[0]; //尽
- pTx[53+8] = 0;
- pTx[54+8] = 0;
- pTx[55+8] = 0;
-
- pTx[56+8] = pBGY[Cang_Num].BGY_SVAL[0]; //大磁电
- pTx[57+8] = 0;
- pTx[58+8] = 0;
- pTx[59+8] = 0;
- pTx[60+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小磁电
- pTx[61+8] = 0;
- pTx[62+8] = 0;
- pTx[63+8] = 0;
-
- for(i = 0;i < 32;i++) //保留32Byte
- {
- pTx[72+i] = 0;
- }
-
- /*********************液位传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[95+9] = 0;
- pTx[96+9] = 0;
- pTx[97+9] = 0;
- pTx[98+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Level_Data;
- pTx[95+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[96+9] = hex_to_float.arr[1];
- pTx[97+9] = hex_to_float.arr[2];
- pTx[98+9] = hex_to_float.arr[3];
-
- }
-
- /**********************平均温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[99+9] = 0;
- pTx[100+9] = 0;
- pTx[101+9] = 0;
- pTx[102+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Avr_temp;
- pTx[99+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[100+9] = hex_to_float.arr[1];
- pTx[101+9] = hex_to_float.arr[2];
- pTx[102+9] = hex_to_float.arr[3];
-
- }
- /**********************高温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[103+9] = 0;
- pTx[104+9] = 0;
- pTx[105+9] = 0;
- pTx[106+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Adot_temp;
- pTx[103+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[104+9] = hex_to_float.arr[1];
- pTx[105+9] = hex_to_float.arr[2];
- pTx[106+9] = hex_to_float.arr[3];
-
- }
- /*********************中温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[107+9] = 0;
- pTx[108+9] = 0;
- pTx[109+9] = 0;
- pTx[110+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Bdot_temp;
- pTx[107+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[108+9] = hex_to_float.arr[1];
- pTx[109+9] = hex_to_float.arr[2];
- pTx[110+9] = hex_to_float.arr[3];
-
- }
- /**********************低温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[111+9] = 0;
- pTx[112+9] = 0;
- pTx[113+9] = 0;
- pTx[114+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Cdot_temp;
- pTx[111+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[112+9] = hex_to_float.arr[1];
- pTx[113+9] = hex_to_float.arr[2];
- pTx[114+9] = hex_to_float.arr[3];
-
- }
- /**************************读取容积数据*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[115+9] = 0x76;
- pTx[116+9] = 0x7F;
- pTx[117+9] = 0xFF;
- pTx[118+9] = 0x00;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[115+9] = hex_to_float.arr[0];
- pTx[116+9] = hex_to_float.arr[1];
- pTx[117+9] = hex_to_float.arr[2];
- pTx[118+9] = hex_to_float.arr[3];
- }
- /**************************压力*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- /**************************含水量*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- /**************************水活性*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- /**************************新增*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[131+9] = 0;
- pTx[132+9] = 0;
- pTx[133+9] = 0;
- pTx[134+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[131+9] = 0;
- pTx[132+9] = 0;
- pTx[133+9] = 0;
- pTx[134+9] = 0;
- }
- /**************************新增********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
- return 1;
- }
- /*
- 2仓数据读
- 功能增加: 邵磊明
- */
- uint16_t Read_CangSensorData_2(uint8_t* pTx)
- {
- //传感器数据顺序为温度4字节*3,角度4字节*3,液位4字节*1,容积四字节*1
- // Angle_Inf* pangle = &angle_inf;
- TEM_Inf* ptem = tem_inf;
- // KZQ_Inf* pkzq = &kzq_inf;
- Level_Inf* plevel = level_inf;
- HDF_Inf* phdf = hdf_inf;
- Biguayou_Inf* pBGY = biguayou_inf;
- Cang_Inf* pcang = &cang_inf;
- KZQ_Inf* pkzq = &kzq_inf;
- RKG_Inf* prkg = rkg_inf;
- XYF_Inf* pxyf = xyf_inf;
- Yqhuishou_Inf* pYqhuishou = &yqhuishou_inf;
-
- // static float test_val=100;
- typedef union{
- float float_temp; //青鸟贵和磁致伸缩液位温度一体传感器
- uint8_t arr[4];
- }Hex_to_float;
- Hex_to_float hex_to_float;
- uint8_t Cang_Num = 2,i = 0,HDF_Start = 0,XYF_Start = 0,RKG_Start = 0,BGY_Start = 0;
- if(Cang_Num < 1 ||Cang_Num > 8)
- return 0;
- for(i = 0;i < Cang_Num - 1;i++)
- {
- HDF_Start += pcang->HDF_Num[i];
- XYF_Start += pcang->XYF_Num[i];
- RKG_Start += pcang->RKG_Num[i];
- BGY_Start += pcang->BGY_Num[i];
- }
- for(i = 0;i < 4;i++) //铅封
- {
- pTx[16+i] = 0;
- }
- pTx[20] = phdf[Cang_Num].HDF_OFData[1]; //浮球
- pTx[21] = 0;
- pTx[22] = 0;
- pTx[23] = 0;
- pTx[24] = phdf[Cang_Num].HDF_OFState; //活塞杆
- pTx[25] = 0;
- pTx[26] = 0;
- pTx[27] = 0;
- pTx[28] = pBGY[Cang_Num].BGY_SSWD[0]; //壁挂油光电
- pTx[29] = 0;
- pTx[30] = 0;
- pTx[31] = 0;
- pTx[32] = pBGY[Cang_Num].BGY_SVAL[0]; //壁挂油霍尔
- pTx[33] = 0;
- pTx[34] = 0;
- pTx[35] = 0;
-
- pTx[36] = pBGY[Cang_Num].BGY_SSWD[0]; //油气回收光电
- pTx[37] = 0;
- pTx[38] = 0;
- pTx[39] = 0;
- pTx[40] = pBGY[Cang_Num].BGY_SVAL[0]; //油气回收霍尔
- pTx[41] = 0;
- pTx[42] = 0;
- pTx[43] = 0;
- if(phdf[HDF_Start+1].HDF_Error)
- pTx[36+8] = State_Error;
- else
- pTx[36+8] = Get_DFState(HDF_Start+1); //获取罐仓1号底阀状态
-
- if(pxyf[XYF_Start+1].XYF_Error)
- pTx[40+8] = State_Error;
- else
- pTx[40+8] = pxyf[XYF_Start+1].XYF_State1; //获取罐仓1号卸油阀状态 pxyf[XYF_Start+1].XYF_Data1[0] ;
-
- if(prkg[RKG_Start+1].RKDG_Error)
- {
- pTx[44+8] = State_Error;
- pTx[48+8] = State_Error;
- }
- else
- {
- pTx[44+8] = prkg[RKG_Start+1].RKDG_State; //获取罐仓1号人孔大盖状态
- pTx[48+8] = prkg[RKG_Start+1].RKXG_State; //获取罐仓1号人孔小盖状态
- }
-
- if(pxyf[XYF_Start+1].XYF_Error)
- pTx[52+8] = State_Error;
- else
- pTx[52+8] = pxyf[XYF_Start+1].XYF_State2; //获取罐仓1号卸尽状态
- // pTx[36+8] = pBGY[Cang_Num].BGY_SSWD[0]; //底
- pTx[37+8] = 0;
- pTx[38+8] = 0;
- pTx[39+8] = 0;
- // pTx[40+8] = pBGY[Cang_Num].BGY_SVAL[0]; //卸
- pTx[41+8] = 0;
- pTx[42+8] = 0;
- pTx[43+8] = 0;
- // pTx[44+8] = pBGY[Cang_Num].BGY_SSWD[0]; //大倾角
- pTx[45+8] = 0;
- pTx[46+8] = 0;
- pTx[47+8] = 0;
- // pTx[48+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小倾角
- pTx[49+8] = 0;
- pTx[50+8] = 0;
- pTx[51+8] = 0;
- // pTx[52+8] = pBGY[Cang_Num].BGY_SVAL[0]; //尽
- pTx[53+8] = 0;
- pTx[54+8] = 0;
- pTx[55+8] = 0;
-
- pTx[56+8] = pBGY[Cang_Num].BGY_SVAL[0]; //大磁电
- pTx[57+8] = 0;
- pTx[58+8] = 0;
- pTx[59+8] = 0;
- pTx[60+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小磁电
- pTx[61+8] = 0;
- pTx[62+8] = 0;
- pTx[63+8] = 0;
-
- for(i = 0;i < 32;i++) //保留32Byte
- {
- pTx[72+i] = 0;
- }
-
- /*********************液位传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[95+9] = 0;
- pTx[96+9] = 0;
- pTx[97+9] = 0;
- pTx[98+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Level_Data1;
- pTx[95+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[96+9] = hex_to_float.arr[1];
- pTx[97+9] = hex_to_float.arr[2];
- pTx[98+9] = hex_to_float.arr[3];
-
- }
-
- /**********************平均温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[99+9] = 0;
- pTx[100+9] = 0;
- pTx[101+9] = 0;
- pTx[102+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = ((float)ptem[Cang_Num].TEM_MData[1]*(0.1f));
- pTx[99+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[100+9] = hex_to_float.arr[1];
- pTx[101+9] = hex_to_float.arr[2];
- pTx[102+9] = hex_to_float.arr[3];
-
- }
- /**********************高温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[103+9] = 0;
- pTx[104+9] = 0;
- pTx[105+9] = 0;
- pTx[106+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = ((float)ptem[Cang_Num].TEM_HData[1]*(0.1f));
- pTx[103+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[104+9] = hex_to_float.arr[1];
- pTx[105+9] = hex_to_float.arr[2];
- pTx[106+9] = hex_to_float.arr[3];
-
- }
- /*********************中温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[107+9] = 0;
- pTx[108+9] = 0;
- pTx[109+9] = 0;
- pTx[110+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = ((float)ptem[Cang_Num].TEM_MData[1]*(0.1f));
- pTx[107+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[108+9] = hex_to_float.arr[1];
- pTx[109+9] = hex_to_float.arr[2];
- pTx[110+9] = hex_to_float.arr[3];
-
- }
- /**********************低温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[111+9] = 0;
- pTx[112+9] = 0;
- pTx[113+9] = 0;
- pTx[114+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = ((float)ptem[Cang_Num].TEM_LData[1]*(0.1f));
- pTx[111+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[112+9] = hex_to_float.arr[1];
- pTx[113+9] = hex_to_float.arr[2];
- pTx[114+9] = hex_to_float.arr[3];
-
- }
- /**************************读取容积数据*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[115+9] = 0x76;
- pTx[116+9] = 0x7F;
- pTx[117+9] = 0xFF;
- pTx[118+9] = 0x00;
- }
- else
- {
- hex_to_float.float_temp = plevel[(Cang_Num-0)].Volume_Data;
- pTx[115+9] = hex_to_float.arr[0];
- pTx[116+9] = hex_to_float.arr[1];
- pTx[117+9] = hex_to_float.arr[2];
- pTx[118+9] = hex_to_float.arr[3];
- }
- /**************************压力*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- /**************************含水量*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- /**************************水活性*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- /**************************新增*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[131+9] = 0;
- pTx[132+9] = 0;
- pTx[133+9] = 0;
- pTx[134+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[131+9] = 0;
- pTx[132+9] = 0;
- pTx[133+9] = 0;
- pTx[134+9] = 0;
- }
- /**************************新增********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
- return 1;
- }
- /*
- 1仓数据读
- 功能增加: 邵磊明
- */
- uint16_t Read_CangSensorData_1(uint8_t* pTx)//邵磊明增加
- {
- //传感器数据顺序为温度4字节*3,角度4字节*3,液位4字节*1,容积四字节*1
- // Angle_Inf* pangle = &angle_inf;
- TEM_Inf* ptem = tem_inf;
- // KZQ_Inf* pkzq = &kzq_inf;
- Level_Inf* plevel = level_inf;
- HDF_Inf* phdf = hdf_inf;
- Biguayou_Inf* pBGY = biguayou_inf;
- Cang_Inf* pcang = &cang_inf;
- KZQ_Inf* pkzq = &kzq_inf;
- RKG_Inf* prkg = rkg_inf;
- XYF_Inf* pxyf = xyf_inf;
- Yqhuishou_Inf* pYqhuishou = &yqhuishou_inf;
- //static float test_val=100;
- extern uint8_t ptxCang01Temp[150];
- typedef union{
- float float_temp; //青鸟贵和磁致伸缩液位温度一体传感器
- uint8_t arr[4];
- }Hex_to_float;
- Hex_to_float hex_to_float;
- uint8_t Cang_Num = 1,i = 0,HDF_Start = 0,XYF_Start = 0,RKG_Start = 0,BGY_Start = 0;
- if(Cang_Num < 1 ||Cang_Num > 8)
- return 0;
- for(i = 0;i < Cang_Num - 1;i++)
- {
- HDF_Start += pcang->HDF_Num[i];
- XYF_Start += pcang->XYF_Num[i];
- RKG_Start += pcang->RKG_Num[i];
- BGY_Start += pcang->BGY_Num[i];
- }
- for(i = 0;i < 4;i++) //铅封
- {
- pTx[16+i] = 0;
- }
- pTx[20] = phdf[Cang_Num].HDF_OFData[1]; //浮球
- pTx[21] = 0;
- pTx[22] = 0;
- pTx[23] = 0;
- pTx[24] = phdf[Cang_Num].HDF_OFState; //活塞杆
- pTx[25] = 0;
- pTx[26] = 0;
- pTx[27] = 0;
- pTx[28] = pBGY[Cang_Num].BGY_SSWD[0]; //壁挂油光电
- pTx[29] = 0;
- pTx[30] = 0;
- pTx[31] = 0;
- pTx[32] = pBGY[Cang_Num].BGY_SVAL[0]; //壁挂油霍尔
- pTx[33] = 0;
- pTx[34] = 0;
- pTx[35] = 0;
-
- pTx[36] = pBGY[Cang_Num].BGY_SSWD[0]; //油气回收光电
- pTx[37] = 0;
- pTx[38] = 0;
- pTx[39] = 0;
- pTx[40] = pBGY[Cang_Num].BGY_SVAL[0]; //油气回收霍尔
- pTx[41] = 0;
- pTx[42] = 0;
- pTx[43] = 0;
- if(phdf[HDF_Start+1].HDF_Error)
- pTx[36+8] = State_Error;
- else
- pTx[36+8] = Get_DFState(HDF_Start+1); //获取罐仓1号底阀状态
-
- if(pxyf[XYF_Start+1].XYF_Error)
- pTx[40+8] = State_Error;
- else
- pTx[40+8] = pxyf[XYF_Start+1].XYF_State1; //获取罐仓1号卸油阀状态 pxyf[XYF_Start+1].XYF_Data1[0] ;
-
- if(prkg[RKG_Start+1].RKDG_Error)
- {
- pTx[44+8] = State_Error;
- pTx[48+8] = State_Error;
- }
- else
- {
- pTx[44+8] = prkg[RKG_Start+1].RKDG_State; //获取罐仓1号人孔大盖状态
- pTx[48+8] = prkg[RKG_Start+1].RKXG_State; //获取罐仓1号人孔小盖状态
- }
-
- if(pxyf[XYF_Start+1].XYF_Error)
- pTx[52+8] = State_Error;
- else
- pTx[52+8] = pxyf[XYF_Start+1].XYF_State2; //获取罐仓1号卸尽状态
- // pTx[36+8] = pBGY[Cang_Num].BGY_SSWD[0]; //底
- pTx[37+8] = 0;
- pTx[38+8] = 0;
- pTx[39+8] = 0;
- // pTx[40+8] = pBGY[Cang_Num].BGY_SVAL[0]; //卸
- pTx[41+8] = 0;
- pTx[42+8] = 0;
- pTx[43+8] = 0;
- // pTx[44+8] = pBGY[Cang_Num].BGY_SSWD[0]; //大倾角
- pTx[45+8] = 0;
- pTx[46+8] = 0;
- pTx[47+8] = 0;
- // pTx[48+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小倾角
- pTx[49+8] = 0;
- pTx[50+8] = 0;
- pTx[51+8] = 0;
- // pTx[52+8] = pBGY[Cang_Num].BGY_SVAL[0]; //尽
- pTx[53+8] = 0;
- pTx[54+8] = 0;
- pTx[55+8] = 0;
-
- pTx[56+8] = pBGY[Cang_Num].BGY_SVAL[0]; //大磁电
- pTx[57+8] = 0;
- pTx[58+8] = 0;
- pTx[59+8] = 0;
- pTx[60+8] = pBGY[Cang_Num].BGY_SVAL[0]; //小磁电
- pTx[61+8] = 0;
- pTx[62+8] = 0;
- pTx[63+8] = 0;
-
- for(i = 0;i < 32;i++) //保留32Byte
- {
- pTx[72+i] = 0;
- }
-
- /*********************液位传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[95+9] = 0;
- pTx[96+9] = 0;
- pTx[97+9] = 0;
- pTx[98+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Level_Data1;
- pTx[95+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[96+9] = hex_to_float.arr[1];
- pTx[97+9] = hex_to_float.arr[2];
- pTx[98+9] = hex_to_float.arr[3];
-
- }
-
- /**********************平均温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[99+9] = 0;
- pTx[100+9] = 0;
- pTx[101+9] = 0;
- pTx[102+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = ((float)ptem[Cang_Num].TEM_MData[1]*(0.1f));
- pTx[99+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[100+9] = hex_to_float.arr[1];
- pTx[101+9] = hex_to_float.arr[2];
- pTx[102+9] = hex_to_float.arr[3];
-
- }
- /**********************高温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[103+9] = 0;
- pTx[104+9] = 0;
- pTx[105+9] = 0;
- pTx[106+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = ((float)ptem[Cang_Num].TEM_HData[1]*(0.1f));
- pTx[103+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[104+9] = hex_to_float.arr[1];
- pTx[105+9] = hex_to_float.arr[2];
- pTx[106+9] = hex_to_float.arr[3];
-
- }
- /*********************中温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[107+9] = 0;
- pTx[108+9] = 0;
- pTx[109+9] = 0;
- pTx[110+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = ((float)ptem[Cang_Num].TEM_MData[1]*(0.1f));
- pTx[107+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[108+9] = hex_to_float.arr[1];
- pTx[109+9] = hex_to_float.arr[2];
- pTx[110+9] = hex_to_float.arr[3];
-
- }
- /**********************低温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[111+9] = 0;
- pTx[112+9] = 0;
- pTx[113+9] = 0;
- pTx[114+9] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = ((float)ptem[Cang_Num].TEM_LData[1]*(0.1f));
- pTx[111+9] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[112+9] = hex_to_float.arr[1];
- pTx[113+9] = hex_to_float.arr[2];
- pTx[114+9] = hex_to_float.arr[3];
-
- }
- // test_val++;
- // for(i=0;i<4;i++) //for test
- // {
- // hex_to_float.float_temp = test_val;//plevel[Cang_Num].Level_Data;//(10.56+test_val);
- // pTx[108+i*4] = hex_to_float.arr[0];
- // pTx[109+i*4] = hex_to_float.arr[1];
- // pTx[110+i*4] = hex_to_float.arr[2];
- // pTx[111+i*4] = hex_to_float.arr[3];
- // }
- /**************************读取容积数据*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[115+9] = 0x76;
- pTx[116+9] = 0x7F;
- pTx[117+9] = 0xFF;
- pTx[118+9] = 0x00;
- }
- else
- {
- hex_to_float.float_temp = plevel[(Cang_Num-0)].Volume_Data;
- pTx[115+9] = hex_to_float.arr[0];
- pTx[116+9] = hex_to_float.arr[1];
- pTx[117+9] = hex_to_float.arr[2];
- pTx[118+9] = hex_to_float.arr[3];
- }
- /**************************压力*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[119+9] = 0;
- pTx[120+9] = 0;
- pTx[121+9] = 0;
- pTx[122+9] = 0;
- }
- /**************************含水量*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[123+9] = 0;
- pTx[124+9] = 0;
- pTx[125+9] = 0;
- pTx[126+9] = 0;
- }
- /**************************水活性*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[127+9] = 0;
- pTx[128+9] = 0;
- pTx[129+9] = 0;
- pTx[130+9] = 0;
- }
- /**************************新增*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[131+9] = 0;
- pTx[132+9] = 0;
- pTx[133+9] = 0;
- pTx[134+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[131+9] = hex_to_float.arr[0];
- pTx[132+9] = hex_to_float.arr[1];
- pTx[133+9] = hex_to_float.arr[2];
- pTx[134+9] = hex_to_float.arr[3];
- }
- /**************************新增********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[135+9] = 0;
- pTx[136+9] = 0;
- pTx[137+9] = 0;
- pTx[138+9] = 0;
- }
-
- // memcpy(ptxCang01Temp,&pTx[0],150);
-
- return 1;
- }
- /*
- 1-4仓数据读
- 功能增加: 邵磊明
- */
- uint16_t Read_CangSensorData_1to4(uint8_t* pTx)//邵磊明增加
- {
- //传感器数据顺序为温度4字节*3,角度4字节*3,液位4字节*1,容积四字节*1
- // Angle_Inf* pangle = &angle_inf;
- // TEM_Inf* ptem = tem_inf;
- // KZQ_Inf* pkzq = &kzq_inf;
- Level_Inf* plevel = level_inf;
- typedef union{
- float float_temp; //青鸟贵和磁致伸缩液位温度一体传感器
- uint8_t arr[4];
- }Hex_to_float;
- Hex_to_float hex_to_float;
- uint8_t Cang_Num = 1,i = 0;
- /**********************8byte beiyong**********************************/
- for(i = 0;i <= 8;i++)//读取第几仓传感器数据
- {
- pTx[16+i] = 0xa5;
-
- }
- for(i = 0;i <= 8;i++)//读取第几仓传感器数据
- {
- pTx[24+i*4] = 0;
- pTx[25+i*4] = 0;
- pTx[26+i*4] = 0;
- pTx[27+i*4] = 0;
-
- }
-
- for(Cang_Num = 1;Cang_Num <= 4;Cang_Num++)//读取第几仓传感器数据
- {
- /*********************液位传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[56+(Cang_Num-1)*44] = 0;
- pTx[57+(Cang_Num-1)*44] = 0;
- pTx[58+(Cang_Num-1)*44] = 0;
- pTx[59+(Cang_Num-1)*44] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Level_Data;
- pTx[56+(Cang_Num-1)*44] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[57+(Cang_Num-1)*44] = hex_to_float.arr[1];
- pTx[58+(Cang_Num-1)*44] = hex_to_float.arr[2];
- pTx[59+(Cang_Num-1)*44] = hex_to_float.arr[3];
-
- }
- /**********************平均温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[60+(Cang_Num-1)*44] = 0;
- pTx[61+(Cang_Num-1)*44] = 0;
- pTx[62+(Cang_Num-1)*44] = 0;
- pTx[63+(Cang_Num-1)*44] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Avr_temp;
- pTx[60+(Cang_Num-1)*44] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[61+(Cang_Num-1)*44] = hex_to_float.arr[1];
- pTx[62+(Cang_Num-1)*44] = hex_to_float.arr[2];
- pTx[63+(Cang_Num-1)*44] = hex_to_float.arr[3];
-
- }
- /**********************高温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[64+(Cang_Num-1)*44] = 0;
- pTx[65+(Cang_Num-1)*44] = 0;
- pTx[66+(Cang_Num-1)*44] = 0;
- pTx[67+(Cang_Num-1)*44] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Adot_temp;
- pTx[64+(Cang_Num-1)*44] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[65+(Cang_Num-1)*44] = hex_to_float.arr[1];
- pTx[66+(Cang_Num-1)*44] = hex_to_float.arr[2];
- pTx[67+(Cang_Num-1)*44] = hex_to_float.arr[3];
-
- }
- /*********************中温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[68+(Cang_Num-1)*44] = 0;
- pTx[69+(Cang_Num-1)*44] = 0;
- pTx[70+(Cang_Num-1)*44] = 0;
- pTx[71+(Cang_Num-1)*44] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Bdot_temp;
- pTx[68+(Cang_Num-1)*44] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[69+(Cang_Num-1)*44] = hex_to_float.arr[1];
- pTx[70+(Cang_Num-1)*44] = hex_to_float.arr[2];
- pTx[71+(Cang_Num-1)*44] = hex_to_float.arr[3];
-
- }
- /**********************低温度传感器数据**********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[72+(Cang_Num-1)*44] = 0;
- pTx[73+(Cang_Num-1)*44] = 0;
- pTx[74+(Cang_Num-1)*44] = 0;
- pTx[75+(Cang_Num-1)*44] = 0;
-
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Cdot_temp;
- pTx[72+(Cang_Num-1)*44] = hex_to_float.arr[0]; //读取高位温度传感器数据
- pTx[73+(Cang_Num-1)*44] = hex_to_float.arr[1];
- pTx[74+(Cang_Num-1)*44] = hex_to_float.arr[2];
- pTx[75+(Cang_Num-1)*44] = hex_to_float.arr[3];
-
- }
- /**************************读取容积数据*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[76+(Cang_Num-1)*44] = 0x76;
- pTx[77+(Cang_Num-1)*44] = 0x7F;
- pTx[78+(Cang_Num-1)*44] = 0xFF;
- pTx[79+(Cang_Num-1)*44] = 0x00;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[76+(Cang_Num-1)*44] = hex_to_float.arr[0];
- pTx[77+(Cang_Num-1)*44] = hex_to_float.arr[1];
- pTx[78+(Cang_Num-1)*44] = hex_to_float.arr[2];
- pTx[79+(Cang_Num-1)*44] = hex_to_float.arr[3];
- }
- /**************************读取容积数据*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[80+(Cang_Num-1)*44] = 0x76;
- pTx[81+(Cang_Num-1)*44] = 0x7F;
- pTx[82+(Cang_Num-1)*44] = 0xFF;
- pTx[83+(Cang_Num-1)*44] = 0x00;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[80+(Cang_Num-1)*44] = hex_to_float.arr[0];
- pTx[81+(Cang_Num-1)*44] = hex_to_float.arr[1];
- pTx[82+(Cang_Num-1)*44] = hex_to_float.arr[2];
- pTx[83+(Cang_Num-1)*44] = hex_to_float.arr[3];
- }
-
- /**************************读取容积数据*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[84+(Cang_Num-1)*44] = 0x76;
- pTx[85+(Cang_Num-1)*44] = 0x7F;
- pTx[86+(Cang_Num-1)*44] = 0xFF;
- pTx[87+(Cang_Num-1)*44] = 0x00;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[84+(Cang_Num-1)*44] = hex_to_float.arr[0];
- pTx[85+(Cang_Num-1)*44] = hex_to_float.arr[1];
- pTx[86+(Cang_Num-1)*44] = hex_to_float.arr[2];
- pTx[87+(Cang_Num-1)*44] = hex_to_float.arr[3];
- }
- /**************************读取容积数据*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[88+(Cang_Num-1)*44] = 0x76;
- pTx[89+(Cang_Num-1)*44] = 0x7F;
- pTx[90+(Cang_Num-1)*44] = 0xFF;
- pTx[91+(Cang_Num-1)*44] = 0x00;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[88+(Cang_Num-1)*44] = hex_to_float.arr[0];
- pTx[89+(Cang_Num-1)*44] = hex_to_float.arr[1];
- pTx[90+(Cang_Num-1)*44] = hex_to_float.arr[2];
- pTx[91+(Cang_Num-1)*44] = hex_to_float.arr[3];
- }
- /**************************读取容积数据*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[92+(Cang_Num-1)*44] = 0x76;
- pTx[93+(Cang_Num-1)*44] = 0x7F;
- pTx[94+(Cang_Num-1)*44] = 0xFF;
- pTx[95+(Cang_Num-1)*44] = 0x00;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[92+(Cang_Num-1)*44] = hex_to_float.arr[0];
- pTx[93+(Cang_Num-1)*44] = hex_to_float.arr[1];
- pTx[94+(Cang_Num-1)*44] = hex_to_float.arr[2];
- pTx[95+(Cang_Num-1)*44] = hex_to_float.arr[3];
- }
- /**************************读取容积数据*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[96+(Cang_Num-1)*44] = 0x76;
- pTx[97+(Cang_Num-1)*44] = 0x7F;
- pTx[98+(Cang_Num-1)*44] = 0xFF;
- pTx[99+(Cang_Num-1)*44] = 0x00;
- }
- else
- {
- hex_to_float.float_temp = plevel[Cang_Num].Volume_Data;
- pTx[96+(Cang_Num-1)*44] = hex_to_float.arr[0];
- pTx[97+(Cang_Num-1)*44] = hex_to_float.arr[1];
- pTx[98+(Cang_Num-1)*44] = hex_to_float.arr[2];
- pTx[99+(Cang_Num-1)*44] = hex_to_float.arr[3];
- }
- }
- return 1;
- }
- uint16_t Read_CangSensorData(uint8_t* pTx)
- {
- //传感器数据顺序为温度4字节*3,角度4字节*3,液位4字节*1,容积四字节*1
- Angle_Inf* pangle = &angle_inf;
- TEM_Inf* ptem = tem_inf;
- KZQ_Inf* pkzq = &kzq_inf;
- Level_Inf* plevel = level_inf;
- uint8_t Cang_Num = 0;
-
- Cang_Num = pkzq->data_buf[17]; //读取第几仓传感器数据
- if(Cang_Num < 1 ||Cang_Num > 8)
- return 0;
- pTx[11] = 32; //数据长度
- pTx[17] = pkzq->data_buf[17];
- /**********************温度传感器数据**********************************/
- if(ptem[Cang_Num].TEM_Error)
- {
- pTx[18] = 0x47;
- pTx[19] = 0x7F;
- pTx[20] = 0xFF;
- pTx[21] = 0x00;
-
- pTx[22] = 0x47;
- pTx[23] = 0x7F;
- pTx[24] = 0xFF;
- pTx[25] = 0x00;
-
- pTx[26] = 0x47;
- pTx[27] = 0x7F;
- pTx[28] = 0xFF;
- pTx[29] = 0x00;
- }
- else
- {
- pTx[18] = ptem[Cang_Num].TEM_HData[0]>>24&0xFF; //读取高位温度传感器数据
- pTx[19] = ptem[Cang_Num].TEM_HData[0]>>16&0xFF;
- pTx[20] = ptem[Cang_Num].TEM_HData[0]>>8&0xFF;
- pTx[21] = ptem[Cang_Num].TEM_HData[0]&0xFF;
-
- pTx[22] = ptem[Cang_Num].TEM_MData[0]>>24&0xFF; //读取中位温度传感器数据
- pTx[23] = ptem[Cang_Num].TEM_MData[0]>>16&0xFF;
- pTx[24] = ptem[Cang_Num].TEM_MData[0]>>8&0xFF;
- pTx[25] = ptem[Cang_Num].TEM_MData[0]&0xFF;
-
- pTx[26] = ptem[Cang_Num].TEM_LData[0]>>24&0xFF; //读取低位温度传感器数据
- pTx[27] = ptem[Cang_Num].TEM_LData[0]>>16&0xFF;
- pTx[28] = ptem[Cang_Num].TEM_LData[0]>>8&0xFF;
- pTx[29] = ptem[Cang_Num].TEM_LData[0]&0xFF;
- }
- /**********************读取角度传感器数据**********************************/
- if(pangle->Angle_Error)
- {
- pTx[30] = 0x47;
- pTx[31] = 0x7F;
- pTx[32] = 0xFF;
- pTx[33] = 0x00;
-
- pTx[34] = 0x47;
- pTx[35] = 0x7F;
- pTx[36] = 0xFF;
- pTx[37] = 0x00;
-
- pTx[38] = 0x47;
- pTx[39] = 0x7F;
- pTx[40] = 0xFF;
- pTx[41] = 0x00;
- }
- else
- {
- pTx[30] = pangle->Angle_DataX[0]>>24&0xFF; //读取X轴角度数据
- pTx[31] = pangle->Angle_DataX[0]>>16&0xFF;
- pTx[32] = pangle->Angle_DataX[0]>>8&0xFF;
- pTx[33] = pangle->Angle_DataX[0]&0xFF;
-
- pTx[34] = pangle->Angle_DataY[0]>>24&0xFF; //读取Y轴角度数据
- pTx[35] = pangle->Angle_DataY[0]>>16&0xFF;
- pTx[36] = pangle->Angle_DataY[0]>>8&0xFF;
- pTx[37] = pangle->Angle_DataY[0]&0xFF;
-
- pTx[38] = pangle->Angle_DataZ[0]>>24&0xFF; //读取Z轴角度数据
- pTx[39] = pangle->Angle_DataZ[0]>>16&0xFF;
- pTx[40] = pangle->Angle_DataZ[0]>>8&0xFF;
- pTx[41] = pangle->Angle_DataZ[0]&0xFF;
- }
-
- /**************************读取液位数据*********************************/
- if(plevel[Cang_Num].Level_Error)
- {
- pTx[42] = 0x47;
- pTx[43] = 0x7F;
- pTx[44] = 0xFF;
- pTx[45] = 0x00;
-
- pTx[46] = 0x47;
- pTx[47] = 0x7F;
- pTx[48] = 0xFF;
- pTx[49] = 0x00;
- }
- else
- {
- pTx[42] = (int)plevel[Cang_Num].Level_Data>>24&0xFF;
- pTx[43] = (int)plevel[Cang_Num].Level_Data>>16&0xFF;
- pTx[44] = (int)plevel[Cang_Num].Level_Data>>8&0xFF;
- pTx[45] = (int)plevel[Cang_Num].Level_Data&0xFF;
- /**************************读取容积数据*********************************/
- pTx[46] = (int)plevel[Cang_Num].Volume_Data>>24&0xFF;
- pTx[47] = (int)plevel[Cang_Num].Volume_Data>>16&0xFF;
- pTx[48] = (int)plevel[Cang_Num].Volume_Data>>8&0xFF;
- pTx[49] = (int)plevel[Cang_Num].Volume_Data&0xFF;
- }
- return 1;
- }
- void RstCPU(void)
- {
- uint16_t j;
- __disable_irq();
-
- while(1)
- {
- __set_FAULTMASK(1);
- NVIC_SystemReset();
- while(j --)
- {
- __nop(); __nop(); __nop(); __nop();
- }
- }
- }
- uint16_t Angle_SetZero(uint8_t* pTx)
- {
- KZQ_Inf* pkzq = &kzq_inf;
- Angle_Inf* pangle = &angle_inf;
- if( pkzq->USE_XYF == 0)
- {
- if(pkzq->data_buf[7] == 0x06)
- {
- pkzq->USE_XYF = 1;
-
- XYF_TxBuf[0] = pkzq->data_buf[17];
- XYF_TxBuf[1] = 0x06;
- XYF_TxBuf[2] = 0x00;
- XYF_TxBuf[3] = 0x01;
- XYF_TxBuf[4] = 0x00;
- XYF_TxBuf[5] = 0x08;
- Uart_len_TouChuan=6;
- }
- else
- {
- if(pangle->Angle_Error)
- {
- pTx[18] = 0x47;
- pTx[19] = 0x7F;
- pTx[20] = 0xFF;
- pTx[21] = 0x00;
-
- pTx[22] = 0x47;
- pTx[23] = 0x7F;
- pTx[24] = 0xFF;
- pTx[25] = 0x00;
-
- pTx[26] = 0x47;
- pTx[27] = 0x7F;
- pTx[28] = 0xFF;
- pTx[29] = 0x00;
- }
- else
- {
- pTx[18] = pangle->Angle_DataX[0]>>24&0xFF; //读取X轴角度数据
- pTx[19] = pangle->Angle_DataX[0]>>16&0xFF;
- pTx[20] = pangle->Angle_DataX[0]>>8&0xFF;
- pTx[21] = pangle->Angle_DataX[0]&0xFF;
-
- pTx[22] = pangle->Angle_DataY[0]>>24&0xFF; //读取Y轴角度数据
- pTx[23] = pangle->Angle_DataY[0]>>16&0xFF;
- pTx[24] = pangle->Angle_DataY[0]>>8&0xFF;
- pTx[25] = pangle->Angle_DataY[0]&0xFF;
-
- pTx[26] = pangle->Angle_DataZ[0]>>24&0xFF; //读取Z轴角度数据
- pTx[27] = pangle->Angle_DataZ[0]>>16&0xFF;
- pTx[28] = pangle->Angle_DataZ[0]>>8&0xFF;
- pTx[29] = pangle->Angle_DataZ[0]&0xFF;
- }
- }
- return 0;
- }
- return 1;
- }
- uint16_t XYF_SetOFF(uint8_t* pTx)
- {
- KZQ_Inf* pkzq = &kzq_inf;
- // Cang_Inf* pcang = &cang_inf;
- uint8_t i = 0,j = 0;
- uint16_t ModBusCRC = 0;
-
- if( pkzq->USE_XYF == 0)
- {
- if(pkzq->data_buf[7] == 0x06)
- {
- pkzq->USE_XYF = 1;
-
- // if((pcang->XYF_Type == 1)||(pkzq->data_buf[17] == 0x11)) //中化测试用
- /* if(pcang->XYF_Type == 1)
- {
- j = 2;
- XYF_TxBuf[i++] = 0x0D;
- XYF_TxBuf[i++] = 0x0A;
- }*/
- XYF_TxBuf[i++] = pkzq->data_buf[17];
- XYF_TxBuf[i++] = 0x06;
- XYF_TxBuf[i++] = 0x00;
- XYF_TxBuf[i++] = 0x02;
- XYF_TxBuf[i++] = 0x00;
- XYF_TxBuf[i++] = 0x01;
-
- ModBusCRC = LIB_CRC_MODBUS(XYF_TxBuf+j,6);
-
- XYF_TxBuf[i++] = ModBusCRC>>8;
- XYF_TxBuf[i++] = ModBusCRC&0xff;
-
- // if((pcang->XYF_Type == 1)||(pkzq->data_buf[17] == 0x11)) //中化测试用
- /* if(pcang->XYF_Type == 1)
- {
- XYF_TxBuf[i++] = 0x0D;
- XYF_TxBuf[i++] = 0x0A;
- }*/
- Uart_len_TouChuan=i;
- }
- else
- return 0;
- }
- else
- return 0;
- return 1;
- }
- uint16_t XYF_SetThreshold(uint8_t* pTx)
- {
- KZQ_Inf* pkzq = &kzq_inf;
- Cang_Inf* pcang = &cang_inf;
- uint8_t i = 0,j = 0;
- uint16_t ModBusCRC = 0;
-
- if(pkzq->USE_XYF == 0)
- {
- if(pkzq->data_buf[7] == 0x06)
- {
- pkzq->USE_XYF = 1;
- if(pcang->XYF_Type == 1)
- {
- j = 0;
- // XYF_TxBuf[i++] = 0x0D;
- // XYF_TxBuf[i++] = 0x0A;
- }
- XYF_TxBuf[i++] = pkzq->data_buf[17];
- XYF_TxBuf[i++] = 0x06;
- XYF_TxBuf[i++] = 0x00;
- XYF_TxBuf[i++] = 0x10;
- XYF_TxBuf[i++] = pkzq->data_buf[18];
- XYF_TxBuf[i++] = pkzq->data_buf[19];
-
- ModBusCRC = LIB_CRC_MODBUS(XYF_TxBuf+j,6);
-
- XYF_TxBuf[i++] = ModBusCRC>>8;
- XYF_TxBuf[i++] = ModBusCRC&0xff;
- if(pcang->XYF_Type == 1)
- {
- // XYF_TxBuf[i++] = 0x0D;
- // XYF_TxBuf[i++] = 0x0A;
- }
- Uart_len_TouChuan=i;
- }
- else
- return 0;
- }
- else
- return 0;
- return 1;
- }
- uint16_t HDF_Set_CloseVal(uint8_t* pTx)
- {
- KZQ_Inf* pkzq = &kzq_inf;
- // Cang_Inf* pcang = &cang_inf;
- uint8_t i = 0;
- uint16_t ModBusCRC = 0;
-
- if(pkzq->USE_XYF == 0)
- {
- if(pkzq->data_buf[7] == 0x06)
- {
- pkzq->USE_XYF = 1;
- XYF_TxBuf[i++] = pkzq->data_buf[17];
- XYF_TxBuf[i++] = 0x06;
- XYF_TxBuf[i++] = 0x10;
- XYF_TxBuf[i++] = pkzq->data_buf[19];
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
-
- ModBusCRC = LIB_CRC_MODBUS(XYF_TxBuf,14);
-
- XYF_TxBuf[i++] = ModBusCRC>>8;
- XYF_TxBuf[i++] = ModBusCRC&0xff;
- Uart_len_TouChuan=i;
- }
- else
- return 0;
- }
- else
- return 0;
- return 1;
- }
- uint16_t HDF_Set_Gain(uint8_t* pTx)
- {
- KZQ_Inf* pkzq = &kzq_inf;
- // Cang_Inf* pcang = &cang_inf;
- uint8_t i = 0;
- uint16_t ModBusCRC = 0;
-
- if(pkzq->USE_XYF == 0)
- {
- if(pkzq->data_buf[7] == 0x06)
- {
- pkzq->USE_XYF = 1;
- XYF_TxBuf[i++] = pkzq->data_buf[17];
- XYF_TxBuf[i++] = 0x06;
- XYF_TxBuf[i++] = 0x12;
- XYF_TxBuf[i++] = pkzq->data_buf[19];
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
-
- ModBusCRC = LIB_CRC_MODBUS(XYF_TxBuf,14);
-
- XYF_TxBuf[i++] = ModBusCRC>>8;
- XYF_TxBuf[i++] = ModBusCRC&0xff;
- Uart_len_TouChuan=i;
- }
- else
- return 0;
- }
- else
- return 0;
- return 1;
- }
- uint16_t HDF_Reset(uint8_t* pTx)
- {
- KZQ_Inf* pkzq = &kzq_inf;
- // Cang_Inf* pcang = &cang_inf;
- uint8_t i = 0;
- uint16_t ModBusCRC = 0;
-
- if(pkzq->USE_XYF == 0)
- {
- if(pkzq->data_buf[7] == 0x06)
- {
- pkzq->USE_XYF = 1;
- XYF_TxBuf[i++] = pkzq->data_buf[17];
- XYF_TxBuf[i++] = 0x06;
- XYF_TxBuf[i++] = 0x00;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
-
- ModBusCRC = LIB_CRC_MODBUS(XYF_TxBuf,14);
-
- XYF_TxBuf[i++] = ModBusCRC>>8;
- XYF_TxBuf[i++] = ModBusCRC&0xff;
- Uart_len_TouChuan=i;
- }
- else
- return 0;
- }
- else
- return 0;
- return 1;
- }
- uint16_t HDF_Set_Threshold(uint8_t* pTx)
- {
- KZQ_Inf* pkzq = &kzq_inf;
- // Cang_Inf* pcang = &cang_inf;
- uint8_t i = 0;
- uint16_t ModBusCRC = 0;
-
- if(pkzq->USE_XYF == 0)
- {
- if(pkzq->data_buf[7] == 0x06)
- {
- pkzq->USE_XYF = 1;
- XYF_TxBuf[i++] = pkzq->data_buf[17];
- XYF_TxBuf[i++] = 0x06;
- XYF_TxBuf[i++] = 0x14;
- XYF_TxBuf[i++] = pkzq->data_buf[18];
- XYF_TxBuf[i++] = pkzq->data_buf[19];
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
- XYF_TxBuf[i++] = 0xA5;
-
- ModBusCRC = LIB_CRC_MODBUS(XYF_TxBuf,14);
-
- XYF_TxBuf[i++] = ModBusCRC>>8;
- XYF_TxBuf[i++] = ModBusCRC&0xff;
- Uart_len_TouChuan=i;
- }
- else
- return 0;
- }
- else
- return 0;
- return 1;
- }
- uint16_t RKG_SetZero(uint8_t* pTx)
- {
- KZQ_Inf* pkzq = &kzq_inf;
- Cang_Inf* pcang = &cang_inf;
- uint8_t i = 0;
- uint16_t ModBusCRC = 0;
- uint8_t buf[8] = {0};
-
- if(pkzq->USE_RKG == 0)
- {
- if(pkzq->data_buf[7] == 0x06)
- {
-
- if(pcang->RKG_Type == 1)
- {
- // RKG_TxBuf[i++] = 0x0D;
- // RKG_TxBuf[i++] = 0x0A;
- }
- RKG_TxBuf[i++] = pkzq->data_buf[17]-0X30;
- RKG_TxBuf[i++] = 0x06;
- RKG_TxBuf[i++] = 0x00;
- RKG_TxBuf[i++] = 0x10;
- RKG_TxBuf[i++] = 0x00;
- RKG_TxBuf[i++] = 0xFF;
-
- buf[0] = pkzq->data_buf[17]-0x30;
- buf[1] = 0x06;
- buf[2] = 0x00;
- buf[3] = 0x10;
- buf[4] = 0x00;
- buf[5] = 0xFF;
- ModBusCRC = LIB_CRC_MODBUS(buf,6);
-
- RKG_TxBuf[i++] = ModBusCRC>>8;
- RKG_TxBuf[i++] = ModBusCRC&0xff;
- if(pcang->RKG_Type == 1)
- {
- // RKG_TxBuf[i++] = 0x0D;
- // RKG_TxBuf[i++] = 0x0A;
- }
- Uart_len_TouChuan=i;
- pkzq->USE_RKG = 1;
- }
- else
- return 0;
- }
- else
- return 0;
- return 1;
- }
- uint16_t RKG_SetThreshold(uint8_t* pTx)
- {
- RKG_Inf* prkg = rkg_inf;
- KZQ_Inf* pkzq = &kzq_inf;
- uint16_t flash_buf[10] = {0};
-
- flash_buf[0] = pkzq->data_buf[16]<<8|pkzq->data_buf[17];
- if(pkzq->data_buf[7] == 0x06)
- {
- Flash_WriteBytes(flash_buf,ADDR_RKG_THRESHOLD,1);
- }
- flash_buf[0] = 0;
- Flash_ReadBytes(flash_buf,ADDR_RKG_THRESHOLD,1);
-
- prkg->RKG_Threshold = flash_buf[0];
- pTx[16] = flash_buf[0] >>8;
- pTx[17] = flash_buf[0]&0xFF;
-
- if((pTx[16] == pkzq->data_buf[16])&&(pTx[17] == pkzq->data_buf[17]))
- return 1;
- else
- return 0;
- }
- uint16_t Sensor_SetJudgefNum(uint8_t* pTx)
- {
- RKG_Inf* prkg = rkg_inf;
- XYF_Inf* pxyf = xyf_inf;
- KZQ_Inf* pkzq = &kzq_inf;
- uint16_t flash_buf[10] = {0};
- flash_buf[0] = pkzq->data_buf[16]<<8|pkzq->data_buf[17];
- if(pkzq->data_buf[7] == 0x06)
- Flash_WriteBytes(flash_buf,ADDR_SDATEJUDGE_NUM,1);
- Flash_ReadBytes(flash_buf,ADDR_SDATEJUDGE_NUM,1);
-
- prkg->RKG_StateKeepNum = flash_buf[0];
- pxyf->XYF_StateKeepNum = flash_buf[0];
-
- pTx[16] = flash_buf[0] >>8;
- pTx[17] = flash_buf[0]&0xFF;
-
- if((pTx[16] == pkzq->data_buf[16])&&(pTx[17] == pkzq->data_buf[17]))
- return 1;
- else
- return 0;
- }
- uint16_t Read_Sensor(uint8_t* pTx)
- {
- Angle_Inf* pangle = &angle_inf;
- TEM_Inf* ptem = tem_inf;
- Level_Inf* plevel = level_inf;
- KZQ_Inf* pkzq = &kzq_inf;
-
- if(pkzq->data_buf[17] > 0x50 && pkzq->data_buf[17] < 0x5F) //液位传感器
- {
- if(plevel[pTx[17] - 0x50].Level_Error)
- {
- pTx[18] = 0x47;
- pTx[19] = 0x7F;
- pTx[20] = 0xFF;
- pTx[21] = 0x00;
- }
- else
- {
- pTx[18] = (int)plevel[pTx[17] - 0x50].Level_Data>>24&0xff;
- pTx[19] = (int)plevel[pTx[17] - 0x50].Level_Data>>16&0xff;
- pTx[20] = (int)plevel[pTx[17] - 0x50].Level_Data>>8&0xff;
- pTx[21] = (int)plevel[pTx[17] - 0x50].Level_Data&0xff;
- }
- }
- else if(pkzq->data_buf[17] > 0x60 && pkzq->data_buf[17] < 0x6F) //温度传感器
- {
- if(ptem[pTx[17] - 0x60].TEM_Error)
- {
- pTx[18] = 0x47;
- pTx[19] = 0x7F;
- pTx[20] = 0xFF;
- pTx[21] = 0x00;
-
- pTx[22] = 0x47;
- pTx[23] = 0x7F;
- pTx[24] = 0xFF;
- pTx[25] = 0x00;
-
- pTx[26] = 0x47;
- pTx[27] = 0x7F;
- pTx[28] = 0xFF;
- pTx[29] = 0x00;
-
- }
- pTx[18] = ptem[pTx[17] - 0x60].TEM_HData[0]>>24&0xff;
- pTx[19] = ptem[pTx[17] - 0x60].TEM_HData[0]>>16&0xff;
- pTx[20] = ptem[pTx[17] - 0x60].TEM_HData[0]>>8&0xff;
- pTx[21] = ptem[pTx[17] - 0x60].TEM_HData[0]&0xff;
-
- pTx[22] = ptem[pTx[17] - 0x60].TEM_MData[0]>>24&0xff;
- pTx[23] = ptem[pTx[17] - 0x60].TEM_MData[0]>>16&0xff;
- pTx[24] = ptem[pTx[17] - 0x60].TEM_MData[0]>>8&0xff;
- pTx[25] = ptem[pTx[17] - 0x60].TEM_MData[0]&0xff;
-
- pTx[26] = ptem[pTx[17] - 0x60].TEM_LData[0]>>24&0xff;
- pTx[27] = ptem[pTx[17] - 0x60].TEM_LData[0]>>16&0xff;
- pTx[28] = ptem[pTx[17] - 0x60].TEM_LData[0]>>8&0xff;
- pTx[29] = ptem[pTx[17] - 0x60].TEM_LData[0]&0xff;
- }
- else if(pkzq->data_buf[17] > 0x70 && pkzq->data_buf[17] < 0x7F) //压力传感器
- {
- /*暂未使用压力传感器*/
- }
- else if(pkzq->data_buf[17] > 0x80 && pkzq->data_buf[17] < 0x8F) //挂壁传感器
- {
- /*暂未使用挂壁传感器*/
- }
- else if(pkzq->data_buf[17] > 0xE0 && pkzq->data_buf[17] < 0xE3) //姿态传感器
- {
- if(pangle->Angle_Error)
- {
- pTx[18] = 0x47;
- pTx[19] = 0x7F;
- pTx[20] = 0xFF;
- pTx[21] = 0x00;
-
- pTx[22] = 0x47;
- pTx[23] = 0x7F;
- pTx[24] = 0xFF;
- pTx[25] = 0x00;
-
- pTx[26] = 0x47;
- pTx[27] = 0x7F;
- pTx[28] = 0xFF;
- pTx[29] = 0x00;
- }
- else
- {
- pTx[18] = pangle->Angle_DataX[0]>>24&0xff;
- pTx[19] = pangle->Angle_DataX[0]>>16&0xff;
- pTx[20] = pangle->Angle_DataX[0]>>8&0xff;
- pTx[21] = pangle->Angle_DataX[0]&0xff;
-
- pTx[18] = pangle->Angle_DataY[0]>>24&0xff;
- pTx[19] = pangle->Angle_DataY[0]>>16&0xff;
- pTx[20] = pangle->Angle_DataY[0]>>8&0xff;
- pTx[21] = pangle->Angle_DataY[0]&0xff;
-
- pTx[18] = pangle->Angle_DataZ[0]>>24&0xff;
- pTx[19] = pangle->Angle_DataZ[0]>>16&0xff;
- pTx[20] = pangle->Angle_DataZ[0]>>8&0xff;
- pTx[21] = pangle->Angle_DataZ[0]&0xff;
- }
- }
- else if(pkzq->data_buf[17] == 0xe4) //油气回收传感器
- {
- /*暂未使用挂壁传感器*/
- }
- else
- return 0;
- return 1;
- }
- uint16_t CJQ_SetConfig(uint8_t* pTx)
- {
- KZQ_Inf* pkzq = &kzq_inf;
- uint16_t Flash_buf[20] = {0};
- uint8_t i = 0;
-
- for(i = 0;i < pkzq->data_buf[11];i++)
- {
- Flash_buf[i] = pkzq->data_buf[16+i];
- }
- if(pkzq->data_buf[7] == 0x06)
- {
- Flash_WriteBytes(Flash_buf,ADDR_CANG_NUM,pTx[11]);
- Cang_Init();
- }
- Flash_ReadBytes(Flash_buf,ADDR_CANG_NUM,pTx[11]);
-
- for(i = 0;i < pkzq->data_buf[11];i++)
- {
- //if((Flash_buf[i] != pkzq->data_buf[16+i])&&(pkzq->data_buf[7] == 0x06))
- // return 0;
- pTx[16+i] = Flash_buf[i];
- }
- return 1;
- }
- uint16_t RKG_SetTypeNum(uint8_t* pTx)
- {
- Cang_Inf* pcang = &cang_inf;
- KZQ_Inf* pkzq = &kzq_inf;
- uint16_t Flash_buf[20] = {0};
- uint8_t i = 0;
-
- for(i = 0;i < pkzq->data_buf[11];i++)
- {
- Flash_buf[i] = pkzq->data_buf[16+i];
- }
- if(pkzq->data_buf[7] == 0x06)
- Flash_WriteBytes(Flash_buf,ADDR_RKGSENSOR_TYPE,1);
- Flash_ReadBytes(Flash_buf,ADDR_RKGSENSOR_TYPE,1);
- pTx[16] = Flash_buf[0];
- if(Flash_buf[0] < 5)
- pcang->RKG_Type = Flash_buf[0];
- if(pkzq->data_buf[7] == 0x06)
- Flash_WriteBytes(Flash_buf+1,ADDR_RKG_NUM,8);
- Flash_ReadBytes(Flash_buf+1,ADDR_RKG_NUM,8);
-
- for(i = 0;i < pkzq->data_buf[11];i++)
- {
- if((Flash_buf[i+1] != pkzq->data_buf[17+i])&&(pkzq->data_buf[7] == 0x06))
- return 0;
- if(Flash_buf[i+1] < 8)
- {
- pcang->RKG_Num[i] = Flash_buf[i+1];
- pTx[17+i] = Flash_buf[i+1];
- }
- }
- return 1;
- }
- uint16_t XYF_SetTypeNum(uint8_t* pTx)
- {
- Cang_Inf* pcang = &cang_inf;
- KZQ_Inf* pkzq = &kzq_inf;
- uint16_t Flash_buf[20] = {0};
- uint8_t i = 0;
-
- for(i = 0;i < pkzq->data_buf[11];i++)
- {
- Flash_buf[i] = pkzq->data_buf[16+i];
- }
- if(pkzq->data_buf[7] == 0x06)
- {
- Flash_WriteBytes(Flash_buf,ADDR_XYFSENSOR_TYPE,1);
- }
- Flash_ReadBytes(Flash_buf,ADDR_XYFSENSOR_TYPE,1);
- pTx[16] = Flash_buf[0];
- if(Flash_buf[0] < 5)
- pcang->XYF_Type = Flash_buf[0];
- if(pkzq->data_buf[7] == 0x06)
- {
- Flash_WriteBytes(Flash_buf+1,ADDR_XYF_NUM,8);
- }
-
- Flash_ReadBytes(Flash_buf+1,ADDR_XYF_NUM,8);
-
- for(i = 0;i < pkzq->data_buf[11];i++)
- {
- if((Flash_buf[i+1] != pkzq->data_buf[17+i])&&(pkzq->data_buf[7] == 0x06))
- return 0;
- if(Flash_buf[i+1] < 8)
- {
- pcang->XYF_Num[i] = Flash_buf[i+1];
- pTx[17+i] = Flash_buf[i+1];
- }
- }
- return 1;
- }
- uint16_t HDF_SetTypeNum(uint8_t* pTx)
- {
- Cang_Inf* pcang = &cang_inf;
- KZQ_Inf* pkzq = &kzq_inf;
- uint16_t Flash_buf[20] = {0};
- uint8_t i = 0;
-
- for(i = 0;i < pkzq->data_buf[11];i++)
- {
- Flash_buf[i] = pkzq->data_buf[16+i];
- }
- if(pkzq->data_buf[7] == 0x06)
- Flash_WriteBytes(Flash_buf,ADDR_HDFSENSOR_TYPE,1);
- Flash_ReadBytes(Flash_buf,ADDR_HDFSENSOR_TYPE,1);
- pTx[16] = Flash_buf[0];
- if(Flash_buf[0] < 5)
- pcang->HDF_Type = Flash_buf[0];
- if(pkzq->data_buf[7] == 0x06)
- Flash_WriteBytes(Flash_buf+1,ADDR_HDF_NUM,8);
- Flash_ReadBytes(Flash_buf+1,ADDR_HDF_NUM,8);
-
- for(i = 0;i < pkzq->data_buf[11];i++)
- {
- if((Flash_buf[i+1] != pkzq->data_buf[17+i])&&(pkzq->data_buf[7] == 0x06))
- return 0;
- if(Flash_buf[i+1] < 8)
- {
- pcang->HDF_Num[i] = Flash_buf[i+1];
- pTx[17+i] = Flash_buf[i+1];
- }
- }
- return 1;
- }
- uint16_t Level_SetType(uint8_t* pTx)
- {
- Cang_Inf* pcang = &cang_inf;
- KZQ_Inf* pkzq = &kzq_inf;
- uint16_t Flash_buf[20] = {0};
-
- Flash_buf[0] = pkzq->data_buf[16]<<8|pkzq->data_buf[17];
- if(pkzq->data_buf[7] == 0x06)
- Flash_WriteBytes(Flash_buf,ADDR_LEVEL_TYPE,1);
- Flash_ReadBytes(Flash_buf,ADDR_LEVEL_TYPE,1);
-
- pTx[16] = Flash_buf[0]>>8;
- pTx[17] = Flash_buf[0]&0xFF;
-
- if(Flash_buf[0] != 0xFFFF)
- pcang->Level = Flash_buf[0];
-
- if((pTx[16] == pkzq->data_buf[16])&&(pTx[17] == pkzq->data_buf[17])&&(pkzq->data_buf[7] == 0x06))
- return 1;
- else
- return 0;
- }
- // 去向传感器总线读取数据时,如遇无回应,则参照这个标定的重试最大值来获取异常
- uint16_t RW_SensorBusMaxRetry(uint8_t* pTx)
- {
- Cang_Inf* pcang = &cang_inf;
- KZQ_Inf* pkzq = &kzq_inf;
- uint16_t Flash_buf[20] = {0};
- // [7]为03,表示读取,06表示设置
- // [16,17]在设置时有效,表示设置值
- Flash_buf[0] = pkzq->data_buf[16]<<8|pkzq->data_buf[17];
- if(pkzq->data_buf[7] == 0x06) {
- Flash_WriteBytes(Flash_buf,ADDR_SENSOR_BUS_MAX_RETRY,1);
- }
- Flash_ReadBytes(Flash_buf,ADDR_SENSOR_BUS_MAX_RETRY,1);
-
- pTx[16] = Flash_buf[0]>>8;
- pTx[17] = Flash_buf[0]&0xFF;
-
- if(Flash_buf[0] != 0xFFFF)
- pcang->sensorBusMaxReTry = Flash_buf[0];
-
- if((pTx[16] == pkzq->data_buf[16])&&(pTx[17] == pkzq->data_buf[17])&&(pkzq->data_buf[7] == 0x06))
- return 1;
- else
- return 0;
- }
- // mcu的IO口采集的一种连续性滤波式的认可机制的参数
- uint16_t RW_PinIoHitSameParam(uint8_t* pTx)
- {
- Cang_Inf* pcang = &cang_inf;
- KZQ_Inf* pkzq = &kzq_inf;
- uint16_t Flash_buf[20] = {0};
- // [7]为03,表示读取,06表示设置
- // [16,17]在设置时有效,表示设置值
- Flash_buf[0] = pkzq->data_buf[16]<<8|pkzq->data_buf[17];
- if(pkzq->data_buf[7] == 0x06) {
- Flash_WriteBytes(Flash_buf,ADDR_PIN_IO_HIT_SAME,1);
- }
- Flash_ReadBytes(Flash_buf,ADDR_PIN_IO_HIT_SAME,1);
-
- pTx[16] = Flash_buf[0]>>8;
- pTx[17] = Flash_buf[0]&0xFF;
-
- if(Flash_buf[0] != 0xFFFF)
- pcang->pinIOHitSameParam = Flash_buf[0];
-
- if((pTx[16] == pkzq->data_buf[16])&&(pTx[17] == pkzq->data_buf[17])&&(pkzq->data_buf[7] == 0x06))
- return 1;
- else
- return 0;
- }
- typedef union{
- float Ldcal_zero_temp1;
- uint8_t arr1[4];
- }Hex_to_float2;
- Hex_to_float2 hex_to_float2;
- uint16_t Level_SetCalvalue(uint8_t* pTx)
- {
- // Cang_Inf* pcang = &cang_inf;
- KZQ_Inf* pkzq = &kzq_inf;
- Level_Inf* plevel = level_inf;
- uint16_t Flash_buf[20] = {0};
- Flash_buf[0] = pkzq->data_buf[16]<<8|pkzq->data_buf[17];
- Flash_buf[1] = pkzq->data_buf[18]<<8|pkzq->data_buf[19];
- Flash_buf[2] = pkzq->data_buf[20]<<8|pkzq->data_buf[21];
- Flash_buf[3] = pkzq->data_buf[22]<<8|pkzq->data_buf[23];
- if(pkzq->data_buf[7] == 0x06)
- Flash_WriteBytes(Flash_buf,CANG1_LEVEL_CAL,4);
- Flash_ReadBytes(Flash_buf,CANG1_LEVEL_CAL,4);
-
- pTx[16] = Flash_buf[0]>>8;
- pTx[17] = Flash_buf[0]&0xFF;
- pTx[18] = Flash_buf[1]>>8;
- pTx[19] = Flash_buf[1]&0xFF;
- pTx[20] = Flash_buf[2]>>8;
- pTx[21] = Flash_buf[2]&0xFF;
- pTx[22] = Flash_buf[3]>>8;
- pTx[23] = Flash_buf[4]&0xFF;
-
- if((pTx[16] == pkzq->data_buf[16])&&(pTx[17] == pkzq->data_buf[17])&&(pkzq->data_buf[7] == 0x06))
- {
- hex_to_float2.arr1[3] = pkzq->data_buf[16];
- hex_to_float2.arr1[2] = pkzq->data_buf[17];
- hex_to_float2.arr1[1] = pkzq->data_buf[18];
- hex_to_float2.arr1[0] = pkzq->data_buf[19];
- plevel[1].Level_Cal_zero = hex_to_float2.Ldcal_zero_temp1;
- __NOP();
- hex_to_float2.arr1[3] = pkzq->data_buf[20];
- hex_to_float2.arr1[2] = pkzq->data_buf[21];
- hex_to_float2.arr1[1] = pkzq->data_buf[22];
- hex_to_float2.arr1[0] = pkzq->data_buf[23];
- plevel[2].Level_Cal_zero = hex_to_float2.Ldcal_zero_temp1;
- __NOP();
- //hex_to_float2.Ldcal_zero_temp1 = plevel[2].Level_Cal_zero;
- return 1;
- }
- else
- return 0;
- }
- uint16_t Angle_SetType(uint8_t* pTx)
- {
- Cang_Inf* pcang = &cang_inf;
- KZQ_Inf* pkzq = &kzq_inf;
- uint16_t Flash_buf[20] = {0};
-
- Flash_buf[0] = pkzq->data_buf[16]<<8|pkzq->data_buf[17];
- if(pkzq->data_buf[7] == 0x06)
- Flash_WriteBytes(Flash_buf,ADDR_ANGLE_TYPE,1);
- Flash_ReadBytes(Flash_buf,ADDR_ANGLE_TYPE,1);
- pTx[16] = Flash_buf[0]>>8;
- pTx[17] = Flash_buf[0]&0xFF;
-
- if(Flash_buf[0] != 0xFFFF)
- pcang->Angle = Flash_buf[0];
- if((pTx[16] == pkzq->data_buf[16])&&(pTx[17] == pkzq->data_buf[17])&&(pkzq->data_buf[7] == 0x06))
- return 1;
- else
- return 0;
- }
- uint16_t Tem_SetType(uint8_t* pTx)
- {
- Cang_Inf* pcang = &cang_inf;
- KZQ_Inf* pkzq = &kzq_inf;
- uint16_t Flash_buf[20] = {0};
-
- Flash_buf[0] = pkzq->data_buf[17]<<8|pkzq->data_buf[16];
- if(pkzq->data_buf[7] == 0x06)
- Flash_WriteBytes(Flash_buf,ADDR_TEM_TYPE,1);
- Flash_ReadBytes(Flash_buf,ADDR_TEM_TYPE,1);
- pTx[17] = Flash_buf[0]>>8;
- pTx[16] = Flash_buf[0]&0xFF;
-
- if(Flash_buf[0] != 0xFFFF)
- pcang->Temperture = Flash_buf[0];
- if((pTx[16] == pkzq->data_buf[16])&&(pTx[17] == pkzq->data_buf[17])&&(pkzq->data_buf[7] == 0x06))
- return 1;
- else
- return 0;
- }
- uint32_t Version_Soft[8] = {2, 2, 3, 13, 1, 1, 0, 20220822};
- uint16_t Read_SoftVersion(uint8_t *pTx)
- {
- int i;
- for (i = 0; i < 8; ++i)
- {
- pTx[i * 4+16] = (Version_Soft[i] >> 24) & 0xff;
- pTx[i * 4 + 1+16] = (Version_Soft[i] >> 16) & 0xff;
- pTx[i * 4 + 2+16] = (Version_Soft[i] >> 8) & 0xff;
- pTx[i * 4 + 3+16] = (Version_Soft[i] >> 0) & 0xff;
- }
- return 1;
- }
|