Search the Community

Showing results for tags 'fix dynamics real time database'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Found 75 results

  1. Structure Text REAL constant

    Hello. I'm having difficulties of how to write REAL constant in ST. For example (Gap1 is defined as REAL): Gap1:= UDINT_TO_REAL(P_Cycle_Time_Value) / +1000.0;     RETURNS ERROR ERROR:   Conversion cannot convert from Integer Literal to REAL I have also tried 1000.0 If I use:  Gap1:= UDINT_TO_REAL(P_Cycle_Time_Value) / INT_TO_REAL(1000);  COMPILES OK My question.. How do I write REAL constant in Structure text? I don't want to use  INT_TO_REAL anytime I want to do calculations with constants.. Thanks. BR.
  2. The only thing I can find in help re using the buzzer is to use a multi function button. I want to use the buzzer as an alarm buzzer and turn on $SB13 or $SB14 from a bit in the PLC. Can anyone help please?
  3. Real to 3 decimal points

    I'm fairly new to Mitsubishi and I am trying to limit the amount of decimal places of a real value down to 3. I am using a FX3U CPU and the only thing I see in the manual is that real values are stored with approximately 7 significant figures. Is there a way to limit the amount of figures after the decimal point to 3 without converting to an int value? Also does restricting the decimal to 3 points on GT works change to PLC value at all?
  4. CPT instructions on a PLC-5/40

    I'm working to fix/improve the functioning of a program running on an a PLC5/40E.  I think high Scan Times are a big problem with this current program.  ((Backstory:  someone added some quasi motion control, and it sort of worked for a while.  Now that it's broken, the operators of this machine want it back. ))  I'll keep my question simple, PLC5's are new to me: There are 36 rungs with CPT instructions as the sole output, a third of these instruction are executed every scan.  I'm going to replace them with MOV instructions. My question is, is there any sneaky PLC5 reason to do a CPT instead of a MOV?  Is there a better way to do this? The CPT instructions that execute move integer values to a data file used by the HMI to control the coloration of touchscreen buttons.   Thank you for your time. PS: I'm new-ish to this forum, please feel free to let me know if my question was asked correctly or not.
  5. The CC-Link system on a machine has been intermittently dropping out.  Normally the Link Scan Time runs at a solid 87ms.  When the system "drops out", the link scan time will increase.  Sometimes double, triple, or go up 10x. It happens when the machine is running or when it sits idle. There are 33 stations on the network.  The same stations do not always fault but sometimes all of the stations will fault at once (as seen in the attachment pictures.) We have changed the main QJ61BT11N, the processor, the Q62N power supply, the main backplane (base unit), all cards on the main backplane.  Is it possible for one station or one of the cables to create a network wide problem?  Any ideas thrown at us would be appreciated. 
  6. Totalizer for 15 mins

    Please help me how develop totalizer for every 15 mins , for real value. Real value should   be taken sample  for 1Sec.
  7. Hi, I am trying to convert a variable of REAL data type to DWORD. I 've tried using Real_To_Dword function which works fine if the real number is integer but when the real is decimal the function rounds the decimal number to INT first (I ve also read it in the instruction manual so no surprise here). I 've also tried experimenting with the function CopyRealToDWORD but again the outcome was not what I expected. Is there another way to convert decimal real numbers to DWORD without losing the decimal portion?
  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. I am having a problem getting citect to write to my sql database.  Whilst it will write I am restricted by the length of a single cicode command. I think its 255 characters. For my problem I am trying to write 48 tags to the database in one write command to obtain 1 time stamp. Is it possible to write multiple times to the same tables row ? Currently when I write a new row is created at the given timestamp. the cicode is attached. A solution would be to do 4 writes of 12 tags at a time but all would need to go in the same MSSQL table row. I'm ok using the data instead of time and date as this write only happens once each day Any help would be awesome..   *********************************************************************************************************************************** /* **    FILE:        SpurLoad.CI ** * Load Tags from Citect in TO temp array */ STRING tagname[24]="M340_PwrCtrl_SLD0000","M340_PwrCtrl_SLD0030","M340_PwrCtrl_SLD0100","M340_PwrCtrl_SLD0130","M340_PwrCtrl_SLD0200","M340_PwrCtrl_SLD0230","M340_PwrCtrl_SLD0300","M340_PwrCtrl_SLD0330","M340_PwrCtrl_SLD0400","M340_PwrCtrl_SLD0430","M340_PwrCtrl_SLD0500","M340_PwrCtrl_SLD0530","M340_PwrCtrl_SLD0600","M340_PwrCtrl_SLD0630","M340_PwrCtrl_SLD0700","M340_PwrCtrl_SLD0730","M340_PwrCtrl_SLD0800","M340_PwrCtrl_SLD0830","M340_PwrCtrl_SLD0900","M340_PwrCtrl_SLD0930","M340_PwrCtrl_SLD1000","M340_PwrCtrl_SLD1030","M340_PwrCtrl_SLD1100"; /* add array TO hold values */ STRING tagval[24]; INT hSQL; FUNCTION SQL_INSERT_lds() /* Loop FOR number of tags (13 lots of 30 min) TO be read adding to array Variables */ INT i;     FOR i = 0 TO 21 DO              tagval = TagRead(tagname);              END      /* Open ODBC connection TO CitectDB configured in ODBC Manager with DSN_SQL */          hSQL = SQLConnect("DSN=DSN_SQL"); /* IF connection IS OK, insert in TO table "lds" the values */ IF hSQL <> -1 THEN     SQLExec(hSQL, "INSERT INTO lds (dateandtime,S0000,S0030,S0100,S0130,S0200,S0230,S0300,S0330,S0400,S0430,S0500,S0530,S0600,S0630,S0700,S0730,S0800,S0830,S0900,S0930,S1000,S1030) VALUES (SYSDATETIME(),'"+tagval[0]+"','"+tagval[1]+"','"+tagval[2]+"','"+tagval[3]+"','"+tagval[4]+"','"+tagval[5]+"','"+tagval[6]+"','"+tagval[7]+"','"+tagval[8]+"','"+tagval[9]+"','"+tagval[10]+"','"+tagval [11]+"','"+tagval[12]+"','"+tagval[13]+"','"+tagval[14]+"','"+tagval[15]+"','"+tagval[16]+"','"+tagval[17]+"','"+tagval[18]+"','"+tagval[19]+"','"+tagval[20]+"','"+tagval[21]+"')");     SQLEnd(hSQL);     SleepMS(100); SQLDisconnect(hSQL); ELSE     Message("Error Message","SQL TRADING DAY DATABASE WRITE FAIL",48); END END   SpurLoad.ci
  10. Setting the NB Clock based on the NJ NX Clock View File This document details the updating of the clock on the NB based on the clock in a Sysmac Controller. Submitter Michael Walsh Submitted 05/14/20 Category Tutorials and Quickstarts
  11. Version 1.0.0

    21 downloads

    This document details the updating of the clock on the NB based on the clock in a Sysmac Controller.
  12. 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?
  13. So I have done quite a bit of googling and i even reached out to our integrator but i am having a nuisance fault of "Watchdog Fault" Caused by periodic task overlap. The task is scheduled to start again before it is finished. I added all of the Programs in this task MAX scan time and it only came out to 102 ms. the task is scheduled for every 100 ms. The watchdog is set at 500 ms. The task is currently running at 146-148 ms and i confirmed this using a TON instruction at the end of the task followed by a reset. What can i do to get this down?? What would be the best practice? Move programs into another task? Make the task continuous? What would happen if i did make it continuous? I tried setting the task to 150 ms and the controller DID NOT like that. I was barely able to get back on line with it to change it back to 100 ms. CPU usage is at 91% and this task accounts for around 50% of that. Thank you all in advance for your help.
  14. Tracking the master clock

    We are having issue on a machine running kinnetix 5500 drives where we randomly get clock Sync Faults.  This particular machine is set up as a slave looking to another PLC(L36-ERM) on a different station of the same machine as the time master.  There are about a dozen other PLC's(totally different machines) on the same network and most are set up as masters for their own systems and to my knowledge they have never had this issue. There are also dozens of other devices connected to this network, and then this network is part of the facility wide network.( I apologize if this is a little wordy) We are pretty sure that the slave is finding a more accurate clock on the network somewhere and syncing to it causing the servos to fault. We have tried making both the master, and the local clock of these 2 particular PLC's higher priority than the others to eliminate this with no success. What I am trying to do is track what clock this particular slave is looking at as its master when the clock sync fault has occurred.  is there away to do this through ladder logic?  it seems like we should be able to get this information and save it so we can figure out who the culprit is.
  15. Hello Everyone, I am new at this forum, seeking help from you guys and gals. Scenario: I have a Controllogix 1756-L71 5570 controller installed with 1756-TIME module. The function of time module is to take time from GPS clock module in NTP format and send it to controller in PTP format. All the status LED's on Time module are OK. Also sync LED is Green. Still the time of controller is not synchronized with GPS clock there is a difference of 45 mins. Fellows please help. I'll be helpful.
  16. Hi everybody,For a while I’ve been wondering, in every plc forum where the use of loops come to discussion I find most people answering that it’s best to stay away from them and that there are better, easier and mostly less scan time demanding solutions out there. Why is that?In my experience they’re the next best thing.Why would referencing data from an array of 40 Dwords using a FOR X:= 0 TO 40 DO loop be any more scan time demanding then the PLC scanning through 40 rungs of statments?Just curious if I’m missing something here. Cheers
  17. Utility Power at Night

    Has anyone had any issues with dirty power or disturbances from Utility that occur duration the night?
  18. PLC Not fast enough?

    Hello, I used a Schneider Electric SR3B261B PLC to create a trivia machine (as I call it).  Basically 20 buttons that let contestants ring in to trivia.  There is a display that shows the number of the person who rang in.  It works pretty well unless people press the buttons at exactly the same time.  Then it shows 2 results at the same time.  Usually resulting in a display of 18 when really it was 12 and 14 that rang in, for example. The PLC has options for: "Adjustment of the basic cycle time of the module."   and "Type of Hardware Input Filtering." Which I assume would make the PLC operate faster and avoid two inputs triggering at the same time.  If I change the setting and update the changes do not keep.  I appear unable to change it past 20 x2 ms  and slow (3ms). Is that a correct assumption that changing this would fix it? Why can I not change this?  Is it because I have so many inputs (14 or so) and Outputs (16 or so)? or because my program uses nearly all 240 lines of ladder logic allowed? What can I do to fix this?   Emerald
  19. Do-More Designer

    Trying to program production tracking in Do-More 2.3. Need to track current Date, Time of day & current hour.  Anyone have an example of how time of day is used? I have done this in Allen Bradley 5000, but this Automation Direct stuff is new to me.
  20. I am new at PLC programming, I have tried some ways to convert a text into DINT and I haven't found the right way yet, maybe somebody can help me. I want to convert "Hello" to DINT, for example. I tried converting it on here  https://www.branah.com/ascii-converter  to decimal and then using it as an input for a ROUND, FLOOR, TRUNC blocks to get a DINT, but when I get the result and use as an input in a DI_R i block the output doesn't match with the first conversion of "Hello". Any tips on how do I get it to work, please? Thanks in advance. 
  21. 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)
  22. I'm very new to sysmac. I am trying to display the current date and time in the corner of each of my HMI pages. I saw a button labeled date and time. It is asking for a variable for behavior. Do I need to write some basic structured text or FB in plc to get date and time and pass it over? I figured the button would update itsself since when I placed it on the screen it had the current date and time and refreshes every time I leave the page and come back. 
  23. 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
  24. Capture Date and Time

    I would like to capture current date and time to registers in the PLC. I would prefer to use a function block, if possible, since I need to do the capture at different places in the program. I am using a CJ2M. How can I do it?
  25. Convert time

    Hello. this is my firs post is possible to convert the elapsed time of timer to real or int i need to make some math operation with the elapsed time thanks