373932332
級別: 探索解密
精華主題: 0
發(fā)帖數量: 25 個
工控威望: 151 點
下載積分: 666 分
在線時間: 10(小時)
注冊時間: 2016-07-17
最后登錄: 2023-03-02
查看373932332的 主題 / 回貼
樓主  發(fā)表于: 2018-01-12 15:23
圖片:
現在用的fx5uPLC,把讀卡器里的數據讀到D寄存器里,但是數據太大,一個放不了,怎么存放
讀取的時候是連著用的四個寄存器ADPRW指令,數據存放到了D100,d101,d102,d103四個里面,
是16位的,但是數值超過D寄存器的最大值,不知道怎么存儲才能不帶符號,
后面連接的組態(tài)王讀取數據,然后存儲到數據庫里,但是組態(tài)王里不知道怎么識別符號,純數字沒問題,所以就想把PLC里的這個數值變成不帶符號的,
然后就想到,這個符號是因為數值太大溢出所以出現了-號,所以就想D數據寄存器足夠大就行了,然后DMOV指令,但是這個指令是把d10,d11兩個寄存器送到兩個寄存器,有沒有把一個D寄存器送到兩個寄存器里面的指令,跪求!大神
梯形圖如下
恒頭
373932332
級別: 探索解密
精華主題: 0
發(fā)帖數量: 25 個
工控威望: 151 點
下載積分: 666 分
在線時間: 10(小時)
注冊時間: 2016-07-17
最后登錄: 2023-03-02
查看373932332的 主題 / 回貼
1樓  發(fā)表于: 2018-01-14 10:42
圖片:
引用
引用第1樓fcq417于2018-01-12 17:18發(fā)表的  :
"有沒有把一個D寄存器送到兩個寄存器里面的指令",-----高低字節(jié)單獨處理,然后處理掉不需要的部分,再傳送即可.

plc編程學習可以訪問書研自動化網站 www.shuyanzdh.com
plc學習咨詢QQ:2252241236

感謝感謝,感謝大神


測試梯形圖如下
恒頭
373932332
級別: 探索解密
精華主題: 0
發(fā)帖數量: 25 個
工控威望: 151 點
下載積分: 666 分
在線時間: 10(小時)
注冊時間: 2016-07-17
最后登錄: 2023-03-02
查看373932332的 主題 / 回貼
2樓  發(fā)表于: 2018-01-14 14:04
有符號16位數,數值范圍 -32768~32767 整數。
無符號16位數,數值范圍 0~65535 整數。
32位浮點數,數值范圍 3.4E-38~3.4E+38 實數。

16位二進制數的范圍如下:
0000 0000 0000 0000 ~ 1111 1111 1111 1111
二進制數,不是任何人都懂的.
所以,通常都要換算成,小孩都能明白的十進制.
就是 0~65535.
------------------
把最高位看做+、-號,其余十五位的范圍,就是0~32767.
0111 1111 1111 1111=32767
那么,16位二進制表示的有符號整數,就是-32768~+32767.
恒頭
373932332
級別: 探索解密
精華主題: 0
發(fā)帖數量: 25 個
工控威望: 151 點
下載積分: 666 分
在線時間: 10(小時)
注冊時間: 2016-07-17
最后登錄: 2023-03-02
查看373932332的 主題 / 回貼
3樓  發(fā)表于: 2018-01-14 14:14
1111 1111 1111 1111=65535

FX5U中的指令有  有符號16位數    轉成  無符號16位數    指令int2uint
                                 有符號32位數   轉成   無符號32位數   指令Dint2udint
                                無符號16位數    轉成   有符號32位數   指令uint2int
                               ..........(能想到的都有)

在手冊IQ-F fx5編程手冊(指令/通用FUN/FB篇)
3cpu模塊用指令》7基本指令》7.5數據轉換指令


問題終于解決了,看了網上的許多資料,感謝各位前輩,學到了很多,開心
恒頭