• <cite id="uwv89"></cite>
      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        ketangsz
        級別: 探索解密
        精華主題: 0
        發帖數量: 30 個
        工控威望: 149 點
        下載積分: 392 分
        在線時間: 73(小時)
        注冊時間: 2011-07-04
        最后登錄: 2025-08-23
        查看ketangsz的 主題 / 回貼
        樓主  發表于: 2015-08-14 20:49
        因為他們可以控制6軸,弄了兩個來試。這兩個有點很不爽的地方是內存高低位是反的(相對三菱)。接觸摸屏問題就來了,要交換高低位屏上顯示才正確。參數多啊,痛苦呢。哪位大師有什么好招?還是我搞錯了?還是要用他們的專用屏?我習慣用維倫,便宜啊。
        lvpretend
        級別: 論壇先鋒
        精華主題: 0
        發帖數量: 1266 個
        工控威望: 1436 點
        下載積分: 3703 分
        在線時間: 324(小時)
        注冊時間: 2015-07-20
        最后登錄: 2025-02-25
        查看lvpretend的 主題 / 回貼
        1樓  發表于: 2015-08-14 21:56
        觸摸屏不能自己按對應PLC換過來嗎?
        如果用的MODBUS通用格式,就做個HMI數據交換的緩沖區吧,其實用緩沖區交換數據也便于調試。
        ketangsz
        級別: 探索解密
        精華主題: 0
        發帖數量: 30 個
        工控威望: 149 點
        下載積分: 392 分
        在線時間: 73(小時)
        注冊時間: 2011-07-04
        最后登錄: 2025-08-23
        查看ketangsz的 主題 / 回貼
        2樓  發表于: 2015-08-15 21:17
        維倫跟麥格米特是modbus通訊的,屏不會自動換高低位。做緩沖區大概是個什么意思?用屏內部存儲器加宏指令反相嗎?
        lvpretend
        級別: 論壇先鋒
        精華主題: 0
        發帖數量: 1266 個
        工控威望: 1436 點
        下載積分: 3703 分
        在線時間: 324(小時)
        注冊時間: 2015-07-20
        最后登錄: 2025-02-25
        查看lvpretend的 主題 / 回貼
        3樓  發表于: 2015-08-15 21:31
        引用
        引用第2樓ketangsz于2015-08-15 21:17發表的  :
        維倫跟麥格米特是modbus通訊的,屏不會自動換高低位。做緩沖區大概是個什么意思?用屏內部存儲器加宏指令反相嗎?

        PLC來做更方便些,把需要與觸摸屏交換的數據從PLC的各個不同的地址映射到PLC中一個連續的空間,數據量應該不算太多,然后用子程序把這個連續空間全部逐個交換高低16位到另外一個連續空間,供觸摸屏調用。再用相同的方法把觸摸屏發出的數據交換回來。
        這樣結構清晰,不容易出錯,也不影響PLC主體程序。
        彭萬生
        級別: 工控俠客
        精華主題: 0
        發帖數量: 1883 個
        工控威望: 2102 點
        下載積分: 131756 分
        在線時間: 1278(小時)
        注冊時間: 2013-08-04
        最后登錄: 2024-04-17
        查看彭萬生的 主題 / 回貼
        4樓  發表于: 2015-08-15 21:45
        3樓說的很在理
        靜芳
        級別: 工控俠客
        精華主題: 0
        發帖數量: 958 個
        工控威望: 3038 點
        下載積分: 3306 分
        在線時間: 205(小時)
        注冊時間: 2010-02-05
        最后登錄: 2025-08-23
        查看靜芳的 主題 / 回貼
        5樓  發表于: 2015-08-16 09:06
        真麻煩
        ketangsz
        級別: 探索解密
        精華主題: 0
        發帖數量: 30 個
        工控威望: 149 點
        下載積分: 392 分
        在線時間: 73(小時)
        注冊時間: 2011-07-04
        最后登錄: 2025-08-23
        查看ketangsz的 主題 / 回貼
        6樓  發表于: 2015-08-22 16:31
        網絡的好處就是你都不知道我是誰,你就已經幫我了,感謝網絡,感謝大家的回復。 我是從學校開始學三菱PLC,所以現在很難習慣跟三菱編程指令差太遠的控制器。但對國內的控制器這塊還是希望有自己品牌的東西。做工控的人應該都理解我們倒騰來倒騰去,全都是在使用別人的技術,別人的東西,別人賺大頭,我們沒辦法。所以我買過國產矩形的48點PLC,支持6軸。這個確實是硬件軟件都比較獨立的控制器,指令多,功能強。很遺憾項目緊,我沒把握用上去。針對樓上的回答,我又查了手冊,確實矩形的32位元件高低位是不用去交換的。只是他的MOV只有16位的指令,對于32位數需要高低位分別傳送。發幾張圖,大家碰到這個問題,耐心點就好。解釋big endian little endian——http://blog.csdn.net/sunshine1314/article/details/2309655
        ketangsz
        級別: 探索解密
        精華主題: 0
        發帖數量: 30 個
        工控威望: 149 點
        下載積分: 392 分
        在線時間: 73(小時)
        注冊時間: 2011-07-04
        最后登錄: 2025-08-23
        查看ketangsz的 主題 / 回貼
        7樓  發表于: 2015-08-22 16:34
        Big Endian 和 Little Endian

        Peter Lee 2008-04-20

        一、字節序
        來自:http://ayazh.gjjblog.com/archives/1058846/

        談到字節序的問題,必然牽涉到兩大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列采用big endian方式存儲數據,而x86系列則采用little endian方式存儲數據。那么究竟什么是big endian,什么又是little endian呢?

             其實big endian是指低地址存放最高有效字節(MSB),而little endian則是低地址存放最低有效字節(LSB)。

             用文字說明可能比較抽象,下面用圖像加以說明。比如數字0x12345678在兩種不同字節序CPU中的存儲順序如下所示:

        Big Endian

           低地址                                            高地址
           ----------------------------------------->
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |     12     |      34    |     56      |     78    |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        Little Endian

           低地址                                            高地址
           ----------------------------------------->
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |     78     |      56    |     34      |     12    |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             從上面兩圖可以看出,采用big endian方式存儲數據是符合我們人類的思維習慣的。而little endian,!@#$%^&*,見鬼去吧 -_-|||

             為什么要注意字節序的問題呢?你可能這么問。當然,如果你寫的程序只在單機環境下面運行,并且不和別人的程序打交道,那么你完全可以忽略字節序的存在。但是,如果你的程序要跟別人的程序產生交互呢?在這里我想說說兩種語言。C/C++語言編寫的程序里數據存儲順序是跟編譯平臺所在的CPU相關的,而JAVA編寫的程序則唯一采用big endian方式來存儲數據。試想,如果你用C/C++語言在x86平臺下編寫的程序跟別人的JAVA程序互通時會產生什么結果?就拿上面的0x12345678來說,你的程序傳遞給別人的一個數據,將指向0x12345678的指針傳給了JAVA程序,由于JAVA采取big endian方式存儲數據,很自然的它會將你的數據翻譯為0x78563412。什么?竟然變成另外一個數字了?是的,就是這種后果。因此,在你的C程序傳給JAVA程序之前有必要進行字節序的轉換工作。

             無獨有偶,所有網絡協議也都是采用big endian的方式來傳輸數據的。所以有時我們也會把big endian方式稱之為網絡字節序。當兩臺采用不同字節序的主機通信時,在發送數據之前都必須經過字節序的轉換成為網絡字節序后再進行傳輸。ANSI C中提供了下面四個轉換字節序的宏。

        big endian:最高字節在地址最低位,最低字節在地址最高位,依次排列。
        little endian:最低字節在最低位,最高字節在最高位,反序排列。

        endian指的是當物理上的最小單元比邏輯上的最小單元小時,邏輯到物理的單元排布關系。咱們接觸到的物理單元最小都是byte,在通信領域中,這里往往是bit,不過原理也是類似的。

        一個例子:
        如果我們將0x1234abcd寫入到以0x0000開始的內存中,則結果為
                        big-endian     little-endian
        0x0000     0x12              0xcd
        0x0001     0x34              0xab
        0x0002     0xab              0x34
        0x0003     0xcd              0x12


        目前應該little endian是主流,因為在數據類型轉換的時候(尤其是指針轉換)不用考慮地址問題。


        二、Big Endian 和 Little Endian名詞的由來
        這兩個術語來自于 Jonathan Swift 的《《格利佛游記》其中交戰的兩個派別無法就應該從哪一端--小端還是大端--打開一個半熟的雞蛋達成一致。:)
        “endian”這個詞出自《格列佛游記》。小人國的內戰就源于吃雞蛋時是究竟從大頭(Big-Endian)敲開還是從小頭(Little-Endian)敲開,由此曾發生過六次叛亂,其中一個皇帝送了命,另一個丟了王位。
        我們一般將endian翻譯成“字節序”,將big endian和little endian稱作“大尾”和“小尾”。

        在那個時代,Swift是在諷刺英國和法國之間的持續沖突,Danny Cohen,一位網絡協議的早期開創者,第一次使用這兩個術語來指代字節順序,后來這個術語被廣泛接納了

        三、Big Endian 和 Little Endian優劣
        來自:Dr. William T. Verts, April 19, 1996
        Big Endian
        判別一個數的正負很容易,只要取offset0處的一個字節就能確認。
        Little Endian
        長度為1,2,4字節的數,排列方式都是一樣的,數據類型轉換非常方便。

        四、一些常見文件的字節序
        來自:Dr. William T. Verts, April 19, 1996

        Common file formats and their endian order are as follows:
        Adobe Photoshop -- Big Endian
        BMP (Windows and OS/2 Bitmaps) -- Little Endian
        DXF (AutoCad) -- Variable
        GIF -- Little Endian
        IMG (GEM Raster) -- Big Endian
        JPEG -- Big Endian
        FLI (Autodesk Animator) -- Little Endian
        MacPaint -- Big Endian
        PCX (PC Paintbrush) -- Little Endian
        PostScript -- Not Applicable (text!)
        POV (Persistence of Vision ray-tracer) -- Not Applicable (text!)
        QTM (Quicktime Movies) -- Little Endian (on a Mac!) (PeterLee注Big Endian in my opinion)
        Microsoft RIFF (.WAV & .AVI) -- Both
        Microsoft RTF (Rich Text Format) -- Little Endian
        SGI (Silicon Graphics) -- Big Endian
        Sun Raster -- Big Endian
        TGA (Targa) -- Little Endian
        TIFF -- Both, Endian identifier encoded into file
        WPG (WordPerfect Graphics Metafile) -- Big Endian (on a PC!)
        XWD (X Window Dump) -- Both, Endian identifier encoded into file

        五、比特序
        來自:http://ayazh.gjjblog.com/archives/1058846/

        我在8月9號的《Big Endian和Little Endian》一文中談了字節序的問題。可是有朋友仍然會問,CPU存儲一個字節的數據時其字節內的8個比特之間的順序是否也有big endian和little endian之分?或者說是否有比特序的不同?

             實際上,這個比特序是同樣存在的。下面以數字0xB4(10110100)用圖加以說明。


        Big Endian

           msb                                                         lsb
           ---------------------------------------------->
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |   1  |   0  |   1  |   1  |   0  |   1  |   0  |   0  |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        Little Endian

           lsb                                                         msb
           ---------------------------------------------->
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
           |   0  |   0  |   1  |   0  |   1  |   1  |   0  |   1  |
           +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             實際上,由于CPU存儲數據操作的最小單位是一個字節,其內部的比特序是什么樣對我們的程序來說是一個黑盒子。也就是說,你給我一個指向0xB4這個數的指針,對于big endian方式的CPU來說,它是從左往右依次讀取這個數的8個比特;而對于little endian方式的CPU來說,則正好相反,是從右往左依次讀取這個數的8個比特。而我們的程序通過這個指針訪問后得到的數就是0xB4,字節內部的比特序對于程序來說是不可見的,其實這點對于單機上的字節序來說也是一樣的。

             那可能有人又會問,如果是網絡傳輸呢?會不會出問題?是不是也要通過什么函數轉換一下比特序?嗯,這個問題提得很好。假設little endian方式的CPU要傳給big endian方式CPU一個字節的話,其本身在傳輸之前會在本地就讀出這個8比特的數,然后再按照網絡字節序的順序來傳輸這8個比特,這樣的話到了接收端不會出現任何問題。而假如要傳輸一個32比特的數的話,由于這個數在littel endian方存儲時占了4個字節,而網絡傳輸是以字節為單位進行的,little endian方的CPU讀出第一個字節后發送,實際上這個字節是原數的LSB,到了接收方反倒成了MSB從而發生混亂。

        主站蜘蛛池模板: 九九热免费精品在线视频| 色综合久久综合中文综合网| 99久久精品费精品国产一区二 | av色国产色拍| 国产亚洲精品AA片在线爽| 鲁丝一区二区三区免费| 狠狠色综合久久狠狠色综合| 久久青青草原亚洲AV无码麻豆| 久久精品成人免费看| 熟女人妻aⅴ一区二区三区电影| 成人免费无码视频在线网站| 久久这里只精品热免费99| 天堂av色综合久久天堂| 亚洲综合激情五月色一区| 亚洲国产精品久久久天堂麻豆宅男 | 亚洲精品日本久久一区二区三区| 精品人妻少妇一区二区三区在线| 久久精品国产色蜜蜜麻豆| 久久精品国产亚洲av熟女| 另类专区一区二区三区| 欧美极品色午夜在线视频| 国产欧美在线观看一区| 国产精一区二区黑人巨大| 日本一区二区精品色超碰| 精品国产精品中文字幕| 精品乱码一区二区三四五区| 另类 专区 欧美 制服| 国产成人精品a视频| 国产成人综合亚洲第一区| 亚洲中文字幕久久精品码| 亚洲欧美自偷自拍视频图片| 人妻中文字幕精品一页| 花式道具play高h文调教| 国产一区二区亚洲一区二区三区 | 日韩av一区二区精品不卡| 国产三级精品三级色噜噜| 深夜视频国产在线观看| 国产午夜福利视频在线| 免费av网站| 亚洲国产成人精品综合色| 亚洲国产午夜精品福利|