三级片视频播放,精品三级片在线观看,A级性爱视频,欧美+日韩+国产+无码+小说,亲子伦XX XX熟女,秋霞最新午夜伦伦A片黑狐,韩国理伦片漂亮的保拇,一边吃奶一边做边爱完整版,欧美放荡性护士videos

| 注冊| 產品展廳| 收藏該商鋪

行業產品

當前位置:
寧波聯航自動化科技有限公司>>技術文章>>西門子自動化工業與技術研發

西門子自動化工業與技術研發

閱讀:821        發布時間:2021-4-17

西門子工控機電源廠商去年對他們的電源模塊做了升級,但隨后在某現場出現了一系列的故障,工控機的電源連續損壞,因此,我們緊急赴現場進行了檢測。

        我們在現場了解到,IPC的電源損壞的部件是其內部前端的保險管,由于該保險管被燒壞,導致電源模塊無法正常供電(圖1)。 

這就意味著,現場可能出現過大電流。而且我們了解到,現場經常是頭一天晚上下班后,工人將現場主回路直接斷電,此時,工控機均處于開機狀態。而第二天早上,工人直接將主回路的電源合閘后,工控機直接上電,但此時就發現有的工控機不能工作了,再檢查時就發現是工控機的電源燒壞。

        除此之外,該設備的每個控制柜旁邊都裝有一個空調,該空調在啟動瞬間也會產生一定的高壓脈沖干擾。同時,該空調本身還有一個控制開關,該開關在開閉過程中,也會產生高壓脈沖干擾

 經過換算,在空開閉合瞬間的高頻干擾電壓幅值為4000V左右,而壓縮機啟動瞬間幅值的干擾信號幅值大概為1500V左右。

        至此,我們大致得出結論,應該是現場出現過較大的沖擊電流,導致設備電源損壞。

        之后,我們又進行了大量的測試,主要是針對現場的情況進行檢測,以及對電源防護措施進行了一系列的對比測試,這里就不再詳細敘述了。當然,我們也針對電源模塊本身的內部設計是否存在隱患,與電源廠家進行了溝通。廠家經過檢測,判斷現場出現大電流導致設備損壞的可能性比較大。

        根據上述情況,我們在現場提出了一些建議:

1.       現場加強設備上電、斷電的規范管理,要求現場為控制柜供電的總電源不得帶負載上電、斷電。

2.       修改工控機的BIOS,將“狀態保持模式”參數項修改為“DISABLE”,即上電后,不能直接開機,而是通過IPC前部的開關按鈕進行開機操作。

3.       在IPC的電源前增加浪涌等保護設備,保證供電電源質量。

        之后,經過一段時間的觀察,現場沒有再出現過電源燒壞的情況。這個Case拿出來跟大家分享,一方面是提醒我們的工控機用戶在使用西門子IPC的過程中需要注意的一些問題,另外也是提醒廣大的工程師,注意工業現場的用電規范,否則有可能導致我們的設備出現一些意想不到的情況。 

1.3存儲器32位地址指針

        32位地址指針用于I、Q、M、L、數據塊等存儲器中位、字節、字及雙字的尋址,32位的地址指針使用一個雙字表示,第0位~第2位作為尋址操作的位地址,第3位~第18位作為尋址操作的字節地址,第19位~第31位沒有定義,32位地址指針的格式如下:

        訪問時需要使用地址存儲器標識符及32位地址指針,地址尋址表示格式為:

地址存儲器標識符 [32位地址指針],例如指針存儲于LD20中,裝載M存儲器一個字節表示為:

