Michael Walsh

MrPLC Admin
  • Content count

    1801
  • Joined

  • Last visited

Everything posted by Michael Walsh

  1. CX- Integrator and Network Configurator

    No, it is not a combination.  As you mentioned, it is for Profibus as well as IO Link.  It does show EtherNet/IP, but that is only to get to the IO Link modules that convert from EtherNet/IP to IO Link.
  2. PIDAT in Sysmac Studio

    I know the PID instruction did not work in Simulation in CX-Programmer.  I am not sure if it works in Simulation in Sysmac Studio.  I have not yet found the answer.  I can try it out myself later.
  3. Tunning by Ladder

    There is a function block in the 1S library.  You can get the 1S Library by logging in here:   http://www.ia.omron.com/product/tool/sysmac-library/   Then add the library to your project.  There is a sample program in the link above as well.
  4. CX- Integrator and Network Configurator

    They are not interchangeable.  CX-Integrator is for configuring Omron networks and setting FINS routing tables.  Network Configurator is for setting up DeviceNet and EtherNet/IP.  There is a little overlap when it comes to DeviceNet, but I think that is the extent of the overlap.
  5. firstscan sysmac studio

    P_First_Run contact.
  6. firstscan sysmac studio

    P_First_Run contact.
  7. C200HE Backup

    Transferring from the PLC to the PC (I think this was what was intended) does NOT stop the PLC.
  8. Omron Sysmac S6 Program

    For some reason, I cannot post a picture here.  So, here is a link:  https://omca.box.com/s/9golymrzwszr4l6u3bbnqx9f61g79beg I think the drawing is correct.  My mneumonics are a bit rusty.  Edit: Yes, I just entered it (in mneumonics) into CX-Programmer with different addresses (to work with the newer PLC) and it looks like my hand drawn image.  
  9. MQTT_Local_Client for PLC OMRON,Yaskawa

    The Omron Sysmac platform has MQTT Function blocks and works quite well.
  10. simulation nb designer and sysmac

    No. 
  11. Omron CS1D IO redundancy

    It is not automatic, but you could certainly do this with the program.
  12. DWord to Data Types

    You are quite welcome.  This of course works with structure variables and simple arrays.
  13. From the author: The print statement is printing raw bytes as that is the response from the PLC. By default Python’s print will format any printable characters as ASCII, which you can detect by the fact that they are not preceded by the \x statement indicating they are hex. With this in mind the % character is ASCII value hex \x25 and U is ASCII value hex \x55, which leads me to believe it is a process value and the least significant byte is noise (hence the 55 vs 57 difference from the memory table). Normally the programmer would slice the bytes that they read off the response and format them the way that the intend to use them (FINS doesn’t know if that hex value is an integer, unsigned integer, real, etc.). If you always want the response in hex, you can use the binascii.hexlify library.
  14. DWord to Data Types

    You can comment on the bits.  I cannot attach the picture of this as there is something wrong with the website. Go into the global variables after you have created the union and then created the variable of that union type.  Double click in the comment field and a little gray button will show up.  You can then comment the DWORD and all the BOOLS.
  15. I received a reply from the author of the library (his email is also in the source code and on the contact page at the link provided above): It is all hex according to the memory address designation of FINS so 1234 would be \x04\xd2 and since it is a DM, the bit designation is \x00, so it would be:   mem_area_dm_word = fins_instance.memory_area_read(FinsPLCMemoryAreas().DATA_MEMORY_WORD,b'\x04\xd2\x00') print(mem_area_dm_word)
  16. DWord to Data Types

    A union will do exactly what you want.   I cannot post an image to illustrate it for you (something is wrong with the site), but you can create a Union that looks like this: Name                           Base Type TestUnion                     UNION      DWordLevel            DWORD      BitLevel                   ARRAY[0..31] OF BOOL   Then create a variable (lets call it MyVar) that is of type TestUnion in your global variables.   Then you can do a move DWORD#16#F into MyVar.DWordLevel The bits can then be monitored on contacts or coils as MyVar.BitLevel[0] as an example.  
  17. A colleague of mine has done extensive work with Python and communicating with Omron PLCs.   Here is some FINS Python stuff that might be useful: https://aphyt.com/index.php/projects
  18. You can simulate both, but the NB-Designer software simulation does not have the ability to connect to another simulation.  Omron's NS and NA screens can do this, but not the NB.  It only has Offline Test Mode.
  19. De-Normalize the binary Data

    I am not clear on what you are trying to do here..... is this some kind of custom number format that you are trying to use?  I think what you would need to do with a custom format like this is to create a union.  The union will allow you to look at individual bits as well as a WORD or DWORD value.
  20. cp1w-cif01

    You have to set the port up to RS232 mode in the settings and then use the TXD command.  Of course you have to wire the printer serial port properly to the port first. Pinout here:  https://www.myomron.com/downloads/1.Manuals/PLCs/UNITS%20CJ_CP_NJ/CP1W-CIF01_CIF11_CIF12%20Pages%20from%20W471.pdf  
  21. Did you set it as an absolute encoder in the axis setup?
  22. continuously writing Retained tags

    Ah, I understand.  Writing constantly to a retained variable will not reduce the life of the memory.  The retained memory is only stored when the processor is powered off.  The capacitors in the CPU give it time to do so.  
  23. Set values

    Double click on Memory in the Project Workspace.  If some windows open up with the data in them, you can download the memory areas (usually DM area, perhaps HR area).  If no window with data opens up, you can click the open button and browse for a file that may be separate from your project.  If this file does not exist, then there is no way to get the data back in the PLC besides manual entry.  I would add some pictures, but something is wrong and is not allowing me to do so.  
  24. continuously writing Retained tags

    There is a search function, but it appears to be broken right now.  I am not sure what you mean by " The fact we cant read or write function blocks from the HMI".  Do you mean you cannot access the function block memory by name, like FBName.Done?  If that is what you mean, you are correct.  The FB instance is a local variable and only Global variables can be accessed by the HMI. With respect to not splitting the parameters and working-values in different structures, did you look at In/Out variables as an option for the FB?  You can have Inputs and Outputs of the function block in the same structure using the IN/Out variable when designing the function block.  
  25. CS1G-CPU43H connecting Kepserverex

    As far as the routing table is concerned, I sent a video on that in my initial response..... https://www.youtube.com/watch?v=kDYP-bUMzEg