討論串[問題] short整數資料overflow解決方式
共 5 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓0(0推 0噓 2→)留言2則,0人參與, 1年前最新作者popo14777 (草草)時間1年前 (2022/07/23 18:11), 1年前編輯資訊
0
0
1
內容預覽:
我使用MX component裡面的ActUtlTypeLib類別庫,去讀寫三菱PLC的數據寄存器,. (參考網址:https://zhuanlan.zhihu.com/p/446264427). C#程式碼如下:. using ActUtlTypeLib;. public partial clas
(還有1128個字)

推噓1(1推 0噓 5→)留言6則,0人參與, 1年前最新作者sec2 (sec2)時間1年前 (2022/07/24 14:55), 編輯資訊
2
0
0
內容預覽:
short a = -1;. var b = BitConverter.GetBytes(a);. var c = BitConverter.ToUInt16(b);. c 應該就是你要的了 (=65535). --. 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.110.213.2

推噓1(1推 0噓 3→)留言4則,0人參與, 1年前最新作者sec2 (sec2)時間1年前 (2022/07/25 10:44), 1年前編輯資訊
0
0
3
內容預覽:
今天找時間翻了一下 MX Component Programming Manual. https://dl.mitsubishielectric.com/dl/fa/document/manual/plc/sh081085eng/sh081085engs.pdf. https://bit.ly/3B
(還有212個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者popo14777 (草草)時間1年前 (2022/07/26 22:04), 編輯資訊
1
0
0
內容預覽:
分享找到的答案:. PLC資料暫存器有高低位,如果存到D300,D300為低位,D301為高位. 例1:D300讀出-32767(16bit),D301讀出0(16bit),計算後為32769(32bit). 例2:D300讀出2(16bit),D301讀出1(16bit),計算後為65538(32
(還有815個字)

推噓1(1推 0噓 0→)留言1則,0人參與, 1年前最新作者sec2 (sec2)時間1年前 (2022/07/27 15:00), 1年前編輯資訊
0
0
5
內容預覽:
其實就是計數器用的暫存器大小有 4-byte. 但因為某些緣故其位址被切成 D300 和 D301 各 2-byte 沒辦法一次讀進來. 所以要把分兩次讀進來的 D300 和 D301 還原成 int. 然後下面的 Function 其實可以簡化成. return ((SourceA & 0xfff
(還有628個字)
首頁
上一頁
1
下一頁
尾頁