《TIA博途S7-1200中实现高低字节或高低字调换的4种方法介绍.docx》由会员分享,可在线阅读,更多相关《TIA博途S7-1200中实现高低字节或高低字调换的4种方法介绍.docx(10页珍藏版)》请在第一文库网上搜索。
1、T1A博途S7-1200中实现高低字节或高低字调换的几种方法介绍例如S7-1200与某些上位机进行通信时,读写的浮点数的存储方式与上位机不同,即高低字或字节是相反的,此时读取的数据是不对的,需要将高低字进行调换之后,才可以正常显示。下面就总结几种高低字或字节调换的方法,供大家参考。在TIA博途中,一个浮点型数据REA1占用4个字节,BPDWORDo一、通过间接寻址,片段访问的方式以DWORD的高低字调换为例进行说明(WORD的高低字节同理):如下图所示,新建一个FC块,块的接口变量如下图所示,SC1程序如下图所示,将输入变量的高字赋值给输出变量的低字,输入变量的低字赋值给输出变量的高字-:*2
2、G”“9a-T苹%、卜Sd咛”“*Sm新0&Btn磔BU1u-anc_AteOWdHvn:3HMw*IC1r1一一-._I11A1IIAffHUf1KiI*限字曲Data和OUtPI1.tJJ4尸rGg八1,/:,f,CffeTnW1;45END.REGION6tData,数据类型为Rea1浮点型,如下图所示,回口名和效羯臭盟起始侑保持1DPSUtc3motor1BJmotor?Boo1faeDmotsBOO1fauOimrxvmaoedBOO16(9va1ueIMr0v1m040vr2m0Dvar3DfMUtmtQ.Irtf2OM1PU1DJgRej1M901 MI肛oW3nI,AnII9(
3、WMjMfM0,AnjtoQCorwM-OJTF501| We.tMwt7W0J.5IH.TO5(FKH|*111vuto9.*.Vf1.WaJAfOtH,布博伊 6加新BMQMeAKTWHruMeeiA1NjA04Mrs;Ki|配方处W,U1 3他NeV2“200】MgJXJ.V2m”-M*f* ek)gCwe5tir=51M!/5,:不AV*R116*11112222,1ftiiH.r.jnpuQta在OB1中调用该FC块,如下图所示,并给块的管脚连接数据块中的变量,*4.rfit11fi田倭和冈崎RCeIICWWIKDOCrwtffi博加品WIWI鹿f1*,S1急僵了?,J1 *Mirn
4、ttPC1nttirca aJ1rvoo*-vr.v:fwomAM09CgnKIMSOO1wo)$B2M) 靠N*新FBUArF1NVgM300OV1V1DD21XMKf2a7字的调换摄目3w.a设gwm珞,Ji叱CMJWK0000(X1ITf8;SHfIItIi幅停中 ,初M承 3M1 梅依人(R0t1*) Kntt4IFQI M蚓eAiMie.(X.V2)FVOI*,wh Mk9c0fw1cuKn1MMaxmetox S1M1NKFJOQRMiOQ1(2.0W10-J一一一Je4Aw*t三、通过AT访问变量覆盖的方式如下图所示,新建一个FC块,块的接口变量如下图所示,SC1程序如下图所示,
5、通过AT变量覆盖的方式,将DWORD变量的高低字分别存放在数组中,利用数组实现高低字的调换,最后再给输出变量赋值,*4hOdtputD怪WtEp2;ENo.REGION。目3fnn皿(Mrgabu*IBk1Q穆扉,1加HRMnMM AMXtIBKBIXU3H AM4mr&KN兴电费SQHioriNSM,IXr?#*(c4e0 ma*W 一irM(K) ch.VipgHARBbUoUtMJ3。 K*91b,W Utmoi.3V1SI8M .”.mw*M1X3n CERaIDI.OuMUMDtt92FMIM)1REoQN合期字府3*tfp1AnpvIDaUi:Tmp2|0:Tnp1(1);WTem
6、p_2|1);Tmp1(0)j在OB1中调用该FC块,如下图所示,并给块的管脚连接数据块中的变量,女口3P1JJCPUDQDqDc1占后堪Main。口”7号巾帧议AfiftIOHMVAHkTA包J-3.U.ncnmuDOOOOdhus、Uiiiour-eff*加断堵Mkx01*Mtrc)MTn*iHkrct1*M1WibfHCM方K1-3叽MVJFUOO1 Ak-01.V21B?OM 3CevEZ(r500 M*BCvrVoUrFM01a-rM.o4tCEJMU:%FC5eAftiNAIaENOOutputDaU)故擢块1.OUtputDetaAreOUr-VZ-PBjDe2如下图所示rfr(
7、3Wata赋值为1S#11112222时,输出值为16#22221111,实现了高低字的调换健自3ar4A3&*,和冈络JeujKtvuncoouocqTrtWi*HWtoMQeXATiaitIKiie*AYarc4XftTUIIt)r1-IKii2Q1rW”203uqEOI1M6rdsooAn*PCwrt,OUTZXJMK1tFoHWA.TOIFWHjnnmt Matog1-qmi Afasoa-OUeViJMD1D1 AMkgCcrwrv1M71 fUto9C0rV0UT.D6MIYGi111MIM1111.2222,iSMUk.r.inputDatainputDatarF5sUVSq,,rG8W1rft.*PFee,)%FC5低,3慢3KfM/ENOutputDdU1622221111ftJk.1,OutputData四、循环左移16位,实现高低字调换(高低字节的话,就是循环左移8位)如下图所示新建一个Fd块,块的接口变量如下图所示,SC1程序如下图所示,叫目J力心斯中41(CXIU1SCDJtXCJfftStt*IHIOir*济30wcMIeMT4FOIe1.Y2|K4|A快窜UBIMIKN*H字0一,”】e*UftK)f19Mi方处IINXaa*s