All Activity

This stream auto-updates   

  1. Past Hour
  2. Oleg

    please generate a PDF file for me from .rss S6G208.RSS
  3. HSC, new interrupt after Z-phase reset

    linked threads are just for beginner. This is clear for me. I tested some solution and it more less works. Now I have A531.00 set to ON and hardware signal Z-phase reset encoder  I checked that if I want to start counting pulses to target value for CTBL and get another interrupt output ON I have to initiate CTBL once again after encoder reset The problem is timing. I set new CTBL declaration when Z-phase signal (0.04) goes off - but I make it from ladder and cycle is 7.3ms. How I have to implement this to avoid delay from cycle time thanks in advance 
  4. FX-EEPROM-16 This thread may help you out. Regards, Garry
  5. HSC, new interrupt after Z-phase reset The above threads may help you out. Regards, Garry
  6. Today
  7. Hi, I have encoder and count pulses in mode "Differential Phase Input" - Linear mode Every one turn I have Z-phase reset and counter starts from 0 I set some target value comparison table from D1000 for @CTBL #0000 #0000 D1000  and it works just one to reach target value   After PLC start and HSC reach target value for Interrupt 01 I get subroutine working, but even I reset HSC using Z-phase signal and PV goes to 0 still interrupt is activated. I would like to start and stop interrupt during one turn of encoder and make it every one turn Thanks for clue       
  8. Melsoft Series GX Develop Error

    Please upload your program and I will check for you....   Regards Daniel
  9. Anybus x Gateway assembly instances

    Found this document on the HMS Anybus Webiste- it talks about the instance/ structure sizes for an ethernet/ip scanner. Is this what you need? You may be able to find a tag structure or UDT also on that page that you can load into your Taglist.   Regards Daniel.
  10. Melsoft Series GX Develop Error

    thank you everyone for your response. i think i am opening the right file. because once i click the project button, there are portion for recently open program. and when i click the file/program. it display the error "Failed to read the project file" as shown in the first photo. Thanks again.
  11. Sysmac Studio Improvement Request

    The ability to import/export multiple projects at once. 
  12. Yesterday
  13. Anybus x Gateway assembly instances

    I'm trying to connect a anybus ethernet/ip scanner with an allen bradley model 1794 AENT/B, but i can't find the assembly instances and data size. Can anybody help me please? I had already try to look everywhere.
  14. Creating an Array in Compactlogix_17JUN19

    This got way longer than what your question warranted... It's already been covered but you can even make a String Array (put the text for an HMI in the string and you only have to reference the string tag in the HMI rather than type it. That gives you dynamic tagname and descriptions. If you know what the N's are (aside from being godawful SLC 500 imports vs writing the program properly for CLX) make a UDT so the tags and description makes sense to the next victim then map the N's over to the tags A UDT only allows single dimension arrays (but there is a workaround by using a UDT inside the UDT. It's a bit of a kludge in my world but might be useful in some industries) You can play with all of this in an offline blank program Single Dimension Array: TestTag DINT[10] will give you  10 DINT's starting With TestTag[0] to TestTag[3] Try TestTag DINT[10,10] for some real fun. You get TestTagp[0,0 to TestTag[0,9] up to Test[9,0] to Test[9,9], ie 100 DINT's But... depending on what the data is the tag doesn't really make sense. The power of CLX is that you can make the program more clear by using tags that make sense. Lets say N1 = Speed Min, N2 = Speed Max, N3 = Step Number, N4 = Status Make a UDT, call it... I can't think of anything nice to call N's imported from a SLC so you make the name up... The UDT (Look under Data Types for User Defined Data Type) might look like this  Name  Data  Type  Style  Description  External Access SMin    DINT    Decimal    Speed Minimum    Read/Write SMax    DINT    Decimal    Speed Maximum    Read/Write Step     DINT    Decimal    Step Number    Read/Write Status  DINT    Decimal    Status of Operation    Read/Write                  Now make a tag UDTest [put UDT name here]. I called my testing UDT Alf so UDTest[Alf] UDTest    <normal>            Alf    Standard    Test    Read/Write    0         UDTest.Smin                DINT    Standard    Test Speed Minimum    Read/Write        Decimal     UDTest.Smax                DINT    Standard    Test Speed Maximum    Read/Write        Decimal     UDTest.Step                DINT    Standard    Test Step Number    Read/Write        Decimal     UDTest.Status                DINT    Standard    Test Status of Operation    Read/Write        Decimal       If you make the tagname make sense, without getting too wordy (UDTest is too wordy) then the tagname is useful ***************** Real world (my world, not useful for other industries) UDT The UDT is called Motor. It's literally made for anything that we have that is driven by an electric motor. It looks like this: String1    STRING            Read/Write    1    0 String2    STRING            Read/Write    2    0 SW    INT    Decimal        Read/Write    3    0 A    BOOL    Decimal        Read/Write    5    0 A_Stop    BOOL    Decimal    Auto Stop     Read/Write    6    0 A_Start    BOOL    Decimal    Auto Start    Read/Write    7    0 Stop_I    BOOL    Decimal    Stop Input    Read/Write    8    0 Start_I    BOOL    Decimal    Start Input    Read/Write    9    0 HMIStop    BOOL    Decimal    HMI Stop Button    Read/Write    10    0 HMIStart    BOOL    Decimal    HMI Start Button    Read/Write    11    0 RunStat    BOOL    Decimal    Run Status    Read/Write    12    0 Stop    BOOL    Decimal    Motor Stop    Read/Write    14    0 Run    BOOL    Decimal    Motor Run    Read/Write    15    0 AStop_OS    BOOL    Decimal    Auto Stop One Shot    Read/Write    16    0 AStart_OS    BOOL    Decimal    Auto Start One Shot    Read/Write    17    0 FStart_OS    BOOL    Decimal    Field Start One Shot    Read/Write    18    0 HStart_OS    BOOL    Decimal    HMI Start One Shot    Read/Write    19    0 SOS    BOOL    Decimal    Start Counter One Shot    Read/Write    20    0 RH    DINT    Decimal    Run Hours    Read/Write    21    0 S    DINT    Decimal    Number of Starts    Read/Write    22    0 FailTMR    TIMER        Fail to Start Timer    Read/Write    23    0 T1    TIMER            Read/Write    24    0 T2    TIMER            Read/Write    25    0 T3    TIMER            Read/Write    26    0 T4    TIMER            Read/Write    27    0 T5    TIMER            Read/Write    28    0 T6    TIMER            Read/Write    29    0 T7    TIMER            Read/Write    30    0 T8    TIMER            Read/Write    31    0 T9    TIMER            Read/Write    32    0 T10    TIMER            Read/Write    33    0 RMT    TIMER        Run Minute Timer    Read/Write    34    0 RMC    COUNTER        Run Minute Counter    Read/Write    35    0   Note the mix of data types and the descriptions. Also note that T1 thru T10 do not have a description. These are timers that are available for anything related to Pump Start/Stop logic and the description can be anything. 10 Timers is as many as we need so far. I can edit the UDT if we need more. An example tag looks like this  P5200    <normal>            Motor    Standard    P-5200    Read/Write    0         P5200.String1                STRING    Standard    P-5200    Read/Write             P5200.String2                STRING    Standard    South Mainline Pump    Read/Write             P5200.SW                INT    Standard    P-5200 Status Word    Read/Write        Decimal     P5200.A                BOOL    Standard    P-5200 Auto Mode    Read/Write        Decimal     P5200.A_Stop                BOOL    Standard    P-5200 Auto Stop    Read/Write        Decimal     P5200.A_Start                BOOL    Standard    P-5200 Auto Start    Read/Write        Decimal     P5200.Stop_I                BOOL    Standard    P-5200 Stop Input    Read/Write        Decimal     P5200.Start_I                BOOL    Standard    P-5200 Start Input    Read/Write        Decimal     P5200.HMIStop                BOOL    Standard    P-5200 Stop Control from HMI    Read/Write        Decimal     P5200.HMIStart                BOOL    Standard    P-5200 Start Control from HMI    Read/Write        Decimal     P5200.RunStat                BOOL    Standard    P-5200 Run Status    Read/Write        Decimal     P5200.Stop                BOOL    Standard    P-5200 Motor Stop    Read/Write        Decimal     P5200.Run                BOOL    Standard    P-5200 Run Motor    Read/Write        Decimal     P5200.AStop_OS                BOOL    Standard    P-5200 Auto Stop One Shot    Read/Write        Decimal     P5200.AStart_OS                BOOL    Standard    P-5200 Auto Start One Shot    Read/Write        Decimal     P5200.FStart_OS                BOOL    Standard    P-5200 Field Start One Shot    Read/Write        Decimal     P5200.HStart_OS                BOOL    Standard    P-5200 HMI Start One Shot    Read/Write        Decimal     P5200.SOS                BOOL    Standard    P-5200 Start Counter One Shot    Read/Write        Decimal     P5200.RH                DINT    Standard    P-5200 Run Hours    Read/Write        Decimal     P5200.S                DINT    Standard    P-5200 Number of Starts    Read/Write        Decimal     P5200.FailTMR                TIMER    Standard    P-5200 Fail to Start Timer    Read/Write             P5200.SDTimer                TIMER    Standard    P-5200 Low Suction Pressure Shutdown Delay Timer    Read/Write             P5200.SD1Timer                TIMER    Standard    P-5200 Low Differential Pressure Shutdown Delay Timer    Read/Write             P5200.SD2Timer                TIMER    Standard    P-5200 Low Flow Shutdown Delay Timer    Read/Write             P5200.VSD1Timer                TIMER    Standard    P-5200 Motor Outboard Bearing Vibration Shutdown Delay Timer    Read/Write             P5200.VSD2Timer                TIMER    Standard    P-5200 Motor Inboard Bearing Vibration Shutdown Delay Timer    Read/Write             P5200.VSD3Timer                TIMER    Standard    P-5200 Pump Inboard Bearing Vibration Shutdown Delay Timer    Read/Write             P5200.VSD4Timer                TIMER    Standard    P-5200 Pump Middle Bearing Vibration Shutdown Delay Timer    Read/Write             P5200.VSD5Timer                TIMER    Standard    P-5200 Pump Outboard Bearing Vibration Shutdown Delay Timer    Read/Write             P5200.RMT                TIMER    Standard    P-5200 Run Minute Timer    Read/Write             P5200.RMC                COUNTER    Standard    P-5200 Run Minute Counter    Read/Write             Note how P-5200 in the first description ends up in every tag description If there are 9 pumps and the logic is essentially the same (other than what shuts it down) then you make 10 tags with the correct tagname (P5100 thru P5900, data type Motor), then write the logic for one pump (tag is P5100), then copy and the past original routine to 8 more routines, rename them, then edit each routine by doing a search and replace for P5100 and replacing it with the correct tag for the routine... 95% of the programming work for the pumps is done at this point. All you have to do is true up the shutdown logic and maybe the start and stop logic. UDT's are very handy...  
  15. Remote connection using eWon

    I've never used eWon but isn't that a Chinese product that connects to Chinese servers? Given the uncertainty of their security, I would suggest using Siemens Sinema.

    Analysis: the integer value stored in VB50 (decimal "1") is sent to the 7-segment display (QB5) when bits M0.3 AND M17.1 are both true (high, ON, 1). The 7-segment display must see segments b and c both equal 1; all other segments must equal 0. The S7-200 manual (p325) shows the relationship between the integer value to be displayed and the corresponding segments that must be ON for the correct value to be seen on the 7-segment display. The 7 segments are ordered from "a" to "-", with segment "a" being the LSB of the byte and "-" being the MSB of the byte. In the network example you provided, only integers 1, 2, 3, 4, and 0 are displayed on the 7-segment display. These integer values can be directly converted to a decimal value that will turn on the corresponding segments of the 7-segment display. The resulting code is shown below. It is a direct replacement of your network 76 without inventing a module to act as the "SEG" instruction. Nice, quick, simple, and easy. Just what the doctor ordered! :)    
  17. rounding a value to nearest 10

    I'm using a mixture of NB and NS screens currently and possibly in the future ignition scada. That is one option I guess but it is screen dependant and would be nice to do it in the plc.      
  18. Creating an Array in Compactlogix_17JUN19

    In short you can create an array of any defined type including UDTs.
  19. FX-EEPROM-16

    I need to load different program to eeprom cassete FX-eeprom-16 in my PLC FX2n-48MR using GX Developer ver8. After writing different program to eeprom cassete in PLC controller it finish writing complete. But verifying program show that programm in eeprom did not change. Protect switch in cassete is of. PLC has cleared program.      
  20. FX-EEPROM-16

    I need to load different program to eeprom cassete FX-eeprom-16 in my PLC FX2n-48MR using GX Developer ver8. After writing different program to eeprom cassete in PLC controller it finish writing complete. But verifying program show that programm in eeprom did not change. Protect switch in cassete is of. PLC has cleared program.    
  21. Creating an Array in Compactlogix_17JUN19

    no difference, when creating the tag/array make it REAL
  22. Creating an Array in Compactlogix_17JUN19

    Thanks! One more question I have also can an array be created for data types that are float?
  23. Creating an Array in Compactlogix_17JUN19

    DCS_Array defined with 8 elements, then MOV or COP each to a element in DCS_Array.
  24. Hello, I have several DINT tags N42_-0, N42_1, N42_2, N42_50, N42_51, N42_52, N42_53 and N42_60 that i would like to put into one array so a higher level DCS can read/write to these tags.  Any thoughts on the best way to do this?
  25. I don't think the FX3s Supports bit level actions on Data files, ie D1.0 is not allowed, you could convert the D file to M bits by (MOV)ing D file to K4M0 using the M bit then convert back to D file (MOV k4M0 D0) or conversely use the GOT display to do the donkey work utilising scripting.   Steve
  26. M7 486 SIEMENS cpu

    You will need to study the hardwares structure and programming syntax.  Without your program- this is near impossible to figure out.     Regards   Daniel
  27. Melsoft Series GX Develop Error

    If you are opening this directly from windows explorer...make sure you are opening the right file (from memory there are a .gpx and a .gpxx file) this error normally happens when you open the wrong one. Alternativley upload your program and I can check for you.     Regards Daniel

    Hi guys, I managed to get the instruction in STL; I have attached it in the Screenshot down. However, now the challenge is, I need to implement it in SCL since the later versions of TIA do not support STL any more.  If any one knows SCL and may help us to convert it, it would help us a lot. Thank you.
  29. Load more activity