2.jpg

        前面介紹的存儲器16位指針,特定用于T、C、程序塊的尋址,使用一個INT格式的值表示,每次值加1,指向的對象地址加1,例如,T1、T2,其中的“1”、“2”就是指針的直接變化(好像沒有說明白!)。32地址指針使用一個DINT格式的值表示,指向的是I、Q、M、L、數據塊等存儲器中位,每次值加1,指向的地址區位的號加1,區別就是在這里。一個字節是8個位,如果指向的是字節每次就要加8的倍數,例如地址MB[LD20],LD20值為0,則表示MB0,LD20值為8,則表示MB1,如果指向的是字每次就要加16的倍數,以此類推。

        如果將32位指針按照16位指針的方式使用就會出問題,例如MB[LD20],LD值為10,指向地址為MB1.2,程序編譯沒有問題(語法正確),下載下去造成CPU停機,原因就是地址長度錯誤。在第三部分介紹定時器循環調用的示例程序中,TRIG1和TRIG2就是使用32指針迭代的,例如 A  M [LD20],每次LD值加1,由于顯示的問題別屏蔽了,所以程序量還有有一點的。前面也提到了優化的問題,16位和32指針由于使用方法不同,不能簡單地合并。

        32位指針也可以使用另外一種形式表示,就是使用P#X.Y,P表示指針,#表示特定符號,X表示字節地址,Y表示位地址,P#X.Y可以與DINT格式的值相互轉換,DINT值=X*8+Y,

        例如P#2.0轉換DINT格式為16,P#3.1轉換DINT格式為25。在指針尋址時可以使用指針的格式也可以使用DINT格式進行運算。使用32位地址指針尋址參考下面的示例程序:

      OPN   DB     1            //打開DB1。

      OPN   DI     3            //打開DB3,最多可以同時打開兩個DB塊。

 

      L     4                   //裝載4到累加器1中。

      SLD   3                   //累加器1中數值左移3位,在程序中經常見到,

                                  左移3位就是將原值乘以8

      T     MD    20            //將邏輯操作結果傳送到MD20中,MD20包含地址指針為P#4.0。

      L     P#20.0              //將地址指針P#20.0裝載到MD24中。

      T     MD    24

 

      L     320                 //320就是P#40.0裝載到MD28中。

      T     MD    28

 

      L     DBW [MD 20]         //裝載DB1.DBW4。

      L     DBW [MD 24]         //裝載DB1.DBW20。

      +I                                                              //相加

      L     DIW [MD 28]         //裝載DB3.DBW40。

      -I                        //相減。 

      T     DIW    2            //將運算結果傳送到DB3.DBW2中。

        使用32位地址指針尋址數據塊地址時,數據塊必須先打開,然后才能尋址,數據塊尋址方法參考下面的示例程序,如果直接使用指令對完整數據格式地址(例如地址DB1.DBB[MD100])進行間接尋址被視為非法。

        使用LOOP 指令與32位地址指針可以進行循環操作(這是固定的操作模式,在程序中一看到LOOP指令就要想到地址的迭代),假設一個編程應用:一個INT變量(MW2)與一個數組(假設存儲于DB1中,包含100個元素為INT的數組)存儲的值相比較,如果數值相同,指出個相同數值存儲在DB塊中的位置(數組中的位置)。使用通常的編程方法,需要逐個進行比較,程序量比較大,如果實際需要與1000個數值比較,將占用大量的存儲空間,使用LOOP指令與地址指針相結合可以輕松解決上述問題,參考下面的示例程序:

        L     0                    //初始化MW100和MD4。

      T     MW   100

      T     MD     4

      OPN   DB     1             //打開DB1。

      L     100                  //循環操作的次數,100次。   

next:  T     MW   100             //將循環100次裝載到MW100中,固定格式。                                                                           

      L     MW     2             //                                  進行比較的數值存儲于MW2。

      L     DBW [MD 4]           //與DB塊中存儲的值進行比較,開始地址為DBW0。

      ==I                                                               //如果數值相等跳到m1。

      JC    m1

      L     MD     4             //將地址指針加2(每個相鄰的INT地址相差2)。

      L     P#2.0

      +D   

      T     MD     4

      L     MW   100             //次數減1,跳回next,如果MW100等于0,跳出

LOOP  next                   //循環操作LOOP指令,LOOP指令固定格式。

m1:   FP    M     10.0             //如果數值相等,記錄MD4指針的位置,轉換

為數組的位置((地址值/P#2.0)+1)值并存儲

于MD8中。

      JCN   m2                     //為0跳轉到m2。  

      L     MD     4

      L     P#2.0

      /D   

      +     1

      T     MD     8

        m2:   NOP   0  

 

 

        地址的循環操作只是減少了程序量,CPU掃描時間不會減少。

 

1.4存儲器32位地址指針-S7-1500的處理方式

        與16位指針的處理方式是一樣的,還是使用數組進行循環迭代。上面的應用如果在S7-1500中編寫則非常方便,示例程序參考圖11。

        使用變量“START_COMP”作為開始信號,如果比較值“COMP_Value”與數組的元素“A.B["INDEX"]”不相等(INDEX缺省為0),則變量“INDEX”加1,如果大于等于100,則將“INDEX”清0,然后復位開始信號“START_COMP”;如果比較值“COMP_Value”與數組中的元素“A.B["INDEX"]”相等,則將變量“INDEX”中的值傳送到結果“RESULT”中,然后將“INDEX”清0并復位開始信號“START_COMP”。

        程序比較簡單,使用LAD即可編程程序,對編程人員的要求不高,如果使用SCL編寫程序可能更加簡單

收藏該商鋪

登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時間回復您~
二維碼 意見反饋
在線留言
主站蜘蛛池模板: 晋城| 洪湖市| 连平县| 上杭县| 凤台县| 和静县| 阿图什市| 漠河县| 桓台县| 建昌县| 巫山县| 巴林左旗| 玛多县| 海盐县| 陆良县| 玉龙| 沙湾县| 斗六市| 乌什县| 嘉鱼县| 南宁市| 乡城县| 辉县市| 丹阳市| 浦县| 景泰县| 千阳县| 广宁县| 那坡县| 青海省| 阜阳市| 浮山县| 林州市| 平度市| 会同县| 儋州市| 惠水县| 巩义市| 湄潭县| 永修县| 木兰县|