我們的品牌

Impact-Company-Logo-English Black-01-177x54

歡迎造訪施耐德電機全球網站

歡迎訪問我們的網站
		
我们今天能为您提供什么帮助?
Performing a Byte Swap within a Register using TelePACE Studio

When communicating between devices from different manufacturers, there could be different conventions for how data is stored in each device. This might result in a situation where one device stores a floating point value with a byte order AB CD but if the second device stores the value with a byte order BA CD, it will result in seemingly garbage data.

For example, start with a device that has a floating point 12345.6 stored in a byte order AB CD. If another device is used to handling floating points as BA DC, then the same 4 bytes (32-bits) would now give a floating point value of -4.07227e-23

In a situation like this, a word swap would be needed so that the data is placed in the correct order to be understood in the SCADAPack.

This sample program takes a floating point value from Registers 42000-42001  in the form AB CD, swaps the Byte order to BA CD and stores the result in registers 42002-42003
Registers 41000-41006 are temporarily used as the contents of 42000 are rotated one bit at a time, before ending in 42002
Similarly, registers 41010-41016 are temporarily used as the contents of 42001 are rotated one bit at a time, before ending in 42003

Screen shot showing how the byte order has been swapped using the logic routine

As seen in the screenshot, registers 42000-42001 have now had their byte order swapped in 42002-42003, going from a value of 449A 51EC to 9A44 EC51

施耐德電機Taiwan

探索更多
系列:
探索更多
系列:
  • 產品文檔
  • 軟體下載
  • 產品選型工具
  • 產品替代和替換
  • 幫助和聯絡中心
  • 尋找我們的辦公室
  • 取得報價
  • 施耐德電機社群
  • 人才招募
  • 公司簡介
  • 舉報不當行為
  • 無障礙
  • 新聞中心
  • 投資者
  • 專業洞察
  • 台灣施耐德電機學院
  • 綠色影響力落差調查
  • Schneider Go Green 2025
  • 隱私政策
  • Cookie通告
  • 使用條款
  • Change your cookie settings