久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6481|回復: 0
收起左側

【S7-300】PLC 數據類型探討【轉載】

[復制鏈接]
ID:26188 發表于 2015-5-27 23:54 | 顯示全部樓層 |閱讀模式


各位同學是否有以下疑惑:
1. INT數據類型與WORD 數據類型有何區別?DINT與TIME呢?
2. S5 TIME數據類型結構是什么樣的?怎樣自行修改或生成符合S5 TIME數據類型的值?
3. 儀表傳送一組流量數值,是用字符串方式發送,接收到數值后,怎樣還原為浮點數?
4. MOVE指令與數據類型轉換指令怎樣區分?都有什么樣的應用場合?
5. 隱式轉換和顯示轉換是什么含義,在TIA 博途中,設置IEC檢查對數據類型轉換會有什么影響。
另外,復雜數據類型的應用,如:STRUCT與UDT的應用與區別、*數組、ANY數據類型,各種數據類型的存儲與尋址方式,相互轉換也在本話題討論范圍之內,大家不要吝嗇筆墨,踴躍發言,談談應用過程中的疑惑與認識,希望大家收獲多多!


字符串轉換為浮點數的方法
可以用程序編輯器的IEC庫中的FC39 STRNG_R,將字符串轉換為REAL數據類型格式變量。
用IEC庫中的FC30  R_STRNG,可以將REAL格式的變量轉換為字符串。
字符串由符號、小數點前的1位數字、小數點、小數點后的7位數字、E和2位指數數字字符組成。
下面是一個例程:
在DB1中定義字符串STR1[14],下面是OB1中的程序:
       CALL  "R_STRNG"   //調用FC30,將REAL格式變量轉換為字符串
        IN     :=1.234567e+003
        RET_VAL:=DB1.STR1

       CALL  "STRNG_R"   //調用FC39,將將字符串轉換為REAL格式變量
        S      :=DB1.STR1
        RET_VAL:=MD0

由監控可知FC30將1.234567e+003轉換后,DB1.STR1中的字符串為’+0.1234567E+04’。用FC39將字符串DB1.STR1轉換后,MD0中的浮點數為1.234567e+003。

一、在S7編程中字符類型[CHAR]使用比較少見,但在一些與條碼掃描的通訊設備中卻較為常見,例如工裝線產品質檢和計數或商場收銀系統。
二、這類條碼掃描設備通常先與PLC進行RS232C或RS485串口通訊后讀入CHAR數據類型,然后經組合和轉換后,在觸摸屏Touch中顯示。
三、其實CHAR數據類型處理很簡單,具體使用事項和方法如下:
1、首先CHAR字符采用ASCII編碼;
2、其次CHAR字符占用一個Byte;
3、因此將讀取的CHAR字符存放至定義為CHAR類型的存儲區變量中,例如MB2→CHAR即可;
4、如果要對定義的CHAR類型的變量賦值,需對輸入的字符常量加一對單引號,例如:'$'、'F'、'【'、'?'。
5、使用效果見以下ASCII碼表與程序對照圖。



2. S5 TIME數據類型結構是什么樣的?怎樣自行修改或生成符合S5 TIME數據類型的值?
1) S5TIME為16位數據,BCD碼格式。當使用S5TIME時,最大計時為S5T#2h46m30s(9990s).
   格式如:2#0011 1001 1001 1001,即S5T#2h46m30s
                          10s    9        9        9
   第14,13位表示時間基準,00為10ms,01為100ms,10為1s,11為10s.上例為11,即10s時基。
   后12位為BCD碼表示的時間值,上例為999,則999*10s=2h46m30s.
2)知道S5TIME的格式后,就可以在程序中正確的使用了。常見的如在觸摸屏中有個INT變量設定的時間,   在程序中要轉換成S5TIME.(INT轉S5TIME).
   因為S5TIME為BCD碼格式,所以要先將INT轉BCD(ITB).記得一定要轉。可以看3樓的例子。我們也可以   自己編程做一下實驗。ITB不寫的話就會報錯。
       L     999       //0000 0011 1110 0111
       ITB               //0000 1001 1001 1001
       L     W#16#3000   //0011 0000 0000 0000
       OW   
       T     MW   700    //0011 1001 1001 1001 (S5T#2h46m30s)
       A     M    100.0
       L     MW   700  
       SD    T      1
3)其他關于INT,TIME和S5TIME的轉換見下帖。
http://www.ad.siemens.com.cn/clu ... d=4&a_id=898840

