photovoltaic

MrPLC Member
  • Content count

    612
  • Joined

  • Last visited

Posts posted by photovoltaic


  1. On 3/27/2024 at 5:31 AM, VulpesLago said:

    Do you have any update about this project?

    On 3/27/2024 at 5:31 AM, VulpesLago said:

    Do you have any update about this project?

    It was done yes, but unless you're an experienced web designer I don't recommend it.


  2. 10 minutes ago, rualcosi said:

    First, thnak's for your reply IO_RACK.

    Well, what i have in mind is some FB that makes stop a machine to work if someone doesn't have paid the license, for example.

    Is that possible???

    Yes, it's possible. Many manufacturers will have an embedded license key in a function block that must match a key entered on an HMI for example. You can do things like pull the MAC address from your Ethernet port and incorporate that into the key. This will allow for a single program instead of a custom version for each machine (with a custom key hard-coded to compare to). Obviously you'll want to secure the FB and CPU if you do this. Any advice beyond this will depend on your application specifics.


  3. On 12/23/2023 at 2:29 AM, S1090 said:

    Thanks in Advance , Please let me know when it it available.

    Do you still need the NS12 image for the internal CF card?


  4. Yes, with VB script. There are a few ways but I would personally run a Global subroutine every second, in that subroutine you establish a time (in seconds) at which you force a screen change. In this example if the popup is the current page the script will force a screen change to "Main" after 270 seconds:

    Sub popTimer
    	
    	If _HMI_CurrentPage = "Popup" Then
    		accum = accum+1
    		If accum >270 Then
    			_HMI_CurrentPage = "Main"
    		End If
    	Else
    		accum = 0			
    	End If
    End Sub

     

     

    1 person likes this

  5. There's no native way to do this on the NA however there is a system variable you can use to check the time since the last activity. You can retrieve it with VB script: Omron.Hmi.ProjectManagement.ProjectManager.LastActivity

    You can then either force a screen change by VB script or if you map that variable to the PLC you can have the PLC change the screen to your screensaver page.

    2 people like this

  6. If you go to your IO Map and drill down to the CIF card variables there is a lot of troubleshooting info visible that might help.

    Also - if you can detect a comms loss you can use NX_SerialBufClear to clear both buffers. As a last resort you can also restart an NX card with RestartNXUnit.

    Have you tried playing with Flow Control and buffering?


  7. 15 minutes ago, taxidelt said:

    I auto populated the network and they are all daisy chained on their own straight out of the PLC. Keyence sent us new ESI files where they changed the on all of these rungs from "<Type ModuleIdent="#x0701">Result Data 64Byte</Type>" on both ESI files to  "<Type ModuleIdent="#x0731">Result Data 64Byte</Type>" on one and "<Type ModuleIdent="#x0741">Result Data 64Byte</Type>" on the other. After that everything is able to installed. 

    So Keyence used the same module identity on 2 of their ESI files, then claimed Omron was an EtherCAT pirate ?


  8. 10 minutes ago, taxidelt said:

    1. They said "They also mentioned this issue is happening because OMRON doesn’t have official recognition from the EtherCAT organization, so the PLC is struggling to recognize both files at once."

    2. Should I be able to edit a PDO file? Currently the edit PDO is greyed out. Is this something that should be set in the ESI file or is there another file I need to import for this? 

     

     

     

     

    1: I imagine the EtherCAT Technology Group would beg to differ. Omron has 4 registered Vendor IDs with the group, and over 100 mentions in the group's media coverage, and plasters the trademarked logo on all their documentation and marketing material. I imagine there would be a few lawsuits if Omron wasn't compliant with EtherCAT and a registered user.

     

    2. PDO is a process data object - you don't edit it. You can read or write to/from it, and being greyed out simply means the Keyence device doesn't let you customize what PDOs you access.

    1 person likes this

  9. 4 hours ago, GM189 said:

    It's definitely an option, yes. I just wonder if that ensures better synchronization between the axes in the ACC and DCC phase, as opposed to gearing one axis directly to the other.

    Coordinated motion, which your PLC supports, is designed for this sort of application. It ensures "coordination" between 2 or more axis. If the slave falls out of sync if will stop both motors. Your position is as accurate as your motor tuning is setup to be. There is always positional inaccuracy in a servo system - even precision CNC machine motors are rarely "exactly" where they need to be(when you have 20+ bit encoders this becomes practically impossible to be 100% on target). The inaccuracy is called following error and you can lower this with tuning - but never eliminate it. You can also define allowable following errors on your drives.

    As for your question regarding acceleration and deceleration - coordinated motion is your best option to ensure the motion profiles of both motors are better aligned. Any servo though has a larger following error during acceleration and deceleration. Sysmac has some pretty easy tuning tools built in if you are using Omron drives.

    1 person likes this

  10. Just a bit of a gotcha when doing this - Make your input assembly on the CJ side 4 bytes larger than what you ask for with the CL PLC. This is to accommodate the run-idle header.

    Example:

    CJ input assembly size in Network Configurator: 104 bytes

    Generic Ethernet Device assembly size in Studio: 100 bytes

    This is only for the CJ input, not the CJ output.

    2 people like this

  11. The typical way to establish an implicit connection between a CJ and a Compact Logix is to have the CL PLC control the communications. You can use the Generic Ethernet Device profile in Studio and assign instance numbers to the CJ network variables using network configurator.


  12. 48 minutes ago, BobLfoot said:

    Cannot comment on your particular Omron, but in the Rockwell world the system call {GSV} to read the Clock takes multiple scans to execute and too many of them can affect performance.  I would check yout instruction help and manuals to see how much overhead the GetTime instruciton loads the system.  Having just one I would wager won't kill anything, but do this for a dozen or more times in a scan as I've seen some "green" programmers do and all bets would be off.

    The instruction "GetTime" shouldn't exist really. The system variable "_CurrentTime" gives you the exact same thing and is updated automatically.

    1 person likes this

  13. On 12/13/2023 at 11:57 PM, S1090 said:

    NO i had only 1 screen. 

    I might have a 12 buried somewhere, I'll check in the new year. If so I can clone the internal CF and send you the contents.


  14.  

    10 minutes ago, pturmel said:

    On Windows?

    Even if unrecognized on Linux, a sector copy can yield a "blank" usable to recover the original behavior.

    Yes, checked on Windows. It is split into 2 partitions and Windows can't tell what filesystem they are. Perhaps one contains a bootloader, the other the OS.


  15. 9 minutes ago, photovoltaic said:

    I believe the special requirement is you never touch the internal CF card. If I get a chance today I'll see what mine contains.

    Its an unrecognized file system on the internal CF. If you formatted yours I think that's the end of your screen


  16. Quote

    Is there any special requirement for internal CF (ROM) Card which i had changed earlier, i bought new CF card (128 MB) and just installed internal side of PT.

    I believe the special requirement is you never touch the internal CF card. If I get a chance today I'll see what mine contains.