回覆列表
  • 1 # 控制研究控

    不知道你用的哪個版本的codesys軟體,其實在codesys軟體中想要把位元組中的一個位取出來是很簡單!

    先看一下我的程式吧,對了我這個軟體的版本是codesys 2.3.9。

    從這個圖片上可以看到我建立了一個變數A,它是一個BYTE型別的變數,B,C,D是3個bool型的位變數!

    從程式中可以看到,A.0的值為真,因此B也為真,A.7的值為真,因此D的值也為真!而A.5的值為假,所C的值為假!

    也就是是A.7---A.0這8個位組成了A這樣的一個位元組變數,且目前第八位和第1位均為真,因此A的位元組就是2#1000 0001,也就是十進位制的129!

    因此回到你的問題codesys軟體中如何提取位元組中的一個位,就是這麼簡單,直接用.0,.1,.2,--.7這樣去表示即表示當前的位!

  • 2 # Silence46400710

    首先請牢記以下三種位元組操作:

    ①讀取位元組中的位,將目標位跟1進行與操作,

    ②向位元組中的位寫1,將目標位跟1進行或操作,

    將該位元組變數命名為testByte,需要取第n位,

    c語言中用以下表達式

    testByte & (1<<n),

    codesys處理思路一樣,只是運算子略有不同

  • 中秋節和大豐收的關聯?
  • 孩子重金打賞主播,錢款能追回嗎?