Search the Community

Showing results for tags 'compare word to integer'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 31 results

  1. Hi All, I am Data Transferring Arrays of WORD's from a HMI to NX PLC. This Transfer may be a variety of data types, Likely just UINT and STRING[20]. It will be Imported to NX as an Array of Word What im trying to do is Populate my Structure from this Array of Word. I can do this by mapping them individually just fine. But i was hoping i could add them automatically. Much like when you assign EthernetIP tags and can link them to a structure and User Offset the Bytes. But i cant seem to Link the Array of Word to the Structure e.g. SENSORS_STORED:=DATA_2_IN; Says its impossible Anyone have any ideas how i could Populate this structure from a WORD Array without manually mapping and Converting Each? SENSORS_STORED.Fixture_ID:=WORD_TO_UINT(DATA_2_IN[0]); For Example is a workable way but is long winded and was hoping there is a easier way Thanks in Advance Dann  
  2. Dword to Float on FX3GE

    Hello! I have a float number (HEX: 3CA01D0F) in Big Endian. It's 0.0195451062. I get it from the sensor and store it in a double word variable. Could you help me? How can I convert DWord to Float? If i use DFLT instruction, It treats DWord as an integer (1017126159) and just gives me 1.017126 e+009 Thanks in advance.
  3. Hi:         How to use data type Word to perform math function without converting to Int or Uint ?  -----> Error    26    The '+' operator is not supported by WORD data type.     thanks    
  4. Union

    Hello! I am trying to get hold of the bits in a word, i have read that union is the way to go. My problem is that i cant figure out how union works. I have made a union between a word (16bit) and an array(0...15). The way I understood this was that the word now automaticly updates the array so that when the least significant bit in the word should update array[00] and so on. This is not happening. When I monitor the variables I can see the word change, but nothing happens with the array. Have I misunderstood the consept and what should I do to get hold of the bits?
  5. Hello, I'm new to CX-Programming and I could really use your help. I want to make function block that will check the bit status from a word input variable. I made input variable and internal variable array of bool(32) and I thought I can just use the code example: array[1]:=word.1 etc... but it is not allowed in CX-programmer. My goal is rearranging  the bits status from the input word to the output word. I don't need just making the 0 to 1 or otherwise... Thank you in advance.
  6. Hello, I'm using RSLogix 500 application for LAD programming. I would like to convert the float data type to integer data type and vice versa. I tried with the COP instruction as some had mentioned in other forums, but it was not working. So any suggestions on solving that issue would be helpful.
  7. Hello, CJ2M CPU-32 to IAI motion controller through ethernet/ip I'm working on programming electric actuators to pick up parts from a tray. I will have x (row) and y (column) coordinates that I need to update to move the actuators. So to go through the whole tray I would have to use nested loops. (below what i'm trying to achieve if i was doing it in C++)                                           6 Rows and 6 Columns, palettizing                                           data rows&columns DWORD (Row1,row2,row3...row6; col1,col2...col6)                                           c++ code                                           for i=0,i++,i<6;                                               rowData = row                                               for i=0,i++,i<6;                                                   colData = col                                                   execute movement                                                   wait for confirmation                                               end                                           end I have a way of doing it but it will require a lot of repetitive lines and typing every step, and I was wondering if there is a way on every iteration to increment the data location instead of the contents. In the picture below you can see the example where the goal is to copy data from D8100 to D8000, then in next step from D8102 to D8000, then from D8104 to D8000 and so on. So far in the documentation I was only able to find how to increment contents. Is it even possible to do what I want to?
  8. Hi,   I'm pretty new to allen Bradley and wanted to know if there was a function that could help me out. I have a rotation sensor which feeds back to the PLC via a digital input, once every half second or second once machine is up to speed - I want to record the off time of this DI (how long it is off between pulses, essentially how long it takes for drum to rotate once). Is there some way to record this time and use this value for compare logic? any help would be greatly appreciated.   PLC: Micrologix 1400 series B RSLogix 500 version 11.00.00 (CPR 9)
  9. real to integer number

    Hello, Could somebody give for me advice how need seperate real number to integer? for example I have in D10 real number 10,9 for me need to do integer number 10 and 9. The real number seperate to integer I am using this LADDER line, attached picture. In D90 I got 10, But how to isolate the number of decimal places,I can not think of. Please help for me
  10. Block Compare Instruction

    Is there a Block Compare Instruction like the one in Omron PLC for Mitsubishi PLC? If the Omron PLC is BCMP (68), then what is the name of the instruction on the Mitsubishi PLC? I tried to use BKCMP in the Mitsubishi PLC, but the way it works is not the same as the one in Omron PLC
  11. Greetings, so i create project for FX3U in GX Works2. In my program i use function in ST. That function return array with word(signed). I have a warning: ST FOR i_var := 0 TO n_i BY 1 DO TempNumbs := Numbs; TempDevSetsOnPerTime := DevSetsOnPerTime; QueueBySetOn[i_var] := 0; END_FOR; QueueBySetOn[1] := TempNumbs[n_i]; QueueBySetOn[3] := 1; FOR i_var := 0 TO n_i BY 1 DO IF (TempDevSetsOnPerTime[TempNumbs[i_var]] < MaxSetsOnPerTime) THEN QueueBySetOn[0] := TempNumbs[i_var]; QueueBySetOn[3] := 0; EXIT; END_IF; END_FOR; So, it realy funny, GXW cant return int? QueueBySetOn.gxw
  12. Hello Omron programmers, have a nice day to you all. I just need your help in this, i hope you have explanation.  I added a few sequence to the machine with compare instruction D2255 and D2259 as memory data. I really wonder what’s going on. D2255 a decimal value of 9, when it transferred to compared instruction it’s 9, but when D2255 become 10 or above, when it transferred to compared instruction it will become 16 or above, there is an additional of 6 to the decimal value when it more than 9. I attached the photos of it for more details. Can somebody please help me? Thank you.            
  13. Hey everyone first post on here, does anyone know if it is possible to convert a string into a double integer. i am working with a dimensioner and it is sending me its box dimensions in a 12 char string (see attached picture). however i need this data as a double integer (it seems to just take the string length not the string value i have tried both dim_lengh and dim_length.data[0]). i have gotten it down to the point where i have the string split up into the dimensions i need but i dont know how to do the conversion. (box dims for reference are 21 X 15 X 14.8) Thanks in advance, Dr. Brule  
  14. Remote IO

    Hi friends , recently i ve been doing some diggings about remote IO cards, in my factory we have a CJ2m PLC and it communicates with remote IO cards with four numbered words (2080.00 , 2080.01, 2080.02....2080.15 ) and there were several dip switches on the IO cards, which were set but i can't understand what was the basis of that settings. So I'd like to know how these dip switches behave and what are the uses of them ?? and how is it possible to have 4 numbered word bits ?? pls help me someone to clarify this, i tried internet, but cudnt help myself !!!  thank you    Here I attach one of the pictures i took of one of the remote input cards.
  15. Compare not working

    We have this logic (on a CP1E) the desired outcome is as follows: When a bad part is detected, force the operator to index the machine 6 times, using a holding register to prevent a power cycle from resetting the count. once 6 cycles are recorded output that the bad parts are removed AND reset the count to zero.   What has actually happened so far: the count has gone to 6 and not reset. I have used CX Programmer to set the H0 value to zero but the compare still says it's equal (to 6)   I have read everything i can get my hands on regarding holding registers and compare functions and i can't see what is wrong. I have no formal training on this so i'm sure it's something simple. can anyone point me in the right direction?   Thanks guys    
  16. GOT 2000 and GT Designer 3

    Hi All, I want ask, maybe only basic thing. But I don't know... Now I'm using GX designer 3 and GOT 2000. has program inside it. Now like this.. I want to know how we can compare to make sure current running program in GOT is same with my current program in my laptop.   2. How to download / Upload program GOT 2000 3.Is possible to download Only which page or screen we needed? Thanks, That's all for now..
  17. Hi everyone, I want to compare 2 programs with RS logix 5000 compare but logix opens the 2 ACD in L5K, with only tags.... thx for your help
  18. I have a problem with converting a server word. I'm trying to put the seconds in my program trough %SW50. But this is counting like this: 0000 0111 = 7 0000 1000 = 8 0000 1001 = 9 0001 0000 = 10 0001 0001 = 11 But i forgot how this is called. How do i convert this to: 0000 0111 = 7 0000 1000 = 8 0000 1001 = 9 0000 1010 = 10 0000 1011 = 11 And is this second style integer?
  19. Input number from user to Compare?

    Hello! I want to make a really simple PLC program that compare 2 number. How can I load 2 numbers from user and send to PLC compare operand? Now I go to CMP and with mouse set values. There is any "imput" component in CX Designer? Sorry my poor english :S Thank you!
  20. Hi, I have variable (named var1) with data type 'Word[Unsigned]/Bit String [16-bit]' with Array [0..7]. I want to put 16 variables with data type 'bit' in var1. Is there function for that? Also is it possible to put 16 variables (bit) like this: var1[0].0:=bit1; var1[0].1:=bit2 etc. I'm using GX Works 2 with CPU L02 Best Regards
  21. Hi, I have variable (named var1) with data type 'Word[Unsigned]/Bit String [16-bit]' with Array [0..7]. I want to put 16 variables with data type 'bit' in var1. Is there function for that? Also is it possible to put 16 variables (bit) like this: var1[0].0:=bit1; var1[0].1:=bit2 etc. I'm using GX Works 2 with CPU L02 Best Regards
  22. Hardware config doubt

    Hi guys, I received two different versions of the SW for the same machine. One is saved with the name Q100UDEH and one with Q50UDEH. I was expecting the Q100 to have insite the I/O assignment a Q100 CPU but is has still a Q50. My problem is that I tried to compare the two projects using Project verify and it gives me an error saying that the PLC's are different. Do you know where else I can look to see if the Q100 in set as a CPU besides I/O Assignment? Thank you :D
  23. Compare two projects

    Hi Guys, Is there a way to compare two SW Projects without loading one of them in the PLC? I don't have the Hardware here and I need to check the differences between two projects. Thanks :)
  24. Hi I am having trouble programming something I thought would be simple. I am using Word Lamp to display 6 different images ie. 6 states.  I have 5 Command Buttons. When pressed each one causes a different image to be loaded . What I want is the 6th image to display when the command buttons are released and before they are pressed. Unlike Bit Button which has a momentary setting , Command Button can only set a state. I wish it had a momentary feature so the state value could  be set when pressed and return to 0 when released. I hope I am being clear with what my issue is .  Any help with this would be greatly appreciated. Jim
  25. Hi, I am using syswin and i am doing an exercise on saving and moving data. My challenge is am monitoring temperature from a sensor and the range is -20'C to 100'C from the 4-20mA sensor, after conversion and testing for positive and negative the values are stored in D205. (I have done the conversion and testing for positive and negative values only assigning of bit 15 in D205 is left) The simple program has to turn on Bit 15 if the value is supposed to be negative. 1000 0000 0000 0001, a simple approach to telling us this is -1’C.  0000 0000 0000 0001, is telling us this is 1’C. Bit 15 is going to be our Sign Flag, so we have to ensure that if the temperature is positive then  Bit 15 = 0, how can we do this make Bit 15 of D205 = 0? If the temperature is negative then  Bit 15 = 1, how can we do this make Bit 15 of D205 = 1? How can i turn on this bit inside a data word? for negative i thought i could just add #8000 to the values after conversion then storing in D205 but for positive values how do i ensure that bit 15 is 0? How could you approach this? Am a bit stuck, all thoughts and ideas are much appreciated if possible you could add a snapshot from syswin or cx-programmer. I have attached the WTANK.SWP file which can be opened in syswin or cx-programmer. Look in block Main 8 Temp Buffer, Network 3 Convert to 'C WTANK.SWP