• <fieldset id="owqiw"><menu id="owqiw"></menu></fieldset>
    <ul id="owqiw"><sup id="owqiw"></sup></ul>
  • <ul id="owqiw"><center id="owqiw"></center></ul>
  • <strike id="owqiw"><menu id="owqiw"></menu></strike>
  • <ul id="owqiw"></ul><ul id="owqiw"></ul>
    
    <ul id="owqiw"><sup id="owqiw"></sup></ul><fieldset id="owqiw"><input id="owqiw"></input></fieldset>
    <strike id="owqiw"></strike>
    <abbr id="owqiw"></abbr>
  • 歡迎光臨潯之漫智控技術(上海)有限公司網站!
    誠信促進發展,實力鑄就品牌
    服務熱線:

    15618722057

    技術文章 / article 您的位置:網站首頁 > 技術文章 > 四川達州西門子PLC模塊銷售

    四川達州西門子PLC模塊銷售

    發布時間: 2024-04-07  點擊次數: 393次

    四川達州西門子PLC模塊銷售


    一些S7-300的應用系統中,使用8通道模擬量模塊采集信號,當模塊數量較多時,讀模擬輸入量就很繁瑣。下面給出一個通用程序FC100,利用它可以方便地把模擬量讀回并順序存入數據塊,因為模入模塊的起始地址、通道數、存儲數據塊號及數據在數據塊中的存儲起始位置均是可變的,所以可在調用FC100時靈活確定。

    Address Decl. Symbol Data Type Initial Value Comment

    0.0 In PIW_Addr INT

    模入模塊通道起始地址

    2.0 In CH_LEN INT

    要讀入的通道數

    4.0 In DB_No INT

    存儲數據塊號

    6.0 In DBW_Addr INT

    存儲在數據塊中的字地址

    Network 1

    L #DB_No

    T LW0

    OPN DB[LW 0] 打開存儲數據塊

    L #PIW_Addr

    SLD 3 形成模入模塊地址指針

    T LD4 在臨時本地數據雙字LD 4中存儲模入模塊地址指針

    L #DBW_Addr

    SLD 3 形成數據塊存儲地址指針

    T LD8 在臨時本地數據雙字LD 8中存入數據塊存儲地址指針

    L #CH_LEN 以要讀入的通道數為循環次數,裝入累加器1

    NEXT:T LW 0

    將累加器1的值,裝入循環次數計數器LW0(臨時本地數據字)

    L LD4

    LARl 將模入模塊地址指針裝入地址寄存器1

    L PIW[ARl,P#0.0] 讀模入模塊裝入累加器1

    T LW2 將累加器1的內容暫存入緩沖器LW2

    L LD8

    LARl 將數據塊存儲地址指針裝入地址寄存器1

    L LW2 將數據緩沖器中的內容裝入累加器1

    T DBW[ARl,P#0.0] 將累加器的內容存入數據塊中

    L LD4 AR1+P#2.0→AR1

    + L#16 ACC1+(.._0001_0 000)

    T LD4 調整模入模塊地址指針,指向下一通道Acc1+(bb bbbb bxxx)

    L LD8

    + L#16

    T LD8 調整數據塊存儲地址指針,指向下一存儲地址

    L LW0 將循環次數計數器LW0的值裝入累加器1

    LOOP NEXT 若累加器1的值不為0,將累加器減1繼續循環;若累加

    器為0,則結束

    在FC100中,寄存器間接尋址指令OP NDB[LW0]使用了臨時本地數據LW0,變量表中定義的臨時變量雖然也在L堆棧中,但不能用于存儲器間接尋址,從這里也可看出臨時本地數據與臨時變量的區別。程序中LW2、LD4和LD8起的作用也可用臨時變量替代。

    下面舉例說明如何使用FC100。在某應用中,機架0的4號槽位安裝了一個8模入模塊(地址256開始),若要將前6個模入模塊信號讀回,存入DB50.DBW10開始的6個字單元中,可按下列形式調用FC100:

    CALL FC100

    PIW_Add:= 256

    CH_LEN:= 6

    DB_No:= 50

    DBW_Addr:= 10

    數據塊

    數據塊定義在S7 CPU存儲器中,用戶可在存儲器中建立一個或多個數據塊。每個數據塊可大可小,但CPU對數據塊數量及數據總量有限制,如對于CPU314,用作數據塊的存儲器多為8 KB(8192 B),用戶定義的數據總量不能超出這個限制。對數據塊必須遵循先定義后使用的原則,否則,將造成系統錯誤。

    1. 定義數據塊

    在編程階段和運行程序中都能定義數據塊。大多數數據塊是在編程階段用STEP 7開發軟件包定義的,定義內容包括數據塊號及塊中的變量(包括變量符號名、數據類型以及初始值等),定義完成后,數據塊中變量的順序及類型決定了數據塊的數據結構,變量的數量決定了數據塊的大小。數據塊在使用前,必須作為用戶程序的一部分下載到CPU中。

    如果確實需要,還可以在程序運行中動態定義一個數據塊。動態定義時,數據塊號是自動產生的,數據塊在存儲器中的位置是動態分配的。由于要定義的數據塊有可能大于CPU存儲器(用于數據塊的部分)的剩余空間,因此動態定義過程有可能失敗

    2.訪問數據塊

    在用戶程序中可能定義了許多數據塊,而每個數據塊中又有許多不同類型的數據,因此,訪問時需要明確數據塊號和數據塊中的數據類型與位置。根據明確數據塊號的不同方法,可以用多種方法訪問數據塊中的數據。

    直接在訪問指令中寫明數據塊號,如:

    L DB5.DBW10

    T DB10.DBW20

    L Motor_1.Speed 符號地址

    另一種方法是“先打開后訪問"。在訪問某數據塊中的數據前,先“打開"這個數據塊,也就是將數據塊號(數據塊的起始地址)裝入數據塊寄存器。這樣,存放在數據塊中的數據就可利用數據塊起始地址加偏移量的方法來訪問。如:





    主站蜘蛛池模板: 国产91大片精品一区在线观看 | 日本免费精品一区二区三区| 亚洲AV无码成人网站久久精品大| 国产成人久久精品麻豆一区| 国99精品无码一区二区三区| 亚洲精品无码午夜福利中文字幕 | 久久精品国产亚洲Aⅴ蜜臀色欲 | 中文字幕无码精品亚洲资源网久久 | 麻豆国内精品久久久久久 | 欧美精品黑人粗大| 国产精品1024在线永久免费| HEYZO无码综合国产精品227| 亚洲精品国产品国语在线| 久久久精品视频免费观看| 国产精品福利在线观看免费不卡 | 久久久精品无码专区不卡| 91精品免费久久久久久久久| 精品久久一区二区三区| 福利姬在线精品观看| 999久久久免费精品国产| 精品无码久久久久久午夜| 久久夜色精品国产噜噜噜亚洲AV| 亚洲中文字幕久久精品无码喷水| 亚洲日韩中文在线精品第一| 亚洲精品无码久久久久AV麻豆| 欧美精品亚洲人成在线观看| 久久久久这里只有精品| 久久精品国产亚洲AV不卡| 国内精品久久久久久中文字幕| 国产精品内射婷婷一级二| 国产精品99久久久久久董美香 | 无码国内精品久久人妻蜜桃| 无码人妻精品一区二区在线视频| 亚洲精品国产首次亮相| 日韩人妻精品一区二区三区视频 | 久久精品国产免费| 精品国产_亚洲人成在线高清| 国产精品一久久香蕉产线看| 国产精品久久国产精麻豆99网站| 久久九九亚洲精品| 69堂午夜精品视频在线|