Search the Community

Showing results for tags 'ascii string'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 73 results

  1. Hi All, I'm looking to setup communications between a digital force gauge and an Omron NX-CIF1010 RS232 serial communication interface.  Here is the Output Protocol from the Force Gauges Manual: Output Protocol RS-232 Parameter - Baudrate: 9600 - Data-Bit: 8 - Parity: none - Stop-bit: 1 The measured value is requested by the PC by the ASCII Sign “9”. I've tried to follow the youtube video, "How to communicate via RS 232 using an NX CIF to a PC" however setting up communication between the force gauge instead of a PC is proving difficult. How to communicate via RS 232 using an NX CIF to a PC - YouTube This is quite new to me so I'm trying to get my head around it at the moment so please correct me if I'm wrong. I'm reading values from the Force gauge in ASCII and I need to convert those values into another numerical value data type. I've seen in CX-Programmer, ASCII values being converted into Floating Point values using the "FVAL" instruction using Data registers however I can't use the same approach in Sysmac Studio. Do I need to clear the serial buffer everytime before I look to receive a numerical value from the force gauge? Here are details regarding the screenshots I've included below: 1) CIF101 Parameters to read Force Gauge Output Protcol in Sysmac Studio which should be matching the force gauges output protocol. 2) CIF101 IO Map in Sysmac Studio - ** I'm unsure if this is where I need to be linking the "RcvDat" input of the "NX_SerialRcv" function block? 3) CIF101 Sending Data Function Block - "NX_SerialBufClear" function block setup - "port_id" data type has been changed to "_sDevice_Port". 4) CIF101 Receiving Data Function Block - "NX_SerialRcv" function block setup 5) Global Variable - Array [0..3] OF BYTE - used in "RcvDat" input of "NX_SerialRcv" function block  6) Internal Variables Created  to send and receive data 7) Force Gauge RS232 Configuration 8) Force Gauge Output Protocol   Any help would be greatly appreciated. Paul  
  2. 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
  3. Hi all,I'm completely new to ASCII and trying to figure out where I'm going wrong here.Application: I need to send 2d barcode data to a KGK Jet model CCS3000L Inkjet printer. Only protocol possibility is ASCII. PLC I have is a Micro850, and the only port option for ASCII is the serial port. I modified one end of a 2707-NC11 cable to connect PLC TxD to printer RxD, PLC RxD to Printer TxD, and PLC SG to Printer SG. I jumpered CTS and RTS at the printer connector, and the 2707 cable I'm using doesn't have wires on the Micro850 CTS or RTS pins.Printer company verified that I can just jumper RTS and CTS on their side and not connect their DTR and DSR pins (since I'm not using hardware handshaking). I don't really need any flow control for the application ( I don't think...again, ASCII noob here).Do the CTS and RTS on the PLC side need to be jumpered? Does the DCD pin need to be jumpered or connected to something if I'm not using handshaking?I downloaded the Micro800 ASCII read and write functions and function blocks from Rockwell library, and they seem to be working, except that I keep getting ABL error id "7". This error states, "Cannot complete ASCII send or receive because channel configuration has been shut down using the channel configuration dialog box." I have the serial port enabled and configured to ASCII, no handshaking, baud 9600 same as printer, no parity check, 1 stop bit, character length of 8.Any help in pointing out what I'm doing wrong or things to try would be greatly appreciated!   ASCII_TEST.ccwsln
  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

    15 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. Hi guys I have an control logix plc im looking for a module which is the same as 1769-ascii module. I know that module is for compact logix. Unfortunately i didnt find a good one for that purpose.  Anybody can help with that ? Thanks ahead.         
  9. 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
  10. 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?
  11. 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?
  12. Hello people! I'm using a NX1P2 controller combined with a CIF105 serial card installed on it. For my project, I get some data that are in ASCII form and I want to keep that form when are extracted in a .csv file. I have established the communication for getting the data but, the problem is that I cannot extract the data in the ASCII form. Data extraction comes in Hex form. I use the NX_SerialRcv instruction for the communication and the AryToString conversion for the data. When using the Watch Tab Page I can display the data in ASCII form but, as far as I understand, this is only for online monitoring. I went through topics here and OMRON manuals for finding any Hex to ASCII conversion instruction but the only info I came across was for CX controllers which cannot be implemented to NX controller. Is there any similar instruction for NX controller or I should create a new Library for the conversion? Any tips and/or a sample would be highly appreciated! Thanks! Man31    
  13. Now I working on omron CP1H PLC, i'm receiving ASCII number from another PLC which is something like this  "#3031 #3030 #3030 #3030" which mean 01000000. How to convert the ascii number to real number or bcd without separate them? I know how to convert them which is using HEX but its turn out the number will separate into this 0100  and 0000.
  14. 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? 
  15. I am working on project where I need to program delta PLC to receive ASCII code from scanner. I anyone know how to program it helpls me alot.
  16. Hello all, I am working on a project where I am communicating with a Mensor CPT6100 pressure transducer using a Micro-850 PLC. For this, I have used an AWA instruction to write some ASCII characters to the sensor. The sensor then responds to the write instruction by sending ASCII characters to the RX buffer and I used ACB and ARD instructions to read the ASCII characters. Now, I have set the ACB trigger type to 0 (msg triggered only once) and it successfully reads from the sensor. However, when I set the ACB trigger type to 1 (msg triggered multiple times), I do not get any reading in the ARD block. As a matter of fact, the ACB Q bit switches off every time the program is executed when the trigger type is set to 1. I am trying to get continuous readings from the sensor, but when the trigger type is set to 0, the program latches on to the first and only reading and it won't change. My question is, how can I change my program so that it can continuously and autonomously read from the sensor without me having to manually trigger the AWA and ACB instructions every time. I am attaching the program to this thread for your reference.  ASCII_Test_Copy.ccwarc
  17. Hi guys, so i'm trying to send data to plc omron cp2e-n40dra via RS232C, I use RXD and TXD but it looks like my programs are wrong, the indicator of RS232C are on everytime i send the data so it looks like PLC receive my data but when i see it in memory PLC D i can't find any data stored. Can anyone help me please? I attach my Gdrive for pictures since i can't upload pictures in here *The data that i sent is in ASCII https://drive.google.com/drive/folders/1GPXa1U1PLMU2WKmo4YRPe32wHHyVCGUv?usp=sharing
  18. I have been working on a PLC project that requires sending ASCII commands/queries to an external pressure transducer using the Micro 850 PLC (2080-SERIALISOL module) via serial port communication (ASCII protocol) and in response the PLC would read pressure readings from the transducer. I was able to write a ladder logic program that reads ASCII code from the transducer and converts it into string and inversely converts string output from the computer to ASCII and sends it to the transducer. However, I am uncertain as to how I should send the command string from my computer so that the external transducer receives it, recognizes it after the <cr><lf> is encountered and sends a pressure reading. Any suggestions as to how I can type in commands from my computer and receive responses from the transducer?
  19. 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? 
  20. String to Hex

    i want to convert my ascii string to hex value. I used HEX function but result is not what i expected. My string: 'BD1' > expected converted result is 0BD1H .. however it return me 01DBH ... Value from Device Memory Batch Monitor: D40: 4442   ('DB') D41: 0031 ('1');   May i know how to convert string D40 to Hex? thank you for viewing.  
  21. 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.  
  22. 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?    
  23. 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,
  24. 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?
  25. Hello, I am trying to receive data from a scale via rs232. my setup; compact logix l18er with a 1734-rs232ascii point IO module to receive the data. I am receiving data from the scale, but I have very little understanding of ascii, so I do not know how to convert the data I am receiving to something use-able. any help on how to convert the data to something I can use or where to even start would be much appreciated. using a scientech ZSA 210 scale https://scientech-inc.com/media/downloadable/files/links/1/2/12222-d_rev-f_instruction_manual.pdf