<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      西門子S51500系列PLC尋址方式淺析

      對(duì)于西門子尋址方式在此做簡(jiǎn)單解析,目的備忘和更為深入和熟練的使用。

      1、西門子高地址、低字節(jié)

      高字節(jié)、低字位對(duì)應(yīng)描述對(duì)象是以字節(jié)為單位,只有比字節(jié)大的存儲(chǔ)單位進(jìn)行數(shù)據(jù)存儲(chǔ)時(shí)才存在這種說(shuō)法,具體到PLC中就是字和雙字,一個(gè)雙字是由四個(gè)連續(xù)的字節(jié)組成,此處以西門子博途MD0的雙字變量作為解析地址舉例來(lái)解析西門子高地址低字節(jié)的意義,定義如下:

       

       

      MD0為雙字DWord數(shù)據(jù)類型,其是由連續(xù)的四個(gè)字節(jié)組成,即MB0MB1、MB2MB3,此處MB3為高字節(jié),MB0為低字節(jié),如下示意圖為MD032個(gè)位的排列順序。

       


      從上圖可以看到最左邊是最高位31,最右邊是最低位0,左邊最高的8各位編號(hào)為24-31,對(duì)應(yīng)的字節(jié)是MB0,最右邊最低的8個(gè)位0-7,對(duì)應(yīng)的字節(jié)是MB3,可以從圖中看出,西門子的MD0最高的字節(jié)編號(hào)MB3反而在最右邊充當(dāng)最低的0-7位,而最低的字節(jié)編號(hào)MB0出現(xiàn)在了最高位24-31位置編號(hào),這就是高地址、低字節(jié)意義。

      下面是數(shù)字在空間中的存儲(chǔ)介紹,比如十進(jìn)制數(shù)字1,234,567,891,其十六進(jìn)制為16#499602D3,二進(jìn)制位2#0100 1001 1001 0110 0000 0010 1101 0011,這些數(shù)據(jù)在西門子PLC中的存儲(chǔ)方式如下圖:

       


      從上圖可以看出,MB3作為最高字節(jié)編號(hào),其存儲(chǔ)的為最低位數(shù)據(jù)16#D3MB0作為最低字節(jié)編號(hào),其存儲(chǔ)的為最高位數(shù)據(jù)16#49。以下為將MD0分解為32個(gè)位時(shí),數(shù)據(jù)存儲(chǔ)情況。

       

       


      由上圖可以看出,在西門子數(shù)據(jù)存儲(chǔ)過(guò)程中,對(duì)于雙字MD0其分為四個(gè)連續(xù)字節(jié),MB0存儲(chǔ)最高位數(shù)據(jù),MB3存儲(chǔ)最低位數(shù)據(jù),在數(shù)字用十六進(jìn)制顯示過(guò)程中,每?jī)蓚€(gè)數(shù)字表示一個(gè)字節(jié),如16#49表示最高位MB0,每一個(gè)數(shù)字表示四個(gè)位,依據(jù)8421的方式對(duì)每個(gè)位進(jìn)行對(duì)應(yīng),如當(dāng)MD0存儲(chǔ)的數(shù)據(jù)為16#10000000時(shí),則M0.4true。

      2、西門子片段尋址

      在西門子S71500/S71200系列PLC開(kāi)始,其尋址方式開(kāi)始支持Slice或者片段尋址方式,語(yǔ)法表達(dá)式如下,以MD0舉例:

      位尋址:  測(cè)試雙字”.%Xn

      字節(jié)尋址:測(cè)試雙字”.%Xbn

      字尋址:  測(cè)試雙字”.%Xwn

      雙字尋址:測(cè)試雙字”.%Xdn(對(duì)于64位及以上數(shù)據(jù))

      以上測(cè)試雙字表示待尋址數(shù)據(jù)變量名,%Xb表示字節(jié),訪問(wèn)8個(gè)位,w表示字,訪問(wèn)16個(gè)位,d表示雙字,訪問(wèn)32個(gè)位,n表示尋址序號(hào)。

      通常針對(duì)Byte、Word等數(shù)據(jù)類型的變量進(jìn)行片段訪問(wèn),如下圖所示,此外也可以對(duì)INT、DINT等整數(shù)數(shù)據(jù)類型的變量進(jìn)行片段訪問(wèn)。注意,博途V13以后.X改為.%X

       


      由上圖可以看出,對(duì)于MD0使用片段尋址時(shí):

      測(cè)試雙字”.%X0對(duì)應(yīng)MD0的最低位,即M3.0

      測(cè)試雙字”.%X31對(duì)應(yīng)MD0的最高位,即M0.7;

      測(cè)試雙字”.%Xb0對(duì)應(yīng)最低字節(jié)MB3;

      測(cè)試雙字”.%Xb3對(duì)應(yīng)最高字節(jié)MB0;

      測(cè)試雙字”.%Xw0對(duì)應(yīng)最低字MW2;

      測(cè)試雙字”.%Xw1對(duì)應(yīng)最高字MW0;

      3、西門子間接尋址

      3.1 PEEK

      西門子使用SCL編程時(shí),可以用PEEK指令來(lái)讀取I、Q、MDB中的數(shù)據(jù),PEEK支持以位(PEEK_BOOL)、字節(jié)(PEEK_BYTE)、字(PEEK_WORD)以及雙字(PEEK_DWORD)的形式進(jìn)行數(shù)據(jù)讀取。

      3.1.1 PEEK_BOOL

      PEEK_BOOL以位的形式對(duì)西門子數(shù)據(jù)進(jìn)行間接尋址,用于在不指定數(shù)據(jù)類型的情況下從標(biāo)準(zhǔn)存儲(chǔ)區(qū)讀取存儲(chǔ)位。指令應(yīng)用舉例為:

      #Peeker_BOOL := PEEK_BOOL(AREA := 16#84,

      DBNUMBER := 1,

      BYTEOFFSET := 2,

      BITOFFSET := 1,

      ENO => ENO);

      IF NOT ENO THEN;

      #Peeker_BOOL := 0;

      END_IF;

      指令針腳定義如下:

       


      在上表中的AREA說(shuō)明中,16#81對(duì)應(yīng)I區(qū),16#82對(duì)應(yīng)Q區(qū),16#83對(duì)應(yīng)M區(qū),16#84對(duì)應(yīng)DB區(qū)。如以MD0為例,讀取MD0中的各個(gè)位,其對(duì)應(yīng)關(guān)系見(jiàn)以下分析:

      "位讀取存儲(chǔ)" := PEEK_BOOL(

      area := "讀取區(qū)域",

      dbNumber := "DB號(hào)",

      byteOffset := "待讀取地址",

      bitOffset := "待讀取位");

       

       


      如上圖所示,當(dāng)讀取M區(qū)域時(shí):

      待讀取地址:n       待讀取位:  x

      PEEK_BOOL讀取的位為:Mn.x                 注意:x≤7

      3.1.2 PEEK_BYTE

      PEEK_ BYTE以字節(jié)的形式對(duì)西門子數(shù)據(jù)進(jìn)行間接尋址,用于在不指定數(shù)據(jù)類型的情況下從標(biāo)準(zhǔn)存儲(chǔ)區(qū)讀取存儲(chǔ)字節(jié)。指令應(yīng)用舉例為:

      #字節(jié)存儲(chǔ) := PEEK_BYTE(area := "讀取區(qū)域",

      dbNumber := "DB號(hào)",

      byteOffset :="待讀取地址");

       


      如上圖所示,當(dāng)讀取M區(qū)域時(shí):

      待讀取地址:n

      PEEK_BYTE讀取的字節(jié)為:MBn

      3.1.3 PEEK_WORD

      PEEK_ WORD以字的形式對(duì)西門子數(shù)據(jù)進(jìn)行間接尋址,用于在不指定數(shù)據(jù)類型的情況下從標(biāo)準(zhǔn)存儲(chǔ)區(qū)讀取存儲(chǔ)字。指令應(yīng)用舉例為:

      #字存儲(chǔ):=PEEK_WORD(area := "讀取區(qū)域",

                           dbNumber := "DB號(hào)",

                                byteOffset := "待讀取地址"); 

       

      如上圖所示,當(dāng)讀取M區(qū)域時(shí):

      待讀取地址:n

      PEEK_WORD讀取的字節(jié)為:MWn

      3.1.4 PEEK_DWORD

      PEEK_ DWORD以雙字的形式對(duì)西門子數(shù)據(jù)進(jìn)行間接尋址,用于在不指定數(shù)據(jù)類型的情況下從標(biāo)準(zhǔn)存儲(chǔ)區(qū)讀取存儲(chǔ)雙字。指令應(yīng)用舉例為:

      #雙字存儲(chǔ) := PEEK_DWORD(area := "讀取區(qū)域",

                                dbNumber := "DB號(hào)",

                                    byteOffset := "待讀取地址");

       

      如上圖所示,當(dāng)讀取M區(qū)域時(shí):

      待讀取地址:n

      PEEK_DWORD讀取的字節(jié)為:MDn

      3.2 POKE

      西門子使用SCL編程時(shí),可以用POKE指令來(lái)寫入I、Q、MDB中的數(shù)據(jù),PEKE支持以位(PEKE_BOOL)、字節(jié)(PEKE_BYTE)、字(PEKE_WORD)以及雙字(PEKE_DWORD)的形式進(jìn)行數(shù)據(jù)寫入。

      3.2.1 POKE_BOOL

      POKE_BOOL以位的形式對(duì)西門子數(shù)據(jù)進(jìn)行間接尋址,用于在不指定數(shù)據(jù)類型的情況下從標(biāo)準(zhǔn)存儲(chǔ)區(qū)寫入存儲(chǔ)位。指令針腳定義如下:

       

       


      在上表中的AREA說(shuō)明中,16#81對(duì)應(yīng)I區(qū),16#82對(duì)應(yīng)Q區(qū),16#83對(duì)應(yīng)M區(qū),16#84對(duì)應(yīng)DB區(qū)。如以MD0為例,讀取MD0中的各個(gè)位,其對(duì)應(yīng)關(guān)系見(jiàn)以下分析:

      POKE_BOOL(area:="讀寫區(qū)域",

                dbNumber:="DB號(hào)",

                byteOffset:="待讀寫地址",

                bitOffset:="待讀寫位",

                value:="值給定位");

       

       


      如上圖所示,當(dāng)寫入M區(qū)域時(shí):

      待讀寫地址:n       待讀寫位:  x

      POKE_BOOL寫入的位為:Mn.x                 注意:x≤7

      3.2.2 POKE_BLK

      “寫入存儲(chǔ)地址”指令用于在不指定數(shù)據(jù)類型的情況下將存儲(chǔ)地址寫入標(biāo)準(zhǔn)存儲(chǔ)區(qū),下表為指令及其針腳定義表。

      POKE(AREA := 16#84,

      DBNUMBER := 1,

      BYTEOFFSET := 2,

      VALUE := BYTE#7,

      ENO => ENO);

       

       


      在上表中的AREA說(shuō)明中,16#81對(duì)應(yīng)I區(qū),16#82對(duì)應(yīng)Q區(qū),16#83對(duì)應(yīng)M區(qū),16#84對(duì)應(yīng)DB區(qū)。如以MD0為例,讀取MD0中的各個(gè)位,其對(duì)應(yīng)關(guān)系見(jiàn)以下分析:

       

       


      如上圖所示,當(dāng)寫入M區(qū)域且Valuebyte時(shí):

      待讀寫地址:n

      POKE寫入的為字節(jié)為:MBn

       

       


      如上圖所示,當(dāng)寫入M區(qū)域且ValueWORD時(shí):

      待讀寫地址:n

      POKE寫入的為字為:MWn

       

       


      如上圖所示,當(dāng)寫入M區(qū)域且ValueDWORD時(shí):

      待讀寫地址:n

      POKE寫入的為雙字為:MDn

       

      posted on 2025-04-06 15:46  老邁克  閱讀(763)  評(píng)論(0)    收藏  舉報(bào)

      導(dǎo)航

      主站蜘蛛池模板: 国产最新AV在线播放不卡| 国产成人啪精品午夜网站| 亚洲精品中文字幕尤物综合| 六十路熟妇乱子伦| 人人入人人爱| 日韩精品 在线 国产 丝袜| 在线涩涩免费观看国产精品| 激情综合网激情五月伊人| 丝袜美腿视频一区二区三区| 亚洲成人精品一区二区中| 一本一道av无码中文字幕麻豆| 欧美无人区码suv| 性做久久久久久久久| 天天摸天天操免费播放小视频| 成人3D动漫一区二区三区 | 久久精品国产99久久6| 精品人妻日韩中文字幕| 国精品午夜福利视频不卡| 非会员区试看120秒6次| 在线a亚洲v天堂网2018| 桑植县| 中文字幕亚洲综合第一页| 99福利一区二区视频| 国产精品午夜福利资源| 天镇县| 日韩加勒比一本无码精品| 无码AV动漫精品一区二区免费| 无码人妻精品一区二区三区蜜桃 | 日产精品一区二区三区免费| 日韩国产中文字幕精品| 绯色蜜臀av一区二区不卡| 精品国产成人一区二区| 丝袜美腿视频一区二区三区 | 欧美牲交a欧美牲交aⅴ一| 亚洲精品人成网线在线| 久久毛片少妇高潮| 青青草无码免费一二三区| 中文字幕精品人妻av在线| 国产午夜福利视频合集| 大屁股国产白浆一二区| 成人免费无遮挡无码黄漫视频|