字符串數據類型[STRING]的使用也比較少見,常用于存儲消息文本。
關于STRING類型變量使用事項如下:
1、STRING變量字符串以ASCII編碼存儲每個字符,最大長度256Byte,前兩個Byte存儲字符串長度信息,所以STRING變量最多包含254個字符。其中第一個Byte存儲最大長度;第二個Byte存儲實際字符長度。
2、STRING類型的變量可傳遞至相同類型(即相同的STRING長度)的塊參數中,也可以傳遞至POINTER或ANY類型的FC/FB塊參數中。
3、給STRING變量賦值常量需使用一對單引號,例如:'String'、'S7'、'failure_4'。
4、如果用ASCII編碼的字符賦值,則該字符也必需使用一對單引號,而如果包含用于控制術語的特殊字符,則必需在字符前添加前綴符號$。例如:$$→美元字符;$P→換頁字符;$L→換行字符;$R→回車字符;$T→空格字符。
5、STRING變量定義聲明和初始化方法:變量名稱:STRING[最大字符數]: '初始化文本',變量定義聲明時可以無初始化文本。例如:FALT_SIG:STRING 'Motor failure_4'、Warning:STRING [50] ''。
如果變量定義聲明時未指定最大字符數,那么STL/LAD/FBD程序編輯器則自動默認長度最大為254個字符。
6、可使用基本的STL指令訪問STRING變量的各個字符。例如:L   FALT_SIG[5]    //裝載變量FALT_SIG的第5個字符,即'r'。
7、還可以使用IEC庫的FC功能塊實現對STRING變量的訪問和處理。


數據類型是什么?
數據類型是什么?數據類型是人為規定的數據的屬性。在計算機和PLC中,數據實際上以二進制數的形式儲存。按長度分為1位、8位、16位、32位的二進制數據。
除了數據的長度,數據類型包含了更多的內容,例如32位的數據類型有雙字、32位整數、Time、浮點數、TIME_OF_DAY等。
數據的數據類型需要在符號表、塊的局部變量表中定義,因此數據類型是人為指定的數據的屬性。
指令和塊的輸入、輸出參數的實參的數據類型必須與對應的形參要求的相同,否則程序將會出錯。
  OB40的參數OB40_MDL_ADDR的數據類型為WORD,不能直接用于要求數據類型為INT的整數比較指令。怎樣解決這一難題呢?在梯形圖中,可以用MOVE指令把OB40_MDL_ADDR的值傳送給沒有定義數據類型的一個絕對地址,例如MW10,MW10就可以用于比較指令了。MW10并沒有因此自動獲得數據類型INT,只是CPU“認為”MW10中的數據類型是INT,CPU被我們蒙騙了!
我見過不良小販把白色的小雞染成五顏六色來騙小孩,放到水里一洗,小雞的彩色就消失了。如果把小雞看成數據,染的顏色就是數據類型。把定義了數據類型的數據裝入絕對地址MW10或累加器(累加器也是一個特殊的絕對地址),數據類型的屬性就被剝去了,只剩下赤裸裸的數據,就像小雞的顏色被水洗掉了一樣。這時就可以把數據當作規定了長度的各種數據類型來使用。   




回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久网一区二区三区 | 午夜99 | 天色综合网 | 99re在线 | 天天干天天操天天看 | 一区不卡在线观看 | 日本精品一区二区三区在线观看视频 | 久草免费在线视频 | 在线中文字幕av | 精品欧美一区二区在线观看 | 自拍偷拍3p| 午夜精品视频在线观看 | 午夜国产精品视频 | 欧美国产日韩在线观看 | 综合久久av | 国产精品成人一区 | 国产精品美女久久久久久免费 | 成人网在线观看 | 夜操| a国产一区二区免费入口 | 成人免费大片黄在线播放 | 日韩免费福利视频 | 日韩国产精品一区二区三区 | 另类视频在线 | 91视频日本| 91精品国产综合久久久久 | 国产精品夜色一区二区三区 | 拍真实国产伦偷精品 | 99在线资源| 国产精品精品视频一区二区三区 | 国产精品www | 97视频在线观看网站 | 色综合一区二区三区 | 亚洲一区二区免费电影 | 欧美一区在线视频 | 久久国产精品久久久久 | 国产在线精品一区二区三区 | 久久国产精品精品 | 日韩三区 | 黄色小视频入口 | 综合国产 |