Search the Community

Showing results for tags 'cycle time as data'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 157 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. EA3 Micro Panel

    I want to display the current time of day on mt Micro HMI, EA3-T6CL. Is there a function for this? How can I get the TOD to display?
  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. 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
  7. 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
  8. I am trying to display the time from an Accumulation timer. Using a data display object I am able to see the time in the following format 00:00:00.0000000. Is there a way to format the time without the decimal seconds I just want to see 00:00:00 (hours:minutes:seconds)
  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. Hello. I'm using OMRON NB Display Did someone already made time adjustment from NB to OMRON PLC? What I'm trying to do is to adjust time  from HMI to PLC. Since now I have done time sync from PLC to HMI using timer and data transfer. Now I would like to adjust current time in PLC using NB HMI. I know how to do it, but I'm some kind a lazy person. In our country there is a saying: " Don't reinvent things that already exists" Thanks.   BR, Andrej.
  11. Real world simulator

    When we simulate a plc program we have to manually input the changes in input(like magnetic reed switch) For example when a cylinder goes from up to down reed turn OFF and reed down turns ON Is there any program available where we can define such things that will turn on and off during the process automatically.
  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 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.
  14. 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)?
  15. 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. 
  16. 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.
  17. 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.
  18. 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?  
  19. 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  
  20. Hi All, I just take over a project which involve accurate positioning and movement up to 0.010mm(around 10 microns) of a servo motor. I found out that my motor always move to an incorrect position. Let's say I want it to move to absolute position of 5.210mm, I found out that it may move more till 5.235 or move less 5.190(something like that). So i start to check if I'm outputting correct pulse. Using CX-Drive, I connect to the driver then i found out that the pulse is correct and consistent(for example i use my pulse per revolution and pitch to determine how many pulses) Currently I'm using an incremental encoder and servo motor and my PLC cycle time is around 12 ms and my servo move at a speed of 0.66mm/s. So I was wondering if my PLC scan time will affect my accuracy in moving ?? I'm using a CJ2M PLC with CJ1W-NC413 pulse card , incremental encoder and a servo motor. I want to make sure is not software limitation or anything wrong on software side before I bring it to my mechanical team   Appreciate all inputs here and thanks!
  21. Good Afternoon, I am wanting to do two things with and ORMON PLC and HMI with CX-Programmer and NB-Designer. 1. I want to display the current time from PLC on HMI with the real time clock. 2. I want to be able to enter a time on the HMI which will be compared to the PLC time and will stop a process when when the entered time is equal to the actual PLC time.  If I can have some help with this that would be a great help. Thanks,
  22. 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?        
  23. Open data log in HMI

    Hi there! I have S7-1200 controller connected to a Comfort Panel. The machine has some pressure and temp sensors, as long as many valves and other stuff. I generate a daily datalog with some of those variables but, the thing is, I've been trying to figure out how to show these data in the HMI without using a trend viewer. I don't know if it's possible, but I want to be able to see what valves were open (for example) the day DD/MM/YYYY at HH:MM:SS, using the generated data log, kind of knowing the state of single bits at different past moments. I've been searching the web but I didn't find something exactly like this, don't know if I'm doing it properly so I'd like to know if you have done this or you can throw some light on the topic. Thanks in advance and hope you can help me!
  24. 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? 
  25. So I have a plc program where most of the outputs are based on a counter that goes from 0 to 1000. The counter speed is adjustable and is generally set to run through a full cycle (count from 0 to 1000) anywhere between 0.5 to 2 seconds. The problem is, when I try to energize an output by using an EQU instruction, it will almost always skip the count because the scan time is not fast enough. I've been using a LIM instruction which has been working, but its not quite as accurate as it needs to be. I switched the counter logic to be continuous to try to make it faster which made it almost perfectly accurate... But only in the continuous task; it made the other periodic task significantly less accurate. I was curious if any of you had any tips on how to remedy this or just general help. I am still relatively new to PLCs and ladder logic so any advice would be awesome, Thanks in advance! Edit: The purpose of the counter is to cycle through from 0 to 1000 over and over again. My outputs actuate during a certain interval within this cycle (For example I would say actuate from 300 to 800 and it would stop and end once it hit those values via an EQU or LIM instruction). I wrote the logic as follows: First I calculate how many cycles per minute I want to perform, using that value I calculate how many times I want to increment my counter per millisecond. Then a timer is given a preset of the total cycle time. While that timer is running I continuously multiply the timer's accumulated value by the "cycle count per millisecond" that I calculated earlier; the resulting value is the current count that all my outputs are based on... Hopefully that makes sense, I know it's not the best but I could not figure out a better way of doing it and I know rounding is certainly making the accuracy worse. My hardware is: Allen Bradely PLC (5069 l306erms2), 5069-ob16, 5069-ib16, and a Kinetix 5500s2 Driver for my motor(s)