• <tfoot id="idgre"><pre id="idgre"><th id="idgre"></th></pre></tfoot>
  • <sub id="idgre"><i id="idgre"></i></sub>
      <optgroup id="idgre"></optgroup>
      <em id="idgre"></em>

      1. <cite id="idgre"><track id="idgre"><sub id="idgre"></sub></track></cite>
      2. <big id="idgre"><span id="idgre"></span></big>
        亚洲精品乱码久久久久久日本麻豆,欧美一级黄色影院,色综合久久久久无码专区,男人的天堂在线视频,中文亚洲av片不卡在线观看,狠狠热精品免费视频,久久AV无码精品人妻糸列,亚洲区1区3区4区中文字幕码
        歡迎光臨潯之漫智控技術(shù)(上海)有限公司網(wǎng)站!
        誠信促進(jìn)發(fā)展,實力鑄就品牌
        服務(wù)熱線:

        15618722057

        技術(shù)文章 / article 您的位置:網(wǎng)站首頁 > 技術(shù)文章 > 四川達(dá)州西門子PLC模塊銷售

        四川達(dá)州西門子PLC模塊銷售

        發(fā)布時間: 2024-04-07  點擊次數(shù): 634次

        四川達(dá)州西門子PLC模塊銷售


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

        Address Decl. Symbol Data Type Initial Value Comment

        0.0 In PIW_Addr INT

        模入模塊通道起始地址

        2.0 In CH_LEN INT

        要讀入的通道數(shù)

        4.0 In DB_No INT

        存儲數(shù)據(jù)塊號

        6.0 In DBW_Addr INT

        存儲在數(shù)據(jù)塊中的字地址

        Network 1

        L #DB_No

        T LW0

        OPN DB[LW 0] 打開存儲數(shù)據(jù)塊

        L #PIW_Addr

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

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

        L #DBW_Addr

        SLD 3 形成數(shù)據(jù)塊存儲地址指針

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

        L #CH_LEN 以要讀入的通道數(shù)為循環(huán)次數(shù),裝入累加器1

        NEXT:T LW 0

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

        L LD4

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

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

        T LW2 將累加器1的內(nèi)容暫存入緩沖器LW2

        L LD8

        LARl 將數(shù)據(jù)塊存儲地址指針裝入地址寄存器1

        L LW2 將數(shù)據(jù)緩沖器中的內(nèi)容裝入累加器1

        T DBW[ARl,P#0.0] 將累加器的內(nèi)容存入數(shù)據(jù)塊中

        L LD4 AR1+P#2.0→AR1

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

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

        L LD8

        + L#16

        T LD8 調(diào)整數(shù)據(jù)塊存儲地址指針,指向下一存儲地址

        L LW0 將循環(huán)次數(shù)計數(shù)器LW0的值裝入累加器1

        LOOP NEXT 若累加器1的值不為0,將累加器減1繼續(xù)循環(huán);若累加

        器為0,則結(jié)束

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

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

        CALL FC100

        PIW_Add:= 256

        CH_LEN:= 6

        DB_No:= 50

        DBW_Addr:= 10

        數(shù)據(jù)塊

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

        1. 定義數(shù)據(jù)塊

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

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

        2.訪問數(shù)據(jù)塊

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

        直接在訪問指令中寫明數(shù)據(jù)塊號,如:

        L DB5.DBW10

        T DB10.DBW20

        L Motor_1.Speed 符號地址

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


        聯(lián)