7/17/2019 1:49 PM | |
Posts: 114 Rating: (2) |
Dear All, I want Combine two integer Tag In to Single Integer For Example: mw20=50 mw22=30 Then I required a Output 5030 in mw24=50 |
7/18/2019 12:04 PM | |
Joined: 4/11/2012 Last visit: 9/20/2024 Posts: 181 Rating: (34) |
Do you need the output in MW24 to be 50 or 5030? Probably you mean the 5030. If the values received in inputs are known, and you can apply known rules to them, then you can do likeAutoGen_1801304 suggested. But if the integers you have as inputs can be anything, then you need to understand what the "INTEGER" actually means. The Integer is a variable with 16 bits / 2 bytes and can have any value between -32768...+32767 If you try to combine two integers who both have value of 32000, the result won't fit an integer. Or what about if you try to combine a positive and negative value? At least you need to do some sanity checks to the values you are about to combine, to see if the result is the actual successful result or if the combination attempt failed / would fail if attempted. Also consider if you can give the output as an DINT, instead of two INTs. But then you still need to figure out what you are gonna do if one is positive and the other is a negative. Since I don't really know what you want the combination for, I can't help you much. You could build a function that determines how many bits the first variable is using and then performs shift left by that amount and then performs AND operation with the result of the shift and the other variable. But you need to work around the negative value then. Edit: The "Shift Left" idea is not gonna work after all: (dec)50 = (Bin)110010. (dec)30 = (Bin) 11110. Dec(5030) = (Bin) 1001110100110, and this does not equal to (Bin)110010 + (Bin) 11110. |
Last edited by: Elonen at: 07/18/2019 12:52:12Scrapped the Shift Left idea, it's not working. |
|
7/18/2019 3:44 PM | |
Joined: 4/11/2012 Last visit: 9/20/2024 Posts: 181 Rating: (34) |
I actually made a program for concatenating two integers to a single DINT. Check the attachment. The biggest question is how to handle the negative values, I decided to output a negative value if either value was negative. Note: For some reason, the Print function moves the Network 4 the end of hte document. AttachmentConcatenate INTs.pdf (971 Downloads) |
6/11/2024 10:07 PM | |
Joined: 4/12/2023 Last visit: 7/12/2024 Posts: 2 Rating: (0) |
hi i used your logic, but i it doesnt work any comment to use your block. regards |
Follow us on