在三菱PLC中,AD和DA是怎麽(me) 進行轉換的?三菱PLC模擬量讀取和數字量轉換,請閱讀下麵文章一起來了解下。
在拿到DA模塊說明書(shu) 時,有很多人看不懂裏麵的說的什麽(me) ,怎麽(me) 樣,對於(yu) AD和DA是如何轉換的不清楚,今天就將一下轉換機製:
AD和DA模塊中有個(ge) 緩衝(chong) 存儲(chu) 器分配(BFM),它是與(yu) PLC數據交換時暫時存放數據的地方,FX2N的BFM使用如下表:
BFM很多人看不懂這個(ge) 表說的什麽(me) ,首先BFM是16位存儲(chu) ,(PLC中的16位、32位就是二進製的位而不是10進製)。
b15、b14、b13、b12、b11、b10、b9、b8、b7、b6、b5、b4、b3、b2、b1、b0、對於(yu) FX2DA,我們(men) 隻用到BFM的16和17兩(liang) 個(ge) 編號,其他保留不用看,在#16裏麵,隻用前8位,b7~b0,其他保留不用看。#17裏麵,隻用到b2~b0,其他保留不用看。這就簡單了。這個(ge) BFM怎麽(me) 和PLC進行數據交換呢,用From和to指令來完成,Form是從(cong) BFM中取數據,to是存數據。
FX2DA轉換的數字量最大為(wei) 4000,也就是2^12,因此DA模塊隻能轉換12位數據,而#16隻能暫存儲(chu) 8位數據,怎麽(me) 辦?那就分兩(liang) 次以低8位和高4位順序進行寫(xie) ,所以才有低8位數據保持,不然第二次就把第一次寫(xie) 的覆蓋掉了。
#17裏麵有b2~b0,它的功能是:
b0:通過將1改變為(wei) 0,通道2的D/A轉換開始
b1:通過將1改變為(wei) 0,通道2的D/A轉換開始
b2:通過將1改變為(wei) 0,D/A轉換的低8位數據保持。
這裏是什麽(me) 意思呢?
想要通道2的D/A轉換開始,就必須要降b0的值從(cong) 1變成0,怎麽(me) 實現呢,先傳(chuan) 送個(ge) 1給b0,再傳(chuan) 送個(ge) 0就好了。
想要通道1的D/A轉換開始,就必須要降b1的值從(cong) 1變成0,怎麽(me) 實現呢,先傳(chuan) 送個(ge) 1給b1,再傳(chuan) 送個(ge) 0就好了。
想要通D/A轉換的低8位數據保持,就必須要降b2的值從(cong) 1變成0,怎麽(me) 實現呢,先傳(chuan) 送個(ge) 1給b2,再傳(chuan) 送個(ge) 0就好了。
已說明書(shu) 例子來講解下如何實現的:
DA模塊PLC程序
a:數字數據D100擴展到輔助繼電器(M100~M115),K4M100表示M100~M115,k1表示連續4個(ge) M,例如下麵的K2M100就表示M100~M107。(為(wei) 什麽(me) 要用M來表示D呢,因為(wei) 我隻轉換12位,D是16位的)
D換成M(12位數據的傳(chuan) 輸)M怎麽(me) 能存儲(chu) 數據呢,因此M是個(ge) 位軟元件,隻有斷開(0)和閉合(1),而PLC數據都是二進製處理的,比如字軟元件D是16位的,所以就能通過M來表示,一個(ge) D需要16個(ge) M來儲(chu) 存。
b:這條指令時將數據D100的低8位傳(chuan) 送到BFM的#16編號進行輸出。
c:將D100的低8位寫(xie) 到#16後,還要寫(xie) 高4位,為(wei) 了不覆蓋,得先把低8位保持,c的指令就是保持功能,H0004是16進製的數字4.轉換成二進製就是100,對應b2b1b0;c的第一條指令就是將b2置1,第二條將b2置0,這樣就完成#17的低8位保持功能了。
c指令的低8位保持功能
e:e的指令就是D/A轉換,H0002是16進製的數字2.轉換成二進製就是010,對應b2b1b0;c的第一條指令就是將b1置1,第二條將b1置0,這樣就完成#17D/A轉換功能。
DA轉換開始功能
以上就是DA模塊與(yu) PLC之間的數據轉換過程。