Our Brands

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

Welcome to the Schneider Electric Website

Welcome to our website.
		
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 Philippines

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:
  • Products Documentation
  • Software Downloads
  • Product Selector
  • Product Substitution and Replacement
  • Help and Contact Center
  • Find our Offices
  • Get a Quote
  • Where to buy
  • Careers
  • Company Profile
  • Report a misconduct
  • Accessibility
  • Newsroom
  • Investors
  • EcoStruxure
  • Job Search
  • Blog
  • Privacy Policy
  • Cookie Notice
  • Terms of use
  • Change your cookie settings