frk Posted April 13, 2012 Report Share Posted April 13, 2012 Dear All, has anybody experience how to get the result of 32bits operation in the LCD? This help I have found but thedecsription of the store operation as a possibility how to get the long data on display of the Jazz I did not understand. see the attached help. I will do some experiments but if anybody has solved this problem please give me advice... Link to comment Share on other sites More sharing options...
Walkerok Posted April 14, 2012 Report Share Posted April 14, 2012 I have asked this question a long time ago and the answer was that you can not put 32 bit values on the LCD. The Jazz only allows math manipulation in the ladder by use of the SB long integer bit, but it does not allow you toput the two integers it stores into intelligently on a screen. Sorry Keith Link to comment Share on other sites More sharing options...
MVP 2023 Joe Tauser Posted April 14, 2012 MVP 2023 Report Share Posted April 14, 2012 You can break the 32 bit value down to two intelligible 16 bit values by doing a long divide of the 32 by 10,000. The high four digits will be in the low word of the result, and the low four digits will be in SI 4 (divide remainder). In the next network move these to values to two buffer registers and then display theses buffer values right next to each other with leading zeros enabled on the low value. I don't have a Jazz here to test this. Try it out and let us know if it works. Joe T. Link to comment Share on other sites More sharing options...
Emil Posted April 15, 2012 Report Share Posted April 15, 2012 I'm surprised why this topic seems so complicated - even for Joe Touser! There is standard solution: one needs to RESETSB82 and then to store "Long" register (as bitmap) to another "Long" register (two sequental MI). The result will be in decimal format, where the first 4 low significant numbers will be stored in the first MI and the rest - in the second. Please take a look in the standard example (U90Ladder > Help menu > Sample U90 Projects... > Basic Ladder operation > Long Integer... There this way is shown - both in Ladder and in HMI. If something still reminds unclear, please let me know and I'll write a special demo for you! Link to comment Share on other sites More sharing options...
frk Posted April 15, 2012 Author Report Share Posted April 15, 2012 Now it is clear. The point was that it is not just separating bitmap to bitmap but it is convertor bitmap to decimal (BCD convertor) so u get in every nibble of the MI a decimal number. I used this method many times in embedded uP in the past for LED displays... As simple as possible :-) Just was not clear in the help file - let say different programmers terminology. (I understood after you use the sentence "The result will be in decimal format...") Thank you very much all of you. I'm surprised why this topic seems so complicated - even for Joe Touser! There is standard solution: one needs to RESETSB82 and then to store "Long" register (as bitmap) to another "Long" register (two sequental MI). The result will be in decimal format, where the first 4 low significant numbers will be stored in the first MI and the rest - in the second. Please take a look in the standard example (U90Ladder > Help menu > Sample U90 Projects... > Basic Ladder operation > Long Integer... There this way is shown - both in Ladder and in HMI. If something still reminds unclear, please let me know and I'll write a special demo for you! Link to comment Share on other sites More sharing options...
MVP 2023 Joe Tauser Posted April 16, 2012 MVP 2023 Report Share Posted April 16, 2012 I'm surprised why this topic seems so complicated - even for Joe Touser!There is standard solution: one needs to RESETSB82 and then to store "Long" register (as bitmap) to another "Long" register (two sequental MI). You guys and your system bits! I've said it before and I'll say it again- we need "system operators" webinars on both Visilogic and U90 help unlock more of the Unitronics magic. I still think my way is cool. Joe T. Link to comment Share on other sites More sharing options...
frk Posted April 16, 2012 Author Report Share Posted April 16, 2012 May be I am rather punctual but the set SB82 and reset SB82 in One NET is correct? You have this as a example so I suppose that it works. But I am talking about it generally because some oposite operations are not allowed in one net....And I have already a problem in another program with the setting and reseting bits in one net and then I read in your help that it is not good idea to do it this way... Link to comment Share on other sites More sharing options...
frk Posted April 16, 2012 Author Report Share Posted April 16, 2012 I have programmed it and tested so my program work and display 32 bits on LCD well. I have tried go over the 32767 nad other limit conditions. Just consider if there is any limit conditions that are not fullfilled regarding the process in one net and that it is all. May be I am rather punctual but the set SB82 and reset SB82 in One NET is correct? You have this as a example so I suppose that it works. But I am talking about it generally because some oposite operations are not allowed in one net....And I have already a problem in another program with the setting and reseting bits in one net and then I read in your help that it is not good idea to do it this way... Link to comment Share on other sites More sharing options...
Emil Posted April 16, 2012 Report Share Posted April 16, 2012 Please don't thhink about SET and REST of SB82 as ordinary bit operations. In fact, this is the "switch" to activate the function as "Long" after the bit. That's why, in this specific case, SET and RESET of the same bit (SB82) is fully legal. Even more - in some case you can make twice SET of SB82 in the same net - without RESET at all. It looks quite not logical, but - again - SET and RESET of SB82 in fact is a way to give the controller command to execute the function. In any case SB82 remains at "0". I agree this way of handle special functions is not the most intuitive! But the way U90Ladder is written (the first fully Windows based PLC programming software in the world!!!) doesn't let adding more ladder modules, like in VisiLogic. When you convert bitmap to decimal format, the LSB first 4 digits are going to the first MI (range up to 9999) and the second part - MSB to the second MI. There the value is up to 32767. This means, that the bigest number you can get in display with this function is 327,679,999. Please note - this number is sensitivelly lower than the max number the controller can hold as bitmap (+/- 2^31). Link to comment Share on other sites More sharing options...
t0r3r0s Posted March 22, 2020 Report Share Posted March 22, 2020 Greeatings , I have one problem with u90 leader , I need to mul two number and result is bigger than 32k. After mul this number i need to div , and that is problem i cant get right result. Expmple : MI0 = 1000 MI2= 53 MI4=53000 that is ok , How can i divide MI4 now whit some number example 100 ??? Can someone help me ? Link to comment Share on other sites More sharing options...
MVP 2023 Flex727 Posted March 22, 2020 MVP 2023 Report Share Posted March 22, 2020 I don't understand. You say you know how to multiply but don't know how to divide??? Or is it you're just getting the wrong result? If you're getting the wrong result it's because you cannot store 53000 in a 16-bit signed integer format. Try doing the divide before the multiply. If that's not possible, read the Help entry under "32-bit long values". Link to comment Share on other sites More sharing options...
DanT Posted March 23, 2020 Report Share Posted March 23, 2020 Hi; In Help -Samples - Basic Ladder functions, there is a Sample program for using LONG INTS Shows Multiply, Divide and how to display. In Help, Search > Long DanT Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now