Search the Community

Showing results for tags 'string data type'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 139 results

  1. Emerson (GE) memory map data types

     I've always had this Allen-Bradley memory map taped on my wall in my office. It used to be handy to use, until I remembered al of the prefix letters for each data type. Now I am using Emerson (GE) the old proficy software now called PAC ME machine edition. Now I'm finding it's about impossible to find the data type list amongst the thousands of help files, videos, ect... it seems like a simple thing to find, but I'm not having any luck. They use I and Q for regular inputs & Outputs, but there are R files, M files, S files, N files, G files, ect.... this is old-school PLC software that doesn't use tag names.   Is there a steadfast rule for each type, or can they be used for any type of data? Dazed and confused...  
  2. Hi All, I need access to a the Safety function blocks within a safety CPU using sysmac studio on a machine we are upgrading.. Is there a generic password available to gain access? Best Regards, Paul  
  3. Dear reader, I am writing a C# program using the library  ‘EasyModbus’ that needs to communicate with Siemens WinCC via the connection type ‘Modicon modbus’ I have written a version using the ‘float’ data type in WinCC and that works perfectly. Here my code fragment: Method to convert ‘double’ to bytes in C#: public static byte[] DoubleToModbusFloat(double value) {     byte[] bytes = new byte[4];     float floatValue = (float)value;     int intValue = BitConverter.ToInt32(BitConverter.GetBytes(floatValue), 0);     bytes[0] = (byte)(intValue >> 24);     bytes[1] = (byte)(intValue >> 16);     bytes[2] = (byte)(intValue >> 8);     bytes[3] = (byte)intValue;     return bytes; } Call of the method and loading of the modbus registers in EasyModbus: Bytes = PublicCode.DoubleToModbusFloat(TmpDbl); int n = (int)ModbusStartAddress + ((i - 1) * 2); mb.ModServer.holdingRegisters[n + 1] = (short)((Bytes[0] << 8) + Bytes[1]); mb.ModServer.holdingRegisters[n + 2] = (short)((Bytes[2] << 8) + Bytes[3]); So far so good – this works fine. But I also want to be able to use the ‘Double’ data type in WinCC because I sometimes need more precision than the 7 figures of the ‘float’. I thought it would simply be a case of doubling up the code so I wrote: Method to convert ‘double’ to bytes in C#: public static byte[] DoubleToModbusDouble(double value) {     byte[] bytes = new byte[8];     long intValue = BitConverter.ToInt64(BitConverter.GetBytes(value), 0);     bytes[0] = (byte)((intValue >> 56) & 0xff);     bytes[1] = (byte)((intValue >> 48) & 0xff);     bytes[2] = (byte)((intValue >> 40) & 0xff);     bytes[3] = (byte)((intValue >> 32) & 0xff);     bytes[4] = (byte)((intValue >> 24) & 0xff);     bytes[5] = (byte)((intValue >> 16) & 0xff);     bytes[6] = (byte)((intValue >> 8) & 0xff);     bytes[7] = (byte)(intValue & 0xff);     return bytes; } Call of method and loading of the modbus registers in EasyModbus: Bytes = PublicCode.DoubleToModbusDouble(TmpDbl); int n = (int)ModbusStartAddress + ((i - 1) * 4); mb.ModServer.holdingRegisters[n + 1] = (short)((Bytes[0] << 8) + Bytes[1]); mb.ModServer.holdingRegisters[n + 2] = (short)((Bytes[2] << 8) + Bytes[3]); mb.ModServer.holdingRegisters[n + 3] = (short)((Bytes[4] << 8) + Bytes[5]); mb.ModServer.holdingRegisters[n + 4] = (short)((Bytes[6] << 8) + Bytes[7]); However, this code does not work correctly. I have tried all combinations of byte and word reversal, and whatever I do WinCC either displays nonsensical values or ‘####’ showing that it cannot display the value. I have tried reading as much documentation as I can but it still looks to me as if I am doing the right thing. Also, I have downloaded a number of ‘modbus master’ code examples, and they seem to be able to read the ‘Double’ from my program without any issues. In WinCC I also see that there are two types of double – ‘Double’ and ‘+/- Double’ – I am also unsure as to why this is – there is no ‘+/- Float’ data type, which seems inconsistent to me. I am obviously missing something, but cannot seem to discover what exactly. I hope that someone can point me in the right direction as to what I am doing wrong. Please see attached word file for a picture of the configuration of the connection in WinCC.   Thanks in advance for any help !, Dave Long Double trouble.docx
  4. Data register over flow

    Hi, data registers are getting full, because of extremely high speed pulsing is there any way , if the data value in register goes above the capacity of 32 bit register, it automatically attaches itself to next set of data registers so lets say if data was written in D10,D11 Upon reaching the limit, it goes to D10, D11, D12, D13 please share if there is an alternate way to do this
  5. Data register over flow

    Hi, data registers are getting full, because of extremely high speed pulsing is there any way , if the data value in register goes above the capacity of 32 bit register, it automatically attaches itself to next set of data registers so lets say if data was written in D10,D11 Upon reaching the limit, it goes to D10, D11, D12, D13 please share if there is an alternate way to do this
  6. Hi, I'm Jovel, I'm new to learning how to program PLC. Just want to learn how to use Omron Sysmac Studio . I have a question about the Data Type Data Type - Structure ( Offset Type - Offset Byte )  / Union   I Don't Understand this 2 Data types and how going to use them, can anyone teach me and have a sample program? Thank you
  7. 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
  8. 1746-NT8

    Hi All, I have a 1746-NT8 and am using a type K thermocouple. The module is configured properly and the cjc's on on the terminal block. All channel lights flash until a thermocouple is no longer seen as an open. When inputting -328 degrees farenheight the light goes solid green for that channel and the input table reads -29,453 and when you go to +2498 degrees farenheight it flashes Green for that channel which seems like over temp. When I back it off to 2488 it goes solid green again and the input table reads 32,757. Is this normal, or should you be able to go the whole range from -328 to +2498 degrees farenheight and the status light should stay solid? The manual says type k thermocouple should go from -428 to 2498 farenheight, bit when you google type k thermocouple range it says the range is -328 to 2300 degrees farenheight.  Thank you
  9. Hi All I am trying to connect Cognex OPC Server with Mircrosoft SQL Server (SMSS). Do you have any idea how to do that? I couldn't find relevant information online.
  10. 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  
  11. Version 1.0.0

    14 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.
  12. I have an old Panelview 800 in a system that consists of the PV, a Micro 850 and 10 Powerflex VFd's running conveyor motors. My problems started when one of the motors would not run. It seemed that the PLC was not sending the Run command or the Speed. The problem got worse as I was working on it when two others did the same thing. The current situation is that 8 of the VFD's are getting a Run command and 2 are getting a flickering command. All 10 are getting a 0.0Hz speed command. I connected to the equipment with my laptop and looked at the PLC program and the PV program. I found that in the PV program that all of the user input data, which consists of Motor Speed (Hz), Accel and Decel times and some other timer values for the timing of some conveyor starts and stops, where all gone, set at '0'. this equipment is several years old and predates my presence here. The PLC program seems to be running and passing the commands that it receives to the VFD's. The data is passed to the PLC via Global Variables. I've never encountered this particular problem before. Any ideas?
  13. 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 
  14. Hi, I have a problem with Omron PLC and Beckhoff IO. The IO just disconnects in a few minutes and comes back! I received different errors: Link off error, Illegal slave disconnection, process data reception timeout. When I also check "Display Diagnosis/Statistics information" I see errors on all ports A and B of all nodes.  I have called and talked to both Beckhoff and Omron.  I have two NX1 and one NJ101 to test. And I have three EP2318-0001. I have the same problem with all the PLCs and EP boxes. It does not matter if I have one, two, or three nodes. I have tried different revisions of the EP2xxx from the XML file, different settings for the slave, different task periods, and the error still is persisting.
  15. 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!    
  16. Currently have NX PLC setup as an OPC UA server and an OPC client setup and communicating.  The issue is only tags that do not have a Data Type are showing up in the OPC client.  I have 2 separate OPC softwares connected to this plc through OPC UA and both are having same issue.  If I setup the OPC as a polling service, then all the tags show up as expected.  Does anyone know if this is a known issue with Omron and their OPC UA server, or is there something that I am doing incorrectly (possibly a setting within Omron that I am not aware of)?
  17. NE1A-SCUP02-EIP

    Does anyone have experience with the NE1A-SCUP02-EIP safety PLC? We had a machine shutdown yesterday with a L9n4 error on the NE1A unit. The manual says this is a tag data link error. Does this cause the safety PLC itself to shutdown? I always thought the EIP portion of the safety PLC was only used for status reporting to the PLC. The safety portion is strictly on DeviceNet and is independent of the EIP network.  The CJ2 PLC's error log tells me it had problems communicating with the safety PLC, the VFD, and NX I/O's which were all in the same panel going through an Ethernet switch. 
  18. 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
  19. Hi, I have quite a noobie question. I want to create a function block to do some simple operations on 2 variables. Both variables are In/Outs (see picture attached). How can I make this function accept variables regardless of the data type? Given these is just simple math I am able to use the same instructions in REAL, INT, UINT, etc. But, the function block only lets me assign one Data Type to the In/Out variables.
  20. Data Historian

    Hello, What would be the best data logger for Backhoff automation based automation? Idea is to record some analog and digital tags at certain time intervals. Present them in tabular as well as graphical form and print some reports based on selected time window. I have looked up TwinCAT Analytics and that seems to be one option. But want to check others before making decision.
  21. 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?
  22. 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?
  23. Hi gents, I need to build up a communication between nx1p2 to another omron plc (any type with sql support). This is due to the fact that I have finaly to prepare the plc communication with the sql database, and nx1p2 doesnt support this.  Sorry, i know it's probably a noob question, but I'm a beginner. What type of technology i shoud use to make this connection between NX1P2 and another Omron PLC? Or might be some share some project?  
  24. Hey guys,   I know this is a topic that has been discussed before, but I am having trouble finding exactly what I am looking for.. I want to know the most efficient way to record data from my PLC to an Excel file on my PC. I want this to be done without the use of the PLC's webserver.  Specifically I am trying to record vfd speed every 10seconds with a time and date stamp. How can I do this?   Thanks, James  
  25. Hi, I have inserted new RTD module into in my SLC500 as replacement to defected RTD module however the module LED is enabled but the channel LED's are blinking. I have checked the following: In the advanced I/O configuration the module configuration is shown as expected In the data file word format it is not corresponding to the channel preferences What should I do and how to fix the word bits?