Search the Community

Showing results for tags 'string manipulation'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 36 results

  1. REAL or DINT to ASCII

    Hi, Is it possible to convert a number (a REAL or DINT in my case) to an ASCII string equivalent in CX-Programmer (I'm using a CP1H) ? For example : REAL = -12.3456 -> String (starting from W0 for instance) = [2D 31][32 2E][33 34][35 36]                                                                                                  [- 1]     [2 .]      [3 4]    [5 6]                                                                                                   [W0]    [W1]    [W2]    [W3] For a DINT, the process would be the same but there would never be any decimal point (but there could be a minus sign AKA 0x2D in ASCII). This operation is trivial in Sysmac Studio, but seems quite tedious in CX-Programmer.
  2. I am playing with sending ASCII string commands back and forth between my CP1H and another device. I learned first how to do it using ladder and now that I'm getting into more advanced stuff (parsing, searching for certain chars, converting to INT, ect) I want to do it in Structured Text because the ladder for this gets hard to follow. My very first experiment (count string length) throws an error at me: It apparent takes exception that I've use the "STRING" data type   But it this works just fine in ladder:   So am I really not allowed to use STRING data type in ST on CP1H or am I doing something wrong?
  3. View File Crimson 3.0 Simple String Validation Pattern Matcher I developed this for work and thought I would share. It can be used for input validation and we needed it to enable validation of scanner gun input through the USB port. I also use it for serial input validation. Usage is: pattern.isMatch(input string, input pattern) which will return 1 if match, 0 if not a match I have also included toUpperCase and toLowerCase functions for strings. To use in your project, simply copy the pattern program folder to your project. This can be auto-migrated to crimson 3.1. Pattern string syntax is described in the comments or by clicking the guide button. Worth using this testbed to debug your pattern strings before using in a production environment. The controls and bits on the right side of the test page allow you to tab through your pattern and the string and see what matches each char. You can see a mockup of a real world batch-entry view on the "Demo" page and edit the input fields to try to defeat the validation. If you end up using it, toss a thanks my way if you can. If you find any bugs, please let me know. Built with Crimson 3.0 v707.000, tested in built-in emulator and used on Graphite G07s with both Crimson 3.0 and 3.1 runtimes. Submitter marv_tech Submitted 04/10/22 Category HMI Sample Code
  4. serial input string

    Hi  I'm quite new to plc but very new to mitsubishi.   I have an input string eg G+002.7 which represents a weight. I wish to take in the input string then move/convert to int omitting first char,   On other plc's i have been able to use a modifier like d200[2] then the no of chars. How do i achieve this in gx works3   Any feedback gratefully recieved   Paul  
  5. Version 1.0.0

    16 downloads

    I developed this for work and thought I would share. It can be used for input validation and we needed it to enable validation of scanner gun input through the USB port. I also use it for serial input validation. Usage is: pattern.isMatch(input string, input pattern) which will return 1 if match, 0 if not a match I have also included toUpperCase and toLowerCase functions for strings. To use in your project, simply copy the pattern program folder to your project. This can be auto-migrated to crimson 3.1. Pattern string syntax is described in the comments or by clicking the guide button. Worth using this testbed to debug your pattern strings before using in a production environment. The controls and bits on the right side of the test page allow you to tab through your pattern and the string and see what matches each char. You can see a mockup of a real world batch-entry view on the "Demo" page and edit the input fields to try to defeat the validation. If you end up using it, toss a thanks my way if you can. If you find any bugs, please let me know. Built with Crimson 3.0 v707.000, tested in built-in emulator and used on Graphite G07s with both Crimson 3.0 and 3.1 runtimes.
  6. Hi, I need help finding the length of a string.  I am using an In-sight 9000 series camera with a compact logix 5380 and communicating over ethernet. Unfortunately, the string length is not provided in the AOP, and the barcode length will constantly change. I told to use the FSC instruction, but I cannot get it to work. Thanks 
  7. Extracting Digits of a Number

    Hello programmers, maybe sameone can  help me, i have a number  for example 458 how to extract this number to  digits ? 4 5 8  in Twincat or codesys?   tx!    
  8. Sorry new to working with PLC's,  I am trying to write text to a ST file on an RSLOGIX 500 machine, its for a LED display, I am just trying to update the screen to new texts, it all works I am just having trouble inputting the text properly into the string file. I would like to read about it if anyone can point me to a good document or manual that can explain what characters to use?  I see many posts about using VBA using Excel work on RSLOGIX 500? But would like to know how to do it manually first.  Thank you
  9. Hi all, I am a new user of VB.net on NA Omron HMI, and I need your help to solve a problem. In my case, I have to get a HMI global variable value in VB.net, but the VariableName is in an other variable (string). For example: Var1=4 Var2=6 VarName="Var1" I worked with a "SetVariable" function to modify the value of different variables, but right now I need to read the actual value, in the example values 4 and 6.  Do you have any suggestion?
  10. StartApp Intouch Wonderware

    Dears,  I would appreciate your help on the below matter.  I am trying to send email using intouch scada.  I am using the following command: StartApp "powershell.exe " + par0 + par1 + par2 + par3 + par4 + par5 + par6 + par7 + par8 + par9; par0 --> is the powershell script path par1 --> is the email par2 to par9 are some parameters i would like to send. I checked the power shell script and its working just fine, but when i run the script through intouch it seems that executes a part of the string.  For example: par0 = "PATH_ON_MY_PC/powershell.ps"; par1 = "test@test.com" par2 = " -par1 12"; par3 = " -par2 10"; par4 = " -par3 test"; ... par9 = " -par9 9";   I am only getting first parameter and if i change to this: StartApp "powershell.exe " + par0 + par1 + par3 + par2 + par4 + par5 + par6 + par7 + par8 + par9; I will only get third parameter.  How can I overcome this limitation?
  11. Have been able to exchange data types of BOOL, INT,  DINT & REAL between Omron NJ/NX CPU with Allen Bradley Logix CPU's with Ethernet/IP using the CIPUCMMRead & CIPUCMMWrite instructions. I now have a need to exchange "STRING" variable types. Have tried varions string lengths in the NJ without sucsess. AB default string length is 82 & Omron 256 but I think the difference is the length headder that AB has with within their String Tag type. I know I could convert my strings to an array of bytes & sent them this way, but was looking for a solution to sent them as native strings. Hope someone out there has done this & can share their leg work? 
  12. I have a function that reads ASCII code from a transducer, converts the code into characters and places the characters from the serial buffer into a string. Now, I am trying to convert the value in the string into a 64-bit float number. Any ideas on how to do that on the CCW? 
  13. Hi, As part of developing an EtherNet/IP driver for the CLX family, I have the task of recognising tags that would ordinarily be represented as strings. With SLC/ML, that wasn't too difficult since strings were a pre-defined type found in files with a file type of 0x8d. With CLX, I understand that the situation is quite different, since a string now becomes just another structured tag like so many others. So, for instance, in my controller, and with the help of information gleaned from the LogixTagRead program, I can see that a request sent for one particular tag (which I happen to know is a string) returns me the following information: Tag type: A0 02, followed by, Structure handle: CE 0F, followed by, Length (DINT): 1A 00 00 00, followed by, Data (Series of SINT): 41 42 43 and so on through to 58 59 5A Now in one sense I am fairly clear how to interpret most of the above data -- but in another sense, I don't believe (unless I'm missing something) that it can ever tell me that this tag should be INTERPRETED as a string. What do I mean by that ? Well, the tag type of A0 02 simply says that this tag is a structure (because the top bit is set). Even if we were to unset the top bit, the value becomes 20 02 and I'm not sure if that has significance in itself. I'm not sure if the structure handle (aka template id) of CE 0F tells me anything other than the fact that this is a symbol type of CE 8F. I know that this field can be looked up and will tell me that this structure comprises a C4 (DINT) followed by data comprising a series of C2 (SINTs) where the number of SINTs is given by the value of the DINT preceding. And, of course, this makes sense in that the DINT value of 1A 00 00 00 is decimal 26, followed by 41 42 43 ... 58 59 5A which is a 26-character string ABCDEFGHIJKLMNOPQRSTUVWXYZ. This is all correct. So whilst this LOOKS like a string, how can my code be sure that it is actually to be INTERPRETED as a string ? At the end of the day, it is only a DINT followed by a series of SINT; this doesn't of itself mean it is a string. Is there anything in the tag type or structure handle which actually identifies this as a string-type tag ? Thanks.  
  14. Working with Strings

    Hi so i am learning to work with mitsubishi GX Works2 i am using the simulator, and the help anyway i was testing with strings and when i convert a unsigned word or dword to string it converts it as HEX values and also fill the whole thing with 0's can anyone help me or point me in the right direction with a manual, i do know my way around on AB and siemens but its harder to find help for mitsubishi, on the help for WORD_TO_STR, it says it should be converting to decimal but it isnt, is this a weird bug with the simulator?    
  15. Hi guys, Is it possible to convert integers to/from strings in scripts in GT Designer3? I don't want to perform the conversion in the PLC. Thanks,
  16. i have a third party OPC server transmitting data to 1756-L73-A17 to controller derived tags that i have created in the PLC. all of these tags are working great and retriveving the raw data from the OPC. i have one tag Titled CNA_Last_Measurement_Date_Time, this raw data transmits in the form as the raw data of 43865.7090393519, but i need it to be displayed as 02/10/2020 07:05:39. i have researched all over to find a way to do this either in the PLC or on the HMI and have not found a way to convert the Datevalue numer to a date time format.  this tag changes/updates based on the last CNA measurement that was taken. does any one have a way to accomplish this via the PLC or The HMI?
  17. I am working on  calculating a checksum value for a command that is to be sent from an Allen-Bradley CompactLogix PLC to a Mass flow controller. An example of a command is the following: "@@@022SX!20.00;CHECKSUM".  1. The checksum is the sum of every characters' ASCII code value (starting from character 3).  2.Then this sum (which would be in decimal format) has to be converted to HexaDecimal 3. Finally, the last two characters of the result have to be extracted and that would be the value of the checksum.  (For Ex: the value of every individual characters' ASCII code (starting from point 3) of the above command is 715. in HexaDecimal, 715 = 2CB. So , the value of the checksum for this command would be 2CB) I got to the point where i found the sum of ASCII code. Any idea on how to convert that to  a HexaDecimal and then convert that HexaDecimal to a string so that I could concatenate it to the command string??   
  18. Good day, how can I send string data by buil-in ethernet. Maybe word 'TRIGGER,?
  19. Hello All,                 I am in the process of installing a DPM Scanner to one of our machines.  I am trying to program an ASCII String Compare to compare the scanned part number, stored in a string as ST14:0, to a constant value stored in ST15:13.  I have used this tactic before in other applications and it has worked fine every time, except this time.  Am I doing something wrong?  Is there a setting I am not aware of?  Please see the attached image.  Thanks in advance!    
  20. Barcode string parsing

    Hi all, long time reader first time poster. I am an AB programmer through and through. Recently working on more and more omron gear and need a bit of a steer in the right direction. I have a sick barcode reader communicating to a omron CP1LE PLC over serial. Problem is the value from the barcode reader is not value, it is sometimes multiple values separated by commas (,). I really wish to only have the first value before the comma in this long string stored in D200.  I take it i'll have to move this string into individual container registries which i can easily go from there and pick which one I want to use. But how do I initially go about parsing the string in CX programmer? Attached is a screenshot of what I have so far> Cheers Dave
  21. Hello everyone! Is there possibility to read words e.g. Name of alarm from the csv file or another file and save it in the PLC memory for further processing? It would be the best if the solution will matches to FX5 and IQ-R/F but it can be also for any of them. Thanks for help :)
  22. 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  
  23. Hello All, I am using Wonderware InTouch 10.0 on Windows 7. It's slightly outdated, but its what we have. I am currently writing a script using the StartApp command to open a particular PDF file with the touch of a button. My script looks like StartApp("C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32 C:\1.pdf"); The first part of the command runs adobe and the second part of the command opens the particular file "1". What I need to figure out is, how do I insert a variable into a string. For example I have 55 files I may potentially need to open up, all named 1-55. So I need the file I am calling to be a variable inside of the string so I can call it inside of a loop. I do not want to copy and paste this code 55 times, I want to make the file name a variable (tagname that is a memory real between 1 and 55) so I can run it in a loop. I have only been using Wonderware for a month or so now, so If anything is confusing feel free to ask. Thanks!
  24. Hi, I am trying to enter a new line in a string. For example " Line 1                           Line 2"   Can this be done in rslogix 500 ?   Thanks
  25. CP1E RS232 Setup

    Hi everyone, I am fairly new here, I have a CP1E-N40DR-A And i need to send a string of data to a printer over rs232 from the built in port on the PLC, I have had a look online and canot find any information on what I need to do. all the tutorials are for CJ2 cpus ect and the instructions that I would normally use on a CJ2 dont work on CP1E PLC's. Any help or light shed would be great,  Thanks in advance