How can we help you today?

How to manage 16-bit UINT (range 0-65535) variables inside a SoMachine/Machine Expert - Basic application?

The 16-bit variables %MWi are described as WORD, but they always work as INT => signed 16-bit value range (-32768, +32767).
=> this means the value 45000 in a %MW is seen as -20536, and it is not possible to enter any value >32767 from the animation table.

  • For local variables, if we know they are positive values with some maximum >32767 (it’s definition of UINT) then it is necessary to use a 32-bit format %MD instead a %MW into the whole program.

  • For variables (IN/OUT) exchanged with other devices, sometimes there is no choice, the 16-bit format of the variable is defined/fixed with the third party device.

Example: The object %MWa is written into the M221 over a Modbus communication, and you need to use this value inside the M221 application, within arithmetic operations.

In that case, it is necessary to use in addition to the initial %MWa, another variable %MDb and an operation to transform the %MWa into %MDb by keeping the initial positive UINT value.
For that purpose, you have to use the following operation:
%MDb := CONCATW (%MWa, 0)              // it’s forcing the upper word being 0
Result is :

If %MWa=2000;  then %MDb=2000

If %MWa=45000 (-20536 seen n the animation table);  then %MDb=45000

Schneider Electric Canada

Explore more
Range:
Users group

Discuss this topic with experts

Visit our community and get advice from experts and peers on this topic and more
Explore more
Range:

Need help?

Need help?

Product Selector

Product Selector

Quickly and easily find the right products and accessories for your applications.

Get a Quote

Get a Quote

Start your sales inquiry online and en expert will connect with you.

Where to buy?

Where to buy?

Easily find the nearest Schneider Electric distributor in your location.

Help Center

Help Center

Find support resources for all your needs, in one place.

  • Help and Contact Center
  • Contact Sales
  • Find our Offices
  • Where to Buy
  • Careers
  • Company Profile
  • Investors
  • Newsroom
  • Report a Misconduct
  • Product Documentation
  • Product Selectors
  • Software and Firmware
  • Product Substitution and Replacement
  • Blog
  • Events
  • Schneider Electric Community
  • Sustainability
  • Legal Information
  • Privacy Policy
  • Cookie Notice
  • Terms of use
  • Change your cookie settings